# Teams contact center integration models

Canonical: https://warmtransfer.net/knowledge/teams-contact-center-integration

Last verified: 2026-09-14

Microsoft Learn defines three integration models for contact center solution providers: Unify, Extend, and Connect[^26]. Contact center integration with Teams Phone is supported for organizations seeking business tools and workflows beyond native Teams auto attendants and call queues[^23].

The Contact center for Microsoft Teams certification program verifies that participating provider solutions meet the quality, compatibility, and reliability expected of Microsoft solutions[^4]. Microsoft states that the published feature highlights for Extend and Connect do not form an exhaustive list of capabilities for those integration models[^18].

## Unify model (Teams Phone extensibility)

The Unify integration model enables solution providers to develop native Azure Communication Services-based CCaaS applications using Teams calling infrastructure[^54]. Microsoft's third-party voice agents planning documentation explicitly equates the Teams Phone Unify integration model with Teams Phone extensibility and links it directly to Azure Communication Services documentation[^57]. The model extends Teams Phone into CCaaS using Azure Communication Services call automation, the Azure Communication Services calling SDK, OpenAI, and other Microsoft tools[^58].

### Licensing and provisioning prerequisites

Teams Phone extensibility requires enterprise voice enabled and a Teams Phone license assigned to each agent[^28]. The associated Teams resource account requires a Microsoft Teams Phone Resource Account license, which Microsoft states is included with the Teams Phone license[^47].

Provisioning requires the following administrative actions:
- A Teams administrator must assign the CCaaS provider's Azure Communication Services resource ID to the Teams resource account[^45].
- In the quickstart, the resource account must be provisioned using Teams PowerShell cmdlets (`New-CsOnlineApplicationInstance`, `Set-CsOnlineApplicationInstance` with `-AcsResourceId`, and `Sync-CsOnlineApplicationInstance`), with the Teams Admin Center identified as out of scope for this procedure[^41].
- The `ApplicationId` used during resource account creation must match the CCaaS provider's third-party bot ID; first-party Teams application IDs are unsupported[^53].
- After resource account setup, the CCaaS administrator must complete a one-time server consent process to authorize the CCaaS service to receive Teams calls[^51].
- To comply with data boundary regulations, the quickstart specifies that the Azure Communication Services resource's data location should align with the Teams tenant location[^31].
- The Microsoft Graph API used by developers to list resource accounts (`admin/teams/resourceAccounts`) appears on the beta endpoint in the quickstart, which Microsoft states is unsupported for production use[^46].

### Call routing, multi-persona, and controls

Teams Phone extensibility supports Teams Calling Plans, Operator Connect, and Direct Routing for PSTN connectivity[^44]. For the Teams Phone integration component of Teams Phone extensibility, the current release exclusively supports Teams Phone service numbers[^52].

Inbound PSTN calls to the resource account phone number trigger an Incoming Call Event Grid notification to the associated Azure Communication Services resource, which the CCaaS server application answers via the Call Automation SDK[^34]. Third-party IVR bots can receive calls routed from Teams Auto Attendants and Teams Call Queues (including queue overflow, timeout, and no-agent-available states) as first-class entry points[^27]. Microsoft lists 3 entry points for third-party voice agent integrations: direct routing to the voice agent, Teams Phone Agent or auto attendant routing, and call queue exception-handling routing[^1].

Outbound and mid-call controls operate under specific constraints:
- An agent using a CCaaS client can initiate outbound PSTN calls on behalf of a Teams resource account using the Calling SDK `onBehalfOfOptions` parameter, presenting the resource account caller ID to external parties[^37].
- Personal phone numbers assigned to Teams users cannot be used for outbound CCaaS PSTN calling and are restricted to emergency calling[^40].
- Overriding caller identification via `SourceCallerIdNumber` or `SourceDisplayName` on a `CallInvite` is unsupported and generates error 400 code 8523[^29].
- Microsoft does not recommend the Call Automation `Redirect` option for CCaaS scenarios, strongly recommends `AddParticipant` for adding CCaaS agents, and states that `Redirect` is not supported for on-behalf-of use cases[^49].
- In multi-persona configurations, Teams policy determines whether the Calling SDK client or Teams client rings for inbound calls; no API exists to configure this behavior[^50].
- Multi-persona call history is isolated by client: CCaaS calls do not display in Teams, and Teams calls do not display in the CCaaS client[^33].
- To synchronize agent presence between personas, ISVs use standard Microsoft Graph presence APIs, which Microsoft notes ISVs already execute in Connect and Extend models[^42].
- For emergency calls originating from a custom CCaaS client, PSAP callbacks ring both the CCaaS and Teams clients; calls placed from the Teams client receive callbacks on the Teams client only[^43].

