aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-19 13:23:04 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-19 13:23:04 +0000
commit7b7d14c05dc8b51679504da5e93cf3c25da28a1d (patch)
treeda4aa141c419b142aa64c61225e4e1e454f74e52 /channels
parent4e50c366a5aa8d31f43f0f309ad75e840b60ed94 (diff)
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/branches/1.2@69887 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_misdn.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 3181a1a53..a5aef1dfb 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -2304,8 +2304,14 @@ static int misdn_hangup(struct ast_channel *ast)
chan_misdn_log(2, bc->port, " --> state:%s\n", misdn_get_ch_state(p));
switch (p->state) {
- case MISDN_INCOMING_SETUP:
case MISDN_CALLING:
+ case MISDN_INCOMING_SETUP:
+ /* 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);
+
p->state=MISDN_CLEANING;
misdn_lib_send_event( bc, EVENT_RELEASE_COMPLETE);
break;