SIP Endpoint SDK Call Statistics
As of release 8.1.100.04 of SIP Endpoint SDK for .NET, two methods have been added to the ICallControl interface so that you can have real-time access to RTP audio and video statistics during a call.
These statistics are based on the RTCP packets that have been sent during a call session.
The two methods are:
Dictionary<String^,Object^>^ GetAudioStatistics(String^ sessionId); Dictionary<String^,Object^>^ GetVideoStatistics(String^ sessionId);
The .NET QuickStart Application shows how to monitor statistics while a call is in progress and how to gather the most recent statistics before a call is disconnected.
Configuration
RTCP is enabled by default but can also be controlled by the following configuration settings:
<Container name ="Cp"> <domain name="rtp"> <section name="rtcp"> <setting name="frequency_to_send_in_ms" value="3000"/> </section> <section name="inactivity"> <setting name="must_have_rtcp" value="1"/> <setting name="rtcp_timer_in_ms" value="30000"/> </section> </domain> </Container>
Available Statistics
Both the audio and video statistics are key/value collections, as described in the following tables.
Local Audio Receiver Statistics
Unless stated otherwise, all statistics are relative to duration of the current call | |
---|---|
Key | Description |
PacketsReceived | Number of audio RTP packets received |
PacketsLost | Number of discarded audio RTP packets (jitter buffer determines when a packet is considered lost) |
MaxLatency | Maximum latency created by the jitter buffer (that is, how much sound is buffered for smooth playback). Measured in milliseconds. |
PacketsDropped | Number of dropped audio RTP packets (for example, a packet that was received outside of the acceptable set of sequence numbers, or a duplicate packet) |
CurrentLatency | Current latency created by jitter buffer (that is, how much sound is buffered for smooth playback). Measured in milliseconds. |
LatencySum | Summation of CurrentLatency throughout the call (added each time the jitter buffer has adjusted its size). Measured in milliseconds. |
TotalLatency | Number of times the jitter buffer has adjusted its size. Measured in milliseconds. |
FractionalLost | Fraction of audio RTP packets lost since the last RTCP sender or receiver report. Range: 0-2.55. |
Jitter | A short-term measure of network congestion, based on an estimate of the variance of the audio RTP packet inter-arrival time. Measured in milliseconds. |
SessionReport | Not available unless the Telchemy VQmon/EP reporting tool has been installed and run |
IncomingCodec | Current codec used for incoming audio |
MOSScore | Mean Opinion Score |
Remote Audio Receiver Statistics
Unless stated otherwise, all statistics are relative to duration of the current call | |
---|---|
Key | Description |
FractionalLost | Fraction of audio RTP packets lost since the last RTCP sender or receiver report. Range: 0-2.55. |
CumulativeNumberOfPacketsLost | Number of audio RTP packets that have been lost since the beginning of the call, calculated as the difference between the number of packets expected and the number of packets received (the number of received packets includes late or duplicate packets) |
HighestSequenceNumberReceived | Highest RTP sequence number received |
InterArrivalJitter | A short-term measure of network congestion, based on an estimate of the variance of the audio RTP packet inter-arrival time. Measured in milliseconds. |
LSR | NTP timestamp from the most recent RTCP sender report received |
DLSR | Delay since last sender report, calculated as the difference between the time the latest RTCP receiver report was sent and the time the latest RTCP sender report was received. Measured in units of 1/65536 seconds. |
Local Video Receiver Statistics
Unless stated otherwise, all statistics are relative to duration of the current call | |
---|---|
Key | Description |
PacketsReceived | Number of video RTP packets received |
PacketsLost | Number of discarded video RTP packets (jitter buffer determines when a packet is considered lost) |
DataReceived | Number of bytes of video data received |
Remote Video Receiver Statistics
Unless stated otherwise, all statistics are relative to duration of the current call | |
---|---|
Key | Description |
FractionalLost | Fraction of video RTP packets lost since the last RTCP sender or receiver report. Range: 0-2.55. |
CumulativeNumberOfPacketsLost | Number of video RTP packets that have been lost since the beginning of the call, calculated as the difference between the number of packets expected and the number of packets received (the number of received packets includes late or duplicate packets) |
HighestSequenceNumberReceived | Highest RTP sequence number received |
InterArrivalJitter | A short-term measure of network congestion, based on an estimate of the variance of the video RTP packet inter-arrival time. Measured in milliseconds. |
LSR | NTP timestamp from the most recent RTCP sender report received |
DLSR | Delay since last sender report, calculated as the difference between the time the latest RTCP receiver report was sent and the time the latest RTCP sender report was received. Measured in units of 1/65536 seconds. |