PBX to Hosted VoIP Migration Checklist: T-8 Weeks to T+1
A PBX to hosted VoIP migration checklist runs in phases: audit the old system, test the network, start number porting, fix E911, plan special lines, pilot, cut over, and keep rollback ready until every port completes.
- Start number porting about 8 weeks out, because simple local ports take roughly 1 to 2 weeks and complex or toll-free ports can take several weeks.
- Size bandwidth at about 87 kbps per G.711 call and 31 kbps per G.729 call, then add roughly 25% headroom and check upload speed, not just download.
- Disable SIP ALG on the router first; it is a top cause of one-way audio and registration drops.
- Keep the old PBX and carrier lines live until every number has ported and the pilot has passed.
- Register a dispatchable E911 address for every location and remote user, and keep fax, alarm and card-terminal lines on a supported path.
What does a PBX to hosted VoIP migration involve, and in what order?
A migration fails when work is done in the wrong order. Number porting has the longest lead time and the least control, so it starts early, while network and device work happens in parallel.
The schedule below uses T as cutover day. Each phase has an owner and a pass/fail test, so the checklist can be handed out and tracked as a table.
| When | Task | Owner | Pass criteria |
|---|---|---|---|
| T-8 weeks | Inventory, call-flow diagram, pick provider, collect CSR, bills and PINs | Office manager | Spreadsheet complete, port data matches the old carrier's records |
| T-7 weeks | Submit port requests, order temporary numbers | Office manager / provider | Requests accepted, no rejections |
| T-6 weeks | Network audit, bandwidth sizing, 24 to 72 hour quality tests | IT | Jitter under 30 ms, loss under 1%, one-way latency under 150 ms |
| T-5 weeks | Router and firewall changes, VLAN, QoS, PoE budget, failover WAN | IT | SIP ALG off, markings preserved, failover tested |
| T-4 weeks | Device compatibility, firmware, provisioning, ATAs for analog | IT | Test phones register and place calls |
| T-3 weeks | E911 addresses, alarm and fax approvals, features and integrations | IT / facilities | Addresses validated, monitoring company approved |
| T-2 weeks | Pilot group live on temporary numbers, training sessions | IT / managers | Pilot passes the full test list |
| T-1 week | Confirm FOC date, go/no-go meeting, forwarding fallbacks ready | Project lead | All boxes ticked or written exceptions |
| T-0 | Port completes, cutover, test calls | IT / provider | Test list passes |
| T+1 week | Hypercare, fix list, cancel old services only after sign-off | IT | No open severity 1 issues |
How do I inventory the old PBX before migrating?
Export everything into one spreadsheet before talking to providers, because every missed item becomes a post-cutover outage. Use one tab per object type so each can be mapped to the new platform.
Draw the call flow as a diagram: inbound number, then time-of-day rule, then IVR or auto-attendant, then queue or ring group, then voicemail. Walking it from the diagram exposes after-hours and holiday routes that nobody remembers.
- List every DID, with its carrier, destination and whether it is a main number, direct line, fax or toll-free.
- List extensions with user, device type, MAC address, voicemail box and features such as pickup groups or call forwarding.
- Record hunt groups, ring groups, queues, IVR menus with recordings, time-of-day and holiday rules, speed dials and music on hold.
- List every analog line: fax, alarm, elevator, fire panel, card terminals, door phones, paging.
- Mark unused extensions, dead DIDs and legacy features to drop. Porting and paying for numbers nobody uses is wasted money.
- Review the contract term and early termination fee on the old PBX and carrier, and note notice periods.
How much bandwidth does hosted VoIP need per call?
Budget about 87 kbps per call each way for G.711 and about 31 kbps for G.729, both including IP, UDP and RTP overhead at 20 ms packetization. Opus is variable, so size it from the provider's stated range.
Calls are symmetric, so upload is usually the bottleneck on cable and DSL. The formula is peak concurrent calls times per-call rate, plus about 25% headroom for registration, provisioning, and other traffic.
Worked example: 20 peak concurrent G.711 calls is 20 x 87 = 1,740 kbps, plus 25% is about 2.2 Mbps of upload and the same of download, reserved for voice. If a 10 Mbps upload link is also used by cloud backups, cap the backup rate or the calls will suffer.
What network quality should I measure before switching?
Measure toward the provider's points of presence over hours or days, including peak times. A single quiet-hour test hides congestion.
Targets: jitter under 30 ms, packet loss under 1%, and one-way latency under 150 ms (roughly 300 ms round trip). Most providers publish a test host or a test tool, so use theirs where offered.
# Path quality over 100 cycles, report mode (loss %, avg and worst latency per hop)
mtr -rwc 100 sip.provider.example
# Sustained UDP jitter and loss test (needs an iperf3 server reachable)
iperf3 -c test.provider.example -u -b 2M -t 60 -R
# Basic latency trend, run during busy hours
ping -c 300 -i 0.5 sip.provider.example | tail -3 How should I set up the router, firewall, VLANs and QoS?
Put phones on a separate voice VLAN so broadcast traffic and PCs do not compete with them, and so you can apply QoS and ACLs cleanly. Check the PoE budget: add up phone wattage (often 2 to 7 W each, more with color screens or expansion modules) and compare with the switch total, not just per-port limits.
Mark RTP as DSCP EF (46) and SIP signaling as CS3 (24) or AF31 (26). Confirm switches and the router trust and queue on these markings. QoS only controls your own link; once packets enter the internet, markings are usually ignored, so it helps most when the WAN uplink is saturated.
On the firewall, disable SIP ALG. It rewrites SIP packets and is a top cause of one-way audio, failed registrations and dropped calls. Then allow the provider's published SIP and RTP ranges (commonly UDP 5060 or TCP/TLS 5061 for SIP, and a large UDP range for RTP; use the provider's exact list).
| Item | Setting | Why |
|---|---|---|
| SIP ALG | Disabled | Prevents rewritten headers and broken media |
| UDP NAT timeout | 60 seconds or longer, with phone keepalives enabled | Idle mappings expire and cause missed inbound calls |
| Phone IPs | DHCP reservations or static | Stable ACLs and easier troubleshooting |
| DNS | Two reliable resolvers | Provider hostnames and SRV records must resolve |
| Failover WAN | Second ISP or LTE/5G with tested failover | Single internet link is the new single point of failure |
| RTP DSCP | EF (46) | Priority queue for voice |
| SIP DSCP | CS3 (24) or AF31 (26) | Keeps signaling ahead of bulk data |
How long does number porting take, and how do I avoid rejections?
Simple local numbers typically take about 1 to 2 weeks. Complex ports, toll-free numbers and large multi-line ports can take several weeks, so submit at T-7 or T-8 weeks. The provider gives a Firm Order Commitment (FOC) date, which is the scheduled port date; build the cutover around it.
Most rejections are data mismatches. The request must match the old carrier's records exactly: account name, service address, billing telephone number (BTN), account number and PIN. Get a recent bill and a Customer Service Record (CSR) to copy from.
Do not cancel the old carrier until the port completes, because cancelling can release the numbers and lose them. In the meantime, use temporary numbers and forward the old lines to them for testing.
- Request the CSR and a recent bill from the current carrier.
- Copy the exact account name, address, BTN, account number and PIN into the port request.
- Submit the request and order temporary numbers for pilot users.
- Fix any rejection the same day; each rejection resets the timeline.
- Confirm the FOC date and schedule a staged port if numbers are numerous.
- After the port and a one-week soak, cancel the old services.
How do I handle phones, E911, fax and alarm lines?
Check each handset model against the provider's supported list (Poly, Yealink, Cisco and others). Reflash firmware to a supported version, then provision with zero-touch: DHCP option 66 pointing to the provisioning URL, or the manufacturer's redirect service. Analog phones, fax machines and paging systems need ATAs or analog gateways. Plan headsets, conference phones and softphones for remote staff.
For emergency calling, register a dispatchable address for every physical location and every remote user, including floor and suite. In the US, Kari's Law requires direct 911 dialing without a prefix on multi-line systems and notification, and RAY BAUM'S Act requires dispatchable location information. Set up internal notification to security or reception when anyone dials 911, and test using the provider's guidance (many have a test number or process; do not simply place live calls).
Alarm panels, elevator phones, fire panels and card terminals are the lines most often forgotten. Keep them on POTS or a cellular alternative unless the vendor approves VoIP. If you do move them, use a G.711-only ATA, disable echo cancellation and compression on that port, test T.38 for fax, and get the alarm monitoring company to approve in writing.
What cutover and rollback plan should I use?
Features need checking too: call recording and compliance retention, CRM integration, voicemail-to-email, outbound caller ID name and number, 10DLC registration if you send SMS, directory listings, music on hold and after-hours routing.
Run a pilot group first on temporary numbers. Schedule the real cutover in an after-hours or low-volume window, port in stages if the number set is large, and give users quick reference guides and a training session beforehand. Provide hypercare support for the first week with a visible contact.
Cutover test list: inbound to each main number, outbound with correct caller ID, transfers, voicemail and email delivery, IVR and after-hours paths, fax, and a provider-approved emergency call test.
| Symptom after cutover | Likely cause | Action |
|---|---|---|
| One-way audio | SIP ALG or blocked RTP range | Disable ALG, check firewall RTP rules |
| Phones drop registration | NAT timeout too short | Enable keepalives, raise UDP timeout |
| Choppy audio at peak | Undersized upload or no QoS | Cap other traffic, apply QoS, upgrade link |
| Number not ringing | Port incomplete or wrong routing | Check FOC status and routing in portal |
| Fax fails | Compression or no T.38 | G.711 on ATA, test T.38, lengthen timeouts |
- Go/no-go one day before: pilot passed, FOC confirmed, E911 loaded, failover tested, staff briefed.
- Set a rollback time limit, for example 2 hours after cutover begins, and name who decides.
- If a critical failure appears (inbound calls failing, 911 untested, widespread audio faults) and cannot be fixed within the limit, repoint or forward numbers back to the old PBX.
- If numbers have already ported, forward them from the new provider to mobile numbers or the old system's lines while fixing.
- Keep the old PBX and carrier lines live until all ports are complete and the first week is clean.
Common questions
What should I check before switching to hosted VoIP?
Check upload bandwidth against peak concurrent calls, measure jitter, loss and latency to the provider over several days, and confirm the router lets you disable SIP ALG. Also confirm phones are supported, number porting data is accurate, and analog lines have a plan.
Can I keep my existing phone numbers when moving to a cloud PBX?
Usually yes, through number porting, as long as the new provider supports the number type and the request matches the old carrier's records exactly. Keep the old service active until the port completes so the numbers are not released.
Do I need a separate internet connection for VoIP?
Not required, but a second link with automatic failover is strongly advised, since the internet connection now carries all calls. A cellular or secondary ISP link, with forwarding to mobile numbers as a fallback, limits outage impact.
Will my existing desk phones work with a hosted provider?
Often, if the model is on the provider's supported list and can be reflashed to a compatible firmware and provisioned by DHCP option 66 or a redirect service. Older or proprietary phones usually need replacing, and analog devices need ATAs.
Who needs to be told when the E911 address changes?
The hosted provider holds the dispatchable address, so update it in their portal whenever a site moves or a remote user changes location. Also tell internal security or reception so that 911 notifications reach the right people.