FreePBX Version
FreePBX 16 and 17
Issue Description
The asterisk queue module stores queue members in the astdb under /Queue/PersistentMembers/ using | separated entries for each extension. The value for each extension also includes the display name. The freepbx extension module allows the | character for display names, these entries mess up the PersistentMembers db entries.
An broken example entry:
/Queue/PersistentMembers/2600|Local/2653@from-queue/n;0;0;Firstname Lastname | Company;hint:2653@ext-local;;0|Local/2690@from-queue/n;0;0;Firstname2 Lastname2 / Company;Local/2690@from-queue/n;;0
The queue member list after restarting asterisk looks like this:
2600 has 0 calls (max unlimited) in 'ringall' strategy (9s holdtime, 172s talktime), W:0, C:13, A:30, SL:100.0%, SL2:100.0% within 60s
Members:
0 ( Company) (ringinuse enabled) (dynamic) (Invalid) has taken no calls yet (login was 2345332 secs ago)
Firstname Lastname | Company (Local/2653@from-queue/n from hint:2653@ext-local) (ringinuse enabled) (dynamic) (Not in use) has taken 2 calls (last was 75284 secs ago) (login was 1552728 secs ago)
Firstname2 Lastname2 / Company (Local/2690@from-queue/n) (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet (login was 62 secs ago)
No Callers
There is an entry 0 now with broken hints, there is also no way to remove this member from the queue except modifying the astdb.
I suppose the only fix is to block the | charcater for displaynames?
Operating Environment
# asterisk -V
Asterisk 16.24.1
# fwconsole ma list output
No repos specified, using: [standard,commercial] from last GUI settings
+---------------------+------------+-----------------------------------------+-------------+-----------+
| Module | Version | Status | License | Signature |
+---------------------+------------+-----------------------------------------+-------------+-----------+
| accountcodepreserve | 16.0.0.1 | Aktivieren | GPLv2 | Sangoma |
| adv_recovery | | Not Installed (Locally available) | Commercial | Sangoma |
| allowlist | | Not Installed (Locally available) | GPLv3+ | Sangoma |
| amd | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| announcement | 16.0.7 | Aktivieren | GPLv3+ | Sangoma |
| api | 16.0.17 | Aktivieren | AGPLv3+ | Sangoma |
| areminder | 16.0.17 | Aktivieren | Commercial | Sangoma |
| arimanager | 16.0.13 | Aktivieren | GPLv3+ | Sangoma |
| asterisk-cli | 16.0.8 | Aktivieren | GPLv3+ | Sangoma |
| asteriskinfo | 16.0.10 | Aktivieren | GPLv3+ | Sangoma |
| backup | 16.0.70.5 | Aktivieren | GPLv3+ | Sangoma |
| blacklist | 16.0.21 | Aktivieren | GPLv3+ | Sangoma |
| broadcast | 16.0.19 | Aktivieren | Commercial | Sangoma |
| builtin | | Aktivieren | | Unsigned |
| bulkhandler | 16.0.18 | Aktivieren | GPLv3+ | Sangoma |
| calendar | 16.0.34.3 | Aktivieren | GPLv3+ | Sangoma |
| callaccounting | | Not Installed (Locally available) | Commercial+ | Sangoma |
| callback | 16.0.4 | Aktivieren | GPLv3+ | Sangoma |
| callerid | 16.0.5 | Aktivieren | Commercial | Sangoma |
| callforward | 16.0.6 | Aktivieren | AGPLv3+ | Sangoma |
| calllimit | 16.0.6 | Aktivieren | Commercial | Sangoma |
| callrecording | 16.0.22 | Aktivieren | AGPLv3+ | Sangoma |
| callwaiting | 16.0.5 | Aktivieren | GPLv3+ | Sangoma |
| cdr | 16.0.46.29 | Aktivieren | GPLv3+ | Sangoma |
| cdrpro | 16.0.33.19 | Disabled; Pending upgrade to 16.0.33.21 | Commercial | Sangoma |
| cel | 16.0.20 | Aktivieren | GPLv3+ | Sangoma |
| certman | 16.0.30 | Aktivieren | AGPLv3+ | Sangoma |
| cidlookup | 16.0.16 | Aktivieren | GPLv3+ | Sangoma |
| conferences | 16.0.9 | Aktivieren | GPLv3+ | Sangoma |
| conferencespro | 16.0.10 | Aktivieren | Commercial | Sangoma |
| configedit | 16.0.5 | Aktivieren | AGPLv3+ | Sangoma |
| contactmanager | 16.0.27 | Aktivieren | GPLv3+ | Sangoma |
| core | 16.0.68.40 | Aktivieren | GPLv3+ | Sangoma |
| cos | 16.0.7 | Aktivieren | Commercial | Sangoma |
| customappsreg | 16.0.5 | Aktivieren | GPLv3+ | Sangoma |
| cxpanel | 16.0.6 | Aktivieren | GPLv3 | Sangoma |
| dahdiconfig | 16.0.9 | Aktivieren | GPLv3+ | Sangoma |
| dashboard | 16.0.21 | Aktivieren | AGPLv3+ | Sangoma |
| daynight | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| dictate | 16.0.1 | Aktivieren | GPLv3+ | Sangoma |
| directory | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| disa | 16.0.5 | Aktivieren | AGPLv3+ | Sangoma |
| donotdisturb | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| dynroute | 16.0.4 | Aktivieren | GPLv3+ | Sangoma |
| endpoint | 16.0.96 | Aktivieren | Commercial | Sangoma |
| extensionroutes | 16.0.7 | Aktivieren | Commercial | Sangoma |
| extensionsettings | 16.0.5 | Aktivieren | GPLv3+ | Sangoma |
| fax | 16.0.13 | Aktivieren | GPLv3+ | Sangoma |
| faxpro | 16.0.15 | Aktivieren | Commercial | Sangoma |
| featurecodeadmin | 16.0.11 | Aktivieren | GPLv3+ | Sangoma |
| filestore | 16.0.18.6 | Aktivieren | AGPLv3 | Sangoma |
| findmefollow | 16.0.24 | Aktivieren | GPLv3+ | Sangoma |
| firewall | 16.0.57.12 | Aktivieren | AGPLv3+ | Sangoma |
| framework | 16.0.45 | Aktivieren | GPLv2+ | Sangoma |
| fw_langpacks | 16.0.1 | Aktivieren | GPLv3+ | Sangoma |
| hotelwakeup | 16.0.9 | Aktivieren | GPLv2 | Sangoma |
| iaxsettings | 16.0.4 | Aktivieren | AGPLv3 | Sangoma |
| infoservices | 16.0.2 | Aktivieren | GPLv2+ | Sangoma |
| iotserver | 16.0.10.2 | Aktivieren | Commercial | Sangoma |
| irc | 16.0.1 | Aktivieren | GPLv3+ | Sangoma |
| ivr | 16.0.9 | Aktivieren | GPLv3+ | Sangoma |
| languages | 16.0.4 | Aktivieren | GPLv3+ | Sangoma |
| logfiles | 16.0.8 | Aktivieren | GPLv3+ | Sangoma |
| manager | 16.0.24 | Aktivieren | GPLv2+ | Sangoma |
| miscapps | 16.0.2 | Aktivieren | GPLv3+ | Sangoma |
| miscdests | 16.0.2 | Aktivieren | GPLv3+ | Sangoma |
| music | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| oracle_connector | | Not Installed (Locally available) | Commercial | Sangoma |
| outroutemsg | 16.0.1 | Aktivieren | GPLv3+ | Sangoma |
| paging | 16.0.13 | Aktivieren | GPLv3+ | Sangoma |
| pagingpro | 16.0.13 | Aktivieren | Commercial | Sangoma |
| parking | 16.0.4 | Aktivieren | GPLv3+ | Sangoma |
| parkpro | 16.0.5 | Aktivieren | Commercial | Sangoma |
| phonebook | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| phpinfo | 16.0.1 | Aktivieren | GPLv2+ | Sangoma |
| pinsets | 16.0.8 | Aktivieren | GPLv3+ | Sangoma |
| pinsetspro | 16.0.4 | Aktivieren | Commercial | Sangoma |
| pm2 | 16.0.8 | Aktivieren | AGPLv3+ | Sangoma |
| pms | 16.0.23 | Aktivieren | Commercial | Sangoma |
| presencestate | 16.0.4 | Aktivieren | GPLv3+ | Sangoma |
| printextensions | 16.0.9 | Aktivieren | GPLv3+ | Sangoma |
| queueprio | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| queues | 16.0.28 | Aktivieren | GPLv2+ | Sangoma |
| queuestats | 16.0.28 | Aktivieren | Commercial | Sangoma |
| qxact_reports | 16.0.37 | Aktivieren | Commercial | Sangoma |
| recording_report | 16.0.33.5 | Aktivieren | Commercial | Sangoma |
| recordings | 16.0.17.14 | Aktivieren | GPLv3+ | Sangoma |
| restapps | 16.0.41.3 | Aktivieren | Commercial | Sangoma |
| ringgroups | 16.0.11 | Aktivieren | GPLv3+ | Sangoma |
| sangomaconnect | 16.0.51.32 | Aktivieren | Commercial | Sangoma |
| sangomacrm | 16.0.10.23 | Aktivieren | Commercial | Sangoma |
| sangomartapi | 16.0.54.27 | Aktivieren | Commercial | Sangoma |
| sdrvoicemailnotify | 14.0.1 | Aktivieren | GPLv3 | Unknown |
| setcid | 16.0.3 | Aktivieren | GPLv3+ | Sangoma |
| sipsettings | 16.0.27.1 | Aktivieren | AGPLv3+ | Sangoma |
| sipstation | 16.0.28 | Aktivieren | Commercial | Sangoma |
| sms | 16.0.29 | Aktivieren | Commercial | Sangoma |
| soundlang | 16.0.9 | Aktivieren | GPLv3+ | Sangoma |
| superfecta | 16.0.39 | Aktivieren | GPLv2+ | Sangoma |
| sysadmin | 16.0.49.29 | Aktivieren | Commercial | Sangoma |
| timeconditions | 16.0.12 | Aktivieren | GPLv3+ | Sangoma |
| tts | 16.0.5 | Aktivieren | GPLv3+ | Sangoma |
| ttsengines | 16.0.3 | Aktivieren | AGPLv3 | Sangoma |
| ucp | 16.0.38.16 | Aktivieren | AGPLv3+ | Sangoma |
| userman | 16.0.44.28 | Aktivieren | AGPLv3+ | Sangoma |
| vega | 16.0.6 | Aktivieren | Commercial+ | Sangoma |
| vmblast | 16.0.11 | Aktivieren | GPLv3+ | Sangoma |
| vmnotify | | Not Installed (Locally available) | Commercial | Sangoma |
| voicemail | 16.0.64 | Aktivieren | GPLv3+ | Sangoma |
| voicemail_report | 16.0.3 | Aktivieren | Commercial | Sangoma |
| voipinnovations | | Not Installed (Locally available) | Commercial | Sangoma |
| vqplus | 16.0.28 | Aktivieren | Commercial | Sangoma |
| weakpasswords | 16.0.1 | Aktivieren | GPLv3+ | Sangoma |
| webcallback | 16.0.3 | Aktivieren | Commercial | Sangoma |
| webrtc | 16.0.19 | Aktivieren | GPLv3+ | Sangoma |
| xmpp | 16.0.7 | Aktivieren | AGPLv3 | Sangoma |
| zulu | 16.0.19 | Aktivieren | Commercial | Sangoma |
+---------------------+------------+-----------------------------------------+-------------+-----------+
Relevant log output
FreePBX Version
FreePBX 16 and 17
Issue Description
The asterisk queue module stores queue members in the astdb under /Queue/PersistentMembers/ using | separated entries for each extension. The value for each extension also includes the display name. The freepbx extension module allows the | character for display names, these entries mess up the PersistentMembers db entries.
An broken example entry:
/Queue/PersistentMembers/2600|Local/2653@from-queue/n;0;0;Firstname Lastname | Company;hint:2653@ext-local;;0|Local/2690@from-queue/n;0;0;Firstname2 Lastname2 / Company;Local/2690@from-queue/n;;0The queue member list after restarting asterisk looks like this:
There is an entry 0 now with broken hints, there is also no way to remove this member from the queue except modifying the astdb.
I suppose the only fix is to block the | charcater for displaynames?
Operating Environment
Relevant log output