asterisk 问题
Q:SIP可以呼通,但听不到声音
A:一般是NAT问题造成。
如果Asterisk处在NAT的后面,则Asterisk的配置如下:
--------------------------------------------------------------
sip.conf:
;externip = 200.201.202.203
externhost=dmlink.dvrdns.org
localnet=192.168.0.0/255.255.0.0
rtp.conf
rtpstart=10000
rtpend=20000
NAT网关端口映射:
SIP端口 5060 和 RTP端口10000-20000
--------------------------------------------------------------
需要配置externip或externhost,这是Asterisk的公网IP,还需配置localnet,这样当Asterisk判断外部来的SIP会话时(本地是localnet,对方不是localnet),会在Invite应答(200 OK)的SDP 中,将Connection Information置为外部IP,而Media Description的端口从[rtpstart,rtpend]中分配。
这样,SIP客户端收到Invite应答(200 OK)后,就知道了Asterisk的RTP公网IP+端口,SIP客户端的语音流发到这个地址,NAT网关(端口映射)转发到Asterisk。
而如果SIP客户端也处于一个NAT之后,Asterisk如何判断出SIP客户端的RTP公网地址呢?
经过Asterisk代码的分析,Asterisk的SIP并没有实现ICE(Interactive Connectivity Establishment)到SIP的映射,即没有处理ICE在SDP的Media块中定义的一个新属性alt(候选IP地址和端口),而是采用了一个简单的方式,即当NAT=yes时,从哪儿来的到哪儿去(SIP也是用这种策略处理)。
所以,Asterisk收到来自SIP客户端的RTP包后,Asterisk会记录此包的源地址和端口(是经过了客户端侧NAT转换后的公网IP+端口), Asterisk的语音流将被发到这个地址。客户端侧NAT网关会自动转发到对应的Asterisk的内网地址。
如此,一个NAT之后的SIP客户端(无需ICE)已经可以拨入一个配置了端口映射的NAT后的Asterisk了。
Q:Asterisk支持传真吗?
A:支持。 如果你是安装的Trixbox,则系统已经附带了两个传真收发命令rxfax和txfax。如果是自己安装编译的asterisk,则需要自行安装rxfax和txfax这两个app。
Q:数字卡PRI呼叫被交换机直接挂断
A:可能有中继号码限制.需要设置callid为指定号码。可以在拨号脚本中使用SetCallerID功能指定。
如果局方需要设置国内国际,则zapatal.conf加上
pridialplan=local
prilocaldialplan=local
Q:通话中噪音大,有回声
A:
1、首先要在配置文件 /etc/asterisk/chan_dahdi.conf 中激活回音消除,请把以下选项设置为 yes :
2 echocancel=yes
2 echocancelwhenbridged=yes
2 echotraining=yes
2、调整 rxgain/txgain 设置为了取得好的回音消除效果,必须调整zapata.conf 配置文件中的 rxgain(输入增益) 和 txgain (输出增益)到合适的值,请按照以下步骤来进行:
1. 把 rxgain/txgain 的值都修改为 1.0;
2. 用 asterisk 板卡上的通道来拨打一个电话,也就是说需要建立一个通过板卡的通道进行的通话;
3. 运行 ztmonitor 命令来查看通道收、发音增益是不是在一个比较优化的范围:(注,ztmonitor 命令的第一个参数是你正在通话的通道号)
4. 根据你的实际情况来调整 rxgain 和 txgain 到一个优化的值。rxgain 和 txgain 的值如果都偏小,你就在配置文件 Zapata.conf 中增加rxgain 和 txgain 的值。
5. 很多情况下,把 rxgain 和 txgain 的值设置为 8.0 会取得比较好的回音消除效果。
Q:模拟卡外线通话有时候意外中断
A:某些地方的汇线通或者线路质量不佳时常出现这个问题。
需要修改/etc/modprobe.conf,将install wctdm这一行改成下面的样子:
install wctdm /sbin/modprobe --ignore-install wctdm battdebounce=128 && /sbin/ztcfg
Q:模拟卡检测不到外线挂机
2 Q/ o: ` K8 E" ?: ^2 bA: 请检查asterisk的音调区域是否选择正确,检查/etc/system/dahdi.conf及/etc/asterisk/indications.conf。然后打开/etc/asterisk/chan_dahdi.conf,修改busydetect=yes打开忙音检测,并且修改busycount=6即可。
Q:听到的摘机信号音与普通的电话摘机信号音不一致。
$ j5 y6 _( {" x* HA:需要修改一下配置文件:6 U) g0 Y! R, f9 s6 k
/etc/system/dahdi.conf中把 loadzone 和 defaultzont 改为cn
) l! F1 [* E+ J. a" |; `# X, K0 T /etc/asterisk/indications.conf把country设置为cn0 n* C8 o- F( S8 F$ b5 ?
需要重新加载zaptel和asterisk,或者重启系统。8 I. f9 J% @.
Q, 电话突然中断
1)BusyDetect
2)CallProgress
BusyDetect和CallProgress可能会导致Asterisk错误的检测电话挂断. 把BusyCount设置为一个更大的值,或者关掉CallProgress,可能能解决这个问题. 过量的IRQ缺失也有可能会导致这些问题的出现.
参考这个网站:http://kb.digium.com/entry/71/
3) 设置
/etc/modprobe.conf试试看,安装wctdm:
install wctdm /sbin/modprobe --ignore-install wctdm battdebounce=128 &&
/sbin/ztcfg
asterisk 问题的更多相关文章
- asterisk简单命令
重启asterisk [root@EC2-V2 ~]# service asterisk restart 进入asterisk操作界面 [root@EC2-V2 ~]# asterisk -vvvr ...
- asterisk 通话噪音,自动挂断,回声等情况
打开配置文件:cd /etc/asterisk/ vim chan_dahdi.conf 1: busydetect:忙音检测,如果开启,Asterisk会拨号尝试或通话中分析在线的音频,从而尝试识别 ...
- Asterisk manager API(AMI)文档(中文版)
Asterisk控制接口(AMI)允许管理客户端程序连接到一个asterisk实例并且可以通过TCP/IP流发送命令或读取事件.这在试图跟踪asterisk的状态或其中的电话客户端状态时很有用,AMI ...
- asterisk
http://www.asterisk.org/ asterisk is the world's most widely adopted open source commnuctions platfo ...
- linux服务之asterisk
由于Asterisk过于专业且复杂,所以目前也存在大量衍生自Asterisk但简化过的通信系统,以让用户较容易使用.比如在欧美比较流行的elastix.trixbox.或以简体中文为基础的Freeir ...
- 鼎信通达gsm网关和asterisk对接的调试
设备型号:4gsm卡,型号是DWG2000C-4Egsm网关IP地址: 10.3.6.250asteriskIP地址: 10.3.6.251 1)首先在asterisk里面添加到gsm网关的中继,并做 ...
- asterisk中使用dahdi通道呼出的注意事项
asterisk中使用dahdi通道呼出的注意事项 在使用dahdi通道呼出的时候,可以在Dial中对呼出所使用的通道进行指定选择.以下面的例子来说明: 场景说明:数字板卡单E1,使用pri信令,1- ...
- Asterisk的配置详解
Asterisk的配置文件都在/etc/asterisk目录下,重要的配置文件有: sip.conf sip电话基本配置 extensions.conf ...
- openerp - asterisk connector(转载)
原文:http://www.akretion.com/open-source-contributions/openerp-asterisk-voip-connector OpenERP - Aster ...
- Asterisk服务安装配置和启动
Asterisk服务安装配置和启动 2014年11月4日 11:36 注意: 更新源的重要性 源的地址: http://fffo.blog.163.com/blog/static/2119130682 ...
随机推荐
- MFC技术积累——基于MFC对话框类的那些事儿4
3.3.4 借助兼容DC加载DIB位图 创建一个与设备环境相兼容的DC,通过将位图暂时导入至兼容DC,然后利用CDC::BitBlt 或者CDC::StretchBlt函数将位图绘制到设备环境中. 示 ...
- os x 中出现message sent to deallocated instance 的错误总结
一般是程序中的某一个对象被release 了两次 一般情况下是与你定义的类型有关 这里面我的错误是吧 NSString 类型的变量的属性 设置为了 assign 了 目测与这个有关 补充object- ...
- 解决异常System.Runtime.Interopservices.COMException RequestLock问题
工具——导入导出设置,重置调试设置就可以了,这是调试文件的异常
- oracle的Hint
与优化器模式相关的Hint 1 ALl_ROWS 让优化器启用CBO /*+ all_rows */ 2 first_rows(n) 让优化器启用CBO 模式,而且得到目标sql的执行计 ...
- cocos creator 小记
一个游戏场景有若干个节点组成,这些包括渲染节点,UI节点. 这里弱化了Layer层的概念. 一个游戏由若干个场景组件. 每个节点由若干个组件和若干子节点组成. 例如UI节点中的 按钮节点.子节点有 ...
- HTML基础(二)列表标签
无序列表ul ul标签的格式为 <ul> <li>内容1</li> <li>内容2</li> <li>内容3</li> ...
- Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程
1.前言 由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputc ...
- spring-mvc jackson配置json为空不输出
使用的spring-mvc版本是4.1.6,jackson版本是2.1.4 在spring-mvc配置文件中添加以下代码就行 <mvc:annotation-driven> <mvc ...
- python基础知识02-序列类型的方法
列表的方法: 增:append() insert() extend()只能添加序列类型. .改li[0]= '123' li.insert(2,'123') 2个参数,位置,值 li.remove(' ...
- react-native打包apk常见错误收集
react-native 0.59打包报错,信息如下,根据错误信息是因为react-native-cookies的sdk版本问题导致的 ./gradlew assembleRelease > C ...