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.

Latest Articles

View All

Vodia Announces Integration with ElevenLabs Voice AI Platform

A streamlined integration connects the Vodia PBX with the ElevenLabs Voice AI Platform using a lightweight IVR JavaScript script and native SIP REFER for call transfers. Audio and call control are handled entirely through standard SIP signaling, while all conversational logic, prompts, voice selection, and routing rules are configured in the ElevenLabs dashboard. This approach removes the need for webhooks or WebSocket connections and keeps the PBX side intentionally minimal, making the deployment clean and production-ready.

January 22, 2026

Why Multi-Tenant Still Matters for MSPs

Multi-tenant architecture allows MSPs to manage multiple customers efficiently on a single, secure PBX while maintaining strict tenant isolation. By sharing infrastructure, MSPs can reduce operational costs, apply updates and security patches centrally, scale customers on demand, and onboard faster without increasing complexity. As cloud and SaaS models continue to dominate, a well-designed multi-tenant phone system provides the control, flexibility, and reliability MSPs need to support growth, evolving requirements, and modern communications workloads.

January 19, 2026

Start 2026 with a cloud PBX built for real-world deployments

A flexible, cloud-neutral PBX built for real-world deployments in 2026, Vodia supports MSPs, enterprises, and service providers with an open, SIP-compliant platform designed for scale. With Vodia PBX version 70 arriving in Q1 2026, the platform brings multi-tenant hosting, reuse of existing IP phones through centralized provisioning, built-in WebRTC softphones, transparent licensing, and partner-driven support, giving organizations full control over modern business telephony without lock-in or hidden costs.

January 13, 2026