Tech

RTCP-XR

Published on:

July 22, 2013

Version 5.1 introduces a setting to disable RTCP-XR on trunks, not as a feature, but as a necessity. RTCP-XR provides detailed reports on call quality, including packet arrival times, jitter, and MOS scores, making it valuable for troubleshooting and service-level documentation. However, many service providers use equipment that rejects unknown SDP content, causing interoperability issues. Since most providers and devices don’t support RTCP-XR, the default setting now suppresses its advertisement, ensuring compatibility. If providers adopt it in the future, it can be selectively enabled. This change ensures smoother integration while maintaining call quality diagnostics where possible.

In version 5.1 we have introduced something that cannot be called a feature: We have introduced a setting that disables RTCP-XR on trunks. This is sad, but we have to deal with reality.

What is RTCP-XR? First of all, RTCP stands for Real Time Control Protocol. It pairs with the RTP protocol which is used for sending the audio and video real time media. While RTP deals with the media itself, RTCP deals with the stuff around it, thus the name control. Control information may contain a name for the media, notifications when the media gets disconnected, but also information about its performance.

Especially important are reports about how long it takes to send the media from the sender to the recipient. Other interesting information is how much jitter the media had, meaning how much the packet arrival time was varying compared to the ideal arrival time. Over time, RTCP has evolved into an important tool for troubleshooting media transport problems.

That’s where RTCP-XR came in. The XR stands for extended report. Because what RTCP could deliver was limited, the IETF working groups came up with something more elaborate. RTCP-XR can deliver a very detailed report on which packets actually made it, and even what their receipt timestamps are. RTCP-XR can be seen as a recording solution for the packet delivery, thus documenting service level agreements. In times of big data, this sounds like an exciting way to ensure that the services in the cloud perform well.

But RTCP-XR is also a lot about compressing the information. That’s where statistics comes in. On the lower layers, RTCP-XR deals with arrival statistics, bursts when packets are completely missing and the codecs that have been used. The ultimate compression is giving the call as a whole a score. It is hard to describe how a person perceives audio quality; but RTCP-XR gives it a try and comes up with a mean opinion score (MOS). This is a number how a caller would rate the call in a scale between 1 and 5. You might have noticed the reports on the snom ONE web interface.

Because RTCP-XR is obviously not backward compatible, it must be negotiated between the sender and the receiver. For that, the IETF document proposes adding a line to the SDP that is used to set the session up. There both parties can negotiate if and what RTCP-XR information should be collected.

So far so good.

In the real world, there are only few devices that support RTCP-XR. snom has introduced it a couple of years ago, and also Polycom was amongst the first to offer it. Most devices don’t offer it, and silently ignore the line in the SDP as they should.

The problem is that many service providers are using equipment that gets suspicious when they receive SDP content that they don’t understand. And when they don’t understand something, they reject it. That’s when snom ONE customers start to complain that snom ONE does not work with service provider XYZ, while their free softphone does.

I am actually not aware about a single service provider that supports RTCP-XR. It seems that customers compress the service provider quality essentially to the price, and not quality or at least reporting it.

The only way out here was to introduce a setting on the trunk that suppresses the advertisement of the extended reports and set it to suppress by default. Thanks to the drop-down menu that we have introduced recently, we are able to add it selectively back if certain service providers should start supporting it.

Derniers articles

Voir tous

Integrating OpenAI's Realtime API with Vodia PBX: Webinar Recording Now Available

In our recent webinar, "Integrate OpenAI’s Realtime API with Vodia PBX," we explored how integrating AI with your communication systems can revolutionize the way your business operates. From automating repetitive tasks to improving workflow efficiency, the webinar covered how the collaboration between Vodia PBX and OpenAI’s Realtime API can streamline operations, enhance collaboration - especially for Microsoft Teams users - and provide intelligent automation to stay ahead in a competitive landscape. If you missed the live session or want to revisit the insights, the recording is now available for you to access.

December 18, 2024

Unlock the Power of OpenAI’s Realtime API with Vodia PBX: Join Our Exclusive Webinar!

Join our exclusive webinar to explore how Vodia PBX seamlessly integrates with OpenAI’s Realtime API, unlocking powerful new capabilities for your communication systems. This session will showcase how AI-driven features can streamline workflows, improve operational efficiency and elevate the PBX experience for both general users and those on Microsoft Teams. Whether you’re looking to stay ahead of the competition or leverage the latest AI trends, this webinar offers practical knowledge and actionable strategies. Register now to secure your spot and take the first step toward transforming your telecom infrastructure with AI innovation!

December 4, 2024

Connecting to OpenAI Realtime API

This document details the beta version of the Vodia PBX that connects to the OpenAI realtime API, enabling users to interact with a chatbot via telephone. The backend JavaScript code facilitates the connection, handling audio input and output, and the WebSocket connection to the OpenAI API. The setup requires a Vodia PBX version 69.5.3 or higher, an API key, and a license with an IVR node. The demo can be accessed by editing the ivrnode.js template and creating an IVR node in the tenant. The system supports various VoIP devices and offers good voice quality. Future improvements include voice activity detection and the ability to take actions based on OpenAI responses.

November 26, 2024