diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 51f368234c9f97b05ff85f37bf24d08804454968..7d3795bc997aead242f4b620a68b63e8b8a06b7b 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -8349,13 +8349,13 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, } #endif #ifdef HAVE_PRI - if ((conf->chan.sig == SIG_PRI) || (conf->chan.sig == SIG_BRI) || (conf->chan.sig == SIG_BRI_PTMP) || (conf->chan.sig == SIG_GR303FXOKS) || (conf->chan.sig == SIG_GR303FXSKS)) { + if ((chan_sig == SIG_PRI) || (chan_sig == SIG_BRI) || (chan_sig == SIG_BRI_PTMP) || (chan_sig == SIG_GR303FXOKS) || (chan_sig == SIG_GR303FXSKS)) { int offset; int myswitchtype; int matchesdchan; int x,y; offset = 0; - if (((conf->chan.sig == SIG_PRI) || (conf->chan.sig == SIG_BRI) || (conf->chan.sig == SIG_BRI_PTMP)) + if (((chan_sig == SIG_PRI) || (chan_sig == SIG_BRI) || (chan_sig == SIG_BRI_PTMP)) && ioctl(tmp->subs[SUB_REAL].zfd, DAHDI_AUDIOMODE, &offset)) { ast_log(LOG_ERROR, "Unable to set clear mode on clear channel %d of span %d: %s\n", channel, p.spanno, strerror(errno)); destroy_dahdi_pvt(&tmp); @@ -8380,9 +8380,9 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, destroy_dahdi_pvt(&tmp); return NULL; } - if ((conf->chan.sig == SIG_PRI) || - (conf->chan.sig == SIG_BRI) || - (conf->chan.sig == SIG_BRI_PTMP)) + if ((chan_sig == SIG_PRI) || + (chan_sig == SIG_BRI) || + (chan_sig == SIG_BRI_PTMP)) myswitchtype = conf->pri.switchtype; else myswitchtype = PRI_SWITCH_GR303_TMC; @@ -8440,7 +8440,7 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, return NULL; } - pris[span].sig = conf->chan.sig; + pris[span].sig = chan_sig; pris[span].nodetype = conf->pri.nodetype; pris[span].switchtype = myswitchtype; pris[span].nsf = conf->pri.nsf; @@ -8559,7 +8559,7 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, #endif tmp->immediate = conf->chan.immediate; tmp->transfertobusy = conf->chan.transfertobusy; - if (conf->chan.sig & __DAHDI_SIG_FXS) { + if (chan_sig & __DAHDI_SIG_FXS) { tmp->mwimonitor_fsk = conf->chan.mwimonitor_fsk; tmp->mwimonitor_neon = conf->chan.mwimonitor_neon; } @@ -8715,7 +8715,7 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, tmp->sendcalleridafter = conf->chan.sendcalleridafter; if (!here) { tmp->locallyblocked = tmp->remotelyblocked = 0; - if ((conf->chan.sig == SIG_PRI) || (conf->chan.sig == SIG_BRI) || (conf->chan.sig == SIG_BRI_PTMP) || (conf->chan.sig == SIG_SS7)) + if ((chan_sig == SIG_PRI) || (chan_sig == SIG_BRI) || (chan_sig == SIG_BRI_PTMP) || (chan_sig == SIG_SS7)) tmp->inservice = 0; else /* We default to in service on protocols that don't have a reset */ tmp->inservice = 1;