1 year ago

#132025

test-img

Ties

WebRTC connection not selecting ICE candidate pair depending on order

I'm trying to establish a WebRTC connection between user A (on WiFi) and user B (on phone hotspot). The connection is successful if user B sends an offer to user A, but fails when user A sends an offer to user B.

In chrome://webrtc-internals I can see that if user B sends the offer, an ICE candidate pair is selected using the external IP for user A, and a TURN server relay for user B. The connection works properly.

If user A sends the offer, I can see the same type of ICE candidates (host, srflx & relay) but no candidate pair is selected, and the iCE connection state changes to disconnected after about 15 seconds.

The only difference in the available ICE candidate pairs that I could see was that the order of the ICE candidates is different depending on what user sends the offer, but this should not have no effect on what candidate pair is selected right?.

Some screenshots of chrome://webrtc-internals (screenshots all taken on user B's end)

Successful connection: (user B sent the offer):

Screenshot of WebRTC log, showing offer, answer & ICE candidates being exchanged Screenshot of Stats Tables section, showing selected iCE candidate pair

Failed connection: (user A sent the offer):

Screenshot of WebRTC log, showing offer, answer & ICE candidates being exchanged but connection failing Screenshot of Stats Tables section, showing different iCE candidate pairs, but non selected.

This is a follow up to my previous question, but since I have a (slightly) better idea of what is going on, I thought it better to ask a new question rather that keep updating the old one.

javascript

webrtc

ice

rtcpeerconnection

0 Answers

Your Answer

Accepted video resources