以使用SIP协议的DID为例,DID通常有两种接入方法:
- 直接与DID供应商对接IP地址 (中继方式)
对接IP这种方式配置比较简单。你需要把自己的server ip告知DID供应商,DID供应商也会把有关信息告知你。通常最重要的信息就是IP地址了。如下以didx.net为例,描述配置方法。
将如下内容添加到 /etc/asterisk/sip.conf 文件的末尾。
[didx.net_1]
host=67.15.180.14 ;这里是didx.net的server ip
dtmfmode=rfc2833
dtmf=rfc2833
type=peer
context=from-didx
insecure=invite,port
nat=never
allow=all
然后,将如下内容添加到 /etc/asterisk/extensions.conf 文件末尾。
[from-didx]
; 验证是否能捕获正确的callerid
exten => _X.,1,noop(${CALLERID(num)}) ; 显示来电主叫号码
exten => _X.,2,noop(${EXTEN}) ; 显示被叫主叫号码, 也就是DID号码
; 在这里做你想做的事情。例如,跳转到unibilling的calling card服务:
; exten => _X.,3,goto(internal_call,987656,1)
exten => _X.,n,hangup
最后,在asterisk中执行 reload 命令。打入电话测试。
- 以帐号密码的方式注册到DID供应商服务器 (终端方式)
该方式你的asterisk类似于一个sip UA。需要以帐号密码注册到DID供应商的服务器。理解的简单一点,把你的asterisk考虑成一个sip软电话即可。DID供应商至少应提供如下信息给你:
帐号
密码
server 地址
大多数情况下还会提供域名称
如下以 phonzo为例说明配置方法。
将如下内容添加到 /etc/asterisk/sip.conf 文件末尾:
[phonzo]
type = friend
host = sip.phonzo.com
context = from-norway-phonzo
fromdomain=sip.phonzo.com
然后在该文件的 [general]段添加如下一行内容:
register => 62204533:3234RrCs6:4762204533@phonzo/4762204533
这表明本asterisk机器将以帐号62204533 密码3234RrCs6 注册到 phonzo. 当别人呼叫pstn电话号码4762204533,来电将到达这台机器。且可以收到被叫号码4762204533.
然后,将如下内容添加到 /etc/asterisk/extensions.conf 文件末尾。
[from-norway-phonzo]
; 验证是否能捕获正确的callerid
exten => _X.,1,noop(${CALLERID(num)}) ; 显示来电主叫号码
exten => _X.,2,noop(${EXTEN}) ; 显示被叫主叫号码, 也就是DID号码
; 在这里做你想做的事情。例如,跳转到unibilling的calling card服务:
; exten => _X.,3,goto(internal_call,987656,1)
exten => _X.,n,hangup
最后,在asterisk中执行 reload 命令。打入电话测试。