diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-10-27 09:49:20 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-10-27 09:49:20 +0000 |
commit | 7fbfa73c11947a154ed0d2331eb2d3c094abab4d (patch) | |
tree | c815588d4df39366ed6b3e5964de6da194bfc8f5 /channels | |
parent | 18d991564204cdb97899cd41d720be5085c91ec7 (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.c | 15 | ||||
-rw-r--r-- | channels/misdn/chan_misdn_config.h | 1 | ||||
-rw-r--r-- | channels/misdn_config.c | 3 |
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" |