increment the mfcr2 monitor count when clearing the call request
authorMoises Silva <moises.silva@gmail.com>
Fri, 21 Aug 2009 04:09:26 +0000 (04:09 +0000)
committerMoises Silva <moises.silva@gmail.com>
Fri, 21 Aug 2009 04:09:26 +0000 (04:09 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213454 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 74cf4f7..3e2d9c7 100644 (file)
@@ -5271,7 +5271,12 @@ static int dahdi_hangup(struct ast_channel *ast)
                        dahdi_r2_update_monitor_count(p->mfcr2, 1);
                } else if (p->mfcr2call) {
                        ast_log(LOG_DEBUG, "Clearing call request on channel %d\n", p->channel);
+                       /* since ast_request() was called but not ast_call() we have not yet dialed
+                       and the openr2 stack will not call on_call_end callback, we need to unset
+                       the mfcr2call flag and bump the monitor count so the monitor thread can take
+                       care of this channel events from now on */
                        p->mfcr2call = 0;
+                       dahdi_r2_update_monitor_count(p->mfcr2, 1);
                }
 #endif
                switch (p->sig) {