asterisk/channels
Richard Mudgett 8cc7aea09b chan_agent: Prevent multiple channels from logging in as the same agent.
Multiple channels logging in as the same agent can result in dead channels
waiting for a condition signal that will never come because another
channel thread stole it.  A symptom is chan_sip repeatedly generating
warning messages about rescheduling autodestruction of dialogs with an
agent channel owner.

* Made only login_exec() (the app AgentLogin) clear the agent_pvt->chan
pointer to prevent multiple channels from logging in as the same agent.
agent_read(), agent_call(), and agent_set_base_channel() no longer
disconnect the agent channel from the agent_pvt.  This also eliminates the
need to keep checking for agent_pvt->chan being NULL.

* Made agent_hangup() not wake up the AgentLogin agent thread until it is
done.

* Made agent_request() not able to get the agent until he has logged in
and any wrapup time has expired.

* Made agent_request() use ast_hangup() instead of agent_hangup() to
correctly dispose of a channel.

* Removed agent_set_base_channel().  Nobody calls it and it is a bad thing
in general.

* Made only agent_devicestate() determine the current device state of an
agent.  Note: Agent group device states have never been supported.

Review: https://reviewboard.asterisk.org/r/2260/
........

Merged revisions 380364 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 380384 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-29 18:02:07 +00:00
..
h323 Asterisk media architecture conversion - no more format bitfields 2011-02-03 16:22:10 +00:00
misdn chan_misdn: Fix sending RELEASE_COMPLETE in response to SETUP. 2012-11-30 21:38:01 +00:00
sip Corrected crypto tag in SDP ANSWER for SRTP. (again) 2013-01-29 17:46:30 +00:00
Makefile Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_agent.c chan_agent: Prevent multiple channels from logging in as the same agent. 2013-01-29 18:02:07 +00:00
chan_alsa.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_bridge.c confbridge: Minor fixes playing user counts to the conference. 2013-01-22 00:36:52 +00:00
chan_console.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_dahdi.c Prevent exhaustion of system resources through exploitation of event cache 2013-01-02 18:11:59 +00:00
chan_gtalk.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_h323.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_iax2.c Correct the number of available call numbers in IAX2. 2013-01-28 21:09:52 +00:00
chan_jingle.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_local.c Prevent exhaustion of system resources through exploitation of event cache 2013-01-02 18:11:59 +00:00
chan_mgcp.c Make evaluation of channel variables consistently case-sensitive. 2012-10-29 21:27:09 +00:00
chan_misdn.c chan_misdn: Fix compile error. 2013-01-16 17:49:52 +00:00
chan_motif.c Add missing support for "who hung up" to chan_motif. 2012-12-09 01:23:44 +00:00
chan_multicast_rtp.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
chan_nbs.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
chan_oss.c Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
chan_phone.c Doxygen Updates - Title update 2012-10-14 21:47:40 +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_sip.c Ensure that a declined media stream is terminated with a '\r\n' 2013-01-29 14:48:28 +00:00
chan_skinny.c Add force dial keys to skinny. 2013-01-25 05:49:54 +00:00
chan_unistim.c Add firmware information to CLI devices listing 2012-12-10 07:03:48 +00:00
chan_vpb.cc Doxygen Updates - Title update 2012-10-14 21:47: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
iax2-parser.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
iax2-parser.h Doxygen Updates - Title update 2012-10-14 21:47:40 +00:00
iax2-provision.c iax2-provision: Fix improper return on failed cache retrieval 2012-09-21 19:35:37 +00:00
iax2-provision.h Don't reload a configuration file if nothing has changed. 2007-08-16 21:09:46 +00:00
iax2.h Correct the number of available call numbers in IAX2. 2013-01-28 21:09:52 +00:00
misdn_config.c Add named callgroups/pickupgroups 2012-08-07 12:46:36 +00:00
sig_analog.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +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 Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
sig_pri.h Clean up doxygen warnings 2012-08-30 14:23:28 +00:00
sig_ss7.c chan_dahdi/SS7: Made reject incoming call for an in-alarm or blocked channel. 2012-11-08 21:12:35 +00:00
sig_ss7.h Convert sig_ss7 to use a global callback table. 2012-08-08 00:15:54 +00:00
vcodecs.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
vgrabbers.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00