diff --git a/apps/app_macro.c b/apps/app_macro.c index a48defacfb4018378d3551fdc11542119427c7e6..4e8a5936e2126181f6e6ec5ba334985ce8e78df3 100755 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -152,7 +152,8 @@ static int macro_exec(struct ast_channel *chan, void *data) while(ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) { if ((res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num))) { /* Something bad happened, or a hangup has been requested. */ - if (((res >= '0') && (res <= '9')) || ((res >= 'A') && (res <= 'F'))) { + if (((res >= '0') && (res <= '9')) || ((res >= 'A') && (res <= 'F')) || + (res == '*') || (res == '#')) { /* Just return result as to the previous application as if it had been dialed */ ast_log(LOG_DEBUG, "Oooh, got something to jump out with ('%c')!\n", res); break;