非常感谢您在此问题上的帮助。不知道如何继续。
[尝试制作webRTC应用。信令服务器是Node.js上的WebSocket。由于某种原因无法与手机建立连接。使用-或-尝试使用coturn。我不确定问题出在客户端,还是服务器端@ coturn中继服务器。
在我的情况下,呼叫者是位于稳压器路由器后面的PC,被呼叫者是移动电话,转弯和Websocket是公开的。
///CLIENTS BOTH CALLER and CALLEE
async function createPeerConnection() {
log("Setting up a connection...");
const iceConfig = {
"iceServers": [{
"urls": "stun:mycoturn.online:5349",
"username": "guest",
"credential": "password"
}
,{
"urls": "turn:mycoturn.online:5349",
"username": "guest",
"credential": "password"
}]
}
myPeerConnection = new RTCPeerConnection(
// {
// iceServers: [
// {
// urls: "stun:stun1.l.google.com:19302",
// username: "",
// credential: ""
// }
// ]
// }
iceConfig
);
myPeerConnection.onicecandidate = handleICECandidateEvent;
myPeerConnection.oniceconnectionstatechange = handleICEConnectionStateChangeEvent;
myPeerConnection.onicegatheringstatechange = handleICEGatheringStateChangeEvent;
myPeerConnection.onsignalingstatechange = handleSignalingStateChangeEvent;
myPeerConnection.onnegotiationneeded = handleNegotiationNeededEvent;
myPeerConnection.ontrack = handleTrackEvent;
}
[... Some code]
function handleICECandidateEvent(event) {
// if (event.candidate) {
log("*** Outgoing ICE candidate: ");
sendToServer({
type: "new-ice-candidate",
target: targetId,
candidate: event.candidate,
id: clientID
});
// }
}
async function handleNewICECandidateMsg(msg) {
var candidate = msg.candidate;
log("*** Adding received ICE candidate: " + JSON.stringify(candidate));
try {
await myPeerConnection.addIceCandidate(candidate)
} catch(err) {
reportError(err);
}
}
最后一次从主叫方和被叫方发送的候选者为null(候选者:null),并且两者都由addIceCandidate(candidate)
相加
[被叫方获得候选事件“ candidate:null”后,被叫方获得“ handleICEConnectionStateChangeEvent:失败”最终我在控制台中收到此错误消息:
ICE失败,您的TURN服务器似乎已损坏,有关更多详细信息,请参阅about:webrtc
这是我通过公共google stun服务器以及我的同班转身眩晕/转身收到的最终且唯一的错误消息。
我应该提供哪些有意义的信息?我应该在哪里搜索错误?真的不知道。
非常感谢干杯
第一件事。
您必须检查您的转弯服务器(coTURN)是否运行良好。
进行检查,请转到Trickle ICE。
删除默认的Google stun服务器,并添加您的转弯服务器信息。
在ICE选项部分选择中继选项。
如果您可以找到具有“ rtp中继”组件类型的候选人,则您的转弯服务器运行良好。
因此,如果没有候选人,则必须修理您的转向服务器。
如果不是,则必须修复您的信令服务器或客户端。