Merged revisions 277419 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Fri, 16 Jul 2010 20:27:51 +0000 (20:27 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 16 Jul 2010 20:27:51 +0000 (20:27 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277419 | rmudgett | 2010-07-16 15:18:54 -0500 (Fri, 16 Jul 2010) | 15 lines

  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/trunk@277467 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 8742477..f94f93d 100644 (file)
@@ -11768,6 +11768,7 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf,
                                chan_sig = 0;
                        }
                        tmp->sig = chan_sig;
+                       tmp->outsigmod = conf->chan.outsigmod;
 
                        if (analog_lib_handles(chan_sig, tmp->radio, tmp->oprmode)) {
                                analog_p = analog_new(dahdisig_to_analogsig(chan_sig), &dahdi_analog_callbacks, tmp);
@@ -11968,6 +11969,8 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf,
                                                tmp->sig_pvt = pri_chan;
                                                tmp->pri = &pris[span].pri;
 
+                                               tmp->priexclusive = conf->chan.priexclusive;
+
                                                if (!tmp->pri->cc_params) {
                                                        tmp->pri->cc_params = ast_cc_config_params_init();
                                                        if (!tmp->pri->cc_params) {
@@ -12166,7 +12169,6 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf,
                        tmp->mwimonitor_neon = conf->chan.mwimonitor_neon;
                        tmp->mwimonitor_rpas = conf->chan.mwimonitor_rpas;
                }
-               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))
@@ -12221,7 +12223,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");