Skip to content

Commit c79fa80

Browse files
Merge pull request #217684 from ashwinder/ci-qs
pricing and troubleshooting updates
2 parents 856b3f0 + 096c7dc commit c79fa80

File tree

6 files changed

+70
-37
lines changed

6 files changed

+70
-37
lines changed
46.5 KB
Loading
21.6 KB
Loading

articles/communication-services/concepts/pricing.md

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: azure-communication-services
1010
---
1111
# Pricing Scenarios
1212

13-
Prices for Azure Communication Services are generally based on a pay-as-you-go model. The prices in the following examples are for illustrative purposes and may not reflect the latest Azure pricing.
13+
Prices for Azure Communication Services are based on a pay-as-you-go model. The prices in the following examples are for illustrative purposes and may not reflect the latest Azure pricing.
1414

1515
## Voice/Video calling and screen sharing
1616

@@ -83,7 +83,7 @@ Alice is a Dynamics 365 contact center agent, who makes an outbound call from Om
8383

8484
- One participant on the VoIP leg (Alice) from Omnichannel for Customer Service client application x 10 minutes x $0.004 per participant leg per minute = $0.04
8585
- One participant on the Communication Services direct routing outbound leg (Bob) from Communication Services servers to an SBC x 10 minutes x $0.004 per participant leg per minute = $0.04.
86-
- Omnichannel for Customer Servicebot does not introduce additional ACS charges.
86+
- Omnichannel for Customer Service bot does not introduce additional ACS charges.
8787

8888
**Total cost for the call**: $0.04 + $0.04 = $0.08
8989

@@ -101,7 +101,24 @@ Alice and Bob are on a VOIP Call. Bob escalated the call to Charlie on Charlie's
101101

102102
Note: USA mixed rates to `+1-425` is $0.013. Refer to the following link for details: https://github.com/Azure/Communication/blob/master/pricing/communication-services-pstn-rates.csv)
103103

104-
**Total cost for the VoIP + escalation call**: $0.16 + $0.13 = $.29
104+
**Total cost for the VoIP + escalation call**: $0.16 + $0.13 = $0.29
105+
106+
### Pricing example: Group call managed by Call Automation SDK
107+
108+
Asha calls your US toll-free number (acquired from Communication Services) from her mobile. Your service application answers the call using Call Automation SDK and plays out an IVR menu using Play and Recognize actions. Your application then adds a human agent, David, to the call who answers the call through a custom application using Calling SDK.
109+
110+
- Asha was on the call as a PSTN endpoint for a total of 10 minutes.
111+
- Your application was on the call for the entire 10 minutes of the call.
112+
- David was on the call for the last 5 minutes of the call using Calling JS SDK.
113+
114+
**Cost calculations**
115+
116+
- Inbound PSTN leg by Asha to toll-free number acquired from Communication Services x 10 minutes x $0.0220 per minute for receiving the call = $0.22
117+
- One participant on the VOIP leg (David) x 5 minutes x $0.004 per participant leg per minute = $0.02
118+
119+
Note that the service application that uses Call Automation SDK isn't charged to be part of the call. The additional monthly cost of leasing a US toll-free number isn't included in this calculation.
120+
121+
**Total cost for the call**: $0.22 + $0.02 = $0.24
105122

106123
## Call Recording
107124

@@ -147,7 +164,7 @@ Bob starts a call with his financial advisor, Charlie.
147164

148165
## Chat
149166

150-
With Communication Services you can enhance your application with the ability to send and receive chat messages between two or more users. Chat SDKs are available for JavaScript, .NET, Python, and Java. Refer to [this page to learn about SDKs](./sdk-options.md)
167+
With Communication Services, you can enhance your application with the ability to send and receive chat messages between two or more users. Chat SDKs are available for JavaScript, .NET, Python, and Java. Refer to [this page to learn about SDKs](./sdk-options.md)
151168

152169
### Price
153170

@@ -177,7 +194,7 @@ Azure Communication Services allows for adding SMS messaging capabilities to you
177194

