DTMF学习笔记

概念
 DTMF是dual tone multi frequency的缩写,中文称之为“双音多频”,它是由高频群和低频群组合而成的;“多音双频”中规定,在按键面板中,横向和纵向各占有4个信号,横向的为高频信号,纵向的为低频信号,这样的话,在面板中组合起来,总共有16个频率信号;
而按键的数字是由一个高频信号和一个低频信号组合而成;所以DTMF信号总共有16个,也就是说,总共有16个字符可以通过DTMF表现出来;

IP网络中如何传输DTMF信号

DTMF信号是支持在网络中传输的,目前广泛支持的传输方式有两种;

  1. 使用sip信令进行传输,将DTMF的信息封装在info类型的sip协议包中,这种方式目前存在争议,使用的场景比较少;
  2. 使用RTP协议进行传输,在负载(playload)信息中携带DTMF数据,然后进行网络的传输;目前这种方式使用比较广泛,我们重点介绍这种方法

     RFC2833协议对DTMF在网络中的传输方式有相关的规定,在协议中,规定DTMF使用RTP协议作为传输协议,RTP协议头中的PT字段值97用来表示负载中的内容为RFC2833格式的数据;所以在解析RTP头部信息的时候,获取到PT为97,则需要按照RFC2833的协议格式来解析负载的内容;

    RFC2833格式:
    在这里插入图片描述
    如图,RFC2833定义了以上字段,总共占有4Byte的数据长度;接下来我们针对于每个字段进行介绍:
    event:占有8bit长度,说明该数据包的事件类型,也就是上面提到的16中事件;
    0-9对应于数字0-9,10对应于“*”,11对应于“#”,12对应于A,13对应于B,14对 应于C,15对应于D,16对应于Flash;
    E:占用1bit长度,说明当前字段事件是否结束,当该字段设置为1的时候,说明本次事件 已经结束
    R:占用1bit长度,该字段保留,但是规定发送方必须设置为0
    volume:占用6bit字节长度,在dtmf数字和其他表示音调的事件中,该字段表示音调的功率电平,在删除符号以后,dBm0表示;有效的电频功率为0~-36;该字段仅对DTMF定义,其他事件,直接设置为0;
    duration:占用16bit长度,此事件的持续事件,以时间戳为单位,因此,事件在RTP时间戳标识的瞬间开始,并且一直持续到该阐述指示的时间。该事件可能已经结束,也可能尚未结束。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

brid.huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值