过去我们在PA1688上支持7种不同通信协议,很多协议其实根本没有带来什么销售业绩,MGCP就是其中一个失败者。不过在MGCP上的工作为其它协议带来了新功能。今天AR1688支持SIP和IAX2协议, 2者都有类似于MGCP自带的拨号映射功能。
拨号映射的详细说明在RFC 3435的2.1.5部分,它用于判断电话用户是否拨号完毕,方式是把已经拨的号码跟一个拨号映射规则表比较。在MGCP协议中,拨号映射的规则表来自服务器消息。在我们的SIP和IAX2中,规则表由用户或者系统预先定好,保存在话机设置中,并且可以在自动管理中自动更新。
在我们的软件API中,用命令行"sdcc\bin\getopt.bat xxx.xxx.xxx.xxx",会弹出options.txt,其中有2个不同的部分[settings]和[digitmap],拨号映射规则表就在[digitmap]中。用户也可以通过用网页浏览器访问网络电话IP地址浏览和修改拨号映射规则表。
SipPhone是我最常用的测试点之一,它的测试号码如下:
**: 播放你自己的SIPphone号码
*0: 测试你的路由器是否跟SIP兼容
411: 语音提示的Tellme信息服务
1-747-474-ECHO(1-747-474-3246): 回声测试 - 重复你自己说的话
1-747-474-5000: SIPphone欢迎提示
1-747-XXX-XXXX: 呼叫其它SIPphone号码
针对以上拨号规则,定义相应规则表如下:
*x: 负责判断**和*0
4xx: 负责判断411
1xxxxxxxxxx: 负责判断1-xxx-xxx-xxxx号码
x.T: 负责其它号码
当拨号映射功能不用的时候,用户需要在输入号码结束后按下"呼叫"键呼出,跟用手机一样。在VoIP的早期,很多软硬件都用'#'键作为呼叫键。随着VoIP和传统PSTN的融合,因为#在PSTN系统中大量用于附加服务,今天用#键当"呼叫"键功能已经不再是个好主意了。
|