Gitの問題を読んだ後、sipjs 0.7xからsipjs 0.11に移行しています https://github.com/onsip/SIP.js/pull/426#issuecomment-312065734 および https://sipjs.com/api/0.8.0 /sessionDescriptionHandler/
氷のオプション (coturn、turn、stun) がユーザー エージェントになくなっていることがわかりましたが、問題は、setDescription(sessionDescription, options, modifiers) をどこで使用すればよいかよくわからないことです。
options.peerConnectionOptions.rtcConfiguration.iceServers を使用して、氷がオプションに設定されていることを確認しました。
以下は私が試したものです
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 サーバーに送られていないようです。Trickle Ice " https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ " をテストに使用しましたが、問題はありませんが、coturn サーバーを通過するトラフィックがないことがわかりました。これを使用することもできますが、気にしません。
setDescription(sessionDescription, options, modifiers) の使用方法を示すデモは、公式 Web サイトにもありません。この場合、私はいくつかの推奨事項を尋ねることができますか?