When performing an upgrade is always a good idea to backup your production system. It is also good to perform the update on a test system first in order to mitigate risks in production.
There is a bug in 4.0.4 that breaks upgrading using the web user interface. Specifically, it disables use of the CentOS repositories during the upgrade, which causes some prerequisites to be unavailable, which makes the upgrade fail. The bug has been fixed in 4.2 (and a bunch of other improvements to the upgrade interface have been made too).
The best way to avoid the problem is to just do the upgrade from the shell command line (you must be logged in as 'root'):
Check your yum repository configuration to make sure that it points to the stable release area:
[sipxecs-stable] name=SIPfoundry sipXecs pbx - latest stable version baseurl=http://download.sipfoundry.org/pub/sipXecs/LatestStable/CentOS/$releasever/$basearch/RPM gpgcheck=0 enabled=1
- Run '
yum update -y
'. - If you have multiple systems in a cluster (all managed by one Management server), upgrade all the systems as above
- Reboot (management system first).
- Log in to the the management UI, go to
System -> Servers
, select the management server, and pressSend Profiles
. - Reboot each distributed server, and when it is up select it on the servers page and press
Send Profiles
.
Upgrading from 3.10.x
The local domain bind zone is "emptied", if you are using the system as a DNS server, you should copy or backup your zone file before the update. It doesn't effect other zone files on the system, just the one sipx is attached to.
The DHCP 120 test will fail if you are using the on board DHCP server. To correct this you need to add the following to the /etc/dhcpd.conf and restart dhcpd (service dhcpd restart). This is not required if you aren't using the Counterpath Enterprise Clients.
# header section of dhcpd.conf option sip-servers-name code 120 = text; # subnet section of dhcpd.conf option sip-servers-name "<hostname>:12000/cmcprov/login";
Upgrading from 4.0.4
If you originally installed your system from the sipfoundry ISO in 4.0.4 and are having issues updating, here's some help:
First you have to determine what your redhat-release is:
cat /etc/redhat-release
If it doesn't say CentOS but says (sipXecs 4.x), then here's what you need to do, AFTER YOU GET A PROPER BACKUP..
- Rename your repo file:
(If you do not have a CentOS-Base.repo or other repos in there, it's OK, this will probably fix a lot, just hold on).
ls \-l /etc/yum.repos.d sipxecs-stable-centos.repo
mv sipxecs-stable-centos.repo CentOS-Base.repo
- Edit the repo to make it JUST a CentOS repo again - remove these lines and save it:
[sipxecs-stable] name=SIPfoundry sipXecs pbx - latest stable version baseurl=[http://sipxecs.sipfoundry.org/pub/sipXecs/4.0.4/CentOS/5/i386/RPM/] gpgcheck=0 gpgkey=[https://secure2.pingtel.com/RPM-GPG-KEY-pingtel] enabled=1
- Get the correct repo for sipx:
cd /etc/yum.repos.d wget http://download.sipfoundry.org/pub/sipXecs/sipxecs-4.2.1-centos-i386.repo
Now you can go from 4.0.4 (ONLY from the command line) with "yum update". DO NOT use the web interface. After you have 4.2.0 working properly and another backup, you should jump right into 4.2.1, which is much easier.
Reminder
If you have voicemail messages from the old version, let's say <=4.0.X, you might hit the XX-9461
A quick fix for that is:
# fix all bad messages export TZONE=`date +%Z` find /var/sipxdata/mediaserver/data/ -name '*.xml' -exec sed -i "s|\([AP]M\)\s\+</timestamp>|\1 ${TZONE}</timestamp>|g" {} \;
Also, if you have customized versions of vxml files, you'll lose them starting on 4.2.0 as VXML are no longer used for Voicemail.
Upgrading from 4.2.0
- Remove the old repo file:
and get the newest sipfoundry one:
rm sipxecs-4.2.0-centos-i386.repo
wget http://download.sipfoundry.org/pub/sipXecs/sipxecs-4.2.1-centos.repo
- Issue a
to 4.2.1 (sipfoundry)
yum update