检测RTP负载中的静音

我正在面对基于Asterisk的ToIP基础结构的问题。 有时我的手机收到“空”RTP(有效负载全部用5d填充)。

我浏览了RFC(3551,3389),找不到相关的答案。

我发现有两个网页与我有同样的问题:

https://www.wireshark.org/lists/ethereal-users/200402/msg00142.html

http://www.giacomovacca.com/2013/05/the-sound-of-silence-encoded-with-g711.html

所以:

  • 有人知道官方的答案在哪里吗?
  • 谁决定填写0x55或0xd5将没有声音?
  • 另外,谁可以向我解释为什么0x55或0xd5使0?

谢谢!

这来自G.711audio编解码器的PCM程序。

G.711定义了用于PCM(脉码调制)audio数据的两个对数编解码器:a-law和u-law。 编解码器algorithm基于人耳的感知特性 – 弱信号被强音掩盖。

在压缩之后(从u-law中的14位采样和a-law中的13位采样)到8位,除了符号位之外的最后7位被反转。 未被反转的位称为符号位 。 这种位反转增加了传输系统中的位密度,有助于接收机中的时序和时钟恢复电路。

理想的通道噪声使得u-law中的01111111(0x7F)和11111111(0xFF)之间的比特和在a-law中的01010101(0x55)和11010101(0xD5)之间切换。 我们通常使用正则法编码。

在编解码器规范中,负面声音样本是1的补充,以alignment正负数的dynamic范围。 等号的压缩负值和正值由符号位来区分。

有关PCM的更多细节描述,你可以在这里阅读

你也可以阅读规范 。