All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- FOP2 certificate management for HTTPS/WSS SSL WebSockets
- Updated PBX engine to Asterisk
20.0.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.0.0)- enabled modules:
- app_statsd
- app_saycounted
- chan_sip
- res_config_sqlite3
- res_phoneprov
- res_pjsip_phoneprov_provider
- res_pjsip_geolocation
- disabled modules:
- res_adsi
- res_monitor
- res_pktccops
- enabled modules:
- Updated database engine to MariaDB
10.6.11
LTS (https://mariadb.com/kb/en/mariadb-10610-release-notes/) - Updated zabbix-agent to
6.2
and switched to zabbix-agent2 - Now the initial deploy include the latest release of framework on time of izpbx build
- Pre downloading all upgradable base system modules also (core, etc..) to avoid upgrading after initial install
- Testing upgrade baseimage to Rocky Linux 9 and Asterisk 20
- EL9 problems: ilbc 3.0.4, libsrtp 2.3.0, python 2, libtermcap, unbound
- exit from install phase if all 5 retries fails
- Updated PBX engine to Asterisk
18.15.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.15.0) - Updated FOP2 to
2.31.33
(https://www.fop2.com/download.php) - Updated database engine to MariaDB
10.6.10
LTS (https://mariadb.com/kb/en/mariadb-10610-release-notes/)- after the deploy don't forget to upgrade mariadb database with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- after the deploy don't forget to upgrade mariadb database with:
- Updated
default.env
with: (NOTE: don't forget to accordingly update your.env
file)- changed:
APP_PORT_SIP=5061
toAPP_PORT_SIP=5160
- changed:
- fixed codec_opus build (xmlstarlet was missing in RL8 repos)
- Updated PBX engine to Asterisk
18.14.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.14.0) - Updated sngrep to
1.6.0
(https://github.com/irontec/sngrep/releases/tag/v1.6.0) - Disabled asterisk module
res_geolocation
- Fix crond high cpu usage caused by missing ulimit setings into docker-compose.yml
- Updated
default.env
with: (NOTE: don't forget to accordingly update your.env
file)- added:
#FAIL2BAN_DEFAULT_BANACTION=iptables-allports[blocktype=DROP]
- added:
- Removed 'MultiViews' option from Apache config that broken FreePBX GQL/REST API
- Added Asterisk chan_dongle support (https://github.com/shalzz/asterisk-chan-dongle)
- OS packages updates
- Updated PBX engine to Asterisk
18.13.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.13.0) - Updated database engine to MariaDB
10.6.8
LTS (https://mariadb.com/kb/en/mariadb-1068-release-notes/)- after the deploy don't forget to upgrade mariadb database with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- after the deploy don't forget to upgrade mariadb database with:
- Updated PBX engine to Asterisk
18.12.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.12.0) - Updated sngrep to
1.5.0
- Updated zabbix-agent to
6.0
- Updated PBX engine to Asterisk
18.11.1
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.11.1) - updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)- changed default value for
APP_PORT_SIP
from5160
to5061
- changed default value for
- Updated PBX engine to Asterisk
18.10.1
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.10.1) - Updated SpanDSP to
3.0.0-6ec23e5a7e
- Updated database engine to MariaDB
10.6.7
LTS (https://mariadb.com/kb/en/mariadb-1067-release-notes/)- after the deploy don't forget to upgrade mariadb database with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- after the deploy don't forget to upgrade mariadb database with:
- Updated PBX engine to Asterisk
18.10.0
LTS (https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.10.0)
- Updated FOP2 to 2.31.32 (this release fix a long standing FOP2 license issue when running inside docker container that on every restart the license got invalid and needed to be reactivated)
- FOP2: added new option
--rp=http
on fop2_server commands to bypass fop2 license problems when running inside a container - FOP2: better license handling
- Updated FOP2 to 2.31.31
- Portability enhancements:
MYSQL_ROOT_PASSWORD
is no longer mandatory. If for security reasons it isn't defined in the.env
file, theMYSQL_PASSWORD
will be used instead WARNING: you must manual pre provision theasterisk
andasteriskcdrdb
databases must exist andMYSQL_USER
must have permissions to use them, otherwise the install step will fail. - by default do not update FOP2 on izPBX new release, you must enable
FOP2_AUTOUPGRADE=true
in.env
to upgrade FOP2 (require valid license file)
- updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)- added:
FOP2_AUTOUPGRADE
(default:false
)
- added:
- Added
iproute
package (used by SIP Settings when binding interface to SIP channel driver)
- Updated PBX engine to Asterisk 18.9.0 LTS (https://www.asterisk.org/asterisk-news/asterisk-18-9-0-now-available/)
- Let's Encrypt: changed used address from
SMTP_MAIL_TO
toSMTP_MAIL_FROM
when requesting a certificate
- MAJOR CHANGE: Updated GUI to FreePBX 16 (see README.md for upgrade instructions)
- MAJOR CHANGE: chan_pjsip is now the default sip channel driver
- MAJOR CHANGE: Updated PHP from 7.2 to 7.4 (NOTE: before switching to this release remember to upgrade all FreePBX modules to avoid warnings about unsupported PHP version)
- disabled Asterisk module: app_voicemail_imap
- updated sngrep to 1.4.10
- updated
default.env
with: (NOTE: don't forget to accordingly update your.env
file)- added:
FREEPBX_AUTOUPGRADE_CORE=true
- renamed:
FREEPBX_FIRSTRUN_AUTOUPDATE
toFREEPBX_AUTOUPGRADE_MODULES
- changed:
APP_PORT_PJSIP=5060
- changed:
APP_PORT_SIP=5160
- disabled:
FREEPBX_SIGNATURECHECK=0
- added:
- PHP 7.4 IonCube Loader support for commercial modules support (still not usable, missing sysadmin rpm package)
- removed Asterisk 16 build support
- enabled FreePBX modules autoupdate on first deploy
- enabled FreePBX modules by default:
- bulkhandler
- speeddial
- weakpasswords
- ucp
- updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)FREEPBX_FIRSTRUN_AUTOUPDATE=true
APP_PORT_WEBRTC=8089
APP_PORT_UCP_HTTP=8001
APP_PORT_UCP_HTTPS=8003
- Updated engine to Asterisk 18.8.0 LTS
- Updated database engine to MariaDB 10.6.5
- after the deploy don't forget to upgrade mariadb database with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- after the deploy don't forget to upgrade mariadb database with:
- Updated Asterisk to 18.7.1 LTS
- moved the
[ASTRUNDIR]=/var/run/asterisk
outside persistent/data
storage to avoid problems between startups
- Updated mariadb from 10.5.12 to 10.6.4
- after the deploy don't forget to upgrade mariadb database with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- after the deploy don't forget to upgrade mariadb database with:
- updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)- default value for
HTTPD_HTTPS_ENABLED
fromtrue
tofalse
- default value for
- updated
default.env
with the following new variables: (NOTE: don't forget to update your custom.env
file)HTTPD_HTTPS_CERT_FILE
HTTPD_HTTPS_KEY_FILE
HTTPD_HTTPS_CHAIN_FILE
- automatically recreate default self-signed certificate to match Common Name of
APP_FQDN
variable - enhancements on self-signed certificate management
- changed default https certs dir from
/etc/pki/izpbx
to/etc/asterisk/keys
(remember to delete the old/etc/pki/izpbx
directory because it's not used anymore) - use default FreePBX SSL certs (NOTE: this will change default certificates for exposed https servers)
- disabled postfix by default to avoid mail loops and port conflicts when not correctly configured
- updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)- from
POSTFIX_ENABLED=true
to#POSTFIX_ENABLED=true
- from
- faster container startup time
- chronyd (NTP) service support
- updated
default.env
with the following variables: (NOTE: don't forget to update your custom.env
file)NTP_SERVERS
NTP_ALLOW_FROM
APP_PORT_NTP
NTP_ENABLED
- updated
docker-compose.yml
with the following lines: (NOTE: don't forget to update your customdocker-compose.yml
file)${APP_PORT_NTP}:${APP_PORT_NTP}/udp
- fixed timezone problem causing TimeConditions not working (Asterisk doesn't honour the
TZ
var)
- ATTENTION: changed default variabile value:
TZ=UTC
(change or add into .env file, your right TimeZone location to avoid breaking asterisk's CDR and Time Conditions. ex.TZ=Europe/Rome
) - ATTENTION: removed from docker-compose.yml the mounting of volume
/etc/localtime:/etc/localtime:ro
, soTZ
variabile is used instead
- Fixed APP_PORT_HTTP wrong sostitution
- Updated Asterisk to 18.6.0 LTS
- Fixed
APP_PORT_AMI
variable
- Switched base OS image from CentOS 8 to RockyLinux 8
- Updated Asterisk to 18.5.1 LTS
- Updated MariaDB to 10.5.12
- FOP2 upgrade scripts workaround
- ATTENTION: Added new variable into
default.env
(remember to update your.env
copy):TZ=empty
(not set by default)
- Updated Asterisk to 18.5.0 LTS
- Updated Zabbix Agent to 5.4
- Updated FOP2 to 2.31.30
- Updated sngrep to 1.4.9
- Updated to Asterisk 18.4.0 LTS
- Updated to MariaDB 10.5.10
- Enached behavior of izpbx supervisor event handler
- Fixed container restart on daily logrotate
- Added Multi-Tenant support by configuring custom docker-compose.yml file (this is the first release supporting that feature, other refinements will follow)
- Create custom mysql user if not exist (useful for multi-tenant installations)
- Support for Remote Yealink XML PhoneBook, default URL (look README.md for configuring info):
- http://izpbxip/pb (PhoneBook Menu)
- http://izpbxip/pb/yealink/ext (Extensions PhoneBook)
- http://izpbxip/pb/yealink/cm (Contact Manager Shared PhoneBook)
- ATTENTION: Added new variable into
default.env
(remember to update your.env
copy):PHONEBOOK_ENABLED="true"
PHONEBOOK_ADDRESS=
- Added
php-ldap
package
- Fixed missing LDAP support for UserManager
- Fixed
SMTP_ALLOWED_SENDER_DOMAINS
default var
- Fixed codec_opus not enabled
- Based on Asterisk 18.3.0 LTS
- ATTENTION: (Breaking Change) removed/deprecated a variables into
default.env
(remember to update your.env
copy):ROOT_MAILTO
- ATTENTION: Added new variable into
default.env
(remember to update your.env
copy):SMTP_MAIL_TO
- Added
iptables
package - Added
conntrack-tools
package (you can useconntrack -L
to list active connections andconntrack -F
to purge)
- Fail2ban stopped working because was missing
iptables
package (thanks to @fa-at-pulsit)
- defaulted
ROOT_MAILTO
toSMTP_MAIL_TO
var content (anyway you can continue to use ROOT_MAILTO var in your old .env for legacy purpose) - by default fail2ban now use
$SMTP_MAIL_FROM
as sender and$SMTP_MAIL_TO
as recipient address
- Removed shipped libresample archive used for building, and using now the official centos repository package
- Fixed /etc/aliases management
- Enhanced first deployment
- Allow custom 'asterisk' and 'asteriskcdrdb' DB name during initial deploy
- Added new variables into
default.env
(update your.env
copy):MYSQL_DATABASE_CDR
- Added opusfile-devel as build deps
- Restored missing codec_opus support
- Fixed missing asterisk documentation (/data/var/lib/asterisk/documentation/thirdparty/) that prevent loading extra codecs (like codec_opus)
- Enhanced let's encrypt management and enabling automatic daily renew check via cronjob (/etc/cron.daily/freepbx-le-renew)
- Apache config rework
- Minor entrypoint improvements
- Added new variables into
default.env
(update your.env
copy):LETSENCRYPT_COUNTRY_CODE
LETSENCRYPT_COUNTRY_STATE
- Enhanced let's encrypt certificate generation using fwconsole tool (thanks to @alenas)
- New version of asterisk.sh zabbix agent script with better active calls detection (now will be ignored the calls in Ringing state)
- Container shell enhancements
- Added new variables into
default.env
(update your.env
copy):ZABBIX_HOSTNAME
ZABBIX_HOSTMETADATA
- Updated mariadb from 10.5.8 to 10.5.9
- upgrade tables with:
source .env ; docker exec -it izpbx-db mysql_upgrade -u root -p$MYSQL_ROOT_PASSWORD
- upgrade tables with:
- Misc optimizations on first installation
- Zabbix agent script update with new features
- Based on Asterisk 18.2.2 LTS
- Added support for postfix TLS and relayhost port (close #9)
- Added new variables into
default.env
(update your.env
copy):SMTP_STARTTLS=true
- Disabled ports in docker-compose.yml if 'network_mode: host' is used
- Changed default from APP_PORT_RTP_END=10200 to APP_PORT_RTP_END=20000
- Based on Asterisk 18.2.0 LTS
- First 18.15.x official release
- Switched default PBX engine from Asterisk 16 LTS to Asterisk 18 LTS
- New Versioning template:
- izPBX 18.15.x = Latest release with Asterisk 18 LTS + FreePBX 15
- izPBX 0.9.x = Latest release with Asterisk 16 LTS + FreePBX 15 (not more supported)
- Chown freepbx and asterisk files every time on startup to avoid permission denied errors
- Asterisk 16.16.0
- Asterisk 18.2.0
- Fixed SMTP SASL authentication problem
- Asterisk 16.15.0
- FOP2 2.31.29
- sngrep 1.4.8
- Asterisk 18.1.0 build in dev branch
- Added perl-DBI, perl-DBD-mysql used by fop2 recording_fop2.pl
- Asterisk 16.14.0
- enabled compile flag
--enable app_mysql
used by MySQL cidlookup - implemented the $APP_DATA/.initialized file to detect an already installed system
- docker logs small refactoring
- fix FOP2 registering when missing default eth0 interface
- fix missing
/var/run/asterisk
needed by last FreePBX update
- updated
default.env
withAPP_PORT_AMI=8088
- defined release immutable image tag into docker-compose.yml
- upgrade mariadb from 10.4 to 1.5.5. remember to upgrade database schema with:
- $ docker exec -it izpbx-db bash
- $ mysql_upgrade -u root -p
- added phpMyAdmin support
- updated
default.env
with- NB. don't forget to accordingly update your
.env
file with the following lines: PMA_ALIAS=/admin/pma
PMA_ALLOW_FROM=127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
- NB. don't forget to accordingly update your
- new configuration variable:
SMTP_MAIL_FROM
for setting the From address of outgoing emails
- Asterisk 16.13.0
- FOP2 2.31.28
- added glibc-langpack-en to fix missing locale messages
- DNSMASQ (DHCP+TFTP) service support
- updated
default.env
with- NB. don't forget to accordingly update your
.env
file with the following lines: APP_PORT_DHCP=67
#DHCP_ENABLED=true
#DHCP_POOL_START=10.1.1.10
#DHCP_POOL_END=10.1.1.250
#DHCP_POOL_LEASE=72h
#DHCP_DOMAIN=izpbx.local
#DHCP_DNS=10.1.1.1
#DHCP_GW=10.1.1.1
#DHCP_NTP=10.1.1.1
- NB. don't forget to accordingly update your
- updated
docker-compose.yml
with- NB. don't forget to accordingly update your
docker-compose.yml
file with the following lines: ${APP_PORT_DHCP}:${APP_PORT_DHCP}/udp
- NB. don't forget to accordingly update your
- renamed
TFTPD_ENABLED
intoTFTP_ENABLED
- tftp-server by kernel.org replaced with dnsmasq service
- TFTPD Server support
- updated
default.env
withAPP_PORT_TFTP
(don't forget to accordingly update your.env
file) - updated
docker-compose.yml
withAPP_PORT_TFTP
- fix asterisk logs rotating
- FOP2 automatic upgrade suppport
- Asterisk 16.11.1
- FOP2 license code management
- updated
default.env
: addedFOP2_LICENSE_NAME
,FOP2_LICENSE_CODE
(don't forget to accordingly update your.env
file)
- Asterisk 16.10.0
- Persistent root home dir support (to keep bash and asterisk console history)
- Eye candy customizations for doker shell
- fix typo
- First Public Release