Configure an H.263 endpoint to use either RFC 2190 or RFC 2429 encapsulation when transmitting H.263 RTP packets. The default encapsulation type is RFC 2190.
H.263 endpoints can accept both RFC 2190 and RFC 2429 packets when receiving data from IP, regardless of how the endpoints are configured. H.263 decapsulation is performed based on the incoming payload ID, and not on the encapsulation type the endpoint is configured to transmit.
Note: This feature is for all video full-duplex and simplex send H.263 RTP endpoints. The procedure and example are shown for full-duplex endpoints.
The following table describes how to set the RFC encapsulation type used by an H.263 RTP endpoint:
|
Step |
Action |
|
1 |
Disable the RTP endpoint by invoking mspDisableEndpoint. |
|
2 |
Create the MSP_CMD_RTPFDX_H263_ENCAP_CTRL command, and send it to the CG board. The MSP_CMD_RTPFDX_H263_ENCAP_CTRL command uses the msp_ENDPOINT_RTPFDX_H263_ENCAP_CTRL structure to set the encapsulation type. For more information, see Creating and sending MSPP commands and msp_ENDPOINT_RTPFDX_H263_ENCAP_CTRL. |
|
3 |
Enable the RTP endpoint by invoking mspEnable. |
The following event can be returned:
|
Event |
Description |
|
MSPEVN_SENDCOMMAND_DONE |
MSP_CMD_RTPFDX_H263_ENCAP_CTRL command was successfully sent to the specified RTP endpoint on the CG board. |
The following example shows how to change the H.263 encapsulation type for an RTP endpoint with the MSP handle ephd from the default of RFC 2190 to RFC 2429 encapsulation:
msp_ENDPOINT_RTPFDX_H263_ENCAP_CTRL cmd;
CTA_EVENT event;
DWORD ret, expectedEvent;
cmd.h263Encap = H2NMS_DWORD(MSP_H263_2429) ;
ret = mspDisableEndpoint(ephd);
ret = mspSendCommand(ephd, mspBuildCommand(MSP_ENDPOINT_RTPFDX_VIDEO_H263,
MSP_CMD_RTPFDX_H263_ENCAP_CTRL), &cmd, sizeof(cmd));
expectedEvent = (MSPEVN_SENDCOMMAND_DONE | MSP_CMD_RTPFDX_H263_ENCAP_CTRL);
if (WaitForSpecificEvent(gw, ctaQueueHd, expectedEvent, &event) != 0)
printf("\n\tERROR: mspSendCommand failed to send valid completion event\n");
ret = mspEnableEndpoint(ephd);