首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么星号(和其他系统)需要重新生成呼叫中的DTMF?

为什么星号(和其他系统)需要重新生成呼叫中的DTMF?
EN

Server Fault用户
提问于 2013-02-05 13:40:29
回答 1查看 1.2K关注 0票数 2

我使用星号与模拟电话设备进行交互,这些设备可以用DTMF交互进行编程和测试。

有些人说得很快。太快了,你可以令人信服地争辩;我马上就到。然而,星号是完全能够听到音调的,如果我足够幸运地获得了带内DTMF音频的纯流,我甚至可以非常成功地识别出非常快的音调。

当星号(或另一个电话系统)决定需要识别和重新生成DTMF时,问题就出现了。我意识到,在翻译例如从带外DTMF到或从带外DTMF时,这是很重要的,但我不知道为什么这样做似乎是默认的操作,尤其是为什么它经常用长时间(例如100 is;谢天谢地,以星号表示,这可以改变,尽管它可能涉及重新编译),这几乎保证了数字的丢失。其他人报告了一些问题,即带内转换到带外转换导致了重复数字,尽管转换是不必要的。

所以我的问题是:为什么这是电话系统的作案手法?除非有明确的翻译要求,否则为什么不让电话中的DTMF单独使用呢?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-02-06 17:28:45

把你最喜欢的歌曲录一张高保真的CD。

用你能找到的最便宜的麦克风录下来。

用最适合口语的8位音频编解码器对录音进行编码。

通过廉价的扬声器播放录音(并摆动电线)。

如果你一边听CD,一边听链子,你就会听到电话里的东西有多糟糕。现在想象一下,不是一首歌,而是你录制的DTMF音调,并试图播放它们,并让计算机识别它们。

这就是为什么大多数VoIP系统使用带外信道(如RFC 2833)重新编码DTMF音调的原因--压缩、网络抖动、延迟和潜在的数据包丢失使音频编码DTMF容易失败。

通过将DTMF音调作为带外数据发送,它们可以重新插入到与PSTN最近的端点的音频流中,从而将音调被破坏的风险降到最低。

为什么是100毫秒?因为一些电话线或远程终端有较短的音调持续时间的麻烦(如果你曾经在一条嘈杂的陆地线路上打电话给触音系统,你可能会按住一个按钮几秒钟,以使系统识别该音调)。

(100毫秒可能太长了-20-50毫秒就足够了)

您不必使用带外信令--潮湿的VoIP系统将处理带内信令(您通常需要在您的电话和服务器上设置一个参数才能做到这一点,而且您必须使用高质量的编解码器(或者如果您想要获得可靠的结果,则完全禁用压缩)。

大多数部署它们的人选择使用RFC 2833 (并重新编码接收到的带内DTMF ),因为它实际上更可靠。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/475609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档