在阅读了Git问题https://github.com/onsip/SIP.js/pull/426#issuecomment-312065734和https://sipjs.com/api/0.8.0/sessionDescriptionHandler/之后,我正在从SIPJS0.7x转移到SIPJS0.11
我发现ice选项(coturn,turn,stun)已经不在用户代理中了,但问题是我不太明白我应该在哪里使用setDescription(sessionDescription,选项,修饰符)
我已经看到,ice是使用options.peerConnectionOptions.rtcConfiguration.iceServers在options中设置的
下面是我已经尝试过的
session.on('trackAdded', function () {
// We need to check the peer connection to determine which track was added
var modifierArray = [
SIP.WebRTC.Modifiers.stripTcpCandidates,
SIP.WebRTC.Modifiers.stripG722,
SIP.WebRTC.Modifiers.stripTelephoneEvent
];
var options = {
peerConnectionOptions:{
rtcConfiguration:{
iceServers : {
[{urls: 'turn:35.227.67.199:3478',
username: 'leon',
credential: 'leon_pass'}]
}
}
}
}
session.setDescription('trackAdded', options,modifierArray);
var pc = session.sessionDescriptionHandler.peerConnection;
// Gets remote tracks
var remoteStream = new MediaStream();
pc.getReceivers().forEach(function (receiver) {
remoteStream.addTrack(receiver.track);
});
remoteAudio.srcObject = remoteStream;
remoteAudio.play();
// Gets local tracks
// var localStream = new MediaStream();
// pc.getSenders().forEach(function(sender) {
// localStream.addTrack(sender.track);
// });
// localVideo.srcObject = localStream;
// localVideo.play();
});
}我已经尝试过了,似乎流量不会去往coturn服务器。我已经使用滴流冰"https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/“进行了测试,它很好,但我发现没有流量通过coturn服务器。你也可以用这个,我不介意。
在这种情况下,我可以问一些建议吗?
发布于 2020-12-22 05:37:36
在传递给新UserAgent的参数中配置STUN/TURN服务器。以下是示例,它似乎在v0.17.1上工作:
const userAgentOptions = {
...
sessionDescriptionHandlerFactoryOptions: {
peerConnectionConfiguration: {
iceServers: [{
urls: "stun:stun.l.google.com:19302"
}, {
urls: "turn:TURN_SERVER_HOST:PORT",
username: "USERNAME",
credential: "PASSWORD"
}]
},
},
...
};
const userAgent = new SIP.UserAgent(userAgentOptions);当使用SimpleUser时-在SimpleUserOptions内部传递:
const simpleUser = new Web.SimpleUser(url, { userAgentOptions })https://stackoverflow.com/questions/53366398
复制相似问题