PearlPBX2
← All posts

PearlPBX2 2.7.0: AEL global variables and the "calls by destination number" report

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.