Thank you Michael,
I understand, so isn't it possible to have SDP with m=audio lines
SAVPF, SAVP and AVP all together ?
Because I set media_webrtc=true, AVP and SAVP lines are replaced
with SAVPF.
If I had all three m=audio proto lines I was able to manage it with
Kamailio.
And back to my first question, is that possible to set different
ports for m=audio lines in SDP ?
Jan
On 31.05.2016 17:16, Michael Jerris
wrote:
If you don't use some other engine to handle webrtc, then if you
are calling something that is registered to you over websockets it
will automatically enable media_webrtc for you. Otherwise you'll
need some external way of knowing if the endpoint is webrtc or not
so you can apply the settings properly.
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