A phased plan to migrate from Asterisk: when to move, what to back up, how to convert dialplans, trunks and AGI/AMI logic, and how to cut over with rollback.

An enterprise should migrate from Asterisk when the platform no longer meets operational requirements, when its release series approaches end of life, or when integration and scaling work consumes more engineering time than the customer experience justifies. The safest method is a phased migration: inventory and back up the system, map each function to the destination, convert dialplan logic and integrations, test in parallel with the live system, and cut over in waves with a tested rollback path.
This guide sets out that sequence for IT, operations and customer experience leaders, including the decisions that most often determine whether a cutover is uneventful or disruptive.
Migration is a business decision before it is a technical one. Asterisk release series reach end of life on a published schedule, after which they receive neither bug fixes nor security patches; the official Asterisk versions page lists which series are currently supported and alternates between standard and Long Term Support releases. A system running an unsupported series carries a security and compliance exposure that is difficult to defend in a regulated environment.
Support status is only one trigger. Teams commonly reach a decision point when the following conditions accumulate:
The opposite case deserves equal honesty. One engineering team cautions that if Asterisk already satisfies requirements, a migration can add substantial risk without commensurate customer value, and that evaluation should weigh workload, media needs, queues, IVR, APIs, existing skills and rewrite cost. If a version upgrade resolves the problem, upgrade. If the problem is the architecture, migrate.
Asterisk deployments are migrated to four broad kinds of destination, and each implies a different amount of rework.
| Destination type | Best suited to | Principal migration effort |
|---|---|---|
| Another open-source telephony engine | Teams with strong in-house VoIP skills that want to keep self-hosting | Rewriting dialplan logic and re-implementing AGI and AMI integrations |
| Hosted business PBX | Organizations needing extensions, voicemail and basic queues with minimal administration | Rebuilding users, devices and call flows; limited custom logic |
| Cloud contact center platform | Operations that run queues, IVR, recording and CRM-driven routing at scale | Mapping routing and IVR logic; integrating CRM and telephony |
| AI-native omnichannel platform | Enterprises automating service, sales and collections across voice and digital channels | Redesigning conversation flows; connecting CRM, telephony and governance controls |
Consultants who handle these projects advise that migration should be used to remove accumulated complexity instead of replicating every legacy quirk. That advice applies to every destination type: a dialplan that grew for fifteen years rarely needs to be reproduced line by line.
The first working phase produces two artifacts: a complete inventory and a verified backup.
The Asterisk backup guidance identifies what to preserve: the Asterisk configuration, its internal database, any other databases it uses, and its logs and reports. Treat that list as the minimum. A practical inventory for an enterprise also records:
One published migration approach separates identity, routing, services, media, devices and operations, with an owner and a test method for each before cutover. Adopting that structure turns an undifferentiated project into a checklist that can be assigned and audited.
Restore the backup onto a spare host before relying on it. A backup that has never been restored is an assumption, not a safeguard. Record the Asterisk version, the modules loaded and the SIP driver in use, because those facts determine how much conversion is required.
The legacy chan_sip driver was deprecated in Asterisk 17, released in October 2019, and removed in Asterisk 21; PJSIP is the standard SIP driver. If your system still runs on sip.conf, the SIP configuration must be rewritten regardless of destination. Asterisk ships a conversion script, sip_to_pjsip.py, which provides a basic conversion and is intended as a starting example, not a guarantee for every configuration. Review its output manually, especially authentication, NAT settings and trunk registration.
Export users and extensions into a neutral format such as CSV or JSON, with the extension number, display name, voicemail settings, device type and group memberships. Import into the destination in bulk where the platform supports it. Preserve extension numbers during the first waves; renumbering users during a platform change multiplies support calls.
Dialplan code in extensions.conf mixes several concerns: number matching, business rules, queue entry and data lookups. Convert it by function, not by syntax:
SIP trunks are usually the lowest-risk element technically and the highest-risk operationally, because number porting and carrier configuration involve third parties with their own lead times. Confirm with each carrier the authentication method, the permitted source IP addresses, the codec list and the emergency calling requirements. Where possible, add the new platform as an additional destination for a small set of test numbers instead of moving the main numbers first.
These interfaces are where most custom effort resides. The Asterisk documentation describes AGI as a synchronous interface between the dialplan and an external program, and AMI as an asynchronous, event-driven interface that reports channel state and controls where channels execute. The destination will not expose identical interfaces, so each integration needs a decision:
| Existing integration | Typical replacement |
|---|---|
| AGI script performing a CRM or database lookup | Native CRM connector or an API call inside the flow |
| AMI listener feeding a wallboard or screen pop | Platform events, webhooks or an agent desktop with CRM integration |
| Click-to-call through AMI Originate | Telephony integration inside the CRM or agent desktop |
| Outbound campaigns driven by scripts | A managed dialer with consent, calling-window and detection controls |
For CRM-embedded telephony, review dependencies carefully: some CRM vendors are retiring older computer telephony integration frameworks, as covered in our note on moving off Open CTI. For outbound, see the guidance on compliant outbound dialing strategy and answering machine detection.
A wave-based approach limits the blast radius of any defect. A published six-phase playbook recommends starting with low-risk test users, then production departments, main lines, and finally critical emergency (E911) routes. The same source describes parallel testing, in which the source platform stays live while teams test calls and integrations, with fallback to the source system if a wave fails. Another practitioner summary holds that validation before the switch defines success, and that incremental movement is the key to stability.
A workable wave plan for an enterprise:
Set exit criteria for each wave in advance: call completion rate, audio quality, integration success rate, and the number of open defects. Do not start the next wave until the current one meets them.
Confirm that administrative access follows role-based access control, that credentials are unique and rotated, that SIP signaling and media are encrypted where the carrier supports it, and that administrative actions are logged. Check data residency and retention against your regulatory obligations, and consult your compliance or legal team for requirements specific to your sector, particularly for payment card data and call recording consent, which vary by jurisdiction.
A rollback plan is a tested procedure, not an intention. Keep Asterisk running and unchanged throughout the waves. Document how to point numbers or trunks back to it, who authorizes the decision, the maximum time the rollback takes, and how calls and records created on the new platform are reconciled. Rehearse it once before the main numbers move. Teams that skip parallel testing under deadline pressure are the ones that discover their failure modes in production.
| Problem | Prevention |
|---|---|
| Undocumented dialplan behavior discovered after cutover | Trace live calls and review logs before design; interview the people who maintain the system |
| Integrations that depended on AGI or AMI stop working | Inventory every script and assign a replacement and an owner |
| Number porting delays | Start carrier requests early and use test numbers during the pilot |
| One-way audio or DTMF failures | Test codecs, NAT and DTMF mode with every device type in Wave 0 |
| Loss of call history and recordings | Export and archive records before decommissioning; verify retention |
| Replicating legacy complexity | Redesign flows during the migration and retire unused branches |
| Staff not trained | Train agents and supervisors on the new desktop before their wave |
We see Asterisk migrations succeed when the project is framed as a move from a telephony system to a customer engagement platform, not as a like-for-like replacement of a PBX. Voice is rarely the only channel an enterprise must serve; WhatsApp, SMS, email and web conversations arrive in the same customer journey, and a dialplan was not built to coordinate them.