178195
### Pricing
179196

180-
The SMS usage price is a per-message segment charge based on the destination of the message. The carrier surcharge is calculated based on the destination of the message for sent messages and based on the sender of the message for received messages. Please refer to the [SMS Pricing Page](./sms-pricing.md) for pricing details.
197+
The SMS usage price is a per-message segment charge based on the destination of the message. The carrier surcharge is calculated based on the destination of the message for sent messages and based on the sender of the message for received messages. Refer to the [SMS Pricing Page](./sms-pricing.md) for pricing details.
181198

182199
### Pricing example: 1:1 SMS sending
183200

@@ -198,18 +215,18 @@ Contoso is a healthcare company with clinics in US and Canada. Contoso has a Pat
198215
Contoso is a healthcare company with clinics in US and Canada. Contoso has a Patient Appointment Reminder application that sends out SMS appointment reminders to patients regarding upcoming appointments. Patients can respond to the messages with "Reschedule" and include their date/time preference to reschedule their appointments.
199216

200217
- The application sends appointment reminders to 20 US patients and 30 Canada patients using a CA toll-free number.
201-
- 6 US patients and 4 CA patients respond back to reschedule their appointments. Contoso receives 10 SMS responses in total.
202-
- Message length of the reschedule messages is less than 1 message segment*. Hence, total messages received are 6 message segments for US and 4 message segments for CA.
218+
- Six US patients and four CA patients respond back to reschedule their appointments. Contoso receives 10 SMS responses in total.
219+
- Message length of the reschedule messages is less than one message segment*. Hence, total messages received are six message segments for US and four message segments for CA.
203220

204221
**Cost calculations**
205222

206-
- US - 6 message segments x $0.0075 per received message segment + 6 message segments x $0.0010 carrier surcharge per received message segment = $0.051
207-
- CA - 4 message segments x $0.0075 per received message segment = $0.03
223+
- US - six message segments x $0.0075 per received message segment + 6 message segments x $0.0010 carrier surcharge per received message segment = $0.051
224+
- CA - four message segments x $0.0075 per received message segment = $0.03
208225

209226
**Total cost for receiving patient responses from 6 US patients and 4 CA patients**: $0.051 + $0.03 = $0.081
210227

211228
## Telephony
212-
Please refer to the following links for details on Telephony pricing
229+
Refer to the following links for details on Telephony pricing
213230

214231
- [PSTN Pricing Details](./pstn-pricing.md)
215232

articles/communication-services/concepts/telephony/inbound-calling-capabilities.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,18 @@ Inbound PSTN calling is currently supported in GA for Dynamics Omnichannel. You
1818

1919
**Inbound calling with Dynamics 365 Omnichannel (OC)**
2020

21-
Supported in General Availability, to set up inbound calling for Dynamics 365 OC with direct routing or Voice Calling (PSTN) follow [these instructions](/dynamics365/customer-service/voice-channel-inbound-calling)
22-
23-
**Inbound calling with Power Virtual Agents**
24-
25-
*Coming soon*
21+
Supported in General Availability, to set up inbound calling for Dynamics 365 OC with direct routing or Voice Calling (PSTN) follow [these instructions](/dynamics365/customer-service/voice-channel-inbound-calling).
2622

2723
**Inbound calling with ACS Call Automation SDK**
2824

29-
[Available in private preview](../call-automation/call-automation.md)
25+
Call Automation enables you to build custom calling workflows within your applications to optimize business processes and boost customer satisfaction. The library supports managing incoming calls to the phone numbers acquired from Communication Services and incoming calls via Direct Routing. You can also use Call Automation to place outbound calls from the phone numbers owned by your resource, among other capabilities.
26+
27+
Learn more about [Call Automation](../voice-video-calling/call-automation.md), currently available in public preview.
3028

3129
**Inbound calling with Azure Bot Framework**
3230

