1.7.1. Send a Progress Message to the Network
The GCIS_EXID_CALLPROGRESS extension ID is supported when using Springware boards only. When using DM3 boards, the Progress message can be sent using gc_SndMsg( ) function.
The GCIS_EXID_CALLPROGRESS extension ID is used to send a progress message to the network. The gc_Extension( ) API can be called with this ext_id after GCEV_OFFERED occurs, in asynchronous mode, or after the gc_WaitCall( ) function successfully completes, in synchronous mode. Applications may use the message on the D Channel to indicate that the connection is not an ISDN terminal or that in-band information is available.
Calling the gc_Extension( ) function with the GCIS_EXID_CALLPROGRESS extension ID is not needed in the terminating mode. It may be used in a drop-and-insert configuration when an in-band Special Information Tone (SIT) or call progress tone is sent to the network.
The following table provides the parameter inputs for the gc_Extension( ) function.
Example
#include "gclib.h" #include "gcerr.h" #include "gcisdn.h" int extSndProgress(CRN crn) { GC_PARM_BLKP parm_blkp = NULL, ret_blkp = NULL; unsigned long mode; int ret_val = 0; GC_INFO t_Info; int indicator; indicator = CALL_NOT_END_TO_END_ISDN; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_CALLPROGRESS, GCIS_PARM_CALLPROGRESS_INDICATOR, sizeof( int ), &indicator); mode = EV_SYNC; ret_val = gc_Extension( GCTGT_GCLIB_CRN, crn, GCIS_EXID_CALLPROGRESS, 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); } else { printf("gc_ErrorInfo() call failed\n"); } } gc_util_delete_parm_blk( ret_blkp ); gc_util_delete_parm_blk( parm_blkp ); return ret_val; }
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation