Skip to content

[bug]: #978

@ManiacTwister

Description

@ManiacTwister

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageTriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions