2.17. gc_MakeCall( )
The gc_MakeCall( ) function enables the application to make an outgoing call on the specified line device. When this function is issued asynchronously, a CRN will be assigned and returned immediately if the function is successful. All subsequent communications between the application and the Global Call library regarding that call will use the CRN as a reference. If this function is issued synchronously, the CRN will be available at the successful completion of the function. The GCEV_CONNECTED event, returned after calling the gc_MakeCall( ) function, indicates that a Connect message was received from the network.
- Note: For ISDN applications that use Springware boards, the maximum length of the numberstr parameter is 20 digits. If a numberstr value greater than 20 digits is specified, a GCEV_TASKFAIL event with an unknown ISDN error is received.
When using Springware boards, the timeout parameter is supported only in the synchronous mode for ISDN applications. If the timeout value specified expires before the remote end answers the call, then the gc_MakeCall( ) function returns -1. The Global Call error value is set to EGC_TIMEOUT. Setting the timeout parameter to 0 causes this parameter to be ignored.
When using Springware boards, if using the asynchronous mode, the timeout parameter is ignored. The gc_MakeCall( ) function will get a GCEV_DISCONNECTED event if the remote end does not answer before the protocol dependent timer expires. Depending on the protocol being used, the protocol dependent timer may be viewed or set using the gc_GetConfigData( ) or gc_SetConfigData( ) function with a set ID of GCIS_SET_DCHANCFG and a parameter ID corresponding to the protocol-specific timer. See Section 1.9.1, Set/Retrieve Configuration of a Logical Link (BRI Only) for more information. For PRI protocols, the only parameter that can be set using the gc_SetConfigData( ) function are the protocol-specific timers. For BRI protocols, many other parameters are configurable using gc_SetConfigData( ).
- Note: For ISDN applications that use Springware boards, when calling the gc_MakeCall( ) function in synchronous mode (that is, with the mode parameter set to EV_SYNC), the timeout parameter must be set to any value other than 0, otherwise the gc_MakeCall( ) function will not return causing the application to hang. Alternatively, the gc_MakeCall( ) function can be issued in asynchronous mode (that is, with the mode parameter set to EV_ASYNC).
When using DM3 boards, the timeout parameter is supported in both synchronous and asynchronous modes.
ISDN provides the flexibility of selecting network services on any B channel. This service selection is contained in the ISDN call setup message which may vary from network to network. The following paragraphs describe making an ISDN call from a D/xxxSC board and using the MAKECALL_BLK data structure in the gc_MakeCall( ) function.
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation