From: Automerge Script Date: Wed, 28 Feb 2007 17:11:28 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.16-netsec~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df5009b564b890777f7264843ac6ac70fb611f02;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@57048 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 1a3a5a29eb..40231309ba 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -1986,12 +1986,8 @@ static int misdn_indication(struct ast_channel *ast, int cond) chan_misdn_log(1, p->bc->port, " --> * IND :\tcongestion pid:%d\n",p->bc?p->bc->pid:-1); p->bc->out_cause=42; - if (p->state != MISDN_CONNECTED) { - start_bc_tones(p); - misdn_lib_send_event( p->bc, EVENT_RELEASE); - } else { - misdn_lib_send_event( p->bc, EVENT_DISCONNECT); - } + start_bc_tones(p); + misdn_lib_send_event( p->bc, EVENT_DISCONNECT); if (p->bc->nt) { hanguptone_indicate(p); @@ -3385,7 +3381,9 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) if ( stop_tone ) { stop_indicate(ch); } - + + if (!ch->ast) break; + if (ch->state == MISDN_WAITING4DIGS ) { /* Ok, incomplete Setup, waiting till extension exists */ @@ -4340,6 +4338,7 @@ int unload_module(void) ast_cli_unregister(&cli_show_stacks); ast_cli_unregister(&cli_port_block); ast_cli_unregister(&cli_port_unblock); + ast_cli_unregister(&cli_restart_port); ast_cli_unregister(&cli_restart_pid); ast_cli_unregister(&cli_port_up); ast_cli_unregister(&cli_port_down); diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 14cf138189..aaf017f313 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -1507,8 +1507,10 @@ int handle_event ( struct misdn_bchannel *bc, enum event_e event, iframe_t *frm) if (bc->channel>0) empty_chan_in_stack(stack,bc->channel); int tmpcause=bc->cause; + int tmp_out_cause=bc->out_cause; empty_bc(bc); bc->cause=tmpcause; + bc->out_cause=tmpcause; clean_up_bc(bc); break; default: