[Freeswitch-users] RFC 1918 (private) IPs not accepted in SDP?

Thomas lists at virtues.net
Tue Sep 15 00:35:18 MSD 2015


Hello list,

testing some things on a LAN, I noticed Chrome and FS having problems establishing a direct LAN connection. Without any 
ICE servers and the SDP being limited to the host address, FS rejects what looks like a perfectly fine SDP with a codec 
negotiation error.

When TURN servers are available, Chrome already puts a TURN server's IP into the c= line. Other than that, there are 
just additional relay ice candidates. FS will choose the TURN server in the c= line first, but later "auto change" to 
the LAN address.

I could not find any other differences between the two SDPs. I've added some delay and checked listening ports to make 
sure this isn't a timing issue on Chrome's end: It does listen on the ports it announced ...

Is there a configuration option, which could cause this? I can't quite believe this being a bug, because a lot of people 
should have noticed ...

Thanks,

Thomas


P.S.:

Log snippet of rejected call:

2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:3260 Save audio Candidate cid: 1 proto: udp type: host addr: 
192.168.1.113:50602
2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:3260 Save audio Candidate cid: 2 proto: udp type: host addr: 
192.168.1.113:50603
2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:3300 Searching for rtp candidate.
2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:3300 Searching for rtcp candidate.
2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:3344 sofia/internal/tauge at sip.abc.com no suitable candidates found.
2015-09-14 16:12:54.962238 [DEBUG] switch_core_media.c:4427 Set 2833 dtmf send/recv payload to 126
2015-09-14 16:12:54.962238 [ERR] mod_sofia.c:2284 CODEC NEGOTIATION ERROR.  SDP:


Broken SDP:

v=0
o=ABC-WEB-2.0 6876809645794559979 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS ec8f8f88-2e4f-4cbc-9c38-f51d6e6850d8
m=audio 64149 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 126
c=IN IP4 192.168.1.113
a=rtcp:64150 IN IP4 192.168.1.113
a=candidate:2624638470 1 udp 2122260223 192.168.1.113 64149 typ host generation 0
a=candidate:2624638470 2 udp 2122260222 192.168.1.113 64150 typ host generation 0
a=candidate:3539153654 1 tcp 1518280447 192.168.1.113 0 typ host tcptype active generation 0
a=candidate:3539153654 2 tcp 1518280446 192.168.1.113 0 typ host tcptype active generation 0
a=ice-ufrag:BOWdiCKMBJ5j5dcx
a=ice-pwd:zn1o5HVNk8ZjbFUlouk2bT3O
a=fingerprint:sha-256 9C:A5:CB:27:A8:B1:3D:4D:41:1A:F5:2A:B7:60:B9:06:6B:A3:A4:8F:5A:F6:AD:1D:50:28:E5:AE:28:70:28:AD
a=setup:actpass
a=mid:audio
b=AS:96
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; usedtx=0; maxplaybackrate=48000; sprop-maxcapturerate=48000; maxaveragebitrate=64000; 
sprop-stereo=0; stereo=0
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:1980631361 cname:3nFhXh/3h3cqLn4p
a=ssrc:1980631361 msid:ec8f8f88-2e4f-4cbc-9c38-f51d6e6850d8 f63ca3d0-1e11-43ec-8bba-e3cf9beb55c2
a=ssrc:1980631361 mslabel:ec8f8f88-2e4f-4cbc-9c38-f51d6e6850d8
a=ssrc:1980631361 label:f63ca3d0-1e11-43ec-8bba-e3cf9beb55c2


Working SDP:

v=0
o=ABC-WEB-2.0 8443069933158526980 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS 5aa672c6-f6ac-49ee-a7fa-758e85f1d569
m=audio 54843 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 126
c=IN IP4 184.173.227.184
a=rtcp:50649 IN IP4 184.173.227.184
a=candidate:2624638470 1 udp 2122260223 192.168.1.113 57019 typ host generation 0
a=candidate:2624638470 2 udp 2122260222 192.168.1.113 57020 typ host generation 0
a=candidate:3539153654 1 tcp 1518280447 192.168.1.113 0 typ host tcptype active generation 0
a=candidate:3539153654 2 tcp 1518280446 192.168.1.113 0 typ host tcptype active generation 0
a=candidate:2388703359 1 udp 25108223 184.173.227.184 54843 typ relay raddr 200.86.231.43 rport 2480 generation 0
a=candidate:2388703359 2 udp 25108222 184.173.227.184 50649 typ relay raddr 200.86.231.43 rport 2483 generation 0
a=candidate:296579010 1 udp 25108223 46.37.165.198 51332 typ relay raddr 200.86.231.43 rport 2486 generation 0
a=candidate:296579010 2 udp 25108222 46.37.165.198 61376 typ relay raddr 200.86.231.43 rport 2489 generation 0
a=candidate:296579010 1 udp 8331007 46.37.165.198 63945 typ relay raddr 200.86.231.43 rport 2485 generation 0
a=candidate:296579010 1 udp 8331007 46.37.165.198 64219 typ relay raddr 200.86.231.43 rport 2484 generation 0
a=candidate:296579010 2 udp 8331006 46.37.165.198 52149 typ relay raddr 200.86.231.43 rport 2488 generation 0
a=candidate:296579010 2 udp 8331006 46.37.165.198 61407 typ relay raddr 200.86.231.43 rport 2487 generation 0
a=ice-ufrag:6aKotQHXO+YIa4SB
a=ice-pwd:x26eZydsmKS3CujQnJt+yagB
a=fingerprint:sha-256 9C:A5:CB:27:A8:B1:3D:4D:41:1A:F5:2A:B7:60:B9:06:6B:A3:A4:8F:5A:F6:AD:1D:50:28:E5:AE:28:70:28:AD
a=setup:actpass
a=mid:audio
b=AS:96
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; usedtx=0; maxplaybackrate=48000; sprop-maxcapturerate=48000; maxaveragebitrate=64000; 
sprop-stereo=0; stereo=0
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:3496827522 cname:useDs2Io3ldUsLU6
a=ssrc:3496827522 msid:5aa672c6-f6ac-49ee-a7fa-758e85f1d569 687fb926-afe8-433f-8b82-793d1e6f2f2a
a=ssrc:3496827522 mslabel:5aa672c6-f6ac-49ee-a7fa-758e85f1d569
a=ssrc:3496827522 label:687fb926-afe8-433f-8b82-793d1e6f2f2a




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