• DTMF在VOIP中的解决方案


    双音多频DTMF(Dual Tone Multi-Frequency)信令,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。由于DTMF在传统通信领域中的广泛使用,所以在VOIP中,DTMF仍是发挥着重要的作用。

    一个DTMF信号由两个频率的音频信号叠加构成。每一对这样的音频信号唯一表示一个数字或符号。产生DTMF信号,就是利用两个不同频率的正弦波叠加以后形成的波形,解码时则采用改进的Goertzel算法,从频域搜索两个正弦波的存在。有16种DTMF信号,0-9、*#ABCD。

    DTMF在VOIP中的解决方案:

    由于在IP网中的通信传输是采用包交换(packet switch)而不是传统领域中的线路交换(circuit switch)以及IP网的不稳定的特性,DTMF在VOIP中应用的解决方案和传统有所不同,并且暂时还未统一,有多种解决方案。

    1.用SIP信令的INFO方法携带DTMF信号。

    该方法是用SIP信令的INFO方法来明文定义来代表DTMF信号。该种方法还在研究讨论当中,有专家认为其并不适用,主要缺陷是因为SIP控制信令和媒体传输(RTP)是分开传输,很容易造成DTMF信号和媒体包不同步。

    简单举个例子,在 Voice Mail应用中,用户根据提示音输入一个DTMF信号,随后开始留言。Server是在接受到该DTMF信号后开始保存用户的留言。然而由于DTMF信号是通过SIP信令来传输的,而媒体流是通过RTP来传输的,有可能用户留言的RTP包先到,而该DTMF信号的INFO消息延迟,导致Server不保存用户的语音留言直至接受到INFO消息。

    2.在RTP媒体传输中携带DTMF信号。

    该方法是将DTMF信号和媒体流一样,用RTP包来传输,因而没有DTMF信号和媒体流不同步的问题,使用H323信令的VOIP就是采用该种方法,相对来说比较成熟。

    而其中又分In band和Out of band(RFC2833)两种。

    In Band DTMF:In Band DTMF是指直接将DTMF的音频数字信号不经任何处理直接打成RTP包在IP网中传输。其中可能和用户的语音媒体流混合(mix)在一起传输。程序要获知哪个包有DTMF信号,是什么DTMF信号,必须实时检查每个RTP包里面的媒体流数据,分析它的频域。

    Out of Band DTMF(RFC 2833):Out of Band DTMF是DTMF信号用专门的RTP包进行标识,在RTP包的头域中就可得知该包是DTMF包,并且知道是什么DTMF信号。RFC2833专门对此有定义。

    3.动态生成DTMF音频信号

    当程序需要产生一个DTMF音频数字信号时,当然可以读取已经录制好的文件。

    4.根据RTP包中的音频信号检测DTMF信号

    在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

  • 相关阅读:
    02-30 线性可分支持向量机
    02-28 scikit-learn库之线朴素贝叶斯
    02-27 朴素贝叶斯
    02-26 决策树(鸢尾花分类)
    047 选项模式
    第二节:师傅延伸的一些方法(复习_总结)
    第一节:登录流程
    第一节:对应拼音编码查询(后续更新)
    前端对象
    Form表单
  • 原文地址:https://www.cnblogs.com/lijingcheng/p/4454932.html
Copyright © 2020-2023  润新知