[Asterisk-Dev] IAX2 Receiver Reports

Steve Kann stevek at stevek.com
Wed Dec 29 11:05:16 MST 2004


steve at daviesfam.org wrote:

>On Tue, 28 Dec 2004, Steve Kann wrote:
>
>  
>
>>This shouldn't matter. The PING/PONG will still give an accurate RTT 
>>estimate, and the jitterbuffer delay that's returned will be the 
>>_maximum_ delay. I think it turns out, in practice, that the maximum 
>>delay is usually just about what happens to most packets, because most 
>>packets are sent in a consistent time, while a few packets are late 
>>(because of buffering spikes, etc). Regardless, we're trying to give an 
>>upper bound to the delay, and while 1/2rtt + "delay" would be a better 
>>upper bound, rtt+delay is more conservative, because it takes into 
>>account differing delay lengths.
>>    
>>
>
>
>This is where I always had trouble when trying to report measurements from 
>the jitter buffer - just because the jitter buffer is a particular size, 
>doesn't in my opinion tell you too much about how long a frame will be 
>delayed.  If its true that we are just looking at delay "spikes" then you 
>are right.  But I tended to see that the delay jumps higher for seconds or 
>tens of seconds, sometimes followed by lost packets and a return to lower 
>delay (symptom of congestion and a router running out of buffer).  
>Timestamp discontinuities made things more complicated.
>
>Still - the thing is to try it and see how things go.
>  
>

Well, I'm presently finishing up the first implementation of sending the 
RR stuff in libiax2/iaxclient. Next, I'll work on parsing the incoming 
RR reports from the other side, and making this available to iaxclient 
programs via some API.

I'm guessing based on your off-list comments that you're going to try to 
put the new jitterbuffer in channel.c, instead of in chan_iax2.c. It 
shouldn't matter, as long as we can get to them from where we send 
PONGs, though. In the meantime, I might throw something together using 
the existing jitterbuffer, such as it is, as a proof-of-concept, and in 
order to more easily test the receiving code in libiax2.

I think another unstated part of the specification should be that if you 
can't properly generate a particular IE, you should not send it. For 
example, the current jitterbuffer can't say anything at all about loss, 
because it has no idea if things are lost, so it would just not send 
this IE.

-SteveK



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20041229/5fe75e71/attachment.htm


More information about the asterisk-dev mailing list