Jquery JsSIP实现
我在一家电信公司工作。我们想用JsSIP库开发一个SIP电话。但我们做不到。我们为测试创建一个基本表单,如下所示: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
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演示页面,查看源代码,并查看附加配置的应用情况 如果您正在寻找示例代码,请随时查看(一个帮助将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)