在Asterisk服务器中路由呼叫

时间:2016-08-30 16:21:07

标签: asterisk sip voip

我有一个场景,我希望将呼叫路由到从Asterisk sip服务器,但我想做一些像这样的事情

sip服务器正在运行:192.168.1.10和 Asterisk服务器正在运行:192.168.1.4

client Diales---->sip:111@192.168.1.4---->To Asterisk and then Asterisk route the calls------->sip:111@192.168.1.10 --------> sip server

有人可以告诉我如何在Asterisk配置路由文件中执行此操作。

2 个答案:

答案 0 :(得分:1)

您需要在Asterisk服务器上设置sip trunk。

查看此页面以获取更多信息:

https://www.beardy.se/how-to-set-up-a-sip-trunk-in-the-asterisk-pbx

http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf

答案 1 :(得分:1)

正如os11k所说,你需要SIP干线才能做到这一点。我将添加一些有关在两个城市之间设置SIP干线时遇到的问题的详细信息。

在sip.conf中添加SIP中继

  • 确保将sendrpid=yes放入SIP中继配置,或者192.168.1.10无法获取来电显示。
  • 或者,您可能希望将SIP中继的上下文设置为不同的上下文而不是default,例如context=sip-server-192-168-1-10
  • 如果192.168.1.10仅适用于特定的编解码器,则可以选择禁用或允许某些编解码器。

SIP干线样本

[general]
register => SIP_ACCOUNT:SIP_PASSWORD@TheOtherSipServer

[TheOtherSipServer]
type=peer
context=sip-server-192-168-1-10

host=192.168.1.10
defaultuser=THE_ACCOUNT_HERE
fromuser=THE_ACCOUNT_HERE
remotesecret=THE_PASSWORD_OF_ACCOUNT_HERE

; if you want to send the remote caller id to 192.168.1.10, then set sendrpid=yes .
; you also need to trust the remote caller id in 192.168.1.10 .
sendrpid=yes

; if 192.168.1.10 can dial out from here, you need to set trustrpid=yes so you can get the caller id
;trustrpid=yes

; if 192.168.1.10 is picky on codecs
;disallow=all
;allow=THE_CODEC_NAME_ALLOWED_BY_THE_OTHER_SIP_SERVER

在extensions.conf中设置拨号计划

除非您需要特殊要求,否则只需要{p> Dial

拨号方案示例

[globals]
SIPTrunk=SIP/TheOtherSipServer

[sip-server-192-168-1-10]
;exten=>111,1,Dial(SIP/TheOtherSipServer/111)
exten=>111,1,Dial(${SIPTrunk}/${EXTEN})