Skip to content

Commit 00b43b6

Browse files
committed
Merge branch 'develop' v0.3.0
2 parents 3f50f2f + d336f8f commit 00b43b6

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

+1874
-658
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.3.0] - 2022-08-12
8+
### Added
9+
- Initial processing for Genesys CTR telephony files. See [Integration with Telephony CTR Files](./README.md#integration-with-telephony-ctr-files)
10+
### Fixed
11+
- Stack outputs `RolesForKMSKey` - Replace incorrect function ARN with Role Arn for BulkMoveFiles, and added BulkFilesCount
12+
713
## [0.2.5] - 2022-07-05
814
### Fixed
915
- Stack failure when 'loadSampleAudioFiles` set to `false`
@@ -58,7 +64,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5864
### Added
5965
- Initial release
6066

61-
[Unreleased]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/compare/v0.2.5...develop
67+
[Unreleased]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/compare/v0.3.0...develop
68+
[0.3.0]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/releases/tag/v0.3.0
6269
[0.2.5]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/releases/tag/v0.2.5
6370
[0.2.4]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/releases/tag/v0.2.4
6471
[0.2.3]: https://github.com/aws-samples/amazon-transcribe-post-call-analytics/releases/tag/v0.2.3

README.md

Lines changed: 45 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
## Overview
66

77
Your contact center connects your business to your community, enabling customers to order products, callers to request support, clients to make appointments, and much more. Each conversation with a caller is an opportunity to learn more about that caller’s needs, and how well those needs were addressed during the call. You can uncover insights from these conversations that help you manage script compliance and find new opportunities to satisfy your customers, perhaps by expanding your services to address reported gaps, improving the quality of reported problem areas, or by elevating the customer experience delivered by your contact center agents.
8-
8+
99
This sample solution, Post Call Analytics (PCA), does most of the heavy lifting associated with providing an end-to-end solution that can process call recordings from your existing contact center. PCA provides actionable insights to spot emerging trends, identify agent coaching opportunities, and assess the general sentiment of calls.
1010

1111
PCA currently supports the following features:
@@ -29,28 +29,47 @@ PCA currently supports the following features:
2929
* Search transcriptions
3030
* **Other**
3131
* Detects metadata from audio file names, such as call GUID, agent’s name, and call date time
32+
* Can ingest telephony contact trace record files (CTRs) for stereo to mark transcript speech segments as being from an **IVR** system, as well as identify multiple Agents in a single call
3233
* Scales automatically to handle variable call volumes
3334
* Bulk loads large archives of older recordings while maintaining capacity to process new recordings as they arrive
3435
* Sample recordings so you can quickly try out PCA for yourself
3536
* It’s easy to install with a single [AWS CloudFormation](https://aws.amazon.com/cloudformation/) template
3637

37-
38+
3839
## Architecture
3940

4041
![pca-architecture](./images/architecture-diagram.png)
4142

4243
Call recording audio files are uploaded to the S3 bucket and folder, identified in the main stack outputs as `InputBucket` and `InputBucketPrefix`, respectively. The sample call recordings are automatically uploaded because you set the parameter `loadSampleAudioFiles` to `true` when you deployed PCA.
43-
44+
4445
As each recording file is added to the input bucket, an S3 event notification triggers a Lambda function that initiates a workflow in Step Functions to process the file. The workflow orchestrates the steps to start an Amazon Transcribe batch job and process the results by doing entity detection and additional preparation of the call analytics results. Processed results are stored as JSON files in another S3 bucket and folder, identified in the main stack outputs as ``OutputBucket`` and ``OutputBucketPrefix``**.**
45-
46+
4647
As the Step Functions workflow creates each JSON results file in the output bucket, an S3 event notification triggers a Lambda function, which loads selected call metadata into a DynamoDB table.
47-
48+
4849
The PCA UI web app queries the DynamoDB table to retrieve the list of processed calls to display on the home page. The call detail page reads additional detailed transcription and analytics from the JSON results file for the selected call.
49-
50+
5051
Amazon S3 lifecycle policies delete recordings and JSON files from both input and output buckets after a configurable retention period, defined by the deployment parameter `RetentionDays`. S3 event notifications and Lambda functions keep the DynamoDB table synchronized as files are both created and deleted.
51-
52+
5253
When the `EnableTranscriptKendraSearch` parameter** **is `true`, the Step Functions workflow also adds time markers and metadata attributes to the transcription, which are loaded into an Amazon Kendra index. The transcription search web application is used to search call transcriptions. For more information on how this works, see [Make your audio and video files searchable using Amazon Transcribe and Amazon Kendra](http://www.amazon.com/mediasearch).
5354

55+
## Integration with Telephony CTR Files
56+
57+
Currently, the list of telephony systems where PCA can ingest CTR files are:
58+
59+
- Genesys
60+
61+
The CTR file, which is typically named in a way that easily relates it to the audio file being ingested, needs to delivered to PCA alongside the audio file; e.g. they are delivered together to the same Amazon S3 bucket. Once standard PCA processing is complete the telephony-specific CTR handler will be invoked. This will update the PCA results with the following:
62+
63+
- Tagging of any IVR entry in the Agent's transcript as being from an IVR
64+
- Removing the sentiment scores associated with IVR lines
65+
- Identification of multiple Agents within the call, associating the telephony system's internal user identifier with their parts of the transcript
66+
67+
***Known issues with CTR processing***
68+
69+
- Processing of Genesys outbound call CTR records will fail
70+
- Call metadata, such as entities or issue, is still be removed from IVR lines
71+
- Re-calculation of overall agent call sentiment is yet to be completed
72+
5473

5574
## Deployment instructions
5675

@@ -63,7 +82,7 @@ Prerequisite: You must already have the [AWS CLI](https://docs.aws.amazon.com/cl
6382

6483
To deploy to non-default region, set environment variable `AWS_DEFAULT_REGION` to a region supported by Amazon Transcribe. See: [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)
6584
E.g. to deploy in Ireland run `export AWS_DEFAULT_REGION=eu-west-1` before running the publish script.
66-
85+
6786
**NOTE:** To publish in a region that is not yet supported by Amazon Kendra, follow the direction below, but use the script `publish-nokendra.sh` instead of `publish.sh`. See [AWS Region Table](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)
6887

6988
Run the script with up to 3 parameters:
@@ -107,21 +126,21 @@ OR, if you opted to follow the steps above to Build and Publish PCA CloudFormati
107126
* For **loadSampleAudioFiles**, change the value to `true`.
108127
* For **EnableTranscriptKendraSearch**, change the value to ``Yes, create new Kendra Index (Developer Edition)``.
109128

110-
129+
111130
If you have previously used your [Amazon Kendra](https://aws.amazon.com/kendra/) Free Tier allowance, you incur an hourly cost for this index (more information on cost later in this post). Amazon Kendra transcript search is an optional feature, so if you don’t need it and are concerned about cost, use the default value of ``No``.
112-
131+
113132

114133
* For all other parameters, use the default values.
115134

116-
135+
117136
If you want to customize the settings later, for example to apply custom vocabulary to improve accuracy, or to customize entity detection, you can update the stack to set these parameters.
118-
137+
119138

120139
* Select the two acknowledgement boxes, and choose **Create stack**.
121140

122-
141+
123142
The main CloudFormation stack uses nested stacks to create the following resources in your AWS account:
124-
143+
125144

126145
* [Amazon Simple Storage Service](https://aws.amazon.com/s3) (Amazon S3) buckets to hold build artifacts and call recordings
127146
* [Amazon Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) settings to store configuration settings
@@ -132,14 +151,14 @@ The main CloudFormation stack uses nested stacks to create the following resourc
132151
* Other miscellaneous supporting resources, including [AWS Identity and Access Management](https://aws.amazon.com/iam/) (IAM) roles and policies (using least-privilege best practices), [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) (Amazon SQS) message queues, and [Amazon CloudWatch](https://aws.amazon.com/cloudwatch) log groups.
133152
* Optionally, an Amazon Kendra index and [AWS Amplify](https://aws.amazon.com/amplify/) search application to provide intelligent call transcript search.
134153

135-
154+
136155
The stacks take about 20 minutes to deploy. The main stack status shows as `CREATE_COMPLETE` when everything is deployed.
137156

138157

139158
### Set your password
140159

141160
After you deploy the stack, you need to open the PCA web user interface and set your password.
142-
161+
143162

144163
* On the AWS CloudFormation console, choose the main stack, `PostCallAnalytics`, and choose the **Outputs** tab.
145164

@@ -150,38 +169,38 @@ You’re redirected to a login page.
150169
* Open the email your received, at the email address you provided, with the subject “Welcome to the Amazon Transcribe Post Call Analytics (PCA) Solution!”
151170

152171
This email contains a generated temporary password that you can use to log in (as user ``admin``) and create your own password.
153-
172+
154173
* Set a new password.
155174

156175
Your new password must have a length of at least 8 characters, and contain uppercase and lowercase characters, plus numbers and special characters.
157-
176+
158177
You’re now logged in to PCA. Because you set `loadSampleAudioFiles` to `true`, your PCA deployment now has three sample calls pre-loaded for you to explore.
159-
178+
160179

161180
### Optional: Open the transcription search web UI and set your permanent password
162181

163182
Follow these additional steps to log in to the companion transcript search web app, which is deployed only when you set ``EnableTranscriptKendraSearch``** **when you launch the stack.
164-
183+
165184

166185
* On the AWS CloudFormation console, choose the main stack, `PostCallAnalytics`, and choose the **Outputs** tab.
167186
* Open your web browser to the URL shown as `TranscriptionMediaSearchFinderURL` in the outputs.
168187

169-
188+
170189
You’re redirected to the login page.
171-
190+
172191

173192

174193
* Open the email your received, at the email address you provided, with the subject “Welcome to Finder Web App.”
175194

176-
195+
177196
This email contains a generated temporary password that you can use to log in (as user ``admin``).
178-
197+
179198

180199
* Create your own password, just like you already did for the PCA web application.
181200

182-
201+
183202
As before, your new password must have a length of at least 8 characters, and contain uppercase and lowercase characters, plus numbers and special characters.
184-
203+
185204
You’re now logged in to the transcript search Finder application. The sample audio files are indexed already, and ready for search.
186205

187206
## Learn more

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.5
1+
0.3.0

images/architecture-diagram.png

159 KB
Loading

images/architecture-diagram.pptx

587 KB
Binary file not shown.

0 commit comments

Comments
 (0)