Some VoIP Troubleshooting Checklists and Tools

Here are several VoIP troubleshooting checklists and tools, organized by focus area to help quickly identify and resolve common issues. These checklists are especially useful for IT admins, NOC teams, and VoIP engineers. Are they “the bees knees” of troubleshooting VoIP? No. In fact, if you have feedback or comments on improving these lists, please please let me know. Links to providing feedback are below.

A General VoIP Troubleshooting Checklist

  1. Is the VoIP phone/device powered on?
  2. Is the device connected to the correct VLAN or network segment?
  3. Can the phone reach the VoIP server (ping/sip trace)?
  4. Are DNS settings correct (especially for SIP proxy resolution)?
  5. Are NAT/firewall rules interfering with VoIP ports (e.g., SIP 5060, RTP 10000-20000)?
  6. Is the firmware/software up to date on the device or softphone?
  7. Are QoS settings in place for VoIP traffic?
  8. Are other phones experiencing the same issue?

One-Way or No Audio Checklist

  1. Is SIP signaling successful (200 OK received)?
  2. Are RTP ports open on both ends?
  3. Is NAT traversal (STUN/TURN/ICE or SIP ALG) correctly configured?
  4. Is the media stream (RTP) using the correct IP address and port?
  5. Are both endpoints using compatible codecs?
  6. Use Wireshark: Is RTP traffic present in both directions?

Call Drop or Failure Checklist

  1. Is the SIP registration active and not expiring prematurely?
  2. Are SIP OPTIONS/Keepalives being blocked?
  3. Is there a re-INVITE or BYE causing unintended termination?
  4. Is jitter/latency/packet loss degrading the call quality?
  5. Check for SIP 408 (Request Timeout), 503 (Service Unavailable), 487 (Cancelled) in logs.
  6. Are SIP timers configured appropriately (T1, T2, etc.)?

Poor Call Quality Checklist (Jitter, Delay, Choppy Audio)

  1. Measure jitter, delay, and packet loss with tools like ping, iperf, or VoIPmonitor.
  2. Ensure QoS (DSCP tagging, traffic prioritization) is implemented on WAN/LAN.
  3. Is the network experiencing congestion (e.g., high CPU/bandwidth utilization)?
  4. Use RTP stream analysis in Wireshark for MOS and jitter graphs.
  5. Verify that VoIP traffic isn’t traversing VPN tunnels without proper optimization.

SIP Signaling & Registration Checklist

  1. Is the SIP server reachable (ping, telnet to port 5060/5061)?
  2. Are credentials correct (username, password, domain)?
  3. Are SIP messages visible using sngrep, sipsak, or Wireshark?
  4. Are SIP registration attempts getting 401/403/404 responses?
  5. Is there any SIP ALG causing SIP header mangling?
  6. Is TLS used? Are certificates valid and trusted?

Wireshark Troubleshooting Checklist

Honestly – you have to start with a full set of Wireshark Profiles. Go here, and look for the NetSci-SIP, NetSci-SDP, NetSci-RTP, NetSci-RTCP, NetSci-VoIPQoS profiles, download them, and install them in Wireshark. These are game changers. Most of the checklist items below are simple one-button-click filters in these profiles.

First some general checklist items:

  1. Simply find calls in your capture quickly: Telephony > VoIP Calls
  2. Filter on SIP (sip) and RTP (rtp) protocols.
  3. Analyze SIP ladder diagrams for failed negotiation or call teardown.
  4. Use Telephony > VoIP Calls and RTP Stream Analysis.
  5. Identify errors and retransmissions, 4xx/5xx errors, or dropped INVITE requests.
  6. Look for mismatched SDP (e.g., wrong media IP, codec negotiation failure).

Now let’s get more detailed: this is my usual process when using the profiles in Wireshark:

  • SIP/SDP – use the SIP and SDP profiles
    • Telephony> VoIP Calls
    • Play Streams
      • SIP Statistics
      • SIP Errors
      • Port Numbers
    • Communications Ladder – the process
      • SIP Flows
      • SIP Flow Sequence
  • RTP – use the RTP profile
    • 20 msec delta times
    • Sequence Numbers
    • Telephony> RTP Streams
    • Select Stream> Analyze
    • Statistics
  • RTCP
    • Look for those statistics in columns in the RTCP profile
  • QoS – use the profile to hunt down issues with QoS settings/markings in the IP headers

