[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