Dialogic Dialogic Global Call IP IP Phone User Manual


 
249
Dialogic Corporation
corresponding H.225 message. The duration parameter in the gc_SetUserInfo( ) function must
always be GC_SINGLECALL; TSM content cannot persist for more than one H.225 message.
The gc_SetUserInfo( ) mechanism cannot be used to preset a tunneled signaling message to be
sent in a Setup message because the function call requires a valid CRN, which does not yet exist at
that point in the call setup process. When sending a TSM in Setup, the application must include the
configured GC_PARM_BLK in the GC_MAKECALL_BLK data structure that is passes to the
gc_MakeCall( ) function.
Table 16, “H.225 Messages and Global Call Functions for Sending Tunneled Signaling Messages”,
on page 253 lists the H.225 message types that can be used to send tunneled signaling messages
along with the corresponding Global Call mechanism that is used set the TSM information and the
Global Call function that is used to send each message type.
When reception of tunneled signaling messages is enabled as described in the “Enabling Tunneled
Signaling Messages” section, applications must specifically request the message by calling the
gc_Extension( ) function and providing a tag value that identifies the specific type of H.225
message that was received. When the corresponding H.225 message contains a tunneled signaling
message, the library generates an asynchronous GCEV_EXTENSIONCMPLT completion event
which includes the tunneled signaling message information in the metaevent data. Tunneled
signaling messages can only be retrieved within a call (the application must use a valid CRN when
registering to receive tunneled signaling messages), but the call can be in any state.
4.18.2 Enabling Tunneled Signaling Messages
The ability to send tunneled signaling messages in outgoing H.225 messages and to retrieve TSM
content from inbound H.225 messages is an optional feature that is enabled or disabled on a virtual
board basis at the time the gc_Start( ) function is called.
The mandatory INIT_IP_VIRTBOARD( ) function populates the IP_VIRTBOARD structure
with default values. The default value of the h323_msginfo_mask field in the IP_VIRTBOARD
structure does not enable either access to either Q.931 message information elements or to tunneled
signaling messages. To enable either or both of these features for an ipt device, it is necessary to
override the default value of the h323_msginfo_mask field with a value that represents the
appropriate logical combination of the two defined mask values. To enable access to tunneled
signaling messages in general, the value IP_H323_ANNEXMMSG_ENABLE must be set in the
mask. The following code snippet enables Q.931 message IE access on two virtual boards and
enables tunneled signaling messages on the second board only:
INIT_IPCCLIB_START_DATA(&ipcclibstart, 2, ip_virtboard);
INIT_IP_VIRTBOARD(&ip_virtboard[0]);
INIT_IP_VIRTBOARD(&ip_virtboard[1]);
ip_virtboard[0].h323_msginfo_mask = IP_H323_MSGINFO_ENABLE;
/* override Q.931 message default */
ip_virtboard[1].h323_msginfo_mask = IP_H323_MSGINFO_ENABLE |
IP_H323_ANNEXMMSG_ENABLE;
/* override Q.931 message and TSM defaults */
Features that are enabled or configured via the IP_VIRTBOARD structure cannot be disabled or
reconfigured once the library has been started. All items set in this data structure take effect when
the gc_Start( ) function is called and remain in effect until gc_Stop( ) is called when the
application exits.