# Customizing RTP endpoint behavior

An application can customize how RTP endpoint RFC 2833 behavior by:

- Configuring RTP endpoint parameters when creating the RTP IPv4 or IPv6 endpoints

- Sending an MSPP endpoint command to an RTP IPv4 or IPv6 endpoint

## Configuring RTP endpoint parameters

Applications configure RTP endpoint RFC 2833 behavior when they create RTP IPv4 and IPv6 endpoints. The RTP endpoint parameter structure (within the RTPRTCP_ENDPOINT_PARMS structure) includes a rfc2833_event_control parameter for configuring how the RTP IPv4 or IPv6 endpoint notifies the application when it receives an RFC 2833 compliant packet. Each rfc2833_event_control parameter is a 32-bit DWORD made up of two 16-bit WORDS. The following table describes the two WORDS that define RTP IPv4 and IPv6 endpoint inband RFC 2833 functionality:

WORD | Available settings
dtmf_event_control | SEND_ALL_EVENTS: Endpoint generates an unsolicited event for every inband RFC 2833 compliant packet it receives. SEND_FIRST_EVENT: Endpoint generates an unsolicited event when it receives the first RFC 2833 compliant packet associated with a DTMF tone, or another trunk, or line signal. SEND_LAST_EVENT: Endpoint generates an unsolicited event when it receives the last RFC 2833 compliant packet associated with a DTMF tone, or another trunk, or line signal. SEND_NO_EVENTS: Endpoint generates no unsolicited events. Note: SEND_FIRST_EVENT and SEND_LAST_EVENT are enabled by default.
decimation (used in conjunction with SEND_ALL_EVENTS) | Specifies how often the RTP endpoint sends DTMF events for a particular tone by specifying how many packets to ignore for a given tone before generating another event. For example, specifying a value of 5 causes the RTP endpoint to generate an inband DTMF tone event for every fifth RFC 2833 compliant packet received for a given DTMF tone.

Use the OR operator to combine dtmf_event_control values.

## Sending RTP IPv4 and IPv6 endpoint filter commands

Applications can also send MSP_CMD_RTPIN_DTMF_EVENTS commands to RTP receive endpoint and RTP endpoints (IPv4 and IPv6) that specify how the endpoint generates events when it receives RFC 2833 compliant DTMF packets. The MSP_CMD_RTPIN_DTMF_EVENTS command requires that the application specify the same dtmf_event_control parameter that is included in the RTP endpoint parameter structure. The created RTP endpoint then generates inband DTMF unsolicited events according to what the application specifies with the rfc2833_event_control parameter.

For more information about sending commands to MSPP endpoint and MSPP channel filters, refer to the Dialogic® NaturalAccess™ Media Stream Protocol Processing API Developer's Manual.