Can you record PCAP on Kamailio and RTPengine nodes for the same test call. When we can see network packets to/from the caller and the callee, it will be much easy to define what need to check.
On Fri, May 30, 2025 at 11:41 AM jaspreet-eltropy via sr-dev < sr-dev@lists.kamailio.org> wrote: > *jaspreet-eltropy* created an issue (kamailio/kamailio#4270) > <https://github.com/kamailio/kamailio/issues/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:, 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: , 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, view it on GitHub > <https://github.com/kamailio/kamailio/issues/4270>, or unsubscribe > <https://github.com/notifications/unsubscribe-auth/ABO7UZOMLP4IK7W6EKFJ5OT3BAJK7AVCNFSM6AAAAAB6HPHDSWVHI2DSMVQWIX3LMV43ASLTON2WKOZTGEYDENBYGE2DSNI> > . > 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! >
_______________________________________________ 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!