Skip to content
Snippets Groups Projects
  • Richard Mudgett's avatar
    e2d3215b
    HTTP: Stop accepting requests on final system shutdown. · e2d3215b
    Richard Mudgett authored
    There are three CLI commands to stop and restart Asterisk each.
    
    1) core stop/restart now - Hangup all calls and stop or restart Asterisk.
    New channels are prevented while the shutdown request is pending.
    
    2) core stop/restart gracefully - Stop or restart Asterisk when there are
    no calls remaining in the system.  New channels are prevented while the
    shutdown request is pending.
    
    3) core stop/restart when convenient - Stop or restart Asterisk when there
    are no calls in the system.  New calls are not prevented while the
    shutdown request is pending.
    
    ARI has made stopping/restarting Asterisk more problematic.  While a
    shutdown request is pending it is desirable to continue to process ARI
    HTTP requests for current calls.  To handle the current calls while a
    shutdown request is pending, a new committed to shutdown phase is needed
    so ARI applications can deal with the calls until the system is fully
    committed to shutdown.
    
    * Added a new shutdown committed phase so ARI applications can deal with
    calls until the final committed to shutdown phase is reached.
    
    * Made refuse new HTTP requests when the system has reached the final
    system shutdown phase.  Starting anything while the system is actively
    releasing resources and unloading modules is not a good thing.
    
    * Split the bridging framework shutdown to not cleanup the global bridging
    containers when shutting down in a hurry.  This is similar to how other
    modules prevent crashes on rapid system shutdown.
    
    * Moved ast_begin_shutdown(), ast_cancel_shutdown(), and
    ast_shutting_down().  You should not have to include channel.h just to
    access these system functions.
    
    ASTERISK-24752 #close
    Reported by: Matthew Jordan
    
    Review: https://reviewboard.asterisk.org/r/4399/
    ........
    
    Merged revisions 431692 from http://svn.asterisk.org/svn/asterisk/branches/13
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
    e2d3215b
    History
    HTTP: Stop accepting requests on final system shutdown.
    Richard Mudgett authored
    There are three CLI commands to stop and restart Asterisk each.
    
    1) core stop/restart now - Hangup all calls and stop or restart Asterisk.
    New channels are prevented while the shutdown request is pending.
    
    2) core stop/restart gracefully - Stop or restart Asterisk when there are
    no calls remaining in the system.  New channels are prevented while the
    shutdown request is pending.
    
    3) core stop/restart when convenient - Stop or restart Asterisk when there
    are no calls in the system.  New calls are not prevented while the
    shutdown request is pending.
    
    ARI has made stopping/restarting Asterisk more problematic.  While a
    shutdown request is pending it is desirable to continue to process ARI
    HTTP requests for current calls.  To handle the current calls while a
    shutdown request is pending, a new committed to shutdown phase is needed
    so ARI applications can deal with the calls until the system is fully
    committed to shutdown.
    
    * Added a new shutdown committed phase so ARI applications can deal with
    calls until the final committed to shutdown phase is reached.
    
    * Made refuse new HTTP requests when the system has reached the final
    system shutdown phase.  Starting anything while the system is actively
    releasing resources and unloading modules is not a good thing.
    
    * Split the bridging framework shutdown to not cleanup the global bridging
    containers when shutting down in a hurry.  This is similar to how other
    modules prevent crashes on rapid system shutdown.
    
    * Moved ast_begin_shutdown(), ast_cancel_shutdown(), and
    ast_shutting_down().  You should not have to include channel.h just to
    access these system functions.
    
    ASTERISK-24752 #close
    Reported by: Matthew Jordan
    
    Review: https://reviewboard.asterisk.org/r/4399/
    ........
    
    Merged revisions 431692 from http://svn.asterisk.org/svn/asterisk/branches/13
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431694 65c4cc65-6c06-0410-ace0-fbb531ad65f3