Skip to content

Commit e18fae7

Browse files
authored
Merge pull request #273943 from sloanster/patch-46
Patch 46
2 parents 7b1b965 + 605345c commit e18fae7

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

articles/communication-services/concepts/voice-video-calling/data-channel.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ ms.subservice: calling
1414

1515
# Data Channel
1616

17-
> [!Important]
18-
> The native ACS SDK (Android, iOS, Windows) support for data channel is in public preview status. The WebJS SDK support for data channel in General Availability (GA). Preview APIs and SDKs are provided without a service-level agreement. We recommend that you don't use them for production workloads. Some features might not be supported, or they might have constrained capabilities. For more information, review Supplemental Terms of Use for Microsoft Azure Previews.
19-
2017
> [!NOTE]
2118
> This document delves into the Data Channel feature present in the Azure Communication Services Calling SDK.
2219
> While the Data Channel in this context bears some resemblance to the Data Channel in WebRTC, it's crucial to recognize subtle differences in their specifics.

articles/communication-services/how-tos/calling-sdk/includes/install-sdk/install-sdk-web.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
author: probableprime
2+
author: sloanster
33
ms.service: azure-communication-services
44
ms.topic: include
5-
ms.date: 09/08/2021
6-
ms.author: rifox
5+
ms.date: 04/30/2024
6+
ms.author: micahvivion
77
---
88
## Install the SDK
99

10-
Use the `npm install` command to install the Azure Communication Services Common and Calling SDKs for JavaScript:
10+
Use the `npm install` command to install the Azure Communication Services Common and Calling SDK for JavaScript:
1111

1212
```console
1313
npm install @azure/communication-common --save
@@ -44,11 +44,17 @@ const callAgent = await callClient.createCallAgent(tokenCredential, {displayName
4444
const deviceManager = await callClient.getDeviceManager()
4545
```
4646

47-
### Manage ACS SDK connectivity for incoming calls
47+
### How to best manage SDK connectivity to Microsoft infrastructure
4848

49-
A `Call Agent` instance lets you start/join and manage incoming calls. Your `Call Agent` instance needs to be connected to ACS infrastructure to receive incoming calls. This connection is established when a `Call Agent` instance is created, but sometimes, for example when the network is unstable, the connection may not be set up, or it may break during the lifecycle of `Call Agent`. ACS SDK always tries to stay connected with ACS infrastructure. It keeps retrying to connect when the connection is lost.
49+
The `Call Agent` instance helps you manage calls (to join or start calls). In order to work your calling SDK needs to connect to Microsoft infrastructure to get notifications of incoming calls and coordinate other call details. Your `Call Agent` has two possible states:
5050

51-
You can check if `Call Agent` is connected to ACS infra by looking at the current value of `connectionState` property and listening to `connectionStateChanged` event from `Call Agent`.
51+
**Connected** - A `Call Agent` connectionStatue value of `Connected` means the client SDK is connected and capable of receiving notifications from Microsoft infrastructure.
52+
53+
**Disconnected** - A `Call Agent` connectionStatue value of `Disconnected` states there's an issue that is preventing the SDK it from properly connecting. `Call Agent` should be re-created.
54+
- `invalidToken`: If a token is expired or is invalid `Call Agent` instance disconnects with this error.
55+
- `connectionIssue`: If there's an issue with the client connecting to Microsoft infrascture, after many retries `Call Agent` exposes the `connectionIssue` error.
56+
57+
You can check if your local `Call Agent` is connected to Microsoft infrastructure by inspecting the current value of `connectionState` property. During an active call you can listen to the `connectionStateChanged` event to determine if `Call Agent` changes from **Connected** to **Disconnected** state.
5258

5359
```js
5460
const connectionState = callAgentInstance.connectionState;
@@ -61,8 +67,4 @@ const connectionStateCallback = (args) => {
6167
callAgentInstance.on('connectionStateChanged', connectionStateCallback);
6268
```
6369

64-
The above example illustrates how to manage connection state, whenever connection state is:
65-
- `Connected` - `Call Agent` instance is connected and capable of receiving notification from ACS infra. For example, receiving incoming call notifications.
66-
- `Disconnected` - `Call Agent` instance is disconnected. It is a terminal state. `Call Agent` should be re-created. Users should make sure it has no network problems.
67-
-- reason `invalidToken` - if ACS token expired or it's invalid and application failed to provide new valid token. `Call Agent` instance will disconnect with this reason.
68-
-- reason `connectionIssue` - if the network is down, and after many retries `Call Agent` fails to re-connect, it will disconnect with this reason. It usually indicates client network issues and can be re-stored as soon as the connectivity issue is resolved.
70+

0 commit comments

Comments
 (0)