diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-25 09:34:05 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-25 09:34:05 +0000 |
commit | 08cf0cf5c0cc72f4fe4539722b89f5422d447ce5 (patch) | |
tree | 20fbfe27ba6e1473f360ab035e3ca9db965fb98a /channels/chan_misdn.c | |
parent | 24961b1ac232519e063683a76154ae346af797e3 (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.c | 8 |
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); |