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 问题的更多相关文章

  1. asterisk简单命令

    重启asterisk [root@EC2-V2 ~]# service asterisk restart 进入asterisk操作界面 [root@EC2-V2 ~]# asterisk -vvvr ...

  2. asterisk 通话噪音,自动挂断,回声等情况

    打开配置文件:cd /etc/asterisk/ vim chan_dahdi.conf 1: busydetect:忙音检测,如果开启,Asterisk会拨号尝试或通话中分析在线的音频,从而尝试识别 ...

  3. Asterisk manager API(AMI)文档(中文版)

    Asterisk控制接口(AMI)允许管理客户端程序连接到一个asterisk实例并且可以通过TCP/IP流发送命令或读取事件.这在试图跟踪asterisk的状态或其中的电话客户端状态时很有用,AMI ...

  4. asterisk

    http://www.asterisk.org/ asterisk is the world's most widely adopted open source commnuctions platfo ...

  5. linux服务之asterisk

    由于Asterisk过于专业且复杂,所以目前也存在大量衍生自Asterisk但简化过的通信系统,以让用户较容易使用.比如在欧美比较流行的elastix.trixbox.或以简体中文为基础的Freeir ...

  6. 鼎信通达gsm网关和asterisk对接的调试

    设备型号:4gsm卡,型号是DWG2000C-4Egsm网关IP地址: 10.3.6.250asteriskIP地址: 10.3.6.251 1)首先在asterisk里面添加到gsm网关的中继,并做 ...

  7. asterisk中使用dahdi通道呼出的注意事项

    asterisk中使用dahdi通道呼出的注意事项 在使用dahdi通道呼出的时候,可以在Dial中对呼出所使用的通道进行指定选择.以下面的例子来说明: 场景说明:数字板卡单E1,使用pri信令,1- ...

  8. Asterisk的配置详解

    Asterisk的配置文件都在/etc/asterisk目录下,重要的配置文件有: sip.conf                      sip电话基本配置 extensions.conf    ...

  9. openerp - asterisk connector(转载)

    原文:http://www.akretion.com/open-source-contributions/openerp-asterisk-voip-connector OpenERP - Aster ...

  10. Asterisk服务安装配置和启动

    Asterisk服务安装配置和启动 2014年11月4日 11:36 注意: 更新源的重要性 源的地址: http://fffo.blog.163.com/blog/static/2119130682 ...

随机推荐

  1. 推荐一款功能强大的Tomcat 管理监控工具,可替代Tomcat Manager

    我们在本地启动Tomcat服务器后,用localhost:访问: 再点Manager App,即可进入Tomcat自带的Manager这个应用,此处可以单独部署/卸载每一个应用.可以看到在Manage ...

  2. 禁用DRM

    10G: alter system set "_gc_policy_time"=0 scope=spfile sid='*'; alter system set "_gc ...

  3. AIX 11203 ASM RAC安装

    1:查看系统版本 [rac1:root:/hacmp/hacmp5.4/ha5.4/installp/ppc] oslevel -s 6100-06-06-1140 lslpp -al bos.adt ...

  4. app自动化配置信息

    caps={    "platformName":"Android",#平台名称    "platformVersion":"6. ...

  5. 最短路 || POJ 1511 Invitation Cards

    已知图中从一点到另一点的距离,从1号点到另一点再从这一点返回1号点,求去到所有点的距离之和最小值 *解法:正着反着分别建图,把到每个点的距离加起来 spfa跑完之后dist数组就是从起点到每一点的最短 ...

  6. Java中的代理--proxy

    讲到代理,好像在之前的springMVC,还是spring中或者是hibernate中学习过,并没有特别在意,这次好好理解一下.(原来是在spring中的AOP,面向切面 Aspect Oriente ...

  7. ICPC-Beijing 2006 狼抓兔子

    题目描述 题解: 裸的最小割. 但是最大流跑不过去怎么办? 转变一下,既然最大流是一条左下<->右上的通路,我们可以把图划分为若干区域, 最后找左下到右上的最短路就行了. 代码: #inc ...

  8. ubuntu中执行docker info出现警告信息WARNING: No memory limit support 或 WARNING: No swap limit support

    docker info 指令报若下错误:WARNING: No memory limit support 或WARNING: No swap limit support 解决方法: 1.打开/etc/ ...

  9. 一道在CF上WA了9次才AC的A题题目与10个版本的代码代码

    题目(题目链接:https://codeforces.com/problemset/problem/733/A):   A. Grasshopper And the String time limit ...

  10. Oracle の ty_str_split + MySQL の proc_split

    oracle实现字符串分割 功能描述:用指定分隔符切割输入的字符串,返回一维数组,每个数组元素为一个子串. ); CREATE OR REPLACE FUNCTION fn_split (p_str ...