Aleksandr Sechkarev
unread,Dec 15, 2025, 8:08:31 AM (5 days ago) Dec 15Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Sipwise rtpengine
Hello,
The problem is that there are some SIP clients (Mac telephone, Zoiper, Microsip 3.20) that, if they are received 2 telephone-events in SDP for OPUS and for the 711 codec, select the wrong one in SDP and cannot use DTMF afterwards. The following flags are used when calling rtpengine_offer: rtcp-mux-demux DTLS=off SDES-off ICE=remove RTP/AVP replace-origin codec-transcode-opus codec-transcode-PCMA codec-transcode-telephone-event, so telephone-event/48000 is always added.
Question: is there any way to solve this with the correct rtpengine flags, or just get rid of buggy clients?
Examples:
SDP in INVITE to the client:
m=audio 11492 RTP/AVP 8 96 97 101
c=IN IP4 Y.Y.Y.Y
a=rtpmap:8 PCMA/8000
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:97 telephone-event/48000
a=fmtp:97 0-15
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=sendrecv
a=rtcp:11493
a=ptime:20
a=maxptime:140
Client's answer:
c=IN IP4 X.X.X.X
t=0 0
m=audio 58085 RTP/AVP 8 0 97
a=rtpmap:97 telephone-event/8000
a=fmtp:97 0-16
a=sendrecv
a=rtcp-mux
And result SDP after rtpengine process answer - it goes without telephone-event because SIP-client used wrong dtmf, 97 instead 101:
m=audio 11874 RTP/AVP 8
c=IN IP4 X.X.X.X
a=rtpmap:8 PCMA/8000
a=sendrecv
a=rtcp:11875
a=ptime:20