You can transfer DTMF digits according to RFC 2833 through audio pass-through channels, as well as through encoder and decoder channels. The procedure for transferring DTMF digits differs by channel type, as described in this topic.
This subsection describes how to transfer DTMF digits through audio pass-through channels.
Use h324PassthruPlayRFC2833 to transfer a DTMF digit through an audio pass-through channel from the PSTN side to the IP side of the 3G-324M Interface. This function does the following:
Creates an RFC 2833 DTMF event, which packages the DTMF tone information into a specially formatted RTP packet.
Transfers the packet to the IP network.
The following example shows how to transfer a DTMF digit in this way:
{
DWORD result;
WORD nEventID, nEventDuration;
nEventID = ‘3’; // The keypad digit ‘3’
EventDuration = 80; // Digit pressed for 80 ms.
result = h324PassthruPlayRFC2833(GwConfig[0].MuxEp.hd, nEventID, EventDuration);
if (result != SUCCESS)
printf("ERROR: h324PassthruPlayRFC2833() failed.\n");
}
When a DTMF digit arrives from the IP side of the 3G-324M Interface in RFC 2833 encapsulation, the receiving RTP endpoint conveys it to the application in an MSPEVN_RFC2833_REPORT event. It is the responsibility of the application to forward that digit to the 3G-324M terminal through an H.245 user indication message (h324UserIndication), if required.
The DTMF represented by the MSPEVN_RFC2833_REPORT is not forwarded automatically to the 3G-324M terminal in the audio channel because that channel carries compressed audio (AMR or G.723.1). This is unreliable for transmission of DTMF tones.
For more information about the MSPEVN_RFC2388_REPORT event, see the Fusion Developer's Manual.
The ability to transfer DTMF digits according to RFC 2833 through audio encoder and decoder channels is provided by Fusion MSPP functionality. For information about RFC 2833 support for these channel types, see the Fusion Developer's Manual.