# Azure Communication Calling client library for JavaScript

Get started with Azure Communication Services by using the Communication Services calling client library to add voice and video calling to your app.
Read more about Azure Communication Services [here](https://docs.microsoft.com/azure/communication-services/overview)

## Prerequisites

- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). 
- A deployed Communication Services resource. [Create a Communication Services resource](https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource).
- A user access token to enable the calling client. For more information, see [Create and manage access tokens](https://docs.microsoft.com/azure/communication-services/quickstarts/access-tokens)
- Optional: Complete the quickstart to [add voice calling to your application](https://docs.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/getting-started-with-calling)

## Install the SDK

Use the `yarn install` command to install the Azure Communication Services calling and common SDKs for JavaScript.

```console
yarn add @azure/communication-common --save
yarn add @azure/communication-calling --save
```
The Communication Services Web Calling SDK must be used through `https`. For local development, use `localhost` or local 'file:'

## Documentation support
- [Release notes](https://github.com/Azure/Communication/blob/master/releasenotes/acs-javascript-calling-library-release-notes.md)
- [API usage samples](https://docs.microsoft.com/en-us/azure/communication-services/how-tos/calling-sdk/manage-calls?pivots=platform-web) - These are 'how-to-guides' that show how to use various APIs of this SDK with code snippet examples.
- [Voice and Video Calling quickstart](https://docs.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-video-calling?pivots=platform-web) - This is a quick start application to get started with voice and video calling.
- [Sample Applications](https://docs.microsoft.com/azure/communication-services/samples/overview) - Pre-built sample applications with full calling experiences.
- [Overview](https://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/calling-sdk-features) - Concepts, supported environments, and best practices.
- [Submit issues/bugs on github](https://github.com/Azure/Communication/issues) - For support and submitting issues, please visit our GitHub page.
- [API Reference](https://docs.microsoft.com/javascript/api/azure-communication-services/@azure/communication-calling/?view=azure-communication-services-js&preserve-view=true)

> If you are working with **Teams users**, please follow the `Teams identities` documentation in the list for example and usage
- [Teams Identities API Usage](https://docs.microsoft.com/en-us/azure/communication-services/how-tos/cte-calling-sdk/manage-calls)
- [Teams Identities Quick Start](https://docs.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-voice-video-calling-custom-teams-client)
- [Teams Identities Object Model](https://docs.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-voice-video-calling-custom-teams-client#azure-communication-services-calling-web-sdk-object-model)
