DTMF Signaling for VoIP
What Is DTMF Signaling?
Over the years, many businesses have attempted to find ways to use the telephone networks to improve the delivery of their services. Some of these techniques have become standardized and they provide a tremendous amount of utility to the average user. Take for example the technology known as IVR or Interactive Voice Response. Everyone has encountered this where an automated attendant offers the user a choice of several options each of which is designated by a certain number. When the user presses that number, the corresponding option is selected.
The protocol by which these keypresses are sent across to the receiver is known as DTMF or Dual Tone Multi Frequency. It basically consists of each key press having a unique "tone" or signature which is recognized by the receiver will then able to make the determination of what option was selected. In the earlier days, we used to have "pulse dialing" which was essentially a repeated breaking of the telephone connection a certain number of times to signify which button was pressed. These days we have tone dialing with each key press generating a specific sound signature.
For DTMF to work properly with VoIP, we need to instruct the devices on how to send the signals across so that they are interpreted properly by the receiving end. There are several ways to do this.
DTMF Signaling with SIP
The most straightforward way of course is to send the DTMF signals "in band". What this means is that no special channel or protocol is used for sending the tones across. They are merely sent along with the regular voice stream itself. Doubtless this is the easiest way to send the signals but because we are talking about VoIP and not the traditional PSTN system, they can be a few complications. For example, if the VoIP audio codec compresses the voice signals in a certain way, the DTMF signals can come out mangled at the other end making it uninterpretable by the receiver. In addition, problems such as dropped packets will also hinder the proper usage of DTMF signals in band.
It's clear that another method is necessary. Actually there are two other techniques. One is to send DTMF signals as an SIP INFO packet. This creates a separate channel on which the signals are sent and therefore avoids any problems like dropped packets or codec mangling.
Another technique is to include the DTMF signals in special packets in the regular RTP stream as defined in the RFC 2833 standard. This last approach has the advantage of being very flexible to incorporate features such as fax sounds and even country specific tones. It's probably the most malleable and useful method for sending DTMF signals across. Contact your SIP provider to find out whether or not you need to change your DTMF settings on your SIP client.