Amazon Connect – A Voice Mail Solution!

What no Voice Mail?

One of the surprises you get when working with Amazon Connect is the fact that, out of the box, there is no voice messaging capability.   However, given the rich library of services available in the AWS ecosystem, you can most certainly configure a solution that will get the job done!    Amazon Connect has built in recording capabilities and both logs and recordings are saved in an S3 bucket, so it would seem that the basic ingredients are there for configuring a voice messaging function.   Lets take a look at several different ways of implementing this functionality without breaking the bank in professional software development services!

Option 1 – High Voice Message Feature Content with Transcription, Email and SMS delivery options

This Voice Mail service is built on several AWS services but is rich in features and functionality:

  • Each Agent will have their own Extension number
    • This enables folks to leave a voice message for a particular Agent;
  • Voice Messages can be Transcribed and Encrypted;
  • Voice messages can be emailed or sent as an SMS (Text) message;
  • We create a Web Interface to administer voice mail options (i.e. set agent extension number, delivery options

There is an additional AWS cost as the solution will make use of Lambda Functions, DynamoDB, SES, SNS, Cognito and CloudFormation AWS Service options.   Amazon estimates that this will have a cost of approximately .03 cents per voice message.

We offer several configuration Options:

  1. A separate phone number that is used for this function exclusively.   Caller dials the VM number and is asked to enter the extension number of the Agent (we could also create a spell by name option).  The system will then attempt to send the call to the Agent and failing to connect with the Agent, the system will take a voice message for that agent and deliver it based on the options set by the administrator.  Delivery options are email or SMS.  The message can be sent as a WAV file or it can be transcribed to text.
  2. Continue to use your normal call flow and set one agent (or create a fake agent) to accept messages for the Queue they are a part of.  During the period in which the caller is holding in queue for the next available agent, as they might now do, they are offered the usual options, expect we replace the option to leave a voice message that you currently now transfer out of the system, to the agent nominated for queue mail.  Clearly the email address could also be an email address of a distribution group so the message goes to many others.
  3. LEX speech recognition “dial by name”.  The problem with extension numbers, is that callers will need to know them or you will  have to create a directory system.   Enabling “thanks for calling I can route your call in you speak the name of a team member or a function like sales” is way more impressive and provides a much better customer experience.

We offer a flat fee deployment option of $395  ($595 with dial by name option) to existing clients.    We will need AWS Management User Access with a User that has System Administration permissions as we have to access all of the AWS service above to configure the solution.

Option 2 Cheap and Quick: The Basic Recipe

We configure a Voice Messaging solution for call center queues very easily using the following formula:

1 – First Create a Queue with a creative name like Voice Messages!

2 – Second Create a Customer Whisper Function to act as the front end greeting for your voice mail box.

The Whisper function is going to provide your mailbox greeting and even the Beep!  This Whisper, set to play to the customer (rather than the agent) is played to the caller as they are connected to the Agent user.

3 – Third Create a User with an appropriate name like VoiceMail-Sales.

We want the user to be assigned a routing profile that contains only the VoiceMail Queue!  Also note that the User MUST be set to Auto-answer as this is the key to making this work the way we want it to work!

4 – Lastly, create a contact flow to integrate the above into a simple, but workable voice messaging system.


The contact flow can be very simple or you can make it a more complex by adding options like return to main menu!  The goal  however is to offer the option to leave a voice message or route a caller to voice mail if the caller arrives after hours.  Nothing to sophisticated here.   We set the Recording behavior to record both the caller and the agent.  We then set the Whisper flow, the Queue and then transfer the caller to the queue.  The queue will contain only one User in this example, but if you anticipate a lot of traffic, you could actually create multiple users with the same basic configuration essentially creating multiple voice mail boxes.   You can also create different users and voice message queues to accommodate various different queues.

The caller will be transferred to the VoiceMessage Queue which will then select the only User in that Queue, who is logged on and available.  This user was setup was setup with “auto-answer” so the behavior is to answer the call, play the Whisper to the caller as they connect to the Agent.  The Whisper contains the prompt “Sorry we are not here to answer your call but at the Beep please leave your voice message and we will follow up first thing next business day.  BEEP”.

The caller will then speak to the “agent” and the conversation will be recorded and saved to your designated S3 bucket!

Retrieving Voice Messages

The basic tools available to you  for retrieving your voice messages require a minimum permission of Call CenterQuality Analyst or Manager, as you may not want to make users Administrators!  Just log into the Amazon Connect dashboard and head over to Metrics and Quality and then select Contact Search.  Here you can set up a number of filters. For example we can search for the VoiceMail Agent configured above and also set the date range of interest, typically Yesterday!   This will bring up all the contacts handled by that agent and you can then hit the playback button under the Recording column.

Variations on a Theme

One of the user interfaces that makes this strategy a bit more useable is to use the Dextr.Cloud Dashboard.  The Dextr dashboard has an Activity screen that enables a Supervisor or Agent with the proper permission, to sort by Agent.  Then the playback button is right in the Dextr dashboard and there is no need to sign into the Amazon Connect dashboard to play back recordings.


We are struggling to find things we can’t do in an Amazon Connect contact center instance!   The rich library of AWS services makes it possible to solve any call center goal you might development you might define as a requirement. If you can imagine it you can make it happen!  Then again, you can always call on us and we can do it for you! –




Amazon Connect replaces ShoreTel Workgroups with the Dextr Dashboard!

Replace ShoreTel Workgroups with AWS Connect1

Recently we had a client with a very specific set of requirements and DrVoIP was able to satisfy with Dextr dashboard!   The client had a ShoreTel deployment that used ShoreTel Workgroups. ShoreTel Workgroups are often called a ‘poor man’s’ call center.  The client had made a decision too they were migrating away from ShoreTel to Skype for Business, they needed a new Call Center solution.  Workgroups act like traditional hunt groups but they enable customer queueing and both historical and real time reporting in a manner that is very similar to a formal call center.

The client wanted to replicate ShoreTel Workgroups along with the same ‘look and feel’ as ShoreTel Workgroup agent dashboard.   This dashboard enabled queue monitoring and also enabled a supervisor to change an agent state from Forced release to available or move an agent between queues.   We had no doubt that AWS Connect was the ideal solution, but we knew the Connect Control Panel or CCP as AWS calls the webRTC soft phone, would need a lot of work if it was going to provide the same functionality as ShoreTel.


We created the basic Dextr Agent dashboard to have the same features and functionality as the ShoreTel Workgroup Agent interface with several new and advanced features.  We needed to create a solution that would enable Supervisors to create an ‘ad hoc’ meeting and to close the call center and even create a new ‘CLOSED’ greeting.   Additionally it would be desirable if the Supervisor could send a broadcast message to all the agents in the queue.  This broadcast message would scroll across the agents screen, alerting all to a situation that the Supervisor wanted to bring to the attention of all Agent.

AWS Connect Holiday Schedule.

The first requirement was to setup a holiday schedule and also to allow the supervisor to create a ‘CLOSED FOR MEETING’ date and time.  AWS Connect does not have this ability out of the box, but it does have the API’s available to create such a solution.  So our team added this functionality!  Dextr enables a user with Admin privileges to open a window and create both HOLIDAYS AND AD HOC closings.   The instance is initially stocked with all US Federal holidays already listed.  The Admin can modify, add or delete these dates.  They can also specify, via the drop down window, which queues they are closing.  There is also a Text to Speech window in which the supervisor can enter the text of a prompt that will be played to a caller should they call during that time slot.

Dextr uses AWS Lambda to test for a holiday or ad hoc closing as step one in the opening contact flow.   The Lambda function brings back open or closed, a reason code and the text to speech prompt.   In this way the caller might hear ‘ You have reached us at a time we are closed for <insert reason from Lambda>, please hold while we transfer you to the message center’.   The entire message is created by the supervisor as the TTS or text block that will be returned by Lambda.

Dextr also enables the Supervisor to send out a broadcast message that scrolls for all queues or just a selected queue!  This is a list of all the features of the Dextr Dashboard basic version;

  • Nothing to install! Instant Access via which has video instructions for on boarding;
  • Customizable Logo;
  • Role based Login (supervisor, agent, administrator)
  • SAML support;
  • Agent Team Status Display;
  • Agent Call Activity with (click to return call);
  • Directory System with Click to call;
  • Help Button – Alert Supervisor;
  • Queue Monitor – including calls in queue, max waiting time; optional red, yellow tags)
  • Personal Recording; (permission option);
  • Supervisor Permissions add: Login/Logout (change agent state) Monitor, coach and Barge in;
  • All Recording search and play (see note 1 below);
  • Real Time Metric review Report Generation
  • Ability to set Holiday Schedules and “ad hoc” closings with new close prompt (think team meeting).
  • Push Announcement String out to Agent Dashboard for alerts and other notices.

