DTMF payload type 介绍

关联话机设置:话机网页 → Profile → Advanced → DTMF payload type,默认值为 101。

在 RTP 中,负载类型用于标识特定类型的数据。在 DTMF 的情况下,负载类型指明了用于传输 DTMF 信号的音频格式。RTP 使用负载类型来确保接收端知道如何处理传输的数据。

DTMF 事件编码

DTMF 信号通常通过特定的音频编码格式(如 PCMU 或 PCMA)传输,或者通过专门的 DTMF 事件编码来传递。在这种情况下,DTMF 信号本身不是直接作为音频流进行传输,而是作为特殊的事件类型进行处理。

RTP 中的 DTMF 负载类型

RTP 中 DTMF 信号的传输有时会使用 RFC 2833 定义的负载类型。在该规范中,DTMF 按数字和符号的事件编码进行传输,而不以传统音频的方式传送音调。

RFC 2833 为 DTMF 信号指定了一个特定的负载类型 ID。负载类型 ID 指示了传输的内容是 DTMF 信号的一个事件,而不是常规音频数据。

常见的负载类型

PT=101:这通常是 DTMF 事件的标准负载类型。当 SIP 或其他基于 RTP 的协议传输 DTMF 信号时,会使用此负载类型来标识 DTMF 事件。

负载类型的值并不固定为 101。不同的协议和应用可能使用不同的负载类型值来标识不同类型的数据。RFC 2833 并没有强制要求负载类型必须是 101,虽然 101 通常是 DTMF 事件的标准负载类型。实际上,RTP 负载类型是一个 8 位字段,因此负载类型可以是 0 到 127 之间的任何整数(对于动态负载类型,可以更高)。

在实际使用中,负载类型 101 是 DTMF 事件的一个常用标准,但并不是唯一的可能值。例如:

  • PT=100:有时用于其他音频或视频格式。
  • PT=99:有时用于传输 DTMF 信号的其他协议,或者可能用于专用应用。

负载类型的协商

RTP 负载类型的值通常在媒体协商阶段确定。通常通过 SIP(Session Initiation Protocol)或其他信令协议在会话建立时协商。在 SIP 中,DTMF 的传输方式可以通过 in-band(内带音频方式)或 out-of-band(外带信号方式)进行选择。对于外带信号方式(如 RFC 2833),会话协商时会明确使用哪个负载类型。

例如:

  • 如果是 DTMF 传输,可能约定使用 PT=101 来传递 DTMF 信号。
  • 如果其他音频数据或事件需要传输,可能使用不同的负载类型值(比如 PT=100、PT=96 等)。



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • DTMF 的三种模式(SIP INFO、RFC 2833、IN BAND)
  • SIP 中 180 与 183 的区别
  • RFC 3581 中的 rport 例子详解
  • DNS 记录的类型及其功能
  • IPv6 地址类型详解