我正在尝试使用sip.js和Node注册SIP代理,以开始对Kamailio的负载测试
Node version v0.10.32
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"
global.WebSocket = require('ws')
// SipJS Initialization
var SIP = require('./sip-0.6.0.js');
var Uaconfig = {
traceSip: true,
register: true,
userAgentString: 'sipJS Test tool',
uri: 'ramenlabs.io',
wsServers: ['wss://ramenlabs.io:5063'],
authorizationUser: 'gogasca',
password: '********'
//hackIpInContact: true
};
var userAgent = new SIP.UA(Uaconfig);当我运行时,我会得到一个错误:
Thu Oct 16 2014 03:40:53 GMT+0000 (UTC) | sip.transport | WebSocket connection error: Error: unexpected server response (400)因为来自Sip.js的初始Websocket缺乏Sec WebSocket: SIP 来指示协议。如果我使用示例网页,它完全可以使用相同的参数,但不是从我的节点命令行。怎么才能强迫这个?
在API js中,我确实看到了额外的“sip”头,但是包含了该
try {
this.ws = new window.WebSocket(this.server.ws_uri, 'sip');
}
catch(e) {
this.logger.log('Error connecting to WebSocket ' + this.server.ws_uri + ': ' + e);
//return false;
}发布于 2014-11-02 10:39:27
可以在debug=3中设置kamailio.cfg,重新启动,然后再试一次。然后在syslog文件(/var/log/syslog或/var/log/ messages )中查看Kamailio的调试消息,以了解为什么不接受连接。
https://stackoverflow.com/questions/26395959
复制相似问题