General VoIP Troubleshooting Tools

Here is a VoIP Troubleshooting Toolkit, aligned with the checklists above, including specific tools and scripts for each troubleshooting area. These will help streamline and automate analysis where possible.

TaskTool/ScriptNotes
Check device power and linkBuilt-in phone diagnostics or LLDP/CDP neighbor infoUse switch CLI (show lldp neighbors, show cdp neighbors)
Network reachabilityping, tracerouteTest to VoIP gateway, DNS, NTP servers
DNS resolutionnslookup, digVerify SIP server and SRV/NAPTR record resolution
SIP server connectivitytelnet <sipserver> 5060 or ncatConfirms if SIP port is reachable
Check for SIP ALGUse sipsak, nmap -p 5060 --script sip-methodsDetect SIP mangling We have articles on nmap and sipsak and other sip tools.
QoS validationWireshark (DSCP field), router CLI (show mls qos, show policy-map)DSCP should match EF (46) for voice

One-Way or No Audio Tools

TaskTool/ScriptNotes
RTP stream presenceWireshark (filter: rtp)Check SSRC and direction of streams
NAT traversal issuessipsak, sngrep, firewall logsLook for private IPs in SDP (e.g., c=IN IP4 192.168.1.100)
STUN/TURN teststunclient, trickle-ice, coturn logsValidates traversal capabilities
Codec negotiationWireshark, SIP INVITE/200 OK SDPLook for m=audio and a=rtpmap lines
RTP port checkUse nmap or netstatnmap -p 10000-20000 <IP> to see open RTP ports

Call Drop/Failure Tools

TaskTool/ScriptNotes
SIP logssngrep, tcpdump -i any port 5060Use ladder view to see BYE or CANCEL messages
Packet loss/jittermtr, pingplotter, VoIPmonitorUseful for tracing intermittent drops
SIP trace logsFrom phone/gateway/softswitchLook for session refreshes, failures, or BYEs
SIP timer validationAsterisk logs, FreeSWITCH, or kamailio.cfgCheck if timers like T1, T2, Timer B are tuned correctly

Poor Call Quality Tools

TaskTool/ScriptNotes
MOS, jitter, packet lossWireshark RTP analysis, VoIPmonitor, VQManagerTelephony > RTP > Stream Analysis in Wireshark
Network performanceiperf, mtr, smokepingSimulate voice UDP traffic (iperf -u)
QoS markingWireshark, switch/router CLIInspect DSCP values (expect EF/46)
Bandwidth usageiftop, ntopng, vnStatIdentify network congestion or saturation
CPU/memory loadtop, htop, free -mHigh CPU usage on VoIP server can degrade performance

SIP Signaling & Registration Tools

TaskTool/ScriptNotes
SIP message capturesngrep, tcpdump, WiresharkView INVITE, REGISTER, 401/403 errors
SIP test messagesipsak -s sip:user@domainUseful for testing responsiveness
TLS verificationopenssl s_client -connect sipserver:5061Inspect certificates and handshake
SIP registration testpjsua/pjsip, linphonec, sipviciousFull-featured CLI SIP clients
Log reviewjournalctl, asterisk -rvvv, kamctl ul showCheck registration state and expiration timers

Check out our post on PJSIP here: https://www.cellstream.com/2025/06/27/voip-troubleshooting-with-pjsip/

Check out how to use SIP Pings in our port here: https://www.cellstream.com/2025/06/25/what-are-and-how-to-use-sip-pings-in-voip/

Check out how to use the sipsak tool here: https://www.cellstream.com/2025/06/24/sip-testing-and-troubleshooting-with-sipsak/

Wireshark Troubleshooting Tasks

I will say it again: you have to start with a full set of Wireshark Profiles. Go here, and look for the NetSci-SIP, NetSci-SDP, NetSci-RTP, NetSci-RTCP, NetSci-VoIPQoS profiles, download them, and install them in Wireshark. These are game changers.

That said – here are some tasks and how to accomplish them:

TaskTool/ScriptNotes
Capture SIP & RTPtcpdump -i eth0 port 5060 or portrange 10000-20000 -w voip.pcapCapture signaling and media in one shot
Analyze VoIPWireshark Telephony > VoIP CallsFollow and listen to RTP streams
Reassemble streamsWireshark Follow UDP Stream or rtpdumpFor debugging stream corruption
SIP/RTP filterssip, rtp, udp.port==5060, rtcpFocus capture on relevant traffic
Packet loss/jitterTelephony > RTP > Stream AnalysisGraph MOS, jitter, and packet loss visually

