[Asterisk-Users] Queue Questions

Ronald Hartmann RHartmann at nnamtraH.com
Thu Feb 24 08:40:29 MST 2005


I am having a problem with the Call Queue Feature.

If I let a user into the Queue prior to an agent being available for
them to take the call, they experience the following:
	1) they hear that they are the first in line
	2) when the agent finally logs in (the caller on hold in the
queue is sent to the users phone)
	3) the AGENT is still in the login phase hearing that they are
"successfully logged in"
	4) since the Agent is on the phone, the caller from the que gets
placed into the AGENTS personal voicemail box.

Is there any way I can fix this such that the system does not send the
call to the agent until they are off the phone from the login process?
If there is no feasible way to do the above, is it possible to at least
realize that the agent is on a call and thus try again later.

Or am I just not setting up my contexts correctly?

Enclosed is a list of the files I think you may need to look at.   
Agents.conf, extensions.conf, queue.conf, and the CLI log output.


Thanks in advance

~ron


Log files:


<************* Had someone dial 9999 to go into the Techsupport Queue
********************>
    -- Executing Queue("SIP/2203-71a6", "techsupport|t||tech_que|944")
in new stack
    -- Started music on hold, class 'default', on SIP/2203-71a6
    -- Stopped music on hold on SIP/2203-71a6
    -- Playing 'queue-youarenext' (language 'en')
    -- Told SIP/2203-71a6 in techsupport their queue position (which was
1)
    -- Playing 'queue-thankyou' (language 'en')
    -- Started music on hold, class 'default', on SIP/2203-71a6


<***** show queues to show that the call was indeed in the holding
patern ***************>

techsupport  has 1 calls (max 9) in 'roundrobin' strategy (71s
holdtime), C:1, A:0, SL:0.0% within 0s
   Members:
      Agent/203 with penalty 3 has taken no calls yet
      Agent/204 with penalty 2 has taken 1 calls (last was 72 secs ago)
      Agent/205 with penalty 1 has taken no calls yet
      Agent/206 with penalty 1 has taken no calls yet
   Callers:
      1. SIP/2203-602a (wait: 0:13, prio: 0)


localhost*CLI> show agents
204          (Test User 2) not logged in (musiconhold is 'default')
205          (Test User 3) not logged in (musiconhold is 'default')
206          (Test User 4) not logged in (musiconhold is 'default')
207          (Test User 5) not logged in (musiconhold is 'default')
203          (Test User 1) not logged in (musiconhold is 'default')

<************ Had the Agent Login by calling "401"
*********************************************************>
Executing AgentCallbackLogin("SIP/2204-2d5c", "") in new stack
    -- Playing 'agent-user' (language 'en')
    -- Playing 'agent-pass' (language 'en')
    -- Playing 'agent-newlocation' (language 'en')
    -- Setting global variable 'AGENTBYCALLERID_"Ron" <2204>' to '204'

<************ Note Asterisk tries to send the call to the agent before
the agent has a chance to hangup from logging into the system
*******************>
    -- outgoing agentcall, to agent '204', on
'Local/2204 at default-c169,1'


    -- Executing Macro("Local/2204 at default-c169,2",
"exten-vm|2204|2204") in new stack
    -- Executing SetGroup("Local/2204 at default-c169,2", "2203") in new
stack
    -- Executing SetMusicOnHold("Local/2204 at default-c169,2", "default")
in new stack
    -- Executing SetVar("Local/2204 at default-c169,2",
"FROMCONTEXT=exten-vm") in new stack
    -- Executing Macro("Local/2204 at default-c169,2", "dial|15|tr|2204")
in new stack
    -- Executing AGI("Local/2204 at default-c169,2", "dialparties.agi") in
new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
    -- Called Agent/204
    -- Playing 'agent-loginok' (language 'en')
    --  dialparties.agi: request = dialparties.agi
    --  dialparties.agi: priority = 1
    --  dialparties.agi: extension = s
    --  dialparties.agi: language = en
    --  dialparties.agi: accountcode =
    --  dialparties.agi: uniqueid = 1109257392.43
    --  dialparties.agi: channel = Local/2204 at default-c169,2
  dialparties.agi: callerid = Craig
    --  dialparties.agi: context = macro-dial
    --  dialparties.agi: type = Local
    --  dialparties.agi: rdnis = unknown
    --  dialparties.agi: enhanced = 0.0
    --  dialparties.agi: dnid = unknown
  dialparties.agi: Caller ID name is 'Craig' number is '2203'
  dialparties.agi: Timer is  15 and dialoptions are tr Group is NOGROUP
    --  dialparties.agi: Added extension 2204 to extension map
    --  dialparties.agi: Extension 2204 cf is disabled
    --  dialparties.agi: Extension 2204 do not disturb is disabled
  == Parsing '/etc/asterisk/manager.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  == Manager 'admin' logged off from 127.0.0.1
  dialparties.agi: Extension 2204 has call waiting disabled
  dialparties.agi: Max calls of 1 exceeded - deleting from dial
  dialparties.agi: Dial string is empty - nothing to do
  dialparties.agi: Was direct call, jumping to priority 23
    -- AGI Script Executing Application: (NoOp) Options: ()
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Wait("Local/2204 at default-c169,2", "1") in new stack
    -- Executing VoiceMail("Local/2204 at default-c169,2", "b2204") in new
stack
    -- Agent/204 answered SIP/2203-602a
    -- Playing 'voicemail/default/2204/busy' (language 'en')
    -- Playing 'tech_que' (language 'en')
  == Spawn extension (from-internal, 401, 1) exited non-zero on
'SIP/2204-2d5c'
    -- Executing Macro("SIP/2204-2d5c", "hangupcall") in new stack
    -- Executing ResetCDR("SIP/2204-2d5c", "w") in new stack
    -- Executing NoCDR("SIP/2204-2d5c", "") in new stack
    -- Executing Wait("SIP/2204-2d5c", "5") in new stack
    -- Stopped music on hold on SIP/2203-602a
    -- Executing Hangup("SIP/2204-2d5c", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on
'SIP/2204-2d5c' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on
'SIP/2204-2d5c'






Extensions.conf
[que-test]
exten => s,1,Answer
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout,5
exten => s,4,ResponseTimeout,10
exten => s,5,Background(welcome)
exten => s,6,Queue(techsupport|t||tech_que|944)
exten => s,7,Playback(que-invalid)
exten => s,8,Macro(vm,2205)

[app-agent]
exten => 401,1,AgentCallbackLogin()
exten => 401,2,Hangup
exten => 401,3,Macro(hangupcall)

[test-context]
exten => 9999,1,Goto(que-test,s,1)



Queue.conf
[techsupport]
music = default
announce = queue-techsupport
strategy = roundrobin
context = qoutcon
timeout = 10
wrapuptime=35
retry = 3
maxlen = 9
announce-holdtime = yes
announce-frequency = 40
member => Agent/203,3
member => Agent/204,2
member => Agent/205,1
member => Agent/206,1


Agents.conf

;autologoff=15
;wrapuptime=50
ackcall=no

group=1
agent => 203,1111,Test User 1
agent => 204,1111,Test User 2
agent => 205,1111,Test User 3
group=2
agent => 206,1111,Test User 4
agent => 207,1111,Test User 5





More information about the asterisk-users mailing list