inferno
(RZ)
December 6, 2024, 4:26pm
1
Hi,
FreePBX 17 & Asterisk 20.
I’ve the below setup.
Inbound route > IVR (Return on Invalid - No) > Queue.
It looks like the option Return on Invalid set to No is not working as expected.
I’ve Invalid/Unavail agents on the queue and my test calls are returning to the IVR instead of going to the Final Destination queue… If I put valida agents in de Queue it works good so the agents are ringing.
Any idea?
Thanks!
inferno
(RZ)
December 9, 2024, 7:25pm
2
Found the solution.
Actually in this case the FollowMe on the extension is Enabled and there seems to be a bug in the core module (dialplan macro-blkvm-setifempty). This ‘macro’ should return the built-in variable GOSUB_RETVAL but it’s being reset by Return(). The return should be: Return(${GOSUB_RETVAL}) instead.
The ‘macro’ macro-blkvm-check is also returning this built-in variable but in the correct way
opened 11:26AM - 09 Dec 24 UTC
bug
triage
### FreePBX Version
FreePBX 17
### Issue Description
When FollowMe is e… nabled on extension and the extension is an agent in a queue + set on DND/Busy + the queue is linked to an IVR, when calling to this extension from queue the call returns to the IVR makes it a loop.
Setup:
Inbound route > IVR > Queue
We see the call is coming to [followme-sub] and the below Gosub goes to [macro-blkvm-setifempty]:
`exten => _X!,n,Gosub(macro-blkvm-setifempty,s,1())`
When it returns back to [followme-sub] the variable GOSUB_RETVAL is empty so the below check on [followme-sub] fails resulting the call is looping:
`exten => _X!,n,GotoIf($["${GOSUB_RETVAL}" = "TRUE"]?skipov)`
If we change the GOSUB_RETVAL variable to something custom like GOSUB_RETVAL1 then it works fine.
Same setup has been tested on FreePBX 15 with no issue.
### Operating Environment
FreePBX 17 + Asterisk 20.10/Asterisk 18.25
+-------------------+------------+-----------------------------------+------------+-----------+
| Module | Version | Status | License | Signature |
+-------------------+------------+-----------------------------------+------------+-----------+
| announcement | 17.0.2.1 | Enabled | GPLv3+ | Sangoma |
| arimanager | 17.0.1.1 | Enabled | GPLv3+ | Sangoma |
| asterisk-cli | 17.0.2 | Enabled | GPLv3+ | Sangoma |
| asteriskinfo | 17.0.2 | Enabled | GPLv3+ | Sangoma |
| backup | 17.0.5.61 | Enabled | GPLv3+ | Sangoma |
| builtin | | Enabled | | Unsigned |
| bulkhandler | 17.0.5 | Enabled | GPLv3+ | Sangoma |
| calendar | 17.0.4.20 | Enabled | GPLv3+ | Sangoma |
| callforward | 17.0.1.6 | Enabled | AGPLv3+ | Sangoma |
| callrecording | 17.0.3.8 | Enabled | AGPLv3+ | Sangoma |
| callwaiting | 17.0.3.4 | Enabled | GPLv3+ | Sangoma |
| cdr | 17.0.4.29 | Enabled | GPLv3+ | Sangoma |
| cel | 17.0.2.10 | Enabled | GPLv3+ | Sangoma |
| certman | 17.0.3.13 | Enabled | AGPLv3+ | Sangoma |
| conferences | 17.0.3.2 | Enabled | GPLv3+ | Sangoma |
| configedit | 17.0.1.4 | Enabled | AGPLv3+ | Sangoma |
| contactmanager | 17.0.5.12 | Enabled | GPLv3+ | Sangoma |
| core | 17.0.18.7 | Enabled | GPLv3+ | Sangoma |
| customappsreg | 17.0.1 | Enabled | GPLv3+ | Sangoma |
| customcontexts | 17.0.1.3 | Enabled | GPLv2+ | Sangoma |
| dashboard | 17.0.4.6 | Enabled | AGPLv3+ | Sangoma |
| daynight | 17.0.1.1 | Enabled | GPLv3+ | Sangoma |
| donotdisturb | 17.0.2.3 | Enabled | GPLv3+ | Sangoma |
| dynroute | 17.0.3.2 | Enabled | GPLv3+ | Sangoma |
| extensionsettings | 17.0.1 | Enabled | GPLv3+ | Sangoma |
| fax | 17.0.3.4 | Enabled | GPLv3+ | Sangoma |
| featurecodeadmin | 17.0.2 | Enabled | GPLv3+ | Sangoma |
| filestore | 17.0.2.31 | Enabled | AGPLv3 | Sangoma |
| findmefollow | 17.0.4.10 | Enabled | GPLv3+ | Sangoma |
| firewall | 17.0.1.29 | Enabled | AGPLv3+ | Sangoma |
| framework | 17.0.19.17 | Enabled | GPLv2+ | Sangoma |
| infoservices | 17.0.1.1 | Enabled | GPLv2+ | Sangoma |
| ivr | 17.0.8 | Enabled | GPLv3+ | Sangoma |
| languages | 17.0.1 | Enabled | GPLv3+ | Sangoma |
| logfiles | 17.0.3.3 | Enabled | GPLv3+ | Sangoma |
| manager | 17.0.6 | Enabled | GPLv2+ | Sangoma |
| miscapps | 17.0.3 | Enabled | GPLv3+ | Sangoma |
| miscdests | 17.0.1.1 | Enabled | GPLv3+ | Sangoma |
| music | 17.0.5 | Enabled | GPLv3+ | Sangoma |
| paging | 17.0.3 | Enabled | GPLv3+ | Sangoma |
| parking | | Not Installed (Locally available) | GPLv3+ | Sangoma |
| pm2 | 17.0.3.3 | Enabled | AGPLv3+ | Sangoma |
| presencestate | 17.0.2.4 | Enabled | GPLv3+ | Sangoma |
| printextensions | 17.0.1.2 | Enabled | GPLv3+ | Sangoma |
| queues | 17.0.1.13 | Enabled | GPLv2+ | Sangoma |
| recordings | 17.0.2.3 | Enabled | GPLv3+ | Sangoma |
| ringgroups | 17.0.2.6 | Enabled | GPLv3+ | Sangoma |
| setcid | 17.0.1.2 | Enabled | GPLv3+ | Sangoma |
| sipsettings | 17.0.6.9 | Enabled | AGPLv3+ | Sangoma |
| soundlang | 17.0.4.1 | Enabled | GPLv3+ | Sangoma |
| sysadmin | 17.0.2.4 | Enabled | Commercial | Sangoma |
| timeconditions | 17.0.1.18 | Enabled | GPLv3+ | Sangoma |
| userman | 17.0.6.29 | Enabled | AGPLv3+ | Sangoma |
| voicemail | 17.0.5.26 | Enabled | GPLv3+ | Sangoma |
| weakpasswords | 17.0.1 | Enabled | GPLv3+ | Sangoma |
+-------------------+------------+-----------------------------------+------------+-----------+
### Relevant log output
_No response_
FreePBX:release/17.0
← inferno-cc:release/17.0
opened 07:17PM - 09 Dec 24 UTC
macro-blkvm-setifempty & macro-blkvm-set should return ${GOSUB_RETVAL} by using … Return(${GOSUB_RETVAL}) instead of Return()