VOICERAcx is designed for that outcome. It offers unified omnichannel automation with natural AI conversation, no-code agent setup, and integration with CRM, telephony and existing business systems, so that AGI and AMI logic can be replaced by governed integrations in place of custom scripts. For regulated organizations, we offer cloud, private cloud and on-premise deployment, which keeps data control in the hands of the enterprise and supports compliance and auditability requirements throughout the migration and after it.
Our recommendation is consistent: migrate in waves, keep the source live until each wave is verified, and use the migration to simplify routing and IVR design rather than carry its history forward.
— Voiceracx
Enterprises replacing Asterisk-based service operations can use AI Voice Agents and AI Chat Agents to take over the IVR and routine inquiry handling that dialplans and AGI scripts previously managed, and Vee Enterprise for deployments that require governance and private or on-premise control.

For teams that want to evaluate before committing, published self-serve plans include a Free plan at $0 per month, Basic at $199 per month, Standard at $249 per month, Advance at $399 per month and Pro at $999 per month, along with a Pay As You Go option and a chat session fee of $0.18 per chat session. Outbound campaigns that previously ran on scripts can move to Vee Dialer.
Decommissioning is the final phase and should be a decision with documented evidence, not a date on a plan. Retire the old system only when the new platform has run through at least one full business cycle, including peak periods and month-end processes, with integrations verified and no open severity-one defects. Confirm that call recordings, logs and reports have been archived according to your retention policy, and that carriers and number registrations no longer reference the old system.

Operational readiness also covers the surrounding network and carrier services: resilient connectivity, backup links and a clear support model. Organizations that need to review business VoIP telephony and connectivity alongside the platform change can address both in the same project plan. Keep a final snapshot of the Asterisk configuration and database in secure storage for the period your audit requirements specify, then power down the host.
Duration depends on the number of integrations, queues and IVR flows, not on the number of extensions. A simple extension-and-trunk system can move in weeks, while an environment with many AGI scripts, CRM integrations and carrier ports needs a longer, wave-based schedule. Plan the timeline from the inventory, and add time for number porting.
Yes, when the source system stays live while the new platform is tested in parallel and numbers move in waves. Each wave needs defined exit criteria and a rehearsed fallback to the source system. Residual risk is concentrated at the moment numbers are repointed, so schedule that during a low-volume window.
If you are moving off Asterisk, the destination will use its own configuration, but the sip.conf settings still document your trunks, devices and authentication. Chan_sip was removed in Asterisk 21, so any upgrade path inside Asterisk requires PJSIP. Use your existing configuration as the source of truth for the inventory.
Back up the Asterisk configuration, the internal database, any other databases it uses, and its logs and reports, as the official backup guidance describes. Add call recordings, prompts and custom scripts. Restore the backup to a test host to confirm it works.
On a modern platform, native CRM connectors, APIs and webhooks replace most AGI lookups and AMI listeners. Each script should be mapped to a replacement and an owner during the inventory phase. Retire scripts that no longer serve a business purpose rather than rebuilding them.