Upgrading/Downgrading Asterisk
Upgrading or downgrading Asterisk should be done only if really needed. Asterisk relies on a series of libraries and different Asterisk versions may need different library versions.
A sample script to upgrade Asterisk is provided as protected/installAsterisk.sh
Asterisk version up to 13.4.0 (included) are known to work pretty well, but newer versions solve lots of bugs.
From Asterisk 13.5.0 to 13.9.0 there is a nasty ODBC lock bug and a nasty SIP lock bug, so these versions cannot be used.
From Asterisk 13.10.0, the nasty ODBC lock bug is solved, but the SIP lock bug was still in place. It is needed to upgrade unixODBC to at least version 2.3.4-1. A link to upgrade it is provided in the script. If installing a previous asterisk version, upgrading unixODBC can lead to unexpected instabilities.
If you upgrade to unixODBC 2.3.4-1, then you need to add the max_connections parameters to /etc/asterisk/res_odbc.conf. A good value can be 100.
[asteriskcdrdb1] enabled => yes dsn => asteriskcdrdb1 pre-connect => yes sanitysql => select 1 idlecheck => 28000 max_connections => 100 [asteriskcdrdb2] enabled => yes dsn => asteriskcdrdb2 pre-connect => yes sanitysql => select 1 idlecheck => 28000 max_connections => 100 [asterisk1] enabled => yes dsn => asterisk1 pre-connect => yes sanitysql => select 1 idlecheck => 28000 max_connections => 100 [asterisk2] enabled => yes dsn => asterisk2 pre-connect => yes sanitysql => select 1 idlecheck => 28000 max_connections => 100
From Asterisk 13.12.0 the nasty SIP lock bug seems gone, but there is a nasty MWI subscribe bug. It is important to get around this bug by enabling "Extern notify" for all extensions. You can do easily from Admin/new Item Defaults, by setting and enforcing "Send MWI only if subscribed" to "no" for all extensions. Set the field as hidden and unavailable to avoid any change.