summaryrefslogtreecommitdiff
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorChristian Richter <christian.richter@beronet.com>2006-02-22 16:48:25 +0000
committerChristian Richter <christian.richter@beronet.com>2006-02-22 16:48:25 +0000
commitc7e0abdfed527966d7c609c2c989b9b770353cb7 (patch)
tree5d02f50c02fff2611e9528633b5347c26a273f8d /channels/chan_misdn.c
parent800c3982df08faa113a308ecd05352c44b015254 (diff)
fixed a ETSI violation (after RELEASE we need to RELEASE_COMPLETE (network side) one needs to upgread mISDNuser for that fix as well. also fixed the reload issue #6547
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 1e01f9646..ab23bb732 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -1915,14 +1915,16 @@ static int misdn_hangup(struct ast_channel *ast)
chan_misdn_log(1, bc->port, " --> cause %d\n",bc->cause);
chan_misdn_log(1, bc->port, " --> out_cause %d\n",bc->out_cause);
+ bc->out_cause=-1;
misdn_lib_send_event(bc,EVENT_RELEASE);
break;
default:
/* Alerting or Disconect */
- if (bc->nt)
+ if (bc->nt) {
+ bc->out_cause=-1;
misdn_lib_send_event(bc, EVENT_RELEASE);
- else
+ } else
misdn_lib_send_event(bc, EVENT_DISCONNECT);
p->state=MISDN_CLEANING; /* MISDN_HUNGUP_FROM_AST; */
}
@@ -3377,12 +3379,14 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
}
stop_bc_tones(ch);
- bc->out_cause=16;
+ /*bc->out_cause=16;*/
+ bc->out_cause=-1;
- //if (ch->state == MISDN_CONNECTED)
- //misdn_lib_send_event(bc,EVENT_RELEASE);
- //else
- //misdn_lib_send_event(bc,EVENT_RELEASE_COMPLETE);
+ /*if (ch->state == MISDN_CONNECTED)
+ misdn_lib_send_event(bc,EVENT_RELEASE);
+ else
+ misdn_lib_send_event(bc,EVENT_RELEASE_COMPLETE);
+ */
misdn_lib_send_event(bc,EVENT_RELEASE);
@@ -3401,15 +3405,18 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
before, so we should RELEASE_COMPLETE after that Disconnect
(looks like ALERTING State at misdn_hangup !!
*/
- return RESPONSE_OK;
+
+ /*return RESPONSE_OK;*/
break;
}
bc->out_cause=16;
- stop_bc_tones(ch);
- release_chan(bc);
+ /*stop_bc_tones(ch);
+ release_chan(bc);*/
+
+ misdn_lib_send_event(bc,EVENT_RELEASE_COMPLETE);
}
break;
case EVENT_RELEASE_COMPLETE: