diff options
author | Richard Mudgett <rmudgett@digium.com> | 2012-03-13 21:18:31 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2012-03-13 21:18:31 +0000 |
commit | a22b56235ba019d83260aac47121e5aa155de6ee (patch) | |
tree | 6663f978f3557b820c67141b6f65fe00c1fec278 /channels/chan_dahdi.c | |
parent | cb94c35a8524323b52a3c66eff4d15f72778a7d7 (diff) |
Add ability for chan_dahdi ISDN to block connected line updates per span.
Added new chan_dahdi.conf colp_send option parameter to block connected
line updates per span.
(closes issue ASTERISK-17025)
Reported by: Michael Smith
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r-- | channels/chan_dahdi.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 5dad53910..84a702563 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -1407,6 +1407,7 @@ static struct dahdi_chan_conf dahdi_chan_conf_default(void) .localprefix = "", .privateprefix = "", .unknownprefix = "", + .colp_send = SIG_PRI_COLP_UPDATE, .resetinterval = -1, }, #endif @@ -12691,6 +12692,7 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf, #if defined(HAVE_PRI_L2_PERSISTENCE) pris[span].pri.l2_persistence = conf->pri.pri.l2_persistence; #endif /* defined(HAVE_PRI_L2_PERSISTENCE) */ + pris[span].pri.colp_send = conf->pri.pri.colp_send; #if defined(HAVE_PRI_AOC_EVENTS) pris[span].pri.aoc_passthrough_flag = conf->pri.pri.aoc_passthrough_flag; pris[span].pri.aoce_delayhangup = conf->pri.pri.aoce_delayhangup; @@ -17975,6 +17977,16 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct confp->pri.pri.l2_persistence = PRI_L2_PERSISTENCE_DEFAULT; } #endif /* defined(HAVE_PRI_L2_PERSISTENCE) */ + } else if (!strcasecmp(v->name, "colp_send")) { + if (!strcasecmp(v->value, "block")) { + confp->pri.pri.colp_send = SIG_PRI_COLP_BLOCK; + } else if (!strcasecmp(v->value, "connect")) { + confp->pri.pri.colp_send = SIG_PRI_COLP_CONNECT; + } else if (!strcasecmp(v->value, "update")) { + confp->pri.pri.colp_send = SIG_PRI_COLP_UPDATE; + } else { + confp->pri.pri.colp_send = SIG_PRI_COLP_UPDATE; + } #endif /* HAVE_PRI */ #if defined(HAVE_SS7) } else if (!strcasecmp(v->name, "ss7type")) { |