summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2013-07-15 23:20:55 +0000
committerRichard Mudgett <rmudgett@digium.com>2013-07-15 23:20:55 +0000
commitd43b17a872e8227aa8a9905a21f90bd48f9d5348 (patch)
treeba29a4b4e3e065ba935b5283c3b23decd7e1ec6d /configs
parentd43bbfb74e9111da7440d0fd8cc0b480ed47a0af (diff)
Replace chan_agent with app_agent_pool.
The ill conceived chan_agent is no more. It is now replaced by app_agent_pool. Agents login using the AgentLogin() application as before. The AgentLogin() application no longer does any authentication. Authentication is now the responsibility of the dialplan. (Besides, the authentication done by chan_agent did not match what the voice prompts asked for.) Sample extensions.conf [login] ; Sample agent 1001 login ; Set COLP for in between calls so the agent does not see the last caller COLP. exten => 1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>) ; Give the agent DTMF transfer and disconnect features when connected to a caller. same => n,Set(CHANNEL(dtmf-features)=TX) same => n,AgentLogin(1001) same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same => n,Hangup() [caller] ; Sample caller direct connect to agent 1001 exten => 800,1,AgentRequest(1001) same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same => n,Hangup() ; Sample caller going through a Queue to agent 1001 exten => 900,1,Queue(agent_q) same => n,Hangup() Sample queues.conf [agent_q] member => Local/800@caller,,SuperAgent,Agent:1001 Under the hood operation overview: 1) Logged in agents wait for callers in an agents holding bridge. 2) Caller requests an agent using AgentRequest() 3) A basic bridge is created, the agent is notified, and caller joins the basic bridge to wait for the agent. 4) The agent is either automatically connected to the caller or must ack the call to connect. 5) The agent is moved from the agents holding bridge to the basic bridge. 6) The agent and caller talk. 7) The connection is ended by either party. 8) The agent goes back to the agents holding bridge. To avoid some locking issues with the agent holding bridge, I needed to make some changes to the after bridge callback support. The after bridge callback is now a list of requested callbacks with the last to be added the only active callback. The after bridge callback for failed callbacks will always happen in the channel thread when the channel leaves the bridging system or is destroyed. (closes issue ASTERISK-21554) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2657/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'configs')
-rw-r--r--configs/agents.conf.sample132
-rw-r--r--configs/queues.conf.sample15
2 files changed, 52 insertions, 95 deletions
diff --git a/configs/agents.conf.sample b/configs/agents.conf.sample
index 29e6e07ea..0cf0c4c90 100644
--- a/configs/agents.conf.sample
+++ b/configs/agents.conf.sample
@@ -1,102 +1,70 @@
;
-; Agent configuration
+; Agent pool configuration
;
[general]
+; The general section of this config is not currently used, but reserved
+; for future use.
-[agents]
-;
-; Define maxlogintries to allow agent to try max logins before
-; failed.
-; default to 3
-;
-;maxlogintries=5
-;
-;
-; Define autologoff times if appropriate. This is how long
-; the phone has to ring with no answer before the agent is
-; automatically logged off (in seconds)
-;
-;autologoff=15
-;
-; Define autologoffunavail to have agents automatically logged
-; out when the extension that they are at returns a CHANUNAVAIL
-; status when a call is attempted to be sent there.
+;[agent-id]
+; Define ackcall to require the agent to give a DTMF acknowledgement
+; when the agent receives a call.
+; The channel variable AGENTACKCALL overrides on agent login.
; Default is "no".
-;
-;autologoffunavail=yes
-;
-; Define ackcall to require a DTMF acknowledgement when
-; a logged-in agent receives a call. Default is "no".
-; Use the acceptdtmf option to configure what DTMF key
-; press should be used to acknowledge the call. The
-; default is '#'.
-;
;ackcall=no
-;acceptdtmf=#
-;
-; Define endcall to allow an agent to hangup a call with a
-; DTMF keypress. Default is "yes". Use the enddtmf option to
-; configure which DTMF key will end a call. The default is
-; '*'.
-;
-;endcall=yes
-;enddtmf=*
;
-; Define wrapuptime. This is the minimum amount of time when
-; after disconnecting before the caller can receive a new call
-; note this is in milliseconds.
+; Set what DTMF key sequence the agent should use to acknowledge a call.
+; The channel variable AGENTACCEPTDTMF overrides on agent login.
+; This option is ignored unless ackcall is enabled.
+; Default is "#".
+;acceptdtmf=##
+;
+; Set how many seconds a call for the agent has to wait for the agent to
+; acknowledge the call before the agent is automatically logged off. If
+; set to zero then the call will wait forever for the agent to acknowledge.
+; The channel variable AGENTAUTOLOGOFF overrides on agent login.
+; This option is ignored unless ackcall is enabled.
+; Default is 0.
+;autologoff=15
;
+; Set the minimum amount of time after disconnecting a call before
+; the agent can receive a new call in milliseconds.
+; The channel variable AGENTWRAPUPTIME overrides on agent login.
+; Default is 0.
;wrapuptime=5000
;
-; Define the default musiconhold for agents
-; musiconhold => music_class
-;
-;musiconhold => default
-;
-; Define the default good bye sound file for agents
-; default to vm-goodbye
+; Set the musiconhold class for the agent.
+; Default is "default".
+;musiconhold=default
;
-;goodbye => goodbye_file
-;
-; Define updatecdr. This is whether or not to change the source
-; channel in the CDR record for this call to agent/agent_id so
-; that we know which agent generates the call
-;
-;updatecdr=no
-;
-; Group memberships for agents (may change in mid-file)
-;
-;group=3
-;group=1,2
-;group=
-;
-; --------------------------------------------------
-; This section is devoted to recording agent's calls
-; The keywords are global to the chan_agent channel driver
-;
-; Enable recording calls addressed to agents. It's turned off by default.
+; Enable recording calls the agent takes automatically by invoking the
+; DTMF automixmon feature when the agent connects to a caller.
+; See features.conf.sample for information about the automixmon feature.
+; Default is "no".
;recordagentcalls=yes
;
-; The format to be used to record the calls: wav, gsm, wav49.
-; By default its "wav".
-;recordformat=gsm
-;
-; The text to be added to the name of the recording. Allows forming a url link.
-;urlprefix=http://localhost/calls/
-;
-; The optional directory to save the conversations in. The default is
-; /var/spool/asterisk/monitor
-;savecallsin=/var/calls
-;
-; An optional custom beep sound file to play to always-connected agents.
+; The sound file played to alert the agent when a call is present.
+; Default is "beep".
;custom_beep=beep
;
+; A friendly name for the agent used in log messages.
+; Default is "".
+;fullname=Mark Spencer
+;
; --------------------------------------------------
;
-; This section contains the agent definitions, in the form:
+; This section contains example agent definitions:
+;
+; Define a template called my-agents:
+;[my-agents](!)
+;autologoff=15
+;ackcall=yes
+;acceptdtmf=##
;
-; agent => agentid,agentpassword,name
+; Define agent 1001 using the my-agents template:
+;[1001](my-agents)
+;fullname=Mark Spencer
;
-;agent => 1001,4321,Mark Spencer
-;agent => 1002,4321,Will Meadows
+; Define agent 1002 using the my-agents template:
+;[1002](my-agents)
+;fullname=Will Meadows
diff --git a/configs/queues.conf.sample b/configs/queues.conf.sample
index 9f3ba97de..994ad31da 100644
--- a/configs/queues.conf.sample
+++ b/configs/queues.conf.sample
@@ -543,18 +543,7 @@ monitor-type = MixMonitor
;member => DAHDI/1
;member => DAHDI/2,10
;member => DAHDI/3,10,Bob Johnson
-;member => Agent/1001
-;member => Agent/1002
+;member => Local/1001@agents,0,May Flowers,Agent:1001
+;member => Local/1002@agents,0,John Doe,Agent:1002
;member => Local/1000@default,0,John Smith,SIP/1000
;member => Local/2000@default,0,Lorem Ipsum,SIP/2000,no
-
-;
-; Note that using agent groups is probably not what you want. Strategies do
-; not propagate down to the Agent system so if you want round robin, least
-; recent, etc, you should list all the agents in this file individually and not
-; use agent groups.
-;
-;member => Agent/@1 ; Any agent in group 1
-;member => Agent/:1,1 ; Any agent in group 1, wait for first
- ; available, but consider with penalty
-