rendered paste bodyelse 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);
}