Can't transfer to voicemail if queue is used

Heres the situation. Someone calls in. It goes through a few time conditions then hits the primary queue. I answer the call then try to transfer them to voicemail (*100) using the transfer keys. It makes a click sound on the calling phone then hangs up. The problem only happens when I use a queue even a freshly made default one.

I’ve tried changing the routes so it goes from:
Inbound -> announcement -> extension -> vm
Inbound -> Ivr -> extension -> vm
Inbound -> time condition -> extension -> vm

All of those go to voicemail if I dial (*100) with no problems. The problem only occurs when a queue is involved. Downgrading to the last queue module version did not work.

Were using FreePBX 12.0.76.3

Here’s what the asterisk logs look like when I use a queue:

== Using SIP
VIDEO TOS bits 136
  == Using SIP VIDEO
CoS mark 6
  == Using SIP RTP
TOS bits 184
  == Using SIP RTP
CoS mark 5
-- Called SIP/99
-- Connected
line update to Local/99@from-queue-00002973;2 prevented.
--
SIP/99-000003bb is ringing
--
Local/99@from-queue-00002973;1 is ringing
[2016-06-08
12:56:42] WARNING[21560]: chan_sip.c:9066 process_sdp: Ignoring video
media offer because port number is zero
-- Connected
line update to Local/99@from-queue-00002973;2 prevented.
--
SIP/99-000003bb answered Local/99@from-queue-00002973;2
--
Local/99@from-queue-00002973;1 answered IAX2/CSRV-13287
-- Started music
on hold, class 'default', on Local/99@from-queue-00002973;2
[2016-06-08
12:56:43] WARNING[24549]: mp3/interface.c:216 decodeMP3: Junk at the
beginning of frame 49443303
-- Stopped music
on hold on Local/99@from-queue-00002973;2
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on
'Local/99@from-queue-00002973;2' in macro 'dial-one'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on
'Local/99@from-queue-00002973;2' in macro 'exten-vm'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on
'Local/99@from-queue-00002973;2'
-- Executing
[*100@from-internal-xfer:1] Macro("Local/99@from-queue-00002973;2",
"vm,100,DIRECTDIAL,") in new stack
-- Executing
[s@macro-vm:1] Macro("Local/99@from-queue-00002973;2",
"user-callerid,SKIPTTL") in new stack
-- Executing
[s@macro-user-callerid:1] Set("Local/99@from-queue-00002973;2",
"TOUCH_MONITOR=1465405000.22610") in new stack
-- Executing
[s@macro-user-callerid:2] Set("Local/99@from-queue-00002973;2",
"AMPUSER=6428753168") in new stack
-- Executing
[s@macro-user-callerid:3] GotoIf("Local/99@from-queue-00002973;2",
"1?report") in new stack
-- Goto
(macro-user-callerid,s,15)
-- Executing
[s@macro-user-callerid:15] GotoIf("Local/99@from-queue-00002973;2",
"1?continue") in new stack
-- Goto
(macro-user-callerid,s,28)
-- Executing
[s@macro-user-callerid:28] Set("Local/99@from-queue-00002973;2",
"CALLERID(number)=6428753168") in new stack
-- Executing
[s@macro-user-callerid:29] Set("Local/99@from-queue-00002973;2",
"CALLERID(name)=CHARMANDER IS BEST") in new stack
-- Executing
[s@macro-user-callerid:30] Set("Local/99@from-queue-00002973;2",
"CDR(cnum)=6428753168") in new stack
-- Executing
[s@macro-user-callerid:31] Set("Local/99@from-queue-00002973;2",
"CDR(cnam)=CHARMANDER IS BEST") in new stack
-- Executing
[s@macro-user-callerid:32] Set("Local/99@from-queue-00002973;2",
"CHANNEL(language)=en") in new stack
-- Executing
[s@macro-vm:2] Set("Local/99@from-queue-00002973;2",
"VMGAIN=") in new stack
-- Executing
[s@macro-vm:3] Macro("Local/99@from-queue-00002973;2",
"blkvm-check,") in new stack
-- Executing
[s@macro-blkvm-check:1] Set("Local/99@from-queue-00002973;2",
"GOSUB_RETVAL=TRUE") in new stack
-- Executing
[s@macro-blkvm-check:2] ExecIf("Local/99@from-queue-00002973;2",
"0?Set(GOSUB_RETVAL=TRUE)") in new stack
-- Executing
[s@macro-blkvm-check:3] MacroExit("Local/99@from-queue-00002973;2",
"") in new stack
-- Executing
[s@macro-vm:4] GotoIf("Local/99@from-queue-00002973;2",
"0?vmx,1") in new stack
-- Executing
[s@macro-vm:5] Hangup("Local/99@from-queue-00002973;2", "")
in new stack
  == Spawn extension
