Call Queues and Voicemail

Hello all,

I’ve been struggling to get call queues working to extensions that are
voicemail-enabled, it’s been a problem for quite a while and I’ve finally
given up - hoping someone here could shed some light on the problem.

Problem:

When none of the agents are on the phone, everything works as expected: calls
go into the queue and are serviced by the agents. When an agent is on the phone
Asterisk occasionally routes the call through to the extensions voicemail - I don’t want
it do this; I just want the caller to loop in the queue until it’s answered (not by voicemail)

Output from console:

-- Called 1132
-- SIP/1130-08869268 is ringing
-- Agent/1130 is ringing
-- SIP/1137-08850478 is ringing
-- Agent/1137 is ringing
-- SIP/1134-08879710 is ringing
-- Agent/1134 is ringing
-- SIP/1132-0888e1a0 is ringing
-- Agent/1132 is ringing
-- SIP/1133-b65bfe00 is ringing
-- Agent/1133 is ringing
-- Nobody picked up in 30000 ms
-- Executing [1137@default:2] VoiceMail("Local/1137@default-51f2,2", "1137") in new stack
-- Nobody picked up in 30000 ms
-- Agent/1137 answered Zap/31-1

== Spawn extension (macro-Record-Incoming, s, 9) exited non-zero on ‘Local/1130@default-075d,2’ in macro ‘Record-Incoming’
== Spawn extension (macro-Record-Incoming, s, 9) exited non-zero on ‘Local/1130@default-075d,2’
== End MixMonitor Recording Local/1130@default-075d,2
– <Local/1137@default-51f2,2> Playing ‘vm-intro’ (language ‘en’)
– Nobody picked up in 30000 ms
– Executing [1134@default:2] VoiceMail(“Local/1134@default-7388,2”, “1134”) in new stack
– <Local/1134@default-7388,2> Playing ‘vm-intro’ (language ‘en’)

Useful bits from extensions.conf:

exten => XXXX,1,Macro(Record-Incoming,SIP/${EXTEN},${CALLERID(num)},${EXTEN})
exten => XXXX,2,Voicemail(XXXX)

[macro-Record-Incoming]

; This macro records a phone call for a specific inbound extension

exten => s,1,Set(YEAR=${STRFTIME(${EPOCH},GMT+1,%Y)})
exten => s,2,Set(MONTH_WORD=${STRFTIME(${EPOCH},GMT+1,%B)})
exten => s,3,Set(MONTH_NUM=${STRFTIME(${EPOCH},GMT+1,%m)})
exten => s,4,Set(DAY=${STRFTIME(${EPOCH},GMT+1,%d)})
exten => s,5,Set(CLOCK=${STRFTIME(${EPOCH},GMT+1,%T)})
exten => s,6,Set(FILENAME=${ARG2}-${ARG3}-${DAY}${MONTH_NUM}${YEAR}-${CLOCK}.wav)
exten => s,7,Set(FULLFILENAME=/voice/${YEAR}/${MONTH_WORD}/${FILENAME})
exten => s,8,MixMonitor(${FULLFILENAME},b)
exten => s,9,Dial(${ARG1},30)

The queue:

exten => s,1,Set(YEAR=${STRFTIME(${EPOCH},GMT+1,%Y)})
exten => s,2,Set(MONTH_WORD=${STRFTIME(${EPOCH},GMT+1,%B)})
exten => s,3,Set(MONTH_NUM=${STRFTIME(${EPOCH},GMT+1,%m)})
exten => s,4,Set(DAY=${STRFTIME(${EPOCH},GMT+1,%d)})
exten => s,5,Set(CLOCK=${STRFTIME(${EPOCH},GMT+1,%T)})
exten => s,6,Set(FILENAME=${CALLERID(num)}-${EXTEN}-${DAY}${MONTH_NUM}${YEAR}-${CLOCK}.wav)
exten => s,7,Set(MONITOR_FILENAME=/voice/${YEAR}/${MONTH_WORD}/${CALLERID(num)}-XXXX-${DAY}${MONTH_NUM}${YEAR}-${CLOCK})
exten => s,8,Ringing
exten => s,9,Wait,3
exten => s,10,Answer
exten => s,11,SetMusicOnHold(default)
exten => s,12,Set(TIMEOUT(digit)=5)
exten => s,13,Set(TIMEOUT(response)=10)
;exten => s,14,Queue(support-queue|n||240|)
exten => s,14,Queue(support-queue||||)


Call flow: External call (via E1) -> Call Queue -> Agents

Facts:

  • Asterisk 1.4.10.1 with Zaptel 1.4.4
  • Asterisk connected to E1 ISDN30 line via Digium Wildcard TE110P T1/E1
  • All communication via SIP
  • OS: Debian GNU/Linux 4.0
  • Handsets: mainly Cisco 7960 with some 7971 and 7961 units

Hi

What does the queues.conf look like ?
and if you are using agents what does the agents.conf look like.

Personally I use members so you just define the sip address

Ian

I didn’t realise you could point straight to a SIP peer in the queue (I thought Agents were the only way). I’ve switched to this mode and all seems to be fixed - amazing what a different set of eyes does, thanks for your help :smile:

Hello,

I am having the same problem. Calls will either go directly to voicemail, or they will sit in the queue for a minute or so, then drop to voicemail.

Since my client wants to have employee’s log in and out of the queue, we need to use agents rather then sip members.

If anyone has a resolution to this problem, please share as I’m sure others are running into the same problem.

I am using Asterisk 1.4.11

Sincerely,
Gregory Malsack