94 Global Call API for HMP on Windows Programming Guide — August 2006
Call Control
The Global Call API functions provided for FTE are:
gc_Extension( )
provides a generic interface extensible for technology-specific features
gc_GetUserInfo() (for E1, T1 and ISDN technologies only)
retrieves technology-specific user information for the specified line device
gc_SetUserInfo()
permits technology-specific user information to be defined for the specified line device or call
Note: The gc_SetUserInfo( ) function is not supported for a board device.
7.4.2 Technology-Specific Feature Access
The gc_Extension( ) function provides a single common interface to access various technology-
specific features supported by underlying call control libraries.
This Global Call function utilizes an extension function identifier (ext_id) to specify the feature.
The associated technology’s Global Call Technology Guide for each call control library lists all the
supported extension function identifiers (ext_id values) and the associated features that are
accessible via the gc_Extension() fu nction (if any).
By specifying the associated parameter identifiers (also described in the associated technology’s
Global Call Technology Guide), and either the target line device or a specific call, those features
unique to the subject technology may be utilized entirely using the Global Call API. Without FTE
support, a Global Call application requiring this feature support would also have to be written to
the specific call control API in addition to the Global Call API.
For example, in an ISDN platform the application may use the gc_Extension() function to set D or
B channel states. As the concept of B and D channels is ISDN specific and inherently foreign to
other protocols, without FTE support, the application would have to link directly with the ISDN
call control library then call the required ISDN library functions cc_SetBChanState( ) or
cc_SetDChanState( ).
The gc_Extension( ) function may be supported in either asynchronous mode, synchronous mode
or both depending on the call control library.
If the gc_Extension() function is support ed and called in synchronous mode, the relevant
information parameters returned in the GC_PARM_BLK buffer must be processed or copied prior
to the next Global Call function call. The reason for this is that the GC_PARM_BLK buffer will be
deallocated within Global Call in a subsequent function call.
If the gc_Extension() function is support ed and called in asynchronous mode, relevant
information may be returned via the call control library via GCEV_EXTENSIONCMPLT
termination event and its referenced extension block structure, EXTENSIONEVTBLK. The
EXTENSIONEVTBLK structure contains technology-specific information and is referenced via
the extevtdatap pointer in the METAEVENT structure associated with the
GCEV_EXTENSIONCMPLT event. See the Global Call API Library Reference for more
information about these structures.