问题描述
有些客户使用奥科网关后,反应 DTMF 的效果不是很好。
这个问题可能是因为国内很多运营商的 DTMF 编码是 in-band,而大部分 PBX 使用的 DTMF 编码是 RFC2833,在进行 DTMF 拨号时需要转码导致的
我们就针对这个问题给大家一些配置的建议。
DTMF 传输类型
奥科网关支持多种 DTMF 在网络中传输的类型,配置的路径在:Configuration > VoIP > GW and IP to IP > DTMF and Supplementary > DTMF & Dialing。
接下来我们介绍一下网关支持的几种 DTMF 传输类型的设置方法:
- 根据 Nortel IETF 草案发送 SIP INFO 消息:DTMF 信号以 INFO 消息的形式发送到终端。要开启该模式需要做以下配置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 NO (RxFTMFOption = 0)
- 将 ‘1st Tx DTMF Option’ 参数设为 INFO(Nortel)(TxDTMFOption = 1)
- 使用 Cisco 模式的 INFO 消息:DTMF 信号以 INFO 消息的形式发送到终端。要开启该模式需要做以下配置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 NO (RxFTMFOption = 0)
- 将 ‘1st Tx DTMF Option’ 参数设为 INFO(Cisco)(TxDTMFOption = 3)
- 根据 IETF Internet-Draftdraft-mahy-sipping-signaled-digits-01使用 NOTIFY 消息:使用 NOTIFY 消息将 DTMF 数字发送到远端。 要启用此模式,要开启该模式需要做以下配置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 NO (RxFTMFOption = 0)
- 将 ‘1st Tx DTMF Option’ 参数设为 NOTIFY(TxDTMFOption = 2)
- 将 RFC 2833 中继与有效负载类型协商一起使用:根据 RFC 2833,DTMF 数字作为 RTP 流的一部分发送到终端。要开启该模式需要做以下配置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 Yes (RxFTMFOption = 3)
- 将 ‘1st Tx DTMF Option’ 参数设为 RFC 2833(TxDTMFOption = 4)
- 将 DTMF 信号(在 RTP 包中)作为音频流的一部分(关闭 DTMF 中继)发送:这种方式通常被用于 G711 编码中。使用其他低码率(LBR)的编码器,会降低 DTMF 信号的质量。要开启该模式需要做以下配置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 No (RxFTMFOption = 0)
- 将 ‘1st Tx DTMF Option’ 参数设为 Not Supported(TxDTMFOption = 0)
- 在配置文件中,将 DTMFTransportType 设为 2(透明传输模式,默认值为 3)
- 根据韩国模式使用 INFO 消息:DTMF 信号会使用 INFO 消息发送到远端。要开启该模式需要做以下设置:
- 将 ‘Declare RFC 2833 in SDP’ 设置为 No (RxFTMFOption = 0)
- 将 ‘1st Tx DTMF Option’ 参数设为 INFO(Cisco)(TxDTMFOption = 3)
如果不想让设备接受来自 SDP 的 RFC 2833 Telephony 事件,只需要将 ‘Declare RFC 2833 in SDP’ 参数设为 NO 即可。
DTMF 载荷
对于奥科网关来说修改 DTMF 载荷对于 DTMF 效果也是有影响的,我们最好保证对端的 DTMF 载荷和网关中保持一致。
- 打开 RTP/RTCP 设置界面(Configuration > VoIP > Media > RTP/RTCP Settings),对应先选项都在 ‘General Settings’ 下方:
- 配置下列参数:
- ‘RTP Redundancy Depth’ (RTPRedundancyDepth) – 使设备能够生成RFC 2198冗余数据包。
- ‘Enable RTP Redundancy Negotiation’ (EnableRTPRedundancyNegotiation) -使设备能够根据 RFC 2198 在 SDP 中包含 RTP 冗余动态有效载荷类型。
- ‘RFC 2833 TX Payload Type’ (RFC2833TxPayloadType) – 定义了Tx RFC 2833 DTMF中继动态有效载荷类型。
- ‘RFC 2833 RX Payload Type’ (RFC2833RxPayloadType) – 定义了Rx RFC 2833 DTMF中继动态有效载荷类型。
- ‘RFC 2198 Payload Type’ (RFC2198PayloadType) – 根据RFC 2198定义了RTP冗余数据包的有效载荷类型。
- 点击 apply 应用更改
根据我们的经验,国内使用的 RFC2833 载荷通常使用 101 作为载荷,而奥科网关中的载荷类型为 96.