All pastes #947732 Raw Edit

Stuff

public text v1 · immutable
·published 2008-03-18 17:58 UTC
rendered paste body
else if (f->frametype == AST_FRAME_DTMF) {
                    ast_log(LOG_NOTICE, "User pressed a key: %c\n", f->subclass);
                    res = 0;
                    ASTOBJ_WRLOCK(ps);
                    ps->immediate_exit = 1;		
                    ASTOBJ_UNLOCK(ps);
                    
		   // new code 

		char var[256];
		int x;
		for (x = 0; x < 255; )
			var[x++] = '\0';   
		
		var[0] = f->subclass;
		x = 1;
		
		while (x < 255) { 
			res = ast_waitfordigit(chan, 3000);
			if (res < 1) {
				break;
			}
			var[x++] = res;
			if (var[x-1] == '#') {
				var[x-1] = '\0';
				break;
			}
		}
		
		pbx_builtin_setvar_helper(chan, "SWIFT_DTMF", var);
		
		
		
		  // end new code
		
		    
		    /*
                    char tmp_exten[2];
                    tmp_exten[0] = f->subclass;
                    tmp_exten[1] = '\0';
                    pbx_builtin_setvar_helper(chan, "SWIFT_DTMF", tmp_exten);

                    if (cfg_goto_exten) {
                        if (ast_exists_extension (chan, chan->context, tmp_exten, 1, chan->cid.cid_num)) {
                            strncpy(chan->exten, tmp_exten, sizeof(chan->exten) - 1);
                            chan->priority = 0;
                        }
                    }
		    */

                    ast_frfree(f);
                    
                }