Где должно быть место для катания или установки льда для sipjs 0.11.0? - PullRequest
0 голосов
/ 19 ноября 2018

Я перехожу с sipjs 0.7x на sipjs 0.11 После прочтения вопроса Git https://github.com/onsip/SIP.js/pull/426#issuecomment-312065734 а также https://sipjs.com/api/0.8.0/sessionDescriptionHandler/

Я обнаружил, что параметры льда (coturn, turn, stun) больше не находятся в User Agent, но проблема в том, что я не совсем понимаю, где я должен использовать setDescription (sessionDescription, опции, модификаторы)

Я видел, что лед задается в настройках, используя 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, параметры, модификаторы). В этом случае я могу попросить несколько рекомендаций?

1 Ответ

0 голосов
/ 19 ноября 2018

Я нашел решение, оно не должно быть ни в session.invite, ни в session.on.trackAdded.

...