33-
Customers participating in Azure Bot Framework Telephony Channel preview can find the [instructions here](/azure/bot-service/bot-service-channel-connect-telephony)
31+
Customers participating in Azure Bot Framework Telephony Channel preview can find the [instructions here](/azure/bot-service/bot-service-channel-connect-telephony)
32+
33+
**Inbound calling with Power Virtual Agents**
34+
35+
*Coming soon*

articles/communication-services/concepts/telephony/plan-solution.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Communication Services offers two types of phone numbers: **local** and **toll-f
3535
Local (Geographic) numbers are 10-digit telephone numbers consisting of the local area codes in the United States. For example, `+1 (206) XXX-XXXX` is a local number with an area code of `206`. This area code is assigned to the city of Seattle. These phone numbers are generally used by individuals and local businesses. Azure Communication Services offers local numbers in the United States. These numbers can be used to place phone calls, but not to send SMS messages.
3636

3737
### Toll-free Numbers
38-
Toll-free numbers are 10-digit telephone numbers with distinct area codes that can be called from any phone number free of charge. For example, `+1 (800) XXX-XXXX` is a toll-free number in the North America region. These phone numbers are generally used for customer service purposes. Azure Communication Services offers toll-free numbers in the United states. These numbers can be used to place phone calls and to send SMS messages. Toll-free numbers cannot be used by people and can only be assigned to applications.
38+
Toll-free numbers are 10-digit telephone numbers with distinct area codes that can be called from any phone number free of charge. For example, `+1 (800) XXX-XXXX` is a toll-free number in the North America region. These phone numbers are generally used for customer service purposes. Azure Communication Services offers toll-free numbers in the United states. These numbers can be used to place phone calls and to send SMS messages. Toll-free numbers can't be used by people and can only be assigned to applications.
3939

4040
#### Choosing a phone number type
4141

@@ -73,20 +73,22 @@ The following table shows you where you can acquire different types of phone num
7373
| Toll-Free | US | US | US |US | US |
7474

7575
*Currently, you can receive calls only to a Microsoft number that is assigned to a Telephony Channel bot. Read more about Telephony Channel [here](/azure/bot-service/bot-service-channel-connect-telephony)
76-
**For more details about call destinations and pricing, refer to the [pricing page](../pricing.md).
76+
**For more information about call destinations and pricing, see the [pricing page](../pricing.md).
7777

7878

7979
## Next steps
8080

8181
### Quickstarts
8282

8383
- [Get a phone Number](../../quickstarts/telephony/get-phone-number.md)
84+
- [Manage inbound and outbound calls](../../quickstarts/voice-video-calling/callflows-for-customer-interactions.md) with Call Automation.
8485
- [Place a call](../../quickstarts/voice-video-calling/getting-started-with-calling.md)
8586
- [Send an SMS](../../quickstarts/sms/send.md)
8687

8788
### Conceptual documentation
8889

8990
- [Voice and video concepts](../voice-video-calling/about-call-types.md)
9091
- [Telephony concepts](./telephony-concept.md)
92+
- [Call Automation concepts](../voice-video-calling/call-automation.md)
9193
- [Call Flows](../call-flows.md)
9294
- [Pricing](../pricing.md)

articles/communication-services/concepts/troubleshooting-info.md

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ To help you troubleshoot certain types of issues, you may be asked for any of th
2525
* **Call ID**: This ID is used to identify Communication Services calls.
2626
* **SMS message ID**: This ID is used to identify SMS messages.
2727
* **Short Code Program Brief ID**: This ID is used to identify a short code program brief application.
28+
* **Correlation ID**: This ID is used to identify requests made using Call Automation.
2829
* **Call logs**: These logs contain detailed information that can be used to troubleshoot calling and network issues.
2930

3031
Also take a look at our [service limits](service-limits.md) documentation for more information on throttling and limitations.
@@ -75,26 +76,16 @@ chat_client = ChatClient(
7576
```
7677
---
7778

78-
## Access your server call ID
79-
When troubleshooting issues with the Call Automation SDK, like call recording and call management problems, you'll need to collect the Server Call ID. This ID can be collected using the ```getServerCallId``` method.
79+
## Access IDs required for Call Automation
80+
When troubleshooting issues with the Call Automation SDK, like call management or recording problems, you'll need to collect the IDs that help identify the failing call or operation. You can provide either of the two IDs mentioned here.
81+
- From the header of API response, locate the field `X-Ms-Skype-Chain-Id`.
82+
83+
![Screenshot of response header showing X-Ms-Skype-Chain-Id.](media/troubleshooting/response-header.png)
84+
- From the callback events your application receives after executing an action e.g. `CallConnected` or `PlayFailed`, locate the correlationID.
8085

81-
#### JavaScript
82-
```
83-
callAgent.on('callsUpdated', (e: { added: Call[]; removed: Call[] }): void => {
84-
e.added.forEach((addedCall) => {
85-
addedCall.on('stateChanged', (): void => {
86-
if (addedCall.state === 'Connected') {
87-
addedCall.info.getServerCallId().then(result => {
88-
dispatch(setServerCallId(result));
89-
}).catch(err => {
90-
console.log(err);
91-
});
92-
}
93-
});
94-
});
95-
});
96-
```
86+
![Screenshot of call disconnected event showing correlation ID.](media/troubleshooting/correlation-id-in-callback-event.png)
9787

88+
In addition to one of these IDs, please provide the details on the failing use case and the timestamp for when the failure was observed.
9889

9990
## Access your client call ID
10091

@@ -325,6 +316,27 @@ The Azure Communication Services Calling SDK uses the following error codes to h
325316
| 500, 503, 504 | Communication Services infrastructure error. | File a support request through the Azure portal. |
326317
| 603 | Call globally declined by remote Communication Services participant | Expected behavior. |
327318
319+
## Call Automation SDK error codes
320+
The below error codes are exposed by Call Automation SDK.
321+
322+
| Error Code | Description | Actions to take |
323+
|--|--|--|
324+
| 400 | Bad request | The input request is invalid. Look at the error message to determine which input is incorrect.
325+
| 401 | Unauthorized | HMAC authentication failed. Verify whether the connection string used to create CallAutomationClient is correct.
326+
| 403 | Forbidden | Request is forbidden. Make sure that you can have access to the resource you are trying to access.
327+
| 404 | Resource not found | The call you are trying to act on doesn't exist. For example, transferring a call that has already disconnected.
328+
| 429 | Too many requests | Retry after a delay suggested in the Retry-After header, then exponentially backoff.
329+
| 500 | Internal server error | Retry after a delay. If it persists, raise a support ticket.
330+
| 502 | Bad gateway | Retry after a delay with a fresh http client.
331+
332+
Consider the below tips when troubleshooting certain issues.
333+
- Your application is not getting IncomingCall Event Grid event: Make sure the application endpoint has been [validated with Event Grid](../../event-grid/webhook-event-delivery.md) at the time of creating event subscription. The provisioning status for your event subscription will be marked as succeeded if the validation was successful.
334+
- Getting the error 'The field CallbackUri is invalid': Call Automation does not support HTTP endpoints. Make sure the callback url you provide supports HTTPS.
335+
- PlayAudio action does not play anything: Currently only Wave file (.wav) format is supported for audio files. The audio content in the wave file must be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
336+
- Actions on PSTN endpoints aren't working: CreateCall, Transfer, AddParticipant and Redirect to phone numbers require you to set the SourceCallerId in the action request. Unless you are using Direct Routing, the source caller ID should be a phone number owned by your Communication Services resource for the action to succeed.
337+
338+
Refer to [this article](./known-issues.md) to learn about any known issues being tracked by the product team.
339+
328340
## Chat SDK error codes
329341
330342
The Azure Communication Services Chat SDK uses the following error codes to help you troubleshoot chat issues. The error codes are exposed through the `error.code` property in the error response.

0 commit comments

Comments
 (0)