aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-25 09:02:09 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-25 09:02:09 +0000
commit845a2425412f5543c8a3ccf4880cf9c9b6a78fc7 (patch)
tree2d18750a9710b74c616f5a84e4fe254d442f8097 /channels
parentfcd86d344147e424d9e2d5f789a6f1d58c2cf85d (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@46182 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.c1
3 files changed, 14 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:
diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h
index 24c6a1fea..db007f57d 100644
--- a/channels/misdn/chan_misdn_config.h
+++ b/channels/misdn/chan_misdn_config.h
@@ -54,6 +54,7 @@ enum misdn_cfg_elements {
MISDN_CFG_ECHOCANCEL, /* int */
MISDN_CFG_ECHOCANCELWHENBRIDGED, /* int (bool) */
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 e02cd1476..689c8c7c7 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -114,6 +114,7 @@ static const struct misdn_cfg_spec port_spec[] = {
{ "incoming_early_audio", MISDN_CFG_INCOMING_EARLY_AUDIO, MISDN_CTYPE_BOOL, "no", NONE },
{ "echocancel", MISDN_CFG_ECHOCANCEL, MISDN_CTYPE_BOOLINT, "0", 128 },
{ "need_more_infos", MISDN_CFG_NEED_MORE_INFOS, MISDN_CTYPE_BOOL, "0", NONE },
+ { "nttimeout", MISDN_CFG_NTTIMEOUT, MISDN_CTYPE_BOOL, "no", NONE },
{ "jitterbuffer", MISDN_CFG_JITTERBUFFER, MISDN_CTYPE_INT, "4000", NONE },
{ "jitterbuffer_upper_threshold", MISDN_CFG_JITTERBUFFER_UPPER_THRESHOLD, MISDN_CTYPE_INT, "0", NONE },
{ "callgroup", MISDN_CFG_CALLGROUP, MISDN_CTYPE_ASTGROUP, NO_DEFAULT, NONE },