(macro-vm, s, 5) exited non-zero on 'Local/99@from-queue-00002973;2'
in macro 'vm'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on
'Local/99@from-queue-00002973;2'
-- Executing
[h@from-internal-xfer:1] Macro("Local/99@from-queue-00002973;2",
"hangupcall") in new stack
-- Executing
[s@macro-hangupcall:1] ExecIf("Local/99@from-queue-00002973;2",
"0?Set(CDR(recordingfile)=.wav)") in new stack
-- Executing
[s@macro-hangupcall:2] GotoIf("Local/99@from-queue-00002973;2",
"1?theend") in new stack
-- Goto
(macro-hangupcall,s,4)
-- Executing
[s@macro-hangupcall:4] Hangup("Local/99@from-queue-00002973;2",
"") in new stack
  == Spawn extension
(macro-hangupcall, s, 4) exited non-zero on
'Local/99@from-queue-00002973;2' in macro 'hangupcall'
  == Spawn extension
(from-internal-xfer, h, 1) exited non-zero on
'Local/99@from-queue-00002973;2'
-- Executing
[h@ext-queues:1] Macro("IAX2/CSRV-13287", "hangupcall,")
in new stack
-- Executing
[s@macro-hangupcall:1] ExecIf("IAX2/CSRV-13287",
"0?Set(CDR(recordingfile)=.wav)") in new stack
-- Executing
[s@macro-hangupcall:2] GotoIf("IAX2/CSRV-13287",
"1?theend") in new stack
-- Goto
(macro-hangupcall,s,4)
-- Executing
[s@macro-hangupcall:4] Hangup("IAX2/CSRV-13287", "")
in new stack
  == Spawn extension
(macro-hangupcall, s, 4) exited non-zero on 'IAX2/CSRV-13287' in
macro 'hangupcall'
  == Spawn extension
(ext-queues, h, 1) exited non-zero on 'IAX2/CSRV-13287'
  == Spawn extension
(ext-queues, 193, 41) exited non-zero on 'IAX2/CSRV-13287'
-- Hungup
'IAX2/CSRV-13287'

Here’s what the asterisk logs look like when I don’t use a queue:

== Using SIP VIDEO
TOS bits 136
  == Using SIP VIDEO
CoS mark 6
  == Using SIP RTP
TOS bits 184
  == Using SIP RTP
CoS mark 5
    -- Called SIP/99
    -- Connected
line update to IAX2/CSRV-12860 prevented.
    --
SIP/99-00000384 is ringing
[2016-06-08
11:01:11] WARNING[21560]: chan_sip.c:9066 process_sdp: Ignoring video
media offer because port number is zero
    -- Connected
line update to IAX2/CSRV-12860 prevented.
    --
SIP/99-00000384 answered IAX2/CSRV-12860
    -- Started music
on hold, class 'default', on IAX2/CSRV-12860
[2016-06-08
11:01:13] WARNING[30624]: mp3/interface.c:216 decodeMP3: Junk at the
beginning of frame 49443303
    -- Stopped music
on hold on IAX2/CSRV-12860
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on 'IAX2/CSRV-12860' in
macro 'dial-one'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on 'IAX2/CSRV-12860' in
macro 'exten-vm'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on 'IAX2/CSRV-12860'
    -- Executing
[*100@from-internal-xfer:1] Macro("IAX2/CSRV-12860",
"vm,100,DIRECTDIAL,") in new stack
    -- Executing
[s@macro-vm:1] Macro("IAX2/CSRV-12860",
"user-callerid,SKIPTTL") in new stack
    -- Executing
[s@macro-user-callerid:1] Set("IAX2/CSRV-12860",
"TOUCH_MONITOR=1465398066.22203") in new stack
    -- Executing
