Skip to content

Commit 557da33

Browse files
committed
Update service-limits.md
Roll-up of changes.
1 parent 429fdc5 commit 557da33

File tree

1 file changed

+79
-59
lines changed

1 file changed

+79
-59
lines changed

articles/communication-services/concepts/service-limits.md

Lines changed: 79 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Service limits for Azure Communication Services
33
titleSuffix: An Azure Communication Services how-to document
4-
description: Learn how to
4+
description: Learn how to handle service limits.
55
author: tophpalmer
66
manager: sundraman
77
services: azure-communication-services
@@ -17,23 +17,28 @@ ms.subservice: data
1717
This document explains the limitations of Azure Communication Services APIs and possible resolutions.
1818

1919
## Throttling patterns and architecture
20-
When you hit service limitations, you will receive an HTTP status code 429 (Too many requests). In general, the following are best practices for handling throttling:
20+
When you hit service limitations, you receive an HTTP status code 429 (Too many requests). In general, the following are best practices for handling throttling:
2121

2222
- Reduce the number of operations per request.
2323
- Reduce the frequency of calls.
2424
- Avoid immediate retries because all requests accrue against your usage limits.
2525

2626
You can find more general guidance on how to set up your service architecture to handle throttling and limitations in the [Azure Architecture](/azure/architecture) documentation for [throttling patterns](/azure/architecture/patterns/throttling). Throttling limits can be increased through a request to Azure Support.
2727

