diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 7c2829b26cbdfacd0c6c60918c91b9bf3b481935..44b3fe1e8c0a51d7929ca055b14875ccb780da84 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -2205,8 +2205,6 @@ int pri_find_dchan(struct zt_pri *pri) ast_log(LOG_NOTICE, "Switching from from d-channel %d to channel %d!\n", pri->dchannels[oldslot], pri->dchannels[newslot]); pri->pri = pri->dchans[newslot]; - if (!pri_is_up(pri) && !(pri->dchanavail[newslot] & DCHAN_NOTINALARM)) - pri_restart(pri->dchans[newslot]); return 0; } #endif @@ -8067,7 +8065,7 @@ static void *pri_dchannel(void *vpri) pri_find_dchan(pri); } else if (x == ZT_EVENT_NOALARM) { pri->dchanavail[which] |= DCHAN_NOTINALARM; - pri_find_dchan(pri); + pri_restart(pri->dchans[which]); } if (option_debug)