Summary:ASTERISK-03173: [patch] Initial support for IAX2 Receiver Reports in chan_iax2.c
Reporter:stevekstevek (stevekstevek)Labels:
Date Opened:2005-01-03 14:46:42.000-0600Date Closed:2008-01-15 15:25:07.000-0600
Versions:Frequency of
Environment:Attachments:( 0) astdiff
( 1) iax_netstats.diff
This patch adds initial support for IAX2 Receiver Reports in chan_iax2.c  

A more complete implementation is presently available in iaxclient, including support for sending local and remote network status back to clients, and supplying information for all RR elements.

Once the new jitterbuffer makes it's way into asterisk [I'd post information about that into it's own bug, ASTERISK-2491, but that bug has been closed, and I can't reopen it.

So for now, this patch serves two purposes:

#1) It gets the "jitter" reply back to other clients,
#2) It will reserve the IE numbers, so I don't have conflicts every two days
#3) It will get someone to hopefully comment on this whole plan.

The presently used IEs can/should be changed if necessary, I purposely used out-of-sequence numbers just to avoid conflicts with the other IE-adds that are floating around.
Comments:By: stevekstevek (stevekstevek) 2005-01-03 14:47:09.000-0600

Oops.  Forgot to mention disclaimer on file.

By: stevekstevek (stevekstevek) 2005-01-07 10:18:56.000-0600

OK, take 2:

Added an "iax2 show netstats" cli command.

Here's the output you get.  This is with 2 iaxclients connected for a couple of minutes:

*CLI> iax2 show netstats
                               -------- LOCAL ---------------------  -------- REMOTE --------------------
Channel                    RTT  Jit  Del  Lost   %  Drop  OOO  Kpkts  Jit  Del  Lost   %  Drop  OOO  Kpkts
IAX2/guest@    6   36   84    -1  -1    -1   -1     25   32  112     0   0    17    1     24
IAX2/guest@    4    7   55    -1  -1    -1   -1     18   36  107     0   0    29    1     18
2 active IAX channel(s)

This also does a little more statistics-keeping for iax2, even with the present jitterbuffer:  It keeps track of packets received, and delay.

By: Mark Spencer (markster) 2005-01-16 02:00:44.000-0600

Are you really going to be able to sense all these things?  Do you want to consider making the report a single information element instead of 7?

By: Brian West (bkw918) 2005-01-16 02:09:49.000-0600

Number 3 only will happen after its in CVS and breaks something someone expects.... thats how it always works ;)  I'll have my two cents tommorow.


By: stevekstevek (stevekstevek) 2005-01-16 09:06:09.000-0600

bkw:  Huh?

Mark: I made it into separate information elements (*) based on what I inferred from talking to you about your policy towards IEs being that they should be a single "piece" of information;  

The original 4 elements I added translate exactly into what goes into RTCP receiver reports; the idea is that eventually, when we bridge IAX2 and an RTP channel, we probably ought to also "bridge" the RTCP receiver reports so that the bridged channels see end-to-end reports.  The last two elements; out of order, and "dropped", were added based on the only comment I've received on the -dev list, a request from John Todd.

We could do this all as a single IE, but then we'd need to pass a struct or something, and there would be versioning issues if we wanted to change it.

By: Mark Spencer (markster) 2005-02-12 12:52:39.000-0600

Added to CVS with some modifications.

By: Russell Bryant (russell) 2005-02-13 20:39:28.000-0600

not included in 1.0

By: Digium Subversion (svnbot) 2008-01-15 15:25:07.000-0600

Repository: asterisk
Revision: 5012

U   trunk/channels/chan_iax2.c
U   trunk/channels/iax2-parser.c
U   trunk/channels/iax2-parser.h
U   trunk/channels/iax2.h

r5012 | markster | 2008-01-15 15:25:07 -0600 (Tue, 15 Jan 2008) | 2 lines

Add support for receiver reports (bug ASTERISK-3173, with mods)