On Fri, 25 May 2007, Dovid B wrote:
> I am currently using the H parameter in the dial command. The issue that
> I am having is that if the user is calling an ivr that requires him to
> press the * key then the call gets hung up on. How would I go about
> changing it so that the user will have to press say ** for the H
> parameter to come in to effect ?
Hack the area around line 1825 of apps/app_dial.c (going off of 1.4.3):
--- SNIP (reformatted) ----
if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
(f->subclass == '*')) {
/* hmm it it not guaranteed to be '*' anymore. */
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n",
f->subclass);
*to=0;
strcpy(status, "CANCEL");
ast_frfree(f);
return NULL;
}
}
-------------
Inside the higher-order if block:
if(f && (f->frametype == AST_FRAME_DTMF)) {
...
Make it so it accumulates states of at least two contiguous
DTMF-containing frames and makes the inference if they come within a
certain interval of each other.
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : +1-678-954-0670