Applications create MSPP service channels by invoking mspCreateChannel. By default, MSPP channels do not implement RFC 2833 compliant inband DTMF carriage. To create channels that support RFC 2833 capabilities, the application must enable these capabilities with the FilterAttribs parameter in the channel address structure, and configure how the capabilities are implemented with parameters in the channel parameters structure.
When applications create MSPP channels, they specify the following channel address parameters in the following structure:
typedef struct tag_MSP_CHANNEL_ADDR
{
DWORD size;
DWORD nBoard;
MSP_CHANNEL_TYPE channelType;
WORD FilterAttribs;
} MSP_CHANNEL_ADDR;
By setting the FilterAttribs parameter in the channel address structure to MSP_FCN_ATTRIB_RFC2833, the application enables RFC 2833 capabilities for the channel. The following code sample shows how to specify the FilterAttribs parameter at channel create time to have the channel support RFC 2833 capabilities:
MSP_CHANNEL_ADDR MsppVoiceChanAddr
if (EnableInBandDtmf)
MsppVoiceChanAddr.FilterAttribs = MSP_FCN_ATTRIB_RFC2833;
else
MsppVoiceChanAddr.FilterAttribs = 0;
mspCreateChannel(ctahandle, &MsppVoiceChanAddr, &MsppVoiceCHannelParms, MspHandle)
If the application does not enable RFC 2833 capabilities with the FilterAttribs parameter when it creates an MSPP channel, the functionality cannot be enabled on the channel at a later time.
The FilterAttribs parameter enables RFC 2833 capability support on the channel according to default settings. The default settings specify the following functionality:
|
Data path |
Default MSPP channel processing for inband DTMF |
|
Voice data received from PSTN |
|
|
Voice data received from IP network |
|