至目前为至,已经上线了两个E1的项目,使用的都是 Elastix 对接众方语音网关,网关的型号为 ETG-300.遇到的问题也不少,在这里做一个小总结,欢迎指正。
在描述问题前,关于众方语音网关的一些基本操作(如来电监控、配置设定等)请参考官方的相关文档。
问题一:链路状态正常,物理接口也正常,来电无法送入语音网关(在网关无法监测到任何的来电信息),呼出时,出局被 pra 拒绝。
问题分析:出现这种原因,很有可能就是链路的状态的问题,物理接口状态、链路状态正常,但是无法呼入、呼出,很有可能就是E1帧格式(E1 Framing)的问题。
E1帧格式有三种:DF、CRC-4及CRC-ITU, 默认为CRC-4。 设置何种帧格式,主要是取决于 PRA 的协商,一般PRA会提供相关的说明,如:E1 Framing:PCM 31 CRC off。 则表示当前的E1帧格式不允许 CRC 的,只能使用 DF 格式。
问题解决:打开ETG页面->基本配置, 找到帧格式(E1 Framing),选择 DF。 最后,必须重启方可生效。
问题二:呼出时,在语音网关可以监测到出局信息,但没有送到 pra ,在 SIP 已经被拒绝,导致呼出失败
问题分析:在语音语音网关可以监测到出局信息,表示与elastix 是无关的,即Elastix 是正常。那么问题肯定是出在语音网关的配置上。
问题解决:一般来说,这种情况,就是出局的号长判断出了错误。一般有两种方式可以解决
(1)配置页面->系统配置->号长管理
号长管理,就是定义出局时,被叫的号码格式,只有与号长管理中定义的号长及规则一致时,方可出局,否则不可出局。在这里添加一条当前的出局规则即可。
(2)取消出局被叫号长的判断
第一种解决方法有些复杂,而且对所有的出局号码都需要定义规则,比较复杂。由于出局规则可以在Elastix 进行定义,所以在网关端可以取消出局被叫的规则判断。
通过命令: telnet 网关IP 输入用户名,密码后
第一步:执行 en , 再执行 ^isql 进入参数数据表,这里会提示用户名及密码, 默认都是 sa 即中进入
第二步:select IntParam (*) 查询所有的被始化参数, 找到值为 176 ,即以下的数据
ROWID ParamID ParamDesc ParamVal
--------------------------------------------------------------------------------------------
143 176 Is pstn out called form voip trunk no judge len 0
第三步:将 paramVal 为0,修改为 1
update IntParam (ParamID=176) (ParamVal=0) //表示将 paramid 为 176 的,记录的值修改为1
EIS(sql)#update ? (update 的修改语法是)
Command Help: update TableName (* / [Condition1],[Condition2],...) ([Param1],[Param2],...)
the Condition * means all records, Condition and param syntax: FieldName=Value
第四步:使用参数生效
执行 db save
第五步:重启设备
问题三:有些国家出局时,需要强制将特服号的区号加上,方可正常外呼,比如菲律宾,特服号304XXXX时,出局的主叫(CALLERID) 必须加上区号 02, 但是这时,可能语音网关会拒绝,并在SIP端将其拒绝,无法送到 pra处理。
解决:需要更改 intparam ,如前一个问题一样,这次需要修改的参数是
190 112 Disable caller long number check(0:no, 1:yes, default:0) 0
需要将 ParamVal 由 0 ,修改为1 。 修改的方法与前一个问题一样。
问题四:打国际长途时,在网关页面上,配置了以0开头,拨打0086XXXXXXXXXXX,由 pra 出局时,还是会被拒绝在 SIP 端,无法送到 pra 处理。
问题解决:配置了 0 开头,并不能匹配 00 开头,需要另配一个 00 开头,由 pra 出局的配置
问题五:如果以 FXS 潮流语音网关,接普通话机。但是潮流语音网关与ELASTIX不属于同一局域网时,会导致两个分机间拨打,无声音,或是单通的情况。
问题解决:需要在FXS网关上,将stun 选上,并将 stun服务器指向 FXS语音网关所配置的网络网关。
问题六:分机拨打外线时,经常会出现拨号后,收 ACK 的信息出错,并提示
Retransmission timeout reached on transmission 62911ewrwerwerwerwresdsfsdfsd@192.168.108.XXX:5060 for seqno 102(Critical Request) -- see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
问题解决:一开始,总以为是 nat 的问题,所以不断的检查,但是最后发现,问题的根源,就是Elastix 与 众方网关对接时,没有指定语音编码导致,在 elastis 中的 trunks 中,查看一下与众方对接的信息
host=192.168.108.180
port=2080
type=friend
qualify=yes
原来的配置是这样的。要配置语音编码,必须要加上 disallow 及 allow 如下:
host=192.168.108.180
port=2080
type=friend
qualify=yes
disallow=all
allow=alaw
具体的编码,就要看与 pra 的协商情况了。
问题七:使用手机拨打特服号时,分机已经响铃了,在未接听前,手机端听不到任何的回铃音。只有接起来后,方可听到声音。这样的体验比较差。
问题解决:修改 intparam 中的
80 114 Force to play local ringtone(0:no, 1:yes, default:0) 0
将 0 修改为 1
相关推荐
elastix SIP 对接代码演示
2台Elastix通过SIP对接测试
来自澳洲的Elastix安装使用手册,分享之余请支持bensharif@gmail.com
迅时4FXO+4FXS口网关与freepbx对接配置手册、适用于elastix、tribox等等
Elastix 没有眼泪英文版, Elastix 中文版用户手册,研究astreisk的好书,Elastix 入门基础。
Elastix_认证培训
此文档主要讲述elastix系统上的call center插件如何使用,非常有用
elastix2.3安装参考视频
voip asterisk elastix
51CTO下载-Asterisk_Elastix_FreePBX
配准软件Elastix学习文档
配准工具Elastix程序安装包和github代码
Elastix 系统集成了最优秀的工具, 它使Asterisk PBX拥有一个简单,易操作的界面.还增加了自己的设备, 允许外界创新, 使其成为开源通信最好的软件包. Elastix 的目标就是要发展成为一个稳定,可调节和易操作的软件系统....
Custom Context教程 可以根据自己的需要,设置分机拨打指定的trunk,也可以设置分机只能拨打内部分机,不能使用trunk
Elastix忘记登陆密码解决方法,voip.
本资料为Elastix中文手册,对于Asterisk有兴趣的初级爱好者有一定帮助。
Elastix 不相信眼泪(中文版)
elastix2.4汉化包 内含 详细说明
More than 140 real-life, hands-on recipes and tips to install, deploy, administer, and maintain any VoIP/Unified Communications solution based on Elastix About This Book Enable a full cost-effective ...