我刚刚安装了Asterisk,我想将Asterisk配置为SIP服务器中继。
我已经有了一台SIP服务器,但是这台服务器并没有直接接受Web套接字(wss)连接。
目的是建立一个使用SIPJS库的Web客户端:(http://sipjs.com/guides/user-agent-construction/),它可以在sipserver A上进行注册。
如何在星号上配置sip.js
和extension.conf
文件来执行此操作?
答案 0 :(得分:4)
这可能不是您想要的答案,但Asterisk is not a SIP proxy。它在技术上是B2BUA(背对背用户代理)。
简而言之,这意味着Asterisk始终是通话中的一种终点。
您可以尝试使用可用作无状态中继的Kamailio作为SIP代理,并且它非常擅长。
但是,如果你们两个都可以,你可以通过B2BUA进行通话:
答:创建一个从Asterisk到" SIP服务器A"
的中继B:创建从SIP.js到Asterisk的客户端连接。 Documentation available for SIP.js specifically for this
在这种情况下,一旦来自SIP.js客户端的呼叫进入Asterisk,您就可以使用Asterisk中的Dial
应用程序来桥接呼叫,以便拨打" sip server a"
例如,sip.conf
:
[sipjs]
context=inbound_sipjs
; ...and the rest from sip.js documentation
[sipservera]
context=inbound_sipserver
; rest as required with your sip server
然后,在您的extensions.conf
中,假设来自SIP.js客户端的入站呼叫:
[inbound_sipjs]
exten => _X.,1,Noop(Call from SIP.js)
same => n,Dial(SIP/sipservera/${EXTEN})
same => n,Hangup()