aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-13 14:13:24 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-13 14:13:24 +0000
commit64ca8501337146876169d4b174f06862f88c9e06 (patch)
tree3874939df773caa017f61f62329716a878ca4b9f /channels/misdn
parent471ba9658e1e88044c419e9740961620f3ef1545 (diff)
added even more statefulness for sending out disconnect/release/release_complete messages. added support for incoming presentation/screening. fixed a bug that we generate TONE_EVENTS on hanguptone_indicatem, which caused asterisk to write blocking thread messages. added nodialtone option to prevent dialtone for always_immediate
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37508 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/chan_misdn_config.h1
-rw-r--r--channels/misdn/isdn_lib.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h
index 8e0140471..8866df853 100644
--- a/channels/misdn/chan_misdn_config.h
+++ b/channels/misdn/chan_misdn_config.h
@@ -44,6 +44,7 @@ enum misdn_cfg_elements {
MISDN_CFG_PRES, /* int */
MISDN_CFG_SCREEN, /* int */
MISDN_CFG_ALWAYS_IMMEDIATE, /* int (bool) */
+ MISDN_CFG_NODIALTONE, /* int (bool) */
MISDN_CFG_IMMEDIATE, /* int (bool) */
MISDN_CFG_SENDDTMF, /* int (bool) */
MISDN_CFG_HOLD_ALLOWED, /* int (bool) */
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index ae8283cb3..de3e5cd1a 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -3195,6 +3195,7 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
cb_log(-1,bc->port," --> we have already send Release\n");
return -1;
}
+ bc->need_disconnect=0;
bc->need_release=0;
break;
case EVENT_RELEASE_COMPLETE:
@@ -3202,6 +3203,8 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
cb_log(-1,bc->port," --> we have already send Release_complete\n");
return -1;
}
+ bc->need_disconnect=0;
+ bc->need_release=0;
bc->need_release_complete=0;
break;