技术专区为您提供行业知识、功能解释、设置常见问题
什么是DTMF?
DTMF(Double Tone MulitiFrequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。 但绝大部分是用作电话的音频拨号。另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。
DTMF是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。 这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8种不同的单音频信号。因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。
根据CCITT的建议,国际上采用的多种频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合见表1。
表1 双音多频的组合功能
高频群Hz/低频群Hz/功能 | 1209 | 1336 | 1477 | 1633 |
697 | 1 | 2 | 3 | A |
770 | 4 | 5 | 6 | B |
852 | 7 | 8 | 9 | C |
941 | * | 0 | # | D |
---------------------------------------
DTMF信号用途
假如你拨打了电信客服10000,它会有相应的语音提示信息,拨0键,接入人工帮助...拨1键,然后干嘛干嘛,那么10000是如何了解你到底拨了哪个键,这就需要一种方式将我们具体拨哪个号码通知给它,这就是DTMF 的用途。
---------------------------------------
目前传送DTMF信号普遍有三种方式:
A. 通信协议传输(SIP信令)
用SIP信令的INFO方法携带DTMF信号。
该方法是用SIP信令的INFO方法来明文定义来代表DTMF信号。主要缺陷是因为SIP控制信令和媒体传输(RTP)是分开传输,很容易造成DTMF信号和媒体包不同步。
举个例子,在Voice Mail应用中,用户根据提示音输入一个DTMF信号,随后开始留言。Server是在接受到该DTMF信号后开始保存用户的留言。然而由于DTMF信号是通过SIP信令来传输的,而媒体流是通过RTP来传输的,有可能用户留言的RTP包先到,而该DTMF信号的INFO消息延迟,导致Server不保存用户的语音留言直至接受到INFO消息。
B. 通过RTP的数据内容传输(Inband)
In Band是指直接将DTMF的音频数字信号不经任何处理直接打成RTP包在IP网中传输。其中可能和用户的语音媒体流混合在一起传输。程序要获知哪个包有DTMF信号,是什么DTMF信号,必须实时检查每个RTP包里面的媒体流数据,分析它的频域。主要缺陷是由于网络丢包的影响,有时会造成DTMF信号丢失,而且DTMF音混合在语音包中,容易产生偏差,造成信号失真。
C. 通过rfc2833的规则和格式包传输
RFC2833是DTMF信号按照一个的规则和格式组成一个数据包,有专门的RTP包进行标识,在RTP包的头域中就可得知该包是DTMF包,并且知道是什么DTMF信号。RFC2833专门对此有定义。该方法是将DTMF信号和媒体流一样,用RTP包来传输,因而没有DTMF信号和媒体流不同步的问题,接收端接收后进行解析,再还原成相应的DTMF信号,对丢包的容错性强以及识别差错率低,相对来说比较成熟。
在选择压缩比很高码率很低的codec,比如G.723.1和G.729A等,建议不要使用INBAND模式,因为INBAND DTMF数据在进行复杂编解码后会产生失真,造成DTMF检测发生偏差或失败。***选择RFC2833和SIPINFO
---------------------------------------
如何判断外线是FSK制式信号?还是DTMF制式信号?
判断方法一:看来电显示号码
FSK制式的一声和第二声响铃之间或第二声响铃后,显示来电号码。
DTMF制式的响铃前或者一声铃声同时,显示来电号码。
判断方法二:看时间
FSK制式除了来电号码之外,还传输其他信息,比如对时,就是自动调试时间
DTMF制式就只传输来电号码
所以根据这个规律,把固话拔电时间回复到出厂,或者把时间调乱,然后手机打外线,可以不接。看看电话机的时间是否是正常时间?如果是正常时间,那么外线就是FSK制式。如果时间不正常,那么外线就是DTMF制式。
判断方法三:听声音,看看DTMF信号是否正常。
手机拨打外线号码,电话机接通后。手机这边按数字键:8,5,2,6,1,3,7,9,电话机那边是否能听到按键声音,如果听不到,那就说明DTMF信号没有正常发送过来,需要运营商开通DTMF信号,或者调整光猫工作模式。