diff options
author | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-11 17:50:17 +0000 |
---|---|---|
committer | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-11 17:50:17 +0000 |
commit | 9edea8c7afaee5ae7cc759655e0cad78731e06ac (patch) | |
tree | ed1f488eafe1ed5cfe484c2742d38ab7f00974f1 /channels | |
parent | e274b08136b2b5e668c6ad6ef09cd32301b80de3 (diff) |
Make sure we hangup any calls we have and NULL out the ss7call value when we get a reset circuit message. Fixes crash bug
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@121857 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_zap.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index daeb7cf50..495791478 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -9456,11 +9456,18 @@ static void *ss7_linkset(void *data) } p = linkset->pvts[chanpos]; ast_mutex_lock(&p->lock); + p->inservice = 1; p->remotelyblocked = 0; dpc = p->dpc; isup_set_call_dpc(e->rsc.call, dpc); + if (p->ss7call) + p->ss7call = NULL; + if (p->owner) + p->owner->_softhangup |= AST_SOFTHANGUP_DEV; + ast_mutex_unlock(&p->lock); + isup_rlc(ss7, e->rsc.call); break; case ISUP_EVENT_GRS: |