You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/how-tos/calling-sdk/call-context.md
+11-10Lines changed: 11 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,40 @@
1
1
---
2
-
title: How to pass contextual data between calls
3
-
titleSuffix: An Azure Communication Services how-to guide
2
+
title: Pass user-to-user information (UUI) data in a header
3
+
titleSuffix: An Azure Communication Services article
4
4
description: Use Azure Communication Services SDKs to pass contextual data between calls.
5
5
author: sloanster
6
6
ms.author: micahvivion
7
7
ms.service: azure-communication-services
8
8
ms.subservice: calling
9
9
ms.topic: how-to
10
-
ms.date: 09/13/2024
10
+
ms.date: 06/27/2025
11
11
ms.custom: template-how-to
12
12
---
13
13
14
-
# Using the ACS calling SDK to pass contextual User-to-User Information (UUI) data between calls
14
+
# Pass user-to-user information (UUI) data in a header
15
15
16
-
In this article, you learn how to pass along custom contextual information when routing calls with Azure Communication Services Calling SDKs. This capability allows users to pass metadata about the call, callee, or any other information that is relevant to their application or business logic.
16
+
This article describes how to pass user-to-user information (UUI) in a header when routing calls with Azure Communication Services Calling SDKs. This capability enables users to pass metadata about the call, callee, or any other information that is relevant to their application or business logic.
17
17
18
-
The Azure Communication Services (ACS) WebJS SDK provides developers to include custom contextual data (included as a header on the calling object) when directing and routing calls from one person to another. This information, also known as User-to-User Information (UUI) data or call control UUI data, is a small piece of data inserted by an application initiating the call. The UUI data is opaque to end users making a call.
18
+
The Azure Communication Services WebJS SDK enables developers to include custom contextual data (included as a header on the calling object) when directing and routing calls from one person to another. This information, also known as user-to-user information (UUI) data or call control UUI data, is a small piece of data inserted by an application initiating the call. The UUI data is opaque to end users making a call.
19
19
20
-
Contextual information supported includes both freeform custom headers and the standard User-to-User Information (UUI) SIP header. Also when you receive an inbound call, the custom headers and UUI are included in the incomingCall payload.
20
+
Contextual information supported includes both freeform custom headers and the standard UUI SIP header. In addition, when you receive an inbound call, the custom headers and UUI are included in the `incomingCall` payload.
21
21
22
22
All custom context data is opaque to Calling SDK or SIP protocols and its content is unrelated to any basic functions.
23
23
24
-
Developers can pass this context by using custom headers, which consist of optional key-value pairs. These pairs can be included in the 'AddParticipant' or 'Transfer' actions within the calling SDK. Once added, you can read the data payload as the call moves between endpoints. By efficiently looking up this metadata and associating it with the call, developers can avoid external database lookups and have the content information readily available within the call object.
24
+
Developers can pass this context by using custom headers, which consist of optional key-value pairs. These pairs can be included in the `AddParticipant` or `Transfer` actions within the calling SDK. Once added, you can read the data payload as the call moves between endpoints. By efficiently looking up this metadata and associating it with the call, developers can avoid external database lookups and have the content information readily available within the call object.
25
25
26
-
The custom call context can be transmitted to SIP endpoints using the SIP protocol. This transmission includes both the custom headers and the standard User-to-User Information (UUI) SIP header. When an inbound call is routed from your telephony network, the data from your Session Border Controller (SBC) in the custom headers and UUI is also included in the IncomingCall event payload.
26
+
The custom call context can be transmitted to SIP endpoints using the SIP protocol. This transmission includes both the custom headers and the standard UUI SIP header. When an inbound call is routed from your telephony network, the data from your Session Border Controller (SBC) in the custom headers and UUI is also included in the IncomingCall event payload.
27
27
28
28
It’s important to note that all custom context data remains transparent to the calling SDK and isn't related to any of the SDK’s fundamental functions when used in SIP protocols. Here's a tutorial to assist you in adding custom context headers when using the WebJS SDK.
29
29
30
30
31
31
> [!IMPORTANT]
32
-
> To use the ability to pass User-to-User Information (UUI) data using the calling SDK you must use the calling WebJS SDK GA or public preview version `1.29.1` or later.
32
+
> To pass UUI data using the calling SDK, you must use the calling WebJS SDK GA or public preview version `1.29.1` or later.
33
33
34
34
[!INCLUDE [Passing Contextual Data - Client-side JavaScript](./includes/call-context/call-context-web.md)]
Copy file name to clipboardExpand all lines: articles/communication-services/how-tos/calling-sdk/includes/call-context/call-context-web.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,26 +2,26 @@
2
2
author: sloanster
3
3
ms.service: azure-communication-services
4
4
ms.topic: include
5
-
ms.date: 09/13/2024
5
+
ms.date: 06/27/2025
6
6
ms.author: micahvivion
7
7
---
8
8
9
-
10
9
## Technical parameters
11
-
The calling SDK supports adding up to 5 custom SIP headers and 1000 custom VOIP headers. Additionally, developers can include a dedicated User-To-User header as part of SIP headers list.
12
10
13
-
The maximum length of a SIP header key is 64 chars, including the X-MS-Custom prefix. Due note that when the SIP header is added the calling SDK will automatically add the ‘X-MS-Custom-’ prefix (which can be seeing if you inspect the SIP header with packet inspector).
11
+
The calling SDK supports adding up to five (5) custom SIP headers and 1000 custom VOIP headers. Additionally, developers can include a dedicated User-To-User header as part of SIP headers list.
12
+
13
+
The maximum length of a SIP header key is 64 chars, including the X-MS-Custom prefix. When you add the SIP header to the calling SDK, it automatically adds the `X-MS-Custom-` prefix, which you can see by inspecting the SIP header with packet inspector.
14
14
15
-
The SIP header key may consist of alphanumeric characters and a few selected symbols which include `.`, `!`, `%`, `*`, `_`, `+`, `~`, `-`. The maximum length of SIP header value is 256 chars. The same limitations apply when configuring the SIP headers on your SBC. The SIP header value may consist of alphanumeric characters and a few selected symbols which include `=`, `;`, `.`, `!`, `%`, `*`, `_`, `+`, `~`, `-`.
15
+
The SIP header key might consist of alphanumeric characters and a few selected symbols, which include `.`, `!`, `%`, `*`, `_`, `+`, `~`, `-`. The maximum length of SIP header value is 256 chars. The same limitations apply when configuring the SIP headers on your session border controller (SBC). The SIP header value might consist of alphanumeric characters and a few selected symbols, which include `=`, `;`, `.`, `!`, `%`, `*`, `_`, `+`, `~`, `-`.
16
16
17
-
The maximum length of a VOIP header key is 64 chars. The maximum length of VOIP header value is 1024 chars.
17
+
The maximum length of a VOIP header key is 64 chars. The maximum length of VOIP header value is 1024 characters.
18
18
19
19
When adding these custom headers as a developer you can choose to add only SIP headers, only VoIP headers or both can be included.
20
20
21
21
> [!NOTE]
22
-
> Currently, adding custom User-to-User Information headers is only supported when initiating a 1:1 call. Passing User-to-User Information headers in group calls is not currently supported. To work around this after starting the 1:1 call, you can include additional participants while maintaining the User-to-User Information within the calls.
22
+
> Currently, adding custom User-to-User Information headers is only supported when initiating a 1:1 call. Passing User-to-User Information headers in group calls isn't currently supported. To work around this constraint after starting the 1:1 call, you can add participants while maintaining the User-to-User Information within the calls.
23
23
24
-
For details on the custom context interface API, consult the [custom context API resource](/javascript/api/azure-communication-services/@azure/communication-calling/customcontext?view=azure-communication-services-js&preserve-view=true) page.
24
+
For details about the custom context interface API, see [custom context API resource](/javascript/api/azure-communication-services/@azure/communication-calling/customcontext?view=azure-communication-services-js&preserve-view=true).
25
25
26
26
## Place a call with User-to-User Information (UUI) data
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/voice-video-calling/includes/data-channel/data-channel-android.md
+43-14Lines changed: 43 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,54 +1,70 @@
1
1
---
2
+
title: Add data channel messaging to a calling app
3
+
titleSuffix: An Azure Communication Services article
4
+
description: This article describes how to add Data Channel to your existing calling app using Azure Communication Services.
2
5
ms.author: chengyuanlai
3
-
title: Quickstart - Add data channel to your Android calling app
4
-
titleSuffix: An Azure Communication Services document
5
-
description: In this quickstart, you learn how to add data channel messaging to your existing Android calling app using Azure Communication Services.
6
6
author: sloanster
7
7
services: azure-communication-services
8
-
ms.date: 03/01/2024
8
+
ms.date: 06/27/2025
9
9
ms.topic: include
10
10
ms.service: azure-communication-services
11
11
ms.subservice: calling
12
12
---
13
13
14
14
>[!IMPORTANT]
15
-
> Please be aware that the current Data Channel feature API doesn't support direct messaging between a web browser and a native app in a peer-to-peer call scenario.
15
+
> The current Data Channel feature API doesn't support direct messaging between a web browser and a native app in a peer-to-peer call scenario.
16
16
17
17
## Overview
18
+
18
19
The Data Channel feature API enables real-time data messaging during audio and video calls. In this quickstart guide, we illustrate how to integrate Data Channel feature to your call and use the Data Channel APIs to send and receive data messages through a data channel.
20
+
19
21
### Prerequisites
22
+
20
23
Refer to the [Voice Calling Quickstart](../../getting-started-with-calling.md?pivots=platform-android) to set up a sample app with voice calling.
24
+
21
25
### Classes
26
+
22
27
| Name | Description |
23
-
| - | - |
28
+
| ---|--- |
24
29
| DataChannelCallFeature | Used to start and manage data channel feature. |
25
30
| DataChannelSender | Used to manage a data channel as a sender and send data. |
26
31
| DataChannelReceiver | Used to manage a data channel as a receiver and receive data. |
27
32
| DataChannelSenderOptions | Used for representing options to create a data channel sender. |
33
+
28
34
### Enums
35
+
29
36
| Name | Description |
30
-
| - | - |
37
+
| ---|--- |
31
38
| DataChannelPriority | Describes the priority options of data channel. Values: { `NORMAL`, `HIGH` }. |
32
39
| DataChannelReliability | Describes the reliability options of data channel. Values: { `LOSSY`, `DURABLE` }. |
40
+
33
41
### Error Code
42
+
34
43
| Name | Description |
35
-
| - | - |
36
-
|_DATA_CHANNEL_FAILED_TO_START_|`getDataChannelSender()` can fail with this error code, indicating underlying Data Channel is not ready to be used. |
37
-
|_DATA_CHANNEL_RANDOM_ID_NOT_AVAILABLE_|`getDataChannelSender()` can fail with this error code, indicating all available random channel IDs have already been used. |
38
-
|_DATA_CHANNEL_SENDER_CLOSED_|`sendMessage()` can fail with this error code, indicating the sender has already been closed previously. |
44
+
| ---|--- |
45
+
|_DATA_CHANNEL_FAILED_TO_START_|`getDataChannelSender()` can fail with this error code, indicating underlying Data Channel isn't ready to be used. |
46
+
|_DATA_CHANNEL_RANDOM_ID_NOT_AVAILABLE_|`getDataChannelSender()` can fail with this error code, indicating each available random channel ID is in use. |
47
+
|_DATA_CHANNEL_SENDER_CLOSED_|`sendMessage()` can fail with this error code, indicating the sender data channel is already closed. |
39
48
|_DATA_CHANNEL_MESSAGE_SIZE_OVER_LIMIT_|`sendMessage()` can fail with this error code, indicating the message data size exceeds the limit. You can get the message size limit using `getMaxMessageSizeInBytes()` in `DataChannelSender`. |
40
49
|_DATA_CHANNEL_MESSAGE_FAILURE_FOR_BANDWIDTH_|`sendMessage()` can fail with this error code, indicating a failure in sending the message due to not enough bandwidth. |
41
50
|_DATA_CHANNEL_MESSAGE_FAILURE_FOR_TRAFFIC_LIMIT_|`sendMessage()` can fail with this error code, indicating a failure in sending the message due to the overall usage of Data Channel not in compliance with the traffic limit rules. Refer to [Data Channel Concept Document](../../../../concepts/voice-video-calling/data-channel.md) for details of the traffic limit. |
51
+
42
52
### Methods
53
+
43
54
#### Enable Data Channel feature
44
55
45
56
1. Get the ongoing call object established during the prerequisite steps.
0 commit comments