Prosody H.223 Mux: API: sm_h223mux_set_caps

This function is under development. It could be changed or withdrawn, and may not be implemented in this release.

Prototype Definition

int sm_h223mux_set_caps(struct sm_h223mux_set_caps_parms *capsp)

Parameters

*capsp
a structure of the following type:
typedef struct sm_h223mux_set_caps_parms {
	tSMH223muxId h223mux;					/* in */
	enum kSMH223muxSetCapsRole {
		kSMH223muxSetCapsRoleLocal,
		kSMH223muxSetCapsRoleRemote,
	} role;							/* in */
	tSM_INT optional_ext;					/* in */
	tSM_UT32 transport_with_i_frames;			/* in */
	tSM_UT32 video_with_AL1;				/* in */
	tSM_UT32 video_with_AL2;				/* in */
	tSM_UT32 video_with_AL3;				/* in */
	tSM_UT32 audio_with_AL1;				/* in */
	tSM_UT32 audio_with_AL2;				/* in */
	tSM_UT32 audio_with_AL3;				/* in */
	tSM_UT32 data_with_AL1;					/* in */
	tSM_UT32 data_with_AL2;					/* in */
	tSM_UT32 data_with_AL3;					/* in */
	tSM_INT maximum_AL2_sdu_size;				/* in */
	tSM_INT maximum_AL3_sdu_size;				/* in */
	tSM_INT maximum_delay_jitter;				/* in */
	tSM_UT32 max_MUX_PDU_size_capability;			/* in */
	tSM_UT32 nsrp_support;					/* in */
	tSM_INT bit_rate_o;					/* in */
	struct {
		tSM_UT32 mode_change_capability;		/* in */
		tSM_UT32 h223_AnnexA;				/* in */
		tSM_UT32 h223_AnnexA_double_flag;		/* in */
		tSM_UT32 h223_AnnexB;				/* in */
		tSM_UT32 h223_AnnexB_with_header;		/* in */
	} mobile_operation_transmit_capability_o;		/* in */
	struct {
		tSM_INT maximum_sample_size;			/* in */
		tSM_INT maximum_payload_length;			/* in */
	} mobile_multilink_frame_capability_o;			/* in */
	struct {
		tSM_UT32 video_with_AL1M;			/* in */
		tSM_UT32 video_with_AL2M;			/* in */
		tSM_UT32 video_with_AL3M;			/* in */
		tSM_UT32 audio_with_AL1M;			/* in */
		tSM_UT32 audio_with_AL2M;			/* in */
		tSM_UT32 audio_with_AL3M;			/* in */
		tSM_UT32 data_with_AL1M;			/* in */
		tSM_UT32 data_with_AL2M;			/* in */
		tSM_UT32 data_with_AL3M;			/* in */
		tSM_UT32 alpdu_interleaving;			/* in */
		tSM_INT maximum_AL1M_pdu_size;			/* in */
		tSM_INT maximum_AL2M_pdu_size;			/* in */
		tSM_INT maximum_AL3M_pdu_size;			/* in */
		tSM_UT32 rs_code_capability;			/* in */
	} H223_AnnexC_capability_o;				/* in */
} SM_H223MUX_SET_CAPS_PARMS;

Description

This function will set the negotiated capabilities on the H.223 multiplexer.

Fields

