在网络电话和小网关使用的早期,用户们"被迫"使用'#'号键来呼叫。不像传统电话,这些设备通常都不知道什么时候拨号结束。在使用古老H.323协议的年代有许多IP地址对打的呼叫,尤其是跟Windows自带的NetMeeting测试互通的时候。由于'*'号键通常用来输入网络地址中的'.',就只剩下'#'用来呼出了。
传统电话运营商痛恨H.323。不过在它们把自己的主干网纷纷转成IP网的年代,它们同样想在终端上有所作为。MGCP协议就这样失败的出炉了。唯一可取的是其中的"digit maps",这样终端可以知道什么时候算是拨号完毕。
SIP和IAX2协议在刚开始制定的时候也没有考虑这个问题。后来加了"Overlapped Sending"或者"Server's Dial Plan"这样一些东西修修补补。
在MGCP协议的"digit maps"的启发下,AR1688和PA1688的设备都有单独的"拨号映射"的选项,用来自定义拨号规则,这样可以在拨号完成后自动呼出。
事实上传统电话运营商在特殊服务号码中广泛使用了'#'键,PA1688的设备刚开始跟华为和UT的系统测试的时候碰到了大量这种问题,我们被迫在"service type"的选项中加了"huawei"和"utstarcom",用户选择这2个选项后按'#'键就不会呼出了。
刚开始做AR1688软件的时候我们吸取教训,决定彻底放弃'#'键呼出的方式。但是日子久了,老用户还是喜欢用'#'号键呼出,我们后来又被迫加了个"按#键呼叫"的选项。
在美国,'#'号键被叫做Pound,很长一段时间我都会哼哼"池塘边的榕树上,知了在声声叫着夏天"。
|