SIP的voip语音通话后30秒左右挂断呼叫怎么解决

news/2024/7/7 20:22:43

我们经常会遇到客户抱怨这样的问题,电话通话时,在大概30秒左右就断线。这样的问题最主要的原因是SIP终端没有收到ACK消息。SIP终端发送了 200 OK以后就开始了媒体的创建,RTP语音流开始启动,事实上,SIP终端可能还没有收到ACK消息,因此在30秒左右,没有收到消息的一方就发送了一个BYE消息。那么,为什么我们没有收到ACK消息呢?具体的场景如下两种示例,返回时因为NAT问题导致ACK没有办法返回到相应的终端:

正在上传…重新上传取消
正在上传…重新上传取消

在很多应用场景中,用户可能遇到更为复杂的NAT环境,如果其中一个代理出现了NAT处理无效的结果,就可能导致整个SIP信令路径出现ACK丢失的问题。

正在上传…重新上传取消

一般情况下,缺少ACK消息的原因主要来自于以下几个方面:
Contact header 错误
客户端没有支持router header
网关在NAT后
Contact header 的地址在NAT后
以上几种情况都需要用户排查网络环境和NAT设置。因为NAT问题,ACK返回的路径地址发生了改变,所以SIP终端没有收到ACK消息。一些厂家的设备或者媒体服务器也有类似的设置,例如Lync 服务器,它支持了RTCP 呼叫活动检测功能,如果超过30秒的检测周期没有收到RTCP数据包,则会挂机。在开源Asterisk平台上,RTP的默认设置时间为30秒,一些SIP运营商可能会忽略UPDTAE消息,在SIP的设置中可以对其进行设置调整disallowed_methods=UPDATE 或SIP的会话定时器设置。\

作者:AI科技WX_kelaile520
链接:https://juejin.cn/post/7129751419095089159
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://lihuaxi.xjx100.cn/news/1098395.html

相关文章

LTE IA attach流程介绍

IA apn用于LTE attach。 手机检测到sim卡后,便会加载这个attach apn. 不过很多运营商并没有严格规定attach apn,所以常常使用default类型的apn。 IA Attach Spec Spec 24.301 4.1 The NAS for EPS follows the protocol architecture model for layer 3 as described in 3G…

PCO(Protocol Configuration Option)功能介绍

协议配置选项PCO(Protocol Configuration Option)用于为UE提供连接网络的附加信息。这是一个可选协议字段,只有当UE请求PCO时,PCO才会出现在Attach Accept信令消息中。 PCO Spec According to 3GPP TS24.008 10.5.6.3, Protocol Configuration Option (PCO) is used to…

16 个必知必会的 Python 教程,助你高效编程

介绍 Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。 本文中将探讨一些鲜为人知的 Python 技巧,这些技巧非常有用,但并不广…

springboot 整合ehchace 缓存教程

ehcache介绍 Ehcache是一种高性能、开源的Java缓存框架,被广泛应用于许多大规模、高并发的分布式系统中。它提供了一种快速、可扩展、分布式的数据缓存方案,支持各种内存级别的缓存、磁盘级别的缓存、分布式缓存等。Ehcache设计目标主要是提供高性能和可…

五音不全?手把手教你用自己声音唱任何歌;最详细的Auto-GPT整理;4月AI绘画模型推荐;HayoAI平台简直太酷了 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『ChatGPT Code Interpreter Magic』魔法!离谱!正在怀疑人生… OpenAI 近期面向部分用户发放了 Code Interp…

Java开发手册-5

Java开发手册-5 编程规约注释规约前后端规约其他 编程规约 注释规约 【强制】类、类属性、类方法的注释必须使用Javadoc规范,使用/**内容*/格式,不得使用//xxx方式。 说明:在IDE编辑窗口中,Javadoc方式会提示相关注释&#xff0…

MySQL数据库——MySQL存储过程是什么?

我们前面所学习的 MySQL 语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,经常会有需要多条 SQL 语句处理多个表才能完成的操作。 例如,为了确认学生能否毕业,需要同时查询学生档案表、成绩表和综合表&…

缓存中常见问题

目录 一、缓存一致性问题 概括: 常见问题: 缓存一致性协议: Redis解决缓存一致性问题: 1、TTL (Time-To-Live)机制 2、Cache Aside Pattern 3、Write-Through Caching 4、Read-Through Caching 二、缓存空间限制 概括&#xff1a…