Skip to content

Commit d165c56

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into acs1
2 parents 7e2aa9a + d5a1071 commit d165c56

File tree

46 files changed

+771
-607
lines changed

Some content is hidden

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

46 files changed

+771
-607
lines changed

articles/bastion/bastion-connect-vm-ssh-linux.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ Use the following steps to authenticate using a password from Azure Key Vault.
113113
* Make sure you have **List** and **Get** access to the secrets stored in the Key Vault resource. To assign and modify access policies for your Key Vault resource, see [Assign a Key Vault access policy](../key-vault/general/assign-access-policy-portal.md).
114114

115115
> [!NOTE]
116-
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
116+
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess-linux.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
117117
>
118118
119119
1. To work with the VM in a new browser tab, select **Open in new browser tab**.
@@ -163,7 +163,7 @@ Use the following steps to authenticate using a private key stored in Azure Key
163163
* Make sure you have **List** and **Get** access to the secrets stored in the Key Vault resource. To assign and modify access policies for your Key Vault resource, see [Assign a Key Vault access policy](../key-vault/general/assign-access-policy-portal.md).
164164

165165
> [!NOTE]
166-
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
166+
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess-linux.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
167167
>
168168
169169
* **Azure Key Vault Secret**: Select the Key Vault secret containing the value of your SSH private key.

articles/bastion/bastion-connect-vm-ssh-windows.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Use the following steps to authenticate using a password from Azure Key Vault.
129129
* Make sure you have **List** and **Get** access to the secrets stored in the Key Vault resource. To assign and modify access policies for your Key Vault resource, see [Assign a Key Vault access policy](../key-vault/general/assign-access-policy-portal.md).
130130

131131
> [!NOTE]
132-
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
132+
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess-linux.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
133133
>
134134
135135
1. To work with the VM in a new browser tab, select **Open in new browser tab**.
@@ -156,7 +156,7 @@ Use the following steps to authenticate using a private key stored in Azure Key
156156
* Make sure you have **List** and **Get** access to the secrets stored in the Key Vault resource. To assign and modify access policies for your Key Vault resource, see [Assign a Key Vault access policy](../key-vault/general/assign-access-policy-portal.md).
157157

158158
> [!NOTE]
159-
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
159+
> Please store your SSH private key as a secret in Azure Key Vault using the **PowerShell** or **Azure CLI** experience. Storing your private key via the Azure Key Vault portal experience will interfere with the formatting and result in unsuccessful login. If you did store your private key as a secret using the portal experience and no longer have access to the original private key file, see [Update SSH key](../virtual-machines/extensions/vmaccess-linux.md#update-ssh-key) to update access to your target VM with a new SSH key pair.
160160
>
161161
162162
* **Azure Key Vault Secret**: Select the Key Vault secret containing the value of your SSH private key.

articles/communication-services/concepts/call-automation/call-automation.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Azure Communication Services Call Automation provides developers the ability to
2121
Some of the common use cases that can be built using Call Automation include:
2222

2323
- Program VoIP or PSTN calls for transactional workflows such as click-to-call and appointment reminders to improve customer service.
24-
- Build interactive interaction workflows to self-serve customers for use cases like order bookings and updates, using Play (Audio URL) and Recognize (DTMF) actions.
24+
- Build interactive interaction workflows to self-serve customers for use cases like order bookings and updates, using Play (Audio URL, Text-to-Speech and SSML) and Recognize (DTMF and Voice) actions.
2525
- Integrate your communication applications with Contact Centers and your private telephony networks using Direct Routing.
2626
- Protect your customer's identity by building number masking services to connect buyers to sellers or users to partner vendors on your platform.
2727
- Increase engagement by building automated customer outreach programs for marketing and customer service.
@@ -44,7 +44,13 @@ The following list presents the set of features that are currently available in
4444
| | Reject an incoming call | ✔️ | ✔️ | ✔️ | ✔️ |
4545
| Mid-call scenarios | Add one or more endpoints to an existing call | ✔️ | ✔️ | ✔️ | ✔️ |
4646
| | Play Audio from an audio file | ✔️ | ✔️ | ✔️ | ✔️ |
47+
| | Play Audio using Text-to-Speech | ✔️ | ✔️ | ✔️ | ✔️ |
4748
| | Recognize user input through DTMF | ✔️ | ✔️ | ✔️ | ✔️ |
49+
| | Recognize user voice inputs | ✔️ | ✔️ | ✔️ | ✔️ |
50+
| | Start continuous DTMF recognition | ✔️ | ✔️ | ✔️ | ✔️ |
51+
| | Stop continuous DTMF recognition | ✔️ | ✔️ | ✔️ | ✔️ |
52+
| | Send DTMF | ✔️ | ✔️ | ✔️ | ✔️ |
53+
| | Mute participant | ✔️ | ✔️ | ✔️ | ✔️ |
4854
| | Remove one or more endpoints from an existing call| ✔️ | ✔️ | ✔️ | ✔️ |
4955
| | Blind Transfer* a 1:1 call to another endpoint | ✔️ | ✔️ | ✔️ | ✔️ |
5056
| | Hang up a call (remove the call leg) | ✔️ | ✔️ | ✔️ | ✔️ |
@@ -96,6 +102,15 @@ When your application answers a call or places an outbound call, you can play an
96102
**Recognize input**
97103
After your application has played an audio prompt, you can request user input to drive business logic and navigation in your application. To learn more, view our [concepts](./recognize-action.md) and how-to guide for [Gathering user input](../../how-tos/call-automation/recognize-action.md).
98104

105+
**Continuous DTMF recognition**
106+
When your application needs to be able to receive DTMF tones at any point in the call without the application needing to trigger a specific recognize action. This can be useful in scenarios where an agent is on a call and needs the user to enter in some kind of ID or tracking number. To learn more about how to use this view our [guide](../../how-tos/call-automation/control-mid-call-media-actions.md).
107+
108+
**Send DTMF**
109+
When your application needs to send DTMF tones to an external participant, this could be for purposes like dialing out to an external agent and providing the extension number, or something like navigating an external IVR menu.
110+
111+
**Mute**
112+
Your application can mute certain users based on your business logic. The user would then need to unmute themselves manually if they want to speak.
113+
99114
**Transfer**
100115
When your application answers a call or places an outbound call to an endpoint, that call can be transferred to another destination endpoint. Transferring a 1:1 call removes your application's ability to control the call using the Call Automation SDKs.
101116

@@ -152,11 +167,16 @@ The Call Automation events are sent to the web hook callback URI specified when
152167
| ParticipantsUpdated | The status of a participant changed while your application’s call leg was connected to a call |
153168
| PlayCompleted | Your application successfully played the audio file provided |
154169
| PlayFailed | Your application failed to play audio |
155-
| PlayCanceled | The requested play action has been canceled. |
170+
| PlayCanceled | The requested play action has been canceled |
156171
| RecognizeCompleted | Recognition of user input was successfully completed |
157-
| RecognizeCanceled | The requested recognize action has been canceled. |
172+
| RecognizeCanceled | The requested recognize action has been canceled |
158173
| RecognizeFailed | Recognition of user input was unsuccessful <br/>*to learn more about recognize action events view our how-to guide for [gathering user input](../../how-tos/call-automation/recognize-action.md)*|
159-
|RecordingStateChanged | Status of recording action has changed from active to inactive or vice versa. |
174+
|RecordingStateChanged | Status of recording action has changed from active to inactive or vice versa |
175+
| ContinuousDtmfRecognitionToneReceived | StartContinuousDtmfRecognition completed successfully and a DTMF tone was received from the participant |
176+
| ContinuousDtmfRecognitionToneFailed | StartContinuousDtmfRecognition completed but an error occurred while handling a DTMF tone from the participant |
177+
| ContinuousDtmfRecognitionStopped | Successfully executed StopContinuousRecognition |
178+
| SendDtmfCompleted | SendDTMF completed successfully and the DTMF tones were sent to the target participant |
179+
| SendDtmfFailed | An error occurred while sending the DTMF tones |
160180

161181
To understand which events are published for different actions, refer to [this guide](../../how-tos/call-automation/actions-for-call-control.md) that provides code samples and sequence diagrams for various call control flows.
162182

articles/communication-services/concepts/call-automation/play-action.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ The play action provided through the Azure Communication Services Call Automatio
1515
- Providing Azure Communication Services access to prerecorded audio files of WAV format, that Azure Communication Services can access with support for authentication
1616
- Regular text that can be converted into speech output through the integration with Azure AI services.
1717

18-
You can use the newly announced integration between [Azure Communication Services and Azure AI services](./azure-communication-services-azure-cognitive-services-integration.md) to play personalized responses using Azure [Text-To-Speech](../../../../articles/cognitive-services/Speech-Service/text-to-speech.md). You can use human like prebuilt neural voices out of the box or create custom neural voices that are unique to your product or brand. For more information on supported voices, languages and locales see [Language and voice support for the Speech service](../../../../articles/cognitive-services/Speech-Service/language-support.md). (Supported in public preview)
19-
18+
You can use the newly announced integration between [Azure Communication Services and Azure AI services](./azure-communication-services-azure-cognitive-services-integration.md) to play personalized responses using Azure [Text-To-Speech](../../../../articles/cognitive-services/Speech-Service/text-to-speech.md). You can use human like prebuilt neural voices out of the box or create custom neural voices that are unique to your product or brand. For more information on supported voices, languages and locales see [Language and voice support for the Speech service](../../../../articles/cognitive-services/Speech-Service/language-support.md).
2019
> [!NOTE]
21-
> Azure Communication Services currently supports two file formats, MP3 files and WAV files formatted as 16-bit PCM mono channel audio recorded at 16KHz. You can create your own audio files using [Speech synthesis with Audio Content Creation tool](../../../ai-services/Speech-Service/how-to-audio-content-creation.md).
20+
> Azure Communication Services currently supports two file formats, MP3 files with ID3V2TAG and WAV files formatted as 16-bit PCM mono channel audio recorded at 16KHz. You can create your own audio files using [Speech synthesis with Audio Content Creation tool](../../../ai-services/Speech-Service/how-to-audio-content-creation.md).
2221
2322
## Prebuilt Neural Text to Speech voices
2423
Microsoft uses deep neural networks to overcome the limits of traditional speech synthesis with regard to stress and intonation in spoken language. Prosody prediction and voice synthesis occur simultaneously, resulting in a more fluid and natural sounding output. You can use these neural voices to make interactions with your chatbots and voice assistants more natural and engaging. There are over 100 prebuilt voices to choose from. Learn more about [Azure Text-to-Speech voices](../../../../articles/cognitive-services/Speech-Service/language-support.md).
@@ -40,7 +39,7 @@ The play action can also be used to play hold music for callers. This action can
4039
### Playing compliance messages
4140
As part of compliance requirements in various industries, vendors are expected to play legal or compliance messages to callers, for example, “This call is recorded for quality purposes.”.
4241

43-
## Sample architecture for playing audio in call using Text-To-Speech (Public preview)
42+
## Sample architecture for playing audio in call using Text-To-Speech
4443

4544
![Diagram showing sample architecture for Play with AI.](./media/play-ai.png)
4645

articles/communication-services/how-tos/call-automation/includes/play-audio-how-to-js.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: azure-communication-services
55
author: Kunaal Punjabi
66
ms.service: azure-communication-services
77
ms.subservice: call-automation
8-
ms.date: 08/10/2023
8+
ms.date: 11/20/2023
99
ms.topic: include
1010
ms.topic: include file
1111
ms.author: kpunjabi
@@ -18,6 +18,10 @@ ms.author: kpunjabi
1818
- Create a new web service application using the [Call Automation SDK](../../../quickstarts/call-automation/callflows-for-customer-interactions.md).
1919
- Have Node.js installed, you can install it from their [official website](https://nodejs.org).
2020

21+
### For AI features
22+
- Create and connect [Azure AI services to your Azure Communication Services resource](../../../concepts/call-automation/azure-communication-services-azure-cognitive-services-integration.md).
23+
- Create a [custom subdomain](../../../../ai-services/cognitive-services-custom-subdomains.md) for your Azure AI services resource.
24+
2125
## Create a new JavaScript application
2226
Create a new JavaScript application in your project directory. Initialize a new Node.js project with the following command. This creates a package.json file for your project, which is used to manage your project's dependencies.
2327

@@ -38,21 +42,23 @@ node app.js
3842

3943
## (Optional) Prepare your audio file if you wish to use audio files for playing prompts
4044

41-
Create an audio file, if you don't already have one, to use for playing prompts and messages to participants. The audio file must be hosted in a location that is accessible to Azure Communication Services with support for authentication. Keep a copy of the URL available for you to use when requesting to play the audio file. Azure Communication Services supports both file types of **MP3** and **WAV files, mono 16-bit PCM at 16 KHz sample rate**.
45+
Create an audio file, if you don't already have one, to use for playing prompts and messages to participants. The audio file must be hosted in a location that is accessible to Azure Communication Services with support for authentication. Keep a copy of the URL available for you to use when requesting to play the audio file. Azure Communication Services supports both file types of **MP3 files with ID3V2TAG** and **WAV files, mono 16-bit PCM at 16 KHz sample rate**.
4246

4347
You can test creating your own audio file using our [Speech synthesis with Audio Content Creation tool](../../../../ai-services/Speech-Service/how-to-audio-content-creation.md).
4448

45-
## (Optional) Connect your Azure Cognitive Service to your Azure Communication Service (Public Preview)
49+
## (Optional) Connect your Azure Cognitive Service to your Azure Communication Service
4650

47-
If you would like to use Text-To-Speech capabilities, then it's required for you to connect your [Azure Cognitive Service to your Azure Communication Service](../../../concepts/call-automation/azure-communication-services-azure-cognitive-services-integration.md).
51+
If you would like to use Text-To-Speech capabilities, then it's **required** for you to connect your [Azure Cognitive Service to your Azure Communication Service](../../../concepts/call-automation/azure-communication-services-azure-cognitive-services-integration.md).
4852

4953
## Establish a call
5054

5155
By this point you should be familiar with starting calls, if you need to learn more about making a call, follow our [quickstart](../../../quickstarts/call-automation/quickstart-make-an-outbound-call.md). You can also use the code snippet provided here to understand how to answer a call.
5256

5357
```javascript
54-
const answerCallOptions: AnswerCallOptions = { cognitiveServicesEndpoint: "<https://sample-callback-uri>" };
55-
await callAutomationClient.answerCall("<Incoming call context>", "<https://sample-callback-uri>", answerCallOptions);
58+
const callIntelligenceOptions: CallIntelligenceOptions = { "<https://sample-callback-uri>" };
59+
        const answerCallOptions: AnswerCallOptions = { callIntelligenceOptions: callIntelligenceOptions };
60+
61+
await acsClient.answerCall("<Incoming call context>", "<https://sample-callback-uri>", answerCallOptions);
5662
```
5763

5864
## Play audio

0 commit comments

Comments
 (0)