diff --git a/channels/chan_zap.c b/channels/chan_zap.c index dfb7006b0de78894d2f3efb843b11eda223d4727..915d5e912f0a4ce8d070f0bb963558d44f105f82 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -5830,7 +5830,6 @@ static void *pri_dchannel(void *vpri) break; case PRI_EVENT_HANGUP: chan = e->hangup.channel; - ast_log(LOG_NOTICE, "channel %d\n",chan); if ((chan < 1) || (chan > pri->channels)) { ast_log(LOG_WARNING, "Hangup requested on odd channel number %d span %d\n", chan, pri->span); chan = 0; @@ -5845,7 +5844,8 @@ static void *pri_dchannel(void *vpri) if (!pri->pvt[chan]->alreadyhungup) { /* we're calling here zt_hangup so once we get there we need to clear p->call after calling pri_hangup */ pri->pvt[chan]->alreadyhungup = 1; - pri->pvt[chan]->owner->_softhangup |= AST_SOFTHANGUP_DEV; + if (pri->pvt[chan]->owner) + pri->pvt[chan]->owner->_softhangup |= AST_SOFTHANGUP_DEV; if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "Channel %d, span %d got hangup\n", chan, pri->span); } else {