]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
avoid sending a disconnect when we already received one.
authorChristian Richter <christian.richter@beronet.com>
Tue, 20 Mar 2007 09:18:06 +0000 (09:18 +0000)
committerChristian Richter <christian.richter@beronet.com>
Tue, 20 Mar 2007 09:18:06 +0000 (09:18 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59062 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c

index c340f84b8b20688bf0f2dec95015a811abcbdfeb..abf697cbe229dcd81b9f9f0fa27f261755e5e7cd 100644 (file)
@@ -3877,6 +3877,8 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                        cb_log(1,bc->port," --> found holded ch\n");
                        misdn_transfer_bc(ch, holded_ch) ;
                }
+
+               bc->need_disconnect=0;
                
                stop_bc_tones(ch);
                hangup_chan(ch);
@@ -3892,6 +3894,9 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        
        case EVENT_RELEASE:
                {
+                       bc->need_disconnect=0;
+                       bc->need_release=0;
+
                        hangup_chan(ch);
                        release_chan(bc);
                
@@ -3901,6 +3906,10 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                break;
        case EVENT_RELEASE_COMPLETE:
        {
+               bc->need_disconnect=0;
+               bc->need_release=0;
+               bc->need_release_complete=0;
+
                stop_bc_tones(ch);
                hangup_chan(ch);
                release_chan(bc);