背景

昨天,在私有云环境下,出现大量拨打不通情况;于是按照以下思路去解决这个问题

排查思路

1、去外呼平台相关的结果表里面去查看挂机原因,发现了很多410、480的挂机信令返回;
2、410、480异常信令返回通常认为是对接网关返回的错误信令,于是通过抓包方式去查询是否是对接网关问题。通过查找系统相关路由(外呼根据主叫路由查找到对应网关,这些网关路由都正确,外呼已经发送到相关网关了,但是抓不到包)
3、外呼已经发送到相关网关了,但是抓不到包,于是猜想可能是freeswitch的问题,导致错误,于是去查询freeswitch的相关后台日志。
image.png

发现Ping有失败的情况;所以去查看对应对接网关


<gateway name="gw108">
 <param name="realm" value="112.3.18.9:5060"/>
      <param name="username" value="not-used"/>
      <param name="password" value="not-used"/>
      <param name="ping" value="3000"/>
</gateway>

ping操作是每隔几秒去ping配置的网关,如果对端网关在这个ping的时候,返回了异常,那么此时freeswitch将会把这个异常挂起,直到下次ping的时候返回成功,才会把这个挂起销毁。在异常挂起的期间,freeswitch认为这个网关不可用,所以发起的呼叫,freeswitch会自动将其挂断,返回异常错误信令。
4、添加ping的原因是:之前对接其他硬件网关时候,sip互相通信时候是连接的网路会自动断开,所以加了ping操作。

总结

1、freeswitch的ping操作慎用,他会影响ping时间端内呼叫异常;ping的设置需要网关对端配合,如果对端在ping的时候,只要对端网关在服务可用情况下返回成功。并且在freeswitch下查看对应的ping日志都返回正常,此配置是可用的。
2、话务平台对接网关发起呼叫的过程中,返回的410、408并不全是对方网关或者中继返回的错误信令牌。有可能是freeswitch异常挂起导致自动挂机。


startshineye
91 声望26 粉丝

我在规定的时间内,做到了我计划的事情;我自己也变得自信了,对于外界的人跟困难也更加从容了,我已经很强大了。可是如果我在规定时间内,我只有3分钟热度,哎,我不行,我就放弃了,那么这个就是我自己的问题,因为你自己...


引用和评论

0 条评论