### PSTN connectivity and carrier billing rules

Since 1 November 2025, standard Calling Plan licenses assigned to Teams resource accounts cannot be used for on-behalf-of or server-initiated outbound PSTN calls in Teams Phone extensibility; resource accounts require a Pay-As-You-Go Calling Plan license backed by Communications Credits or telco overage[^39]. Microsoft states that Direct Routing numbers are not affected by the 1 November 2025 Teams Phone extensibility outbound licensing change[^32]. Microsoft says that from 1 November 2025 Teams Phone extensibility on-behalf-of and server-initiated outbound calls over Operator Connect may change depending on the carrier, and may fail without carrier adjustments[^38].

For proactive outbound participant moves, latency optimization applies automatically on Calling Plan, requires carrier configuration on Operator Connect, and was not applied to Direct Routing at publication[^36]. 

CCaaS vendors incur Azure Communication Services charges for Calling SDK and VoIP consumption for each call leg established between the CCaaS agent and the call automation bot[^35]. Base Teams user licenses do not cover consumption generated inside third-party apps or extensions, routing billable consumption to Graph API or Azure Communication Services resources[^22]. Call recording in the initial release centers on Azure Communication Services Call Recording for inbound and outbound CCaaS paths[^48].

As of the August 2026 documentation update, AudioCodes (VoCA Conversational Interaction Center) is the only certified provider listed for the Teams Unify Integration Model for voice agents[^59].

## Extend model

The Extend integration model integrates directly into the Teams client platform using Microsoft Graph Cloud Communications APIs and Teams Graph APIs[^13]. In this architecture, all contact center call processing and call control operations rely on the Teams Phone system[^16].

Feature highlights specify Teams as the primary calling endpoint, centralizing call controls within the Teams client UI[^15]. In this deployment model, the CCaaS solution provider functions as a telephony carrier alongside Microsoft 365[^14].

### Media and recording constraints

Microsoft's licensing terms explicitly prohibit using Microsoft Graph Cloud Communications APIs to record, persist, or extract derived data from call media[^17]. WarmTransfer's reading of the sources is that Extend-model implementations cannot rely on Graph Cloud Communications APIs for contact center media recording and must rely on an alternative mechanism[^19].

Where solutions implement application-hosted media bots, Microsoft requires that production bots be written in C# or.NET and hosted on a Windows Server guest operating system inside Azure, explicitly excluding deployment via Azure web apps[^3]. Microsoft notes that the underlying Real-time Media Platform for bots remains in developer preview and is subject to change[^2].

## Connect model

The Connect integration model links CCaaS platforms to Teams Phone infrastructure via Microsoft-certified session border controllers (SBCs) and Direct Routing[^9].

Key capabilities and licensing requirements include:
- Support for multitenant SIP trunking, permitting a single provider-hosted SBC to serve multiple customer tenants[^7].
- Office 365 authentication enabling agents to authenticate against their Microsoft tenant from the CCaaS application[^8].
- Teams agent availability reporting and support for transfers and group calls with Teams users[^6][^10].
- Agents operating within the external CCaaS platform do not require a Teams Phone System license; conversely, any Teams user targeted for call transfers must have an active Phone System license and assigned phone number[^5].

Microsoft limits Direct Routing support solely to certified SBC appliances, reserving the right to decline support incidents involving uncertified hardware[^11]. Microsoft is currently not accepting new vendor nominations for Direct Routing SBC certification[^12].

## Support boundaries