28-
1. Go to Azure portal
29-
1. Select Help+Support
30-
1. Click on Create new support request
31-
1. In the Problem description, please choose **Issue type** as **Technical** and add in the details.
28+
1. Open the [Azure portal](https://ms.portal.azure.com/) and sign in.
29+
2. Select [Help+Support](https://ms.portal.azure.com/#view/Microsoft_Azure_Support/HelpAndSupportBlade/~/overview).
30+
3. Click **Create new support request**.
31+
4. In the **Describe your issue** text box, enter `Technical` then click **Go**.
32+
5. From the **Select a service** dropdown menu, select **Service and Subscription Limits (Quotas)** then click **Next**.
33+
6. At the Problem description, choose the **Issue type**, **Subscription**, and **Quota type** then click **Next**.
34+
7. Review any **Recommended solution** if available, then click **Next**.
35+
8. Add **Additional details** as needed, then click **Next**.
36+
9. At **Review + create** check the information, make changes as needed, then click **Create**.
3237

3338
You can follow the documentation for [creating request to Azure Support](../../azure-portal/supportability/how-to-create-azure-support-request.md).
3439

3540
## Acquiring phone numbers
36-
Before acquiring a phone number, make sure your subscription meets the [geographic and subscription](./telephony/plan-solution.md) requirements. Otherwise, you can't purchase a phone number. The below limitations apply to purchasing numbers through the [Phone Numbers SDK](./reference.md) and the [Azure portal](https://portal.azure.com/).
41+
Before acquiring a phone number, make sure your subscription meets the [geographic and subscription](./telephony/plan-solution.md) requirements. Otherwise, you can't purchase a phone number. The following limitations apply to purchasing numbers through the [Phone Numbers SDK](./reference.md) and the [Azure portal](https://portal.azure.com/).
3742

3843
| Operation | Scope | Timeframe | Limit (number of requests) |
3944
|---|--|--|--|
@@ -63,7 +68,7 @@ We recommend acquiring identities and tokens before creating chat threads or sta
6368
For more information, see the [identity concept overview](./authentication.md) page.
6469

6570
## SMS
66-
When sending or receiving a high volume of messages, you might receive a ```429``` error. This error indicates you're hitting the service limitations, and your messages will be queued to be sent once the number of requests is below the threshold.
71+
When sending or receiving a high volume of messages, you might receive a ```429``` error. This error indicates you're hitting the service limitations, and your messages are queued to be sent once the number of requests is below the threshold.
6772

6873
Rate Limits for SMS:
6974

@@ -80,7 +85,8 @@ If you have requirements that exceed the rate-limits, submit [a request to Azure
8085
For more information on the SMS SDK and service, see the [SMS SDK overview](./sms/sdk-features.md) page or the [SMS FAQ](./sms/sms-faq.md) page.
8186

8287
## Email
83-
There is a limit on the number of email messages you can send. If you exceed the below limits on your subscription, your requests will be rejected. You can attempt these requests again, after the Retry-After time has passed. Please take necessary action and request to raise the sending volume limits if needed.
88+
89+
You can send a limited number of email messages. If you exceed the following limits for your subscription, your requests are rejected. You can attempt these requests again, after the Retry-After time passes. Take action before reaching the limit by requesting to raise your sending volume limits if needed.
8490

8591
### Rate Limits
8692

@@ -109,8 +115,25 @@ There is a limit on the number of email messages you can send. If you exceed the
109115
|Number of recipients in Email|50 |
110116
|Total email request size (including attachments) |10 MB |
111117

118+
### Send attachments larger than 10 MB
119+
120+
To email file attachments up to 30 MB, complete a [support request](../support.md).
121+
122+
If you need to send email file attachments larger than 30 MB, you can use this alternative solution. Store the files in an Azure Blob Storage account and include a link to the files in your email. You can secure the files with a Shared Access Signature (SAS). SAS provides secure delegated access to resources in your storage account. By using SAS, you have granular control over how clients can access your data.
123+
124+
Benefits of using an Azure Blob Storage account:
125+
126+
- You can handle large scale files.
127+
- You can use SAS keys to precisely manage file access.
128+
129+
For more information, see:
130+
131+
- [Introduction to Azure Blob Storage](/azure/storage/blobs/storage-blobs-introduction)
132+
- [Grant limited access to Azure Storage resources using shared access signatures (SAS)](/azure/storage/common/storage-sas-overview)
133+
112134
### Action to take
113-
This sandbox setup is to help developers start building the application. Once you have established a sender reputation by sending mails, you can request to increase the sending volume limits. Submit a [support request](https://azure.microsoft.com/support/create-ticket/) to raise your desired email sending limit if you require sending a volume of messages exceeding the rate limits. Email quota increase requests are not automatically approved. The reviewing team will consider your overall sender reputation, which includes factors such as your email delivery failure rates, your domain reputation, and reports of spam and abuse when determining approval status.
135+
136+
To increase your email quota, follow the instructions at [Quota increase for email domains](./email/email-quota-increase.md).
114137

115138
> [!NOTE]
116139
> Email quota increase requests may take up to 72 hours to be evaluated and approved, especially for requests that come in on Friday afternoon.
@@ -131,59 +154,68 @@ This sandbox setup is to help developers start building the application. Once yo
131154
### Rate Limits
132155

133156
| **Operation** | **Scope** | **Limit per 10 seconds** | **Limit per minute** |
134-
|--|--|--|--|
135-
|Create chat thread|per User|10|-|
136-
|Delete chat thread|per User|10|-|
137-
|Update chat thread|per Chat thread|5|-|
138-
|Add participants / remove participants|per Chat thread|10|30|
139-
|Get chat thread / List chat threads|per User|50|-|
140-
|Get chat message|per User per chat thread|50|-|
141-
|Get chat message|per Chat thread|250|-|
142-
|List chat messages|per User per chat thread|50|200|
143-
|List chat messages|per Chat thread|250|400|
144-
|Get read receipts (20 participant limit**) |per User per chat thread|5|-|
145-
|Get read receipts (20 participant limit**) |per Chat thread|100|-|
146-
|List chat thread participants|per User per chat thread|10|-|
147-
|List chat thread participants|per Chat thread|250|-|
148-
|Send message / update message / delete message|per Chat thread|10|30|
149-
|Send read receipt|per User per chat thread|10|30|
150-
|Send typing indicator|per User per chat thread|5|15|
151-
|Send typing indicator|per Chat thread|10|30|
157+
| --- | --- | --- | --- |
158+
| Create chat thread | per User | 10 | - |
159+
| Delete chat thread | per User | 10 | - |
160+
| Update chat thread | per Chat thread | 5 | - |
161+
| Add participants / remove participants | per Chat thread | 10 | 30 |
162+
| Get chat thread / List chat threads | per User | 50 | - |
163+
| Get chat message | per User per chat thread | 50 | - |
164+
| Get chat message | per Chat thread | 250 | - |
165+
| List chat messages | per User per chat thread | 50 | 200 |
166+
| List chat messages | per Chat thread | 250 | 400 |
167+
| Get read receipts (20 participant limit\*) | per User per chat thread | 5 | - |
168+
| Get read receipts (20 participant limit\*) | per Chat thread | 100 | - |
169+
| List chat thread participants | per User per chat thread | 10 | - |
170+
| List chat thread participants | per Chat thread | 250 | - |
171+
| Send message / update message / delete message | per Chat thread | 10 | 30 |
172+
| Send read receipt | per User per chat thread | 10 | 30 |
173+
| Send typing indicator | per User per chat thread | 5 | 15 |
174+
| Send typing indicator | per Chat thread | 10 | 30 |
152175

153176
> [!NOTE]
154-
> ** Read receipts and typing indicators are not supported on chat threads with more than 20 participants.
177+
> \* Read receipts and typing indicators are not supported on chat threads with more than 20 participants.
155178
156179
### Chat storage
157-
Azure Communication Services stores chat messages indefinitely till they are deleted by the customer.
158180

159-
Beginning in CY24 Q1, customers must choose between indefinite message retention or automatic deletion after 90 days. Existing messages remain unaffected, but customers can opt for a 90-day retention period if desired.
181+
Azure Communication Services stores chat messages according to the retention policy you set when you create a chat thread.
182+
183+
[!INCLUDE [public-preview-notice.md](../includes/public-preview-include-document.md)]
184+
185+
You can choose between indefinite message retention or automatic deletion between 30 and 90 days via the retention policy on the [Create Chat Thread API](/rest/api/communication/chat/chat/create-chat-thread).
186+
Alternatively, you can choose not to set a retention policy on a chat thread.
187+
188+
If you have strict compliance needs, we recommend that you delete chat threads using the API [Delete Chat Thread](/rest/api/communication/chat/chat/delete-chat-thread). Any threads created before the new retention policy aren't affected unless you specifically change the policy for that thread.
160189

161190
> [!NOTE]
162-
> Accidentally deleted messages are not recoverable by the system.
191+
> If you accidentally deleted messages, they can't be recovered by the system. Additionally, if you submit a support request for a deleted chat thread after the retention policy has deleted that thread, it can no longer be retrieved and no information about that thread is available. If needed, open a support ticket as quickly as possible within the 30 day window after you created a thread so we can assist you.
163192
164193
## Voice and video calling
165194

166195
### PSTN Call limitations
167196

168-
| **Name** | **Scope** | Limit |
169-
|--|--|--|
170-
|Default number of outbound concurrent calls |per Number | 2
197+
| **Name** | **Scope** | Limit |
198+
| --- | --- | --- |
199+
| Default number of outbound* concurrent calls | per Number | 2 |
200+
201+
> [!NOTE]
202+
> \* No limits on inbound concurrent calls. You can also [submit a request to Azure Support](../../azure-portal/supportability/how-to-create-azure-support-request.md) to increase the outbound concurrent calls limit, which is reviewed by our vetting team.
171203
172204
### Call maximum limitations
173205

174-
| **Name** | Limit |
175-
|--|--|
176-
|Number of participants | 350
206+
| **Name** | Limit |
207+
| --- | --- |
208+
| Number of participants | 350 |
177209

178210
### Calling SDK streaming support
179211
The Communication Services Calling SDK supports the following streaming configurations:
180212

181-
| Limit | Web | Windows/Android/iOS |
182-
| ------------------------------------------------------------- | --------------------------- | -------------------------- |
183-
| **Maximum # of outgoing local streams that you can send simultaneously** | one video or one screen sharing | one video + one screen sharing |
184-
| **Maximum # of incoming remote streams that you can render simultaneously** | 9 videos + one screen sharing | 9 videos + one screen sharing |
213+
| Limit | Web | Windows/Android/iOS |
214+
| --- | --- | --- |
215+
| **Maximum # of outgoing local streams that you can send simultaneously** | one video or one screen sharing | one video + one screen sharing |
216+
| **Maximum # of incoming remote streams that you can render simultaneously** | nine videos + one screen sharing | nine videos + one screen sharing |
185217

186-
While the Calling SDK will not enforce these limits, your users may experience performance degradation if they're exceeded.
218+
The Calling SDK doesn't enforce these limits, but your users might experience performance degradation if you exceed these limits.
187219

188220
### Calling SDK timeouts
189221

@@ -202,10 +234,10 @@ The following timeouts apply to the Communication Services Calling SDKs:
202234

203235
### Action to take
204236

205-
For more information about the voice and video calling SDK and service, see the [calling SDK overview](./voice-video-calling/calling-sdk-features.md) page or [known issues](./known-issues.md).
237+
For more information about the voice and video calling SDK and service, see the [calling SDK overview](./voice-video-calling/calling-sdk-features.md) page or [known issues](./known-issues.md). You can also [submit a request to Azure Support](../../azure-portal/supportability/how-to-create-azure-support-request.md) to increase some of the limits, pending review by our vetting team.
206238

207239
## Job Router
208-
When sending or receiving a high volume of requests, you might receive a ```ThrottleLimitExceededException``` error. This error indicates you're hitting the service limitations, and your requests will be dropped until the token of bucket to handle requests is replenished after a certain time.
240+
When sending or receiving a high volume of requests, you might receive a ```ThrottleLimitExceededException``` error. This error indicates you're hitting the service limitations, and your requests fail until the token of bucket to handle requests is replenished after a certain time.
209241

210242
Rate Limits for Job Router:
211243

@@ -222,21 +254,9 @@ Using a Teams interoperability scenario, you'll likely use some Microsoft Graph
222254
Each service offered through Microsoft Graph has different limitations; service-specific limits are [described here](/graph/throttling) in more detail.
223255

224256
### Action to take
225-
When you implement error handling, use the HTTP error code 429 to detect throttling. The failed response includes the ```Retry-After``` response header. Backing off requests using the ```Retry-After``` delay is the fastest way to recover from throttling because Microsoft Graph continues to log resource usage while a client is being throttled.
257+
When you implement error handling, use the HTTP error code 429 to detect throttling. The failed response includes the `Retry-After` response header. Backing off requests using the `Retry-After` delay is the fastest way to recover from throttling because Microsoft Graph continues to log resource usage while a client is being throttled.
226258

227259
You can find more information on Microsoft Graph [throttling](/graph/throttling) limits in the [Microsoft Graph](/graph/overview) documentation.
228260

229-
## Network Traversal
230-
231-
| Operation | Timeframes (seconds) | Limit (number of requests) |
232-
|---|--|--|
233-
| **Issue TURN Credentials** | 5 | 30000|
234-
| **Issue Relay Configuration** | 5 | 30000|
235-
236-
### Action to take
237-
We recommend acquiring tokens before starting other transactions, like creating a relay connection.
238-
239-
For more information, see the [network traversal concept overview](./network-traversal.md) page.
240-
241261
## Next steps
242-
See the [help and support](../support.md) options.
262+
See the [help and support](../support.md) options.

0 commit comments

Comments
 (0)