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");
}