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);
if ( stop_tone ) {
stop_indicate(ch);
}
-
+
+ if (!ch->ast) break;
+
if (ch->state == MISDN_WAITING4DIGS ) {
/* Ok, incomplete Setup, waiting till extension exists */
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);
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: