PREV TOC HOME INDEX NEXT


1.7.15. Redefine Call Progress Tone Attributes (BRI Only)

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.

Parameter Input
target_type GCTGT_GCLIB_CHAN
target_id line device handle of the device
ext_id GCIS_EXID_TONEREDEFINE
parmblkp set_id - GCIS_SET_CALLPROGRESS

parm_id - GCIS_PARM_CALLPROGRESSTONE_TYPE

values -

    • 0x01: Dialtone
    • 0x02: Busytone
    • 0x03: Reorder
    • 0x04: Ringback

value_type - unsigned char


set_id - GCIS_SET_TONE

parm_id - GCIS_PARM_TONE_DURATION

values - range is 1 to 65535. Set to -1 to play forever


value_type - unsigned short


parm_id - GCIS_PARM_TONE_FREQ1 -

values - range is 200 to 3100 Hz.


value_type - unsigned short


parm_id - GCIS_PARM_TONE_AMP1

values - range is -40 to +3 dB


value_type - short


parm_id - GCIS_PARM_TONE_FREQ2-

values - range is 200 to 3100 Hz


value_type - unsigned short


parm_id - GCIS_PARM_TONE_AMP2

values - range is -40 - +3 dB.


value_type - short


parm_id - GCIS_PARM_TONE_ON1

values - 1 to 65535 ms. Set to 1 or greater for continuous tone.


value_type - unsigned short


parm_id - GCIS_PARM_TONE_OFF1

values - range is 0 to 65534 ms. Set to 0 to play a continuous tone.


value_type - unsigned short

mode EV_SYNC or EV_ASYNC

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

PREV TOC HOME INDEX NEXT

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated October, 2001