首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sipjs 0.11.0的coturn或ice设置位置应该在哪里?

sipjs 0.11.0的coturn或ice设置位置应该在哪里?
EN

Stack Overflow用户
提问于 2018-11-19 07:16:42
回答 1查看 730关注 0票数 0

在阅读了Git问题https://github.com/onsip/SIP.js/pull/426#issuecomment-312065734https://sipjs.com/api/0.8.0/sessionDescriptionHandler/之后,我正在从SIPJS0.7x转移到SIPJS0.11

我发现ice选项(coturn,turn,stun)已经不在用户代理中了,但问题是我不太明白我应该在哪里使用setDescription(sessionDescription,选项,修饰符)

我已经看到,ice是使用options.peerConnectionOptions.rtcConfiguration.iceServers在options中设置的

下面是我已经尝试过的

代码语言:javascript
复制
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服务器。你也可以用这个,我不介意。

在这种情况下,我可以问一些建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-22 05:37:36

在传递给新UserAgent的参数中配置STUN/TURN服务器。以下是示例,它似乎在v0.17.1上工作:

代码语言:javascript
复制
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内部传递:

代码语言:javascript
复制
const simpleUser = new Web.SimpleUser(url, { userAgentOptions })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53366398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档