Dialogic 05-2239-009 User Manual

Page of 604
248
Dialogic Corporation
The Dialogic
®
 Global Call API library supports the ability to send and receive tunneled signaling 
messages in supported H.225 message types as an optional feature that is disabled by default for 
backwards compatibility. The ability to send and receive TSMs can only be enabled when starting 
the system; once enabled, the tunneled signaling message feature cannot be disabled without 
restarting the system. The feature can be enabled for any virtual board by setting a specific bitmask 
value in a field of the appropriate IP_VIRTBOARD data structure; see 
, for details. When the feature is enabled, applications can use the 
standard Global Call parameter mechanism to set up a TSM to be sent in the next outgoing H.225 
message. To receive a TSM, the application requests the Dialogic
®
 Global Call API library to 
forward the TSM after it has received a Global Call state change event that is associated with one of 
the supported message types. For most H.225 message types, the application uses gc_Extension( ) 
to request the TSM contents which the library returns via a GCEV_EXTENSIONCMPLT 
asynchronous completion event. In the singular case of the Facility message, the tunneled signaling 
message content is provided via the unsolicited GCEV_EXTENSION event that notifies the 
application of the Facility message itself. 
An application has no ability to specify which H.225 message types it wishes to receive tunneled 
signaling messages in, and should therefore be prepared to handle TSMs contained in any of the 
specified H.225 message types so that TSMs are not lost. 
Applications construct a tunneled signaling message by constructing a GC_PARM_BLK 
composed of Global Call parameter elements that contain the TSM protocol identification and 
message content. The TSM protocol identification can use either a protocol object ID, specified in 
an 
 data structure, or alternate identification data, specified 
in an 
 structure. Only one TSM can be sent per H.225 message.
A tunneled signaling message can also include nonstandard data. The nonstandard data is handled 
as additional parameter elements in the same GC_PARM_BLK that contains the TSM. As in other 
Global Call implementations of nonstandard data, the protocol used for the nonstandard data in a 
TSM can be identified by either H.221 protocol or a protocol object ID. Only one nonstandard data 
element can be sent per tunneled signaling message.
The maximum data length for the Global Call parameters used for the tunneled signaling message 
content and the optional nonstandard data content is configured at system start-up. The maximum 
data length for these parameters is configured by setting the max_parm_data_size field in the 
IPCCLIB_START_DATA structure. The default size is 255 bytes (for backwards compatibility), 
but applications may configure it to be as large as 4096 bytes. Applications must use the extended 
gc_util_..._ex( ) functions to insert or extract any GC_PARM_BLK parameter elements whose 
data length has been configured to be greater than 255 bytes. 
In practice, applications may not be able to utilize the full maximum length of the tunneled 
signaling message content parameter element as configured in max_parm_data_size, particularly if 
the tunneled signaling message contains optional nonstandard data. The H.323 stack limits the 
overall size of messages to be max_parm_data_size + 512 bytes, and any messages that exceed this 
limit are truncated without any notification to the application. 
For all supported H.225 message types except Setup, the application presets the TSM contents to 
send by passing the configured GC_PARM_BLK in a call to the gc_SetUserInfo( ) function. When 
the application subsequently calls one of the Global Call functions listed in 
library and stack use the preset data to construct and send a tunneled signaling message in the