1, DTMF (dual-tone multi-frequency) Definition: By the high-frequency and low-frequency sound two sine wave synthesis represents the digital keys (0~9 * # A B C D).
2. Methods for detecting DTMF data in sip: Sipinfo, RFC2833, Inband
1) Sipinfo
For out-of-band detection, DTMF data is transmitted through the SIP signaling channel. There is no uniform implementation standard, and the DTMF keys are identified by the signal field in the Sipinfo package with the Cisco Sipinfo Standard. Note that when DTMF is "*" the different standards implement the corresponding signal=* or signal=10. The benefit of sipinfo is that it does not affect the transmission of RTP packets, but may cause a different step.
2) RFC2833
For in-band detection mode, through RTP transmission, the special Rtppayloadtype is teleponeevent to mark the RFC2833 packet. The same DTMF key will usually correspond to multiple RTP packets, the timestamps of these RTP packets are the same, this can be used as the basis for identifying the same key, the last packet of RTP packet end flag 1 indicates that the DTMF data ends. In addition, many SIP UA including IAD are provided with teleponeevent setting functions such as 3CX phone,billion-iad,zte-iad, such as the default teleponeevent is 101, but can be artificially modified, this is required in the RFC2833 The teleponeevent parameters of the SDP negotiation need to be obtained prior to DTMF detection.
3) Inband
For in-band detection, and is mixed with the normal RTP voice packet to transmit. In the Inband DTMF detection is the only way to extract the RTP packet spectrum analysis, through the spectrum analysis to get high frequency and low frequency, and then look up the table to get the corresponding keys, the frequency spectrum analysis algorithm is generally goertzel, the implementation of this algorithm is very simple, there are many online can down to, However, the fixed-point algorithm is recommended and the floating point algorithm is inefficient.
In selecting codec with very low compression ratios, such as g.723.1 and g.729a, it is recommended that you do not use the Inband mode, because the Inband DTMF data is distorted after complex codec, which causes the DTMF detection to deviate or fail.
In addition, there is a particular need to note that many SIP UA Inband are accompanied by RFC2833 and sipinfo simultaneously, it is necessary to treat the difference, it is best to choose RFC2833 and Sipinfo
Original: http://sirrain.blog.51cto.com/2645762/481055
Three modes of DTMF (Sipinfo,rfc2833,inband)