[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