aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-25 09:34:05 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-25 09:34:05 +0000
commit08cf0cf5c0cc72f4fe4539722b89f5422d447ce5 (patch)
tree20fbfe27ba6e1473f360ab035e3ca9db965fb98a /channels/chan_misdn.c
parent24961b1ac232519e063683a76154ae346af797e3 (diff)
Merged revisions 71120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r71120 | crichter | 2007-06-22 17:30:08 +0200 (Fr, 22 Jun 2007) | 9 lines Merged revisions 69887 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r69887 | crichter | 2007-06-19 15:23:04 +0200 (Di, 19 Jun 2007) | 1 line when we send out a SETUP, but get no response, we should cleanup everything after reception of a hangup. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71496 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index a9a43b760..e86921bb8 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -2155,7 +2155,7 @@ static int misdn_digit_end(struct ast_channel *ast, char digit, unsigned int dur
if ( bc->send_dtmf )
send_digit_to_chan(p,digit);
break;
- }
+}
return 0;
}
@@ -2370,6 +2370,11 @@ static int misdn_hangup(struct ast_channel *ast)
case MISDN_INCOMING_SETUP:
case MISDN_CALLING:
p->state = MISDN_CLEANING;
+ /* This is the only place in misdn_hangup, where we
+ * can call release_chan, else it might create lot's of trouble
+ * */
+ ast_log(LOG_NOTICE, "release channel, in CALLING/INCOMING_SETUP state.. no other events happened\n");
+ release_chan(bc);
misdn_lib_send_event( bc, EVENT_RELEASE_COMPLETE);
break;
case MISDN_HOLDED:
@@ -2380,7 +2385,6 @@ static int misdn_hangup(struct ast_channel *ast)
if (bc->need_disconnect)
misdn_lib_send_event( bc, EVENT_DISCONNECT);
break;
-
case MISDN_CALLING_ACKNOWLEDGE:
start_bc_tones(p);
hanguptone_indicate(p);