[Asterisk-Dev] RT(C)P-debugging

Filip Olsson filip.olsson at telavox.se
Sat Oct 23 03:24:23 MST 2004


Hi guys,

I've posted a patch in #2570 for doing _some_ more verbose
RTP-debugging.
It adds the CLI commands 'rtp debug [ip host[:port]]' and 'rtp no
debug'.
It works pretty much the same way sip debug does.

Here's some output:
Got RTP packet from 10.0.0.37:8000 (type 0, seq 4041, ts 1771635040, len
160)
Sent RTP packet to 10.0.0.38:8002 (type 0, seq 8584, ts 88800, len 160)

Here you can see the payload type(more or less the codec), sequence
number, timestamp and the size of the packet.

It's handy to have when trying to figure out where those RFC2833 packets
are going and why it's not working.

Please test the patch and give me feedback on additional features you'd
like to see in it or anything else such as that you would like to
resolve the PT in the output. Put warnings up when we see a jump in
sequence numbers? This would(not always) indicate a packet loss. Output
the RFC2833 digit?

The RTCP-version of this one is coming up soon. It's very nice to be
able to get some information on the transmission quality such as number
of lost packets and interarrival jitter.
I'm planning on doing some kind of 'monitor' for RTCP RRs and SRs and
doing some statistical calculations on them and log this for all/some
calls. I think this would be _very_ useful when hunting down echos and
other network problems in general. Please note that Asterisk don't send
any RTCP-packets, some RTP-stacks send them to us. At the moment we
don't do anything about them, but there's alot of useful information in
them.
I actually don't know if it would be useful for us to be sending SRs and
RRs to our peers, will it take any kind of action depending on what we
send? Can someone tell me if there's a RTP-stack that would change
behaviour because of content in RTCP-packets?
The only(?) reason I see where it would be useful to generate
RTCP-packets is when the remote peer is another Asterisk(or other
RTP-stack) that can do something useful with the packets(for monitoring
purposes or controlling bandwidth).

It would be cool to output all this information to monitor(generate
fancy graphs?) call quality over time and identify individual hosts that
have problems.

What say you?

//Filip





More information about the asterisk-dev mailing list