带有 SIP 帐户路由至手机的 Asterisk 服务器

带有 SIP 帐户路由至手机的 Asterisk 服务器

我无法找到执行以下操作的确切文档:

我有一个 SIP 帐户。我希望位于美国某处的 VPS 上的 Asterisk 服务器能够接受 SIP 帐户的凭证。当有人拨打我的 SIP 帐户电话号码 111-222-3333 分机 55 时,它应该将呼叫重新路由到位于加拿大某处的我的手机上。

有人能告诉我怎么做吗?或者给我参考一下相关文档?

答案1

你基本上应该做两件事:

  1. 设置 Asterisk 服务器以允许正确注册您的 SIP 帐户。这可以通过在 /etc/asterisk/sip.conf 中配置 SIP 凭证来完成
  2. 配置 Asterisk 拨号方案,将分机 55 映射为手机的拨出。此操作在 /etc/asterisk/extension.conf 中完成

您可以在 voip-info.org 网站上找到有关如何执行此操作的大量文档:配置文件扩展配置文件)这个其他关联似乎是您所需要的一个很好的例子。

这是一个看起来可能像这样的小例子:

配置文件

[mysipprovider] 
type=peer 
secret=password 
username=2345 
host=sipserver.mysipprovider.com 
fromuser=2345 
canreinvite=no 
insecure=very 
qualify=yes 
nat=yes 
context=from-mysipprovider ; this section will be defined in extensions.conf 

在 extension.conf 中:

[from-mysipprovider]
exten => 55,1,Verbose(1|Echo test application)
exten => 55,n,Dial(SIP/mysipprovider/5551234); Here is the outbound call, the exact dialstring depends on outgoing provider and channeltype
exten => 55,n,Hangup()

答案2

好的,我已开始工作。这正是我的 sip.conf 和 extensions.conf 的样子,我保留了所有其他配置文件

sip.conf - a) 将 [用户名]、[密码]、[主机] 和 [端口] 替换为适当的值

b) 因为我的 SIP 提供商非常挑剔,我不得不尝试各种 [host] 值,有时 register => 行中的 [host] 与 host= 行中的 [host] 值不同(但对其他人来说这可能不是问题)

[general]
register => [username]:[password]@[host]:[port]
context=default

[mysipprovider]
type=friend
secret=pass
username=[username]
host=host
port=5070
fromuser=[username]
canreinvite=no
;insecure=very
qualify=2000
dtmfmode=inband
nat=yes

扩展配置文件

[default]
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,Playback(vm-extension)
exten => s,n,WaitExten()


exten => 55,1,Dial(SIP/mysipacc/3332221111) ; extension 55 calls phone 3332221111
exten => 55,n,Hangup

exten => 66,1,Dial(SIP/mysipacc/1112225555) ; extension 66 calls phone 1112225555
exten => 66,n,Hangup

相关内容