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?
- 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
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
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
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
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)