summaryrefslogtreecommitdiff
path: root/channels/chan_dahdi.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2012-03-13 21:18:31 +0000
committerRichard Mudgett <rmudgett@digium.com>2012-03-13 21:18:31 +0000
commita22b56235ba019d83260aac47121e5aa155de6ee (patch)
tree6663f978f3557b820c67141b6f65fe00c1fec278 /channels/chan_dahdi.c
parentcb94c35a8524323b52a3c66eff4d15f72778a7d7 (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.c12
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")) {