Upgrading/Downgrading Asterisk

From MiRTA PBX documentation
Jump to navigation Jump to search

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 comment out the idlecheck parameter and 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.