(转)Asterisk模拟线FXO的主叫号码识别(来电显示)

 CID (CallerID,CLID,主叫号码,来电显示)是在实际使用中常遇到的另外一个常见问题,主叫号码格式分为FSK(美规)或DTMF方式。主叫号码可能会在第一声振铃之前送过来,也可能在第一声振铃之后,第二声振铃之前发送过来。 
 
1. 如何确定CID的制式  
        最简单是拿原来可以支持来显的电话机来看(必须是有时间显示的电话机)。 
        1、先把机器的时间调乱.(随便调,但月份一定调) 
        2、然后用自己的手机打进去,电话响5声后挂掉,不要接。 
        3、然后看时间自动改过来了没. 
        如果是改过来了(年份不改不要紧,但月份一定要),那证明是FSK制式。如果没改过来那就是DTMF制式。 
 
2. 区分FSK的制式  
        区分了fsk之后,如果在第一声之前,就显示了号码,那么就是欧式的FSK;如果在第一声和第二声之间才显示来电号码,那么就是美式的FSK。 
 
3. 主叫号码的制式与运营商和地区的关系  
        主叫号码的制式与运营商(是南方电信还是北方网通,联通,或者是铁通)关系不大。即便是同一个城市的同一个运营商,也可能提供两种制式的主叫号码,这主要取决于电信交换机。 
 
4. Asterisk对主叫号码制式的支持  
        Asterisk 是美国人做的,所以对FSK制式的支持相对比较好,但是如果遇上DTMF制式的主叫号码,确实挺麻烦的。解决办法有两个,一个是花50块钱买个转换器(就 是那个DTMF转FSK的)或修改驱动程序来解决。可以参照OPENVOX的方法,修改两个文件并重新编译zaptel驱动,将OPENVOX的 wctdm.c覆盖掉,opvxa1200.c里面的……。 
        在后面的文章中,我们会专门针对DTMF制式的主叫号码识别做专文介绍。 
 
5. 小知识:什么是FSK  
        FSK(Frequency- shift keying):频移键控,是信息传输中使用得较早的一种调制方式,它的主要优点是:实现起来较容易,抗噪声与抗衰减的性能较好,因此在低速数据传输中得 到了广泛的应用。以前有一个叫做固网短信的业务,就是利用了FSK技术来传递短信息的。 
        FSK也有很多标准,中国、美国、澳大利亚采用的bellcore标准(贝尔202 / V.23)。

猜你喜欢

转载自hwzyyx.iteye.com/blog/1059704