Tech

Enhancing Call Troubleshooting and Quality Monitoring with PCAP Recording

Published on:

September 5, 2014

In version 5.2.3, we improved the email client to better handle multi-tenant environments. Previously, email problems could affect all domains if one email server went down, causing delays in outgoing messages. We redesigned the client to be multi-tenant while preserving the reliability of the previous setup. However, issues arose with the TLS context when multiple emails were sent in quick succession. This required a patch to resolve the problem. If you upgraded to 5.2.3 before June 28, we recommend repeating the upgrade to ensure the latest email fixes are applied for faster, more reliable email performance.

Almost a year ago we introduced a new feature: Call recording using PCAP.For those who are not familiar with the term PCAP, here is a short explanation (more to be found on http://en.wikipedia.org/wiki/Pcap).

For us the PBX guys, this is a file format that we can generate that contains the packets that are processed on the PBX. There are several tools available out there that can read PCAP and display it in various formats, including Wireshark. The great things about using such tools is that they have special functions specifically for SIP and RTP. This way, whoever needs to look at problematic calls, can drill down to each bit of the call. Together with the timestamps, this provides an incredible level of detail that can still be managed easily.

There were two milestone achievement that we did with the PCAP introduction. The first one is that each call gets its own PCAP file. That is usually not possible when using external tools. They usually record everything on a network interface. When doing this, you get a lot of by-catch that is irrelevant for the analysis of the call. And you have to sort out which packet belongs to which call. Whoever has done this on a busy server knows what I am talking about. File sizes can easily get to a gigabyte or more, and then every time filtering for a call stalls the PC for a minute or two.

The other huge achievement that is that the PBX has the security context for generating decrypted PCAP files, even if the call was encrypted. This makes it possible to use the PCAP recording in live environments where TLS and SRTP are essentially and cannot be turned off for the sake of troubleshooting.

Because of the decrypting of the SIP packets, TLS traffic is stored as UDP packets. It looks kind of weird at first glance when you see a UDP packet that has the SIP/2.0/TLS in it. It was the easiest way to get the packet into the PCAP. The problem is that TLS packets can get big, like TCP packets. Unfortunately, it crashes Wireshark if the UDP packets exceed a certain size. We had cases where we had to first edit the PCAP in a raw text editor, seek to the problematic packet and then cut the rest of the trace off. Maybe someone can open a ticket with the Wireshark guys and let them know they should make the buffer bigger.

The PCAP recording goes beyond pure troubleshooting. Memory has become so cheap, that some clients record every call, regardless if they have trouble or not (sometimes you need to look up older calls). It can even be used to proof service level agreements. What is better than having the raw data for the call to prove that its quality was okay! I am not sure if there are tools available that can scan through the PCAP folders and automatically generate reports. Generating those reports can be done easily with a little delay. This would be a perfect job for a low-priority process on the system.

We are thinking about extending it even further. The first obvious move would be to have the PCAP accessible from the web interface, along with the call history; similar to the call recording. But we could also extend it further, so that the content of the call is not being recorded any more. In cases when only the call quality should be monitored, it can be an advantage not to record the voice itself. We could replace the voice parts in the RTP packets with zeros, so that there would be no problem having those packets archived. Of course, that would be a true waste of hard disk capacity. Originally I thought that RTCP-XR would do that job, but at least in our world we did not see that happen yet.

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