首页 > 其他分享 >为什么发出去的2833 RTP流不能收号

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

时间:2023-01-17 13:38:19浏览次数:41  
标签:Timestamp DTMF 发送 RTP 收号 Marker 2833

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

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

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

为什么发出去的2833 RTP流不能收号_网络协议

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

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

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

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

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

先是将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.

为什么发出去的2833 RTP流不能收号_网络协议_05

 

标签:Timestamp,DTMF,发送,RTP,收号,Marker,2833
From: https://blog.51cto.com/u_15942605/6017161

相关文章