[asterisk-users] RTCP-XR

John Todd jtodd at digium.com
Mon Sep 15 20:46:08 CDT 2008


At 5:37 PM -0500 2008/9/15, Mike Hammett wrote:
>
>
>Does Asterisk support RTCP-XR in any way?  I'm looking to use the 
>quality monitoring now available on Polycom phones, but I can't 
>figure out how to actually read the data.  Everything I Google for 
>is people asking and not receiving answers or articles about the 
>"new" technology...  5 years ago.
>
>
>----------
>Mike Hammett
>Intelligent Computing Solutions
>http://www.ics-il.com


Unless a lot of code has snuck in without my seeing it, the answer 
right now is "No, it is not supported."

However, that doesn't mean it wouldn't be a welcome addition.  Your 
patches are awaited.  :-)  The RTCP-XR stuff is very interesting in 
that it gives (semi)real-time updates to all of the SIP elements in 
the signalling chain about the call quality that is happening in the 
RTP stream.  This allows (potentially) for mid-call signalling 
components to redirect the calls to less-congested media servers, 
without having to sit in the RTP data path.  Getting Asterisk or any 
call platform to do this would be complex.  I think a better starting 
point would just be getting the call quality data back for an 
end-of-call quality record - it's a bit ambitious to do mid-call 
redirection at this point, I think, when there are more fundamental 
stats we're not getting or using.

The RTCP-XR stuff has changed some of the data name and types in the 
last year or so, IIRC, so perhaps it's a good thing that it's been 
slow to show up in Asterisk.  At my last conversation with someone 
who would know,  the thinking was that it's getting very close to 
being approved and is mostly stable in the general sense of the 
protocol details.

For a longer screed on Call Quality Detail Records, see links below.

http://lists.digium.com/pipermail/asterisk-dev/2006-November/024586.html
http://lists.digium.com/pipermail/asterisk-dev/2004-May/004180.html

I have created minimalist CQDRs with whatever RTP data that is 
currently available within Asterisk, but I've yet to validate that 
they're getting "correct" data, and doesn't seem for the clients I've 
tested to report the remote side.  Also, it seems that "remote_count" 
is a bit counter-intuitive - it says how many packets were sent to 
the remote side, not how many were received by the remote side.  This 
is perhaps where the RTCP-XR stuff would be useful, or maybe we're 
just not fully exercising the RTCP data that we could.

exten => 999,1,Playback(tt-monkeys)
exten => 999,n,Log(DEBUG,local_ssrc: 
${CHANNEL(rtpqos,audio,local_ssrc)})
exten => 999,n,Log(DEBUG,local_lostpackets: 
${CHANNEL(rtpqos,audio,local_lostpackets)})
exten => 999,n,Log(DEBUG,local_jitter: 
${CHANNEL(rtpqos,audio,local_jitter)})
exten => 999,n,Log(DEBUG,local_maxjitter: 
${CHANNEL(rtpqos,audio,local_maxjitter)})
exten => 999,n,Log(DEBUG,local_minjitter: 
${CHANNEL(rtpqos,audio,local_minjitter)})
exten => 999,n,Log(DEBUG,local_normdevjitter: 
${CHANNEL(rtpqos,audio,local_normdevjitter)})
exten => 999,n,Log(DEBUG,local_stdevjitter: 
${CHANNEL(rtpqos,audio,local_stdevjitter)}) 
exten => 999,n,Log(DEBUG,local_count: 
${CHANNEL(rtpqos,audio,local_count)})
exten => 999,n,Log(DEBUG,remote_ssrc: 
${CHANNEL(rtpqos,audio,remote_ssrc)})
exten => 999,n,Log(DEBUG,remote_lostpackets: 
${CHANNEL(rtpqos,audio,remote_lostpackets)})
exten => 999,n,Log(DEBUG,remote_jitter: 
${CHANNEL(rtpqos,audio,remote_jitter)})
exten => 999,n,Log(DEBUG,remote_maxjitter: 
${CHANNEL(rtpqos,audio,remote_maxjitter)})
exten => 999,n,Log(DEBUG,remote_minjitter: 
${CHANNEL(rtpqos,audio,remote_minjitter)})
exten => 999,n,Log(DEBUG,remote_normdevjitter: 
${CHANNEL(rtpqos,audio,remote_normdevjitter)})
exten => 999,n,Log(DEBUG,remote_stdevjitte: 
${CHANNEL(rtpqos,audio,remote_stdevjitter)}) 
exten => 999,n,Log(DEBUG,remote_count: 
${CHANNEL(rtpqos,audio,remote_count)})
exten => 999,n,Log(DEBUG,maxrtt:               ${CHANNEL(rtpqos,audio,maxrtt)})
exten => 999,n,Log(DEBUG,minrtt:               ${CHANNEL(rtpqos,audio,minrtt)})
exten => 999,n,Log(DEBUG,normdevrtt: 
${CHANNEL(rtpqos,audio,normdevrtt)})
exten => 999,n,Log(DEBUG,stdevrtt: 
${CHANNEL(rtpqos,audio,stdevrtt)}) 
exten => 999,n,Log(DEBUG,rtpdest:              ${CHANNEL(rtpdest,audio)})
exten => 999,n,Hangup


JT


-- 
John Todd
jtodd at digium.com        +1-256-428-6083
Asterisk Open Source Community Director



More information about the asterisk-users mailing list