FXO端口(外线,O口,中继线,模拟线,电话线,红模块)用在非北美地区的模拟线路上时,通常用的是loopstart信令,靠识别来自FXS的有特定的频率和特殊的通断比的规律声音(信号音)来判断线路的状态(使用中/已挂机/用户闲)。 由于包括中国在内的很多发展中国家的国情现状,很多地区的信号音是非标准的。下面我们以中国为例,介绍Asterisk 如何判断模拟卡线路上的状态。
1. 标准的信号音
在中国,规范的忙音信号应该是(0.35秒通,0.35秒断,声音频率是450kz)。Asterisk在f对cn(中国)的定义就是如此:
引用
[general] X2E=2tXl`7
country=cn
....
[cn]
ringcadence = 1000,4000
dial = 450 ;拨号音
busy = 450/350,0/350 ;中国忙音标准
ring = 450/1000,0/4000 ;振铃音
congestion = 450/700,0/700 ;拥塞音_
callwaiting = 450/400,0/4000 ;呼入等待音
dialrecall = 450
record = 950/400,0/10000 F_0_@S h"
info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400
stutter = 450+425
$EL:__Jx2<
拨号音:(450Hz,-10±3dBm0,连续)——“嗡…”的连续音。
忙音:(450Hz,-10±3dBm0,0.35s on/0.35s off)——“嘟,嘟,嘟…”短促音(响0.35秒,断0.35秒)。 $&&+2_?cx0
拥塞音:(450Hz,-10±3dBm0、0.7s on/0.7s off)——这是一种“嘟,嘟…”的短音(响0.7秒,音隔0.7秒)。拥塞音有点像忙音,但比忙音声音要长,它表示程控交换机因某种原因机线拥塞不通。
呼入等待音:(450Hz,-20±3dBm0、0.4s on/4.0s off)——在用户登记了“呼叫等待”服务项目后,如果该用户正与对方通话时,又有第三者呼叫该用用,则该用户在受话器中会听到一种微弱的信号音,这种信号是“嘟…”的短促音(响0.4秒,音隔0.4秒,再响0.4秒)。它表示有第三者在呼叫,提醒该用户是否要与第三者通话。_
特种拨号音: (450Hz,-10±3dBm0,0.4s on/0.04s off)这是一种“嘟,嘟…”的一短一长的声音,当用户的电话中登记了某种程控电话服务项目后,摘机听到的拨号音就是这种特种拨号音,用以提醒该用户。这种拨号音不妨碍该用户打电话,只要在规定产时间(5秒)内拨号即可。
二次拨号音:(400Hz,-10±3dBm0、连续)
回铃音:(450Hz,-10±3dBm0,1.0s on/4.0s off)——“嘟,嘟…”的断续音(响1秒,断4秒)表示用户拨叫的对方电话已接通,正在振铃。
空号音:(450Hz,-10±3dBm0、0.1s on/0.1s off/0.1s on/0.1s off/0.1s on/0.1s off/0.4s on/0.4s off)--“嘟、嘟、嘟-”的450赫的三短一长音(短音为0.1秒,间断0.1秒,长音为0.4秒)
三方通话提醒音:(950Hz,-20±3dBm0、0.4s on/10.0s off) "
催挂音:(950HZ 0.4dB)——当用户用完电话,没有挂机或话机手柄没有放好时,程控电话局会发出一种由小逐渐变大的连续音(950HZ),提醒该用户把话机挂好。 _DS_0
_p|2_
长途通知音:(450Hz,-10±3dBm0,0.2s on/0.2s off/0.2s on/0.6s off)——当用户在市内电话通话过程中,又听到“嘟,嘟”声,跟着一小段间歇,又再“嘟,嘟”,这样的短音(响0.2秒,断0.2秒,音隙0.6秒)就是“长途电话通知音”,告诉用户有人工长途电话要和您通话,请尽快结束市内通话,准备接听长途电话。这种长途电话通知音随着我国长途电话自动化的普及也越来越少了。
2. 非标准信号音的处理
事实上,除了一些大城市的固网电信公司交换机能够提供标准信号音外,由于中国电信经过很长时间的七国八制的盲目发展阶段,很多地方的信号音是不标准的。
如果电信公司给你的忙音信号根本就是不标准的,Asterisk怎么可能识别呢?必然出现无法正确判断拆线的状况。
这种情况下,就得通过ztmonitor录音后,判别它通断比,然后将这些数值填入zapata.
conf的busypattern 中,然后重启asterisk服务器(例如beep持续600号码,静音400毫秒,那么busypattern=600,400)
脱毛机胶棒 在中国,Asterisk的f需要启用busydetect=yes,以及busycount=6可以解决大多数忙音识别和无法拆线的问题(基于loopstart),f(或f)设置如下: KzJJ@D*4M]
引用
busydetect=yes
busycount=6 ;设置的值过小会引起通话中中断的故障
....................
loadzone = cn
defaultzone = cn
提示:不要盲目按照某些技术帖子所说的,随便增加busypattern这个参数。除非你明确知道这么作的原因。没有这个参数,Asterisk接受任何有规律的断通信号在busycount规定的次数内判别为忙音。如果busy tone的通断间隔不相等(如前文提到的beep 600毫秒,静默400毫秒),才需要手工设置.
如果上述设置在你的机器上不生效,请检查线路质量,检测是否有回声,有的时候线路的杂音会干扰到Asterisk的忙音识别。
3. 极性反转信号(反极信号)
如果是话务量比较密集的应用或对计费数据比较敏感的环境,建议去电信申请反极信号(反极信号就是极性反转信号,跟kewl start不是一回事)。同时在f中增加:
引用
hanguponpolarityswitch=yes ;拆线
answeronpolarityswitch=yes ;对端应答(用于计费)
这两个设置不要和busydetect=yes或callprogress=yes同时使用。 锅炉制造
4. 小技巧: 如何确定自己的线路是否支持kewlstart
将一个支持拨号盘高亮的(不需要外接电源,直接从市话取电)的普通模拟电话机连接到PSTN线路上,拨通你的手机,接听手机,然后手机挂机。如果那部模拟电话机在远端(手机)挂线后拨号盘灯熄灭(drop battery),那么这条线路是支持kewlstart的,不需设置busyXXX和callprogress。
不要把callprogress和busyxxx属性混用,这是两种不同的工作方式.目前默认工作方式的callprogress仅对北美生效。
汽车钻机本文来自CSDN博客,转载请标明出处:blog.csdn/yscdaxian/archive/2010/09/19/5894763.aspx
DAHDI与Zaptel的区别
突然发现自己Out 了。 g"_( vl-Uw
经常有人问,你怎么还用Zaptel啊…… __/__L'm@8
刮刮卡制作决心要学习DAHDI。 75w___QH*_ 4g视频监控
_*aS|4M__-
1、DAHDI是什么? z|F>+6l"Y7
DAHDI表示Digium Asterisk Hardware Device Interface,Zaptel是"Zapata Telephony"的缩写。 g$k_
_K)_z
2、DAHDI的由来 w____w nc_
Kevin Fleming是这样介绍DAHDI的来由的:“大约两年前(2006年),ZapTel商标的持有人上我们,说ZapTel是他们的注册商标。从那时候起我们就在内部讨论,要把Zaptel改成DAHDI。DAHDI 2.0.0是第一个正式版本,覆盖了Zaptel 1.4 的几乎所有功能,除了某些过时的驱动版本和硬件之外。” COc_1np_
Asterisk 1.6将只支持DAHDI,而Asterisk 1.4将保留对Zaptel的支持。Asterisk 1.2不受影响。 AvRZf-_Geg
3、DAHDI与Zaptel对比 _uf\Hh -+p
模块名称的改变: *p_w:oT__O
引用
chan_zap.so -> chan_dahdi.so X<_K[` =I
app_zapbarge.so -> app_dahdibarge.so (___' /S~
app_zapras.so -> app_dahdiras.so _9 }|Bs_=q
app_zapscan.so -> app_dahdiscan.so l Vo]_(#W
codec_zap.so -> codec_dahdi.so
空调温度控制器