Dextr augments the basic AWS Connect CCP softphone to enable advanced features that we find most call centers demand!  See Dextr.Cloud or DrVoiP.COM for additional details!





Dextr a Customized Agent Dashboard for #Amazon Connect Call Center!

AWS Connect CCP

Building out call centers on AWS, you learn a lot about opportunities for productivity enhancements!   One of the first issues that we noted was that the standard Contact Control Panel or CCP, which is basically a WebRTC soft phone client, though very useful has many opportunities for improving the Agent experience.   The list of request features is growing and as a result, we have taken on the development of  a customizable AWS Connect Agent Dashboard!


Call DrVoIP for AWS Call Center migration assistance.

If your only introduction to AWS is Connect, their cloud based call center product, you have successfully created your first call center instance and you are now taking inbound phone calls!   It was remarkably easy and with no real ‘geek” training, most call center professionals were able to log in, setup an instance, organize a call flows, create agents and voice prompts, obtain a phone number an in a few hours, you were taking phone calls!  Wow!

AWS Demo API’s

Did you know that the Agent CCP is completely customizable?  AWS provides a number of API’s and Connect Streams that a software engineer can access toward the goal of building an Agent Dashboard with a set of features and tools that are unique to your call center environment.  There is even a site you can log into and test some of the available API’s.   If you go to and click on the “demo sites” you can see some examples of customized CCP, Click to Call, Screen Pops and other tasty code bits.

