aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-27 09:49:20 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-27 09:49:20 +0000
commit7fbfa73c11947a154ed0d2331eb2d3c094abab4d (patch)
treec815588d4df39366ed6b3e5964de6da194bfc8f5 /channels
parent18d991564204cdb97899cd41d720be5085c91ec7 (diff)
Merged revisions 46176 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r46176 | crichter | 2006-10-25 10:41:59 +0200 (Mi, 25 Okt 2006) | 1 line added nttimeout option to configure wether we disconnect calls on NT timeouts or not during an overlapdial session ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46351 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_misdn.c15
-rw-r--r--channels/misdn/chan_misdn_config.h1
-rw-r--r--channels/misdn_config.c3
3 files changed, 16 insertions, 3 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index d9f10f86b..5261342ff 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -199,6 +199,9 @@ struct chan_list {
int dropped_frame_cnt;
int far_alerting;
+
+ int nttimeout;
+
int other_pid;
struct chan_list *other_ch;
@@ -1651,6 +1654,7 @@ static int read_config(struct chan_list *ch, int orig) {
misdn_cfg_get( port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(int));
misdn_cfg_get( port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(int));
+ misdn_cfg_get( port, MISDN_CFG_NTTIMEOUT, &ch->nttimeout, sizeof(int));
misdn_cfg_get( port, MISDN_CFG_FAR_ALERTING, &ch->far_alerting, sizeof(int));
@@ -2735,11 +2739,14 @@ static enum ast_bridge_result misdn_bridge (struct ast_channel *c0,
*rc=who;
break;
}
-
+
+#if 0
if (f->frametype == AST_FRAME_VOICE) {
- chan_misdn_log(1,0,"Got Voice frame in Bridged state..\n");
+ chan_misdn_log(1, ch1->bc->port, "I SEND: Splitting conference with Number:%d\n", ch1->bc->pid +1);
+
continue;
}
+#endif
if (who == c0) {
ast_write(c1,f);
@@ -4369,9 +4376,11 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
chan_misdn_log(1,bc->port,"--> state: %s\n",misdn_get_ch_state(ch));
switch (ch->state) {
- case MISDN_CALLING:
case MISDN_DIALING:
case MISDN_PROGRESS:
+ if (bc->nt && !ch->nttimeout) break;
+
+ case MISDN_CALLING:
case MISDN_ALERTING:
case MISDN_PROCEEDING:
case MISDN_CALLING_ACKNOWLEDGE:
diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h
index f43f3447c..8869ead50 100644
--- a/channels/misdn/chan_misdn_config.h
+++ b/channels/misdn/chan_misdn_config.h
@@ -66,6 +66,7 @@ enum misdn_cfg_elements {
MISDN_CFG_BNEC_ADAPT,
#endif
MISDN_CFG_NEED_MORE_INFOS, /* bool */
+ MISDN_CFG_NTTIMEOUT, /* bool */
MISDN_CFG_JITTERBUFFER, /* int */
MISDN_CFG_JITTERBUFFER_UPPER_THRESHOLD, /* int */
MISDN_CFG_CALLGROUP, /* ast_group_t */
diff --git a/channels/misdn_config.c b/channels/misdn_config.c
index c7131b0e4..c725d3716 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -301,6 +301,9 @@ static const struct misdn_cfg_spec port_spec[] = {
"\tPossible values are positive integers or:\n"
"\t yes (= 4 seconds)\n"
"\t no (= 0 seconds = disabled)" },
+ { "nttimeout", MISDN_CFG_NTTIMEOUT, MISDN_CTYPE_BOOL, "no", NONE
+ "Set this to yes if you want calls disconnected in overlap mode"
+ "when a timeout happens.\n"},
{ "msns", MISDN_CFG_MSNS, MISDN_CTYPE_MSNLIST, NO_DEFAULT, NONE,
"MSN's for TE ports, listen on those numbers on the above ports, and\n"
"\tindicate the incoming calls to Asterisk.\n"