Hello.
I just installed the Asterisk 11.2 on Centos 6 with FreePBX 2.11.0.0beta2.2.
And I noticed that Fail Over Destination in Queues not work.
I try to failover to Virtual extension (with Follow Me), to Queue (with one virtual extension member), to Misc destination, etc - call never going to Fail Over Destination. In sip debug (sip set debug on) - nothing writes after Max Wait Time is exceeded and call is not dropped.
If i set this virtual extension (with Follow Me) or queue (with one virtual extension member) as destination for Inbound route - call is correctly routed to external number (mobile).
I think - this is a bug in extensions.conf, but i`m newbie in asterisk, and cannot explain in details all statements in this conf file.
Thanks in advance.
Hello, i decided to go back to this problem and found some intresting things:
not worked part of extensions_additional.conf (generated by FreePBX):
[cur]
exten => 153,n(qcall),Queue(153,${QOPTIONS},${QAANNOUNCE},${IF($[${LEN(${VQ_MAXWAIT})}>0]?${VQ_MAXWAIT}:10)},${QAGI},${QRULE},${QPOSITION})
exten => 153,n,Macro(blkvm-clr,)
exten => 153,n,Gosub(sub-record-cancel,s,1())
exten => 153,n,Set(__NODEST=)
exten => 153,n,GotoIf($["${VQ_DEST}"=""]?ext-miscdests,2,1:${CUT(VQ_DEST,^,1)},${CUT(VQ_DEST,^,2)},${CUT(VQ_DEST,^,3)})
if i set GotoIf string after “153,n,Macro(blkvm-clr,)” call is forward to misc destination (to failover)
[cut]
exten => 153,n(qcall),Queue(153,${QOPTIONS},${QAANNOUNCE},${IF($[${LEN(${VQ_MAXWAIT})}>0]?${VQ_MAXWAIT}:10)},${QAGI},${QRULE},${QPOSITION})
exten => 153,n,Macro(blkvm-clr,)
exten => 153,n,GotoIf($["${VQ_DEST}"=""]?ext-miscdests,2,1:${CUT(VQ_DEST,^,1)},${CUT(VQ_DEST,^,2)},${CUT(VQ_DEST,^,3)})
exten => 153,n,Gosub(sub-record-cancel,s,1())
exten => 153,n,Set(__NODEST=)
Subroutine:
[sub-record-cancel]
include => sub-record-cancel-custom
exten => s,1,ExecIf($["${REC_STATUS}"!=“RECORDING”]?Return())
exten => s,n,StopMixMonitor()
exten => s,n,Set(__REC_STATUS=)
exten => s,n,Set(MON_BASE=${IF($[${LEN(${MIXMON_DIR})}]?${MIXMON_DIR}:${ASTSPOOLDIR}/monitor/)}${YEAR}/${MONTH}/${DAY}/)
exten => s,n,Set(__MON_FMT=${IF($[${LEN(${MIXMON_FORMAT})}]?${IF($["${MIXMON_FORMAT}"=“wav49”]?WAV:${MIXMON_FORMAT})}:wav)})
exten => s,n,ExecIf($[${LEN(${CALLFILENAME})} & ${STAT(f,${MON_BASE}${CALLFILENAME}.${MON_FMT})}]?System(rm -f ${MON_BASE}${CALLFILENAME}.${MON_FMT}))
exten => s,n,Set(__CALLFILENAME=)
exten => s,n,Set(CDR(recordingfile)=)
exten => s,n,Return()
small part from debug output:
– Executing [153@ext-queues:28] Gosub(“SIP/REDCOM-IN-00000079”, “sub-record-cancel,s,1()”) in new stack
[2013-02-13 23:55:38] DEBUG[23396][C-00000038]: pbx.c:3642 ast_str_retrieve_variable: Result of ‘REC_STATUS’ is ‘RECORDING’
[2013-02-13 23:55:38] DEBUG[23396][C-00000038]: pbx.c:4529 pbx_substitute_variables_helper_full: Expression result is ‘0’
[2013-02-13 23:55:38] DEBUG[23396][C-00000038]: pbx.c:4633 pbx_extension_helper: Launching ‘ExecIf’
– Executing [s@sub-record-cancel:1] ExecIf(“SIP/REDCOM-IN-00000079”, “0?Return()”) in new stack
[2013-02-13 23:55:38] DEBUG[23396][C-00000038]: pbx.c:4633 pbx_extension_helper: Launching ‘StopMixMonitor’
– Executing [s@sub-record-cancel:2] StopMixMonitor(“SIP/REDCOM-IN-00000079”, “”) in new stack
[2013-02-13 23:55:38] DEBUG[23396][C-00000038]: pbx.c:6316 __ast_pbx_run: Spawn extension (sub-record-cancel,s,2) exited non-zero on ‘SIP/REDCOM-IN-00000079’
== Spawn extension (sub-record-cancel, s, 2) exited non-zero on ‘SIP/REDCOM-IN-00000079’
Because subroutine exit on StopMixMonitor(), call not forward to misc destinations (or other) and recordings file field in database is empty.
Anyone can help me?
Please open a ticket. Developers don’t check forum messages.
… If any of the devs see this, can someone with a fresh set of eyes take a look at that ticket? It was closed as invalid, which I don’t believe to be correct, and should this go live as-is, I think we’ll be having a lot of recording problems creeping up on trac.
Daroz,
As was asked the ticket was reopened as http://www.freepbx.org/trac/ticket/6416 where we figured out it’s an asterisk bug in 11. It’s easy to figure this out by switching the asterisk versions to 1.8 or 10 where it works correctly.
Thanks for the link to the other ticket – I hadn’t seen that one (and it was broken on my 10.8 install, which had a backport of that and some other patches.)
Unfortunately I can’t use the distro as I run my various Asterisk configurations in pseudo VMs.
For everyone else’s sake, we got a bug open w/ Asterisk/Digium and a patch has landed on the trunk and this should be fixed for everyone by the time 11.2 is released.