# VoIP One-Way Audio Fix: 6 Checks for NAT and RTP

Source: https://srvscripts.com/guides/voip-one-way-audio/
Updated: 2026-10-03
Publisher: srvScripts (https://srvscripts.com/)

VoIP one-way audio, where one party hears the other but not the reverse, is almost never a codec or phone fault. It means RTP media is flowing in one direction only, and nine times out of ten the cause is NAT: the PBX or phone advertises a private address in the call setup, so the far end sends its audio somewhere unreachable. The six checks below find the cause in order of likelihood.

**Short answer:** Capture a call with `sngrep` and read the `c=` line of the SDP. If it shows a private 10.x, 172.16-31.x or 192.168.x address going to the internet, set the public address and local networks on the PBX (in PJSIP: `external_media_address`, `external_signaling_address` and `local_net`, plus `rtp_symmetric`, `force_rport` and `rewrite_contact` on the endpoint). Then make sure the RTP range is open and forwarded, SIP ALG is off, and outbound NAT keeps a static source port.

In short: Capture a call with sngrep and read the c= line of the SDP.

## 1. Read the SDP

Record a failing call and open it in sngrep’s call flow. The INVITE and the 200 OK each carry an SDP body with a `c=IN IP4` address and an `m=audio` port: that is where the sender wants to receive audio.

```
sngrep -d any port 5060 or portrange 10000-20000
# inside the call flow press F2 to show the SDP, look for:
# c=IN IP4 192.168.1.20
