Edit

Share via


Microsoft Teams Phone capabilities in Calling and Call Automation SDKs

This article describes which Microsoft Teams Phone capabilities Azure Communication Services Calling and Call Automation SDKs support for Teams Phone extensibility.

Important

This feature of Azure Communication Services is currently in preview. Features in preview are publicly available and can be used by all new and existing Microsoft customers.

This preview version is provided without a service-level agreement, and we don't recommend it for production workloads. Certain features might not be supported or capabilities might be constrained.

For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Prerequisites

  • Teams users must have a Teams Phone license.
  • Teams users must be Enterprise Voice enabled.
  • Agents in Azure Communication Services applications support the capabilities in the following table. Teams users aren't supported.

Teams Phone capabilities

The following list of capabilities is supported for scenarios where at least one phone number participates in 1:1 or group calls:

Group of features Capability (from TPE perspective) Client Calling SDK Call Automation
Connectivity Teams calling plans ✔️ ✔️
Teams direct routings ✔️ ✔️
Teams operator connect ✔️ ✔️
Outbound Calling Place outbound calls using Teams service phone number ✔️ ✔️
Receive early media when placing outbound calls ✔️ N/A
Inbound calling Support incoming PSTN call to Teams service phone number answered by call automation app and routed to agent ✔️ ✔️
Reject inbound call to Teams service phone number ✔️ ✔️
Mid-call actions (signaling) Leave a connected call (without terminating the call) ✔️ ✔️
Terminate the entire call (ending the call for all participants) ✔️ ✔️
Add an agent to an ongoing call ✔️ ✔️
Add external phone number from an ongoing call ✔️ ✔️
Add a Teams user to an ongoing call
Cancel an already initiated add participant request, as long as the the target agent / phone number has yet to accept the call invite ✔️
Remove a call participant from ongoing call ✔️ ✔️
Dial out to same phone number multiple times in a call
Transfer the end user from ongoing 1:1 call to another agent or external phone number ✔️ ✔️
Transfer the end user from ongoing group call to another agent or external phone number ✔️
Transfer the end user from ongoing 1:1 call to a Teams user
Transfer the end user from ongoing group call to a Teams user
Retrieve call properties (GetCall) N/A ✔️
Send custom context as part of call invite (AddParticipant and Transfer) ✔️ ✔️
Receive custom context as part of call invite (AddParticipant and Transfer) ✔️ ✔️
Send and receive SIP headers (UUI and X-header) as part of call invite to and from SIP endpoints N/A ✔️
Mid-call actions (media) Developer can play audio (from audio file or text/SSML) to target participant (end user or an agent) N/A ✔️
Developer can play audio (from audio file or text/SSML) to all call participants N/A ✔️
Developer can recognize DTMF input from a particular call participant (end user or agent) N/A ✔️
Developer can recognize speech (phrases or free form using speech-to-text feature) input from a particular participant (end user or agent) N/A ✔️
Send DTMF tones, manually, to a PSTN participant in a 1:1 call to navigate the calling party’s IVR (no DTMF buffering) ✔️ ✔️
Send DTMF tones, manually, to a specific PSTN participant in a group call to navigate the calling party’s IVR (no DTMF buffering) ✔️
DTMF buffering support
Cancel all Media Operations ✔️
Start continuous DTMF Recognition from end user N/A ✔️
Stream real-time transcript of the call to a WebSocket N/A ✔️
Mute other VoIP participants (such as other agents) ✔️ ✔️
Mute other PSTN users
Place call on hold and take call off hold (1:1 call only) ✔️
Play music to the participant put on hold ✔️
Developer/agent can stream real-time audio out of the call to a WebSocket N/A ✔️
Mid call media controls and device management Existing Client Calling capabilities conform to Calling SDK Features ✔️
Accessibility Agent can turn on Teams closed captions N/A
Emergency calling Agent can make an emergency call ✔️ N/A
Honor Security desk policy for emergency calls ✔️ N/A
Provide a statically registered emergency address for Teams calling plans, Operator Connect, and Direct Routing for emergency calls ✔️ N/A
Roster management List call participants ✔️ ✔️
Adding Teams user honors Teams federation & external access configuration (tenant to tenant federation)
Recording Teams convenience and compliance recording
Azure Communication Services Recording ✔️ ✔️
Conversational AI Developers can use the Recognize API to build conversational AI experiences in their IVRs or conversational AI bots. Recognize API uses Azure AI speech models for NLU N/A ✔️
Developers can use their custom AI models when using the Recognize API so that industry/organization specific speech recognition can be used for conversational AI experiences. Recognize API would use custom AI speech models for NLU N/A ✔️
Developers can use Outbound Audio Streaming to connect their IVRs for conversational AI experiences N/A ✔️
Developers can use Play API to play audio prompts for conversational AI experiences N/A ✔️
Advanced call routing Does start a call and add user operations honor forwarding rules
Read and configure call forwarding rules
Does start a call and add user operations honor simultaneous ringing
Place a phone call honors location-based routing
Does start a call and add user operations honor shared line configuration
Start a phone call honoring dial plan policy ✔️ ✔️
Park a call
Be parked
DevOps Developers can access API operational metrics under Azure Metrics ✔️ ✔️
Developer can access call diagnostics under Call Diagnostics Center ✔️ ✔️
Developers can subscribe to get API and call logs under Azure Monitor ✔️ ✔️
Developers can get insights about their resource usage under Azure Communication Services Insights ✔️ ✔️
Developers can subscribe to receive call state and roster changes events via Event Grid: Azure Communication Services Voice and video calling events
Call restrictions Call restriction policies assigned to the Teams Resource account are honored ✔️ ✔️

* Participants joining via phone number can't see video content. So actions involving video don't affect them but can apply when VoIP participants join.

Next steps