HELP : queue drops call after transfer (after 2.8 upgrade)

I’ve opened a ticket on this already (#4709)

When someone calls in to a queue and is transfered to another queue or extension they get dropped immediately. Everything was working before I upgraded to 2.8.
I’ve tried everything but can’t figure it out. I’ve even tried to upgrade asterisk to 1.6. Still no luck. Please help!

I’ve attached a better log from asterisk.

Here I call into queue 755 (from another PBX via IAX2), extension 1001 picks it up and tried to transfer call to queue 123. The call is hangup.

Here is the log:

Asterisk 1.6.2.15, Copyright © 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer [email protected]
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type ‘core show license’ for details.

== Parsing ‘/etc/asterisk/asterisk.conf’: == Found
Connected to Asterisk 1.6.2.15 currently running on localhost (pid = 2663)
localhostCLI> Verbosity is at least 5
Core debug is at least 5
localhost
CLI> – Executing [755@from-internal:1] Macro(“IAX2/froms3-1914”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“IAX2/froms3-1914”, “AMPUSER=2485551234”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“IAX2/froms3-1914”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“IAX2/froms3-1914”, “1?Set(REALCALLERIDNUM=2485551234)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“IAX2/froms3-1914”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“IAX2/froms3-1914”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“IAX2/froms3-1914”, “1?report”) in new stack
– Goto (macro-user-callerid,s,9)
– Executing [s@macro-user-callerid:9] GotoIf(“IAX2/froms3-1914”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:10] Set(“IAX2/froms3-1914”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“IAX2/froms3-1914”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] NoOp(“IAX2/froms3-1914”, “Using CallerID “2485551234” <2485551234>”) in new stack
– Executing [755@from-internal:2] Answer(“IAX2/froms3-1914”, “”) in new stack
localhostCLI> – Executing [755@from-internal:3] Set(“IAX2/froms3-1914”, “__BLKVM_OVERRIDE=BLKVM/755/IAX2/froms3-1914”) in new stack
localhost
CLI> – Executing [755@from-internal:4] Set(“IAX2/froms3-1914”, “__BLKVM_BASE=755”) in new stack
– Executing [755@from-internal:5] Set(“IAX2/froms3-1914”, “DB(BLKVM/755/IAX2/froms3-1914)=TRUE”) in new stack
localhostCLI> – Executing [755@from-internal:6] ExecIf(“IAX2/froms3-1914”, “1?Set(_DIAL_OPTIONS=trM(auto-blkvm))”) in new stack
– Executing [755@from-internal:7] Set(“IAX2/froms3-1914”, “__NODEST=755”) in new stack
– Executing [755@from-internal:8] Set(“IAX2/froms3-1914”, “MONITOR_FILENAME=/var/spool/asterisk/monitor/q755-20101227-185908-1293494348.129”) in new stack
– Executing [755@from-internal:9] Playback(“IAX2/froms3-1914”, “custom/welcome_customer_support”) in new stack
– Executing [755@from-internal:10] Set(“IAX2/froms3-1914”, “__CWIGNORE=TRUE”) in new stack
– Executing [755@from-internal:11] Queue(“IAX2/froms3-1914”, “755,t,”) in new stack
– Started music on hold, class ‘default’, on IAX2/froms3-1914
– Executing [1001@from-queue:1] Set(“Local/1001@from-queue-d7be;2”, “QAGENT=1001”) in new stack
– Executing [1001@from-queue:2] Goto(“Local/1001@from-queue-d7be;2”, “755,1”) in new stack
– Goto (from-queue,755,1)
– Executing [755@from-queue:1] Goto(“Local/1001@from-queue-d7be;2”, “from-internal,1001,1”) in new stack
– Goto (from-internal,1001,1)
– Executing [1001@from-internal:1] Macro(“Local/1001@from-queue-d7be;2”, “exten-vm,novm,1001”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“Local/1001@from-queue-d7be;2”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“Local/1001@from-queue-d7be;2”, “AMPUSER=2485551234”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“Local/1001@from-queue-d7be;2”, “1?report”) in new stack
– Goto (macro-user-callerid,s,9)
– Executing [s@macro-user-callerid:9] GotoIf(“Local/1001@from-queue-d7be;2”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:10] Set(“Local/1001@from-queue-d7be;2”, “__TTL=63”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“Local/1001@from-queue-d7be;2”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] NoOp(“Local/1001@from-queue-d7be;2”, “Using CallerID “2485551234” <2485551234>”) in new stack
– Executing [s@macro-exten-vm:2] Set(“Local/1001@from-queue-d7be;2”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“Local/1001@from-queue-d7be;2”, “VMBOX=novm”) in new stack
– Executing [s@macro-exten-vm:4] Set(“Local/1001@from-queue-d7be;2”, “__EXTTOCALL=1001”) in new stack
– Executing [s@macro-exten-vm:5] Set(“Local/1001@from-queue-d7be;2”, “CFUEXT=”) in new stack
– Executing [s@macro-exten-vm:6] Set(“Local/1001@from-queue-d7be;2”, “CFBEXT=”) in new stack
– Executing [s@macro-exten-vm:7] Set(“Local/1001@from-queue-d7be;2”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:8] Macro(“Local/1001@from-queue-d7be;2”, “record-enable,1001,IN”) in new stack
localhost
CLI> – Executing [s@macro-record-enable:1] GotoIf(“Local/1001@from-queue-d7be;2”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“Local/1001@from-queue-d7be;2”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“Local/1001@from-queue-d7be;2”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,15)
localhostCLI> – Executing [s@macro-record-enable:15] GotoIf(“Local/1001@from-queue-d7be;2”, “1?IN”) in new stack
– Goto (macro-record-enable,s,20)
– Executing [s@macro-record-enable:20] ExecIf(“Local/1001@from-queue-d7be;2”, “1?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“Local/1001@from-queue-d7be;2”, “dial-one,trM(auto-blkvm),1001”) in new stack
– Executing [s@macro-dial-one:1] Set(“Local/1001@from-queue-d7be;2”, “DEXTEN=1001”) in new stack
– Executing [s@macro-dial-one:2] Set(“Local/1001@from-queue-d7be;2”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“Local/1001@from-queue-d7be;2”, “0?screen,1”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“Local/1001@from-queue-d7be;2”, “0?cf,1”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“Local/1001@from-queue-d7be;2”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“Local/1001@from-queue-d7be;2”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“Local/1001@from-queue-d7be;2”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“Local/1001@from-queue-d7be;2”, “EXTHASCW=”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“Local/1001@from-queue-d7be;2”, “1?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,12)
– Stopped music on hold on IAX2/froms3-1914
– Executing [s@macro-dial-one:12] GotoIf(“Local/1001@from-queue-d7be;2”, “0?docfu:skip3”) in new stack
– Goto (macro-dial-one,s,16)
– Executing [s@macro-dial-one:16] GotoIf(“Local/1001@from-queue-d7be;2”, “1?next2:continue”) in new stack
– Goto (macro-dial-one,s,17)
– Executing [s@macro-dial-one:17] GotoIf(“Local/1001@from-queue-d7be;2”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [s@macro-dial-one:25] GotoIf(“Local/1001@from-queue-d7be;2”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“Local/1001@from-queue-d7be;2”, “1?dstring,1:dlocal,1”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“Local/1001@from-queue-d7be;2”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“Local/1001@from-queue-d7be;2”, “DEVICES=1001”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“Local/1001@from-queue-d7be;2”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“Local/1001@from-queue-d7be;2”, “0?Set(DEVICES=001)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“Local/1001@from-queue-d7be;2”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“Local/1001@from-queue-d7be;2”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“Local/1001@from-queue-d7be;2”, “THISDIAL=SIP/1001”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“Local/1001@from-queue-d7be;2”, “1?zap2dahdi,1”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“Local/1001@from-queue-d7be;2”, “0?Return()”) in new stack
– Executing [zap2dahdi@macro-dial-one:2] Set(“Local/1001@from-queue-d7be;2”, “NEWDIAL=”) in new stack
– Executing [zap2dahdi@macro-dial-one:3] Set(“Local/1001@from-queue-d7be;2”, “LOOPCNT2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:4] Set(“Local/1001@from-queue-d7be;2”, “ITER2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:5] Set(“Local/1001@from-queue-d7be;2”, “THISPART2=SIP/1001”) in new stack
– Executing [zap2dahdi@macro-dial-one:6] ExecIf(“Local/1001@from-queue-d7be;2”, “0?Set(THISPART2=DAHDI/1001)”) in new stack
– Executing [zap2dahdi@macro-dial-one:7] Set(“Local/1001@from-queue-d7be;2”, “NEWDIAL=SIP/1001&”) in new stack
– Executing [zap2dahdi@macro-dial-one:8] Set(“Local/1001@from-queue-d7be;2”, “ITER2=2”) in new stack
– Executing [zap2dahdi@macro-dial-one:9] GotoIf(“Local/1001@from-queue-d7be;2”, “0?begin2”) in new stack
– Executing [zap2dahdi@macro-dial-one:10] Set(“Local/1001@from-queue-d7be;2”, “THISDIAL=SIP/1001”) in new stack
– Executing [zap2dahdi@macro-dial-one:11] Return(“Local/1001@from-queue-d7be;2”, “”) in new stack
– Executing [dstring@macro-dial-one:9] Set(“Local/1001@from-queue-d7be;2”, “DSTRING=SIP/1001&”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“Local/1001@from-queue-d7be;2”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:11] GotoIf(“Local/1001@from-queue-d7be;2”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:12] Set(“Local/1001@from-queue-d7be;2”, “DSTRING=SIP/1001”) in new stack
– Executing [dstring@macro-dial-one:13] Return(“Local/1001@from-queue-d7be;2”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“Local/1001@from-queue-d7be;2”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GotoIf(“Local/1001@from-queue-d7be;2”, “1?skiptrace”) in new stack
– Goto (macro-dial-one,s,30)
– Executing [s@macro-dial-one:30] Set(“Local/1001@from-queue-d7be;2”, “D_OPTIONS=trM(auto-blkvm)”) in new stack
– Executing [s@macro-dial-one:31] ExecIf(“Local/1001@from-queue-d7be;2”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [s@macro-dial-one:32] ExecIf(“Local/1001@from-queue-d7be;2”, “0?SIPAddHeader()”) in new stack
– Executing [s@macro-dial-one:33] ExecIf(“Local/1001@from-queue-d7be;2”, “0?SetMusicOnHold()”) in new stack
– Executing [s@macro-dial-one:34] GosubIf(“Local/1001@from-queue-d7be;2”, “0?qwait,1”) in new stack
– Executing [s@macro-dial-one:35] Set(“Local/1001@from-queue-d7be;2”, “__CWIGNORE=TRUE”) in new stack
– Executing [s@macro-dial-one:36] Set(“Local/1001@from-queue-d7be;2”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:37] Dial(“Local/1001@from-queue-d7be;2”, “SIP/1001,trM(auto-blkvm)”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
– Called 1001
localhost
CLI> – Local/1001@from-queue-d7be;1 is ringing
localhostCLI> – SIP/1001-0000000d is ringing
localhost
CLI> – Local/1001@from-queue-d7be;1 is ringing
localhostCLI> – SIP/1001-0000000d answered Local/1001@from-queue-d7be;2
– Executing [s@macro-auto-blkvm:1] Set(“SIP/1001-0000000d”, “__MACRO_RESULT=”) in new stack
localhost
CLI> – Executing [s@macro-auto-blkvm:2] NoOp(“SIP/1001-0000000d”, “Deleting: BLKVM/755/IAX2/froms3-1914 TRUE”) in new stack
localhostCLI> – Local/1001@from-queue-d7be;1 answered IAX2/froms3-1914
localhost
CLI> – Started music on hold, class ‘default’, on Local/1001@from-queue-d7be;2
localhostCLI> – Stopped music on hold on Local/1001@from-queue-d7be;2
localhost
CLI> – Executing@from-internal-xfer:1] Macro(“Local/1001@from-queue-d7be;2”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Local/1001@from-queue-d7be;2”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“Local/1001@from-queue-d7be;2”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“Local/1001@from-queue-d7be;2”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“Local/1001@from-queue-d7be;2”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Local/1001@from-queue-d7be;2’ in macro ‘hangupcall’
== Spawn extension (from-internal-xfer, 123, 1) exited non-zero on ‘Local/1001@from-queue-d7be;2’ in macro ‘dial-one’
== Spawn extension (from-internal-xfer, 123, 1) exited non-zero on ‘Local/1001@from-queue-d7be;2’ in macro ‘exten-vm’
== Spawn extension (from-internal-xfer, 123, 1) exited non-zero on 'Local/1001@from-queue-d7be;2’
localhostCLI> – Executing@from-internal:1] Macro(“IAX2/froms3-1914”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“IAX2/froms3-1914”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“IAX2/froms3-1914”, “0?skipblkvm”) in new stack
– Executing [s@macro-hangupcall:5] NoOp(“IAX2/froms3-1914”, “Cleaning Up Block VM Flag: BLKVM/755/IAX2/froms3-1914”) in new stack
– Executing [s@macro-hangupcall:6] NoOp(“IAX2/froms3-1914”, "Deleting: BLKVM/755/IAX2/froms3-1914 ") in new stack
– Executing [s@macro-hangupcall:7] GotoIf(“IAX2/froms3-1914”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“IAX2/froms3-1914”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘IAX2/froms3-1914’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘IAX2/froms3-1914’
== Spawn extension (from-internal, 755, 11) exited non-zero on ‘IAX2/froms3-1914’
– Executing@from-internal:1] Macro(“IAX2/froms3-1914”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“IAX2/froms3-1914”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“IAX2/froms3-1914”, “0?skipblkvm”) in new stack
– Executing [s@macro-hangupcall:5] NoOp(“IAX2/froms3-1914”, “Cleaning Up Block VM Flag: BLKVM/755/IAX2/froms3-1914”) in new stack
– Executing [s@macro-hangupcall:6] NoOp(“IAX2/froms3-1914”, "Deleting: BLKVM/755/IAX2/froms3-1914 ") in new stack
– Executing [s@macro-hangupcall:7] GotoIf(“IAX2/froms3-1914”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“IAX2/froms3-1914”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘IAX2/froms3-1914’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘IAX2/froms3-1914’
– Hungup 'IAX2/froms3-1914’
localhost
CLI>
Disconnected from Asterisk server
Executing last minute cleanups

I got it working. I downgraded back to asterisk1.4 which caused freepbx to be reinstalled again and for whatever reason it’s working again.

Freepbx is confused though since the RPM is v2.7 but the SQL data is 2.8.

I’m going to rebuild this pbx soon, but it’s working for now.

Thanks.

How was the transfer done?
Did you select a new line on the phone, dialed 123 and then pressed the transfer button?

What phones are you using?

Using eyeBeam. Press Transfer - 123 - Transfer.
Didn’t press a new line to make a transfer.

If I call an external phone directly and then do a transfer it works fine.
But if a phone calls into a queue it will get dropped as soon as I try to do a transfer to another queue or directly to another extension.

Thanks.