Howto:DTMF and SIP

From innovaphone wiki
Jump to navigation Jump to search

Supported

  1. DTMF signaling through RTP channel (aka. telephone-event) acc. to RFC-2833
  2. DTMF signaling through signaling channel using INFO request
  3. DTMF as tones

DTMF signaling through RTP channel

For end-to-end signaling. Requires negotiation of a payload type for "telephone-event". Both endpoints needs to offer a payload type for "telephone-event". If either side does not provide a payload type for "telephone-event", this way of DTMF transmission is not possible.

DTMF signaling through signaling channel

Transport using INFO request with Content-Type "dtmf-relay". This way of DTMF transmission is used when (1) is not possible.

DTMF as tones

If a VoIP endpoint is configured to generate DTMF as audio tones, none of the above signaling methods are used. DTMF tones are part of the audio stream. Processing requires DTMF tone detection at the receiving side which usually requires hardware support (DSPs).

If you have a SIP Interfaces and need DTMF tone detection, you need enough ISDN Ports, Licences and Channels to create a ISDN bridges and send the RTP mediastream over the ISDN bridge to use the DSP for detection/conversion.

Please keep in mind that you only can use the half of channels for calls. The other half is used for the other site from ISDN bridge.
DTMF tone detection does not work together with audio compression like G.723 or G.729.

Why is INFO used on my installation?

INFO (1.2) is used if "telephone-event" (1.1) is not possible.
And "telephone-event" is not possible if payload type is not negotiated.

Objects using DTMF

DTMF-handling objects such as Voicemail or WaitingQueue will only work with signaled DTMFs through RTP or signaling channel. Inband-DTMF recognition requires a DSP.