aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-07-04 08:20:54 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-07-04 08:20:54 +0000
commitfa6263d5cfca4e965c1fa645145fb20173f40b9c (patch)
treeba363695f3556771733d84a84be31961c3833849 /channels/chan_misdn.c
parent2810298e69b338f019297717bd0f5732e85854f9 (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
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c7
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;