Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 145
Dialogic Corporation
IP-Specific Operations
will not contain the requested information. If phone list and display information are requested and
only phone list is available, then only phone list information is available in the GC_PARM_BLK.
An error is generated if there is an internal error (such as memory cannot be allocated).
All call information is available until a gc_ReleaseCallEx( ) is issued.
4.5.1 Retrieving Nonstandard Data From Protocol Messages
(H.323)
Any received Q.931 message can include Nonstandard Data. The application can use the
gc_Extension( ) function with an ext_id of IPEXTID_GETINFO to retrieve the data while a call is
in any state. The target_type should be GCTGT_GCLIB_CRN and the target_id should be the
actual CRN. The information is included with the corresponding GCEV_EXTENSIONCMPLT
termination event.
Note: When retrieving nonstandard data, it is only necessary to specify the
IPPARM_NONSTANDARDDATA_DATA parameter ID in the extension request. It is not
necessary to specify the ID for the nonstandard identifier parameter (that is,
IPPARM_NONSTANDARDDATA_OBJID or IPPARM_H221NONSTANDARD). The call
control library ensures that the GCEV_EXTENSIONCMPLT event includes all the correct
information.
When retrieving nonstandard data from the GC_PARM_BLK associated with the
GCEV_EXTENSIONCMPLT event, it is important to use the extended gc_util_..._ex( ) functions
because the IPPARM_NONSTANDARDDATA_DATA parameter is defined to support data that
may be longer than 255 bytes. The actual maximum data length is configured by the application via
the max_parm_data_size field in the IPCCLIB_START_DATA structure when it initializes the
library; the default size is 255, but the application can set any value up to 4096.
4.5.2 Examples of Retrieving Call-Related Information
The following code demonstrates how to do the following:
create a structure that identifies which information should be retrieved, then use the
gc_Extension( ) with an extID of IPEXTID_GETINFO to issue the request
extract the data from a structure associated with the GCEV_EXTENSIONCMPLT event
received as a termination event to the gc_Extension( ) function
Similar code can be used when using SIP, except that the code must include only information
parameters supported by SIP (see Table 4, “Retrievable Call Information”, on page 143).
Specifying Call-Related Information to Retrieve
The following function shows how an application can construct and send a request to retrieve call-
related information.