1.7.15. Redefine Call Progress Tone Attributes (BRI Only)
The GCIS_EXID_TONEREDEFINE extension ID is supported when using Springware boards only. When using DM3 boards, the GCIS_EXID_TONEREDEFINE extension ID is not supported.
The GCIS_EXID_TONEREDEFINE extension ID redefines a call progress tone's attributes in the tone template table. The tone template table resides in the firmware and is used during call establishment. The template contains common call progress tone types and is preset to default values at initialization (see Tone Template Table in isdnapi.doc). The current template has a total of eight entries, of which only four are defined. The other four are reserved for future use.
The gc_Extension(GCIS_EXID_TONEREDEFINE) function allows you to redefine the existing tone template, but not the functional meanings of the call progress tones.
The following table provides the parameter inputs for the gc_Extension( ) function.
Termination Events
- CCEV_EXEV_TONEREDEFINE - indicates that the tone was successfully redefined
- CCEV_EXEV_TONEREDEFINEFAIL - indicates that the function failed.
- Note: This function is not supported for the BRI/2 board or for PRI protocols.
Example
int extTONEREDEFINE(LINEDEV handle) { GC_PARM_BLKP parm_blkp = NULL, ret_blkp = NULL; unsigned long mode; int ret_val = 0; GC_INFO t_Info; short stmp3; unsigned short ustmp4; ustmp4 = 400; gc_util_insert_parm_ref(&parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_DURATION, sizeof( unsigned short ), &ustmp4); ustmp4 = (unsigned short)350; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_FREQ1, sizeof( unsigned short ), ustmp4); stmp3 = (short)-10; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_AMP1, sizeof( short ), &stmp3); ustmp4 = (unsigned short)460; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_FREQ2, sizeof( unsigned short ), &ustmp4); stmp3 = (short)-10; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_AMP2, sizeof( short ), &stmp3); ustmp4 = (unsigned short)400; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_ON1, sizeof( unsigned short ), &ustmp4); ustmp4 = (unsigned short)0; gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_TONE, GCIS_PARM_TONE_OFF1, sizeof( unsigned short ), &ustmp4); mode = EV_SYNC; ret_val = gc_Extension( GCTGT_GCLIB_CHAN, handle GCIS_EXID_TONEREDEFINE, 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