#!/bin/sh
#####################################################################################
# 						FreePBX 1.88.210.57-1 	Upgrade								#
#####################################################################################	
# Fixes	
# X-Upgrade to Centos 5.7
# X-Upgrade to latest Centos 5.7 Kernel
# X-Upgrade to FreePBX 2.10 Beta
# X-Upgrade to Asterisk 1.8.8
# X-Upgrade to php 5.3
#-----------------------------------------------------------------------------------
# TODO 																						
#-----------------------------------------------------------------------------------
#####################################################################################
# Copyright 2011 Schmooze Com, Inc.  This upgrade script and all concepts are property of
# Schmooze Com, Inc. and are not to be copied for other use.  This upgrade script is free
# to use for upgrading FreePBX Distro systems only but carries no guarnatee on performance
# and is used at your own risk.  This script carries NO WARRANTY.
# set some variables
#####################################################################################
asterisk=`/usr/sbin/asterisk -rx "core show version"`
kernel=`uname -a`
version=`cat /etc/asterisk/freepbxdistro-version`
host=`hostname`
upgradeversion=1.88.210.57-1
virtual=`uname -a | grep pve | wc -l`
#####################################################################################
# Check to make sure this is a FreePBX Distro system before executing
echo "Check to make sure this is a FreePBX Distro system before executing"
if [ -f /etc/asterisk/freepbxdistro-version ]; then
	echo "This appears to be a FreePBX Distro system as it has a FreePBX Distro Version of $version"
	echo "`date` This appears to be a FreePBX Distro system as it has a FreePBX Distro Version of $version" >> /var/log/pbx/upgrade/"$upgradeversion"
else
	echo "This does not appears to be a FreePBX Distro system as it has no FreePBX Distro Version file"
	exit
