[Freeswitch-users] SDP with double m=audio lines and with the same port

Michael Jerris mike at jerris.com
Tue May 31 20:28:54 MSD 2016


Its all software, anything is possible with enough code modification.  We don't have a setting to do those things right now, as it doesn't make any sense when there are trivially easy ways to accomplish the same goal without writing any more code.


> On May 31, 2016, at 12:07 PM, Ján Füri <furi at vmtele.com> wrote:
> 
> 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.
>> 
>> 
>>> On May 30, 2016, at 9:14 AM, Ján Füri < <mailto:furi at vmtele.com>furi at vmtele.com <mailto:furi at vmtele.com>> wrote:
>>> 
>>> 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
>>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160531/0feed7a0/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list