Q:asterisk系统没有检测到FXS内线模块 A:请先查看模块是否有插严,然后检查电源接头是否插上。如果卡上有内线模块,则必须将PC机箱电源引出的插头插到卡上右边的电源接口上。7 V' `* ~) t7 H 6 y' v, M! V; m Q:模拟卡检测不到外线挂机 A: 请检查asterisk的音调区域是否选择正确,检查/etc/system/dahdi.conf及/etc/asterisk/indications.conf。然后打开/etc/asterisk/chan_dahdi.conf,修改busydetect=yes打开忙音检测,并且修改busycount=6即可。1 o1 o' G; P w. }
Q:听到的摘机信号音与普通的电话摘机信号音不一致。3 N8 o- }5 W( k. z3 e' \ A:需要修改一下配置文件: /etc/system/dahdi.conf中把 loadzone 和 defaultzont 改为cn /etc/asterisk/indications.conf把country设置为cn. [; ?6 M) X; o/ [4 m, o4 ~, ^ 需要重新加载zaptel和asterisk,或者重启系统。 + X# a2 g9 o) ]1 ?$ d( ^ Q:模拟卡外线通话有时候意外中断 A:某些地方的汇线通或者线路质量不佳时常出现这个问题。1 x( z# L" l) B7 |6 g) F 需要修改/etc/modprobe.conf,将install wctdm这一行改成下面的样子:: Q: s% K% \, z; B1 U3 ^2 ? install wctdm /sbin/modprobe --ignore-install wctdm battdebounce=128 && /sbin/ztcfg& R) E0 m# Q- b5 z ' H5 y, a* c% E h' k3 k0 Z
Q:通话中噪音大,有回声4 t3 |' _" W3 h9 ` A: 1、首先要在配置文件chan_dahdi.conf中激活回音消除,请把以下选项设置为yes: echocancel=yes echocancelwhenbridged=yes8 {" g8 A2 E0 H6 O6 ~* \ echotraining=yes 2、调整rxgain/txgain设置; `) U, C5 M5 ]8 O9 z 为了取得好的回音消除效果,必须调整chan_dahdi.conf配置文件中的rxgain(输入增益)和txgain(输出增益)到合适的值,请按照以下步骤来进行: 1. 把rxgain/txgain的值都修改为1.0; 2. 用asterisk板卡上的通道来拨打一个电话,也就是说需要建立一个通过板卡的通道进行的通话;0 y2 V! S7 u# J* P9 E$ ~4 v 3. 运行dahdi_monitor命令来查看通道收、发音增益是不是在一个比较优化的范围:(注,dahdi_monitor命令的第一个参数是你正在通话的通道号)+ {; ? b% z/ }" b
4. 根据你的实际情况来调整rxgain和txgain到一个优化的值。比如上图所表现的,rxgain和txgain的值都偏小,你就在配置文件chan_dahdi.conf中增加rxgain和txgain的值,使得图形中所表示出来的值处于中间的位置。& d/ z$ H8 f8 a6 w 5. 很多情况下,把rxgain和txgain的值设置为8.0会取得比较好的回音消除效果。
9 v3 Y) j1 a! y% l- q7 N Q:模拟卡没有主叫显示或者显示不正确 A:如果排除局端可能(直接接外线能正常收到主叫,经过asterisk卡后收不到主叫),这个问题通常是因为dahdi驱动版本和asterisk版本不匹配造成。Asterisk和dahdi一般是成对发布的,版本之间有对应关系,不同版本的dahdi和asterisk是否可以混用需要仔细验证。一旦发生主叫识别问题,则最为简便可靠的验证方式是使用原装的trixbox2.0光盘重新安装系统后验证主叫显示。 + G1 U& a) v, h0 o" m1 n Q:SIP可以呼通,但听不到声音 A:一般是NAT问题造成。 如果Asterisk处在NAT的后面,则Asterisk的配置如下: - P/ e% T" p: a* N -------------------------------------------------------------- 7 C2 L6 Z6 E- a8 w1 o- T sip.conf: , j; _( C, F8 [$ K; |& c
- ;externip = 200.201.202.203
- externhost=dmlink.dvrdns.org* f8 u/ V3 R7 N" J: d* s
- localnet=192.168.0.0/255.255.0.0
复制代码 / b0 v- k3 l- A9 X% m$ i % t$ @( ]) m3 ^7 z/ a' r n rtp.conf
- rtpstart=100002 b) p1 ?- q! w. G% x- Y
- rtpend=20000
复制代码
NAT网关端口映射: - u4 q7 I; f/ h/ N SIP端口 5060 和 RTP端口10000-20000 5 w4 a4 a! k- F" q; Z - N# l* t) a+ Q* v0 D7 U) C -------------------------------------------------------------- # z( P, o3 U; o6 f8 j$ T . U/ L5 `0 A% K4 m2 o2 k0 i 需要配置externip或externhost,这是Asterisk的公网IP,还需配置localnet,这样当Asterisk判断外部来的SIP 会话时(本地是localnet,对方不是localnet),会在Invite应答(200 OK)的SDP 中,将Connection Information置为外部IP,而Media Description的端口从[rtpstart,rtpend]中分配。 9 V8 G' M$ i# T$ N% J, u$ ]
这样,SIP客户端收到Invite应答(200 OK)后,就知道了Asterisk的RTP公网IP+端口,SIP客户端的语音流发到这个地址,NAT网关(端口映射)转发到Asterisk。 ! h( I5 W( `1 D: i" d- b 而如果SIP客户端也处于一个NAT之后,Asterisk如何判断出SIP客户端的RTP公网地址呢?
经过Asterisk代码的分析,Asterisk的SIP并没有实现ICE(Interactive Connectivity Establishment)到SIP的映射,即没有处理ICE在SDP的Media块中定义的一个新属性alt(候选IP地址和端口),而是采用了一个简单的方式,即当NAT=yes时,从哪儿来的到哪儿去(SIP也是用这种策略处理)。 * P" F! |5 A1 q# c- R8 l
所以,Asterisk收到来自SIP客户端的RTP包后,Asterisk会记录此包的源地址和端口(是经过了客户端侧NAT转换后的公网IP+端口), Asterisk的语音流将被发到这个地址。客户端侧NAT网关会自动转发到对应的Asterisk的内网地址。 # R1 {" R! J5 L% D9 S # U8 W# Q5 Y1 |" F 如此,一个NAT之后的SIP客户端(无需ICE)已经可以拨入一个配置了端口映射的NAT后的Asterisk了。8 Z+ w* A6 { K4 k% b
Q:Asterisk支持传真吗?( ?# R2 ]/ H) y0 x- ~# B `5 l A:支持。 如果你是安装的Trixbox,则系统已经附带了两个传真收发命令rxfax和txfax。如果是自己安装编译的asterisk,则需要自行安装rxfax和txfax这两个app。# \5 N4 g1 z3 n. k3 S" G) r - A J( l& s: E Q:传真收发送不成功, Q+ z, G& s' T) f0 \: a. ~ A s3 e+ \, i3 `, e$ v. y* b
Q:Asterisk支持7号信令吗?8 g1 d. P* S9 m O5 s A:asterisk本身不支持7号信令。不过有很多开源的第三方模块。
Q:Asterisk支持H323吗?( ~9 v7 j" K: w+ d9 y" ? A: 支持; j6 q% F3 Q5 r3 e4 u) w A- I& D1 M( h& M3 s' c Q:多块卡可以插到一台机器上吗? A:可以。 8 U$ V: B! b8 T* K4 J" F Z Q:Asterisk卡需要什么样的机器?5 }+ w* p2 F5 N& e5 r A:一般说来,跟具体的操作系统、是否启用回声消除、是否做编码转换、是否录音等有很大关系。 一个典型的IVR应用,不包括录音,4E1至少P4 2.8G 2G内存以上配置。 一个SS7转H323应用,4E1建议双至强2.8G。' S, {1 \+ M) a3 |- y: e' S3 y 9 t; G1 D, U( m [& s! b; G% K; h Q:G729协议呼叫软交换没有回铃音$ ?! Z- D" O0 N& a& g6 P A:G729模块问题。检查show translation G729是否正确安装,如果没有,则需要检查/usr/lib/asterisk/modules/codec_g729.so 是否存在。G729不是自带的,需要自行安装。 如果有,则用G729的协议拨打到asterisk上放音,看能否正确听到声音。如听不到则版本不对,不能正常工作。如听到则应该就正常了。
Q:只能听到振铃,听不到彩铃% s+ f' U _, H3 x# l' u7 U A:去掉dial(xxx,,..t..)命令中的t参数。T参数会强制asterisk产生回铃音。 # S+ J$ }4 s7 e# q2 v6 f6 N' p Q:数字卡PRI呼叫被交换机直接挂断 A:可能有中继号码限制.需要设置callid为指定号码。可以在拨号脚本中使用SetCallerID功能指定。 如果局方需要设置国内国际,则chan_dahdi.conf加上0 y- l- o! L& B, i% T1 r
- pridialplan=local4 _5 ~" ?4 K& T1 Z' B
- prilocaldialplan=local
复制代码 9 m4 g) l) d9 _$ U 相关调试命令:% i+ S/ _! l# g& X Pri debug span 1% P# F5 i: v$ \; J" b: F& c9 H
|
|