[asterisk-users] Asterisk 12.4 "Agent Busy" message on AgentRequest
Matthew Jordan
mjordan at digium.com
Tue Aug 12 11:07:01 CDT 2014
On Tue, Aug 12, 2014 at 10:57 AM, Richard Mudgett <rmudgett at digium.com> wrote:
>
>
>
> On Tue, Aug 12, 2014 at 1:33 AM, Deepak Rawat <deepaksingh.rawat at gmail.com>
> wrote:
>>
>> Hi,
>>
>> I am upgrading from Asterisk 1.4 to 12.4. I am able to authenticate the
>> user and call AgentLogin. But after that when I call AgentRequest I keep
>> getting Agent '1234' is busy.
>> If I put a delay of 5 second or more before calling AgentRequest then it
>> works most of the times. Here's my dialplan:
>>
>> [login]
>> exten => s,1,Background(thank-you-for-calling)
>> same => n,WaitExten(.65)
>> same => n,Background(press-1)
>> same => n,WaitExten(15)
>> exten => 1,1,Read(USER,"agent-user")
>> same => n,Authenticate(${ODBC_AGENTPASSWORD(${USER})})
>> same => n,AgentLogin(${USER})
>> same => n,NoOp(${USER} AGENT_STATUS is ${AGENT_STATUS})
>> same => n,Hangup()
>>
>> [agents]
>> exten => _X.,1,Set(UserNumber=${EXTEN})
>> same => n,Wait(5) ; it works most of the time with this wait of 5s
>> same => n,AgentRequest(${EXTEN})
>> same => n,NoOp(${EXTEN} AGENT_STATUS is ${AGENT_STATUS})
>> same => n,Dial(Agent/${EXTEN},,g)
>> same => n,NoOp(Dial Status: ${DIALSTATUS})
>> same => n,GotoIf($["${DIALSTATUS}" != "ANSWER"]?done)
>> same => n(done),Hangup()
>
>
> There is an initial 5 second wait after an agent logs in. The wait is a
> necessary
> probation period to allow any local channel chain that the agent may have to
> optimize out. If the agent local channel optimization happens while the
> agent is
> on a call then the agent pool can lose track of the agent and the agent will
> be
> logged out. The agent will then have to log back in after the current call
> completes.
That being said, I don't think we're thrilled with that 5 second wait
time. See https://issues.asterisk.org/jira/browse/ASTERISK-23259 for a
bug report noting this behaviour.
> Why are you attempting to request an agent that has a device state
> (Agent:agent_id) of busy anyway? That agent could be on another call or in
> a
> between call wrap-up time.
>
--
Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org
More information about the asterisk-users
mailing list