[s@macro-user-callerid:2] Set("IAX2/CSRV-12860",
"AMPUSER=6478724539") in new stack
    -- Executing
[s@macro-user-callerid:3] GotoIf("IAX2/CSRV-12860",
"0?report") in new stack
    -- Executing
[s@macro-user-callerid:4] ExecIf("IAX2/CSRV-12860",
"0?Set(REALCALLERIDNUM=6478724539)") in new stack
    -- Executing
[s@macro-user-callerid:5] Set("IAX2/CSRV-12860",
"AMPUSER=") in new stack
    -- Executing
[s@macro-user-callerid:6] GotoIf("IAX2/CSRV-12860",
"0?limit") in new stack
    -- Executing
[s@macro-user-callerid:7] Set("IAX2/CSRV-12860",
"AMPUSERCIDNAME=") in new stack
    -- Executing
[s@macro-user-callerid:8] GotoIf("IAX2/CSRV-12860",
"1?report") in new stack
    -- Goto
(macro-user-callerid,s,15)
    -- Executing
[s@macro-user-callerid:15] GotoIf("IAX2/CSRV-12860",
"1?continue") in new stack
    -- Goto
(macro-user-callerid,s,28)
    -- Executing
[s@macro-user-callerid:28] Set("IAX2/CSRV-12860",
"CALLERID(number)=6478724539") in new stack
    -- Executing
[s@macro-user-callerid:29] Set("IAX2/CSRV-12860",
"CALLERID(name)=MUDKIPZ FOR ALL") in new stack
    -- Executing
[s@macro-user-callerid:30] Set("IAX2/CSRV-12860",
"CDR(cnum)=6478724539") in new stack
    -- Executing
[s@macro-user-callerid:31] Set("IAX2/CSRV-12860",
"CDR(cnam)=MUDKIPZ FOR ALL") in new stack
    -- Executing
[s@macro-user-callerid:32] Set("IAX2/CSRV-12860",
"CHANNEL(language)=en") in new stack
    -- Executing
[s@macro-vm:2] Set("IAX2/CSRV-12860", "VMGAIN=")
in new stack
    -- Executing
[s@macro-vm:3] Macro("IAX2/CSRV-12860", "blkvm-check,")
in new stack
    -- Executing
[s@macro-blkvm-check:1] Set("IAX2/CSRV-12860",
"GOSUB_RETVAL=") in new stack
    -- Executing
[s@macro-blkvm-check:2] ExecIf("IAX2/CSRV-12860",
"0?Set(GOSUB_RETVAL=TRUE)") in new stack
    -- Executing
[s@macro-blkvm-check:3] MacroExit("IAX2/CSRV-12860", "")
in new stack
    -- Executing
[s@macro-vm:4] GotoIf("IAX2/CSRV-12860", "1?vmx,1")
in new stack
    -- Goto
(macro-vm,vmx,1)
    -- Executing
[vmx@macro-vm:1] Set("IAX2/CSRV-12860", "MEXTEN=100")
in new stack
    -- Executing
[vmx@macro-vm:2] Set("IAX2/CSRV-12860", "MMODE=DIRECTDIAL")
in new stack
    -- Executing
[vmx@macro-vm:3] Set("IAX2/CSRV-12860", "RETVM=")
in new stack
    -- Executing
[vmx@macro-vm:4] Set("IAX2/CSRV-12860", "MODE=unavail")
in new stack
    -- Executing
[vmx@macro-vm:5] Macro("IAX2/CSRV-12860",
"get-vmcontext,100") in new stack
    -- Executing
[s@macro-get-vmcontext:1] Set("IAX2/CSRV-12860",
"VMCONTEXT=default") in new stack
    -- Executing
[s@macro-get-vmcontext:2] GotoIf("IAX2/CSRV-12860",
"0?200:300") in new stack
    -- Goto
(macro-get-vmcontext,s,300)
    -- Executing
[s@macro-get-vmcontext:300] NoOp("IAX2/CSRV-12860", "")
in new stack
    -- Executing
[vmx@macro-vm:6] Set("IAX2/CSRV-12860", "MODE=unavail")
in new stack
    -- Executing
[vmx@macro-vm:7] NoOp("IAX2/CSRV-12860", "MODE IS:
unavail") in new stack
    -- Executing
[vmx@macro-vm:8] GotoIf("IAX2/CSRV-12860", "1?chknomsg")
in new stack
    -- Goto
(macro-vm,vmx,10)
    -- Executing
[vmx@macro-vm:10] GotoIf("IAX2/CSRV-12860",
"0?s-DIRECTDIAL,1") in new stack
    -- Executing
[vmx@macro-vm:11] GotoIf("IAX2/CSRV-12860", "0?notdirect")
in new stack
    -- Executing
[vmx@macro-vm:12] Set("IAX2/CSRV-12860", "MODE=unavail")
in new stack
    -- Executing
[vmx@macro-vm:13] NoOp("IAX2/CSRV-12860", "Checking if
ext 100 is enabled: ") in new stack
    -- Executing
[vmx@macro-vm:14] GotoIf("IAX2/CSRV-12860",
"1?s-DIRECTDIAL,1") in new stack
    -- Goto
(macro-vm,s-DIRECTDIAL,1)
    -- Executing
[s-DIRECTDIAL@macro-vm:1] NoOp("IAX2/CSRV-12860",
"DIRECTDIAL voicemail") in new stack
    -- Executing
[s-DIRECTDIAL@macro-vm:2] Macro("IAX2/CSRV-12860",
"get-vmcontext,100") in new stack
    -- Executing
[s@macro-get-vmcontext:1] Set("IAX2/CSRV-12860",
"VMCONTEXT=default") in new stack
    -- Executing
[s@macro-get-vmcontext:2] GotoIf("IAX2/CSRV-12860",
"0?200:300") in new stack
    -- Goto
(macro-get-vmcontext,s,300)
    -- Executing
[s@macro-get-vmcontext:300] NoOp("IAX2/CSRV-12860", "")
in new stack
    -- Executing
[s-DIRECTDIAL@macro-vm:3] VoiceMail("IAX2/CSRV-12860",
"100@default,su") in new stack
    --
<IAX2/CSRV-12860> Playing
'/var/spool/asterisk/voicemail/default/100/greet.slin' (language
'en')
    --
<IAX2/CSRV-12860> Playing 'vm-isunavail.gsm' (language 'en')
    --
<IAX2/CSRV-12860> Playing 'beep.gsm' (language 'en')
    -- Recording the
message
    -- x=0, open
writing:  /var/spool/asterisk/voicemail/default/100/tmp/yCIIyc
format: wav49, 0x32991e8
    -- x=1, open
writing:  /var/spool/asterisk/voicemail/default/100/tmp/yCIIyc
format: wav, 0x2dfd5d8
    -- Recording
automatically stopped after a silence of 5 seconds
    --
<IAX2/CSRV-12860> Playing 'auth-thankyou.gsm' (language 'en')
    --
<IAX2/CSRV-12860> Playing 'vm-review.gsm' (language 'en')
[2016-06-08
11:01:28] WARNING[30624]: file.c:764 ast_readaudio_callback: Failed
to write frame
    --
<IAX2/CSRV-12860> Playing 'vm-goodbye.gsm' (language 'en')
  == Spawn extension
(macro-vm, s-DIRECTDIAL, 3) exited non-zero on 'IAX2/CSRV-12860' in
macro 'vm'
  == Spawn extension
(from-internal-xfer, *100, 1) exited non-zero on 'IAX2/CSRV-12860'
    -- Executing
[h@from-internal-xfer:1] Macro("IAX2/CSRV-12860",
"hangupcall") in new stack
    -- Executing
[s@macro-hangupcall:1] ExecIf("IAX2/CSRV-12860",
"0?Set(CDR(recordingfile)=.wav)") in new stack
    -- Executing
[s@macro-hangupcall:2] GotoIf("IAX2/CSRV-12860",
"1?theend") in new stack
    -- Goto
(macro-hangupcall,s,4)
    -- Executing
[s@macro-hangupcall:4] Hangup("IAX2/CSRV-12860", "")
in new stack
  == Spawn extension
(macro-hangupcall, s, 4) exited non-zero on 'IAX2/CSRV-12860' in
macro 'hangupcall'
  == Spawn extension
(from-internal-xfer, h, 1) exited non-zero on 'IAX2/CSRV-12860'
    -- Hungup
'IAX2/CSRV-12860'