[Asterisk-Dev] IAX Calls close after 140 seconds
SteveK
stevek at stevek.com
Wed Jun 22 18:49:29 MST 2005
On Jun 22, 2005, at 7:46 PM, Derek Smithies wrote:
> Hi,
> Steve - you must be kidding - surely ?
No, I'm not kidding at all, but you misunderstood me.
>
>
>>
>> 2) The old jitterbuffer didn't actually "buffer" frames, but just
>> "schedule their delivery". so, if it was in a place where it
>> thought it
>> should shrink it's "buffer" time, it would schedule each successive
>> packet with 1 or 2ms less delay than the previous packet.
>>
>
>
> I thought the whole purpose of a jitter buffer is to
> a) smooth out the rate at which packets are received,
> b)reorder packets if necessary
> c)cope with lost packets
>
> Now, since you have no control over
> a)how long a packet will take to travel from the transmitter
> to the receiver
> b)if packets will be reordered in transit
> b)if packets are lost in transt,
>
> placing a jitter buffer at the sending end seems a bit pointless.
I think that you assumed that "scheduling their delivery" implied
that this scheduling happened at the sending end. It doesn't. Since
it seems you're looking at chan_iax2.c, you'll see pretty clearly
that "schedule_delivery()" is called by the channel as packets are
received. It schedules their delivery downstream, from the channel
driver through the pbx and to whatever is getting them on the other
side (another channel driver, an application, or whatever).
Re-read what I wrote again with that perspective, and it will make
sense. It was by no means perfect, but it worked pretty well given
its simplicity.
-SteveK
More information about the asterisk-dev
mailing list