Fantastic!


Other Steps to Consider

Now let’s look at some specific “reported issues” and how to troubleshoot them by taking the suggested steps. There is some overlap with the checklists above, so make sure you are aware of both.

Audio is breaking up

The symptom is the audio from remote party is breaking up or audio from playing a file locally is breaking up.

  1. Check that no other application is using the devices. It is common to not be able to use sound device when the device is being used by other applications.
  2. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling. Check that codec is negotiated properly by both parties.
  3. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above.
  4. Check if audio is breaking up when playing file locally: Checking by playing a WAV file
  5. Check if the breakup is coming from the sound device: Checking the quality of the sound device
  6. Check if local audio is breaking up by looping back microphone signal to the speaker: Check by looping back microphone to speaker
  7. Check proper firmware on all devices in the conversation (if possible)
  8. Check for a “dangling call” in PBX or switch. A dangling call is call that is left active in the PBX/switch because previous application has terminated abruptly.
  9. Check CPU utilization

Audio drop-outs or “stutters”

The symptom is audio is sounding like it’s skipping some frames.

  1. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling.
  2. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above.
  3. Check for high network jitter, packet loss, etc.
  4. Check by looping back microphone to speaker: check whether the symptom is observable when looping the microphone to the speaker locally.
  5. Check for audio underflows/overflows
  6. Check for a “dangling call” in PBX or switch. A dangling call is call that is left active in the PBX/switch because previous application has terminated abruptly.
  7. Check CPU utilization

High jitter value observed by remote party

Note that normally a jitter in the transmission shouldn’t cause problems, since the jitter is not very big and the receiving party should be able to accommodate this with a de-jitter buffer. That said:

  1. Check if this is a network condition rather than problem with transmission.
  2. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling.
  3. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above.
  4. Since the transmission of the RTP packet is driven by the sound device clock, the performance of the transmission is affected by the performance of the sound device. If the sound device doesn’t deliver the captured frame in timely manner, the outgoing RTP transmission will have jitter in it.

Loud static noises

  1. Check that audio device is functioning properly and noise is not heard when looping microphone to the speaker
  2. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling. Check that codec is negotiated properly by both parties.
  3. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above.
  4. Be mindful with combination of sampling rate and ptime that causes non-whole number of samples.

No audio is heard in local speaker

See the One-way Audio/No Audio list above.

  1. Check that correct device is being used
  2. Check that no other application is using the devices. It is common to not be able to use sound device when other application is using the device.
  3. Check IP addresses and that both flow directions are getting around NAT.
  4. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling. Check that codec is negotiated properly by both parties.
  5. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above
  6. .Check that speaker is functioning properly by looping-back microphone to speaker device.
  7. Checking by playing a WAV file.
  8. Check that the call is connected to the sound device in the conference bridge.
  9. Check CPU utilization

No audio is heard by remote party

See the One-way Audio/No Audio list above.

  1. Check that correct device is used
  2. Check that microphone is functioning properly by looping-back microphone to speaker device.
  3. Check that no other application is using the sound devices. It is common to not be able to use sound device when other application is using the device.
  4. Check IP addresses and that both flow directions are getting around NAT.
  5. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling. Check that codec is negotiated properly by both parties.
  6. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above
  7. Check that the microphone is connected to the call in the conference bridge
  8. Check CPU utilization

Soft/quiet noise

  1. Check that you’re using the latest firmware/software in devices
  2. Check whether you have this noise when looping the microphone to the speaker locally: If yes, then the noise is probably introduced by your sound device (it’s quite common with onboard sound adapters).
  3. Verify the control plane of VoIP (SIP). Verify that both ends of the call have matching settings in the SIP/SDP signaling. Check that codec is negotiated properly by both parties.
  4. Verify the data plane of VoIP (RTP/RTCP). Check for high network jitter, packet loss, etc. using the Tools listed above
  5. Be mindful with combination of sampling rate and ptime that causes non-whole number of samples.

Comments are welcomed below from registered users.  You can also leave comments at our Discord server

If you would like to see more content and articles like this, please support us by clicking the patron link where you will receive free bonus access to courses and more, or simply buying us a cup of coffee!

Leave a Comment

Scroll to Top