Agent Streams

We note that there are many “connect streams” that a developer can tap to create their own version of CCP.   The supervisor side, however is not as fully formed and there are not as many streams and API’s available to support Supervisor requirements like real time queue and agent metrics.   In fact we had to develop our own socket layer communication strategy to implement the features we envisioned in our dashboard.

Recently we have discovered new and not readily available API for other AWS streams.  Some are only available depending on your support contract status.

Agent Dashboard Feature Set

The list of functions and features that we have added to our CCP is still growing but we set a goal of making the dashboard painless!   For example there is nothing to install.  Our application needs to be added by your instance administrator as an application end point in the Connect dashboard.  Once that is complete, the user just points at our portal and enters their instance name (you can even upload your own logo).   The traditional AWS Connect CCP shows up and you login as normal.   Once your credentials are established, you are then presented with the revised Agent Dashboard as shown below.

AWS Connect Dextr Agent Dashboard feature set

Most folks have asked for a “team status” display.  As an Agent I want to see the status of the other agents on my team.  So the first attribute we added was just that, a team status display.    Each agent has their own Activity List showing all of their calls both inbound and outbound.   Next to each call is a link to hear the recording of that call. Supervisors can select all calls, but agents only see their own call recordings.

Each Agent has a personal contact list with contacts that they have entered for their own use.  This augments the “quick connects” that they system administrator had created.  Here is the feature list:

  • Nothing to install! Instant Access via which has video instructions for on-boarding;
  • Customizable Logo and YourCompany custom log-in URL;
  • Role based Login (supervisor, agent, administrator)
  • SAML support;
  • Agent Team Status Display;
  • Agent to Agent Chat
  • Agent Call Activity with (click to return call);
  • Directory System with Click to call;
  • Help Button – Alert Supervisor;
  • Queue Monitor – including calls in queue, max waiting time; optional red, yellow tags)
  • Personal Recording; (permission option);
  • Supervisor Permissions add: Login/Logout (change agent state) Monitor, coach and Barge in;
  • All Recording search and play (see note 1 below);
  • Real Time Metric review Report Generation
  • Ability to set Holiday Schedules and “ad hoc” closings with new close prompt (think team meeting).
  • Push Announcement String out to Agent Dashboard for alerts and other notices.
  • Omni-Channel SMS/MMS enables test and pics to the next available agent
  • Omni-Channel email routing to the next available agent
  • “no headset” audible alert options for softphone

