Index: app_dial.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_dial.c,v retrieving revision 1.56 diff -r1.56 app_dial.c 69a70,72 > " 'w=TIME' -- waits TIME milliseconds for more digits to add to\n" > " dialed extension (timer is resetted to TIME if a new\n" > " digit came)\n" 379a383,390 > /** Crich Patch Start: > if wait flag is given, wait for timer_to_wait ms for > more digits, and add them to dialed extension > **/ > int wait=0; > int time_to_wait=3000; > char add_exten[128]=""; > /** crich patch end **/ 519a531,548 > /** Crich Patch Start: if wait flag is given, wait for > timer_to_wait ms for more digits, and add them to > dialed extension > **/ > { > char *p; > if ( (p=strchr(transfer,'w')) ) { > wait=1; > p=strchr(p,'='); > if (p) { > p++; > time_to_wait=atoi(p); > } > } > if (option_verbose > 2) > ast_verbose(VERBOSE_PREFIX_3 "Digit Waiting activated 4 %d ms\n", time_to_wait); > } > /** crich patch end **/ 528a558,584 > > /** Crich Patch Start: > if wait flag is given, wait for timer_to_wait ms for > more digits, and add them to dialed extension > **/ > if (wait) { > char digit; > > while ( 1 ) { > int i =0 ; > digit=ast_waitfordigit(chan, time_to_wait); > if (digit < 0 ) > break; > if (option_verbose > 2) > ast_verbose(VERBOSE_PREFIX_3 "Digit: [%c]\n", digit); > > i=strlen(add_exten); > add_exten[i] = digit; add_exten[i+1] = 0; > if (digit== 0 ) break; > } > > strcat(chan->exten,add_exten); > strcat(numsubst,add_exten); > ast_cdr_update(chan); > } > /** crich patch end **/ >