Migrating Existing Phones
This guide applies when a customer keeps phones they already own instead of buying new hardware. A supported phone that was registered to another provider can be moved onto DialStack: you factory-reset it to clear the previous provider's configuration, then provision it like any new device.
Supported vendors
Existing phones can be migrated if they are supported by provisioning — Snom, Yealink, and Poly. The set of supported models changes over time, so before committing to migrate a customer's fleet, contact support to confirm the specific models are currently supported.
Before you start
Run through this checklist before touching any phone:
- Confirm the model is supported. Check with support if in doubt — an unsupported phone can't be migrated and the customer will need new hardware.
- Collect each phone's MAC address. It is printed on the label on the back or bottom of the unit.
- Check for a previous zero-touch registration. If a phone was deployed through another provider's zero-touch service, it may still be tied to that provider. See Previous-provider zero-touch lock below.
- Keep the previous provider's SIP credentials. DialStack never sees or stores them, and a factory reset erases them from the phone — if the swap has to be rolled back, they are the only way to re-register the phone with the previous provider.
- Add each device in the admin portal by MAC address. See Managing Devices.
- Have the provisioning URL ready. It lives on the Account Settings page under the Provisioning section.
- Pick a provisioning method. See Choosing a provisioning method below.
Factory reset procedures
A factory reset removes all SIP accounts and settings, including the previous provider's configuration — that is the point, and it is required before the phone can take its DialStack configuration. Make sure the previous provider's credentials are saved somewhere first (see the checklist above).
Snom (D-series)
- Phone menu: Settings → Maintenance → Reset Values → enter the admin password (default:
0000) → confirm. On D86x models the path is Settings → System → Advanced → Factory reset. - Web UI: open
http://[phone-IP]in a browser → Advanced → Update → Reset. On D86x models, open the Info menu in the top right of the Phone Manager page and select Trigger Factory Reset.
After the reset the phone shows "Initializing" and pulls a new configuration on reboot.
Yealink (T-series)
- Phone menu: Menu → Advanced (password:
admin) → Reset Config → Reset to Factory. - Web UI: open
http://[phone-IP]→ Settings → Upgrade → Reset to Factory Default. - Most models: hold the OK key for 10 seconds, then confirm the "Reset to Factory" prompt.
Poly (VVX series)
- Phone menu: Home → Settings → Advanced (password:
456) → Administration Settings → Reset to Defaults → Reset to Factory. - Web UI: open
https://[phone-IP]→ Utilities → Phone Backup & Restore → Global Settings → Restore.
DECT base stations
For DECT systems, factory-reset the base station — the handsets re-pair with the base afterwards and don't need a separate reset.
Snom M500:
- Base: press and hold the LINK button for at least 20 seconds until all LEDs turn off (or hold the recessed reset button on the rear for 15 seconds).
- Web UI: open
http://[base-IP]→ Servicing → Provisioning → Reset Configuration → Reset.
Snom M700 / M900:
- Base: press the recessed reset button (use a paper clip) for 10 seconds, until the LED turns solid red.
- Web UI: open
http://[base-IP]→ Management → Default Base Station (bottom of the page).
Poly Rove (B2 / B4):
- Web UI: open
http://[base-IP](default loginadmin/admin) → System Management → Device Maintenance → Reset Configuration → Reset. - Base: the base also has a recessed reset button; see the vendor's documentation for the hold sequence, as it varies by firmware (and the button can be disabled by configuration).
Choosing a provisioning method
After the reset, the phone needs to discover DialStack. The three methods are covered in Phone Provisioning; in a migration context:
| Method | When to use |
|---|---|
| Manual URL | Phones on a bench, one-off swaps, or while a zero-touch transfer is pending |
| DHCP Option 66 | You (or the customer) control the site's DHCP server |
| Zero-touch | Snom phones with no previous zero-touch registration |
Previous-provider zero-touch lock
A phone that was deployed through another provider's zero-touch service stays registered with that provider until the registration is transferred. Symptoms: after a factory reset the phone is redirected to the previous provider's server and never shows the DialStack configuration.
Snom: when you add such a device by MAC address, the zero-touch registration attempt is refused and a transfer request is opened automatically — no support ticket needed. Our team handles the transfer, which typically takes a couple of days. If the swap can't wait, provision the phone with the Manual URL method in the meantime; the zero-touch transfer only matters for future factory resets.
Yealink and Poly: zero-touch isn't used for these vendors, so a leftover registration with the previous provider's redirection service isn't detected automatically. If a phone keeps reaching the old provider after a factory reset, provision it with the Manual URL method (which overrides the redirection), and contact support if it still won't take the DialStack configuration.
Who does what
| Step | Platform | Customer |
|---|---|---|
| Verify the phone is supported | ✓ | |
| Collect MAC addresses | ✓ | |
| Add devices in the admin portal | ✓ | |
| Factory reset the phones | ✓ | ✓ |
| Connect phones to the network | ✓ | |
| Provide the provisioning URL (manual method) | ✓ | |
| Confirm calls are working | ✓ | ✓ |
Factory resets can be done by either side: by the platform when phones are staged on a bench, or by the customer on-site following the vendor steps above.
Failure modes and rollback
Phone keeps pulling the old provider's configuration. This is the zero-touch lock described above. For Snom, the transfer request opens automatically when the device is added and our team handles it — typically a couple of days. For Yealink and Poly, use the Manual URL method; contact support if the phone still won't take the configuration. In all cases, Manual URL is the fastest path while a transfer is pending.
Provisioning fails after the reset. The phone boots but stays on "Initializing" or shows registration errors:
- Verify the MAC address was entered correctly on the Devices page.
- Check that the account's provisioning token hasn't been rotated since the device was added.
- Confirm the phone can reach the provisioning URL from the customer's network over HTTP/HTTPS.
The device setup checklist on the device detail page shows exactly how far the phone has gotten.
Rollback. To reverse a swap, factory-reset the phone again and have the previous provider re-register it on their end. DialStack never stores the previous provider's SIP credentials — this only works if they were retained before the swap (checklist step 4).