diff options
author | Christian Richter <christian.richter@beronet.com> | 2006-02-22 16:48:25 +0000 |
---|---|---|
committer | Christian Richter <christian.richter@beronet.com> | 2006-02-22 16:48:25 +0000 |
commit | c7e0abdfed527966d7c609c2c989b9b770353cb7 (patch) | |
tree | 5d02f50c02fff2611e9528633b5347c26a273f8d /channels/chan_misdn.c | |
parent | 800c3982df08faa113a308ecd05352c44b015254 (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.c | 27 |
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: |