We are also planning to integrate or Click2WebChat functionality as an advanced feature option.  This would bring website co-browsing, video chat, SMS and keyboard chat into the call center!  The Dextr screen shows the Agent interface including the Video and Chat links.

How do you set a Holiday Schedule in Amazon Connect?

Dextr enables a user with Admin privileges to open a window and create both HOLIDAYS AND AD HOC closings.   The instance is initially stocked with all US Federal holidays already listed.  The Admin can modify, add or delete these dates.  They can also specify, via the drop down window, which queues they are closing.  There is also a Text to Speech window in which the supervisor can enter the text of a prompt that will be played to a caller should they call during that time slot.

We named the dashboard Dextr!  There is nothing to install.  Follow the video instruction below and have your Amazon Connect Administrator add us as a trusted application, then head over to our portal, log in and put Dextr to work for your team!

If you have a requirement for the CCP we would also like to know more about your requirements, so let us know.   If  you do not have an AWS Connect instance, DrVoIP will build you a “proof of concept” portal for no charge!  Remember, the American Business Communications landscape will be littered with the bleaching bones of those companies that do not adopt Amazon Connect as the enterprise call center that manages customer engagements!













A Five9 Call Center “cloud” migration success story!

Time for a new Call Center?

Recently we had the opportunity to move a major enterprise call center from a premise based solution to a virtual call center.      Though the existing premise call center had performed faithfully for a number of years, we had lost faith in the manufacture and their reluctance to commit to a product road map that we could build on.   Call Center technology changes as often as the weather and the demand for new features that the current system did not provide caused us to search for alternatives.   Our client required advanced workforce and quality management including call recording, scoring and advanced reporting tools.   Website integrations for visual IVR and “click to call”,  Social Networking integration and SMS options were also high on our wish  list.   As the call center was expanding geographically we wanted a solution that did not require us to build a WAN to interconnect agents to a central server.   We also wanted a company with a demonstrable track record, a rich history of experience and a customer reference list of others in our industry with similar deployment challenges.

We worked with our client to do the usual due diligence and explored both premise and cloud vendor solutions.   The premise challenge was that the affordable architectures were basically centralized server applications.   So if you had Agents in California, New York and London, you would have to network  all your Agents back to wherever you put the contact center server.   We have done literally hundreds of deployments these types of  solutions,  but in each case Agents would need to come up on a quality WAN network to be under the control of the contact center servers.   CISCO has an excellent solution for geographically dispersed work groups with either the PCCE or UCCE.    These are excellent call center solutions for mixed vendor ACD or geographically dispersed workgroups, but it would be more costly than the purchase of a used Russian ICBM missile.    Additionally, the IT staff required to manage that caliber of deployment was more than our client was prepared to underwrite.   Add in the ongoing cost of ongoing server refresh,  system upgrades and other maintenance requirements we determined to focus on a “cloud”  solution.

Clearing the Clouds!

When you focus on who has the experience, the references and the credibility to pull  off a cloud based call center, the competitive playing field narrows quickly.  Every vendor has learned to say “cloud” in the last couple of years, but who has really been executing customer focused call center solutions for more than 10 years?   If you like the Gartner Group “magic quadrant” analysis, you will find about three players in the upper right hand quadrant.   During our due diligence and RFQ process,  two of the tree vendors in that quadrant changed their corporate identities through either merger or acquisition.    This caused some concern  on our part that as these new entities struggled to redefine themselves and the product lines that might result from their new combinations,  we might be at the mercy of a company that was not yet fully formed!

In final analysis we chose to go forward with the Five9 solution and it has made all the difference!

Doing business the Five9 Way

They say “pre-sale” is about as good as it gets when it comes to vendor customer care.  The Five9 team has set a new standard for both “pre-sales”  and “post-sales” by which we will now measure every other vendor relationship going forward!   Admittedly the Five9 “Enterprise Sales Director”  we worked with was absolutely astonishing in meeting our requirements and exceeding our expectations.    Always ready, prepared and available he never failed to deliver on a promise.   We went through the normal “legal man and his bag full of deal killing goodies” back and forth between company attorneys,  hammering out a Master Service Agreement but in the end both sides had come to an agreement that was fair and reasonable.

Five9 Project Implementation

