Releases: aws-samples/amazon-transcribe-live-call-analytics
Releases · aws-samples/amazon-transcribe-live-call-analytics
v0.6.0
[0.6.0] - 2022-11-27
Added
- Supports new Amazon Transcribe Real-time Call Analytics streaming API
- Real-time Detected Issues, Call Categories, and Alerts
- Real-time Category and Alert Notifications via Amazon SNS subscriptions. See Category Notifications.
- Post call analytics (without additional transcription costs) through integration with the companion Post Call Analytics (PCA) solution.
- QnABot designer markdown answers enable rich text and media in Agent Assist messages
Changed
- Latest QnABot (v5.2.4) now used for agent assist
- Improved logging in Call Transcriber lambda
- Extend payload for Agent Assist Lambda to include
dynamodb_table_name
anddynamodb_pk
, so Lambdas can query the LCA Call Event table in DynamoDB to retrieve call metadata.
v0.5.2
[0.5.2] - 2022-10-20
Added
- Support for using Transcribe Custom Language Models.
- Option to supress partial transcription segments.
- Support for custom transcript processing logic via a user provided Lambda Hook function. See Transcript Lambda Hook Function.
- ChimeVC call initialization Lambda hook can attach optional arbitrary metadata json object to call record, for use by downstream custom applications via the LCA graphQL API or DynamoDB event sourcing table. See ChimeVC call initialization Lambda hook.
- Ability to selectively disable call recordings using ChimeVC call initialization Lambda hook.
Fixed
- Agent Assist configuration is now correctly maintained during stack updates when CallEventProcessor function is replaced.
v0.5.1
[0.5.1] - 2022-09-30
Added
- CallTranscriber now has the ability to delay start of call processing until a (new)
START_CALL_PROCESSING
event is received - useful when call is streaming is initiated when call is established but transcribing needs to be delayed until after IVR navigation and hold time - i.e. triggered only when agent and caller are connected. See Start call processing for a in-progress call. - Support markdown and html rendering in LCA UI
- Improved Agent Assist message rendering by using markdown to in QnABot and Kendra responses.
Changed
- CallTranscriber Lambda now has its own DynamoDB table and no longer shares a table with the AISTACK components.
Fixed
- Add
ExpiresAfter
field to AGENT_ASSIST messages so they will be aged out per retention period using DynamoDB Time-To-Live (TTL) - Check StackName length and fail fast if length would cause downstream staack failures caused by long resource names in nested stacks. Max Stack Name is now 25 characters.
- Provide 'reason' message in CloudFormation event output for stack custom resource failures.
- Expand Troubleshooting README.
v0.5.0
[0.5.0] - 2022-09-11
Added
- AgentID call attribute and associated API support for setting, displaying, sorting, and filtering calls by Agent. See Setting AgentId.
- AgentId field automatically assigned from Amazon Connect contact events when using
Amazon Connect Contact Lens
as the Call Audo Source. - Support for custom logic via a user provided Lambda function to selectively choose which calls to process, toggle agent/caller streams, assign AgentId to call, and/or modify values for CallId and displayed phone numbers. See Lambda Hook Function for SIPREC Call Initialization.
- Configurable retention period for call records (default 90 days). Records and transcripts that are older than this number of days are permanently deleted.
- UI supports new 'Load: 2 hrs' option for improved performance in high volume contact centers.
Changed
- Moved transcriber Lambda out of AI stack and into ChimeVC stack.
- Remove code for call event stream processing lambda no longer used since LCA v0.4.0.
- Rename TranscriptProcessorLambda to CallEventProcessorLambda to reflect that it will process call analytics and contact metadata events in addition to transcripts.
- Rename lca-ai-stack CF template.
- Asterisk demo server reinstalled on instance reboot such as during stack updates containing Asterisk configuration or version changes.
- Asterisk demo installation script is no longer dependent on hardcoded Asterisk version.
- Asterisk demo server is reloaded each hour to resolve observed busy tones in previous releases.
- Default Asterisk demo server version is now v19.
- DynamoDB event sourcing table now maintains only one item per transcript segment and no longer maintains partial segments.
- ChimeVC CallTranscriber Lambda function now emits one Call START event when both call streams are ready (as opposed to one per call stream), eliminating 'item already exists' errors in the CallEventProcessorLambda lambda
- ChimeVC CallTranscriber Lambda function memory footprint reduced to 768MB to improve cost efficiency with minimal latency tradeoff.
- README updates
v0.4.1
[0.4.1] - 2022-08-22
Changed
- Remove E.164 type enforcement on CustomerPhoneNumber and SystemPhoneNumber. Any string value is now allowed, enabling calls to be processed when either/both CustomerPhoneNumber and SystemPhoneNumber fields are non E.164 strings.
v0.4.0
[0.4.0] - 2022-07-15
Added
- Introducing support for real time Agent Assist features - see Agent Assist README.
- Added support for Amazon Connect Contact Lens as an optional call source - see Amazon Connect Integration README
Changed
- Latest Asterisk version (18) for demo PBX
- Solution title is now "Live Call Analytics with Agent Assist"
v0.3.0
[0.3.0] - 2022-05-18
Added
- Support for Genesys AudioHook. You can now stream call audio into the Live Call Analytics solution from a Genesys AudioHook. See the details in the README file
Changed
- Changed the audio stream consumer and transcriber component to run on AWS Lambda instead of AWS Fargate. This new Call Transcriber provides the following benefits:
- Reduced Amazon Transcribe processing cost. The agent and caller audio streams are now automatically merged into a
single stereo stream. Both the agent and caller audio streams are transcribed in a single session - Longer call duration handling. The Fargate consumer had a timeout of 42 minutes. The new Lambda based transcriber
has a mechanism that allows to transparently handoff the call processing from one Lambda invocation to another - Faster scaling on sudden call volume spikes
- Simplified stereo recording process. The stereo recordings are now produced by the Call Transcriber instead of
merging recording files after the call was done - Serverless!
- Reduced Amazon Transcribe processing cost. The agent and caller audio streams are now automatically merged into a
- Additional language support
- The Call Event Stream Processor Lambda function now runs on the arm64 architecture. The new Call Transcriber Lambda function also runs on arm64. The build was updated to enable arm64 emulation when using the SAM CLI in Amazon Linux 2
- SAM CLI version 1.49.0 or higher is required to build the project
- Partial transcript events are now only persisted for 1 day in DynamoDB. Final transcript events are persisted for 90 days by default
- Separated the build and development python virtual environments to avoid development dependencies interfere with the SAM CLI
- Updated the Python GraphQL client in the Call Event Stream Processor Lambda function to the released stable version gql v3.2.0. This version is now out of pre-release which removed the need for the Makefile based SAM CLI build of the Lambda layer. The library also added direct support for AppSync which removed the need for the custom AppSync transport and authentication code. The Makefile build and custom AppSync code has been deleted
- Updated dependency versions of various components including:
- Web UI
- Call Event Processor Lambda function
- Project build and development
- Updated nodejs and npm versions used in CodeBuild to build the UI
- Fixed demo agent recording download issue
Removed
- The resources associated with the Fargate consumer such as Fargate cluster/service/task definition, VPC, SQS queues and autoscaling were removed in favor of the new Lambda based Call Transcriber
- The resources associated with the creation of post call stereo recordings (including Lambda functions, S3 bucket and SQS queue) were removed in favor of the new Call Transcriber that merges the audio into stereo recordings at call time
v0.2.1
v0.2.0
Added
- Added script to update semantic versions in source files.
scripts/update-version.sh
- Added TROUBLESHOOTING.md for instructions on how to check for errors
- Added web UI admin user creation via CloudFormation. The email address of the admin user is
passed via theAdminEmail
CloudFormation parameter. An initial temporary password is
automatically sent to this user via email. This email also includes the link to the web UI - Added CloudFormation parameter to enable or disable Sentiment Analysis. See the
IsSentimentAnalysisEnabled
parameter - Added CloudFormation mapping to configure the Amazon Comprehend language from the selected Amazon
Transcribe language - Added support to select the Spanish language (es-US) in the CloudFormation template. The
CloudFormation template now allows to select either English (en-US) or Spanish (es-US) using the
TranscribeLanguageCode
parameter. NOTE: Content redaction is only available when using the
English language (en-US). It is automatically disabled when using other languages - Added the
CloudFrontAllowedGeos
CloudFormation parameter to control the CloudFront geographic
restrictions. You can specify a comma separated list of two letter country codes (uppercase ISO
3166-1) that are allowed to access the web user interface via CloudFront. For example: US,CA.
Leave empty if you do not want geo restrictions to be applied
Changed
- The CloudFormation
AllowedSignUpEmailDomain
parameter is now optional. If left empty, signup
via the web UI is disabled and users will have to be created using Cognito. If you configure a
domain, only email addresses from that domain will be allowed to signup and signin via the
web UI - The CloudFront distribution now defaults to no geographic restrictions. There's a new parameter
namedCloudFrontAllowedGeos
that allows you to add geographic restrictions. If you leave this
parameter empty, the previous geographic restriction will be removed on an update to this version.
The previous version had a hardcoded value that set the restriction toUS
only. Set the
CloudFrontAllowedGeos
toUS
if you want to preserve the previous default configuration after
updating to this version
Fixed
- Reverted kvs stream parser library version workaround
- Asterisk server will wait for voice connector to get a phone number before initializing