FreePBX 16 to 17 Migration w/ commercial modules

I’ve got a small freepbx system at work that I need to migrate from 16 to 17, and a few commercial modules are involved. I’ve looked through the documentation, but please sanity check me here if the process I’ve outlined for myself is the most headache free path forward. I sanitized my notes a bit but I’ll refer to the servers as pbx16 and pbx17.

pbx17

# Download and run installation script
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh  -O /tmp/sng_freepbx_debian_install.sh
bash /tmp/sng_freepbx_debian_install.sh

# After the script finishes, continue setup in the browser. If I get locked out, I might need to disable the firewall until I get through the initial setup to 'trust' the local PC/network
fwconsole firewall stop
fwconsole firewall start

pbx16

# Make sure modules are up-to-date, especially the Backup module
fwconsole ma updateall

# Use Backup module to create a full backup. Download file locally.

# Deactivate deployment ID and shutdown server
fwconsole sa deactivate %deploymentid%

pbx17

# Update IP address to match what pbx16 used to be

# Check for modules updates just in case
fwconsole ma updateall

# Activate deployment ID that pbx16 was using
fwconsole sa activate %deploymentid%

# Upload backup file and restore it via the Backup/Restore module. Testing time. Success?

Main questions I have:

  • Does moving the deployment ID over to the new server automatically let it inherit the commercial module licenses tied to it? Is the command line method of deactivating/activating the same as resetting the hardware lock or is that another step I need to add?
  • If I do run into issues and want a fallback plan, is it as simple as deactivating the ID on the new system and reactivating it on the old?
  • Any gotchas I should be aware of otherwise?
1 Like

Hi I have done quite a few of these at this point, I will try to answer to the best of my ability:

  1. Yes it is the same as the hardware reset in Sangoma’s Portal / Or doing “De-activate” in Admin>System Admin> Deactivate.
  2. In theory Yes, it’s good to look in the System admin>Activation here to make sure you have a proper amount of Hardware resets to do so. But I can tell you Sangoma was actually pretty good at working with me on some where I was out of resets.
  3. I will say all of my upgrades felt a bit different. I found the method I like the most was doing the restore via CLI command.

For what its worth I can I can share a general pre-checklist I started to use:

Fresh Bulk handler Export All - Likely not needed but good to have

  • Make sure Backups are occurring - Double check all modules are backing up, also make sure all desired modules are being backed up - Download a backup

  • IF VM Take a clean Snapshot of Legacy and New Machine

  • Get Extension online count - Can also make asterisk info report into PDF(for all endpoint IPs)

  • Screenshot of dashboard. With mouse hovered over stats to see trunks, endpoint online count

  • Build out a Network sheet

  • Keep deployment ID handy

  • Sangoma Portal>PBX>deployment>Licenses Hardware Reset… or any method you prefer

  • Activate New System with existing Deployment ID in either CLI or Web Gui

  • Use Desired backup method (Again, I saw far less issues and transparency doing this via CLI)… Therefore you may want to take legacy systems backup and place it in manually in the backup location of new machine via sftp or SCP.

4 Likes

This was very helpful - thank you. Ironically on a home test VM with a clean FreePBX install the CLI restore (the backup file used is from the same fresh install) generates an error, and the GUI one does not, but I’ll make a separate thread for that. I do like/prefer the idea of using CLI though.

Updating my steps here not just for me but in case someone else finds it useful (excluded hardware reset check since I have 2 available).

pbx17

# Download and run installation script
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh  -O /tmp/sng_freepbx_debian_install.sh
bash /tmp/sng_freepbx_debian_install.sh

# After the script finishes, continue setup in the browser. If I get locked out, I might need to disable the firewall until I get through the initial setup to 'trust' the local PC/network
fwconsole firewall stop
fwconsole firewall start

pbx16

# Make sure modules are up-to-date, especially the Backup module
fwconsole ma updateall

# Create backup from CLI
fwconsole backup --list
fwconsole backup --backup %backupID%
# Download the file locally

# Get Extension online count/endpoint IPs. Screenshot of dashboard w/ mouseover stats.

# Deactivate deployment ID and shutdown server
fwconsole sa deactivate %deploymentid%

pbx17

# Update IP address to match what pbx16 used to be

# Check for modules updates just in case
fwconsole ma updateall

# Activate deployment ID that pbx16 was using
fwconsole sa activate %deploymentid%

# Upload backup file and restore it via CLI. 
fwconsole backup --restore %filename%
# Testing time. Success?