android webrt c sdk не может собрать адрес реле - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в webrt c, и когда я пытаюсь использовать webrt c sdk для подключения моего сервера Coturn (который хорошо протестирован в https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/), я не могу собрать адрес реле. Вот подробности.

моя версия SDK: implementation 'org.webrtc:google-webrtc:1.0.30039'

Способ, которым я настраиваюсь для подключения моего Coturn, выглядит следующим образом:

List<PeerConnection.IceServer> iceServers = new ArrayList<>();
// Both turn and stun are working fine
iceServers.add(new PeerConnection.IceServer("turn:103.xxx.xxx.xxx:3478", "xxxx", "xxxx")); 
iceServers.add(new PeerConnection.IceServer("stun:103.xxx.xxx.xxx:3478"));

PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(iceServers);
rtcConfig.iceTransportsType = PeerConnection.IceTransportsType.ALL;

PCObserver pcObserver = new PCObserver();
SDPObserver sdpObserver = new SDPObserver();
PeerConnection peerConnection = factory.createPeerConnection(rtcConfig, pcConstraints, 
pcObserver);

Я установил некоторый перерыв указывает на метод onIceCandidate и обнаруживает, что информация о кандидатах не относится к адресу ретрансляции:

 candidate:817341713 1 udp 2122194687 xx.xxx.xxx.xxx 36188 typ host generation 0 ufrag Hq0a network-id 3 network-cost 900
candidate:817341713 1 udp 2122194687 xx.xxx.xxx.xxx 43524 typ host generation 0 ufrag Hq0a network-id 3 network-cost 900
candidate:842163049 1 udp 1685987071 xx.xxx.xxx.xxx 49879 typ srflx raddr 10.147.137.47 rport 36188 generation 0 ufrag Hq0a network-id 3 network-cost 900
candidate:842163049 1 udp 1685987071 xx.xxx.xxx.xxx 49880 typ srflx raddr 10.147.137.47 rport 43524 generation 0 ufrag Hq0a network-id 3 network-cost 900
candidate:842163049 1 udp 1685987071 xx.xxx.xxx.xxx 49880 typ srflx raddr 10.147.137.47 rport 43524 generation 0 ufrag Hq0a network-id 3 network-cost 900

Когда я переключаю PeerConnection.IceTransportsType.ALL на PeerConnection.IceTransportsType.RELAY, ни один адрес не может быть получен.

потому что оглушение не работает нормально для android sdk, я хочу знать, почему это происходит и как я могу это решить.

В любом случае, Ice работает нормально в android браузере (h5), любая внешняя информация может быть предоставлена ​​в случае необходимости.

Любая помощь будет оценена, Спасибо и простите мой бедный Engli sh.

...