DTMF handling

DTMF keys are sent and received with DTNA using the RTP channel as either in-band (audio tones) or RTP ‘Payloads’ (which is also known as RFC2833). For in-band audio, Blueworx Voice Response DTNA runs DTMF signal processing detectors on the signal, and for RFC2833, it simply decodes the received RTP packets and places the resulting DTMF keys into the queue just as if they were decoded with the signal processing code.

There is a DTMF Transmission Method system parameter in the VoIP DTEA and DTNA Media group which controls the way in which DTMF ‘Inband’ or ‘Payload’ is negotiated.

For outbound calls, Blueworx Voice Response offers RFC2833 in the SDP (Telephone Event) if the above System Parameter is set to RTP Payload. Otherwise (for DTMF ‘Inband’) the Telephone Event option is not offered in the INVITE SDP.

For inbound calls, Blueworx Voice Response accepts Telephone Events (if offered by the far end) only if the above System Parameter is set accordingly. If there is a mismatch either way (far end requests Telephone Event, but Blueworx Voice Response is not configured to accept it or the other way round), Blueworx Voice Response sends a 415 error code and refuses the call.

After it is negotiated, the DTMF method type (Inband or Payload) applies in both directions. (For example, if ‘inband’ is agreed by both ends, Blueworx Voice Response detects and send tones and if RTP payload has been agreed, Blueworx Voice Response sends and accepts RFC2833 packets.