Skip to content

Commit 32cd572

Browse files
Merge branch 'main' into incub3
2 parents 0fffb99 + b5993c4 commit 32cd572

File tree

41 files changed

+645
-840
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+645
-840
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2595,6 +2595,11 @@
25952595
"redirect_url": "/azure/azure-maps/zoom-levels-and-tile-grid",
25962596
"redirect_document_id": true
25972597
},
2598+
{
2599+
"source_path": "articles/managed-grafana/how-to-sync-teams-with-azure-ad-groups.md",
2600+
"redirect_url": "managed-grafana/how-to-sync-teams-with-entra-groups",
2601+
"redirect_document_id": false
2602+
},
25982603
{
25992604
"source_path_from_root": "/articles/media-services/azure-media-player/azure-media-player-license.md",
26002605
"redirect_url": "/legal/azure-media-player/azure-media-player-license",

articles/automation/troubleshoot/change-tracking.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ Here are possible causes specific to this issue:
136136
Verify that the daemon for the Log Analytics agent for Linux (**omsagent**) is running on your machine. Run the following query in the Log Analytics workspace that's linked to your Automation account.
137137

138138
```loganalytics
139-
Copy
140139
Heartbeat
141140
| summarize by Computer, Solutions
142141
```

articles/communication-services/concepts/best-practices.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ This article provides information about best practices related to the Azure Comm
2424
[!INCLUDE [Native](includes/best-practices-native.md)]
2525
::: zone-end
2626

27-
## Next steps
28-
For more information, see the following articles:
27+
## Related content
2928

3029
- [Improve and manage call quality](./voice-video-calling/manage-call-quality.md)
31-
- [Call Diagnostics](./voice-video-calling/call-diagnostics.md)
30+
- [Use Call Diagnostics to diagnose call problems](./voice-video-calling/call-diagnostics.md)
3231
- [Add voice calling to your app](../quickstarts/voice-video-calling/getting-started-with-calling.md)
33-
- [Use the UI Library for enhance calling experiences](./ui-library/ui-library-overview.md)
32+
- [Use the UI Library for enhanced calling experiences](./ui-library/ui-library-overview.md)
Lines changed: 54 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Azure Communication Services - best practices for Calling Native SDK
3-
description: Learn more about Azure Communication Service best practices for Calling Native SDK.
3+
description: Learn about Azure Communication Services best practices for the Calling Native SDK.
44
author: garchiro7
55
manager: chpalmer
66
services: azure-communication-services
@@ -11,47 +11,47 @@ ms.topic: include
1111
ms.service: azure-communication-services
1212
---
1313

14-
## Azure Communication Services native SDK best practices
14+
## Best practices for the Azure Communication Services Calling Native SDK
1515

16-
This section provides information about best practices associated with the Azure Communication Services voice and video calling native SDK.
16+
This section provides information about best practices associated with the Azure Communication Services Calling Native SDK for voice and video calling.
1717

18-
## Supported platforms
18+
### Supported platforms
1919

20-
Here are the minimum OS platform requirements to ensure optimal functionality of the Calling Native SDKs.
20+
Here are the minimum OS platform requirements to ensure optimal functionality of the Calling Native SDK.
2121

22-
### [iOS](#tab/ios)
22+
#### [iOS](#tab/ios)
2323

24-
- Support for iOS 10.0+ at build time, and iOS 12.0+ at run time.
25-
- Xcode 12.0+.
26-
- Support for **iPadOS** 13.0+.
24+
- Support for iOS 10.0+ at build time and iOS 12.0+ at runtime
25+
- Xcode 12.0+
26+
- Support for iPadOS 13.0+
2727

28-
### [Android](#tab/android)
28+
#### [Android](#tab/android)
2929

30-
- Support for Android API Level 21 or Higher.
31-
- Support for Java 7 or higher.
32-
- Support for Android Studio 2.0.
30+
- Support for Android API Level 21 or higher
31+
- Support for Java 7 or later
32+
- Support for Android Studio 2.0
3333

34-
We highly recommend identifying and validating your scenario by visiting the supported [Android platforms](../sdk-options.md?#android-platform-support)
34+
We highly recommend that you identify and validate your scenario by using the information in [Android platform support](../sdk-options.md?#android-platform-support).
3535

36-
### [Windows](#tab/windows)
36+
#### [Windows](#tab/windows)
3737

38-
- Support for UWP (Universal Windows Platform).
39-
- Support for WinUI 3.
38+
- Support for Universal Windows Platform (UWP)
39+
- Support for WinUI 3
4040

4141
---
4242

43-
## App request device permissions
43+
### Verify device permissions for app requests
4444

45-
To use the Calling Native SDKs for making or receiving calls, it's necessary to authorize each platform to access device resources. As a developer, you should prompt the user for access and ensure that are enabled. The consumer authorizes these access rights, so verify that they have been granted permission previously.
45+
To use the Calling Native SDK for making or receiving calls, consumers need to authorize each platform to access device resources. As a developer, you must prompt the user for access and ensure that permissions are enabled. The consumer authorizes these access rights, so verify that they currently have the required permissions.
4646

47-
### [iOS](#tab/ios)
47+
#### [iOS](#tab/ios)
4848

49-
- `NSMicrophoneUsageDescription` for microphone access.
50-
- `NSCameraUsageDescription` for camera access.
49+
- `NSMicrophoneUsageDescription` for microphone access
50+
- `NSCameraUsageDescription` for camera access
5151

52-
### [Android](#tab/android)
52+
#### [Android](#tab/android)
5353

54-
In the Application Manifest (`app/src/main/AndroidManifest.xml`). Verify the following lines:
54+
In the application manifest (`app/src/main/AndroidManifest.xml`), verify the following lines:
5555

5656
```xml
5757
<uses-permission android:name="android.permission.INTERNET" />
@@ -64,54 +64,60 @@ In the Application Manifest (`app/src/main/AndroidManifest.xml`). Verify the fol
6464
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
6565
```
6666

67-
### [Windows](#tab/windows)
67+
#### [Windows](#tab/windows)
6868

6969
Go to `Package.appxmanifest` and select capabilities:
7070

71-
- `Internet (Client)` & `Internet (Client & Server)` for network access.
72-
- `Microphone` to access the audio feed of the microphone.
73-
- `Webcam` to access the video feed of the camera.
71+
- `Internet (Client)` and `Internet (Client & Server)` for network access
72+
- `Microphone` to access the audio feed of the microphone
73+
- `Webcam` to access the video feed of the camera
7474

7575
---
7676

77-
## Configure the logs
77+
### Configure the logs
7878

79-
Implementing **logging** as per the [logs file retrieval tutorial](../../tutorials/log-file-retrieval-tutorial.md) is more critical than ever. Detailed logs help in diagnosing issues specific to device models or OS versions that meet the minimum SDK criteria. We encourage to the developers that start configuring the Logs API without the logs the Microsoft Support team **won't be able** to help debug and troubleshoot the calls.
79+
Implementing logging as described in the [tutorial about retrieving log files](../../tutorials/log-file-retrieval-tutorial.md) is more critical than ever. Detailed logs help in diagnosing problems specific to device models or OS versions that meet the minimum SDK criteria. We encourage developers to configure logs by using the Logs API. Without the logs, the Microsoft support team can't help debug and troubleshoot the calls.
8080

81-
## Track Call ID
81+
### Track CallID
8282

83-
**`CallID`** is the unique ID for a call. It identifies correlated events from all of the participants and endpoints that connect during a single call, in Most cases you use it to review the logs and Microsoft Support team ask for it to help troubleshoot the calls. You **should** track the `CallID` in your telemetry that you configure in your app, you can follow the guidelines in the [troubleshooting guide](../troubleshooting-info.md) to understand how to retrieve it for each platform.
83+
`CallID` is the unique ID for a call. It identifies correlated events from all of the participants and endpoints that connect during a single call. In most cases, you use it to review the logs. The Microsoft Support team asks for it to help troubleshoot the calls.
8484

85-
## Subscribe to UFD (User Facing Diagnostics) and media quality statistics
85+
You should track the `CallID` value in the telemetry that you configure in your app. To understand how to retrieve the value for each platform, follow the guidelines in the [troubleshooting guide](../troubleshooting-info.md).
8686

87-
- [User Facing Diagnostics (UFD)](../voice-video-calling/user-facing-diagnostics.md) that can be used to examine various properties of a call to determine what the issue might be during the call that affects your customers.
88-
- [Media quality statistics](../voice-video-calling/media-quality-sdk.md) examine the low-level audio, video, and screen-sharing quality metrics for incoming and outgoing call metrics. We recommend that you collect the data and send it to your pipeline ingestion after your call ends.
87+
### Subscribe to User Facing Diagnostics and media quality statistics
8988

90-
## Error Handling
89+
You can use these Azure Communication Services features to help improve the user experience:
9190

92-
If there are any errors during the call or implementation, the methods return error objects containing error codes. It's crucial to use these error objects for proper error handling and to display alerts. The call states also return error codes to help identify the reason behind call failure. You can refer to [the troubleshooting guide](../troubleshooting-info.md), to resolve any issues.
91+
- [User Facing Diagnostics](../voice-video-calling/user-facing-diagnostics.md): Examine properties of a call to determine the cause of problems that affect your customers.
92+
- [Media quality statistics](../voice-video-calling/media-quality-sdk.md): Examine the low-level audio, video, and screen-sharing quality metrics for incoming and outgoing call metrics. We recommend that you collect the data and send it to your pipeline ingestion after a call ends.
9393

94-
### Managing Video Streams
94+
### Manage error handling
9595

96-
Make sure to dispose of the `VideoStreamRendererView` when the video is no longer displayed on the UI. Use `VideoStreamType` to determine the type of the stream.
96+
If there are any errors during the call or implementation, the methods return error objects that contain error codes. It's crucial to use these error objects for proper error handling and to display alerts. The call states also return error codes to help identify the reasons behind call failures. You can refer to the [troubleshooting guide](../troubleshooting-info.md) to resolve any problems.
9797

98-
## General memory management
98+
### Manage video streams
9999

100-
**Preallocate Resources**. Initialize your calling client and any necessary resources during your app's startup phase rather than on demand. This approach reduces latency when starting a call.
100+
Be sure to dispose of `VideoStreamRendererView` when the UI no longer displays the video. Use `VideoStreamType` to determine the type of the stream.
101101

102-
**Dispose Properly**. Ensure that all call objects are correctly disposed of after use to free up system resources and avoid memory leaks. Make sure to unsubscribe from *events* preventing memory leaks.
102+
### Conduct general memory management
103103

104-
## Camera or microphone being used by another process
104+
**Preallocate resources**. Initialize your calling client and any necessary resources during your app's startup phase rather than on demand. This approach reduces latency in starting a call.
105105

106-
It's important to note that on mobile devices if multiple processes try to access the camera or microphone at the same time, the first process to request access will take control of the device. As a result, the second process will immediately lose access to it.
106+
**Dispose properly**. Dispose of all call objects after use, to free up system resources and avoid memory leaks. Be sure to unsubscribe from *events* that might cause memory leaks.
107107

108-
## Optimize the APP size using UI Library
108+
### Consider how processes access the camera or microphone
109109

110-
Optimizing the size of libraries in software development is crucial for several reasons, particularly as applications become increasingly complex, and resource-intensive.
110+
On mobile devices, if multiple processes try to access the camera or microphone at the same time, the first process to request access takes control of the device. As a result, the second process immediately loses access to it.
111111

112-
Application Performance: Smaller libraries reduce the amount of code that must be loaded, parsed, and executed by an application. This can significantly enhance the startup time and overall performance of your application, especially on devices with limited resources.
112+
### Optimize library size
113113

114-
Memory Usage: By minimizing library size, you can decrease the runtime memory footprint of an application. This is important for mobile devices, where memory is often constrained. Lower memory usage can lead to fewer system crashes and better multitasking performance.
114+
Optimizing the size of libraries in software development is crucial for the following reasons, particularly as applications become more complex and resource intensive:
115+
116+
- **Application performance**: Smaller libraries reduce the amount of code that an application must load, parse, and execute. This reduction can significantly enhance the startup time and overall performance of your application, especially on devices that have limited resources.
117+
118+
- **Memory usage**: By minimizing library size, you can decrease the runtime memory footprint of an application. This decrease is important for mobile devices, where memory is often constrained. Lower memory usage can lead to fewer system crashes and better multitasking performance.
119+
120+
For more information, see:
115121

116122
- [UI Library for iOS](https://github.com/Azure/communication-ui-library-ios/wiki/Calling-Composite-Demo-Application-Size)
117123
- [UI Library for Android](https://github.com/Azure/communication-ui-library-android/wiki/Calling-Composite-Demo-Application-Size)

0 commit comments

Comments
 (0)