# h324PassthruDTMFMode

Sets the DTMF mode and payload ID for RFC 2833 DTMF events sent on a pass-through channel.

#### Prototype

DWORD h324PassthruDTMFMode ( MSPHD msphd, WORD control, WORD payload)

Argument | Description
msphd | MSPP handle associated with the MUX endpoint.
control | Sets the DTMF mode for the associated pass-through channel. Valid values are: 0 - Does not shift the timestamp of associated DTMF RTP packets. DTMF_SHIFT_ENABLED - Shifts the timestamp of associated DTMF RTP packets back to better align with the actual start of the DTMF detection. This allows for more synchronized decoder playout of RFC 2833 DTMF digits with respect to the actual DTMF occurrence.
payload | Sets the payload ID for the RFC 2833-compliant DTMF packets sent through the associated pass-through channel. The range is 96 - 127. The default value is 96.

#### Return values

Return value | Description
SUCCESS |
CTAERR_NOT_FOUND | msphd does not map to a current audio pass-through channel. Either h324Start was not called, h324Stop was called, or the wrong handle was passed by the application.
H324ERR_INTERNAL_ERROR | Internal error in the 3G-324M Middleware.
H324ERR_MUTEX_LOCK_FAILED | Internal error trying to lock mutex.
H324ERR_NOT_INITIALIZED | h324Initialize was not called first.

#### Event

Event | Description
H324EVN_PASSTHRU_DTMF_MODE_DONE | DTMF mode and payload ID were configured.

#### See also

h324PassthruPlayRFC2833

#### Example

{
WORD control, payloadID;
payloadID = 97;
control = DTMF_SHIFT_ENABLED;
if (h324PassthruDTMFMode(GwConfig[0].MuxEp.hd, control, payloadID) != SUCCESS)
printf("ERROR: h324PassthruDTMFMode() failed.\n");
}