Docs navigation

Migrating from 3CX

Exovo imports a standard 3CX backup directly: your extensions, trunks, routing, IP phones and — optionally — years of call history, chat, recordings and voicemail come across in one pass. No CSV exports, no re-keying, no vendor tooling.

Before you start

  1. Install Exovo on its own host first — see Installing Exovo. The onboarding wizard's restore step is for Exovo's own backups; a 3CX import runs on the running system, so set up a new system in onboarding and sign in.
  2. Take a 3CX backup in the 3CX Management Console (Backup and Restore). Any standard backup .zip works, including password-protected ones — if you set a password, keep it handy; the import asks for it. If you want your recordings and voicemail audio to come across, include them in the backup.
  3. Copy the backup file somewhere you can reach from a browser — or, for a big one, straight onto the Exovo host (next step). Either way, history imports run in batches.

Running the import

On the Exovo console, open Admin → Backup & Restore. Two ways to hand over the backup:

  • Upload from your computer — fine up to a few GB; the upload streams to disk.
  • Use a file already on the server — the right choice for a real production backup, which can run to tens of GB once years of recordings are in it. Copy the .zip to /var/lib/exovo/import-drop on the Exovo host (scp, rsync, a USB drive) and it appears in the wizard's list; Exovo reads it in place, with no upload and no second copy on disk. Plan on free disk of roughly twice the backup's size while the import runs — the archive and the media unpacked from it briefly coexist — and the space is released when it finishes. The file stays yours to delete afterwards.

Exovo detects the backup type automatically, so there's no format picker. If the backup is encrypted, you're prompted for its password before anything is read.

The wizard then shows a preview: every section it found, with a count and a checkbox, plus a list of notes for anything that can't translate one-to-one. Untick what you don't want, review the notes, and click Import.

When extensions are selected, the preview checks the new extension numbers against your license capacity and, on multi-tenant systems, the destination tenant's quota. If they will not fit, import is blocked before changes are made. Upgrade the license or adjust the quota before continuing; Exovo does not trim the extension list to fit. Updating existing numbers does not consume additional capacity.

Unlike a native Exovo restore, an import merges into the running system rather than replacing it. Matching configuration items are updated, so a repeat import can overwrite changes you made in Exovo after the first import. Take an Exovo backup first and select only the sections you intend to refresh. Existing extensions retain their Exovo SIP credentials.

Phone numbers are cleaned up on the way in: caller IDs, DIDs and forwarding destinations are normalized to international +E.164 format using the country and area code configured on the 3CX itself, so imported numbers pass Exovo's validation instead of failing on the first edit.

What's imported

Section What comes across
Extensions & users Numbers, names, email addresses, voicemail, and full forwarding profiles (Available, Away, Out of office) with their no-answer/busy destinations
Trunks Provider settings, registration credentials — trunks can register as soon as the import finishes — and the trunk's DID list
Inbound rules DID routing with office-hours and out-of-hours destinations
Outbound rules Prefix and length matching, digit manipulation, route selection — in the same evaluation order as on the 3CX
Office hours Weekly business hours, applied to the system settings; holidays need manual setup
Ring groups Members, ring strategy, no-answer destination
Call queues Agents, ring strategy, timeout destination
Digital receptionists (IVRs) Menu options and destinations — including the greeting audio from the backup
IP phones Each phone's MAC address, exact model and its extension, with the 3CX provisioning template mapped to the matching Exovo template and each user's programmable BLF keys
Gateways Physical gateways (Patton and the like) become registering device trunks, with a configuration the device loads straight from the trunk page
Recording rights Each user's Show recordings and Delete recordings permissions

History & media (optional)

If the backup contains them, the preview offers these as separate opt-in sections, imported after the configuration:

  • Call history (CDR) — the full call log, searchable in Exovo's reports.
  • Chat history — direct and group conversations with their messages.
  • Call recordings — the recording index, with the audio files copied in so they play from Exovo's recordings pages.
  • Voicemail — messages delivered into each user's Exovo voicemail box, audio included, with the original received date, heard state and caller name (cleaned of the number 3CX glues on). The importer verifies each message actually reached the mailbox and reports any that did not, rather than counting them as imported.

Repeat imports and archived voicemail

  • CDR: previously imported call records are skipped on subsequent imports.
  • Voicemail: Exovo tracks delivered messages and skips them when the same backup is imported again, including messages later deleted by a user. It also checks for matching messages from older imports. The completion summary reports imported, already imported, missing-audio and failed messages separately.
  • Archived voicemail: metadata alone is not enough to deliver a message. Audio must be in the uploaded backup; Exovo does not fetch files from the old system's external archive storage. Archived entries without included audio are reported as missing audio and are not injected into the mailbox.

After the import

  • Send new users their welcome email. New extensions get fresh Exovo SIP credentials rather than their 3CX password. Existing extensions keep their credentials on a repeat import.
  • Review office hours and add holidays. Weekly hours come across, but holiday schedules are not extracted from the 3CX backup. Add holidays manually and check the time zone and any notes about source rules with separate holiday destinations; Exovo uses a global holiday schedule.
  • Work through the notes list. Anything the import couldn't translate faithfully is listed on the preview and summary screens. Check failed items and missing media as well as warnings.
  • Configure local trunks and gateways. Verify Admin → Connectivity → Network → Host IP Address, then enable LAN network mode on each local SIP peer. The importer does not automatically select this mode from a private registrar IP.
  • Phones on the LAN re-provision themselves. Imported IP phones exist in Exovo with their MAC and template. If Exovo took over the 3CX server's address and your DHCP server hands out option 66 pointing at Exovo (the recommended setup), you don't touch the phones at all: each one keeps trying to register with its old 3CX credentials, Exovo recognises the phone by its MAC and tells it to re-provision, and the phone comes back on its new credentials within a minute or two — no factory reset, no power cycle. A banner on the admin pages lists any phone still waiting. Phones that reach Exovo through an SBC, and sites without option 66, are repointed the usual way — see provisioning.

On a multi-tenant system, the preview also asks where to Import into: a new tenant created on the spot, an existing tenant (as a merge), or tenant 1.

For the mechanics of the Backup & Restore page itself — including native Exovo backups — see backup and restore.