# Video enhancements to the MSPP service

The MSPP service creates and controls audio and video RTP endpoints. The Video Messaging Server Interface enhances the Natural Access MSPP service to support video endpoints. mspGetFilterHandle translates the MSPP endpoint handle acquired from mspCreateEndpoint into the CG board filter endpoint handle, which is a required parameter for the ADI service multimedia play and record functions. The MSPP endpoint handle is required for adiPlayMMFromMemory, adiPlayMMAsync, adiRecordMMToMemory, and adiRecordMMAsync. For more information about the MSPP service and mspGetFilterHandle, see the MSPP Service Developer's Reference Manual.

The Video Messaging Server Interface also supports the use of RTCP for communicating skew information to the host application and IP destination through RTP endpoints. For information, see Configuring endpoints to use audio/video synchronization.

## Creating endpoints

The application must create audio and video MSPP endpoints. Each of these endpoints has an identifier that must be used when creating the endpoint. These identifiers are used in the eEpType field in the MSP_ENDPOINT_ADDR structure and in the eParmType field in the MSP_ENDPOINT_PARMS structure. The following table lists the identifiers for endpoints in the Video Messaging Server Interface:

Endpoint | Identifier
Video RTP | MSP_ENDPOINT_RTPFDX_VIDEO MSP_ENDPOINT_RTPFDX_VIDEO_V6
Audio RTP | MSP_ENDPOINT_RTPFDX MSP_ENDPOINT_RTPFDX_V6

The following code sample shows how to declare that an endpoint is a server video RTP endpoint:

VideoCtx[i].rtpEp.Addr.eEpType = MSP_ENDPOINT_RTPFDX_VIDEO;
VideoCtx[i].rtpEp.Param.eParmType = MSP_ENDPOINT_RTPFDX_VIDEO;

All endpoints are created using mspCreateEndpoint.

Note: The IPv4 or IPv6 type of video endpoint is used on the Messaging Server Interface regardless of the video format being used. The endpoint can handle MPEG-4, H.263, and H.264 video.

For more information about creating endpoints and the MSP_ENDPOINT_ADDR structure, see the MSPP Service Developer's Reference Manual. For more information about the MSP_ENDPOINT_PARMS structure, see MSP_ENDPOINT_PARMS.

## Creating server pass-through channels

The same channel, RTPPassthruSimplex, is used for both audio bridging configurations and video bridging configurations.

A pass-through channel is created and connected in the same way a regular Fusion RTP switching simplex channel is created and connected. However, a pass-through channel uses the identifier RTPPassthruSimplex instead of RTPSwitchingSimplex.

For more information about RTP switching channels, see the Fusion Developer's Manual. For more information about audio and video bridging configurations, see Defining a media bridging configuration.