jaspreet-eltropy created an issue (kamailio/kamailio#4270)

**I’m running into an issue when using Yealink SIP phones in a setup involving 
Kamailio + RTPengine + FreeSWITCH/Fusionpbx.**
 **Setup Overview:**
SIP Proxy: Kamailio (handling NAT traversal, registration, and routing)
Media Relay: RTPengine (with replace-origin, replace-session-connection, 
media-address, and other options)
Media Server: FreeSWITCH (handles RTP/audio and call logic)
Phone: Yealink T54w Series (but likely affects other models too)
Transport: UDP (with force_rport() and NAT detection routes in place)
Environment: Mixed NAT/public IPs with STUN/TURN enabled on WebRTC 
clients(SIP.js) (where applicable)
Problem Description:
When a call is placed from/to a Yealink phone, the call signaling works fine 
(INVITE, 200 OK, ACK are all seen correctly), but there is no audio or 
sometimes one-way audio. This only happens with Yealink; other SIP clients 
(Zoiper, Linphone, SIP.js etc.) work fine with the same setup.
>From packet captures and Kamailio logs, I can see the following:
RTPengine receives the call and processes it.
The rtpengine_manage() is called with these flags:
May 30 05:38:13 ip-10-7-37-179 /usr/local/sbin/kamailio[62354]: INFO: <script>: 
BRIDGING: TRYING TO BRIDGE udp sip:5555@192.168.1.10:12561;transport=TCP
May 30 05:38:13 ip-10-7-37-179 /usr/local/sbin/kamailio[62354]: INFO: <script>: 
NATMANAGE branch_id:0 ruri: sip:5555@192.168.1.10:12561;transport=TCP, 
method:INVITE, status:<null>, extra_id: z9hG4bKcSBpr6vNyyepe0, 
rtpengine_manage: replace-origin replace-session-connection 
media-address=52.24.225.81 trust-address via-branch=extra
The Yealink phone sends SDP with correct IPs, but it doesn’t receive RTP 
(confirmed via tcpdump).
Interestingly, if I bypass RTPengine + kamilio (media goes directly to/from 
FreeSWITCH), audio works.
 What I’ve Tried:
Enabling/disabling trust-address and via-branch options.
Using set_contact_alias() for REGISTER/NATed clients.
Ensured that Contact header aliasing is applied.
Verified that Yealink NAT settings are configured correctly.
Using force_rport() and fix_nated_register() in Kamailio.
Ensured RTP ports are open and media_address in RTPengine is set correctly.
My Questions:
Is there a known compatibility issue with Yealink phones and RTPengine in 
relayed mode?
Does Yealink require specific NAT handling rules that differ from softphones?
Are there any recommended rtpengine_manage() flags or Kamailio routing 
practices specifically for Yealink endpoints?
Any suggestions to debug further — SIP traces seem clean, but RTP is not 
received by the Yealink.
 Sample Logs (Kamailio):
NATMANAGE branch_id:0 ruri: <null>, method:INVITE, status:100, extra_id: 
z9hG4bK4b1.ffbb20e21cff840bb08800b46398f55b.00, rtpengine_manage: 
replace-origin replace-session-connection media-address=52.24.225.81 
trust-address via-branch=extra
 Yealink SIP Config:
NAT Traversal: Enabled (STUN)
Keep-Alive: 30s
UDP port: 5060
SIP registration: works
Audio: not working when RTPengine is in the path
Any help or suggestions would be greatly appreciated. Let me know if logs or 
traces are needed.
```
-[ RECORD 1 
]-+----------------------------------------------------------------------
id            | 3259
ruid          | uloc-683943f5-f3a0-1
username      | 5555
domain        |
contact       | sip:5555@192.168.1.10:12561;transport=TCP
received      | sip:182.77.49.201:12561;transport=tcp
path          |
expires       | 2025-05-30 05:44:04
q             | -1
callid        | [2_689921921@192.168.1.10](mailto:2_689921921@192.168.1.10)
cseq          | 6
last_modified | 2025-05-30 05:42:04
flags         | 0
cflags        | 64
user_agent    | Yealink SIP-T54W 96.86.0.75
socket        | tcp:10.7.37.179:5060
methods       | 16383
instance      |
reg_id        | 0
server_id     | 0
connection_id | 4
keepalive     | 1
partition     | 28
```
Thanks in advance

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4270
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/4...@github.com>
_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to