From: Richard Mudgett Date: Fri, 16 Jul 2010 20:18:54 +0000 (+0000) Subject: priexclusive in chan_dahdi.conf ignored when reloading dahdi module X-Git-Tag: 1.4.35-rc1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=308d8124033ab6e5508f1ca39c07a1de381cb436;p=thirdparty%2Fasterisk.git priexclusive in chan_dahdi.conf ignored when reloading dahdi module During a reload, the priexclusive and outsignalling parameters are not read in from the config file as intended. Unfortunately, they get set to defaults as a result. This patch makes sure that they do not get set to defaults during a reload. (closes issue #17441) Reported by: mtryfoss Patches: issue17441_v1.4.patch uploaded by rmudgett (license 664) issue17441_v1.6.2.patch uploaded by rmudgett (license 664) issue17441_trunk.patch uploaded by rmudgett (license 664) Tested by: rmudgett git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@277419 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 6111b160b6..b5960143f9 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -7856,6 +7856,8 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, return NULL; } } + tmp->outsigmod = conf->chan.outsigmod; + #ifdef HAVE_PRI if ((chan_sig == SIG_PRI) || (chan_sig == SIG_GR303FXOKS) || (chan_sig == SIG_GR303FXSKS)) { int offset; @@ -7970,6 +7972,8 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, tmp->pri = &pris[span]; tmp->prioffset = offset; tmp->call = NULL; + + tmp->priexclusive = conf->chan.priexclusive; } else { ast_log(LOG_ERROR, "Channel %d is reserved for D-channel.\n", offset); destroy_dahdi_pvt(&tmp); @@ -8076,7 +8080,6 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, tmp->immediate = conf->chan.immediate; tmp->transfertobusy = conf->chan.transfertobusy; tmp->sig = chan_sig; - tmp->outsigmod = conf->chan.outsigmod; tmp->ringt_base = ringt_base; tmp->firstradio = 0; if ((chan_sig == SIG_FXOKS) || (chan_sig == SIG_FXOLS) || (chan_sig == SIG_FXOGS)) @@ -8121,7 +8124,6 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, tmp->dahditrcallerid = conf->chan.dahditrcallerid; tmp->restrictcid = conf->chan.restrictcid; tmp->use_callingpres = conf->chan.use_callingpres; - tmp->priexclusive = conf->chan.priexclusive; if (tmp->usedistinctiveringdetection) { if (!tmp->use_callerid) { ast_log(LOG_NOTICE, "Distinctive Ring detect requires 'usecallerid' be on\n");