Jquery JsSIP实现

Jquery JsSIP实现,jquery,websocket,webrtc,jssip,Jquery,Websocket,Webrtc,Jssip,我在一家电信公司工作。我们想用JsSIP库开发一个SIP电话。但我们做不到。我们为测试创建一个基本表单,如下所示: var socket = new JsSIP.WebSocketInterface('*****'); var configuration = { sockets : [ socket ], uri : '*****', password : '*****' }; var ua = new JsSIP.UA(configuration); ua.star

我在一家电信公司工作。我们想用JsSIP库开发一个SIP电话。但我们做不到。我们为测试创建一个基本表单,如下所示:

var socket = new JsSIP.WebSocketInterface('*****');
var configuration = {
  sockets  : [ socket ],
  uri      : '*****',
  password : '*****'
};

var ua = new JsSIP.UA(configuration);

ua.start();

// Register callbacks to desired call events
var eventHandlers = {
  'progress': function(e) {
    console.log('call is in progress');
  },
  'failed': function(e) {
    console.log('call failed with cause: '+ e.data.cause);
  },
  'ended': function(e) {
    console.log('call ended with cause: '+ e.data.cause);
  },
  'confirmed': function(e) {
    console.log('call confirmed');
  }
};

var options = {
  'eventHandlers'    : eventHandlers,
  'mediaConstraints' : { 'audio': true, 'video': true }
};

var session = ua.call('680', options);

以上代码正在运行。我们可以在任何地方呼叫,但呼叫用户的声音不会传到我们这里。我该怎么做?我们必须做什么?有人有这个项目的示例代码吗

如果呼叫正在建立,但没有音频路径,则调用方/被调用方的SDP端点可能彼此无法访问

在这种情况下,呼叫将以“RTP超时”的原因断开

以下是一些提示:

  • 通过运行JSSIP.debug.enable('JSSIP:'),打开JSSIP控制台调试

  • 重新加载页面

  • 拨打电话,查看浏览器上的控制台日志以了解更多详细信息

  • 更多信息:

    如果您看到错误的SDP IP地址集传出或传入,则ICE候选地址不正确或顺序不正确

    在这种情况下,需要调整眩晕和其他配置设置。


    另外,请参阅jssip演示页面,查看源代码,并查看附加配置的应用情况

    如果您正在寻找示例代码,请随时查看(一个帮助将JsSIP嵌入React应用程序的包)的实现。特别是,即使不使用React,您也可能会发现它很有用

    也许,您听不到用户声音的原因是您的页面上没有连接到JsSIP实例的HTML5
    DOM元素

    以下是您应该添加的大致内容:




    我一直在做同样的事情

    我试图在nodejs中运行此代码。在测试环境中使用本地pbx设置

    每次我浏览我的端点时,它都会给我一个未定义的错误窗口。 我的目标是用我的100分机达到分机1000

    请检查下面的代码

    app.get('/api/sip/outbound' , (req, res) => {
    
        var socket = new JsSIP.WebSocketInterface('wss://10.110.3.230:7443');
    
        var configuration = {
          sockets  : [ socket ],
          uri      : 'sip:100@10.110.3.230',
          password : '100'
        };
    
        var ua = new JsSIP.UA(configuration);
    
        ua.start();
    
        // Register callbacks to desired call events
        var eventHandlers = {
          'progress': function(e) {
            console.log('call is in progress');
          },
          'failed': function(e) {
            console.log('call failed with cause: '+ e.data.cause);
          },
          'ended': function(e) {
            console.log('call ended with cause: '+ e.data.cause);
          },
          'confirmed': function(e) {
            console.log('call confirmed');
          }
        };
    
        var options = {
          'eventHandlers'    : eventHandlers,
          'mediaConstraints' : { 'audio': true, 'video': true }
        };
    
        var session = ua.call('1000', options);
    
    
    })
    
    下埃罗

    at RTCSession.connect (/home/local-dev/Projects/PBX/mobile_pbx/api/node_modules/jssip/lib-es5/RTCSession.js:269:7)
    at UA.call (/home/local-dev/Projects/PBX/mobile_pbx/api/node_modules/jssip/lib-es5/UA.js:241:15)
    at /home/local-dev/Projects/PBX/mobile_pbx/api/app.js:50:22
    at Layer.handle [as handle_request] (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/layer.js:95:5)
    at /home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:335:12)
    at next (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:275:10)
    
    // when no longer need to make calls (e.g. on user logout)
    delete remoteAudio;
    
    session.connection.addEventListener('addstream',function(e) {  // Or addtrack
            remoteAudio.srcObject = e.stream;
            remoteAudio.play();
    
         });
    
    app.get('/api/sip/outbound' , (req, res) => {
    
        var socket = new JsSIP.WebSocketInterface('wss://10.110.3.230:7443');
    
        var configuration = {
          sockets  : [ socket ],
          uri      : 'sip:100@10.110.3.230',
          password : '100'
        };
    
        var ua = new JsSIP.UA(configuration);
    
        ua.start();
    
        // Register callbacks to desired call events
        var eventHandlers = {
          'progress': function(e) {
            console.log('call is in progress');
          },
          'failed': function(e) {
            console.log('call failed with cause: '+ e.data.cause);
          },
          'ended': function(e) {
            console.log('call ended with cause: '+ e.data.cause);
          },
          'confirmed': function(e) {
            console.log('call confirmed');
          }
        };
    
        var options = {
          'eventHandlers'    : eventHandlers,
          'mediaConstraints' : { 'audio': true, 'video': true }
        };
    
        var session = ua.call('1000', options);
    
    
    })
    
    at RTCSession.connect (/home/local-dev/Projects/PBX/mobile_pbx/api/node_modules/jssip/lib-es5/RTCSession.js:269:7)
    at UA.call (/home/local-dev/Projects/PBX/mobile_pbx/api/node_modules/jssip/lib-es5/UA.js:241:15)
    at /home/local-dev/Projects/PBX/mobile_pbx/api/app.js:50:22
    at Layer.handle [as handle_request] (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/layer.js:95:5)
    at /home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:335:12)
    at next (/home/local-dev/Projects/PBX/mobile_pbx/node_modules/express/lib/router/index.js:275:10)