VOS3000 转码 DTMF Easy 配置:G729、RFC2833与SIP INFO
在VoIP运营中,VOS3000 转码 DTMF 配置是确保跨编码通话与IVR按键正常工作的核心技术环节。当主叫仅支持PCMA(G711a)而被叫仅支持G729时,如果未正确配置转码功能,通话将因编码不兼容而失败,或者虽然通话建立但DTMF按键信号无法正确传递,导致IVR系统无法响应、充值卡PIN码无法识别等严重问题。根据VOS3000转码功能模块使用说明文档(VOS3000_transcode.pdf),”当主被叫语音编码不兼容时,可使用转码功能,使之兼容”,这句话精准概括了VOS3000转码的核心价值。本教程将完整讲解转码配置、RFC2833与SIP INFO双音多频设置、DTMF透传规则以及Payload参数配置,帮助您一次性解决编码转换与DTMF传递的所有问题。
很多VOS3000运维人员在配置转码时经常忽略DTMF的配套设置,结果虽然语音通话正常,但IVR按键、充值卡输入、语音菜单导航等功能全部失效。这种”能打电话但按键无效”的问题,本质上就是转码场景下DTMF配置不当造成的。VOS3000转码功能模块文档明确指出,RFC2833、SIP INFO和Inband三种DTMF方式在转码场景下的行为各不相同,必须根据实际网络环境进行针对性配置。如需专业配置协助,请通过WhatsApp联系我们:+8801911119966。
Table of Contents
VOS3000 转码 DTMF Easy 配置:G729、RFC2833与SIP INFO
在VoIP运营中,VOS3000 转码 DTMF 配置是确保跨编码通话与IVR按键正常工作的核心技术环节。当主叫仅支持PCMA(G711a)而被叫仅支持G729时,如果未正确配置转码功能,通话将因编码不兼容而失败,或者虽然通话建立但DTMF按键信号无法正确传递,导致IVR系统无法响应、充值卡PIN码无法识别等严重问题。根据VOS3000转码功能模块使用说明文档(VOS3000_transcode.pdf),”当主被叫语音编码不兼容时,可使用转码功能,使之兼容”,这句话精准概括了VOS3000转码的核心价值。本教程将完整讲解转码配置、RFC2833与SIP INFO双音多频设置、DTMF透传规则以及Payload参数配置,帮助您一次性解决编码转换与DTMF传递的所有问题。
很多VOS3000运维人员在配置转码时经常忽略DTMF的配套设置,结果虽然语音通话正常,但IVR按键、充值卡输入、语音菜单导航等功能全部失效。这种”能打电话但按键无效”的问题,本质上就是转码场景下DTMF配置不当造成的。VOS3000转码功能模块文档明确指出,RFC2833、SIP INFO和Inband三种DTMF方式在转码场景下的行为各不相同,必须根据实际网络环境进行针对性配置。如需专业配置协助,请通过WhatsApp联系我们:+8801911119966。
何时必须开启VOS3000 转码 DTMF 编码转换
VOS3000转码功能的本质是在媒体路径中实时将一种语音编码转换为另一种编码。根据VOS3000_transcode.pdf第1节,转码功能的位置在”业务管理 > 对接网关/落地网关 > 补充说明 > 编码”。只有当主被叫双方的语音编码不兼容时,才需要开启转码。在实际VoIP运营中,编码不兼容的场景非常普遍:客户的SIP终端可能只支持G711系列编码(PCMA/PCMU),而您的落地供应商只接受G729编码;或者移动端SIP软电话偏好低带宽的G729,但传统PSTN网关只支持G711。在这些情况下,VOS3000转码是打通通话的唯一技术手段。
需要特别强调的是,VOS3000转码必须配合媒体转发功能才能生效。当媒体转发关闭时,RTP媒体流直接在主被叫之间传递,VOS3000无法拦截和转换编码。只有开启媒体转发后,VOS3000才会在媒体路径中接收一侧的RTP,解码后重新编码发送到另一侧,实现实时编码转换。这意味着SS_MEDIAPROXYMODE参数必须设置为On、Auto或Must On,转码功能才有意义。
| 📞 场景 | 🔵 主叫编码 | 🟢 被叫编码 | 🔄 是否需要转码 |
|---|---|---|---|
| SIP终端 → G729落地 | PCMA (G711a) | G729 | ✅ 必须 — PCMA转G729 |
| 移动软电话 → PSTN网关 | G729 | PCMA (G711a) | ✅ 必须 — G729转PCMA |
| 同编码通话 | PCMA | PCMA | ❌ 不需要 — 编码匹配 |
| G723网关 → G729供应商 | G723 | G729 | ✅ 必须 — G723转G729 |
| PCMU → PCMA | PCMU (G711u) | PCMA (G711a) | ⚠️ 视设备而定 |
对接网关与落地网关编码配置
VOS3000转码配置的核心在于对接网关(Mapping Gateway,客户侧)和落地网关(Routing Gateway,供应商侧)的编码设置。根据VOS3000_transcode.pdf第1.2节,配置路径为”业务管理 > 对接网关/落地网关 > 补充说明 > 编码”。每个网关的编码设置独立控制,两侧必须同时正确配置才能实现完整的编码转换。关键的两个选项是”软交换指定”和”允许编码转换”,它们共同决定了VOS3000如何处理编码协商。
软交换指定编码
根据VOS3000_transcode.pdf原文,”软交换指定:主被叫双方使用软交换指定编码来进行通信”。这意味着选择软交换指定后,VOS3000将强制使用您指定的编码与该网关侧通信,而忽略远端设备在SDP中协商的其他编码选项。在对接网关上选择软交换指定PCMA,则VOS3000无论客户终端是否也支持G729,都只会用PCMA与客户通信;在落地网关上选择软交换指定G729,则VOS3000无论供应商是否也支持PCMA,都只会用G729与供应商通信。两侧指定不同编码时,转码自动激活。
允许编码转换
VOS3000_transcode.pdf原文指出:”允许编码转换:当主被叫双方编码不一致时,使用编码转换转换成远端支持的语音编码进行通话”。这个选项必须在对端网关和落地网关两侧都勾选,VOS3000才能在编码不匹配时执行实时转换。如果只在一侧勾选,另一侧编码不一致时通话可能失败。
根据VOS3000_transcode.pdf第1.3节的功能场景示例,完整配置步骤如下:
对接网关配置(主叫侧):
- 进入”业务管理 > 对接网关 > 补充说明 > 编码”
- 勾选”允许使用编码转换”
- 选择”软交换指定编码 PCMA”
- 保存配置
落地网关配置(被叫侧):
- 进入”业务管理 > 落地网关 > 补充说明 > 编码”
- 勾选”允许使用编码转换”
- 选择”软交换指定编码 G729″
- 保存配置
| 🔧 配置项 | 👤 对接网关(主叫侧) | 🏢 落地网关(被叫侧) | 📝 效果 |
|---|---|---|---|
| 允许编码转换 | ✅ 勾选 | ✅ 勾选 | VOS3000可执行双向转码 |
| 软交换指定编码 | PCMA (G711a) | G729 | 两侧编码不同→转码激活 |
| 媒体转发 | On/Auto | On/Auto | VOS3000拦截RTP执行转码 |
| 媒体流方向 | 主叫 → PCMA → VOS3000 | VOS3000 → G729 → 供应商 | ✅ 转码通话成功 |
更多关于G729编码转换的详细配置,请参阅我们的专题教程:VOS3000 G729转码配置指南。
RFC2833与SIP INFO区别与配置
VOS3000支持三种DTMF传输方式:RFC2833、SIP INFO和Inband。在转码场景下,DTMF的正确配置至关重要,因为编码转换会直接影响DTMF信号的传递方式。根据VOS3000_transcode.pdf第2节,三种方式的传输机制完全不同,理解它们的区别是正确配置的前提。
RFC2833 是最推荐的DTMF方式。根据VOS3000_transcode.pdf第2.3节原文,”在信令的SDP中用a=rtpmap:101 telephone-event/8000标识,按键承载在单独的RTP包中”。RFC2833将DTMF按键作为独立的RTP事件包传输,与语音RTP分离但共用RTP通道,因此不受编码压缩的影响,无论是G711还是G729都能可靠传递DTMF。
SIP INFO 方式根据第2.2节原文,”属于独立的信令,按键承载在单独的信令中”。SIP INFO完全走SIP信令通道,与RTP媒体流无关,因此完全不受转码影响。但SIP INFO的缺点是某些SIP设备不支持这种方式,且时序精度不如RFC2833。
Inband 方式根据第2.4节原文,”按键承载在RTP中一段持续的语音”。Inband DTMF将双音多频信号作为实际音频嵌入在RTP语音流中,这在G711编码下可以正常工作,但在G729等低码率编码下,压缩算法会严重失真DTMF音调,导致接收端无法识别按键。因此在转码场景中,Inband是最不可靠的DTMF方式。
| 📋 特性 | 🔵 RFC2833 | 🟢 SIP INFO | 🟡 Inband |
|---|---|---|---|
| 传输通道 | RTP媒体通道(独立事件包) | SIP信令通道 | RTP媒体通道(嵌入语音) |
| 编码兼容性 | ✅ 所有编码 | ✅ 所有编码 | ⚠️ 仅G711 |
| 转码影响 | VOS终结并重新生成 | 不受转码影响 | G729压缩后失真严重 |
| 可靠性 | 高 | 中 | 低 |
| 推荐度 | ✅ 首选推荐 | ⚠️ 特定场景 | ❌ 最后手段 |
关于SIP呼叫中DTMF的更多配置细节,请参考我们的SIP呼叫教程:VOS3000 SIP呼叫配置指南。
DTMF透传与Payload设置
在VOS3000转码 DTMF配置中,Payload值是一个关键参数。根据VOS3000_transcode.pdf第2.5节,”仅有RFC2833中有Payload值的设定”。Payload值指定了RFC2833 DTMF事件在RTP中使用的负载类型编号,该编号同时出现在SDP协商中。标准的RFC2833 SDP标识如下:
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16上述示例中,Payload值为101,表示RTP中负载类型101用于telephone-event,按键0-16均支持(包括数字0-9、*、#以及A-D键)。当勾选Payload设置后,VOS3000只识别对应Payload值的RFC2833 RTP包,发送时也会在RTP包中携带具体的Payload值。
| ⚙️ 参数 | 📋 说明 | ✅ 推荐值 |
|---|---|---|
| Payload值 | RFC2833 RTP负载类型编号,需与SDP中a=rtpmap行一致 | 101(默认) |
| 按键范围 | DTMF按键支持类型,如0-16表示支持所有标准按键 | 0-16 |
| DTMF接收 | 设置VOS3000接受哪种DTMF方式 | 全部(All) |
“使用对端RFC2833能力”复选框详解
VOS3000_transcode.pdf第2.5节对”使用对端RFC2833能力”这个关键设置有详细说明。根据文档原文,行为如下:
勾选时:对端信令的SDP发了RFC2833(a=rtpmap:101 telephone-event/8000),则给远端时也发;对端信令的SDP未发RFC2833,则给远端时也不发。这意味着VOS3000完全跟随对端的RFC2833能力来决定是否向远端通告RFC2833支持。
不勾选时:对端信令的SDP发了RFC2833,则给远端时也发;对端信令的SDP未发RFC2833,则由VOS自动生成SDP中对应字段发送给远端。这意味着即使对端不支持RFC2833,VOS3000也会强制向远端通告RFC2833能力,确保远端设备知道可以使用RFC2833传输DTMF。
在VOS3000转码 DTMF的实际配置中,建议不勾选此选项,这样VOS3000会在两侧都主动通告RFC2833能力,确保DTMF信号在转码过程中能够正确传递。如果您遇到IVR按键无响应的问题,首先检查这个设置是否正确。需要远程排查协助,请通过WhatsApp联系我们:+8801911119966。
| ⚙️ 设置状态 | 🔵 对端发了RFC2833 | ⚪ 对端未发RFC2833 | 📝 建议场景 |
|---|---|---|---|
| ✅ 勾选 | 远端也发RFC2833 | 远端不发RFC2833 | 对端设备能力完全确定时 |
| ❌ 不勾选 | 远端也发RFC2833 | VOS自动生成RFC2833给远端 | 转码场景推荐,确保DTMF兼容 |
带内Inband DTMF识别与发送设置
VOS3000_transcode.pdf第2.5节对Inband DTMF的两个关键设置做了明确说明,理解它们对转码场景至关重要。
“媒体包含带内(inband)DTMF”设置
根据文档原文:勾选时识别Inband,不勾选时不识别Inband。当您勾选此选项后,VOS3000会在接收到的RTP语音流中检测Inband DTMF双音多频信号。这对于处理只支持Inband方式的传统PSTN网关或老式SIP设备非常重要。需要注意的是,Inband DTMF的识别仅在G711编码下可靠,在G729编码下由于压缩失真,识别率极低。
“需使用带内(inband)发送”设置
根据文档原文:勾选时发送Inband,会将对端的RFC2833和SIP INFO拦截;不勾选时不发送Inband。这是一个非常有影响力的设置。当勾选后,VOS3000不仅会用Inband方式向远端发送DTMF,还会主动拦截对端发来的RFC2833和SIP INFO信号,将其转换为Inband音频后发送。这意味着如果对端发送了RFC2833或SIP INFO,VOS3000会丢弃这些信号,转成Inband发给远端。
在VOS3000转码 DTMF配置中,通常不建议勾选”需使用Inband发送”,因为Inband在G729编码下不可靠,且会拦截更可靠的RFC2833和SIP INFO信号。仅在远端设备只支持Inband接收的特殊情况下才需要启用此选项。
媒体转发开启时RFC2833 Payload处理规则
VOS3000_transcode.pdf第2.6节提供了关于媒体转发与RFC2833交互的重要规则,这是VOS3000转码 DTMF配置中最容易被忽略但又最关键的内容。文档原文指出:
“如果开了媒体转发,那么收到远端的SDP中RFC2833 payload和0-16按键支持类型由VOS终结,然后由VOS整合后将VOS DTMF中设定的值发送给对端。举例:开媒体转发后,被叫发了payload 105 0-15,VOS发给主叫默认值为payload 101 0-16。不开媒体转发则透传RFC2833消息。”
这段话的含义是:当媒体转发开启时,VOS3000会终结(终止)从远端收到的RFC2833 SDP参数,包括Payload值和按键范围,然后用VOS3000自身DTMF配置中设定的值重新构建SDP发送给对端。这确保了VOS3000对RFC2833 DTMF有完全的控制权,可以根据两侧网关的配置独立调整Payload值和按键范围。
| ⚙️ 媒体转发状态 | 🔵 RFC2833 Payload | 📋 按键范围 | 📝 行为说明 |
|---|---|---|---|
| ✅ 媒体转发开启 | VOS终结远端值,用VOS设定值替换 | VOS终结远端值,用VOS设定值替换 | 完全控制,例:被叫发105 0-15→VOS发101 0-16 |
| ❌ 媒体转发关闭 | 直接透传原始值 | 直接透传原始值 | VOS不干预,两侧直接协商 |
媒体转发的控制参数是SS_MEDIAPROXYMODE,其可选值包括On(始终开启)、Off(关闭)、Auto(自动判断)、Must On(强制开启)。在转码场景下,必须设置为On或Must On,否则转码和DTMF转换都无法执行。
| ⚙️ 参数值 | 📋 说明 | 🎯 适用场景 |
|---|---|---|
| On | 媒体转发始终开启 | 转码、DTMF转换必选 |
| Off | 媒体转发关闭 | 无需转码、DTMF透传 |
| Auto | 自动判断是否需要媒体转发 | 混合场景,一般使用 |
| Must On | 强制开启媒体转发 | 确保媒体转发不被关闭 |
VOS3000 转码 DTMF 重要注意事项
VOS3000_transcode.pdf第2.6节列出了几条关键注意事项,每一条都可能直接影响您的VOS3000 转码 DTMF配置是否正常工作。
注意一:VOS只识别第一个DTMF类型。当远端同时发送SIP INFO和RFC2833时,VOS3000只会识别第一个检测到的按键类型,之后所有不同按键类型不做任何识别处理。这意味着如果第一次按键以RFC2833方式到达,后续即使同一按键以SIP INFO方式到达也会被忽略。设置DTMF接收为”全部”可以激活这个首次锁定机制,有效防止重复按键问题。
注意二:Inband透传的局限性。若对端勾选了”媒体包含带内Inband”并发送了Inband DTMF,而远端设置了使用SIP INFO或RFC2833发送,则VOS无法对Inband做处理,只能做识别并透传,然后再额外发送一个SIP INFO或RFC2833给远端。这表明Inband DTMF在转码场景下存在透传限制,VOS3000无法将Inband完全转换为RFC2833或SIP INFO。
注意三:RFC2833/SIP INFO转Inband。若对端发送了RFC2833或SIP INFO,而远端设置了”需使用带内Inband发送”,则VOS3000会将RFC2833或SIP INFO丢弃,并转成Inband发给远端。这在G729编码下会导致DTMF失真,务必谨慎使用。
| ⚠️ 场景 | 📋 VOS3000行为 | 💡 建议 |
|---|---|---|
| 远端同时发SIP INFO + RFC2833 | 仅识别第一个DTMF类型 | DTMF接收设为”全部” |
| 对端发Inband + 远端用RFC2833/SIP INFO | Inband透传 + 额外发RFC2833/SIP INFO | 尽量避免,可能产生重复 |
| 对端发RFC2833/SIP INFO + 远端用Inband | 丢弃RFC2833/SIP INFO,转Inband | G729下Inband失真,不推荐 |
| 媒体转发开启 + Payload不一致 | VOS终结并替换Payload和按键范围 | 确保VOS DTMF配置值正确 |
🔗 相关资源
常见问题解答
❓ VOS3000转码时DTMF按键为什么无响应?
VOS3000转码 DTMF按键无响应通常有三个原因。第一,媒体转发未开启,VOS3000无法拦截和转换DTMF信号。第二,”使用对端RFC2833能力”被勾选,但对端没有发送RFC2833能力,导致VOS3000也不向远端通告RFC2833支持。第三,DTMF接收设置过于限制,仅接收单一方式而远端使用了另一种方式。解决方案是确保媒体转发开启,不勾选”使用对端RFC2833能力”,并将DTMF接收设为”全部”。
❓ PCMA转G729后Inband DTMF为什么会失真?
Inband DTMF将双音多频信号作为实际音频嵌入RTP语音流中。G729是低码率压缩编码(8kbps),其压缩算法会对音频信号进行有损压缩,导致DTMF双音多频信号的频率特征被破坏,接收端无法准确识别按键。这就是为什么VOS3000转码 DTMF场景下必须使用RFC2833或SIP INFO,而不能依赖Inband的原因。RFC2833将DTMF作为独立RTP事件传输,完全不受编码压缩影响。
❓ 如何配置VOS3000让两侧使用不同的RFC2833 Payload值?
当媒体转发开启时,VOS3000会终结远端SDP中的RFC2833 Payload值和按键范围,然后用VOS3000 DTMF配置中设定的值发送给对端。例如,被叫侧发送Payload 105和按键0-15,VOS3000会将其终结,然后向主叫侧发送VOS3000默认的Payload 101和按键0-16。您只需要在VOS3000的DTMF配置中设置正确的Payload值,VOS3000会自动处理两侧的映射。如果媒体转发关闭,则RFC2833消息直接透传,两侧Payload值必须一致。
❓ “使用对端RFC2833能力”应该勾选还是不勾选?
在VOS3000转码 DTMF场景中,建议不勾选此选项。不勾选时,即使对端没有发送RFC2833能力,VOS3000也会自动生成SDP中的RFC2833字段发送给远端,确保远端设备知道可以使用RFC2833传递DTMF。勾选则意味着VOS3000完全跟随对端的RFC2833能力,如果对端不支持RFC2833,VOS3000也不向远端通告,可能导致DTMF传递失败。仅在对端设备能力完全确定且两侧RFC2833支持一致时才适合勾选。
❓ 远端同时发送SIP INFO和RFC2833会怎样?
根据VOS3000_transcode.pdf第2.6节,当远端同时发送SIP INFO和RFC2833时,VOS3000只会识别第一个检测到的按键类型,之后所有不同按键类型不做任何识别处理。例如,如果第一次按键以RFC2833方式到达VOS3000,则该通话后续只处理RFC2833方式的DTMF,SIP INFO方式的DTMF会被忽略。这种首次锁定机制可以有效防止同一按键被重复识别的问题。建议将DTMF接收设为”全部”以激活此机制。
❓ VOS3000转码需要多少服务器资源?
VOS3000转码是CPU密集型操作,每个转码通话需要实时解码和重新编码语音流。PCMA转G729的CPU消耗高于PCMA转PCMU。实际资源需求取决于并发转码通话数量:通常一颗现代Xeon核心可处理约100-200路G729转码通话。建议在部署转码前进行负载测试,确保服务器CPU余量充足。同时SS_MEDIAPROXYMODE必须设置为On或Must On,因为转码依赖媒体转发功能拦截RTP流。
❓ VOS3000转码DTMF配置后如何验证?
配置完成后,建议通过以下步骤验证:首先拨打测试电话,在通话中按数字键测试IVR响应;然后查看VOS3000当前通话界面,确认”主叫DTMF”和”被叫DTMF”列显示的模式与预期一致;最后用SIP抓包工具(如tcpdump或ngrep)检查SDP协商中的a=rtpmap行,确认RFC2833 Payload值正确。如果测试中仍存在问题,请联系我们的技术团队通过WhatsApp:+8801911119966。
获取专业VOS3000转码配置服务
VOS3000转码 DTMF配置涉及编码协商、DTMF方式选择、Payload参数设置、媒体转发交互等多个技术环节,任何一个环节配置不当都可能导致通话失败或IVR按键无效。我们的VOS3000专业团队拥有丰富的转码部署经验,能够为您的VoIP平台提供完整的转码和DTMF配置服务,确保跨编码通话和按键交互完美运行。
📱 联系我们 WhatsApp:+8801911119966
无论您是初次部署VOS3000转码功能,还是在现有平台上排查DTMF问题,我们都能提供快速、专业的远程技术支持。从对接网关编码设置到落地网关DTMF参数调优,从RFC2833 Payload配置到媒体转发策略制定,我们一站式解决所有VOS3000转码DTMF相关技术难题。
何时必须开启VOS3000 转码 DTMF 编码转换
VOS3000转码功能的本质是在媒体路径中实时将一种语音编码转换为另一种编码。根据VOS3000_transcode.pdf第1节,转码功能的位置在”业务管理 > 对接网关/落地网关 > 补充说明 > 编码”。只有当主被叫双方的语音编码不兼容时,才需要开启转码。在实际VoIP运营中,编码不兼容的场景非常普遍:客户的SIP终端可能只支持G711系列编码(PCMA/PCMU),而您的落地供应商只接受G729编码;或者移动端SIP软电话偏好低带宽的G729,但传统PSTN网关只支持G711。在这些情况下,VOS3000转码是打通通话的唯一技术手段。
需要特别强调的是,VOS3000转码必须配合媒体转发功能才能生效。当媒体转发关闭时,RTP媒体流直接在主被叫之间传递,VOS3000无法拦截和转换编码。只有开启媒体转发后,VOS3000才会在媒体路径中接收一侧的RTP,解码后重新编码发送到另一侧,实现实时编码转换。这意味着SS_MEDIAPROXYMODE参数必须设置为On、Auto或Must On,转码功能才有意义。
| 📞 场景 | 🔵 主叫编码 | 🟢 被叫编码 | 🔄 是否需要转码 |
|---|---|---|---|
| SIP终端 → G729落地 | PCMA (G711a) | G729 | ✅ 必须 — PCMA转G729 |
| 移动软电话 → PSTN网关 | G729 | PCMA (G711a) | ✅ 必须 — G729转PCMA |
| 同编码通话 | PCMA | PCMA | ❌ 不需要 — 编码匹配 |
| G723网关 → G729供应商 | G723 | G729 | ✅ 必须 — G723转G729 |
| PCMU → PCMA | PCMU (G711u) | PCMA (G711a) | ⚠️ 视设备而定 |
对接网关与落地网关编码配置
VOS3000转码配置的核心在于对接网关(Mapping Gateway,客户侧)和落地网关(Routing Gateway,供应商侧)的编码设置。根据VOS3000_transcode.pdf第1.2节,配置路径为”业务管理 > 对接网关/落地网关 > 补充说明 > 编码”。每个网关的编码设置独立控制,两侧必须同时正确配置才能实现完整的编码转换。关键的两个选项是”软交换指定”和”允许编码转换”,它们共同决定了VOS3000如何处理编码协商。
软交换指定编码
根据VOS3000_transcode.pdf原文,”软交换指定:主被叫双方使用软交换指定编码来进行通信”。这意味着选择软交换指定后,VOS3000将强制使用您指定的编码与该网关侧通信,而忽略远端设备在SDP中协商的其他编码选项。在对接网关上选择软交换指定PCMA,则VOS3000无论客户终端是否也支持G729,都只会用PCMA与客户通信;在落地网关上选择软交换指定G729,则VOS3000无论供应商是否也支持PCMA,都只会用G729与供应商通信。两侧指定不同编码时,转码自动激活。
允许编码转换
VOS3000_transcode.pdf原文指出:”允许编码转换:当主被叫双方编码不一致时,使用编码转换转换成远端支持的语音编码进行通话”。这个选项必须在对端网关和落地网关两侧都勾选,VOS3000才能在编码不匹配时执行实时转换。如果只在一侧勾选,另一侧编码不一致时通话可能失败。
根据VOS3000_transcode.pdf第1.3节的功能场景示例,完整配置步骤如下:
对接网关配置(主叫侧):
- 进入”业务管理 > 对接网关 > 补充说明 > 编码”
- 勾选”允许使用编码转换”
- 选择”软交换指定编码 PCMA”
- 保存配置
落地网关配置(被叫侧):
- 进入”业务管理 > 落地网关 > 补充说明 > 编码”
- 勾选”允许使用编码转换”
- 选择”软交换指定编码 G729″
- 保存配置
| 🔧 配置项 | 👤 对接网关(主叫侧) | 🏢 落地网关(被叫侧) | 📝 效果 |
|---|---|---|---|
| 允许编码转换 | ✅ 勾选 | ✅ 勾选 | VOS3000可执行双向转码 |
| 软交换指定编码 | PCMA (G711a) | G729 | 两侧编码不同→转码激活 |
| 媒体转发 | On/Auto | On/Auto | VOS3000拦截RTP执行转码 |
| 媒体流方向 | 主叫 → PCMA → VOS3000 | VOS3000 → G729 → 供应商 | ✅ 转码通话成功 |
更多关于G729编码转换的详细配置,请参阅我们的专题教程:VOS3000 G729转码配置指南。
RFC2833与SIP INFO区别与配置
VOS3000支持三种DTMF传输方式:RFC2833、SIP INFO和Inband。在转码场景下,DTMF的正确配置至关重要,因为编码转换会直接影响DTMF信号的传递方式。根据VOS3000_transcode.pdf第2节,三种方式的传输机制完全不同,理解它们的区别是正确配置的前提。
RFC2833 是最推荐的DTMF方式。根据VOS3000_transcode.pdf第2.3节原文,”在信令的SDP中用a=rtpmap:101 telephone-event/8000标识,按键承载在单独的RTP包中”。RFC2833将DTMF按键作为独立的RTP事件包传输,与语音RTP分离但共用RTP通道,因此不受编码压缩的影响,无论是G711还是G729都能可靠传递DTMF。
SIP INFO 方式根据第2.2节原文,”属于独立的信令,按键承载在单独的信令中”。SIP INFO完全走SIP信令通道,与RTP媒体流无关,因此完全不受转码影响。但SIP INFO的缺点是某些SIP设备不支持这种方式,且时序精度不如RFC2833。
Inband 方式根据第2.4节原文,”按键承载在RTP中一段持续的语音”。Inband DTMF将双音多频信号作为实际音频嵌入在RTP语音流中,这在G711编码下可以正常工作,但在G729等低码率编码下,压缩算法会严重失真DTMF音调,导致接收端无法识别按键。因此在转码场景中,Inband是最不可靠的DTMF方式。
| 📋 特性 | 🔵 RFC2833 | 🟢 SIP INFO | 🟡 Inband |
|---|---|---|---|
| 传输通道 | RTP媒体通道(独立事件包) | SIP信令通道 | RTP媒体通道(嵌入语音) |
| 编码兼容性 | ✅ 所有编码 | ✅ 所有编码 | ⚠️ 仅G711 |
| 转码影响 | VOS终结并重新生成 | 不受转码影响 | G729压缩后失真严重 |
| 可靠性 | 高 | 中 | 低 |
| 推荐度 | ✅ 首选推荐 | ⚠️ 特定场景 | ❌ 最后手段 |
关于SIP呼叫中DTMF的更多配置细节,请参考我们的SIP呼叫教程:VOS3000 SIP呼叫配置指南。
DTMF透传与Payload设置
在VOS3000转码 DTMF配置中,Payload值是一个关键参数。根据VOS3000_transcode.pdf第2.5节,”仅有RFC2833中有Payload值的设定”。Payload值指定了RFC2833 DTMF事件在RTP中使用的负载类型编号,该编号同时出现在SDP协商中。标准的RFC2833 SDP标识如下:
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16上述示例中,Payload值为101,表示RTP中负载类型101用于telephone-event,按键0-16均支持(包括数字0-9、*、#以及A-D键)。当勾选Payload设置后,VOS3000只识别对应Payload值的RFC2833 RTP包,发送时也会在RTP包中携带具体的Payload值。
| ⚙️ 参数 | 📋 说明 | ✅ 推荐值 |
|---|---|---|
| Payload值 | RFC2833 RTP负载类型编号,需与SDP中a=rtpmap行一致 | 101(默认) |
| 按键范围 | DTMF按键支持类型,如0-16表示支持所有标准按键 | 0-16 |
| DTMF接收 | 设置VOS3000接受哪种DTMF方式 | 全部(All) |
“使用对端RFC2833能力”复选框详解
VOS3000_transcode.pdf第2.5节对”使用对端RFC2833能力”这个关键设置有详细说明。根据文档原文,行为如下:
勾选时:对端信令的SDP发了RFC2833(a=rtpmap:101 telephone-event/8000),则给远端时也发;对端信令的SDP未发RFC2833,则给远端时也不发。这意味着VOS3000完全跟随对端的RFC2833能力来决定是否向远端通告RFC2833支持。
不勾选时:对端信令的SDP发了RFC2833,则给远端时也发;对端信令的SDP未发RFC2833,则由VOS自动生成SDP中对应字段发送给远端。这意味着即使对端不支持RFC2833,VOS3000也会强制向远端通告RFC2833能力,确保远端设备知道可以使用RFC2833传输DTMF。
在VOS3000转码 DTMF的实际配置中,建议不勾选此选项,这样VOS3000会在两侧都主动通告RFC2833能力,确保DTMF信号在转码过程中能够正确传递。如果您遇到IVR按键无响应的问题,首先检查这个设置是否正确。需要远程排查协助,请通过WhatsApp联系我们:+8801911119966。
| ⚙️ 设置状态 | 🔵 对端发了RFC2833 | ⚪ 对端未发RFC2833 | 📝 建议场景 |
|---|---|---|---|
| ✅ 勾选 | 远端也发RFC2833 | 远端不发RFC2833 | 对端设备能力完全确定时 |
| ❌ 不勾选 | 远端也发RFC2833 | VOS自动生成RFC2833给远端 | 转码场景推荐,确保DTMF兼容 |
带内Inband DTMF识别与发送设置
VOS3000_transcode.pdf第2.5节对Inband DTMF的两个关键设置做了明确说明,理解它们对转码场景至关重要。
“媒体包含带内(inband)DTMF”设置
根据文档原文:勾选时识别Inband,不勾选时不识别Inband。当您勾选此选项后,VOS3000会在接收到的RTP语音流中检测Inband DTMF双音多频信号。这对于处理只支持Inband方式的传统PSTN网关或老式SIP设备非常重要。需要注意的是,Inband DTMF的识别仅在G711编码下可靠,在G729编码下由于压缩失真,识别率极低。
“需使用带内(inband)发送”设置
根据文档原文:勾选时发送Inband,会将对端的RFC2833和SIP INFO拦截;不勾选时不发送Inband。这是一个非常有影响力的设置。当勾选后,VOS3000不仅会用Inband方式向远端发送DTMF,还会主动拦截对端发来的RFC2833和SIP INFO信号,将其转换为Inband音频后发送。这意味着如果对端发送了RFC2833或SIP INFO,VOS3000会丢弃这些信号,转成Inband发给远端。
在VOS3000转码 DTMF配置中,通常不建议勾选”需使用Inband发送”,因为Inband在G729编码下不可靠,且会拦截更可靠的RFC2833和SIP INFO信号。仅在远端设备只支持Inband接收的特殊情况下才需要启用此选项。
媒体转发开启时RFC2833 Payload处理规则
VOS3000_transcode.pdf第2.6节提供了关于媒体转发与RFC2833交互的重要规则,这是VOS3000转码 DTMF配置中最容易被忽略但又最关键的内容。文档原文指出:
“如果开了媒体转发,那么收到远端的SDP中RFC2833 payload和0-16按键支持类型由VOS终结,然后由VOS整合后将VOS DTMF中设定的值发送给对端。举例:开媒体转发后,被叫发了payload 105 0-15,VOS发给主叫默认值为payload 101 0-16。不开媒体转发则透传RFC2833消息。”
这段话的含义是:当媒体转发开启时,VOS3000会终结(终止)从远端收到的RFC2833 SDP参数,包括Payload值和按键范围,然后用VOS3000自身DTMF配置中设定的值重新构建SDP发送给对端。这确保了VOS3000对RFC2833 DTMF有完全的控制权,可以根据两侧网关的配置独立调整Payload值和按键范围。
| ⚙️ 媒体转发状态 | 🔵 RFC2833 Payload | 📋 按键范围 | 📝 行为说明 |
|---|---|---|---|
| ✅ 媒体转发开启 | VOS终结远端值,用VOS设定值替换 | VOS终结远端值,用VOS设定值替换 | 完全控制,例:被叫发105 0-15→VOS发101 0-16 |
| ❌ 媒体转发关闭 | 直接透传原始值 | 直接透传原始值 | VOS不干预,两侧直接协商 |
媒体转发的控制参数是SS_MEDIAPROXYMODE,其可选值包括On(始终开启)、Off(关闭)、Auto(自动判断)、Must On(强制开启)。在转码场景下,必须设置为On或Must On,否则转码和DTMF转换都无法执行。
| ⚙️ 参数值 | 📋 说明 | 🎯 适用场景 |
|---|---|---|
| On | 媒体转发始终开启 | 转码、DTMF转换必选 |
| Off | 媒体转发关闭 | 无需转码、DTMF透传 |
| Auto | 自动判断是否需要媒体转发 | 混合场景,一般使用 |
| Must On | 强制开启媒体转发 | 确保媒体转发不被关闭 |
VOS3000 转码 DTMF 重要注意事项
VOS3000_transcode.pdf第2.6节列出了几条关键注意事项,每一条都可能直接影响您的VOS3000 转码 DTMF配置是否正常工作。
注意一:VOS只识别第一个DTMF类型。当远端同时发送SIP INFO和RFC2833时,VOS3000只会识别第一个检测到的按键类型,之后所有不同按键类型不做任何识别处理。这意味着如果第一次按键以RFC2833方式到达,后续即使同一按键以SIP INFO方式到达也会被忽略。设置DTMF接收为”全部”可以激活这个首次锁定机制,有效防止重复按键问题。
注意二:Inband透传的局限性。若对端勾选了”媒体包含带内Inband”并发送了Inband DTMF,而远端设置了使用SIP INFO或RFC2833发送,则VOS无法对Inband做处理,只能做识别并透传,然后再额外发送一个SIP INFO或RFC2833给远端。这表明Inband DTMF在转码场景下存在透传限制,VOS3000无法将Inband完全转换为RFC2833或SIP INFO。
注意三:RFC2833/SIP INFO转Inband。若对端发送了RFC2833或SIP INFO,而远端设置了”需使用带内Inband发送”,则VOS3000会将RFC2833或SIP INFO丢弃,并转成Inband发给远端。这在G729编码下会导致DTMF失真,务必谨慎使用。
| ⚠️ 场景 | 📋 VOS3000行为 | 💡 建议 |
|---|---|---|
| 远端同时发SIP INFO + RFC2833 | 仅识别第一个DTMF类型 | DTMF接收设为”全部” |
| 对端发Inband + 远端用RFC2833/SIP INFO | Inband透传 + 额外发RFC2833/SIP INFO | 尽量避免,可能产生重复 |
| 对端发RFC2833/SIP INFO + 远端用Inband | 丢弃RFC2833/SIP INFO,转Inband | G729下Inband失真,不推荐 |
| 媒体转发开启 + Payload不一致 | VOS终结并替换Payload和按键范围 | 确保VOS DTMF配置值正确 |
🔗 相关资源
常见问题解答
❓ VOS3000转码时DTMF按键为什么无响应?
VOS3000转码 DTMF按键无响应通常有三个原因。第一,媒体转发未开启,VOS3000无法拦截和转换DTMF信号。第二,”使用对端RFC2833能力”被勾选,但对端没有发送RFC2833能力,导致VOS3000也不向远端通告RFC2833支持。第三,DTMF接收设置过于限制,仅接收单一方式而远端使用了另一种方式。解决方案是确保媒体转发开启,不勾选”使用对端RFC2833能力”,并将DTMF接收设为”全部”。
❓ PCMA转G729后Inband DTMF为什么会失真?
Inband DTMF将双音多频信号作为实际音频嵌入RTP语音流中。G729是低码率压缩编码(8kbps),其压缩算法会对音频信号进行有损压缩,导致DTMF双音多频信号的频率特征被破坏,接收端无法准确识别按键。这就是为什么VOS3000转码 DTMF场景下必须使用RFC2833或SIP INFO,而不能依赖Inband的原因。RFC2833将DTMF作为独立RTP事件传输,完全不受编码压缩影响。
❓ 如何配置VOS3000让两侧使用不同的RFC2833 Payload值?
当媒体转发开启时,VOS3000会终结远端SDP中的RFC2833 Payload值和按键范围,然后用VOS3000 DTMF配置中设定的值发送给对端。例如,被叫侧发送Payload 105和按键0-15,VOS3000会将其终结,然后向主叫侧发送VOS3000默认的Payload 101和按键0-16。您只需要在VOS3000的DTMF配置中设置正确的Payload值,VOS3000会自动处理两侧的映射。如果媒体转发关闭,则RFC2833消息直接透传,两侧Payload值必须一致。
❓ “使用对端RFC2833能力”应该勾选还是不勾选?
在VOS3000转码 DTMF场景中,建议不勾选此选项。不勾选时,即使对端没有发送RFC2833能力,VOS3000也会自动生成SDP中的RFC2833字段发送给远端,确保远端设备知道可以使用RFC2833传递DTMF。勾选则意味着VOS3000完全跟随对端的RFC2833能力,如果对端不支持RFC2833,VOS3000也不向远端通告,可能导致DTMF传递失败。仅在对端设备能力完全确定且两侧RFC2833支持一致时才适合勾选。
❓ 远端同时发送SIP INFO和RFC2833会怎样?
根据VOS3000_transcode.pdf第2.6节,当远端同时发送SIP INFO和RFC2833时,VOS3000只会识别第一个检测到的按键类型,之后所有不同按键类型不做任何识别处理。例如,如果第一次按键以RFC2833方式到达VOS3000,则该通话后续只处理RFC2833方式的DTMF,SIP INFO方式的DTMF会被忽略。这种首次锁定机制可以有效防止同一按键被重复识别的问题。建议将DTMF接收设为”全部”以激活此机制。
❓ VOS3000转码需要多少服务器资源?
VOS3000转码是CPU密集型操作,每个转码通话需要实时解码和重新编码语音流。PCMA转G729的CPU消耗高于PCMA转PCMU。实际资源需求取决于并发转码通话数量:通常一颗现代Xeon核心可处理约100-200路G729转码通话。建议在部署转码前进行负载测试,确保服务器CPU余量充足。同时SS_MEDIAPROXYMODE必须设置为On或Must On,因为转码依赖媒体转发功能拦截RTP流。
❓ VOS3000转码DTMF配置后如何验证?
配置完成后,建议通过以下步骤验证:首先拨打测试电话,在通话中按数字键测试IVR响应;然后查看VOS3000当前通话界面,确认”主叫DTMF”和”被叫DTMF”列显示的模式与预期一致;最后用SIP抓包工具(如tcpdump或ngrep)检查SDP协商中的a=rtpmap行,确认RFC2833 Payload值正确。如果测试中仍存在问题,请联系我们的技术团队通过WhatsApp:+8801911119966。
获取专业VOS3000转码配置服务
VOS3000转码 DTMF配置涉及编码协商、DTMF方式选择、Payload参数设置、媒体转发交互等多个技术环节,任何一个环节配置不当都可能导致通话失败或IVR按键无效。我们的VOS3000专业团队拥有丰富的转码部署经验,能够为您的VoIP平台提供完整的转码和DTMF配置服务,确保跨编码通话和按键交互完美运行。
📱 联系我们 WhatsApp:+8801911119966
无论您是初次部署VOS3000转码功能,还是在现有平台上排查DTMF问题,我们都能提供快速、专业的远程技术支持。从对接网关编码设置到落地网关DTMF参数调优,从RFC2833 Payload配置到媒体转发策略制定,我们一站式解决所有VOS3000转码DTMF相关技术难题。
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
📱 WhatsApp: +8801911119966
🌐 Website: www.vos3000.com
🌐 Blog: multahost.com/blog
📥 Downloads: VOS3000 Downloads
![]() | ![]() | ![]() |


