Proposed Pull Request Change

title titleSuffix description author services ms.author ms.date ms.topic ms.service ms.subservice ms.custom zone_pivot_groups
Tutorial - Migrate from Twilio Video to Azure Communication Services An Azure Communication Services tutorial Learn how to migrate a calling product from Twilio Video to Azure Communication Services. sloanster azure-communication-services micahvivion 01/26/2024 how-to azure-communication-services calling template-how-to acs-plat-web-ios-android
📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Tutorial - Migrate from Twilio Video to Azure Communication Services titleSuffix: An Azure Communication Services tutorial description: Learn how to migrate a calling product from Twilio Video to Azure Communication Services. author: sloanster services: azure-communication-services ms.author: micahvivion ms.date: 01/26/2024 ms.topic: how-to ms.service: azure-communication-services ms.subservice: calling ms.custom: template-how-to zone_pivot_groups: acs-plat-web-ios-android --- # Migrate from Twilio Video to Azure Communication Services This article describes how to migrate an existing Twilio Video implementation to the [Azure Communication Services Calling SDK](../concepts/voice-video-calling/calling-sdk-features.md). Both Twilio Video and Azure Communication Services Calling SDK are cloud-based platforms that enable developers to add voice and video calling features to their web applications. However, there are some key differences between them that may affect your choice of platform or require some changes to your existing code if you decide to migrate. In this article, we compare the main features and functions of both platforms and provide some guidance on how to migrate an existing Twilio Video implementation to Azure Communication Services Calling SDK. ## Key features available in Azure Communication Services Calling SDK | **Feature** | **Web (JavaScript)** | **iOS** | **Android** | **Platform neutral** | |----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------| | **Install** | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-web#install-the-package) | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-ios#install-the-package-and-dependencies-with-cocoapods) | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-android#install-the-package) | | | **Import** | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-web#install-the-package) | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-ios#install-the-package-and-dependencies-with-cocoapods) | [✔️](../quickstarts/voice-video-calling/getting-started-with-calling.md?tabs=uwp&pivots=platform-android#install-the-package) | | | **Auth** | | | | [✔️](../quickstarts/identity/access-tokens.md?tabs=windows&pivots=platform-azportal) | | **Join** | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-web#join-a-room-call) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-ios#join-a-room-call) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-android#join-a-room-call) | | | **Start Audio/Speaker** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#device-management) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#manage-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#device-management) | | | **Mute** | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-web#mute-and-unmute) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-ios#mute-and-unmute) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-android#mute-and-unmute) | | | **Unmute** | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-web#mute-and-unmute) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-ios#mute-and-unmute) | [✔️](../how-tos/calling-sdk/manage-calls.md?pivots=platform-android#mute-and-unmute) | | | **Start Video** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#start-and-stop-sending-local-video-while-on-a-call) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#get-a-local-camera-preview) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#start-and-stop-sending-local-video) | | | **Stop Video** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#start-and-stop-sending-local-video-while-on-a-call) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#get-a-local-camera-preview) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#start-and-stop-sending-local-video) | | | **Virtual Background** | [✔️](../quickstarts/voice-video-calling/get-started-video-effects.md?pivots=platform-web) | [✔️](../quickstarts/voice-video-calling/get-started-video-effects.md?pivots=platform-ios) | [✔️](../quickstarts/voice-video-calling/get-started-video-effects.md?pivots=platform-android) | | | **Render User Video** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#render-remote-participant-videoscreensharing-streams) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#render-remote-participant-video-streams) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#render-remote-participant-video-streams) | | | **Recording** | | | | [✔️](../concepts/voice-video-calling/call-recording.md) | | **Network Bandwidth Management** | [✔️](../quickstarts/voice-video-calling/get-started-video-constraints.md?pivots=platform-web) | [✔️](../quickstarts/voice-video-calling/get-started-video-constraints.md?pivots=platform-ios) | [✔️](../quickstarts/voice-video-calling/get-started-video-constraints.md?pivots=platform-android) | | | **Quality of Service** | | | | [✔️](../concepts/voice-video-calling/manage-call-quality.md) | | **Data Center Selection** | | | | [✔️](../concepts/detailed-call-flows.md#call-flow-principles) | | **Preview** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web.md#local-camera-preview) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#get-a-local-camera-preview) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#start-and-stop-sending-local-video) | | | **Security** | | | | [✔️](../concepts/detailed-call-flows.md#media-encryption) | | **Networking** | | | | [✔️](../concepts/voice-video-calling/network-requirements.md) | | **Screen Share** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#start-and-stop-screen-sharing-while-on-a-call) | | | | | **Rest APIs** | | | | [✔️](/rest/api/communication/) | | **Webhooks** | | | | [✔️](/azure/event-grid/communication-services-voice-video-events) | | **Raw Data** | [✔️](../quickstarts/voice-video-calling/get-started-raw-media-access.md?pivots=platform-web) | [✔️](../quickstarts/voice-video-calling/get-started-raw-media-access.md?pivots=platform-ios) | [✔️](../quickstarts/voice-video-calling/get-started-raw-media-access.md?pivots=platform-android) | | | **Codecs** | | | | [✔️](../concepts/voice-video-calling/about-call-types.md#supported-video-standards) | | **WebView** | | [✔️](../quickstarts/voice-video-calling/get-started-webview.md?pivots=platform-ios) | [✔️](../quickstarts/voice-video-calling/get-started-webview.md?pivots=platform-android) | | | **Video Devices** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#device-management) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#manage-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#device-management) | | | **Speaker Devices** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#set-the-default-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#manage-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#device-management) | | | **Microphone Devices** | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-web#set-the-default-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-ios#manage-devices) | [✔️](../how-tos/calling-sdk/manage-video.md?pivots=platform-android#device-management) | | | **Data Channel API** | [✔️](../quickstarts/voice-video-calling/get-started-data-channel.md?pivots=platform-web) | [✔️](../quickstarts/voice-video-calling/get-started-data-channel.md?pivots=platform-ios) | [✔️](../quickstarts/voice-video-calling/get-started-data-channel.md?pivots=platform-android) | | | **Analytics/Video Insights** | | | | [✔️](../concepts/analytics/insights/voice-and-video-insights.md) | | **Diagnostic Tooling** | | | | [✔️](../concepts/voice-video-calling/call-diagnostics.md) | | **Reports** | | | | [✔️](../concepts/analytics/enable-logging.md) | | **CallKit (iOS Only)** | | [✔️](../how-tos/calling-sdk/callkit-integration.md) | | | | **Picture-in-picture** | | [✔️](../how-tos/ui-library-sdk/picture-in-picture.md?tabs=kotlin&pivots=platform-ios) | [✔️](../how-tos/ui-library-sdk/picture-in-picture.md?tabs=kotlin&pivots=platform-android) | | ::: zone pivot="platform-web" [!INCLUDE [Migrating to ACS on WebJS SDK](./includes/twilio-to-acs-video-webjs-tutorial.md)] ::: zone-end ::: zone pivot="platform-ios" [!INCLUDE [Migrating to ACS on iOS SDK](./includes/twilio-to-acs-video-ios-tutorial.md)] ::: zone-end ::: zone pivot="platform-android" [!INCLUDE [Migrating to ACS on Android SDK](./includes/twilio-to-acs-video-android-tutorial.md)] ::: zone-end
Success! Branch created successfully. Create Pull Request on GitHub
Error: