2.17. gc_OpenEx( )
The gc_OpenEx( ) function is used to open both network board and channel (time slot) devices. This generic call control function initializes the specified time slot on the specified trunk. A line device ID will be returned to the application.
ISDN line devices are opened in the blocked state. When a gc_OpenEx( ) function call returns successfully, the application must wait for a GCEV_UNBLOCKED event before making or waiting for another call on the opened device. The GCEV_UNBLOCKED event indicates that the line is ready to accept calls.
Caution
If a synchronous application issues the gc_ResetLineDev( ) function immediately after the gc_OpenEx( ) function, all the events pending on that line device are lost. The application should wait for the GCEV_UNBLOCKED event before calling the gc_ResetLineDev( ) function and wait for the GCEV_RESETLINEDEV event before calling any function.
The device to be opened is specified by the devicename parameter as defined in the gc_OpenEx( ) function description in the GlobalCall API Software Reference. Both the protocol_name, which must be set to isdn, and network_device_name fields are required. The voice_device_name field is invalid when opening an ISDN device and should not be used. The following examples illustrate the devicename format when opening an ISDN PRI device:
devicename = ":N_dtiB3T1:P_isdn";devicename = ":N_dtiB3:P_isdn";Each PRI structure is composed of one D channel and 23 (T-1) or 30 (E-1) B (bearer) channels. A PRI board device, such as dtiB1, is defined as a station and controls the D channel. A PRI time slot device, such dtiB1T1, is defined as a bearer channel under a station.
Each BRI structure is composed of one D channel and two B (bearer) channels. A BRI board device, such as briS1, is defined as a station and controls the D-channel the same way as a PRI board device. A BRI time slot device, such as briS1T1, is defined as a bearer channel under a station and is handled the same way as a PRI line device.
Cautions
- Do not open a D or B channel more than once from the same process, or you may get unpredictable results
- A multi-threaded application doing call control on SpringWare ISDN should have at most, one thread per device. In other words, two or more threads should not be used to make or receive calls on a single device, such as dtiB1T1.
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation