PREV TOC HOME INDEX NEXT


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.

Parameter

Input

target_type GCTGT_GCLIB_CRN
target_id the call reference number (CRN) of the call
ext_id GCIS_EXID_CALLPROGRESS
parmblkp set_id - GCIS_SET_CALLPROGRESS

parm_id - GCIS_PARM_CALLPROGRESS_INDICATOR


values -
  • CALL_NOT_END_TO_END_ISDN
  • IN_BAND_INFO

value_type - int
mode EV_SYNC

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;
} 

PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated January, 2003