1.7.8. Retrieve Information for a GLOBAL or NULL CRN Event
The GCIS_EXID_GETNONCALLMSG extension ID is supported when using Springware boards only. When using DM3 boards, the GCIS_EXID_GETNONCALLMSG extension ID is not supported.
The GCIS_EXID_GETNONCALLMSG extension ID retrieves information for a GLOBAL or NULL CRN event, at the time the event occurs. The GCIS_EXID_GETNONCALLMSG extension ID must be used immediately after the event is received if the application needs the call information. The library will not queue the call information; subsequent messages on the same board device will overwrite this information if it is not retrieved immediately. NULL events correspond to messages received with a dummy, or NULL, call reference value (CRV). These messages are of significance to all calls or channels on a particular trunk, that is, they do not correspond to a particular call. Therefore, the messages are delivered on the board level device (for example, briS1). This extension ID can be used to retrieve information for the following NULL events:
- GCEV_EXTENSION with ext_id as GCIS_EXEV_INFONULL
- GCEV_EXTENSION with ext_id as GCIS_EXEV_NOTIFYNULL
- GCEV_EXTENSION with ext_id as GCIS_EXEV_FACILITYNULL
GLOBAL events correspond to messages received with a Zero call reference value. These messages are of significance to all calls or channels on a particular trunk, that is, they do not correspond to a particular call. Therefore, the messages are delivered on the board level device (for example, briS1). This extension ID can be used to retrieve the information for the following GLOBAL events:
- GCEV_EXTENSION with ext_id as GCIS_EXEV_INFOGLOBAL
- GCEV_EXTENSION with ext_id as GCIS_EXEV_NOTIFYGLOBAL
- GCEV_EXTENSION with ext_id as GCIS_EXEV_FACILITYGLOBAL
- Note: Some IEs may require a Call Reference Value (CRV) to be part of the contents. The Call Reference, in this case, must be the Call Reference value assigned by the network, not the Call Reference Number (CRN) that is generated by Global Call and retrieved using the gc_GetCRN( ) function. It is up to the application to correctly format and order the IEs. Refer to the ISDN Recommendation Q.931 or the switch specification of the application's ISDN protocol for the relevant CCITT format. See the example code for details. To receive GLOBAL and NULL events, an appropriate handler must be enabled on the board level device. See the sr_enbhdlr( ) function in the Standard Runtime Library API Programming Guide.
The information related to a GLOBAL or NULL event must be retrieved immediately as it will be overwritten by the next event.
The following table provides the parameter inputs for the gc_Extension( ) function.
Example
int extGetNonCallMsg (LINEDEV handle) { GC_PARM_DATAP parm_datap; GC_PARM_BLKP parm_blkp = NULL, ret_blkp = NULL; unsigned long mode; int ret_val = 0; GC_INFO t_Info; mode = EV_SYNC; ret_val = gc_Extension( GCTGT_GCLIB_CHAN, handle, GCIS_EXID_GETNONCALLMSG, parm_blkp, &ret_blkp, mode); if ( ret_val ) { ret_val = gc_ErrorInfo(&t_Info); if (ret_val == GC_SUCCESS) { printf("gc_ErrorInfo() successfully called\n"); PrintGC_INFO(&t_Info); } gc_util_delete_parm_blk( parm_blkp ); gc_util_delete_parm_blk( ret_blkp ); return ret_val; }
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation