为什么发出去的2833 RTP流不能收号

简介: 为什么发出去的2833 RTP流不能收号

对前段时间解决的收号问题做个复盘。


我开发的媒体服务器部署在某省,为电话用户提供媒体服务。前段时间我们现场交付同事联系我,有某总机电话,无法进行收号。


于是先请现场的同事进行了媒体抓包,我通过媒体包分析媒体包,发现DTMF部分的数据都传输过去了。


061e03ee0013435eaa72249d58dd4f65.png


但有两个RTP的HEADER地方不太一样。一个是DTMF发送的按键的第一个RTP流中的Marker,一个是DTMF发送按键时,它的Timestamp是不变的。


eb93e339e47c47bc88fb3b5d042e70f8.png

a4a271821da9496eb49fae24fc9d9903.png

eed6e242180042ceb03ee4a5bb08edef.png


于是进行排除法进行修改.


先是将Timestamp的发送算法就行了修改,发送DTMF时,同一个DTMF,Timestamp不变。 在公司测试okay后,在现场进行了升级。经过拨测总机还是收不到号。然后我就注意到了Marker。


然后继续修改MS,当DTMF发送第一个RTP包时,将Mark设置为True,后面设置为False。再次升级验证后,收号正常了。


后来我又查了下RFC 2833的规范说明。


Marker为True,表示DTMF的起始位。


Marker bit: The RTP marker bit indicates the beginning of a new    event.


f2607e153fd44aec912191b4b946125b.png

相关文章
第八章 Helm 模板高效互用动态参数生成
第八章 Helm 模板高效互用动态参数生成
223 1
|
监控 安全 网络安全
|
缓存 网络协议 Linux
c++实战篇(三) ——对socket通讯服务端与客户端的封装
c++实战篇(三) ——对socket通讯服务端与客户端的封装
495 0
|
10月前
|
监控 数据挖掘 API
京东商品历史价格 API 接口系列(京东 API)
本文介绍了如何使用京东开放平台API获取商品价格信息。首先,需注册账号并创建应用以获取App Key和App Secret,进而获取Access Token。准备好开发工具后,通过调用`jd.item_search`和`jd.item_get`接口,可以分别按关键字搜索商品和获取指定商品的详细信息及价格。示例代码展示了如何使用Python的requests库进行API请求。应用场景包括价格监控、商家定价策略、电商平台数据分析及商业智能决策支持。
834 10
|
iOS开发 MacOS Python
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
1272 0
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
|
关系型数据库 MySQL 应用服务中间件
502 Bad Gateway错误分析与解决方案
502 Bad Gateway错误通常发生在客户端与服务器通信时,表示网关或代理未能从上游服务器获取有效响应。本文分析了该错误的可能原因,包括LNMP安装包问题、加速器配置错误、PHP-CGI进程不足等,并提供了详细的解决方案,如手动安装PHP、调整配置参数、清理磁盘空间等。针对Nginx,还介绍了关键参数调整方法和实施步骤。通过这些方法,可有效解决502错误,提高服务器稳定性。注意备份数据并谨慎操作。
3579 2
|
存储 人工智能 自然语言处理
AI代码生成器——GitHub Copilot
【2月更文挑战第16天】AI代码生成器——GitHub Copilot
585 2
AI代码生成器——GitHub Copilot
|
消息中间件 Java Linux
RocketMQ-编译安装教程
RocketMQ-编译安装教程
RocketMQ-编译安装教程
|
关系型数据库 MySQL API
Python web框架fastapi数据库操作ORM(一)
Python web框架fastapi数据库操作ORM(一)
2144 2
|
SQL 存储 安全
【less-24】基于SQLI的二次注入
【less-24】基于SQLI的二次注入