Skip to content

Laerdal/Xamarin.AzureCommunicationCalling

Repository files navigation

iOS and Android binding libraries for Azure Communication Services

Use these nugets to consume Azure Communication Services on Xamarin, e.g. make video and voice calls.

These nugets are native to each platform, you need to make a common abstraction on top yourself if you want to use them in a forms project. See the TestSample for a example.

Additional documentation for this sample can be found on Microsoft Docs.

Supported platforms

  • Android >= 21
  • iOS >= 12
  • UWP (Min Target: 10.0.18362)

Screenshots

Android

iOS

UWP

Support Libraries

Mobile support is maintained by @tompi

Windows support is official.

Features

Features iOS Android UWP
Start or join in existing group call
Start a new PSTN call
Join an existing Teams Meeting
Start calls inside sdk
Receive calls inside sdk
Add participants during calls
Remove participants during calls
call notification
answer calls with locked screen 🚧
Switch layout between different call cases: only-local video view, one-on-one call view and group call with multiple participants
Render remote participant video streams dynamically
Show remote call participants
Show remote participants with microphone on/off
Turning local video stream from camera on/off
switch between cameras
View remote screen sharing 🚧 🚧 🚧
Request permission to use audio and/or video
Mute/unmute local microphone audio
Mute/unmute local speaker audio
Call in Hold
Show dominant speaker
Turn off screen on calls
Toggle audio output
Sharing Audio
Screensharing 🚧
Background Voip API ✅ Services 🚧 Callkit ❌ VoipPhoneCall

Subtitle

in progress 🚧

In consideration ⌛

Not implemented ❌

implemented ✅

Prerequisites

Run Sample

  1. Build/Run in Visual Studio 2022

Securing Authentication Endpoint

For simple demonstration purposes, this sample uses a publicly accessible endpoint by default to fetch an Azure Communication token. For production scenarios, it is recommended that the Azure Communication token is returned from a secured endpoint.

Required Libraries

Known issues in the xamarin example

Android

There is some privacy policy on the camera, as it only works if the user can see their own image on the screen, it is a point of attention.

UWP

The token initialization agent has a wait of up to 15 seconds

Incoming call and accept/or reject status does not update on event.

Video refresh event no longer works after a video is removed from the screen.

Call events in windows are unstable in certain scenarios and suddenly stop working.

Please refer to the wiki for known issues related to this sample. ](https://docs.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/calling-sdk-features)

About

Xamarin iOS and Android binding libraries for Microsofts Azure Communication Services

Topics

Resources

License

Stars

Watchers

Forks

Languages