Release 2.7.0 adds the ability to declare AEL global variables straight from the admin, a new analytics report, and an automatic daily backup of the Asterisk configuration.
AEL global variables from the admin
The new DialplanGlobalVariable model lets you declare named entries in the globals { } block
without hand-editing the configuration — the config generator adds them to the top of
extensions.ael. The name and value are checked by dedicated validators: the name must match
identifier syntax, and the value can’t contain ; or line breaks.
The “calls by destination number” report
A new analytics report counts answered and all inbound external calls, grouped by destination
number (the B-number). It shows the number of unique callers and average call duration, supports
filtering by destination and excluding contacts, a top-N limit, and CSV export. Access is gated
by the view_analytics_reports permission.
Automatic Asterisk configuration backup
A new backup_asterisk.sh script archives /etc/asterisk into a tar.gz daily, with a
configurable retention period (14 days by default), and sends a Slack alert on failure. It’s
installed by the pearlpbx2 Ansible role as a daily cron job at 02:30.
A more predictable API
Every response under /api/v1/ is now forced to English, regardless of Accept-Language or the
admin’s session locale — so external integrations get predictable error messages no matter what
language the admin interface is running in.