DNID not cleared when channel hang up (Affects PRI and SS7)
authorRichard Mudgett <rmudgett@digium.com>
Thu, 22 Jul 2010 21:16:04 +0000 (21:16 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 22 Jul 2010 21:16:04 +0000 (21:16 +0000)
The "dahdi show channels" CLI command still reports the DNID of the
previous call even if the call is already hang up.  The "dahdi show
channels" command of older releases clear the DNID once the channel is
hang up.

Regression from the sig_analog/sig_pri extraction from chan_dahdi.

(closes issue #17623)
Reported by: klaus3000
Patches:
      issue17623.patch uploaded by rmudgett (license 664)
Tested by: rmudgett

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278777 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 3112bfa..85855e6 100644 (file)
@@ -5846,6 +5846,7 @@ static int dahdi_hangup(struct ast_channel *ast)
        }
 
        ast_mutex_lock(&p->lock);
+       p->exten[0] = '\0';
        if (analog_lib_handles(p->sig, p->radio, p->oprmode)) {
                dahdi_confmute(p, 0);
                restore_gains(p);
@@ -5975,7 +5976,6 @@ static int dahdi_hangup(struct ast_channel *ast)
        }
        if (p->dsp)
                ast_dsp_set_digitmode(p->dsp, DSP_DIGITMODE_DTMF | p->dtmfrelax);
-       p->exten[0] = '\0';
 
        ast_debug(1, "Hangup: channel: %d index = %d, normal = %d, callwait = %d, thirdcall = %d\n",
                p->channel, idx, p->subs[SUB_REAL].dfd, p->subs[SUB_CALLWAIT].dfd, p->subs[SUB_THREEWAY].dfd);