Hello,
My freeswitch's INVITE sdp offers two m=audio lines.
(RTP/SAVP and RTP/AVP).
That's OK, because I want it so ;)
But both use the same audio port number.
Is that possible to change this behavior ? To use
different audio port numbers for each m=audio line ...
Please check my example below. In SDP from my
freeswitch, both m-lines have m=audio 22284.
The reason, why I want to change this is WebRTC and
RTPengine. RTPengine changes this INVITEs to RTP/SAVPF.
And the changed RTP/SAVPF is then not acceptable for
chrome browsers. Firefox works well (so far).
I already reported this to the RTPengine but they say
the problem is with INVITE from freeswitch because the
m-audio lines use the same port.
My example :
incoming calls -> Media Server (freeswitch) ->
Kamailio (sip and websocket proxy) -> WebRTP and SIP
clients
I have found a feature media_webrtc=true
so I could avoid using rtpengine for webrtc clients
(that would be really awesome), but then classic sip
clients are offered only with RTP/SAVPF and most sip
phones do not know RTP/SAVPF so the calls are rejected
:(
INVITE SDP from freeswitch:
v=0.
o=SBC 1464589775 1464589776 IN IP4
<freeswitch-public-ip>.
s=SBC.
c=IN IP4 <freeswitch-public-ip>.
t=0 0.
m=audio 22284 RTP/SAVP 8 0 9 3 18.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:9 G722/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:18 G729/8000.
a=rtcp:22285 IN IP4 <freeswitch-public-ip>.
a=crypto:1 AEAD_AES_256_GCM_8
inline:Q/O+iUzZ9AZLcrADA7w/XcpkmuW6yArr1vsaWc0coTyWUIRLX2qfCA7XDAs.
a=crypto:2 AEAD_AES_128_GCM_8
inline:mBb/SmBuSQNSm8lC5giUfZMCv0ZYINvsQiX2sw.
a=crypto:3 AES_CM_256_HMAC_SHA1_80
inline:ahOTNSsdmHLIOBqvUyGyNjd+gDfAE/+jA6w7XwzGWxBMjtzf5akXNvM/OGy0jQ.
a=crypto:4 AES_CM_192_HMAC_SHA1_80
inline:k7002pXV/SUT7JHhZTYaMV5keUTp1EP57M4rcNZnAoZZzsceTXA.
a=crypto:5 AES_CM_128_HMAC_SHA1_80
inline:bHcV4E/OnzMkNeaFplPWt4RELILYZeGlifnJNlRV.
a=crypto:6 AES_CM_256_HMAC_SHA1_32
inline:zJkowU1tc5rQR5BPpg2m3eE97ZqXLFFJc1Agh89XuZynPFMrXhO266+eMZCd2A.
a=crypto:7 AES_CM_192_HMAC_SHA1_32
inline:2DwGI3UAPsLFBS5sJBsc+pzEsITQwDHCvB0u7pK/XEE3G8swsrw.
a=crypto:8 AES_CM_128_HMAC_SHA1_32
inline:Jen6Gm56Z+4RTRmfpXTpSpoG5bduyythl1j21a15.
a=crypto:9 AES_CM_128_NULL_AUTH
inline:Nn83liGQY7eY8LGs9qz/7EoPiHOpRgwY8H7Ts/b5.
a=ptime:20.
m=audio 22284 RTP/AVP 8 0 9 3 18.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:9 G722/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:18 G729/8000.
a=rtcp:22285 IN IP4 <freeswitch-public-ip>.
a=ptime:20.
INVITE SDP from RTPengine :
v=0
o=SBC 1464589775 1464589776 IN IP4 212.232.17.66
s=SBC
c=IN IP4 <rtpengine-public-ip>
t=0 0
m=audio 31836 RTP/SAVPF 8 0 9 3 18
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:18 G729/8000
a=ptime:20
a=sendrecv
a=rtcp:31837
a=setup:actpass
a=fingerprint:sha-1
11:76:2D:2A:F7:0D:5A:23:9D:F6:0C:E7:4C:DF:1E:CB:BF:5D:76:4F
a=ice-ufrag:NauDcjVU
a=ice-pwd:AiHk6LF4tE0GElyFMWtLeod1wH
a=candidate:cE0FGbXWIfwj6OGD 1 UDP 2130706431
<rtpengine-public-ip> 31836 typ host
a=candidate:cE0FGbXWIfwj6OGD 2 UDP 2130706430
<rtpengine-public-ip> 31837 typ host
m=audio 31866 RTP/SAVPF 8 0 9 3 18
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:18 G729/8000
a=ptime:20
a=sendrecv
a=rtcp:31867
a=setup:actpass
a=fingerprint:sha-1
11:76:2D:2A:F7:0D:5A:23:9D:F6:0C:E7:4C:DF:1E:CB:BF:5D:76:4F
a=ice-ufrag:YxCyPhQV
a=ice-pwd:2vYt8YaMhIp2DSLPeYOKDqqBX0
a=candidate:cE0FGbXWIfwj6OGD 1 UDP 2130706431
<rtpengine-public-ip> 31866 typ host
a=candidate:cE0FGbXWIfwj6OGD 2 UDP 2130706430
<rtpengine-public-ip> 31867 typ host