- Joined
- Nov 4, 2007
- Messages
- 2,400
- Reaction score
- 1
Please read the FAQ before you perform any upgrade on your Elastix System
Can I upgrade the version of Freepbx say from 2.8 to 2.9 or even 2.10?
----------------------------------------------------------------------
Whilst in theory it is possible, as the majority of Freepbx is implemented in a similar manner to the way Freepbx installs itself, there are some areas of integration, which may involve permissions, symlinks, minor improvements etc that require some detailed work. As for the reliability of such an upgrade, it cannot be guaranteed. When it comes to the next Elastix upgrade, you cannot assume that the upgrade will work successfully, as the upgrade scripts are based on the last Elastix stable release. It is recommended that you remain on the same release of FreePBX that is part of the last stable ISO.
Can I upgrade the individual modules in Freepbx?
------------------------------------------------
Sure, these are within the Freepbx framework. For instance, say you are on Freepbx 2.8.1.4 and there are updates to the Core and say the Queues Module, you can generally upgrade these safely. However if you see that there is a 2.9 upgrade tool, don't use this. Wait for Elastix to release Freepbx 2.9.
I have a software application that I want to run on Elastix but it requires php 5.2 or greater...can I upgrade PHP on my Elastix system.?
---------------------------------------------------------------------------------------------------------------------------------------
No. There is a good chance you will impact your Elastix system. Especially with PHP, when the developers of PHP moved off 5.1.6, which was basically a long term release, they made some changes that were of reasonable significance, and not backward compatible. Applications that were written in 5.1.6, required some extensive rewrites to make work on 5.2+. In fact the amount of code required to have an application support 5.1.6 and also 5.2 (using particular functions), required double the programming effort for each of those functions. This is why you may currently see PHP applications that clearly define their requirements as 5.2+.
It is not a simple case of waiting for Elastix to make the changes to support 5.2+, but also all the other applications that form part of Elastix, such as Openfire, Freepbx, Hylafax, etc etc. They are all slowly making the change. Please note that this is not just an issue that afflicts Elastix, but many other popular Open Source products as well, but Elastix has a bigger impact as it has a reasonable number of additional components which are not developed by Elastix.
I see everyone talking about a "yum update", can I perform this at anytime to bring my system up to date?
-----------------------------------------------------------------------------------------------------
As a general rule yes (providing you do not have the beta repository enabled!! - see next question). However as the generic "yum update" updates almost any component on a system, there could be impacts, especially if you have installed other non-standard components on the system. Likewise, it might update a part of Linux, like say the hard disk controller drivers (which may have a bug that afflicts just your particular model). No one can guess this, and likewise no one can help you debug this unless someone has exactly the same system.
Sometimes, it may be required, to perform a yum update of a single component, and while it works on most systems, it is also may cause a failure. Like I repeat over and over again, perform all the backups. However, if the issue is at the Linux level, the only real backup that will be of use is an image backup. If you haven't already, look at this guide
http://www.elastixconnection.com.au/ind ... Itemid=113
I enabled the beta repository and performed a yum update as I needed a feature in the beta version is this safe??
---------------------------------------------------------------------------------------------------------------
Quick and simple answer - NO. The beta repository is just that. Updates that are being readied for the next release. In many cases, these updates may still have bugs. Furthermore you are putting your system into a state, that again, the next major upgrade may not consider.
If you want to live on the knives edge and proceed with an upgrade using the beta repository, perform a full image backup. Even if the beta corrects your issue, when you perform the next upgrade, the upgrade may fail. At least your will have a backup at the point the system was before you put on the beta which you can restore and perform a normal upgrade.
I want to perform a yum update of a particular component, will it update just that component?
---------------------------------------------------------------------------------------------
Part of the power of YUM is that it takes a lot of complexity of upgrading away from the user, especially if there are dependencies. YUM looks at what that component needs (e.g. a file that is not installed on Elastix by default or needs a later version) and takes care of that for the user. However, this can also be an issue as it may upgrade other components that may impact on other areas of the system.
One of the common mistakes that is made, is performing a yum -y update or yum -y update {component}. This -y command says just perform the update and don't bother me with questions. When you want to perform a yum update, do not use the -y switch. When you leave the -y out of the command line, it will provide you with a list of of dependencies, and give you an opportunity to say no to completing an upgrade.
So if you perform a yum update {component} and you see a list of dependencies longer than your arm, or you can see that it might upgrade Asterisk or Freepbx or another major component, you can stop it, and then post on the forums and ask others about the upgrade and whether the following components will have any impact.
I need to perform an upgrade, what can I do, especially after reading this, I am worried?
-----------------------------------------------------------------------------------------
The above is a guide only, written for those that do not understand how everything hangs together. I have been working with the Elastix product for the last 5 years, and even I do not have a full handle on everything (no where near it) , but having built, repaired, upgraded so many of these systems, I have an inbuilt sense of what will occur, but it is not always right....
I rely on an image backup, just 20 mins worth of work before I do any upgrade that I do not have complete confidence in the outcome. Alternatively and this is something that you can do and as any IT person worth his/her salt would do, is perform the upgrade on a test system, however even if I add this step, I still perform an image backup.
This does not just apply to Elastix, but any Linux system, and any Windows system. I have done many early years (been doing IT for 30 years now) spending hours on site because something goes wrong and trying to resurrect a system. In today's age with the image backup capabilities now available, both free and commercial, there is no excuse. It's such a great confidence when you think that something has gone wrong with an upgrade, at that point, knowing your can roll back with confidence, and even know the rough time that you will be going home, instead of wiping the brow at 3.00am in the morning, wondering if it is going to be back online by 8.00am in the morning as the first person walks in.
Also don't under-estimate the value of knowing that you have a backup. It removes a great deal of stress, and you don't realise the impact that stress may have on your clear thinking which you need when performing upgrades.
I need to perform a remote update as the client is in the next State or Country..how?
-------------------------------------------------------------------------------------
Still perform an image backup. Get the client to pickup a external hard drive and send him a copy of say Clonezilla and a step by step guide to performing a backup. I have done this on a couple of occasions (for new clients with existing Elastix system) and they either got a local IT guy to follow instructions or as most with any basic sense, they can do it themselves.
However, if you do install remote systems (or even local), think about what you are selling the client. Select a basic server that has some sort of ILO or DRAC or RSA remote console technology. As a guide for a low end system, HP ML150 G6 with ILO advanced costs around $US800 and add a External Hard drive. On that Ext Hard drive you have the ISO image that you originally used to install the system, you have a copy of the Clonezilla ISO. With the remote console capability, you have the capability to reboot and mount the Clonezilla ISO, perform an image backup onto the External Hard Drive, and reboot back to Elastix to perform the upgrade. If the upgrade fails, mount Clonezilla, restore your backup, and as an absolute back stop, you can re-install Elastix from scratch, and reload the last Elastix backup. Now how good is that $300 saving you made on supplying a whitebox to that remote client, not worth it at all...
I want to upgrade my system from 1.x to 2.2, can I do this with a yum update?
-----------------------------------------------------------------------------
No! There is such a structural change from 1.x to 2.2 (2.x) on all levels, that it is not possible to upgrade. Some say that they have done it, but to be honest with you, the reliability of such an upgrade, the possible complications, I would not allow on a production system.
There is a guide on what you need to consider in performing a manual upgrade (which is building a fresh new system and manually re-entering your configuration), and how to make it easier on yourself with some time saving ideas. The guide for a manual upgrade is here
http://www.elastixconnection.com.au/ind ... Itemid=119
I have done about 10+ upgrades using this manual method and spent about 3-4 hours doing so. Hopefully these sort of upgrades will not need to be done again like this.
So to reaffirm, unless you are an absolute Elastix / Asterisk / Linux guru, it is not worth your while trying to upgrade using yum or re-installing components to migrate a 1.x box to 2.x.
I want to upgrade my system from 2.0.x to 2.2, can I perform this with a yum update?
------------------------------------------------------------------------------------
Yes, but read the forums before you do. There is a major change from 2.0.x to 2.2 and that is the upgrade of Asterisk 1.6.2.x to Asterisk 1.8.12. Why is this important?? A lot of work was done for Asterisk 1.8 on the SIP level and also includes NAT (you can read the Asterisk Change Logs on Digium's site), likewise a reasonable amount of work went into Dahdi 2.4 to improve timing, especially on systems that do not use hardware telephony cards. As a consequence there are a reasonable number of changes to defaults.
On 90% of upgrades, absolutely no issues occur, but the main issues have been with SIP phones with older firmware (partly to do with SIP updates). As a quick example, I believe that the SNOM phones of a particular model, had some SRTP defaults set, which on Asterisk 1.6 did not cause an issue as the Asterisk defaults on Asterisk 1.6 did not allow this mode to work on this particular model of SNOM phone. But with the update to Asterisk 1.8, all of a sudden this feature commenced working, but due to bugs on the SNOM side, there was no RTP (audio). Not a huge issue, in some cases a firmware update was needed for the phone, and in other cases, just a particular feature on the phone needed to be disabled.
Likewise you may find a similar issue relating to authentication, that worked loosely on an Asterisk 1.6 system, now is required to be correctly set on the Asterisk 1.8 System. In most cases, you may find that phone firmware updates is all that is required. But how do you know....??
Again we come back to a test system, if necessary borrow a couple of phones overnight and test. This does not cover the telephony card, but if you are using a standard card, it should pose no issues. If you have an unusual card, check on the forums whether someone else has completed the upgrade with that particular model of card. This is important as again to stress this is Asterisk 1.8 with Dahdi 2.4, some of the drivers written by lesser known manufacturers may require updates. That is another place to check and see whether they have any information or on their forums, whether others are running Asterisk 1.8 with Dahdi 2.4. Still not sure, go ahead and upgrade the production system, but do an image backup so that you can rollback.
I have seen that a few have tried this update from 2.0.x to 2.3 and had some small or major problems with the Elastix/Freepbx system?
---------------------------------------------------------------------------------------------------------------------------------
There is a major issue again due to the Asterisk 1.6 to 1.8 upgrade. Before you commence the upgrade, in the /usr/lib/asterisk/modules/ (32bit) or /usr/lib64/asterisk/modules/ (64bit) which is where the Asterisk modules live, you need to remove the g729 codec and if you have the trunks or phones set to g729, you need, in the interim, to change to say the GSM or ULAW/ALAW codec. Whether you have the Digium or the "free" version, the same applies. As the product is an add-on and not part of the standard Asterisk library, it is not upgraded (you have to do this manually).
If you do not remove it, What this means is that when the Asterisk portion of the upgrade is complete and it restarts, Asterisk will die with an error, until this module is removed. However as this is a script, it will move on and commence upgrading of Freepbx, and other components that require Asterisk to be running. The result is a failed Freepbx upgrade and subsequently a Elastix GUI that fails to show up. It is possible to recover from this, but it requires some knowledge of recovery. Once your upgrade is complete, you need to install the G729 codec suitable for Asterisk 1.8, and then put your trunks back to G729 (if you use this).
There is one other small issue at the time of writing (and still the case in May 2012) and this is in the bug reports as well ( http://bugs.elastix.org/view.php?id=1193 ). After your upgrade is completed, you may be missing some Elastix menus, including the security menu, Openfire errors with a wrapper error, and some other minor pages. If this has happened to you, perform the following command
yum install elastix
which will return the missing items.
I performed another 64Bit 2.0.x and 32bit 2.0.x on the 24th May 2012, using the above instructions, and the upgrades were successful.
Just a couple of notes from these 2.0.x to 2.3 upgrades. You need to go into the security menu, and enable access to Freepbx, including providing a new password. Access Freepbx and go to the Tools/Asterisk SIP Settings and make sure all your options for codecs is enabled. You may come up with a RED box error, saying that the /etc/asterisk/sip_general_custom.conf has entries that need to be removed. You need to empty this file, and any entries (which is usually one), added to the Tools/Asterisk SIP Settings GUI Page as entries), so that the GUI page no longer brings the error up.
At the time of writing, the Elastix 2.3 is in the stable repository, which means the beta repository is no longer required to be enabled (you may have read some posts).
IMPORTANT NOTE FOR USERS WITH COMPLETELY BLANK WEB PAGES AFTER UPGRADE (added 26th May 2012)
-----------------------------------------------------------------------
A few days later I upgraded a 2.3 system (performed with the Beta repository on a fresh Elastix 2.2 system few months back). After the upgrade I got the login page, but after that both the Elastix GUI and the Freepbx GUI came up with completely blank pages (e.g. this is not the same as users who have a couple of non-working pages).
I spent a few hours looking at the system (knowing others have seen this issue as well).
You can confirm you have a similar issue by looking at the /var/log/httpd/ssl_error_log
The critical part is the Failed opening required 'DB.php'
To give credit where its due and to save me some typing, this post by JCVH explains it in good detail and matches my findings (which is how I found the post)
The only error in the post by JCVH is a typo with the command to correct the issue being
pear install db
As soon as this is completed, restart your browser and you should see all your Web interface back again.
This is an issue with the php-pear update, not an Elastix issue per-se, however when you see your blank screen, especially on a production system, you just want it fixed.
Just a final note
------------------
Open Source software can perform some fantastic functions. In fact there are some Open Source Projects that beat their commercial counterparts by a reasonable margin. However, just because it is "free" does not diminish the necessity to follow basic IT/ICT rules and precautions, especially where commercial use is concerned. The fact that it is "free" and you don't have a commercial support plan or manufacturers responsibility to the product, is even more important that you manage all aspects, which includes the support, redundancy options, roll back options. The responsibility is yours and yours alone. If you want to cut corners and not take the time to implement the necessary precautions, it is your choice and your responsibility.
Palosanto has done a great job with this Open Source Product, and continues to stride forward with new features and functionality. However, with this move forward, they have provided the ability to upgrade where possible, but they cannot cover every eventuality and possibility, the numbers are too vast, especially with a project as complex as this, with three major components, and many minor components, and mix that in with users adding their own components, as well as "special fixes" to make it do something that was not originally thought of. Personally I believe the Elastix distribution has benefited greatly from having a company like Palosanto behind it, and I say this from many years of experiencing involvement in and outside open source projects.
Can I ask that if you want to add something to this Sticky such as additional items to be aware of in upgrading or feedback then add them to this thread, if you want to discuss an item mentioned such as CloneZilla or Remote console or other areas not directly related to correcting or adding to this FAQ, could you please start a new thread.
Regards
Bob
Can I upgrade the version of Freepbx say from 2.8 to 2.9 or even 2.10?
----------------------------------------------------------------------
Whilst in theory it is possible, as the majority of Freepbx is implemented in a similar manner to the way Freepbx installs itself, there are some areas of integration, which may involve permissions, symlinks, minor improvements etc that require some detailed work. As for the reliability of such an upgrade, it cannot be guaranteed. When it comes to the next Elastix upgrade, you cannot assume that the upgrade will work successfully, as the upgrade scripts are based on the last Elastix stable release. It is recommended that you remain on the same release of FreePBX that is part of the last stable ISO.
Can I upgrade the individual modules in Freepbx?
------------------------------------------------
Sure, these are within the Freepbx framework. For instance, say you are on Freepbx 2.8.1.4 and there are updates to the Core and say the Queues Module, you can generally upgrade these safely. However if you see that there is a 2.9 upgrade tool, don't use this. Wait for Elastix to release Freepbx 2.9.
I have a software application that I want to run on Elastix but it requires php 5.2 or greater...can I upgrade PHP on my Elastix system.?
---------------------------------------------------------------------------------------------------------------------------------------
No. There is a good chance you will impact your Elastix system. Especially with PHP, when the developers of PHP moved off 5.1.6, which was basically a long term release, they made some changes that were of reasonable significance, and not backward compatible. Applications that were written in 5.1.6, required some extensive rewrites to make work on 5.2+. In fact the amount of code required to have an application support 5.1.6 and also 5.2 (using particular functions), required double the programming effort for each of those functions. This is why you may currently see PHP applications that clearly define their requirements as 5.2+.
It is not a simple case of waiting for Elastix to make the changes to support 5.2+, but also all the other applications that form part of Elastix, such as Openfire, Freepbx, Hylafax, etc etc. They are all slowly making the change. Please note that this is not just an issue that afflicts Elastix, but many other popular Open Source products as well, but Elastix has a bigger impact as it has a reasonable number of additional components which are not developed by Elastix.
I see everyone talking about a "yum update", can I perform this at anytime to bring my system up to date?
-----------------------------------------------------------------------------------------------------
As a general rule yes (providing you do not have the beta repository enabled!! - see next question). However as the generic "yum update" updates almost any component on a system, there could be impacts, especially if you have installed other non-standard components on the system. Likewise, it might update a part of Linux, like say the hard disk controller drivers (which may have a bug that afflicts just your particular model). No one can guess this, and likewise no one can help you debug this unless someone has exactly the same system.
Sometimes, it may be required, to perform a yum update of a single component, and while it works on most systems, it is also may cause a failure. Like I repeat over and over again, perform all the backups. However, if the issue is at the Linux level, the only real backup that will be of use is an image backup. If you haven't already, look at this guide
http://www.elastixconnection.com.au/ind ... Itemid=113
I enabled the beta repository and performed a yum update as I needed a feature in the beta version is this safe??
---------------------------------------------------------------------------------------------------------------
Quick and simple answer - NO. The beta repository is just that. Updates that are being readied for the next release. In many cases, these updates may still have bugs. Furthermore you are putting your system into a state, that again, the next major upgrade may not consider.
If you want to live on the knives edge and proceed with an upgrade using the beta repository, perform a full image backup. Even if the beta corrects your issue, when you perform the next upgrade, the upgrade may fail. At least your will have a backup at the point the system was before you put on the beta which you can restore and perform a normal upgrade.
I want to perform a yum update of a particular component, will it update just that component?
---------------------------------------------------------------------------------------------
Part of the power of YUM is that it takes a lot of complexity of upgrading away from the user, especially if there are dependencies. YUM looks at what that component needs (e.g. a file that is not installed on Elastix by default or needs a later version) and takes care of that for the user. However, this can also be an issue as it may upgrade other components that may impact on other areas of the system.
One of the common mistakes that is made, is performing a yum -y update or yum -y update {component}. This -y command says just perform the update and don't bother me with questions. When you want to perform a yum update, do not use the -y switch. When you leave the -y out of the command line, it will provide you with a list of of dependencies, and give you an opportunity to say no to completing an upgrade.
So if you perform a yum update {component} and you see a list of dependencies longer than your arm, or you can see that it might upgrade Asterisk or Freepbx or another major component, you can stop it, and then post on the forums and ask others about the upgrade and whether the following components will have any impact.
I need to perform an upgrade, what can I do, especially after reading this, I am worried?
-----------------------------------------------------------------------------------------
The above is a guide only, written for those that do not understand how everything hangs together. I have been working with the Elastix product for the last 5 years, and even I do not have a full handle on everything (no where near it) , but having built, repaired, upgraded so many of these systems, I have an inbuilt sense of what will occur, but it is not always right....
I rely on an image backup, just 20 mins worth of work before I do any upgrade that I do not have complete confidence in the outcome. Alternatively and this is something that you can do and as any IT person worth his/her salt would do, is perform the upgrade on a test system, however even if I add this step, I still perform an image backup.
This does not just apply to Elastix, but any Linux system, and any Windows system. I have done many early years (been doing IT for 30 years now) spending hours on site because something goes wrong and trying to resurrect a system. In today's age with the image backup capabilities now available, both free and commercial, there is no excuse. It's such a great confidence when you think that something has gone wrong with an upgrade, at that point, knowing your can roll back with confidence, and even know the rough time that you will be going home, instead of wiping the brow at 3.00am in the morning, wondering if it is going to be back online by 8.00am in the morning as the first person walks in.
Also don't under-estimate the value of knowing that you have a backup. It removes a great deal of stress, and you don't realise the impact that stress may have on your clear thinking which you need when performing upgrades.
I need to perform a remote update as the client is in the next State or Country..how?
-------------------------------------------------------------------------------------
Still perform an image backup. Get the client to pickup a external hard drive and send him a copy of say Clonezilla and a step by step guide to performing a backup. I have done this on a couple of occasions (for new clients with existing Elastix system) and they either got a local IT guy to follow instructions or as most with any basic sense, they can do it themselves.
However, if you do install remote systems (or even local), think about what you are selling the client. Select a basic server that has some sort of ILO or DRAC or RSA remote console technology. As a guide for a low end system, HP ML150 G6 with ILO advanced costs around $US800 and add a External Hard drive. On that Ext Hard drive you have the ISO image that you originally used to install the system, you have a copy of the Clonezilla ISO. With the remote console capability, you have the capability to reboot and mount the Clonezilla ISO, perform an image backup onto the External Hard Drive, and reboot back to Elastix to perform the upgrade. If the upgrade fails, mount Clonezilla, restore your backup, and as an absolute back stop, you can re-install Elastix from scratch, and reload the last Elastix backup. Now how good is that $300 saving you made on supplying a whitebox to that remote client, not worth it at all...
I want to upgrade my system from 1.x to 2.2, can I do this with a yum update?
-----------------------------------------------------------------------------
No! There is such a structural change from 1.x to 2.2 (2.x) on all levels, that it is not possible to upgrade. Some say that they have done it, but to be honest with you, the reliability of such an upgrade, the possible complications, I would not allow on a production system.
There is a guide on what you need to consider in performing a manual upgrade (which is building a fresh new system and manually re-entering your configuration), and how to make it easier on yourself with some time saving ideas. The guide for a manual upgrade is here
http://www.elastixconnection.com.au/ind ... Itemid=119
I have done about 10+ upgrades using this manual method and spent about 3-4 hours doing so. Hopefully these sort of upgrades will not need to be done again like this.
So to reaffirm, unless you are an absolute Elastix / Asterisk / Linux guru, it is not worth your while trying to upgrade using yum or re-installing components to migrate a 1.x box to 2.x.
I want to upgrade my system from 2.0.x to 2.2, can I perform this with a yum update?
------------------------------------------------------------------------------------
Yes, but read the forums before you do. There is a major change from 2.0.x to 2.2 and that is the upgrade of Asterisk 1.6.2.x to Asterisk 1.8.12. Why is this important?? A lot of work was done for Asterisk 1.8 on the SIP level and also includes NAT (you can read the Asterisk Change Logs on Digium's site), likewise a reasonable amount of work went into Dahdi 2.4 to improve timing, especially on systems that do not use hardware telephony cards. As a consequence there are a reasonable number of changes to defaults.
On 90% of upgrades, absolutely no issues occur, but the main issues have been with SIP phones with older firmware (partly to do with SIP updates). As a quick example, I believe that the SNOM phones of a particular model, had some SRTP defaults set, which on Asterisk 1.6 did not cause an issue as the Asterisk defaults on Asterisk 1.6 did not allow this mode to work on this particular model of SNOM phone. But with the update to Asterisk 1.8, all of a sudden this feature commenced working, but due to bugs on the SNOM side, there was no RTP (audio). Not a huge issue, in some cases a firmware update was needed for the phone, and in other cases, just a particular feature on the phone needed to be disabled.
Likewise you may find a similar issue relating to authentication, that worked loosely on an Asterisk 1.6 system, now is required to be correctly set on the Asterisk 1.8 System. In most cases, you may find that phone firmware updates is all that is required. But how do you know....??
Again we come back to a test system, if necessary borrow a couple of phones overnight and test. This does not cover the telephony card, but if you are using a standard card, it should pose no issues. If you have an unusual card, check on the forums whether someone else has completed the upgrade with that particular model of card. This is important as again to stress this is Asterisk 1.8 with Dahdi 2.4, some of the drivers written by lesser known manufacturers may require updates. That is another place to check and see whether they have any information or on their forums, whether others are running Asterisk 1.8 with Dahdi 2.4. Still not sure, go ahead and upgrade the production system, but do an image backup so that you can rollback.
I have seen that a few have tried this update from 2.0.x to 2.3 and had some small or major problems with the Elastix/Freepbx system?
---------------------------------------------------------------------------------------------------------------------------------
There is a major issue again due to the Asterisk 1.6 to 1.8 upgrade. Before you commence the upgrade, in the /usr/lib/asterisk/modules/ (32bit) or /usr/lib64/asterisk/modules/ (64bit) which is where the Asterisk modules live, you need to remove the g729 codec and if you have the trunks or phones set to g729, you need, in the interim, to change to say the GSM or ULAW/ALAW codec. Whether you have the Digium or the "free" version, the same applies. As the product is an add-on and not part of the standard Asterisk library, it is not upgraded (you have to do this manually).
If you do not remove it, What this means is that when the Asterisk portion of the upgrade is complete and it restarts, Asterisk will die with an error, until this module is removed. However as this is a script, it will move on and commence upgrading of Freepbx, and other components that require Asterisk to be running. The result is a failed Freepbx upgrade and subsequently a Elastix GUI that fails to show up. It is possible to recover from this, but it requires some knowledge of recovery. Once your upgrade is complete, you need to install the G729 codec suitable for Asterisk 1.8, and then put your trunks back to G729 (if you use this).
There is one other small issue at the time of writing (and still the case in May 2012) and this is in the bug reports as well ( http://bugs.elastix.org/view.php?id=1193 ). After your upgrade is completed, you may be missing some Elastix menus, including the security menu, Openfire errors with a wrapper error, and some other minor pages. If this has happened to you, perform the following command
yum install elastix
which will return the missing items.
I performed another 64Bit 2.0.x and 32bit 2.0.x on the 24th May 2012, using the above instructions, and the upgrades were successful.
Just a couple of notes from these 2.0.x to 2.3 upgrades. You need to go into the security menu, and enable access to Freepbx, including providing a new password. Access Freepbx and go to the Tools/Asterisk SIP Settings and make sure all your options for codecs is enabled. You may come up with a RED box error, saying that the /etc/asterisk/sip_general_custom.conf has entries that need to be removed. You need to empty this file, and any entries (which is usually one), added to the Tools/Asterisk SIP Settings GUI Page as entries), so that the GUI page no longer brings the error up.
At the time of writing, the Elastix 2.3 is in the stable repository, which means the beta repository is no longer required to be enabled (you may have read some posts).
IMPORTANT NOTE FOR USERS WITH COMPLETELY BLANK WEB PAGES AFTER UPGRADE (added 26th May 2012)
-----------------------------------------------------------------------
A few days later I upgraded a 2.3 system (performed with the Beta repository on a fresh Elastix 2.2 system few months back). After the upgrade I got the login page, but after that both the Elastix GUI and the Freepbx GUI came up with completely blank pages (e.g. this is not the same as users who have a couple of non-working pages).
I spent a few hours looking at the system (knowing others have seen this issue as well).
You can confirm you have a similar issue by looking at the /var/log/httpd/ssl_error_log
Code:
[Sat May 26 11:24:54 2012] [error] [client 172.22.22.150] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'DB.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/modules/pbxadmin/libs/contentFreePBX.php on line 150
The critical part is the Failed opening required 'DB.php'
To give credit where its due and to save me some typing, this post by JCVH explains it in good detail and matches my findings (which is how I found the post)
The only error in the post by JCVH is a typo with the command to correct the issue being
pear install db
As soon as this is completed, restart your browser and you should see all your Web interface back again.
This is an issue with the php-pear update, not an Elastix issue per-se, however when you see your blank screen, especially on a production system, you just want it fixed.
Just a final note
------------------
Open Source software can perform some fantastic functions. In fact there are some Open Source Projects that beat their commercial counterparts by a reasonable margin. However, just because it is "free" does not diminish the necessity to follow basic IT/ICT rules and precautions, especially where commercial use is concerned. The fact that it is "free" and you don't have a commercial support plan or manufacturers responsibility to the product, is even more important that you manage all aspects, which includes the support, redundancy options, roll back options. The responsibility is yours and yours alone. If you want to cut corners and not take the time to implement the necessary precautions, it is your choice and your responsibility.
Palosanto has done a great job with this Open Source Product, and continues to stride forward with new features and functionality. However, with this move forward, they have provided the ability to upgrade where possible, but they cannot cover every eventuality and possibility, the numbers are too vast, especially with a project as complex as this, with three major components, and many minor components, and mix that in with users adding their own components, as well as "special fixes" to make it do something that was not originally thought of. Personally I believe the Elastix distribution has benefited greatly from having a company like Palosanto behind it, and I say this from many years of experiencing involvement in and outside open source projects.
Can I ask that if you want to add something to this Sticky such as additional items to be aware of in upgrading or feedback then add them to this thread, if you want to discuss an item mentioned such as CloneZilla or Remote console or other areas not directly related to correcting or adding to this FAQ, could you please start a new thread.
Regards
Bob