diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-07-04 08:20:54 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-07-04 08:20:54 +0000 |
commit | fa6263d5cfca4e965c1fa645145fb20173f40b9c (patch) | |
tree | ba363695f3556771733d84a84be31961c3833849 | |
parent | 2810298e69b338f019297717bd0f5732e85854f9 (diff) |
bad bug in overlapdial case, we called start_pbx multiple times, because the state wasn't changed..
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@73207 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_misdn.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 572f1bbf9..cf5ea13f6 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -3721,6 +3721,8 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) if (ast_exists_extension(ch->ast, ch->context, "i", 1, bc->oad)) { ast_log(LOG_WARNING, "Extension can never match, So jumping to 'i' extension. port(%d)\n",bc->port); strcpy(ch->ast->exten, "i"); + + ch->state = MISDN_DIALING; start_pbx(ch, bc, ch->ast); break; } @@ -3749,8 +3751,11 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) break; } - if (ast_exists_extension(ch->ast, ch->context, bc->dad, 1, bc->oad)) + if (ast_exists_extension(ch->ast, ch->context, bc->dad, 1, bc->oad)) { + + ch->state = MISDN_DIALING; start_pbx(ch, bc, ch->ast); + } } else { /* sending INFOS as DTMF-Frames :) */ struct ast_frame fr; |