Changes

From SME Server
Jump to navigationJump to search
Line 1: Line 1:  
{{Languages}}
 
{{Languages}}
{{Warning box| when installing smeserver-freepbx, your default php cli will change to php56 by default instead of php54, unless you specifically point to the binary. This is because Fpbx 14 does not support anymore php54 and php5, and neither php70 and higher. Upon upgrade to Fpbx 15 and Fpbx 16 this default will be updated to php74 to allow cli php script to run smoothly}}
+
{{Warning box| when installing smeserver-freepbx, your default php cli will change to php56 by default instead of php54, unless you specifically point to the binary. This is because Fpbx 14 does not support anymore php54 and php5, and neither php70 and higher. Upon upgrade to Fpbx 15 and Fpbx 16 this default will be updated to php74 to allow cli php script to run smoothly.}}
 
===Maintainer===
 
===Maintainer===
 
original contributor: [mailto:daniel@firewall-services.com][[User:VIP-ire|Daniel B.]] from [http://www.firewall-services.com Firewall Services]
 
original contributor: [mailto:daniel@firewall-services.com][[User:VIP-ire|Daniel B.]] from [http://www.firewall-services.com Firewall Services]
Line 11: Line 11:  
{{#smeversion:freepbx-src }}
 
{{#smeversion:freepbx-src }}
 
<br>
 
<br>
 +
 +
{| class="wikitable"
 +
|+PHP compatibility
 +
!Freepbx
 +
!php56
 +
!php70
 +
!php72
 +
!php74
 +
!php80+
 +
|-
 +
|14
 +
|yes
 +
|no
 +
|no
 +
|no
 +
|no
 +
|-
 +
|15
 +
|yes
 +
|yes
 +
|yes
 +
|limited
 +
|no
 +
|-
 +
|16
 +
|no
 +
|no
 +
|no
 +
|yes
 +
|no
 +
|}
    
=== Description ===
 
=== Description ===
Line 33: Line 64:     
<tabs container><tab name="SME 10">
 
<tabs container><tab name="SME 10">
-------------- in progresss !!
+
Install needed repo and configure:
install needed repo and configure
   
  yum install smeserver-extrarepositories-asterisk smeserver-extrarepositories-node smeserver-extrarepositories-rpmfusion  -y
 
  yum install smeserver-extrarepositories-asterisk smeserver-extrarepositories-node smeserver-extrarepositories-rpmfusion  -y
 
  db yum_repositories setprop node10 status enabled
 
  db yum_repositories setprop node10 status enabled
 +
db yum_repositories setprop asterisk-common status enabled
 +
db yum_repositories setprop asterisk-13 status enabled
 
  signal-event yum-modify
 
  signal-event yum-modify
    +
yum install yum-plugin-versionlock -y
 +
yum versionlock  add freepbx-src-15.* --enablerepo=smetest,smecontribs
    
install
 
install
   yum  install smeserver-freepbx --enablerepo=smecontribs,asterisk-common,asterisk-13,node10,rpmfusion,epel,smetest
+
   yum  install smeserver-freepbx --enablerepo=smecontribs,asterisk-common,asterisk-13,node10,smetest
      Line 148: Line 182:     
=== Update Freepbx ===
 
=== Update Freepbx ===
 +
Simply go to the Module Admin section and update from the gui.
 +
 +
=== Upgrade Freepbx Major Version ===
 +
 +
To update your freepbx installation simply follow the procedure inside freepbx web interface.
 +
 +
In case of issue, the GUI might suggest to run module upgrade from CLI, then do
 +
fwconsole ma upgrade framework
 +
fwconsole ma upgradeall
   −
To update your freepbx installation simply follow the procedure inside freepbx web interface. After every version update (from 2.5 to 2.6, etc.) you should run a
+
After every version update (from 14 to 15, etc.) you should run a
 
  signal-event freepbx-update
 
  signal-event freepbx-update
   Line 156: Line 199:  
The way the contrib is designed, updating freepbx-src (i.e. from 2.5 to 2.7) won't update your working freepbx installation.
 
The way the contrib is designed, updating freepbx-src (i.e. from 2.5 to 2.7) won't update your working freepbx installation.
   −
{{ Note box| With SME 10 we provide Asterisk 13 and FreePBX 14 as a start, so you can easily migrate you previous SME 9 FreePBX installation. You can then easily migrate to FreePBX 15. Then you will need to wai we upgrade the contrib to allow to update the php version to 74 to be able to migrate to FreePBX 16, that is the only missing reuqirement. The reason we limited to php56 is that  FreePBX 14 is only able to handle php56 and fails with anything lower or higer.}}
+
{{ Note box| With SME 10 we provide Asterisk 13 and FreePBX 14 as a start, so you can easily migrate you previous SME 9 FreePBX installation. You can then easily migrate to FreePBX 15. Then you will need to wait we upgrade the contrib to allow to update the php version to 74 to be able to migrate to FreePBX 16, that is the only missing reuqirement. The reason we limited to php56 is that  FreePBX 14 is only able to handle php56 and fails with anything lower or higher.}}
 +
=== v15 to v16 ===
 +
v15.0.37.4 does not work well with php74, v16 requires it. GUI update will fail. You need to prepare it this way:
 +
 
 +
As soon as you switch to php74, v15 will have some unexpected behaviour, some elements will work other will fail.
 +
 
 +
config setprop freepbx PHPVersion 74
 +
ln -fs /usr/bin/php74 /usr/local/sbin/php
 +
expand-template /etc/opt/remi/php74/php-fpm.d/www.conf
 +
expand-template  /etc/httpd/fpbx-conf/httpd.conf
 +
expand-template /opt/remi/php56/root/etc/php-fpm.d/www.conf
 +
systemctl restart php56-php-fpm
 +
systemctl restart php74-php-fpm
 +
systemctl restart httpd-fpbx
 +
 
 +
actual upgrade:
 +
fwconsole versionupgrade --check
 +
fwconsole versionupgrade --upgrade
 +
# this one needs old php56 or you will not be able to update to 16:
 +
/bin/php56 /var/lib/asterisk/bin/fwconsole  ma upgrade framework
 +
fwconsole ma upgradeall
 +
signal-event freepbx-update
 +
 
 +
=== Upgrade Asterisk Major Version ===
 +
{{Warning box|This is not fully tested}}
 +
 
 +
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
 +
 
 +
"Long Term Support (LTS) release will be fully supported for 4 years, with one additional year of maintenance for security fixes"
 +
 
 +
Asterisk 13.x is LTS released 2014-10-24 is EOL as of 2021-10-24
 +
 
 +
Asterisk 16.x is LTS released 2018-10-09 is in Security fixes only and EOL 2023-10-09
 +
 
 +
Asterisk 18.x is LTS released 2020-10-20 with Security fixes from 2024-10-20 and EOL 2025-10-20
 +
 
 +
Asterisk 20.x is latest LTS
 +
 
 +
See:
 +
 
 +
https://bugs.koozali.org/show_bug.cgi?id=12363
 +
 
 +
====Asterisk 13-16====
 +
 
 +
This should upgrade from 13 to 16
 +
 
 +
db yum_repositories setprop asterisk-13 status disabled
 +
db yum_repositories setprop asterisk-16 status enabled
 +
signal-event yum-modify
 +
yum --enablerepo=asterisk-16,epel update
 +
signal-event post-upgrade;signal-event reboot
 +
 
 +
====Asterisk 16-18====
 +
 
 +
{{Warning box|This is not operational and requires further work}}
 +
 
 +
This will require an update to the smeserver-freepbx spec file.
 +
 
 +
This is how you would do it in principle, but there are conflicts as asterisk voicemail-plain has been replaced by asterisk-voicemail-imap and asterisk-voicemail-odbc
 +
 
 +
db yum_repositories setprop asterisk-16 status disabled
 +
db yum_repositories setprop asterisk-18 status enabled
 +
signal-event yum-modify
 +
yum --enablerepo=asterisk-18,epel update
 +
signal-event post-upgrade;signal-event reboot
    
=== Uninstall ===
 
=== Uninstall ===
Line 181: Line 288:  
  echo "    - /usr/share/asterisk/bin/*"
 
  echo "    - /usr/share/asterisk/bin/*"
 
  echo ""
 
  echo ""
  echo -n "Are you sure you want to remove FreePBX permanently ? (y/n) [n] "
+
  echo -n "Are you sure you want to remove FreePBX permanentlye? (y/n) [n] "
 
  read confirm
 
  read confirm
 
  if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then
 
  if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then
 +
        echo "removing rpms"
 +
        yum remove -y smeserver-freepbx freepbx-src asterisk*  -y                         
 
         echo "Droping MySQL databases..."
 
         echo "Droping MySQL databases..."
 
         DBNAME=$(/sbin/e-smith/db configuration getprop freepbx DbName)
 
         DBNAME=$(/sbin/e-smith/db configuration getprop freepbx DbName)
Line 206: Line 315:  
         rm -rf /var/lib/asterisk/bin/*     
 
         rm -rf /var/lib/asterisk/bin/*     
 
         echo "Removing /usr/share/asterisk/bin/* ..."
 
         echo "Removing /usr/share/asterisk/bin/* ..."
         rm -rf /usr/share/asterisk/bin/*  
+
         rm -rf /usr/share/asterisk/bin/*
 +
        echo "Removing associated asterisk confs ..."
 +
        rm -rf /etc/asterisk
 +
        rm -rf /home/e-smith/files/freepbx
 +
        rm -rf /var/lib/asterisk
 +
        rm -rf /var/lib/php/fpbx-session
 +
        rm -rf /var/log/httpd-fpbx
 +
        rm -rf /var/service/httpd-fpbx
 
         echo "removing the crontab entry for asterisk"
 
         echo "removing the crontab entry for asterisk"
 
         crontab -u asterisk -r
 
         crontab -u asterisk -r
Line 216: Line 332:     
= Known issues=
 
= Known issues=
 +
===SME10: no voicemail in UCP / yum update issue===
 +
starting release 14-7 we use asterisk-voicemail-plain to store voicemails as regular old plain files, as UCP doe snot handle correctly the odbc storage and misconfiguration of odbc could lead to lost messages.
 +
 +
If you had a priori installation, you might encounter an error with yum and need to issue this to solve it <syntaxhighlight lang="bash">
 +
rpm -e --nodeps asterisk-voicemail-odbc
 +
yum install asterisk-voicemail-plain --enablerepo=asterisk-13
 +
# this one is mandatory to force asterisk to forget about previous app_voicemail_odbc.so module
 +
systemctl restart freepbx
 +
yum update smeserver-freepbx
 +
</syntaxhighlight>
 +
 
===SME10: UCP deamon not running===
 
===SME10: UCP deamon not running===
 
This is only for FreePBX distro and improve commercial module integration, just ignore the message.
 
This is only for FreePBX distro and improve commercial module integration, just ignore the message.
Line 238: Line 365:     
  fwconsole ma downloadinstall manager
 
  fwconsole ma downloadinstall manager
 +
 +
=== Log errors ===
 +
 +
 +
You may see various log errors.
 +
 +
 +
[2023-05-31 14:42:10] [freepbx.INFO]: Deprecated way to add Console commands for module backup, adding console commands this way can have negative performance impacts. Please use module.xml. See: <nowiki>https://wiki.freepbx.org/display/FOP/Adding+fwconsole+commands</nowiki> [] []
 +
 +
[2023-05-31 14:42:10] [freepbx.INFO]: Deprecated way to add Console commands for module voicemail, adding console commands this way can have negative performance impacts. Please use module.xml. See: <nowiki>https://wiki.freepbx.org/display/FOP/Adding+fwconsole+commands</nowiki> [] []
 +
 +
This is a known upstream error:
 +
 +
https://issues.freepbx.org/browse/FREEPBX-21969
 +
 +
 +
2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'from-internal-xfer' tries to include nonexistent context 'from-internal-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'from-internal-noxfer' tries to include nonexistent context 'from-internal-noxfer-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'from-pstn' tries to include nonexistent context 'from-pstn-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'from-internal-noxfer-additional' tries to include nonexistent context 'from-internal-noxfer-additional-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'from-internal-additional' tries to include nonexistent context 'from-internal-additional-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'macro-parked-call' tries to include nonexistent context 'macro-parked-call-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'dialparties-setrvol' tries to include nonexistent context 'dialparties-setrvol-custom'
 +
 +
[2023-05-31 13:35:35] WARNING[2798] pbx.c: Context 'dialparties-finalbuild' tries to include nonexistent context 'dialparties-finalbuild-custom'
 +
 +
 +
This can be disabled via:
 +
 +
Settings -> Advanced Setting -> Disable -custom Context Includes
 +
 +
 +
[2023-05-31 11:00:38] [freepbx.INFO]: Depreciated Function ringgroups_list detected in /opt/freepbx/admin/modules/ringgroups/functions.inc.php on line 75 [] []
 +
 +
[2023-05-31 11:00:38] [freepbx.INFO]: Depreciated Function module_getinfo detected in /opt/freepbx/admin/modules/core/functions.inc.php on line 1078 [] []
 +
 +
[2023-05-31 11:00:38] [freepbx.INFO]: Depreciated Function ringgroups_list detected in /opt/freepbx/admin/modules/core/functions.inc.php on line 1306 [] []
 +
 +
 +
https://github.com/FreePBX/ringgroups/blob/release/15.0/functions.inc.php
 +
 +
These can be ignored. They are a warning to developers who may still be using these functions.
    
===Migration from earlier versions===
 
===Migration from earlier versions===
Line 245: Line 420:     
==== 13 to 14 ====
 
==== 13 to 14 ====
Best approach would be
+
'''eg: Migration from SME9/FPBX13 to SME10/FPBX14'''
    +
Best approach would be :
 +
 +
if your database has been restored before installing smeserver-freepbx, the /etc/e-smith/events/actions/freepbx-checkinstall script should just run the installation from there if you left the /opt/freepbx empty
 +
The install script does a mysql db upgrade to the current version and then install the scripts. It should then download install and active all needed modules, in case it was not done because you added some particulare module you might need to use the '''fwconsole ma'''  cli utility to list, then listonline, downloadinstall all missing modules if the GUI does not let you enter.
    
sources:
 
sources:
 
# https://community.freepbx.org/t/import-freepbx13-backup-into-freepbx14/43955/9
 
# https://community.freepbx.org/t/import-freepbx13-backup-into-freepbx14/43955/9
 
# https://community.freepbx.org/t/freepbx-14-restore-backup-taken-in-freepbx-13/49092/4
 
# https://community.freepbx.org/t/freepbx-14-restore-backup-taken-in-freepbx-13/49092/4
 +
 
==== prior 13====
 
==== prior 13====
 
There is no upgrade path between versions before 14. Backup/Restore will most likely not work.
 
There is no upgrade path between versions before 14. Backup/Restore will most likely not work.
Super Admin, Wiki & Docs Team, Bureaucrats, Interface administrators, Administrators
3,250

edits

Navigation menu