]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
priexclusive in chan_dahdi.conf ignored when reloading dahdi module
authorRichard Mudgett <rmudgett@digium.com>
Fri, 16 Jul 2010 20:18:54 +0000 (20:18 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 16 Jul 2010 20:18:54 +0000 (20:18 +0000)
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

channels/chan_dahdi.c

index 6111b160b6d6a9cd4fe85e04083a3d08142a3382..b5960143f94e51324e03efcfc83f8edba686f35f 100644 (file)
@@ -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");