To build a bearer control message:
Initialize the Bearer Control Event structure.
Build the Bearer Control message.
This topic provides instructions for completing these tasks.
The following structure defines the information elements that are required in the Bearer Control message to be formatted:
typedef struct _siBearerControlEvnt
{
SiActionIndicator actionIndicator;
SiCodecs codecsList.
SiBearerNetworkCharacteristics networkCharacteristics;
SiBearerControlInformation bearerControlInfo;
SiBearerControlTunnelling bearerTunnelling;
SiBearerControlUnitIdentifier bearerUnitId;
SiCodecs singleCodec;
SiBackboneNetworkIdentifier backboneNetworkId;
SiInterworkingFunctionAddress iwfAddress;
} SiBearerControlEvnt;
| Name | Description |
actionIndicator |
Action indicator. Specifies the action associated with the message, and in particular, the bearer setup direction (forward, backward). |
| codecsList | Codecs list offered for codec negotiation. |
| networkCharacteristics | Bearer network connection characteristics.
Supports IP/RTP only. |
| bearerControlInfo | Bearer control information. Contains the bearer control tunneling protocol (IPBCP) data unit. |
| bearerTunnelling | Bearer control tunneling indicator. Specifies that tunneling is to be used. |
| bearerUnitId | Bearer control unit identifier. Consists of the Network ID field (not currently supported) and the local BCU-ID field. |
| singleCodec | Single codec selected for codec negotiation. |
| backboneNetworkId | Backbone network connection identifier. Bearer specific and is specified in the relevant Supplement 23 to Q-Series Recommendations. |
| iwfAddress | Interworking function address.
In NSAP format according to Annex A/X.213 | ISO/IEC 8348 and its Amendment 1. |
For more information, refer to BCF Library Structures.
Several init functions are offered to initialize Bearer Control event structures with default values, specifically to support the Bearer Control reference call flows supported by vmsamp_ip324m_bicc:
| Init functions for... | Prototypes |
| Fast Forward Bearer Setup Request and Answer | DWORD bcfInitFastForwardBearerSetupRequest (SiBearerControlEvnt *bearerControlEvnt, IPBCP_PARAM *ipbcpParam); DWORD bcfInitFastForwardBearerSetupAnswer (SiBearerControlEvnt *bearerControlEvnt, IPBCP_PARAM *ipbcpParam); |
| Delayed Forward Bearer Info Request and Answer | DWORD bcfInitDelayedForwardBearerInfoRequest (SiBearerControlEvnt *bearerControlEvnt, U8 codecList) DWORD bcfInitDelayedForwardBearerInfoAnswer (SiBearerControlEvnt *bearerControlEvnt, U8 codecList, U8 selectedCodec) |
| Delayed Forward Bearer Setup Request and Answer | DWORD bcfInitDelayedForwardBearerSetupRequest (SiBearerControlEvnt *bearerControlEvnt, IPBCP_PARAM *ipbcpParam); DWORD bcfInitDelayedForwardBearerSetupAnswer (SiBearerControlEvnt *bearerControlEvnt, IPBCP_PARAM *ipbcpParam); |
After calling init functions, any SiBearerControlEvnt structure field can be customized by the application implementing the bearer control logic.
After initializing the Bearer Control Event structure, use the following function to build the Bearer Control Message:
DWORD bcfBuildBearerControlMessage (U8 *outBuf, U32 outBufSize, SiBearerControlEvnt *inBearerControl, U32 *actualBcfSize)