最近工作中需要一些关于多媒体会议相关协议的知识,这里作一个笔记,以便以后查看。下面的知识来于网络,本人做了一个整理。原文请参考 文献链接。
Q. What is DTMF ?
A. 双音多频信号(Dual-Tone Multi-Frequency, DTMF),电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。在使用双音多频信号之前,电话系统中使用一连串的断续脉冲来传送被叫号码,称为脉冲拨号。脉冲拨号需要电信局中的操作员手工完成长途接续。双音多频信号是贝尔实验室发明的,其目的是为了自动完成长途呼叫。
双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如’1’相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。
| 1209 Hz | 1336 Hz | 1477 Hz | 1633 Hz | |
|---|---|---|---|---|
| 697 Hz | 1 | 2 | 3 | A |
| 770 Hz | 4 | 5 | 6 | B |
| 852 Hz | 7 | 8 | 9 | C |
| 941 Hz | * | 0 | # | D |
注意:ABCD四个字母于现代电话已不用。
特殊音频
| 事件 | 低频 | 高频 |
|---|---|---|
| 忙音 | 480 Hz | 620 Hz |
| 回铃音(美及英式) | 440 Hz | 480 Hz |
| 拨号音(美及英式) | 350 Hz | 440 Hz |
Q. 当程序需要产生一个DTMF音频数字信号时,可以读取已经录制好的文件,但如何动态生成DTMF音频信号?
A. DTMF信号的原理是两个不同频率的正弦波叠加。
63 = 128 /2 – 1
Q. DTMF的传输方式:Info, In Band, Out of Band(RFC2833) ?
A.
该种方法还在研究讨论当中,有专家认为其并不适用,主要缺陷是因为SIP控制信令和媒体传输(RTP)是分开传输,很容易造成DTMF信号和媒体包不同步。
在 Voice Mail应用中,用户根据提示音输入一个DTMF信号,随后开始留言。Server是在接受到该DTMF信号后开始保存用户的留言。然而由于DTMF信号是通过SIP信令来传输的,而媒体流是通过RTP来传输的,有可能用户留言的RTP包先到,而该DTMF信号的INFO消息延迟,导致Server不保存用户的语音留言直至接受到INFO消息。
而其中又分In band和Out of band(RFC2833)两种。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | event |E|R| volume | duration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
与DTMF相关的在telephone-event负载格式中的命名事件包括:
Event encoding (decimal) _________________________ 0--9 0--9 * 10 # 11 A--D 12--15 Flash 16 Table 1: DTMF named events
拨打911后的RTP数据包为:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | sequence number | | 2 |0|0| 0 |0| 96 | 28 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp | | 11200 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier | | 0x5234a8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |F| block PT | timestamp offset | block length | |1| 97 | 11200 | 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |F| block PT | timestamp offset | block length | |1| 97 | 11200 - 6400 = 4800 | 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |F| Block PT | |0| 97 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | digit |E R| volume | duration | | 9 |1 0| 7 | 1600 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | digit |E R| volume | duration | | 1 |1 0| 10 | 2000 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | digit |E R| volume | duration | | 1 |0 0| 20 | 400 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Example RTP packet after dialing "911"
A. 在很久很久以前(long long ago),那时候人们还处于模拟通信和机械式交换机的时代(纵横或者步进),那时候不存在独立的信令网,交换机之间的“语言交流(信令)”和语音信号在一条传输通道上跑。这就是带内信令。后来发展了,交换机之间的“语言交流(信令)”和语音信号的传输分别走不同的传输通道,建立起独立的信令网,这样信令信号走信令网,语音走语音的传输通道,两者分道扬镳,这就是带外信令!
带内信令是指信号的频率在话音频率范围之内(0.3~3.4kHz)。带内信号是在话音通道内传递的。
带外信令,又叫共路信令,是一种采用在信息传输频率/信道之外的频率/信道传输信令技术。在带内信令可能受到各种网络问题影响的情况下,带外信令经常被用于传输控制命令以报告相关的错误信息。
参考文献:
1, http://zh.wikipedia.org/wiki/DTMF
2, http://blog.csdn.net/kukumouse/article/details/
3, http://www.ietf.org/rfc/rfc2833.txt
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225079.html原文链接:https://javaforall.net
