# H324_TERM_CAPS

Conveys information about terminal capability sets between the host application and the remote terminal. The H324_TERM_CAPS structure resides in a set of structures that also includes:

Structure | Description
MULTIPLEX_CABILITY | Describes the MUX capabilities of the local or remote terminal.
MEDIA_CAPABILITY | Describes the media capabilities of the local or remote terminal.
MEDIA_UNION | Contains media options for specific media types.

The H324_TERMCAPS structure set is used as follows:

- The host application uses this structure set to send a list of its terminal capabilities to the remote terminal. In this situation, the structure set is used with h324SetTermCaps.

- The remote terminal uses this structure set to send a list of its terminal capabilities to the host application. In this situation, the structure set is used with H324EVN_REMOTE_CAPABILITIES events.

#### Definitions

typedef struct tag_MULTIPLEX_CAPABILITY
{
H324_BOOL dataWithAL1;
H324_BOOL audioWithAL2;
H324_BOOL videoWithAL2;
H324_BOOL videoWithAL3;
WORD maximumAL1MPDUSize;
WORD maximumAL2MSDUSize;
WORD maximumAL3MSDUSize;
} MULTIPLEX_CAPABILITY;
typedef union tag_MEDIA_UNION
{
MMP4VIDEOOPTIONS mpeg4;
MH263OPTIONS h263;
MH261OPTIONS h261; (Not supported)
MG711OPTIONS g711; (Not supported)
MG7231OPTIONS g723;
MGSMAMROPTIONS gsmamr;
H264VIDEOOPTIONS h264;
MAMRWBOPTIONS anrwb; (Not supported)
USERINPUTOPTIONS uinp;
} MEDIA_UNION;
typedef struct tag_MEDIA_CAPABILITY
{
H324_BOOL bReceive;
H324_BOOL bTransmit;
int index;
DWORD choice;
#define H324_MPEG4_VIDEO 0
#define H324_H263_VIDEO 1
#define H324_H261_VIDEO 2 (Not supported)
#define H324_G711_AUDIO 3 (Not supported)
#define H324_G723_AUDIO 4
#define H324_AMR_AUDIO 5
#define H324_H264_VIDEO 6
DWORD size;
MEDIA_UNION u;
} H324_MEDIA_CAPABILITY;
typedef struct tag_H324_TERM_CAPS
{
DWORD size;
MULTIPLEX_CAPABILITY muxCap;
DWORD wCapCount; // Number of caps
H324_MEDIA_CAPABILITY capTable[16];
} H324_TERM_CAPS;

#### Fields in the MULTIPLEX_CAPABILITY structure

Field name | Description
--- | ---
dataWithAL1 | Whether the originating entity supports data transmission with adaptation layer 1. (Not supported)
audioWithAL2 | Whether the originating entity supports audio transmission with adaptation layer 2.
videoWithAL2 | Whether the originating entity supports video transmission with adaptation layer 2.
videoWithAL3 | Whether the originating entity supports video transmission with adaptation layer 3.
maximumAL1MPDUSize | Maximum size in octets for the PDUs that the multiplexer can receive in adaptation layer 1. (Not supported)
maximumAL2MSDUSIZE | Maximum size in octets for the SDUs that the multiplexer can receive in adaptation layer 2.
maximumAL3MSDUSIZE | Maximum size in octets for the SDUs that the multiplexer can receive in adaptation layer 3.

#### Fields in the MEDIA_UNION structure

Type | Field name | Description
--- | --- | ---
MMP4VIDEOOPTIONS | mpeg4 | MMP4VIDEOOPTIONS structure that contains MPEG-4 video options.
MH263OPTIONS | h263 | MH263OPTIONS structure that contains H.263 video options.
MH261OPTIONS | h261 | H.261 video options (Not supported)
MG711OPTIONS | g711 | MG711OPTIONS structure that contains G.711 audio options. (Not supported)
MG7231OPTIONS | g723 | MG7231OPTIONS structure that contains G.723.1 audio options.
MGSMAMROPTIONS | gsmamr | MGSMAMROPTIONS structure that contains AMR audio options
H264VIDEOOPTIONS | h264 | H264VIDEOOPTIONS structure that contains H.264 video options.
MAMRWBOPTIONS | amrwb | MAMRWBOPTIONS structure that contains AMR-WB video options. (Not supported)
USERINPUTOPTIONS | uinp | USERINPUTOPTIONS structure tells the remote side what types of user input messages the 3G-324M Interface can decode. The 3G-324M Interface currently supports all user interface options except for option 11 (generic user input).

#### Fields in the MEDIA_CAPABILITY structure

Field name | Description
--- | ---
bReceive | Whether this capability is for receiving data.
bTransmit | Whether this capability is for transmitting data.
index | Entry number for this capability.
choice | One of the capabilities that the originating entity supports. Valid values are: H324_MPEG4_VIDEO or 0 H324_H263_VIDEO or 1 H324_H261_VIDEO or 2 (Not supported) H324_G711_AUDIO or 3 (Not supported) H324_G723_AUDIO or 4 H324_AMR_AUDIO or 5 H324_H264_VIDEO or 6
size | Size of the MEDIA_CAPABILITY structure.
u | MEDIA_UNION structure that contains different media options, according to the value of the choice field.

The USERINTPUTOPTIONS structure definition is:

typedef struct _USERINPUTOPTIONS
{
#define USER_INPUT_NON_STANDARD 0;
#define USER_INPUT_BASIC_STRING 1;
#define USER_INPUT_IA5_STRING 2;
#define USER_INPUT_GENERAL_STRING 3;
#define USER_INPUT_DTMF 4;
#define USER_INPUT_HOOKFLASH 5;
#define USER_INPUT_EXTENDED_ALPHA_NUMERIC 6;
#define USER_INPUT_ENCRYPTED_BASIC_STRING 7;
#define USER_INPUT_ENCRYPTED_IA5_STRING 8;
#define USER_INPUT_ENCRYPTED_GENERAL_STRING 9;
#define USER_INPUT_SECURE_DTMF 10;
#define USER_INPUT_GENERIC_USER_INPUT_CAPABILITY 11;
int choice;
unsigned char nonStandardCount;
t_H245_NonStandardParameter nonStandardParam[16];
} USERINPUTOPTIONS;

For detailed information about the codec-related structures in MEDIA_UNION, see the associated ITU-T specifications.

#### Fields in the H324_TERM_CAPS structure

Field name | Description
--- | ---
size | Size of the H324_TERM_CAPS structure.
muxCap | List of multiplexer capabilities that the originating entity can perform, presented in the MULTIPLEX_CAPABILITY structure.
wCapCount | Number of entries used in the capTable array. Valid values are integers from 1 to 16.
capTable[16] | Array of media capabilities that the originating entity can perform, presented in the MEDIA_CAPABILITY structure.