07-26-07 12:11 AM
Vin wrote:
> I read about SIP and H.323 and what they do in terms of signaling and
> setting up a session. Also RTP is the session protocol that actually
> carries out the session in terms of transporting over UDP or TCP. What
> I dont understand is who decides the quality issues about a call.
RTP travels over UDP.
>
> That is,
>
> i) where is it configured that a packet should be dropped if it is
> late by X seconds
It isn't. There are loads of places a packet could be dropped.
Most likely, a packet will get dropped if by a router on the way. If
the routers packet buffer gets too full, it will drop the packet.
Depending on the type of router, this will be a hard limit (if buffer
full, ditch packet) or a softer limit. Google for Random Early
Detection - this is where routers drop some packets as the buffers fill
up to avoid everything come to a hard stop. TCP (ie not voip) sessions
will tend to slow down when the experience packet loss.
At the receiving end, the phone will buffer the incoming packets as it
receives them. Into the incoming jitter buffer. The buffer will have a
length of time from receiving a packet to playout out the audio. Any
packets that arrive in this time can probably be fitted into places. If
the packet is too late, it gets dropped - there is no point playing an
out of sequence packet.
Of course, some cheapy voip phones don't have jitter buffers.
Good devices have dynamic jitter buffers. So if some packets are late,
then the receiver will grow the buffer to minimise the risk is missed.
A longer buffer leaves more time to receive inbound packets.
Of course there is a limit to how long the jitter buffer can grow before
the listener notices the latency on the line.
> ii) What is the tolerable packet loss rate and who specifies it. Based
> on this the application can change the codec which provides better
> packet loss concealement.
Nobody specifies it. You can pretty much hear any loss to some degree.
Remember that almost all routers on the internet do not care what
protocol a packet is carrying. They look up the destination IP in their
routing table and spew the packet out in the right direction.
At the moment, I don't know of any VoIP devices that will change codec
mid-call when faced with network problems. It really would be neat.
Problem is, the phone doesn't know that packet loss is caused by a
congested network link or whether it is caused by a faulty network link.
If a 100 Mbs connection somewhere in your ISP is congested, then
changing the call to a low rate codec is not going to make enough
difference to be noticeable.
Tim
[ Post a follow-up to this message ]
|