# RTP IPv4 simplex send endpoint filter

Provides an exit point for a simplex voice over IPv4 data stream (data that includes RTP headers within UDP packets) sent to the data network interface. For information about RTP IPv4 endpoint parameters, refer to RTP IPv4 endpoint address structure and RTP IPv4 endpoint parameter structure.

#### Filter ID

MSP_ENDPOINT_RTPOUT

#### Initialization structure

RTPRTCP_ENDPOINT_PARMS

#### Restrictions

Used in the voice processing connections.

#### Channel connections

Can connect to simplex voice encode channels.

#### Commands

RTP IPv4 simplex send endpoint filters respond to the following commands:

Command ID | Description
MSP_CMD_RTPOUT_CONFIG | Sends an msp_ENDPOINT_RTPOUT_CONFIG structure that specifies configuration parameters for the endpoint. RTP IPv4 simplex endpoints must be in a disabled state to receive MSP_CMD_RTPOUT_CONFIG commands.
MSP_CMD_RTPOUT_RTCP_EVENTS | Enables or disables sending RTCP reports to the application through unsolicited events.
MSP_CMD_RTPOUT_LINK_EVENTS | Enables or disables reporting of link availability transitions through unsolicited events.
MSP_CMD_RTPOUT_CHG_QUOTA | Sets the number of frames to be assembled per packet (default is two frames per packet).
MSP_CMD_RTPOUT_SEND_2833 | Sends an msp_ENDPOINT_RTPOUT_SEND_2833 structure that initiates a sequence of RFC 2833/4733 packets that correspond to a DTMF digit or other tone. Intended for use with Native Play when there is no encoder filter.

RTP IPv4 simplex send endpoints can receive commands any time after the endpoint is created except for the MSP_CMD_RTPOUT_CONFIG command. The RTP send endpoint must be disabled to receive MSP_CMD_RTPOUT_CONFIG commands.

When sending MSP_CMD_RTPOUT_CONFIG commands, applications provide a pointer to an msp_ENDPOINT_RPTOUT_CONFIG structure. This structure contains all of the parameters used to configure the RTP endpoint when the application created it (parameters that do not apply to the specific endpoint type, for example, disassembler parameters for a simplex send endpoints are ignored by the MSPP service).

When using the MSP_CMD_RTPOUT_CONFIG command, applications can specify a value of 0xFFFF for 16-bit parameters or 0xFFFFFFFF for 32-bit parameters (or -1 in decimal format) to retain the existing settings for any endpoint parameters. Otherwise the MSPP service expects a new value for every parameter in the msp_ENDPOINT_RTPOUT_CONFIG structure.

For a list of command IDs and their associated structures, refer to the mspcmd.h or mspinit.h header files.

#### Queries

RTP IPv4 simplex send endpoint filters respond to the following query:

Query ID | Description
MSP_QRY_RTPOUT_STATUS | Returns information about the RTP endpoint filter state in an msp_FILTER_RTPOUT_STATUS structure.

Sending an MSP_QRY_RTPOUT_STATUS query returns the following structure:

typedef struct tag_msp_ENDPOINT_RTPOUT_STATUS {
// RTP Data
DWORD FilterId;
DWORD ipFilterState;
IPADDRESS localIPAddr;
DWORD localPort;
IPADDRESS remoteIPAddr;
DWORD remotePort;
DWORD rtcpEvents;
DWORD linkEvents;
// RTP Stats
DWORD txDrop;
DWORD txFail;
DWORD txPkts;
DWORD txBytes;
// RTP Assembler Data
DWORD frame_quota;
DWORD assemble_dtmfFrames;
}msp_ENDPOINT_RTPOUT_STATUS;

The returned query structure provides the following information:

Field | Description
FilterId | Reserved.
ipFilterState | Indicates the current state of the filter and the socket state with the CG board IPv4 stack: Created (0x00) The filter is created. Configured (0x01) The filter is configured with its IP and RTP parameters. Starting (0x02) The filter is enabled and is in the process of opening a socket with the CG board IPv4 stack. Active (0x03) The filter has an open socket and is processing RTP data. Stopping (0x04) The filter is disabled and is in the process of closing its socket with the CG board IPv4 stack. Stop/Destroy (0x05) The filter received a destroy indication and is closing its socket with the CG board IPv4 stack prior to destroying itself. Destroying (0x06) The filter is cleaning up any associated on-board resources before destroying itself.
localIPAddr | Local IPv4 address of the Ethernet interface on which the RTP session is running.
localPort | Local UDP port number for the RTP session.
remoteIPAddr | Remote IPv4 address associated with the RTP session's destination.
remotePort | Remote UDP port number associated with the RTP session's destination.
rtcpEvents | Indicates whether or not the endpoint is configured to generate RTCP report events.
linkEvents | Indicates whether or not the endpoint is configured to generate route availability events.
txDrop | Number of RTP packets that were dropped due to internal error conditions.
txFail | Number of socket send errors that occurred.
txPkts | Number of RTP packets delivered to the socket layer of the CG board's IP stack.
txBytes | Number of bytes delivered to the socket layer of the CG board's IP stack.
frame_quota | Number of media frames assembled in each payload.
assemble_dtmfFrames | Number of outbound inband DTMF frames sent.

#### Unsolicited events

RTP IPv4 full simplex send endpoints can return the following unsolicited events:

Event | Description
MSPEVN_2833_SEND_COMPLETE | Indicates that a sequence of packets initiated by the command MSP_CMD_RTPOUT_SEND_2833 is complete.
MSPEVN_RTCP_REPORT | Returns session information about an active RTP/RTCP session.
MSPEVN_NOROUTE_AVAILABLE | Indicates that an RTP endpoint lost the ability to route outbound data to its destination.
MSPEVN_ROUTE_AVAILABLE | Indicates that an RTP endpoint formerly incapable of transmitting data is now back in service.

For more information about RTP endpoint unsolicited events or inband DTMF carriage, refer to the Fusion Developer's Manual.

#### Details

For more information about sending information to a packet network through RTP simplex send endpoints, refer to the RTP IPv4 full duplex endpoint filter.

The following illustration shows an RTP IPv4 simplex send endpoint filter:

#### See also

DS0 full duplex endpoint filter, RTP switching channel filter, Voice encoder channel filter