Queue not sending call to Agent

Home » Asterisk Users » Queue not sending call to Agent
Asterisk Users 2 Comments

Queue not sending call to Agent

I am having an issue and i am not sure if it is a bug or a config issue. I
was originally running Asterisk 1.8.1.1 when I noticed this issue. I
upgraded to 1.8.4.2 to see if that would fix it but it didn’t.

The issue is that I have a call queue and the agent dials a number to log
into the queue. When someone calls the queue the first time the call is
sent to the agent without issue. The issue is that any calls after the
first are placed in the queue and never sent to the agent who is logged in
and available. Before I call the queue I do a “show queue” and it shows the
agent as

Asterisk18*CLI> queue show
irock.com has 0 calls (max unlimited) in ‘ringall’ strategy (0s holdtime,
0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
SIP/9013XX9XX8 (dynamic) (Not in use) has taken no calls yet
No Callers

Then the call comes into the queue and the callee just sits in the queue.
When I do a “show queue” again when the callee is in the queue it shows the
agent as busy
Asterisk18*CLI> queue show
irock.com has 1 calls (max unlimited) in ‘ringall’ strategy (0s holdtime,
0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
SIP/9013XX9XX8 (dynamic) (Busy) has taken no calls yet
Callers:
1. SIP/9013XX9XX8-00000001 (wait: 0:12, prio: 0)

So I am not sure what happened because the agent was free before the call.
If I do a reload at the Asterisk CLI and then call again the agent gets the
call and then the second call is once again placed in the queue. I will
attach a SIP Debug that shows what is going on. I don’t see any SIP invites
leaving Asterisk to invite the agent to the call.

One other thing…. Currently in my config I have the agent show up as just
the username which is the phone number. If I set it so that the agent shows
up as phonenumber@blah then I can call the agent constantly without any
issue. The only problem here is that when I do a “queue show” the agent
shows up as “unknown” status. So when the agent is on a call and someone
else calls the agent will be interrupted.

This is what I have in queues.conf
[irock.com]
strategy=ringall
ringinuse=no
joinempty=yes
leavewhenempty=no
announce-frequency=30
min-announce-frequency=15
periodic-announce-frequency=60
announce-holdtime=yes
announce-position=yes

; (“You are now first in line.”)
queue-youarenext = queue-youarenext
; (“There are”)
queue-thereare = queue-thereare
; (“calls waiting.”)
queue-callswaiting = queue-callswaiting
; (“The current est. holdtime is”)
queue-holdtime = queue-holdtime
; (“minutes.”)
queue-minutes = queue-minutes
; (“seconds.”)
queue-seconds = queue-seconds
; (“Thank you for your patience.”)
queue-thankyou = queue-thankyou
; (“Hold time”)
queue-reporthold = queue-reporthold
; (“All reps busy / wait for next”)
periodic-announce = queue-periodic-announce

This is what I have in extensions.conf
exten => 9012XX1XX1,1,Answer()
exten => 9012XX1XX1,n,Set(QUEUE_MAX_PENALTY=0);
exten => 9012XX1XX1,n,Queue(irock.com,t)
exten => 9012XX1XX1,n,Hangup()

exten => *50,1,Answer
exten => *50,n,Macro(queue-login,${EXTEN},${EXTEN:0:4})
exten => *50,n,Hangup

exten => *51,1,Answer
exten => *51,n,Macro(queue-logout,${EXTEN},${EXTEN:0:4})
exten => *51,n,Hangup

[macro-queue-login]
exten => s,1,Set(agent=${EXTEN:4})
exten => s,n,Set(queue=irock.com)
exten => s,n,NoOp(Queue login agent ${EXTEN:4} to queue ${phone});
exten => s,n,AddQueueMember(${queue});
exten => s,n,Playback(agent-loginok)

[macro-queue-logout]
exten => s,1,Set(agent=${EXTEN:4})
exten => s,n,Set(queue=irock.com)
exten => s,n,NoOp(Queue logout agent ${EXTEN:4} from queue ${phone});
exten => s,n,RemoveQueueMember(${queue});
exten => s,n,Playback(agent-loggedoff)

2 thoughts on - Queue not sending call to Agent

  • I am not sure but seems like Agent channel not being released from Asterisk.

    Next time when this happens, try ‘core show channels’ to check whether Agent
    channel is released or not.

    [SATISH]

  • After a Good Call from a PSTN phone if I do a “sip prune realtime peer
    9013XX9XX8″ (9013XX9XX8 being the phone number of the Agent/Member) then I
    can call the number again and not get the issue. So this has something to
    do with the stuff that is put in my peer table after a call.

    Any ideas?