SIP的voip语音环境咬线或摘机状态什么处理

SIP终端不能挂机或者处于摘机状态是第三个经常遇到的问题。在SIP终端中的表现形式为终端没有发送BYE消息或者发送了错误的BYE消息内容。

没有发送BYE的状态:

其原因主要表现在:\

  • 没有发送BYE消息
  • 发送到BYE消息携带了错误的to-tag
  • 发送了格式不规范的BYE消息,例如格式错误,sequences错误或者时间戳错误。
  • 发送的BYE消息中携带的是错误的路由信息

对于出现的这些问题,用户需要根据SIP消息来进行排查,对比哪些路径节点出现了问题。当然,这些问题带来的结果大家可能都非常清楚。首先,计费的准确性出现了问题,用户的计费不能完整准确地监控。另外,如果媒体服务器对呼叫有限制的话,因为其中一个SIP终端没有真正挂机,其他用户可能不能呼出的问题。如果是一台模拟网关的话,可能出现FXO或者FXS不能正常工作的问题。出现以上这些问题,读者还是要从终端的配置来解决问题,是否出现了终端的配置问题,终端的质量问题。如果是FXO或者FXS的话,是否出现了制式不匹配的问题导致咬线或者摘机的问题。
从服务器端处理的话,可以通过两种办法来通过服务器端对其进行强制挂机处理。这四种服务器端的检测方式是:\

  • 开启RTP超时检测来检测终端的RTP流是否仍然活动
  • 开启SIP的KeepAlive 检测SIP 会话状态
  • 使用Proxy中的dialog中的OPTION来检测SIP终端响应状态,SIP终端发送 200 OK到proxy来检测终端的状态。

使用SIP session timer 定时器来进行周期检测,SIP终端一直在周期内刷新自己的状态。如果SIP终端来定时器的时间范围内,则表示终端参与活动状态;否则,则对其发送BYE消息,强行挂机。

关于session timer的规范,大家可以参考rfc4028,具体的定义方式如下:

完整的SIP sesison timer 流程图如下:

但是,因为很多SIP网络环境中介入了SBC或者其他的网络设备,很多情况下,有时定时器时间设置过短,SBC作为UAC或者UAS,或者proxy不刷新都可能出现上述问题。所以,会话的定时器的管理需要特别小心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值