fi
#####################################################################################
#Echo in some settings into the log file for recording keeping.
echo "VARIABLES SET FOR UPGRADE" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	asterisk=$asterisk" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	kernel=$kernel" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	version=$version" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	host=$host" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	upgradeversion=$upgradeversion" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "	virtual=$virtual" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
###########################################################################
#Upgrade to new $upgradeversion Base
echo
echo "Your FreePBX Distro System is being upgraded to $upgradeversion. Please standby..."
echo "`date` Your FreePBX Distro System is being upgraded to $upgradeversion. Please standby..." >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
# Setup tmp file for backup of anythign we need to copy before upgrading.
mkdir /usr/tmp/$upgradeversion
################################################# STAGE 1 STARTING - GUI MODULES ####################################
echo
echo "STAGE 1 STARTING - GUI Modules"
echo "`date` STAGE 1 STARTING - GUI Modules" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
# set our permissions to avoid disaster, or at the very least breaking things
`which amportal` chown
###########################################################################
# Upgrade All FreePBX GUI Modules
echo
echo " Upgrade All FreePBX GUI Modules"
echo " `date` Upgrade All FreePBX GUI Modules" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
# Change Permission of amportal.conf
chown asterisk:asterisk /etc/amportal.conf
# Installing all new modules for 2.9 now.  Running it a few times to make sure we get all the modules.
sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
`which amportal` chown
# Restart apache so the language pack takes effect
/etc/init.d/httpd restart  > /dev/null 2>&1
###########################################################################
# set our permissions to avoid disaster, or at the very least breaking things
`which amportal` chown
###########################################################################
echo
echo "STAGE 1 COMPLETED - GUI Modules - Moving to Stage 2"
echo "`date` STAGE 1 COMPLETED - GUI Modules - Moving to Stage 2" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
################################################# STAGE 1 COMPLETED - GUI MODULES ####################################################################
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
################################################# STAGE 2 STARTING - RPM's ####################################################
echo
echo "STAGE 2 STARTING - RPM's"
echo "`date` STAGE 2 STARTING - RPM's" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
echo
echo " Replace repos with only FreePBX Distro since some people have added other repos which can break updates"
echo " `date` Replace repos with only FreePBX Distro since some people have added other repos which can break updates" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
rm -rf /etc/yum.repos.d/*
rm -rf /etc/yum.conf
###########################################################################
# Resetup yum.conf just to be safe
cat << EOF > /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

# Default.
# installonly_limit = 3
EOF
# Setup FreePBX Distro Repos Only
/bin/cat <<'EOTT' >/etc/yum.repos.d/FreePBX.repo
# FreePBX-Base.repo
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-5.7 - Base
mirrorlist=http://mirrorlist.freepbxdistro.org/?release=5.7&arch=$basearch&repo=os
#baseurl=http://yum.freepbxdistro.org/centos/5.7/os/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates 
[updates]
name=CentOS-5.7 - Updates
mirrorlist=http://mirrorlist.freepbxdistro.org/?release=5.7&arch=$basearch&repo=updates
#baseurl=http://yum.freepbxdistro.org/centos/5.7/updates/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-5.7 - Addons
mirrorlist=http://mirrorlist.freepbxdistro.org/?release=5.7&arch=$basearch&repo=addons
#baseurl=http://yum.freepbxdistro.org/centos/5.7/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5.7 - Extras
mirrorlist=http://mirrorlist.freepbxdistro.org/?release=5.7&arch=$basearch&repo=extras
#baseurl=http://yum.freepbxdistro.org/centos/5.7/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5.7 - Plus
mirrorlist=http://mirrorlist.freepbxdistro.org/?release=5.7&arch=$basearch&repo=centosplus
#baseurl=http://yum.freepbxdistro.org/centos/5.7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#Core PBX Packages
[pbx]
name=pbx
mirrorlist=http://mirrorlist.freepbxdistro.org/?pbxver=1.88.210.57&release=5.7&arch=$basearch&repo=pbx
#baseurl=http://yum.freepbxdistro.org/pbx/1.88.210.57/$basearch/
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-FreePBX

EOTT
###########################################################################
echo
echo "Clean Yum just to make sure we have a fresh list"
echo
yum clean all
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
#Upgrade Kernel
echo
echo " Checking to see if we need to Update kernel-2.6.18-274.3.1.el5"
echo " `date` Checking to see if we need to Update kernel-2.6.18-274.3.1.el5" >> /var/log/pbx/upgrade/"$upgradeversion"
if [ `rpm -qa | grep kernel-2.6.18-274.3.1.el5 | wc -l` -gt 0 ]; then
	echo " kernel-2.6.18-274.3.1.el5 all ready installed-skipping updating this"
	echo " `date` kernel-2.6.18-274.3.1.el5 all ready installed-skipping updating this" >> /var/log/pbx/upgrade/"$upgradeversion" 
else
	echo " updating kernel-2.6.18-274.3.1.el5"
	echo " `date` updating kernel-2.6.18-274.3.1.el5" >> /var/log/pbx/upgrade/"$upgradeversion"
	yum -y install kernel-2.6.18-274.3.1.el5* kernel-headers-2.6.18-274.3.1.el5* kernel-devel-2.6.18-274.3.1.el5*
	if [ `rpm -qa | grep kernel-2.6.18-274.3.1.el5 | wc -l` -gt 0 ]; then	
		echo
		echo " kernel-2.6.18-274.3.1.el5 installed correctly moving along to the next step"
		echo " `date` kernel-2.6.18-274.3.1.el5 installed correctly moving along to the next step" >> /var/log/pbx/upgrade/"$upgradeversion"
		echo
	else
		echo
		echo " SCRIPT---FAILED ON STAGE 2--Failed to verify kernel-2.6.18-274.3.1.el5 RPM was installed EXITING NOW"
		echo " `date` SCRIPT---FAILED ON STAGE 2--Failed to verify kernel-2.6.18-274.3.1.el5 RPM was installed EXITING NOW" >> /var/log/pbx/upgrade/"$upgradeversion"
		exit
	fi
fi
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
# Upgrade kernel packages
if [ `rpm -qa | grep kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 | wc -l` -eq 1 ] ; then
	echo
	echo " kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 already installed.  Skipping this step "
	echo " `date` kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 already installed.  Skipping this step " >> /var/log/pbx/upgrade/"$upgradeversion"
else
	echo " Updating to kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 "
	echo " `date` Updating to kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5" >> /var/log/pbx/upgrade/"$upgradeversion"
	
	# Stop all service related to asterisk and dahdi so we can remove and upgrade packages
	echo " Stopping Asterisk, Dahdi and Wanpipe so they can be updated"
	echo " `date` Stopping Asterisk, Dahdi and Wanpipe so they can be updated" >> /var/log/pbx/upgrade/"$upgradeversion"
	/usr/local/sbin/amportal stop
	killall safe_asterisk
	/etc/init.d/asterisk stop  > /dev/null 2>&1
	/usr/sbin/wanrouter stop
	/etc/init.d/dahdi stop  > /dev/null 2>&1
	
	# Move needed wanpipe files so we dont loose them on removal
	echo " Move needed wanpipe files so we dont losoe them on removal"
	echo " `date` Move needed wanpipe files so we dont losoe them on removal" >> /var/log/pbx/upgrade/"$upgradeversion"
	cp -f /etc/wanpipe/wanrouter.rc /usr/tmp/$upgradeversion/
	
	# Remove packages first so they dont conflict
	echo " Remove packages first so they dont conflict"
	echo " `date` Remove packages first so they dont conflict" >> /var/log/pbx/upgrade/"$upgradeversion"
	rpm -e kmod-dahdi-linux-2.5.0-1_centos5.2.6.18_194.17.1.el5 --nodeps
	rpm -e dahdi-linux-kmod-debuginfo-2.5.0-1_centos5.2.6.18_194.17.1.el5 --nodeps
	rpm -e wanpipe-3.5.22-kernel.2.6.18.194.17.1.el5.dahdi.2.5.0 --nodeps
	ln -s /usr/sbin/wanrouter /etc/init.d/wanrouter
	rpm -e wanpipe-3.5.22-kernel.2.6.18.194.17.1.el5.dahdi.2.5.0 --nodeps
	yum -y erase wanpipe*
	
	# Install new packages now.
	echo " Install new wanpipe and dahdi"
	echo " `date` Install new wanpipe and dahdi" >> /var/log/pbx/upgrade/"$upgradeversion"
	yum -y install kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5*
	yum -y install dahdi-firmware-2.4.1.2-1_centos5* dahdi-firmware-oct6114-064-1.05.01-1* dahdi-firmware-oct6114-128-1.05.01-1* dahdi-firmware-vpmadt032-1.07-1* dahdi-firmware-tc400m-MR6.12-1* 
	yum -y install dahdi-linux-2.5.0.1-1* dahdi-linux-debuginfo-2.5.0.1-1* dahdi-linux-devel-2.5.0.1-1* dahdi-linux-kmod-debuginfo-2.5.0.1-1_centos5.2.6.18_274.3.1.el5*
	yum -y install dahdi-tools-2.5.0.1-2* dahdi-tools-debuginfo-2.5.0.1-2* dahdi-tools-doc-2.5.0.1-2*
	yum -y install libpri-1.4.12-1* libpri-debuginfo-1.4.12-1* libpri-devel-1.4.12-1*
	yum -y install libtonezone-2.5.0.1-2* libtonezone-devel-2.5.0.1-2*
	yum -y install wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0.1*
	yum -y install schmooze-dahdi
	yum -y update asterisk18*
				
	# Copy back files now that we moved
	cp -f /usr/tmp/$upgradeversion/wanrouter.rc /etc/wanpipe/
	
	# Restart all services now
	/etc/init.d/dahdi start  > /dev/null 2>&1
	/usr/sbin/wanrouter start  > /dev/null 2>&1
	/usr/local/sbin/amportal start  > /dev/null 2>&1
	ln -s /usr/sbin/wanrouter /etc/init.d/wanrouter
	/sbin/chkconfig wanrouter on
	
	if [ `rpm -qa | grep wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0 | wc -l` -eq 1 ] && [ `rpm -qa | grep kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 | wc -l` -eq 1 ]; then	
		echo
		echo " wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0.1 and kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 RPM Installed correctly moving along to the next step "
		echo " `date` wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0.1 kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 RPM Installed correctly moving along to the next step" >> /var/log/pbx/upgrade/"$upgradeversion"
		echo
	else
		echo
		echo " SCRIPT---FAILED ON STAGE 2--Failed to verify kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 or wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0.1 RPM was installed"
		echo " `date` SCRIPT---FAILED ON STAGE 2--Failed to verify kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5 or wanpipe-3.5.24.4-kernel.2.6.18.274.3.1.el5.dahdi.2.5.0.1 RPM was installed" >> /var/log/pbx/upgrade/"$upgradeversion"
	fi
fi
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
# Erase old Zend and install new one and updating php to 5.3.
echo
echo " Checking to see if we need to install php-5.3-zend-guard-loader-5.5.0-3"
echo " `date` Checking to see if we need to install php-5.3-zend-guard-loader-5.5.0-3" >> /var/log/pbx/upgrade/"$upgradeversion"
if [ `rpm -qa | grep php-5.3-zend-guard-loader-5.5.0-3 | wc -l` -gt 0 ]; then
	echo " lphp-5.3-zend-guard-loader-5.5.0-31 all ready installed-skipping updating this"
	echo " `date` php-5.3-zend-guard-loader-5.5.0-3 all ready installed-skipping updating this" >> /var/log/pbx/upgrade/"$upgradeversion" 
else
	echo " updating php-5.3-zend-guard-loader-5.5.0-3"
	echo " `date` php-5.3-zend-guard-loader-5.5.0-3" >> /var/log/pbx/upgrade/"$upgradeversion"
	sleep 180
	yum -y erase zend-optimizer*
	yum -y erase php-mcrypt
	yum -y upgrade php*
	yum -y install php-process*
	yum -y install php-5.3-zend-guard-loader-5.5.0-3
	chown -R asterisk:asterisk /var/lib/php/session
	mv /etc/php.d/zend.ini /etc/php.d/zend.ini.old
	`which amportal` chown
	/etc/init.d/httpd restart  > /dev/null 2>&1
	if [ `rpm -qa | grep php-5.3-zend-guard-loader-5.5.0-3 | wc -l` -gt 0 ]; then	
		echo
		echo " php-5.3-zend-guard-loader-5.5.0-3 installed correctly moving along to the next step"
		echo " `date` php-5.3-zend-guard-loader-5.5.0-3 installed correctly moving along to the next step" >> /var/log/pbx/upgrade/"$upgradeversion"
		echo
		if [ `rpm -qa | grep php-5.3.3-1.3 | wc -l` -gt 0 ]; then	
			echo
			echo " php-5.3.3-1.3 installed correctly moving along to the next step"
			echo " `date` php-5.3.3-1.3 installed correctly moving along to the next step" >> /var/log/pbx/upgrade/"$upgradeversion"
			echo
		else
			# Adding Notes
			echo
			echo " SCRIPT---FAILED ON STAGE 2--Failed to verify php-5.3.3-1.3 RPM was installed"
			echo " `date` SCRIPT---FAILED ON STAGE 2--Failed to verify php-5.3.3-1.3 RPM was installed" >> /var/log/pbx/upgrade/"$upgradeversion"
		fi
	else
		# Send us notification of failure.
		# Adding Notes
		echo
		echo " SCRIPT---FAILED ON STAGE 2--Failed to verify php-5.3-zend-guard-loader-5.5.0-31 RPM was installed"
		echo " `date` SCRIPT---FAILED ON STAGE 2--Failed to verify php-5.3-zend-guard-loader-5.5.0-3 RPM was installed" >> /var/log/pbx/upgrade/"$upgradeversion"
	fi
fi
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
# Update all other RPM's to Centos 5.7
echo " Updating all remaining RPMS now to Centos 5.7"
echo " `date` Updating all remaining RPMS now to Centos 5.7" >> /var/log/pbx/upgrade/"$upgradeversion"
yum -y update
rm -rf /etc/yum.repos.d/Cent*
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
# Upgrade to FreePBX 2.10
echo "upgrade to FreePBX 2.10"
# Need to remove any modules built using the old PHP 5.2 with Zend-Optimizer.
rm -rf /var/www/html/admin/modules/areminder
rm -rf /var/www/html/admin/modules/broadcast
rm -rf /var/www/html/admin/modules/backup
rm -rf /var/www/html/admin/modules/callerid
rm -rf /var/www/html/admin/modules/core
rm -rf /var/www/html/admin/modules/directorypro
rm -rf /var/www/html/admin/modules/ivrpro
rm -rf /var/www/html/admin/modules/faxpro
rm -rf /var/www/html/admin/modules/grammar
rm -rf /var/www/html/admin/modules/hotelwakeup
rm -rf /var/www/html/admin/modules/outboundnotification
rm -rf /var/www/html/admin/modules/pagingpro
rm -rf /var/www/html/admin/modules/qxact_reports
rm -rf /var/www/html/admin/modules/ttsengines
rm -rf /var/www/html/admin/modules/sysadmin
rm -rf /var/www/html/admin/modules/vmnotify
rm -rf /var/www/html/admin/modules/webcallback

/var/lib/asterisk/bin/module_admin -f uninstall areminder 
/var/lib/asterisk/bin/module_admin -f uninstall broadcast
/var/lib/asterisk/bin/module_admin -f uninstall backup	
/var/lib/asterisk/bin/module_admin -f uninstall callerid 
/var/lib/asterisk/bin/module_admin -f uninstall hotelwakeup 
/var/lib/asterisk/bin/module_admin -f uninstall directorypro 
/var/lib/asterisk/bin/module_admin -f uninstall faxpro
/var/lib/asterisk/bin/module_admin -f uninstall ivrpro 
/var/lib/asterisk/bin/module_admin -f uninstall grammar
/var/lib/asterisk/bin/module_admin -f uninstall outboundnotification 
/var/lib/asterisk/bin/module_admin -f uninstall pagingpro
/var/lib/asterisk/bin/module_admin -f uninstall qxact_reports 
/var/lib/asterisk/bin/module_admin -f uninstall ttsengines
/var/lib/asterisk/bin/module_admin -f uninstall vmnotify 
/var/lib/asterisk/bin/module_admin -f uninstall webcallback
/var/lib/asterisk/bin/module_admin -f uninstall core
/var/lib/asterisk/bin/module_admin -f uninstall sysadmin
cd /var/www/html/admin/modules
wget http://mirror.freepbx.org/modules/release/2.9/versionupgrade-2.9.latest.tgz
tar xvfz versionupgrade-2.9.latest.tgz
sudo -u asterisk /var/lib/asterisk/bin/module_admin install versionupgrade
`which amportal` chown
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
 
cat <<'EOF' >/var/tmp/core210upgrade.php
<?php
if (!@include_once(getenv('FREEPBX_CONF') ? getenv('FREEPBX_CONF') : '/etc/freepbx.conf')) { 
	  include_once('/etc/asterisk/freepbx.conf'); 
}
$restrict_mods = true; // don't load any functions for any modules
$restrict_mods = Array('areminder' => true, 'core' => true);
$bootstrap_settings['freepbx_auth'] = false;
$bootstrap_settings['skip_astman'] = false;
if (!@include_once(getenv('FREEPBX_CONF') ? getenv('FREEPBX_CONF') : '/etc/freepbx.conf')) {  
  include_once('/etc/asterisk/freepbx.conf'); 
}
versionupgrade_setversion("2.10.0alpha0");
?>

EOF
  
php -q /var/tmp/core210upgrade.php
# Install Framework only now for upgrade
sudo -u asterisk /var/lib/asterisk/bin/module_admin download framework
sudo -u asterisk /var/lib/asterisk/bin/module_admin install framework
# Installing all new modules for 2.10 now.  Running it a few times to make sure we get all the modules.
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo -u asterisk /var/lib/asterisk/bin/module_admin download sysadmin
sudo -u asterisk /var/lib/asterisk/bin/module_admin install sysadmin
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/module_admin installall
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
# Remove version upgrade module
sudo -u asterisk /var/lib/asterisk/bin/module_admin uninstall versionupgrade
sudo -u asterisk /var/lib/asterisk/bin/module_admin disable userpaneltab
sudo -u asterisk /var/lib/asterisk/bin/module_admin disable fw_fop
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
rm -rf /var/www/html/admin/modules/versionupgrade
`which amportal` chown
# Restart apache so the language pack takes effect
/etc/init.d/httpd restart
###########################################################################
echo
echo "Moving to Next Step"
echo
###########################################################################
echo
echo "STAGE 2 COMPLETED - RPM's - Moving to Stage 3"
echo "`date` STAGE 2 COMPLETED - Misc Items - Moving to Stage 4" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
################################################# STAGE 2 COMPLETED - RPM's ######################################################################
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
################################################# STAGE 3 STARTING - MISC ITEMS  #########################################################
echo
echo "STAGE 3 STARTING - Misc Items"
echo "`date` STAGE 3 STARTING - Misc Items" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
echo
echo "STAGE 3 COMPLETED - Misc Items - Moving to Stage 4"
echo "`date` STAGE 3 COMPLETED - Misc Items - Moving to Stage 4" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
################################################# STAGE 3 COMPLETED - MISC ITEMS ###################################################################
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
################################################# STAGE 4 STARTING - CLEAN UP #####################################################
# Start Stage 4
echo
echo "STAGE 4 STARTING - Clean Up"
echo "`date` STAGE 4 STARTING - Clean Up" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
echo " updatedb for locate command"
echo " `date` updatedb for locate command" >> /var/log/pbx/upgrade/"$upgradeversion"
updatedb
echo
###########################################################################
echo " Restart incron to be safe"
echo " `date` Restart incron to be safe" >> /var/log/pbx/upgrade/"$upgradeversion"
/etc/init.d/incrond restart  > /dev/null 2>&1
echo
###########################################################################
echo "Set proper permissions on php session for ARI"
echo " 'date' Set proper permissions on php session for ARI">> /var/log/pbx/upgrade/"$upgradeversion"
/bin/chown -R asterisk:asterisk /var/lib/php/session
###########################################################################
# End Stage 4
echo
echo "STAGE 4 COMPLETED - Clean Up - Moving to Stage 5"
echo "`date` STAGE 4 COMPLETED - Clean Up - Moving to Stage 5" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
echo	
################################################# STAGE 4 COMPLETED - CLEAN UP #####################################################
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
################################################# STAGE 5 STARTING - FINAL VERIFICATIONS #####################################################
# Start Stage 5
echo
echo "STAGE 5 STARTING - Final Verifications"
echo "`date` STAGE 5 STARTING - Final Verifications" >> /var/log/pbx/upgrade/"$upgradeversion"
echo
###########################################################################
# End Stage 5
echo
echo "STAGE 5 COMPLETED - Final Verifications - Moving to Stage 6"
echo "`date` STAGE 5 COMPLETED - Final Verifications - Moving to Stage 6" >> /var/log/pbx/upgrade/"$upgradeversion"
echo "" >> /var/log/pbx/upgrade/"$upgradeversion"
echo		
################################################# STAGE 5 COMPLETED - FINAL VERIFICATION #####################################################echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
################################################# STAGE 6 STARTING - UPDATE VERSION #####################################################
# Update version number now and close out logs and update script
echo "$upgradeversion" > /etc/asterisk/freepbxdistro-version
echo "`date` UPGRADE 100% COMPLETED " >> /var/log/pbx/upgrade/"$upgradeversion"
echo "PLEASE DO A REBOOT NOW SINCE WE UPGRADED THE KERNEL"
################################################# STAGE 6 COMPLETED - UPDATE VERSION #####################################################

