Я использую последнюю версию libjingle и пытаюсь установить связь с webrt c между двумя устройствами. Когда вы выступаете в роли инициатора, кандидаты на льды генерируются после создания предложения, но когда вы выступаете в роли получателя и получаете предложение, создаваете ответ и задаете локальное описание, кандидаты на льды как-то еще не генерируются.
Может ли кто-нибудь любезно помочь мне, что могло пойти не так в этом? Заранее большое спасибо.
Ниже приведен код для создания ответа и настройки локального описания. Ответ не отправляется обратно, потому что ледовые кандидаты никогда не генерируются.
this.pc.createAnswer(new SdpObserver() {
@Override
public void onCreateSuccess(SessionDescription sessionDescription) {
Log.d("ctr", "Create success create answer "+sessionDescription.description);
String description = sessionDescription.description;
if(!trickle && !allowHalfTrickle) {
description = description.replace("/a=ice-options:trickle\\s\\n/g", "");
}
SessionDescription sdp = new SessionDescription(sessionDescription.type, description);
String finalDescription = description;
pc.setLocalDescription(new SdpObserver() {
@Override
public void onCreateSuccess(SessionDescription sessionDescription) {
Log.d("ctr", "Create answer create success");
}
@Override
public void onSetSuccess() {
Log.d("ctr", "Create answer set description success "+ finalDescription + " " + destroyed + " " +trickle + " " + _iceComplete);
if(destroyed) {
return;
}
if(trickle || _iceComplete){
sendAnswer();
}
sendanswerbool = true;
}
@Override
public void onCreateFailure(String s) {
Log.d("ctr", "Create answer create failure");
}
@Override
public void onSetFailure(String s) {
Log.d("ctr", "Create answer set failure");
}
}, sdp);
}
@Override
public void onSetSuccess() {
Log.d("ctr", "Create answer set success ");
}
@Override
public void onCreateFailure(String s) {
Log.d("ctr", "Create failure create answer "+s);
}
@Override
public void onSetFailure(String s) {
Log.d("ctr", "Set failure create answer "+s);
}
}, pcConstraints);
Ниже приводится описание сеанса, которое я получаю в onSetSuccess после вызова setLocalDescription.
v=0
o=- 3247708487458601859 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=application 0 UDP/DTLS/SCTP 5000
c=IN IP4 0.0.0.0
a=mid:0
a=sctpmap:5000 webrtc-datachannel 1024