WebRTC Inbound to Firefox client does not choose candidate IP for RTP
Original Details from a customer: Firefox browser client does not send or receive RTP when the Firefox client is called party. The Firefox client is behind NAT firewall and is successfully registered to a remote FreeSWITCH server which is also behind a NAT firewall. According to the logs it appears that the candidate IP's are not being properly selected.
I have tested between Chrome and Firefox which provide good result in one direction, but not the other. The results are the same in stable and nightly Firefox.
calling from Firefox to Chrome, all is well, audio and video works, and RTP candidates seem to be chosen correctly. calling from Chrome to Firefox, there's no audio or video, RTP candidates are not chosen (or possibly not offered). calling from Firefox to Firefox, there's no audio or video, RTP candidates are not chosen (or possibly not offered).
I dont know if Freeswitch logs will be of help to you, but here they are... https://pastebin.freeswitch.org/view/c90330a0 <----- Chrome to Firefox call https://pastebin.freeswitch.org/view/c417759f <----- Firefox to Chrome call
Attached are some pictures I hope are of relevance. I will be glad to attach any other information you deem relevant.
joshuafs trɔe
All Replies (5)
The encryption is failing. :line 142-150 Please make sure your freeswitch is up to date and that all the encryption types for you webrtc connection are supported. And please check that the audio and video permissions are enabled. Fix common audio and video issues
Is the log similar here: about:webrtc ? But then again to get you straight to the experts try filing a bug here: https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component...
You should have enought info for a bug ;-)
Hey! I got some more awesome information from drno in the #media channel.
If you don't mind, please record the session connection where Firefox has no audio or video from the built in Firefox webrtc debugger.
- Open about:webrtc in Firefox and get us a copy of that whole page
Let me know if you have any questions! Thank you!
Thanks for the reply. I will look into the about:webrtc and gather that info for a bug.
created a bug here https://bugzilla.mozilla.org/show_bug.cgi?id=1409737
SDP
Local SDP
v=0 o=mozilla...THIS_IS_SDPARTA-58.0a1 1689955516536399505 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 84:0B:DE:81:4F:8A:31:6C:52:31:27:B3:78:16:08:C9:F8:8E:3D:05:7D:41:6F:B9:E1:F7:C1:AE:85:E4:DB:C4 a=ice-options:trickle a=msid-semantic:WMS * m=audio 65446 RTP/SAVPF 0 c=IN IP4 65.15.69.32 a=candidate:0 1 UDP 2122252543 192.168.1.22 65446 typ host a=candidate:2 1 UDP 2122187007 2001:0:9d38:6ab8:4b4:4fff:594e:455c 65447 typ host a=candidate:4 1 TCP 2105524479 192.168.1.22 9 typ host tcptype active a=candidate:5 1 TCP 2105458943 2001:0:9d38:6ab8:4b4:4fff:594e:455c 9 typ host tcptype active a=candidate:1 1 UDP 1686052863 65.15.69.32 65446 typ srflx raddr 192.168.1.22 rport 65446 a=sendrecv a=end-of-candidates a=ice-pwd:602a3780a410e2d668b358d3657584a7 a=ice-ufrag:115c97cd a=msid:{e4e99e7d-d641-4d99-9594-241321267b88} {69b728db-6b11-4e29-b867-348ac5c3c562} a=rtcp-mux a=rtpmap:0 PCMU/8000 a=setup:active a=ssrc:2664792726 cname:{5a19b9f1-96a1-470c-be89-4dbac1c1743a} m=video 65448 RTP/SAVPF 96 c=IN IP4 65.15.69.32 a=candidate:0 1 UDP 2122252543 192.168.1.22 65448 typ host a=candidate:2 1 UDP 2122187007 2001:0:9d38:6ab8:4b4:4fff:594e:455c 65309 typ host a=candidate:4 1 TCP 2105524479 192.168.1.22 9 typ host tcptype active a=candidate:5 1 TCP 2105458943 2001:0:9d38:6ab8:4b4:4fff:594e:455c 9 typ host tcptype active a=candidate:1 1 UDP 1686052863 65.15.69.32 65448 typ srflx raddr 192.168.1.22 rport 65448 a=sendrecv a=end-of-candidates a=fmtp:96 max-fs=12288;max-fr=60 a=ice-pwd:602a3780a410e2d668b358d3657584a7 a=ice-ufrag:115c97cd a=msid:{e4e99e7d-d641-4d99-9594-241321267b88} {640e4020-b450-4d0d-af83-8139b4d21d3c} a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtcp-fb:96 ccm fir a=rtcp-mux a=rtpmap:96 VP8/90000 a=setup:active a=ssrc:2372583972 cname:{5a19b9f1-96a1-470c-be89-4dbac1c1743a} Remote SDP
v=0 o=FreeSWITCH 1508316567 1508316568 IN IP4 65.15.69.32 s=- t=0 0 a=sendrecv a=msid-semantic:WMS eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3k m=audio 16416 RTP/SAVPF 0 c=IN IP4 65.15.69.32 a=candidate:9497013613 1 udp 659136 65.15.69.32 16416 typ host generation 0 a=candidate:9497013613 2 udp 659136 65.15.69.32 16416 typ host generation 0 a=sendrecv a=fingerprint:sha-256 A5:44:80:7A:3C:F0:D1:FD:3C:BD:DE:6E:41:C0:88:27:6C:7E:AA:B9:25:4F:36:20:71:3C:2F:68:BC:B8:D2:64 a=ice-pwd:kppLAKXLlKMdc0O626l8Qo4K a=ice-ufrag:3crpfUd64vlaVfkU a=ptime:20 a=rtcp:16416 IN IP4 65.15.69.32 a=rtcp-mux a=rtpmap:0 PCMU/8000 a=setup:actpass a=ssrc:3924736991 cname:9eeEBkvmlKXa2CnK a=ssrc:3924736991 msid:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3k a0 a=ssrc:3924736991 mslabel:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3k a=ssrc:3924736991 label:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3ka0 m=video 16412 RTP/SAVPF 96 c=IN IP4 65.15.69.32 b=AS:1024 a=candidate:5305911175 1 udp 659136 65.15.69.32 16412 typ host generation 0 a=candidate:5305911175 2 udp 659135 65.15.69.32 16412 typ host generation 0 a=sendrecv a=end-of-candidates a=fingerprint:sha-256 A5:44:80:7A:3C:F0:D1:FD:3C:BD:DE:6E:41:C0:88:27:6C:7E:AA:B9:25:4F:36:20:71:3C:2F:68:BC:B8:D2:64 a=ice-pwd:85AQnD8KiMiJwbcB06Dx3NoG a=ice-ufrag:fY3bH7j0NvmjlEI7 a=rtcp:16412 IN IP4 65.15.69.32 a=rtcp-fb:96 ccm fir a=rtcp-fb:96 ccm tmmbr a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtcp-mux a=rtpmap:96 VP8/90000 a=setup:actpass a=ssrc:3170591475 cname:9eeEBkvmlKXa2CnK a=ssrc:3170591475 msid:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3k v0 a=ssrc:3170591475 mslabel:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3k a=ssrc:3170591475 label:eIl4Fwg0VapKZrPmSBYRvdCY0krpfA3kv0 RTP Stats
outbound_rtcp_video_1
Local: 09:22:21 GMT-0500 (Eastern Standard Time) inbound-rtp SSRC: 2372583972
inbound_rtp_audio_0
Local: 09:23:54 GMT-0400 (Eastern Daylight Time) inbound-rtp SSRC: 0
inbound_rtp_video_1
Local: 09:23:54 GMT-0400 (Eastern Daylight Time) inbound-rtp SSRC: 3170591475
outbound_rtp_video_1
Local: 09:23:54 GMT-0400 (Eastern Daylight Time) outbound-rtp SSRC: 2372583972
Remote: 09:22:21 GMT-0500 (Eastern Standard Time) inbound-rtp SSRC: 2372583972
outbound_rtp_audio_0
Local: 09:23:54 GMT-0400 (Eastern Daylight Time) outbound-rtp SSRC: 2664792726
Connection Log
(ice/ERR) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) specified too many components
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) specified bogus candidate
(ice/ERR) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) specified too many components
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) specified bogus candidate
(ice/INFO) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:173 function nr_socket_multi_tcp_create_stun_server_socket skipping UDP STUN server(addr:)
(ice/WARNING) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:617 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): failed to create passive TCP host candidate: 3
(ice/INFO) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:173 function nr_socket_multi_tcp_create_stun_server_socket skipping UDP STUN server(addr:)
(ice/WARNING) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:617 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): failed to create passive TCP host candidate: 3
(ice/INFO) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:173 function nr_socket_multi_tcp_create_stun_server_socket skipping UDP STUN server(addr:)
(ice/WARNING) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:617 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): failed to create passive TCP host candidate: 3
(ice/INFO) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:173 function nr_socket_multi_tcp_create_stun_server_socket skipping UDP STUN server(addr:)
(ice/WARNING) z:/build/build/src/media/mtransport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:617 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): failed to create passive TCP host candidate: 3
(ice/NOTICE) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) no streams with non-empty check lists
(ice/NOTICE) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) no streams with pre-answer requests
(ice/NOTICE) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) no streams with pre-answer requests
(ice/NOTICE) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) no checks to start
(ice/ERR) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) pairing local trickle ICE candidate host(IP4:192.168.1.22:65446/UDP)
(ice/INFO) ICE-PEER(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default)/CAND-PAIR(Qy7z): setting pair to state FROZEN: Qy7z|IP4:192.168.1.22:65446/UDP|IP4:65.15.69.32:16416/UDP(host(IP4:192.168.1.22:65446/UDP)|candidate:9497013613 1 udp 659136 65.15.69.32 16416 typ host generation 0)
(ice/INFO) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall))/CAND-PAIR(Qy7z): Pairing candidate IP4:192.168.1.22:65446/UDP (7e7f00ff):IP4:65.15.69.32:16416/UDP (a0ec0) priority=2830971808121342 (a0ec0fcfe01fe)
(ice/INFO) ICE-PEER(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default)/ICE-STREAM(0-1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall) aLevel=0): Starting check timer for stream.
(ice/INFO) ICE-PEER(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default)/CAND-PAIR(Qy7z): setting pair to state WAITING: Qy7z|IP4:192.168.1.22:65446/UDP|IP4:65.15.69.32:16416/UDP(host(IP4:192.168.1.22:65446/UDP)|candidate:9497013613 1 udp 659136 65.15.69.32 16416 typ host generation 0)
(ice/INFO) ICE-PEER(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default)/CAND-PAIR(Qy7z): setting pair to state IN_PROGRESS: Qy7z|IP4:192.168.1.22:65446/UDP|IP4:65.15.69.32:16416/UDP(host(IP4:192.168.1.22:65446/UDP)|candidate:9497013613 1 udp 659136 65.15.69.32 16416 typ host generation 0)
(ice/NOTICE) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) is now checking
(ice/ERR) ICE(PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall)): peer (PC:1508332985167000 (id=4294967303 url=https://192.168.1.113/vc/#/incall):default) pairing local trickle ICE candidate host(IP6:[2001