Skip to main content
A 1,200-seat enterprise customer is consolidating onto Microsoft 365 and wants their voice on Teams Direct Routing. The carrier owns the SBC side and the carrier-grade SIP trunks. The migration covers the discovery, the SBC and dial plan, the DID port from the legacy carrier, phased user cutover, training, and the decom of the legacy PBX.

Systems involved

SystemRole
HubSpot / SFDCCustomer record and project plan.
Microsoft Graph / Teams AdminDirect Routing configuration on the M365 tenant.
AudioCodes / Ribbon SBCCarrier-side SBC for Teams.
Legacy carrierDID port-out coordination.
Bandwidth / TelnyxNew carrier hosting the SIP trunk to the SBC.
Studio terminalSSH to SBC for trunk and translation rules.
ConnectWise PSAProject tasks, hours, and customer touchpoints.
Microsoft Teams #proj-acme-tdrProject channel with the customer’s IT team.
Gmail / OutlookCustomer comms and porting LOAs.
Studio ProceduresTeams Direct Routing migration runbook.

Walkthrough

1

Discovery call

Open a shared Studio session with the customer’s IT team. Walk through current PBX, dial plan, call queues, IVRs, recording requirements, e911 posture. Recorded for the project archive.
2

Provision the SBC

SSH to the AudioCodes SBC. Stage the trunk to the carrier, the trunk to the customer’s M365 tenant (with the right Teams certificate trust), the translation rules for E.164 and the customer’s internal extension format, and the SBA failover for the customer’s branches.
3

Configure Teams Direct Routing

Through the Microsoft Graph connector, configure the M365 tenant: PSTN gateway, voice routes, voice-routing policies, dial plans. Apply the trial policy to a pilot group of five users.
4

Pilot validation

Pilot users place test calls inbound and outbound. Copilot watches the SBC and Teams CDR, confirms audio bidirectional, ringing presents correctly, voicemail routes to the right place. Pilot signs off.
5

DID port-in plan

File port-in LOAs through the carrier API for the customer’s DIDs in three batches by department. Each batch has a confirmed FOC date.
6

Phased cutover

On each FOC date, run the cutover procedure for the affected users: enable Teams Calling, assign DID, post the welcome message in their Teams chat, deactivate the legacy PBX extension. The procedure pauses for 30 minutes between batches to catch any patterns.
7

Training

For each phase, deliver a 15-minute training video (recorded shared session) attached to the user’s welcome message. Office hours posted in the project channel for the cutover week.
8

Decom legacy PBX

Two weeks after the final cutover, with no PSAP fallback dependencies left, schedule the legacy PBX decom. Final config backups taken, hardware powered down, contracts terminated.
9

Project closure

Generate the project closure report: scope completed, hours used, issues encountered, user feedback summary, post-cutover SLA performance. Sent to the customer sponsor through Gmail.

Where Studio earns its keep

  • The SBC, the M365 tenant, and the carrier port-in coordinate from one workspace, with the customer’s project channel in the same view.
  • The pilot validation is done with real calls and real CDRs, not a hopeful sign-off on a config screenshot.
  • Phased cutovers gate on the previous batch’s quiet — a problem at batch one stops batch two before it starts.
  • Decommission only happens when the procedure confirms no inbound paths still depend on the legacy PBX, which is the kind of mistake that creates a 3 a.m. incident in week three otherwise.

Procedures

Teams Direct Routing migration with tenant ID as the argument.

Shared sessions

Use shared sessions for the discovery call and the recorded training.