Microsoft requires third-party voice agent solutions to originate from certified partners; end users must initiate support requests with the solution provider first, and Microsoft may reject support cases involving uncertified voice agents[^60]. WarmTransfer's reading of the sources is that deploying uncertified SBC hardware in the Connect model or uncertified third-party voice agents in the Unify model risks placing affected user cohorts outside Microsoft's technical support boundary[^20].

## See also

See also [Microsoft Teams Phone architecture and licensing](https://warmtransfer.net/knowledge/teams-phone-architecture).
See also [Teams Phone Direct Routing and SBC certification](https://warmtransfer.net/knowledge/teams-direct-routing).
See also [Teams Operator Connect and Azure Communication routing](https://warmtransfer.net/knowledge/teams-operator-connect).
See also [Teams voice routing policies and dial plans](https://warmtransfer.net/knowledge/teams-voice-routing).

## Applicability

Applies to: Microsoft Teams Phone, Microsoft Azure Communication Services, Microsoft Graph, and Microsoft Teams platform. Deployments: multi-tenant. Sources checked 2026-09-14. Specific policy and licensing changes for Teams Phone extensibility outbound calling took effect on 1 November 2025[^39]. The certified voice agent listing for the Unify model reflects status as of the August 2026 update[^59]. The Graph API endpoint `admin/teams/resourceAccounts` applies to Graph beta[^46].

## What remains uncertain

The following operational aspects are not covered by the sources below:
- A capabilities matrix for Calling and Call Automation SDKs under Teams Phone extensibility is not covered by the sources below.
- Teams compliance recording certification and its interaction with Extend and Unify models is not covered by the sources below.
- Explicit general availability (GA) or preview designations and service level agreements (SLAs) for Teams Phone extensibility are not covered by the sources below.
- Current Azure Communication Services billing rates for Teams Phone extensibility call legs, recording, and transcription are not covered by the sources below.
- The availability of Teams Phone extensibility and contact center certification across government clouds (GCC, GCC High, and DoD) is not covered by the sources below.
- The use of Teams Phone extensibility by Dynamics 365 Contact Center is not covered by the sources below.
- Reconciliation of quickstart documentation with outbound licensing connectivity-cost rules is not covered by the sources below.
- The Teams Queues app and Teams Premium features as native CCaaS alternatives are not covered by the sources below.

## Sources

[^1]: Microsoft lists three places to use third-party voice agent integration: Teams Phone Agent or auto attendant routing, call queue exception-handling routing, and direct routing to the voice agent. Source: [Planning - Third-party voice agents - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/aa-cq-plan-third-party-voice-agents), section 'Third-party voice agents', numbered list. Checked 2026-09-14.
[^2]: Microsoft's application-hosted media bot guidance states that the Microsoft Real-time Media Platform for bots is in developer preview and the guidance is subject to change. Source: [Build Application-hosted Media Bots - Teams](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/calls-and-meetings/requirements-considerations-application-hosted-media-bots), Note directly after the introduction. Checked 2026-09-14.
[^3]: Production application-hosted media bots for Teams must be built in C# or .NET and deployed on a Windows Server guest OS in Azure, and cannot be deployed as an Azure web app. Source: [Build Application-hosted Media Bots - Teams](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/calls-and-meetings/requirements-considerations-application-hosted-media-bots), introduction and section 'C# or .NET and Windows Server for development'. Checked 2026-09-14.
[^4]: The Contact center for Microsoft Teams certification program verifies that each participating provider's solution provides the quality, compatibility and reliability expected from Microsoft solutions. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), section 'Contact center for Microsoft Teams certification program', first paragraph. Checked 2026-09-14.
[^5]: A note on the Connect tab states that an agent using the contact center solution does not need a Phone System license, while the Teams user needs a Phone System license and a phone number for the agent's call transfer. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', Note after 'Feature highlights'. Checked 2026-09-14.
[^6]: Connect feature highlights include availability reports of agents with Teams. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', 'Feature highlights' bullet 2. Checked 2026-09-14.
[^7]: Connect feature highlights include multitenant SIP trunking so that one solution-provider SBC can support several customers. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', 'Feature highlights' bullet 5. Checked 2026-09-14.
[^8]: Connect feature highlights include Office 365 authentication so agents can connect to their Microsoft tenant from the integrated CCaaS client. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', 'Feature highlights' bullet 1. Checked 2026-09-14.
[^9]: The Connect integration model uses Microsoft-certified session border controllers and Direct Routing to connect contact center solutions to Teams Phone system infrastructure. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', first paragraph. Checked 2026-09-14.
[^10]: Connect feature highlights include transfers and group call support with Teams. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Connect integration model', 'Feature highlights' bullet 3. Checked 2026-09-14.
[^11]: Microsoft only supports Phone System with Direct Routing when it is used with certified SBC devices, and reserves the right to reject support cases involving non-certified devices. Source: [Session Border Controllers certified for Direct Routing - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-border-controllers), Note in the introduction, before the firmware example. Checked 2026-09-14.
[^12]: Microsoft states it is not accepting new nominations for Direct Routing SBC certification until further notice. Source: [Session Border Controllers certified for Direct Routing - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-border-controllers), sentence immediately before the 'Certified SBC vendors' heading. Checked 2026-09-14.
[^13]: The Extend integration model integrates with the Teams client using the Teams client platform, Teams Graph APIs and the Cloud Communications API in Microsoft Graph. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Extend integration model', first paragraph. Checked 2026-09-14.
[^14]: The Extend tab states that in the Extend model the contact center solution provider acts as a telephony carrier alongside Microsoft 365. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Extend integration model', first paragraph, end of second sentence. Checked 2026-09-14.
[^15]: Extend feature highlights list Teams as the primary calling endpoint for agents and the Teams client as the place for all call controls. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Extend integration model', 'Feature highlights' bullets 3 and 4. Checked 2026-09-14.
[^16]: The Extend integration model uses the Teams Phone system for all contact center calls and call control experiences. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Extend integration model', first paragraph, second sentence. Checked 2026-09-14.
[^17]: Microsoft's terms for the Graph Cloud Communications APIs prohibit using them to record or otherwise persist media content from calls or meetings the application accesses, or data derived from that media. Source: [Working with the cloud communications API in Microsoft Graph - Microsoft Graph v1.0](https://learn.microsoft.com/en-us/graph/api/resources/communications-api-overview), 'Important' note following the introduction. Checked 2026-09-14.
[^18]: Microsoft states that the Extend and Connect feature highlight lists are not a comprehensive list of feature capabilities for those models. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tabs 'Extend integration model' and 'Connect integration model', sentence introducing 'Feature highlights'. Checked 2026-09-14.
[^19]: Inference: an Extend-model solution cannot use the Graph Cloud Communications API to record or persist contact center call media, so recording for such deployments needs a separate mechanism that this packet did not research (inferred). Source: [Working with the cloud communications API in Microsoft Graph - Microsoft Graph v1.0](https://learn.microsoft.com/en-us/graph/api/resources/communications-api-overview), 'Important' note following the introduction. Checked 2026-09-14.
[^20]: Inference: a contact center topology that relies on a non-certified Direct Routing SBC (Connect) or a non-certified third-party voice agent (Unify) can leave the affected user cohort outside Microsoft's support boundary, because Microsoft says it may reject support cases in both situations (inferred). Source: [Session Border Controllers certified for Direct Routing - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/direct-routing-border-controllers), introduction Note (support statement); combined with ms-learn-teams-voice-agents section 'Support boundaries'. Checked 2026-09-14.
[^21]: Inference: Teams Phone extensibility appears to be generally available, based on the 'general_availability' value in the ms.custom metadata of the Azure Communication Services TPE articles; none of the fetched pages states the release stage in body text (inferred). Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), page metadata field ms.custom. Checked 2026-09-14.
[^22]: Microsoft states that the Teams license does not cover usage generated in third-party Teams extensions and Teams apps; such usage generates consumption on Azure Communication Services resources or Graph API. Source: [Pricing for Teams interop scenarios - An Azure Communication Services concept document](https://learn.microsoft.com/en-us/azure/communication-services/concepts/pricing/teams-interop-pricing), section 'Communication as Teams user' > 'Teams clients' paragraph and 'APIs' paragraph. Checked 2026-09-14.
[^23]: Microsoft Learn states that integrating a contact center with Teams Phone is supported for organizations that want solutions with business tools and workflows beyond Teams auto attendants and call queues. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), section 'What is contact center integration for Microsoft Teams?', paragraphs 1 and 2. Checked 2026-09-14.
[^24]: Microsoft's certified contact center solutions page describes the same three approaches: Connect with certified SBCs and Direct Routing, Extend with Cloud Communication APIs, and Unify as native Azure Communication Services-based applications on Teams calling infrastructure. Source: [Contact center solutions certified for Microsoft Teams](https://microsoftpartners.microsoft.com/abs/contact-center-solutions/), integration model descriptions near the top of the page. Checked 2026-09-14.
[^25]: A community blog reported in April 2025 that Microsoft changed the name of the contact center integration model from Power to Unify (field report). Source: [Microsoft renames its Power integration model Unify](https://johndeletre.blog/en/2025/04/microsoft-renames-its-power-integration-model-unify/), article body, opening sentence. Checked 2026-09-14.
[^26]: Microsoft Learn's Teams Contact Center article names three integration models for contact center solution providers: Unify, Extend and Connect. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), section 'Integration models for solution providers' (bulleted list and the three tabs). Checked 2026-09-14.
[^27]: Teams Phone extensibility supports third-party IVR bots receiving calls from Teams Auto Attendants and from Teams Call Queues, including queue overflow, timeout and no-agent-available routing, as first-class entry points. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Conversational AI integration' > 'Third-party Voice Agents integration with Teams Auto Attendant and Call Queue', first paragraph and bullets. Checked 2026-09-14.
[^28]: Teams Phone extensibility requires a Teams Phone license for each agent and enterprise voice enabled. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Prerequisites', bullets 1 and 2. Checked 2026-09-14.
[^29]: Setting SourceCallerIdNumber or SourceDisplayName on a CallInvite is not currently supported in Teams Phone extensibility and returns error 400 code 8523. Source: [Teams Phone extensibility Troubleshooting - An Azure Communication Services document](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-troubleshooting), section 'Error 400 code 8523 Invalid request: SourceCallerIdNumber and SourceDisplayName aren't supported'. Checked 2026-09-14.
[^30]: Microsoft documentation is inconsistent on outbound PSTN from a Teams Phone extensibility resource account: the quickstart tells admins who plan outbound calls to assign a Microsoft Teams Calling Plan, while the connectivity-cost page says Calling Plan licenses on resource accounts no longer support on-behalf-of or server-initiated outbound calls since 1 November 2025 and a Pay-As-You-Go Calling Plan is required (disputed). Source: [Teams Phone Extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart), section 'Teams Admin: Acquire and assign a phone number to Resource Account', step 7. Checked 2026-09-14.
[^31]: The Teams Phone extensibility quickstart says the Azure Communication Services resource's data location should match the Teams tenant location to comply with data boundary regulations. Source: [Teams Phone Extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart), section 'CCaaS Developer: Receive and answer incoming call' > 'Prerequisites', Note. Checked 2026-09-14.
[^32]: Microsoft states that Direct Routing numbers are not affected by the 1 November 2025 Teams Phone extensibility outbound licensing change. Source: [Cost and Connectivity Options for Teams Phone extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-connectivity-cost), section 'Outbound calling prerequisites', Note. Checked 2026-09-14.
[^33]: In a Teams Phone extensibility multi-persona setup, call history stays within the client the call is associated with, so the Teams client does not show CCaaS calls and the CCaaS client does not show Teams calls. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Multi persona', paragraph following the call flow description. Checked 2026-09-14.
[^34]: An inbound PSTN call to the phone number on a Teams resource account triggers an Incoming Call Event Grid notification to the Azure Communication Services resource linked to that account, and the CCaaS server application answers it with the Call Automation SDK. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Call Routing' > 'Inbound PSTN call to the resource account', first paragraph. Checked 2026-09-14.
[^35]: The Teams Phone extensibility business model charges CCaaS vendors for Azure Communication Services SDK usage, including Calling SDK and VoIP consumption charged for each leg between the call automation bot and the CCaaS agent. Source: [Cost and Connectivity Options for Teams Phone extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-connectivity-cost), section 'Estimate Teams Phone extensibility cost on ISV', bullet 1. Checked 2026-09-14.
[^36]: For Teams Phone extensibility proactive outbound flows, the participant-move latency optimization is applied automatically with Calling Plan, needs a carrier configuration change with Operator Connect, and was not applied to Direct Routing at publication. Source: [Azure Communication Services Call Automation How-to for Placing TPE Calls with Call Automation](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-server-outbound-call), section 'Optimize participant-move latency for Proactive Outbound', table. Checked 2026-09-14.
[^37]: A CCaaS client can place an outbound PSTN call on behalf of a Teams resource account using the Calling SDK onBehalfOfOptions parameter, so the called party sees the resource account's caller ID. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Call Routing' > 'Outbound PSTN calls from the CCaaS application on behalf of (OBO) RA', paragraph 1. Checked 2026-09-14.
[^38]: Microsoft says that from 1 November 2025 Teams Phone extensibility on-behalf-of and server-initiated outbound calls over Operator Connect may change depending on the carrier, and may fail without carrier adjustments. Source: [Cost and Connectivity Options for Teams Phone extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-connectivity-cost), section 'Outbound calling prerequisites' > 'Operator Connect customers'. Checked 2026-09-14.
[^39]: Since 1 November 2025, Calling Plan licenses assigned to Teams resource accounts no longer support on-behalf-of PSTN outbound calls or server-initiated outbound calls in Teams Phone extensibility; the resource account needs a Pay-As-You-Go Calling Plan license plus Communications Credits or telco overage. Source: [Cost and Connectivity Options for Teams Phone extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-connectivity-cost), section 'Teams licenses requirements' > 'Outbound calling prerequisites', paragraph 1. Checked 2026-09-14.
[^40]: In Teams Phone extensibility, Teams user personal phone numbers are not supported for outbound PSTN calling and can be used only for emergency calling. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Call Routing' > 'Outbound PSTN calls from the CCaaS application on behalf of (OBO) RA', Note. Checked 2026-09-14.
[^41]: The Teams Phone extensibility quickstart has Teams admins provision the resource account with Teams PowerShell cmdlets (New-CsOnlineApplicationInstance, then Set-CsOnlineApplicationInstance with -AcsResourceId, then Sync-CsOnlineApplicationInstance) and states that Teams Admin Center is out of scope for this step. Source: [Teams Phone Extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart), section 'Teams Admin: Provision Resource Account'. Checked 2026-09-14.
[^42]: To keep agent presence in sync across Teams and CCaaS personas, the CCaaS ISV uses existing Microsoft Graph APIs to subscribe to and set Teams presence, which Microsoft says all ISVs already do in the Connect and Extend models. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Multi persona', paragraph on agent presence synchronization. Checked 2026-09-14.
[^43]: For an emergency call placed from a custom CCaaS client under Teams Phone extensibility, the PSAP callback alerts both the Teams client and the CCaaS client, whereas a call placed from the Teams client gets a callback only on the Teams client. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Multi persona', final paragraph. Checked 2026-09-14.
[^44]: Teams Phone extensibility supports Teams Calling Plans, Operator Connect and Direct Routing as PSTN connectivity options. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Prerequisites', bullet 'PSTN connectivity'. Checked 2026-09-14.
[^45]: For Teams Phone extensibility, the Teams resource account must be associated with the CCaaS provider's Azure Communication Services resource, and the Teams admin assigns that resource ID to the resource account. Source: [Teams Phone extensibility provisioning - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-provisioning), section 'Provisioning', paragraphs 1 to 3. Checked 2026-09-14.
[^46]: The Microsoft Graph API that CCaaS developers use to list Teams resource accounts for Teams Phone extensibility (admin/teams/resourceAccounts) appears in the quickstart on the beta endpoint, which Microsoft says is not supported for production use. Source: [Teams Phone Extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart), section 'CCaaS Developer: Get Resource Account Information', Note. Checked 2026-09-14.
[^47]: The Teams resource account used for Teams Phone extensibility needs a Microsoft Teams Phone Resource Account license, which Microsoft says is included in the Teams Phone license. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Prerequisites', bullet 3. Checked 2026-09-14.
[^48]: The initial Teams Phone extensibility release focuses call recording on Azure Communication Services Call Recording for CCaaS use cases on inbound and outbound calls. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Value added services' > 'Call recording', third paragraph. Checked 2026-09-14.
[^49]: Microsoft does not recommend the Call Automation Redirect option for CCaaS scenarios, strongly recommends AddParticipant for adding CCaaS agents, and states that Redirect is not supported for on-behalf-of use cases. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Mid call Controls for Call Automation SDK' > 'Call transfer', Note. Checked 2026-09-14.
[^50]: In a Teams Phone extensibility multi-persona setup there is no API to choose whether the Calling SDK client or the Teams client rings for an inbound call; Teams policy controls this. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Multi persona', call flow description step 4. Checked 2026-09-14.
[^51]: After resource accounts exist, the CCaaS administrator must authorize the CCaaS service to receive Teams calls through a one-time consent process that links the Teams resource account to the Azure Communication Services resource. Source: [Teams Phone extensibility provisioning - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-provisioning), section 'Authorization' > 'Server Authorization'. Checked 2026-09-14.
[^52]: For the Teams Phone integration part of Teams Phone extensibility, the current release supports only Teams Phone service numbers. Source: [Teams Phone extensibility overview - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-overview), section 'Overview', bullet 'Teams Phone integration'. Checked 2026-09-14.
[^53]: For Teams Phone extensibility, the resource account ApplicationId must be the CCaaS provider's third-party bot ID; Teams first-party application IDs do not work. Source: [Teams Phone Extensibility - An Azure Communication Services article](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart), section 'Teams Admin: Provision Resource Account', paragraph on New-CsOnlineApplicationInstance. Checked 2026-09-14.
[^54]: The Unify integration model enables solution providers to develop native Azure Communication Services-based CCaaS applications using Teams calling infrastructure. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Unify integration model', first paragraph. Checked 2026-09-14.
[^55]: Trade press reports that the Unify model was previously listed as 'Coming Soon' under the name 'Power' on Microsoft's certification page for several years (field report). Source: [Microsoft Launches New Contact Center Integration Model for Teams](https://www.cxtoday.com/contact-center/microsoft-launches-new-contact-center-integration-model-for-teams/), article body, paragraph describing the model's prior 'Coming Soon' listing. Checked 2026-09-14.
[^56]: Independent trade press describes Unify as a model introduced by Microsoft in 2025 that runs on Azure Communication Services and Teams Phone extensibility (field report). Source: [Microsoft Teams Contact Center Integration: Connect vs Extend vs Unify](https://www.uctoday.com/unified-communications/microsoft-teams-contact-center-integration-connect-vs-extend-vs-unify/), section describing the Unify model. Checked 2026-09-14.
[^57]: Microsoft's third-party voice agents planning article names the Teams Phone Unify Integration model as Teams Phone extensibility and links it to the Azure Communication Services Teams Phone extensibility overview. Source: [Planning - Third-party voice agents - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/aa-cq-plan-third-party-voice-agents), section 'Third-party voice agents', first paragraph (link text 'Teams Phone Unify Integration model (Teams Phone extensibility)'). Checked 2026-09-14.
[^58]: The Unify tab lists Azure Communication Services call automation, the Azure Communication Services calling SDK, OpenAI and other Microsoft tools as the resources through which Unify extends Teams Phone into CCaaS. Source: [Teams Contact Center - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center), tab 'Unify integration model', resource bullet list. Checked 2026-09-14.
[^59]: As of the page's August 2026 update, the Teams Unify Integration Model for voice agents certified-solutions table lists one provider: AudioCodes, with its VoCA Conversational Interaction Center. Source: [Teams Voice Agents integration - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-voice-agents), section 'Certified voice agents solutions', table. Checked 2026-09-14.
[^60]: Microsoft supports third-party voice agent solutions only from certified partners; customers must contact the voice agent partner first, and Microsoft may reject support cases involving non-certified solutions. Source: [Teams Voice Agents integration - Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/teams-voice-agents), section 'Support boundaries'. Checked 2026-09-14.
