One-way audio in VoIP calls: causes and how to find them
One-way audio — the call connects, both parties think they are talking, but only one side can hear anything — is one of the most common VoIP complaints. The important thing to know: the signalling (SIP) is usually fine. The problem is almost always in the media path (RTP).
What it looks like in the capture
The SIP side completes normally:
A → B INVITE (SDP offer)
A ← B 200 OK (SDP answer)
A → B ACK
But when you look at the RTP streams, you see media flowing in only one direction — for example packets from A→B but little or nothing B→A. That asymmetry is the whole diagnosis: whoever is not receiving RTP is the side that hears silence.
The usual causes
Almost all of them come down to where the RTP is told to go versus where it can actually reach:
- NAT. The SDP
c=line advertises a private IP (e.g.192.168.x.x) instead of the public address. The far end dutifully sends RTP to an unroutable address, so it never arrives. This is the number-one cause. - Firewall / port filtering. The RTP UDP port range is open in one direction but blocked in the other, so only one media stream gets through.
- SBC / session border controller not relaying media symmetrically, or an SBC that was expected to anchor media but did not.
- Asymmetric routing where the return media takes a path that drops it.
Codec mismatch usually causes no audio (or a failed call), not one-way audio — so if exactly one direction works, look at the media path first, not the codec.
How to confirm it
- Check the SDP. In the
INVITEand200 OK, look at thec=IN IP4 ...line and them=audio <port> ...line. A private IP there in a call that crosses NAT is a red flag. - Compare the RTP streams. Confirm which side is actually sending and which is receiving. The silent side is the one not receiving.
- Check the ports. Make sure the RTP port range is reachable both ways through any firewall/NAT in the path.
The fix usually is…
- Enable the NAT handling on the PBX/SBC so it advertises the public IP in SDP (and uses the actual source address of incoming RTP — "symmetric RTP"/comedia).
- Open the RTP port range both directions.
- Let the SBC anchor/relay media if the endpoints cannot reach each other directly.
The capture makes this quick: one glance at the SDP address and the direction of the RTP packets usually tells you which side is misaddressed.