No Audio Extension to Extension on My yealink IP Phone

Hi All,
Just setup my yealink (sip-t31w) on FreePBX v16. Was testing out extension to extension calls. The phone rings but I cannot hear the person on the other side. Any ideas on what could be wrong?

  1. NAT issues (if FreePBX is behind a router)
    If FreePBX is behind NAT (for example, in a home network or behind a firewall), you need to configure Asterisk SIP Settings correctly:

Go to FreePBX GUI → Settings → Asterisk SIP Settings

Specify:

External Address — your external IP (can be found on whatismyip.com)

Local Networks — add your local subnets (for example, 192.168.1.0/24)

Save and restart Asterisk

:headphone: 2. RTP ports are not open
Asterisk uses UDP ports 10000–20000 to transmit audio (RTP). Make sure that:

These ports are open on the firewall

Forwarded if FreePBX is behind a router

Check the settings in /etc/asterisk/rtp.conf - the default range should be 10000-20000

:satellite_antenna: 3. Check the codecs
Make sure that both FreePBX and Yealink use the same codecs - for example, ulaw or alaw

In FreePBX, check in:

Settings → Asterisk SIP Settings → Audio Codecs

Also in the extension settings

:telephone_receiver: 4. Yealink NAT settings
Go to the Yealink web interface and check:

Account → SIP settings:

NAT Traversal: try to enable STUN or UDP Keep Alive

Check the RPort field: enable if there are problems with NAT

:magnifying_glass_tilted_left: 5. Capturing traffic (if it doesn’t help)
If nothing helps, you can do tcpdump on FreePBX and see if RTP packets are coming:

bash
Copy
Edit
tcpdump -n udp port 10000 -i eth0
(replace eth0 with the current interface)