]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge Script <automerge@asterisk.org>
Wed, 28 Feb 2007 17:11:28 +0000 (17:11 +0000)
committerAutomerge Script <automerge@asterisk.org>
Wed, 28 Feb 2007 17:11:28 +0000 (17:11 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@57048 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c
channels/misdn/isdn_lib.c

index 1a3a5a29ebfef28c8df24a46b9462cb717fa60fe..40231309ba946032f832695d7ccde51d5b6d5230 100644 (file)
@@ -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);
index 14cf13818970cde2df9b245399049dd3dbbaa4f9..aaf017f31357d7e1fd58690efb5197fd8c59255a 100644 (file)
@@ -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: