Skip to content

Commit d5a1071

Browse files
Merge pull request #259128 from valindrae/ga2-release
Ga2 release
2 parents a4e1b70 + f2e3f87 commit d5a1071

14 files changed

+400
-287
lines changed

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

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

Lines changed: 5 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: azure-communication-services
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,11 +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 Python installed, you can install from the [official site](https://www.python.org/).
2020

21-
### For AI features (Public preview)
21+
### For AI features
2222
- Create and connect [Azure AI services to your Azure Communication Services resource](../../../concepts/call-automation/azure-communication-services-azure-cognitive-services-integration.md).
2323
- Create a [custom subdomain](../../../../ai-services/cognitive-services-custom-subdomains.md) for your Azure AI services resource.
2424

25-
2625
## Create a new Python application
2726

2827
### Set up a Python virtual environment for your project
@@ -59,7 +58,7 @@ Create an audio file, if you don't already have one, to use for playing prompts
5958

6059
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).
6160

62-
## (Optional) Connect your Azure Cognitive Service to your Azure Communication Service (Public Preview)
61+
## (Optional) Connect your Azure Cognitive Service to your Azure Communication Service
6362

6463
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).
6564

@@ -87,7 +86,7 @@ To play audio to participants using audio files, you need to make sure the audio
8786
play_source = FileSource(url=audioUri)
8887
```
8988

90-
### Play source - Text-To-Speech (Public Preview)
89+
### Play source - Text-To-Speech
9190

9291
To play audio using Text-To-Speech through Azure AI services, you need to provide the text you wish to play, as well either the SourceLocale, and VoiceKind or the VoiceName you wish to use. We support all voice names supported by Azure AI services, full list [here](../../../../ai-services/Speech-Service/language-support.md?tabs=tts).
9392

@@ -115,7 +114,7 @@ call_automation_client.get_call_connection(call_connection_id).play_media(
115114
)
116115
```
117116

118-
### Play source - Text-To-Speech with SSML (Public Preview)
117+
### Play source - Text-To-Speech with SSML
119118

120119
If you want to customize your Text-To-Speech output even more with Azure AI services you can use [Speech Synthesis Markup Language SSML](../../../../ai-services/Speech-Service/speech-synthesis-markup.md) when invoking your play action through Call Automation. With SSML you can fine-tune the pitch, pause, improve pronunciation, change speaking rate, adjust volume and attribute multiple voices.
121120

0 commit comments

Comments
 (0)