aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-25 08:41:59 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-25 08:41:59 +0000
commit5bb2bc8c545c4bc9d8172b371da2a5523f261b87 (patch)
treeb54558033fa74bb49c5791e8d4c664b8b110a9ba /channels/chan_misdn.c
parent4e364351a129e4434e262d929e83469a013e6cb6 (diff)
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.2@46176 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 4264ceda0..07d442e8d 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -191,6 +191,9 @@ struct chan_list {
int dropped_frame_cnt;
int far_alerting;
+
+ int nttimeout;
+
int other_pid;
struct chan_list *other_ch;
@@ -1416,6 +1419,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));
@@ -2361,11 +2365,14 @@ 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);
@@ -3943,9 +3950,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: