Queue Agents when they transfer a caller

Hi all, I’m having some trouble with a call center setup, queue agents (agents i’ve setup in the agents.conf not queue memebers).

My AgentLogin() extension is 25 so when the agents are logged in and transfer a caller with ## the caller gets tranfered, but when the destination does not answer they get hungup on instead of going to failover destination (vmail if xfered to extension, failover dest if ring group).

It work fine when they are queue members (the phone rings…they pickup…then transfer), but on when the are called in to the AgentLogin extension (…wait for the caller to be connected…then transfer…)

my logs:
Failed Transfer as agents dialed in to the queue (AgentLogin())

pbx*CLI>
– Started music on hold, class ‘default’, on DAHDI/i1/936666XXXX-6
– <Agent/905> Playing ‘pbx-transfer.gsm’ (language ‘en’)
– Blind transferring DAHDI/i1/936666XXXX-6 to ‘3301’ (context from-internal-xfer) priority 1
– Stopped music on hold on DAHDI/i1/936666XXXX-6
– Started music on hold, class ‘agents’, on SIP/3595-00000018
– Executing [3301@from-internal-xfer:1] Set(“DAHDI/i1/936666XXXX-6”, “__RINGTIMER=20”) in new stack
– Executing [3301@from-internal-xfer:2] Macro(“DAHDI/i1/936666XXXX-6”, “exten-vm,3301,3301,0,0,0”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“DAHDI/i1/936666XXXX-6”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSER=936666XXXX”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(REALCALLERIDNUM=936666XXXX)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [s@macro-user-callerid:13] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:14] Set(“DAHDI/i1/936666XXXX-6”, “__TTL=63”) in new stack
– Executing [s@macro-user-callerid:15] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [s@macro-user-callerid:26] Set(“DAHDI/i1/936666XXXX-6”, “CALLERID(number)=936666XXXX”) in new stack
– Executing [s@macro-user-callerid:27] Set(“DAHDI/i1/936666XXXX-6”, “CALLERID(name)=Willis TX”) in new stack
– Executing [s@macro-user-callerid:28] Set(“DAHDI/i1/936666XXXX-6”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-exten-vm:2] Set(“DAHDI/i1/936666XXXX-6”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“DAHDI/i1/936666XXXX-6”, “__EXTTOCALL=3301”) in new stack
– Executing [s@macro-exten-vm:4] Set(“DAHDI/i1/936666XXXX-6”, “__PICKUPMARK=3301”) in new stack
– Executing [s@macro-exten-vm:5] Set(“DAHDI/i1/936666XXXX-6”, “RT=20”) in new stack
– Executing [s@macro-exten-vm:6] Gosub(“DAHDI/i1/936666XXXX-6”, “sub-record-check,s,1(exten,3301,)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?check”) in new stack
– Executing [s@sub-record-check:2] ResetCDR(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@sub-record-check:3] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?check”) in new stack
– Goto (sub-record-check,s,6)
– Executing [s@sub-record-check:6] Set(“DAHDI/i1/936666XXXX-6”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:7] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?next”) in new stack
– Goto (sub-record-check,s,10)
– Executing [s@sub-record-check:10] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Return()”) in new stack
– Executing [s@sub-record-check:11] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?exten,1”) in new stack
– Goto (sub-record-check,exten,1)
– Executing [exten@sub-record-check:1] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?callee”) in new stack
– Goto (sub-record-check,exten,8)
– Executing [exten@sub-record-check:8] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?record,1(exten,3301,936666XXXX)”) in new stack
– Executing [exten@sub-record-check:9] Return(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@macro-exten-vm:7] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?macrodial”) in new stack
– Goto (macro-exten-vm,s,13)
– Executing [s@macro-exten-vm:13] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?clrheader,1()”) in new stack
– Executing [s@macro-exten-vm:14] Macro(“DAHDI/i1/936666XXXX-6”, “dial-one,20,trM(auto-blkvm),3301”) in new stack
– Executing [s@macro-dial-one:1] Set(“DAHDI/i1/936666XXXX-6”, “DEXTEN=3301”) in new stack
– Executing [s@macro-dial-one:2] Set(“DAHDI/i1/936666XXXX-6”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?screen,1()”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?cf,1()”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“DAHDI/i1/936666XXXX-6”, “EXTHASCW=”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,12)
– Executing [s@macro-dial-one:12] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?docfu:skip3”) in new stack
– Goto (macro-dial-one,s,16)
– Executing [s@macro-dial-one:16] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?next2:continue”) in new stack
– Goto (macro-dial-one,s,17)
– Executing [s@macro-dial-one:17] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [s@macro-dial-one:25] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“DAHDI/i1/936666XXXX-6”, “1?dstring,1():dlocal,1()”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“DAHDI/i1/936666XXXX-6”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“DAHDI/i1/936666XXXX-6”, “DEVICES=3301”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(DEVICES=301)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“DAHDI/i1/936666XXXX-6”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“DAHDI/i1/936666XXXX-6”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“DAHDI/i1/936666XXXX-6”, “THISDIAL=SIP/3301”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“DAHDI/i1/936666XXXX-6”, “1?zap2dahdi,1()”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Return()”) in new stack
– Executing [zap2dahdi@macro-dial-one:2] Set(“DAHDI/i1/936666XXXX-6”, “NEWDIAL=”) in new stack
– Executing [zap2dahdi@macro-dial-one:3] Set(“DAHDI/i1/936666XXXX-6”, “LOOPCNT2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:4] Set(“DAHDI/i1/936666XXXX-6”, “ITER2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:5] Set(“DAHDI/i1/936666XXXX-6”, “THISPART2=SIP/3301”) in new stack
– Executing [zap2dahdi@macro-dial-one:6] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(THISPART2=DAHDI/3301)”) in new stack
– Executing [zap2dahdi@macro-dial-one:7] Set(“DAHDI/i1/936666XXXX-6”, “NEWDIAL=SIP/3301&”) in new stack
– Executing [zap2dahdi@macro-dial-one:8] Set(“DAHDI/i1/936666XXXX-6”, “ITER2=2”) in new stack
– Executing [zap2dahdi@macro-dial-one:9] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?begin2”) in new stack
– Executing [zap2dahdi@macro-dial-one:10] Set(“DAHDI/i1/936666XXXX-6”, “THISDIAL=SIP/3301”) in new stack
– Executing [zap2dahdi@macro-dial-one:11] Return(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [dstring@macro-dial-one:9] Set(“DAHDI/i1/936666XXXX-6”, “DSTRING=SIP/3301&”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“DAHDI/i1/936666XXXX-6”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:11] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:12] Set(“DAHDI/i1/936666XXXX-6”, “DSTRING=SIP/3301”) in new stack
– Executing [dstring@macro-dial-one:13] Return(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?skiptrace”) in new stack
– Executing [s@macro-dial-one:29] GosubIf(“DAHDI/i1/936666XXXX-6”, “1?ctset,1():ctclear,1()”) in new stack
– Executing [ctset@macro-dial-one:1] Set(“DAHDI/i1/936666XXXX-6”, “DB(CALLTRACE/3301)=936666XXXX”) in new stack
– Executing [ctset@macro-dial-one:2] Return(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@macro-dial-one:30] Set(“DAHDI/i1/936666XXXX-6”, “D_OPTIONS=trM(auto-blkvm)”) in new stack
– Executing [s@macro-dial-one:31] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [s@macro-dial-one:32] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?SIPAddHeader()”) in new stack
– Executing [s@macro-dial-one:33] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [s@macro-dial-one:34] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?qwait,1()”) in new stack
– Executing [s@macro-dial-one:35] Set(“DAHDI/i1/936666XXXX-6”, “__CWIGNORE=TRUE”) in new stack
– Executing [s@macro-dial-one:36] Set(“DAHDI/i1/936666XXXX-6”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:37] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?usegoto,1”) in new stack
– Executing [s@macro-dial-one:38] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?godial”) in new stack
– Goto (macro-dial-one,s,42)
– Executing [s@macro-dial-one:42] Dial(“DAHDI/i1/936666XXXX-6”, “SIP/3301,20,trM(auto-blkvm)”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/3301
– SIP/3301-0000001a is ringing
– Nobody picked up in 20000 ms
– Executing [s@macro-dial-one:43] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(DIALSTATUS=)”) in new stack
– Executing [s@macro-dial-one:44] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?s-NOANSWER,1()”) in new stack
– Executing [s@macro-dial-one:45] MacroExit(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@macro-exten-vm:15] Set(“DAHDI/i1/936666XXXX-6”, “SV_DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:16] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?docfu,1()”) in new stack
– Executing [s@macro-exten-vm:17] GosubIf(“DAHDI/i1/936666XXXX-6”, “0?docfb,1()”) in new stack
– Executing [s@macro-exten-vm:18] Set(“DAHDI/i1/936666XXXX-6”, “DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:19] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:20] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?s-NOANSWER,1”) in new stack
– Executing [s@macro-exten-vm:21] Macro(“DAHDI/i1/936666XXXX-6”, “vm,3301,NOANSWER,”) in new stack
– Executing [s@macro-vm:1] Macro(“DAHDI/i1/936666XXXX-6”, “user-callerid,SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:1] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSER=936666XXXX”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(REALCALLERIDNUM=936666XXXX)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“DAHDI/i1/936666XXXX-6”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [s@macro-user-callerid:13] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [s@macro-user-callerid:26] Set(“DAHDI/i1/936666XXXX-6”, “CALLERID(number)=936666XXXX”) in new stack
– Executing [s@macro-user-callerid:27] Set(“DAHDI/i1/936666XXXX-6”, “CALLERID(name)=Willis TX”) in new stack
– Executing [s@macro-user-callerid:28] Set(“DAHDI/i1/936666XXXX-6”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-vm:2] Set(“DAHDI/i1/936666XXXX-6”, “VMGAIN=”"") in new stack
– Executing [s@macro-vm:3] Macro(“DAHDI/i1/936666XXXX-6”, “blkvm-check,”) in new stack
– Executing [s@macro-blkvm-check:1] Set(“DAHDI/i1/936666XXXX-6”, “GOSUB_RETVAL=TRUE”) in new stack
– Executing [s@macro-blkvm-check:2] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(GOSUB_RETVAL=TRUE)”) in new stack
– Executing [s@macro-blkvm-check:3] MacroExit(“DAHDI/i1/936666XXXX-6”, “”) in new stack
– Executing [s@macro-vm:4] GotoIf(“DAHDI/i1/936666XXXX-6”, “0?vmx,1”) in new stack
– Executing [s@macro-vm:5] Hangup(“DAHDI/i1/936666XXXX-6”, “”) in new stack
== Spawn extension (macro-vm, s, 5) exited non-zero on ‘DAHDI/i1/936666XXXX-6’ in macro ‘vm’
== Spawn extension (macro-exten-vm, s, 21) exited non-zero on ‘DAHDI/i1/936666XXXX-6’ in macro ‘exten-vm’
== Spawn extension (from-internal-xfer, 3301, 2) exited non-zero on ‘DAHDI/i1/936666XXXX-6’
– Executing [h@from-internal-xfer:1] Macro(“DAHDI/i1/936666XXXX-6”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“DAHDI/i1/936666XXXX-6”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“DAHDI/i1/936666XXXX-6”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] Hangup(“DAHDI/i1/936666XXXX-6”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘DAHDI/i1/936666XXXX-6’ in macro ‘hangupcall’
== Spawn extension (from-internal-xfer, h, 1) exited non-zero on ‘DAHDI/i1/936666XXXX-6’
– Hungup ‘DAHDI/i1/936666XXXX-6’

So I found that by changing the options in the queue that the Agents log into specifically Agent Restrictions to the “extensions only” option it would allow transfers to fail over to vmail when sending to extensions. It would not let me transfer to ring groups. It would allow me to xfer to queues and it would go to the fail over destination of queues.