h223mux (Only in Preliminary Documentation)
The mux to send the capabilities to.
role (Only in Preliminary Documentation)
Indicates what terminal these capabilities apply to.
One of these values:
kSMH223muxSetCapsRoleLocal
Capabilities relate to the local terminal.
kSMH223muxSetCapsRoleRemote
Capabilities relate to the remote terminal.
optional_ext (Only in Preliminary Documentation)
A bitmap field, representing the optional fields (_o) that will be present in this structure. The bit values for each field are as follows : H223MUX_H245_CAP_O_MOBILE_OPERATION_TRANSMIT_CAP 0x04, H223MUX_H245_CAP_O_ANNEX_C 0x08, H223MUX_H245_CAP_O_BIT_RATE 0x10, H223MUX_H245_CAP_O_MOBILE_MULTILINK_FRAME_CAP 0x20
transport_with_i_frames (Only in Preliminary Documentation)
When set to non-zero, indicates that the terminal is capable of sending and receiving control channel messages using LAPM I-frames as defined in ITU-T Recommendation V.42 (2002).
video_with_AL1 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive video using AL1.
video_with_AL2 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive video using AL2.
video_with_AL3 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive video using AL3.
audio_with_AL1 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive audio using AL1.
audio_with_AL2 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive audio using AL2.
audio_with_AL3 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive audio using AL3.
data_with_AL1 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive data using AL1.
data_with_AL2 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive data using AL2.
data_with_AL3 (Only in Preliminary Documentation)
When set to non-zero, indicates the capability to receive data using AL3.
maximum_AL2_sdu_size (Only in Preliminary Documentation)
Indicates the maximum number of octets in each SDU that the terminal can receive when using adaptation layer type 2.
maximum_AL3_sdu_size (Only in Preliminary Documentation)
Indicates the maximum number of octets in each SDU that the terminal can receive when using adaptation layer type 3.
maximum_delay_jitter (Only in Preliminary Documentation)
Indicates the maximum peak-to-peak multiplexing jitter that the transmitter shall cause. Measured in milliseconds.
max_MUX_PDU_size_capability (Only in Preliminary Documentation)
When set to non-zero, indicates that the transmitter is able to restrict the size of the H.223 MUX-PDUs that it transmits. Has no meaning when part of a receive capability.
nsrp_support (Only in Preliminary Documentation)
When set to non-zero, indicates support of the Annex A/H.324 NSRP mode.
bit_rate_o (Only in Preliminary Documentation)
Indicates the bit rate to transmit the bitstream output from the H.223 multiplexer. Please note that this parameter is optional.
mobile_operation_transmit_capability_o (Only in Preliminary Documentation)
The parameters in this structure indicate the capability to transmit the multiplex layers described in Annex A/H.223 and Annex B/H.223. Please note that this structure is optional.
mode_change_capability
When set to non-zero, indicates the terminal has the capability to change H.223 multiplex levels or options during a session. The levels and options supported are listed below. If set to zero the remainder of the structure will be ignored.
h223_AnnexA
When set to non-zero, indicates the terminal can transmit the MUX-PDUs as defined in Annex A/H.223.
h223_AnnexA_double_flag
When set to non-zero, indicates the terminal can transmit the MUX-PDUs as defined in Annex A/H.223 with it's optional double-flag mode.
h223_AnnexB
When set to non-zero, indicates the terminal can transmit the MUX-PDUs as defined in AnnexB/H.223.
h223_AnnexB_with_header
When set to non-zero, indicates the terminal can transmit the MUX-PDUs as defined in AnnexB/H.223 with its optional header field.
mobile_multilink_frame_capability_o (Only in Preliminary Documentation)
The parameters in this structure indicate the capability to receive and process mobile multilink frames. Please note that this structure is optional.
maximum_sample_size
Indicates the maximum number of octets in each sample that the terminal can process.
maximum_payload_length
Indicates the maximum length of frames in octets that the terminal can process.
H223_AnnexC_capability_o (Only in Preliminary Documentation)
The parameters in this structure indicate the capability to receive and process AL-PDUs as described in Annex C/H.223. Please note that this structure is optional.
video_with_AL1M
When set to non-zero, indicates the capability to receive video using AL1M.
video_with_AL2M
When set to non-zero, indicates the capability to receive video using AL2M.
video_with_AL3M
When set to non-zero, indicates the capability to receive video using AL3M.
audio_with_AL1M
When set to non-zero, indicates the capability to receive audio using AL1M.
audio_with_AL2M
When set to non-zero, indicates the capability to receive audio using AL2M.
audio_with_AL3M
When set to non-zero, indicates the capability to receive audio using AL3M.
data_with_AL1M
When set to non-zero, indicates the capability to receive data using AL1M.
data_with_AL2M
When set to non-zero, indicates the capability to receive data using AL2M.
data_with_AL3M
When set to non-zero, indicates the capability to receive data using AL3M.
alpdu_interleaving
When set to non-zero, indicates the capability to receive and process AL-PDUs for which interleaving is applied.
maximum_AL1M_pdu_size
Indicates the maximum number of octets in each PDU that the terminal can receive when using adaptation layer AL1M.
maximum_AL2M_pdu_size
Indicates the maximum number of octets in each PDU that the terminal can receive when using adaptation layer AL2M.
maximum_AL3M_pdu_size
Indicates the maximum number of octets in each PDU that the terminal can receive when using adaptation layer AL3M.
rs_code_capability
When set to non-zero, indicates the capability to receive the AL-PDUs for which Reed-Solomon coding is indicated.

Returns

0 if call completed successfully, otherwise a standard error such as:


This function is part of the Prosody H.223 Mux API.