Five9 assigned a Project Manager,  Platform Architect and Connection Manager within hours of signing a contract.    We had network readiness test instructions and project workbooks almost immediately.   Just as quickly we had access to the Five9 platform portal including DID numbers to build and test with while waiting for carriers to do the vaudeville act known as “porting”!  We had a goal of having the Five9 solution replicate our existing call center as a project first phase and we set a goal of achieving “go live” within 90 days.    As  you would expect the Five9 team had a number of workbooks that needed to be completed.  The existing call flow had to be documented, numbers assigned, agents and supervisors listed, MPLS circuit connectivity options ordered and database access requirements considered.

Most of us that have had to deploy large telecommunications projects know the drill.   The bottleneck is always the client’s ability to get their homework assignments in on time!   One of the early on challenges for this project was to replicate the CRM SQL database lookup we used for call routing decisions and agent screen pops on call arrival.   When moving to a cloud solution the usual ODBC connector to the local server strategy was not going to work!   We had to build out a web service front end to our SQL farm and not knowing the Five9 IVR scripting tool set gave us some concern.   The fact of the matter was, that the Five9 scripting for IVR is as good or better than anything we have worked with historically and we think we have seen them all.   Having never seen the solution before,  it took about an 30 minutes for us to create an inbound campaign complete with audio prompts,  agents profiles, screen displays and basic call  flow.   We were impressed with the breadth of functionality that could be created with the Five9 IVR scripting tools.     Again, if you have deployed even a simple iPBX, you know that at “go live” you are still waiting for the client to record the auto attendant script!   Five9 has a text to speech option that enable you to create prompts on the fly and worry about the professional voice artist later!  The Platform engineer who actually implemented the solution, managed the webservice conversion from OBDC  with style and grace.   We had it operational and tested in no time!

The Five9 platform web portal has a rich library of training materials for administrators, supervisors and agents.   Our call center supervisors were able to create agent profiles and add agents with the appropriate skills to new campaigns in no time.  Actually, it was easier to log in to the portal and add the agents than it would be to list them in the workbook and dumping it on the implementation engineer!  Agents could log in to the portal and take video training sessions that increase comfort, knowledge and reduced the jitters that come with any type of workplace change.


One of our early on decisions was to use the Agent Softphone rather than an actual handset.    This meant that each Agent would have a workstation with a USB headset and no other  phone hardware.   While waiting out the usual 90 day carrier window for an MPLS link to both Five9 data centers in Santa Clara and Atlanta,  we built a VPN tunnel to enable our aggressive “go live” target.   In one location we had a VPN link, in the other we used a pure Internet connection.   Truth be told the quality of the connection was so astonishing that we are no second guessing the MPLS requirement!

Virtual Contact Center “Go Live”

Again the quality of folks we worked with at Five9 was astonishing!   This was most obvious at “go live”.    We noted that several of the Five9 team members were at one time Five9 customers.  These folks were so excited about the company, product and technology that they wanted to evangelize as employees!    Our Project Manager and Solutions Architect were both former customers who now worked on the implementation team at Five9.   We had multiple geographic locations for this deployment  and the Five9 team showed up at 0500 at each location ready to work!    Their knowledge and experience was a great part of the success of our launch as both Agents and Supervisors could benefit by the many operating hints this folks could provide.    This call center is no sleeper,  handling some 5K calls a day!   The move to Five9 was painless and event free. We never lost a single call or skipped a beat in our normal daily operations!

Post “Go Live”

The Five9 project team began to transition the project to the customer service group.   As part of this process a technical account representative was assigned to the project.    This individual would be available to us for some number of hours a month to work with us on new campaigns and smooth any transition issues.   So far, all has been better than expected and the experience and overall implementation has been excellent.   We are now moving into the second phase of the deployment, something we will tackle internally as the tools and resources to do so have all been provided by Five9 expertise.    We are looking forward to implementing a Salesforce connector; integrating the corporate website with a visual IVR component and getting the outbound campaign process cranked up.

Cloud Contact Center Advantages

Some of the advantages we have found moving the call center to the “cloud” are  benefits of virtual call centers in general:

  • Elastic scalability, pay as you go.
  • Geographic Independence – Agents can be located anywhere that they have access to the Internet.  Think Business Continuity and disaster recovery.
  • Cost Allocation – Most call center expense is embedded in the general budget, with a VCC your costs are easily identified including call costs in real time.
  • Media Traffice off the WAN – Calls to the VCC are over the PSTN and not over your internal VoIP network.
  • Browser based Call Control – It is no longer necessary to push configuration files to desktops.  This also enable desktop OS independence.  Mac, Windows, Citrix whatever.
  • Freedom from and endless cycle of software maintenance, upgrades, server and desktop refresh.

