asterisk/channels
Richard Mudgett e2d3215b83 HTTP: Stop accepting requests on final system shutdown.
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
2015-02-11 17:39:13 +00:00
..
dahdi media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
iax2 Fix printf problems with high ascii characters after r413586 (1.8). 2014-12-17 10:23:32 +00:00
misdn Fix printf problems with high ascii characters after r413586 (1.8). 2014-12-17 10:23:32 +00:00
pjsip chan_pjsip: Add configure check for 'pjsip_get_dest_info' function. 2015-01-13 12:09:45 +00:00
sip Various fixes for OS X 2015-01-26 14:50:40 +00:00
chan_alsa.c Add module support level to ast_module_info structure. Print it in CLI "module show" . 2014-07-25 16:47:17 +00:00
chan_bridge_media.c Add module support level to ast_module_info structure. Print it in CLI "module show" . 2014-07-25 16:47:17 +00:00
chan_console.c chan_console: Fix reference leaks to pvt. 2014-11-08 18:20:43 +00:00
chan_dahdi.c Revert -r430452 It needs to be redone for the next major AMI version change instead. 2015-01-12 18:09:27 +00:00
chan_dahdi.h chan_dahdi: Adds support for major update to libss7. 2014-06-16 18:27:51 +00:00
chan_iax2.c Investigate and fix memory leaks in Asterisk 2015-01-23 15:21:56 +00:00
chan_mgcp.c main/stasis: Allow subscriptions to use a threadpool for message delivery 2014-12-01 17:59:21 +00:00
chan_misdn.c Fix typo's (retrieve, specified, address). 2015-01-23 15:13:08 +00:00
chan_motif.c chan_motif / chan_pjsip: Fix incorrect "No such module" messages when reloading. 2014-11-15 19:01:21 +00:00
chan_nbs.c Add module support level to ast_module_info structure. Print it in CLI "module show" . 2014-07-25 16:47:17 +00:00
chan_oss.c Add module support level to ast_module_info structure. Print it in CLI "module show" . 2014-07-25 16:47:17 +00:00
chan_phone.c Fix building chan_phone on big endian systems 2014-10-29 13:02:27 +00:00
chan_phone.h rename DialTone.h to chan_phone.h because chan_phone.c is the only file using it 2008-05-28 20:00:21 +00:00
chan_pjsip.c Fix some memory leaks. 2015-01-30 16:49:59 +00:00
chan_rtp.c chan_rtp: Add unicast RTP support. 2014-09-12 17:42:15 +00:00
chan_sip.c HTTP: Stop accepting requests on final system shutdown. 2015-02-11 17:39:13 +00:00
chan_skinny.c Revert -r430452 It needs to be redone for the next major AMI version change instead. 2015-01-12 18:09:27 +00:00
chan_unistim.c Fix typo's (retrieve, specified, address). 2015-01-23 15:13:08 +00:00
chan_vpb.cc Fix compilation since the patch for ASTERISK-24363 went in. 2014-12-22 20:25:40 +00:00
console_board.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
console_gui.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
console_video.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
console_video.h implement the 'freeze' function for incoming frames; 2008-06-30 15:45:15 +00:00
Makefile Remove many deprecated modules 2014-07-04 13:26:37 +00:00
misdn_config.c Add named callgroups/pickupgroups 2012-08-07 12:46:36 +00:00
sig_analog.c chan_dahdi: Populate CALLERID(ani2) for incoming calls in featdmf signaling mode. 2014-12-18 20:09:21 +00:00
sig_analog.h Convert sig_analog to use a global callback table. 2012-08-08 20:32:53 +00:00
sig_pri.c Fix printf problems with high ascii characters after r413586 (1.8). 2014-12-17 10:23:32 +00:00
sig_pri.h chan_dahdi: Add inband_on_setup_ack compatibility option. 2014-07-03 22:22:36 +00:00
sig_ss7.c chan_dahdi: Adds support for major update to libss7. 2014-06-16 18:27:51 +00:00
sig_ss7.h chan_dahdi: Adds support for major update to libss7. 2014-06-16 18:27:51 +00:00
vcodecs.c Fix printf problems with high ascii characters after r413586 (1.8). 2014-12-17 10:23:32 +00:00
vgrabbers.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00