summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMatthew Fredrickson <creslin@digium.com>2008-07-05 03:26:42 +0000
committerMatthew Fredrickson <creslin@digium.com>2008-07-05 03:26:42 +0000
commit199067da4ff325a5262a09f2931ebdd528243c03 (patch)
tree6ff02220c17affd8a2036f5d6537772c8735f9e2 /channels
parent1d0637521ac4630b10aa2d005e7a233861fae861 (diff)
Add option to wait to be able to explicitly send ACM via the Proceeding() application in the dialplan. Also minor documentation update explaining how to setup multiple signalling links within a linkset
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@128122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_dahdi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index b00bd239e..081b4bbb6 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -339,6 +339,8 @@ static int ringt_base = DEFAULT_RINGT;
#define SS7_NAI_DYNAMIC -1
+#define LINKSET_FLAG_EXPLICITACM (1 << 0)
+
struct dahdi_ss7 {
pthread_t master; /*!< Thread of master */
ast_mutex_t lock;
@@ -359,6 +361,7 @@ struct dahdi_ss7 {
char unknownprefix[20]; /*!< for unknown dialplans */
struct ss7 *ss7;
struct dahdi_pvt *pvts[MAX_CHANNELS]; /*!< Member channel pvt structs */
+ int flags; /*!< Linkset flags */
};
static struct dahdi_ss7 linksets[NUM_SPANS];
@@ -9303,8 +9306,10 @@ static void ss7_start_call(struct dahdi_pvt *p, struct dahdi_ss7 *linkset)
if (res < 0)
ast_log(LOG_WARNING, "Unable to set law on channel %d\n", p->channel);
- p->proceeding = 1;
- isup_acm(ss7, p->ss7call);
+ if (!(linkset->flags & LINKSET_FLAG_EXPLICITACM)) {
+ p->proceeding = 1;
+ isup_acm(ss7, p->ss7call);
+ }
ast_mutex_unlock(&linkset->lock);
c = dahdi_new(p, AST_STATE_RING, 1, SUB_REAL, law, 0);