Cloud Transition Assitance

DrVoIP has been deploying VoIP solutions with a core competency in geographically dispersed Enterprise Contact Centers since 1998!  We have worked with most of the solutions in the market place and regularly implement custom contact center software and scripting services for ShoreTel, CISCO and Calabrio.   If you are considering a cloud based virtual call center,  give us an opportunity to assist you with RFQ, vendor selection, design, deployment management and custom software integration.    Our experience is global, our expertise is verifiable, our projects are on schedule and always exceed expectations! – DrVoIP





Recording ShoreTel phone calls!

Call Center not Required!

Long the standard in boiler room call center applications, recording calls is often a requirement outside the call center.    There are any number of reasons to record calls for including compliance, clarity and certainty and just management of customer quality service.   There are a variety of recording solutions in the market and they all have very different feature sets.  Do you need the ability to annotate calls?   To search on more complex parameters that time and date?     If an employee is being recorded and transfers that call to the HR Director of the company, should that segment of the call be recorded?   Do we want to record inbound calls only?  Both inbound and outbound?  Do you have multiple locations in your deployment?   Do employees have the right to start and stop recordings?  Add notes?  You will also have to consider how recording are to be stored and for how long?  This can have a huge impact on hardware requirements.   Just some of the characteristics you might want to consider as you look for for a recording solution.  The list of features is long and there are many options to chose from.   It is best to get a solid requirements document together and to make sure that you fully understand that recording alone is not all there is!

Recording Server Applications

ShoreTel has an optional recording function that can be very effective!   It can be installed as a single server solution or as a multiple server, multiple site solution.   It can record all calls, or just in one direction only.   You can select who is recorded and you can also select the archive location and time frame.   The solution is deployed on a ShoreTel server, either HQ or DVS depending on the deployment model.    There are actually four modules that can be installed: the recording server; the client side, the web player and the administrative module.   The solution uses the integrated recording functionality of the ShoreTel phone system and most of the usual user group and class of service settings apply.

Generally you will create a route point with a call stack as deep as the number of calls you want to simultaneously record, and put it on the server that will host the recording application.   You will also need a route point for the player and you will need to create a user who will proxy the recording functionality.   The server install is very simple and conforms to the usual point and click install expectations of a Windows server application.  The configuration is very simple, just provide the route point extension number, note the port for recording and click install!

The Administration Application

The Administrative application enables you to configure the specifics of the recording server and  to create profiles.  This application can be installed on the server or on a PC that can reach the server.   The configuration options are very easy to understand and simple to enter.  Basically they deal with where files should be stored and for how long.  You also have the option of either saving the recordings to a file system, or saving them as a voice message.


You then create profiles that are used to customize different groups of extensions.   For example, you might want persistent recording for some extensions and not others.   This means that the recording continues even if the call is transferred.  Do you want inbound and outbound recordings?   And exactly who should be recorded!  The profile also dictates if recordings are to be made all the time, or sampled as a percentage or by a defined schedule.

Client Side Options

The client side application is installed on a pc and is optional tray icon.   You would use this only if your profile enables users to start and stop recordings and to tag recordings.   If this is not a privileged that you want to extend to those be recorded there is no need to install this optional application at each desk.  The use of the client is profile dependent.


The Player Application

The last application defines the player and is very useful for visually managing recordings.  You can use a phone to play recordings , but most folks find this web application to be more useful.   The application must be installed on a server as it uses IIS, but the recordings are played locally on a windows machine that has a sound card!   Each extension is listed and there is a time and date stamp on the recording file.  You have the option of storing other file information, like ShoreTel call properties to enrich the identification of a recording.

ShoreTel Recording Player


All in all, the ShoreTel Recording Application is a sweet suite!  It gets the job done and at a price point that compares more than favorably with the third party Recording applications found in the market place.   We recommend it for both call center and general recording applications when you are on a ShoreTel iPBX!   Give us a call and we can help point you in the right direction or get this installed and configured for you!