Today, many small and medium-sized businesses are choosing on-premises IT solutions, which will fit their special business needs. As for the telephony systems, VoIP (Voice over IP) has emerged in the last years as major technology providing all necessary features that enterprise-grade PBXs can offer.
One of the major functionalities that a VoIP system must provide is the call center features, allowing SMBs to implement their own local call center and better serve their customers by phone calls.
There are hundreds of different hardware/software providers across the globe that integrate call center functionalities into their solutions, and every call center system has its pros and cons. When selecting the right call center system for your business, contact center, or call center, it’s important to decide which features you want your phone system to have.
Grandstream Networks, being the leading manufacturer of VoIP equipment, has built into its well-known UCM6XXX IP-PBX series many call center features that businesses are requesting and will continue to add more options to attend to its customers’ needs. In the following guide, we will cover in detail all the major modules and features provided by the UCM6XXX IP-PBX series that will help you run your own call center in the most possible efficient way.
The UCM has most of the well-known features that are requested for call center implementations, the following sections will cover these modules and functionalities one by one in more detail.
UCM supports one of the fundamental building blocks of every call center system, which is call queues.
Typically, a call queue consists of:
- Callers: Sending incoming calls placed in the queue.
- Agents: Members defined to answer the queue calls. Agents can be either static or dynamic.
- Call queue strategy: A strategy that dictates how the PBX will distribute incoming calls to the agents.
- Music on hold: Music or advertisements played for callers while waiting in the queue.
Users can also set other useful features and options that we summarize in the following table:
Configure the call queue extension number.
Configure the call queue name to identify the call queue.
Select the strategy for the call queue.
The default setting is “Ring All”.
Music On Hold
Select the Music On Hold class for the call queue.
Note: Music On Hold classes can be managed from Web GUI🡪PBX Settings🡪Music On Hold.
Max Queue Length
Configure the maximum number of calls to be queued at once. This number does not include calls that have been connected with agents. It only includes calls not connected yet. The default setting is 0, which means unlimited. When the maximum value is reached, the caller will be treated with a busy tone followed by the next calling rule after attempting to enter the queue.
Configure the number of seconds before a new call can ring the queue after the last call on the agent is completed. If set to 0, there will be no delay between calls to the queue. The default setting is 10 seconds.
Configure the number of seconds to wait before ringing the next agent.
Configure the number of seconds an agent will ring before the call goes to the next agent. The default setting is 30 seconds.
If enabled, the calls on the call queue will be automatically recorded. The recording files can be accessed in Queue Recordings under Web GUI🡪Call Features🡪Call Queue.
Max Wait Time
Configure the timeout after which users will be disconnected from the call queue. The default setting is “60”. 0 means unlimited.
Note: It is recommended to configure “Wait Time” longer than the “Wrapup Time”.
If enabled, users can upload an audio file that will be played as an Initial tone when dialing the queue number.
Once Max Wait Time has been configured, select to which destination send the calls that have timed out. The default is to “Hang up” the call.
Destination Prompt Cycle
Configure the voice prompt cycle (in seconds) of the call queue. Once all agents are busy and the voice prompt will be played, and you can press the appropriate key to transfer to the failover destination.
When playing a custom prompt, press 1 to transfer to failover destination.
Select failover destination to send callers after pressing 1 upon hearing the custom prompt.
Refer to [Virtual Queue] and [Position Announcement) section for detailed information about these features.
Enable Position Announcement
If enabled, the system will inform callers waiting in the queue of their positions in line.
Enable Wait Time Announcement
If enabled, the estimated wait time for the call to get answered will periodically be announced to the caller. Note: Wait time will not be announced if less than one minute.
The interval at which caller positions and estimated wait times will be announced.
Enable Agent Login
Enables agent login/logout feature for static agents (supported only on GXP21XX phones with firmware higher than 188.8.131.52).
Leave When Empty
Configure whether the callers will be disconnected from the queue or not if the queue has no agent anymore.
Dial in Empty Queue
Configure whether the callers can dial into a call queue if the queue has no agent.
Choose the destination where the call will be directed when the queue is empty or when all the agents are not logged in, here are the destinations that can be configured:
Enable Agent Login
Enabling agent login will cause the dynamic agents to be unavailable.
The queue chairman can log into his web portal to operate the queue.
Report Hold Time
If enabled, the UCM will report (to the agent) the duration of time of the call before the caller is connected to the agent.
Replace Display Name
If enabled, the UCM will replace the caller display name with the Call Queue name so that the caller knows the call is incoming from a Call Queue.
Enable Feature Codes
Enable feature codes option for call queue. For example, *83 is used for “Agent Pause”
Configure to enable autofill.
Dynamic Login Password
If enabled, the configured PIN number is required for the dynamic agent to log in.
When present in an INVITE request, the Alert-info header field specifies an alternative ring tone to the UAS.
Go to “Agents” Tab and Select the available users to be the static agents in the call queue. Choose from the available users on the left to the static agents list on the right. Click on < or > to choose. And use UP and Down arrow to select the order of the agent within the call queue.
Below are the steps for the basic creation and configuration of call queues from the UCM’s web GUI:
- Access the UCM web GUI under Call Features🡪Call Queue.
- Click on “Add” to create a new call queue.
- Specify the call queue extension number under Extension field.
- Define a name for this call queue.
- Configure the call queue strategy under Strategy.
- Go to “Agents” tab to select available agents to receive calls.
- Press Save button and apply the new changes.
For Agents’ configuration and management, please check [Agents Management] for more details.
A new function named Virtual Call Queue has been added to the UCM’s call queue module, this allows customers to receive a callback instead of waiting in an ACD queue.
After a customer’s waiting time exceeds a configurable threshold, he/she will be prompted to choose between stay waiting on the queue or leave a call-back number without losing his position in the queue. When it’s his turn, the UCM will place automatically a call to the call-back number.
This feature can be enabled and configured under the advanced settings of each call queue.
Enable Virtual Queue
Enable virtual queue to activate call center features.
Virtual Queue Period
Configure the time in (s) after which the virtual queue will take effect and the menu will be presented to the caller to choose an option. Default is 20s.
Virtual Queue Mode
Offered to caller after timeout: After the virtual queue period passes, the caller will enter the virtual call queue and be presented with a menu to choose an option, the choices are summarized below:
Triggered on user request: In this mode, the callers can activate the virtual queue by pressing 2, then they will be presented with the menu to choose an option as below:
Virtual Queue Outbound Prefix
System will add this prefix to dialed numbers when calling back users.
Enable Virtual Queue Timeout
When this option is enabled and after a caller registers a call back request on the
Configure the virtual queue callback timeout period in seconds.
Enable Virtual Queue Position Announcement
Enable the announcement of the caller’s position periodically.
Note: Queue position will now be announced to the caller upon entering the
Position Announcement Interval
Configure the period of time in (s) during which the UCM will announce the caller’s position in the call queue.
Enable Virtual Queue Wait Time Announcement
When enabled the UCM will announce the estimated queue wait time to callers if the estimated wait time is longer than 1 minute.
Select the extension to act as chairman of the queue (monitoring)
Virtual Queue Welcome Prompt
Click on “Upload Audio File” to upload the VQ welcome prompt.
Enable Agent Login
When enabled, statics agents can conveniently log in and out of a queue by
UCM supports also call queue position announcement, where the caller’s position in the queue will be announced upon entering the queue.
This can help the callers to decide whether to wait for more for an agent to answer the call or leave a callback request or simply Hangup.
In order to set virtual call queue and position announcement features under a specific call queue, users may follow the steps below:
- Access the UCM web GUI under Call Features🡪Call Queue.
- Edit the call queue and go to advanced settings.
- Check “Enable Virtual Queue” and leave the mode set to be offered to the caller.
- Set the “Virtual Queue period” (ex: 30s).
- Set Virtual Queue Outbound prefix that will be used for outbound rule matching.
- Enable position announcement.
- Set the position announce period (ex: 30s).
- Enable Hold Time Announcement (Optional to announce the estimated queue wait time to callers if the estimated wait time is longer than 1 minute)
- Save and apply.
UCM supports also Music on hold, which is largely used on call center systems. Once a call reaches the queue, the customer will be usually prompted with an IVR menu and listen to music on hold while waiting for an agent to take the call.
The music on hold files are managed under PBX Settings🡪Music On Hold and once this is done, users can assign to each call queue a specific music on hold as desired.
Call center agents which handle incoming queue calls and outgoing calls with customers on a daily basis can be defined in two different ways:
⮚ Static Agents
The administrator can assign static agents to a call queue using the following steps.
- Access the web GUI menu Call Features🡪Call Queue🡪Edit Queue.
- Click on Agents tab.
- Select the static members (agents) of the queue.
Note: The maximum number of static agents for a queue depends on the UCM model as shown below:
Max Static Agents in Call Queue
Table 1: Max Static Agents in Call Queue
The second method by which agents can be used is to give them the flexibility to dynamically login and log out from the call queue, this way the agent will log in once arrived at the office and log out when leaving.
For this, the administrator needs to configure the login code by following below steps:
- Access the web GUI menu Call Features🡪Call Queue🡪Global Queue Settings🡪Dynamic Agent Login Settings.
- Set the login/logout Code Suffix (Ex: * for login and ** for logout).
- Save and Apply.
Once this is done, the administrator can instruct the agents that they can use the queue extension number followed by the corresponding code suffix in order to log in/out respecting working hours.
- Agents Pause
When an agent needs to take a break (for lunch as an example) they can simply dial the “agent pause” feature code *83 then when he/she is back they can change the status to available by dialing the “agent Unpause” code *84.
These codes can be customized under Call Features🡪Feature Codes🡪Feature Codes menu of the UCM’s web GUI.
This feature enables the static agents to easily login/log out from their call queues using a simple button press to either login or log out. From their phone they can see the list of call queue that they are members in, and once they are in office, they can choose to which call queues to login and after the end of the day they can press a button again to logout, thus removing the pain to remember the dynamic login/logout code and the queue extension number.
UCM supports automatic call distribution with many different strategies that can be set under the basic options of each call queue separately.
Below are the descriptions of each strategy implementation:
- Ring All
Ring all available agents simultaneously until one of them answers the call.
The calls will ring at agents’ phones following an order previously configured. Only for static agents.
- Least Recent
The system selects the agents who have not answered the phone for the longest period.
- Fewest Calls
The system assigns the call to the agent with the lowest number of calls answered so far.
Ring a random agent.
- Round Robin
Ring the agents in Round Robin scheduling with memory.
Service Level Agreement
Service Level Agreement allows monitoring of the quality of the service provided to the customers. The quality of the service is defined by answering the received calls within a time period to make sure that there are enough agents in the queue.
To be able to configure Service Level Agreement, please navigate to Call Features🡪Call Queue, edit/creat a queue, then under Advanced Settings you will find “Enable SLA”, tick that option to have the related configuration displayed.
- SLA Time (s): The SLA Time is the amount of time in which a call should be picked up by an agent in the call queue, to assure a quick response time to the number of calls received. Thus, offering a better service to the clients.
- SLA Alert Email Notification: Enable this option to receive an email triggered by exceeding the SLA time.
- Alert Threshold: The minimum percentage of the calls answered within the SLA time. Once this threshold is exceeded the email notification will be triggered.
- SLA Alert Interval (m): The minimum time period between two SLA email alerts.
- SLA Email Recipients: The list of emails to which the alert will be sent.
Once the threshold of calls is not answered within the configured time, an email alert will be automatically sent.
The alert email will look like the figure below.
Agents have full control over the calls with the support of almost all known features that are needed within a call center system for day to day operations, these features set include the following:
- Putting calls on Hold.
- Call transfer
- 3-way conference
- Call park
To use these features, the users have two options.
For example, the agent can use the “Transfer” button on his phone in order to transfer calls or use the UCM’s corresponding feature code for call hold in order to put a call on hold.
The Agent can access his/her user portal under call queue CTI where they can see active calls and have option buttons to operate and control the call, more details will be provided later on this document.
UCM supports some of the interesting monitoring features that are usually used within call center systems by supervisors and coaching personnel to assist agents during critical situations. These features can be used either via specific features codes or using CTI interface.
With call barging, supervisors can use feature codes after enabling the Spy option under Call Features🡪Feature Codes page to do the following operations:
In “Listen” mode, the extension monitoring the call can hear both parties in the active call but the audio of the user on this extension will not be heard by either party in the monitored active call.
In “Whisper” mode, the extension monitoring the call can hear both parties in the active call. The user on this extension can only talk to the selected monitored extension and he/she will not be heard by the other party in the active call. This can be usually used to supervise calls.
In “Barge” mode, the extension monitoring the call can talk to both parties in the active call. The call will be established similar to the three-way conference.
Same operations can be performed using the web GUI of the UCM from the call status page and switchboard.
As mentioned above, one of the three modes for call barging in UCM is the Whisper mode. This mode allows supervisors and coaching personnel to assist agents during critical situations which require intervention. Whenever the agent answers a call, the call conversation audio will be forwarded to the supervisor, and the supervisor’s audio will be forwarded to the agent for instructions but not to the customer.
UCM has also built-in call queue statistics for performance measurement and agent evaluation, thus helping managers and supervisors making the right decision to improve the call center day to day operations. The call queue statistics provided by the UCM have some amazing filtering options which can be used to get every detailed information about the performance of each queue separately or the full system. Using these filters, the supervisor can get the following information and more:
- Call distribution by Agent.
- Agent login/logout records.
- Agent pause logs.
- Call distribution by time unit (hours, days, weeks and months).
- Call distribution by queue.
- Filter by start time and end time.
- Virtual queue total information.
- Virtual queue distribution by agent.
And also, it gives the supervisor the ability to download the call queue statistics or configure the automatic download which will send call queue statistics to the configured email address at the specified frequency and time.
- Call Queue Statistics Download:
Users can click on the download button to download all the call queue statistics in one csv file.
- Automatic Call Queue Statistics Download:
Users can also configure the call queues statistics to be sent automatically to the configured email address at a specified frequency and time by clicking on the automatic download button to access to the following configuration settings:
Enables the call queue statistics automatic download.
Specifies the type of records to download: All, Overview, Agent details, Login Record, Pause Log.
Automatic Download Period
Specifies the automatic download period. The default option is “By Day”. At the specific time of each day, week or month, the last cycle of new records will be sent to the user.
Configures the email address to receive the call queue statistics.
Note: Multiple email addresses are supported and need to be separated with semicolons as follows: “xxx;xxx”.
Table 2: Call Queue Automatic Download
To setup and give special permissions for monitoring and control to the supervisor account, the following steps can be followed:
- Access the UCM web GUI under Extension/Trunk🡪Extensions and edit the agent’s extension.
- Go to features Tab and under “Monitor Privilege Control” select the extension of the supervisor.
- Press Save and go under Call features🡪Feature Codes then “Enable Spy”.
- Go under Call Features🡪Call Queue🡪Advanced settings and select the supervisor’s extension under Queue Chairman option, this will give the supervisor control through the switchboard.
- Save and apply the changes.
The following figure shows a sample of statistics that lists the average unanswered and abandoned calls, as well as the average call and waiting time.
CTI (Computer Telephony Integration)
CTI, or Computer Telephony Integration refers to any technology or solution that allows the interaction between the telephone and the computer networks. This functionality is an important building block of any call center solution since it gives agents much more flexibility on handling a high volume of calls in the most efficient way, allowing them to perform most call control operations in just a few clicks.
Grandstream proposes two CTI solutions that are designed to ease the workload of your agents, the first one (GS Affinity App) requires integration with our enterprise grand IP-Phones and the second option is a web-based switchboard.
Grandstream Affinity is an easy-to-use CTI application allowing interaction with Grandstream GXP17xx/GXP21xx IP Phones series. GS Affinity provides a smooth call management and control interaction between phones and computers running the application. Using GS Affinity CTI application, users will be able to get benefits from the following major features:
- Complete call control (call answer, call hold, DND, call forward, conference, call transfer etc.…).
- Incoming calls notifications on desk computer allowing caller numbers to be screened against a database to collect or provide more information related to caller.
- Initiate outbound calls from computer directly.
- Discovering phones with CTI feature enabled and communicate with the UCM6xxx directly to execute specific actions.
- Contacts management from computer and synchronization with connected hosts.
- Manage call history of connected hosts from computer.
Click here for more information about GS affinity.
The second way Grandstream provides CTI solution is the web-based switchboard under call queue, following section will give more details about this option.
UCM has a simple and easy to use switchboard for real-time monitoring of call queues and performing different operations which include:
- List the waiting calls.
- List the proceeding calls.
- Manipulate proceeding calls.
- List agent’s status.
Users can access to call queue switchboard via two different methods that we will be discussing next.
Users could log into their web GUI portal using the extension number and user password. When an extension is created in the UCM6XXX, the corresponding user account for the extension is automatically created. The user portal allows access to a variety of features which include user information, extension configuration, and CDR as well as settings and managing value-added features like Fax Sending, Call Queue, Wake-up Service, and CRM.
Each agent can log into his/her user portal account and access the switchboard of the call queue(s) where he belongs, below figure is an example:
From the command button on the proceeding call, the agent has the ability to transfer the call or Hangup using a simple click.
Another way to access to switchboard is to design under the advanced settings of the call queue a “queue chairman” which will provide a CTI interface for supervisors while logging in using their user portal.
From the switchboard, the queue chairman has more advanced features and control over the call queue, which include the following:
- List the waiting calls with the ability to hang-up.
- List the proceeding calls.
- Transfer proceeding calls.
- Hang-up calls.
- Call barging (see Whisper Coaching).
- Call insert (for 3-way conference).
- List the agent’s status which are members of the call queue.
- Get some basic statistics over the call queue.
You can see from the below figure a sample switchboard of a call queue chairman or “supervisor” and which obviously has more advanced control over the call queue than the normal agent user portal access as discussed in the previous section.
Customer relationship management (CRM) is a term that refers to practices, strategies, and technologies that companies use to manage and analyze customer interactions and data throughout the customer lifecycle, with the goal of improving business relationships with customers.
The UCM supports CRM API for two well-known CRM solutions, SugarCRM and Salesforce, this allows users to look for contact information in the Contacts, Leads, and/or Accounts tables, shows the contact record on the CRM page, and saves the call information in the contact’s history.
CRM Interaction gets more interesting as well if we consider the integration with CTI app developed by Grandstream [GS Affinity]. Where the agents will get contact, information displayed on their screen and get a link to go directly to the contact’s CRM page, allowing them to handle the call in a more customized way and give the client a better experience.
To set up a connection between UCM and CRM, please follow below steps:
- Access the UCM web GUI under Value Added Features🡪CRM.
- Set CRM server address (ex: 192.168.1.3) “only for SugarCRM”.
- Set “Add Unknown Number” to Contacts.
- Select from which tables to do the lookup. (contacts, accounts and leads).
- Save and Apply.
After this, each agent should log into his/her user portal to enable CRM connection and login via their credentials. Steps should be as following:
1. Access the UCM user portal and navigate to Value Added Features🡪CRM.
- Enter connection credentials Username and Access Key.
- Save and Apply and confirm login status.
The UCM has support for a full built-in IVR (auto-attendant) module which is required by every call center telephony system. Users could create up to a 5-level IVR system to customize callers’ experience with key-pressing events to be directed to the right customer service (sales, marketing, tech support …)
All IVR settings are centralized and can be managed under the menu Call Features🡪IVR.
Users could achieve the following:
- Record custom prompts for the auto-attendant.
- Enable key-pressing events to guide callers through the IVR system.
- Set multi-layer IVR (up to 5-layer).
- Choose the language and customize system prompts.
- Setup backlist/whitelist filtering.
- Key Pressing Configuration
Users could follow the below steps in order to set up key pressing events for IVR cascading:
- Access the UCM web GUI under Call Features🡪IVR then edit the main IVR.
- Navigate to the Key Pressing Events tab.
- Select a key, then select one of the available destinations (You can select another IVR to set multi-layer IVR).
Another feature that is considered major for any call center system, is call recording. The UCM has support for call recording either to be enabled automatically on the call queue settings or via feature codes during the active calls. The admin can enable auto-recording under each call queue to keep track of call records under the system for later agent monitoring, assessment, and verification usage.
Once the auto-record feature has been enabled on a call queue, the system will start recording all calls that are received on the specific queue in wav files which can be accessed from the following path:
Call Features🡪Call Queues🡪Queue Recordings.
Then the user can:
- Download batch or single files to listen to the recording.
- Delete batch or single files to free recording space.
- See the caller number, the queue that has received the call.
- See the timestamp which indicates the date and time of the call.
After we have presented the call center features that are supported on the UCM, we will move on to the next part of this document to cover a sample scenario and step-by-step configuration of these features from the web GUI.
The company ABC has different departments (Sales, Marketing, Support…) and needs to manage incoming calls per department. In this scenario, we will assume the following:
- Inbound route is configured to redirect all the incoming calls to a main IVR and caller needs to specify which department to reach by pressing corresponding key (We assume IVR already created).
- Sales department has 5 members with extensions: 1000, 1001, 1002, 1003, 1004.
- Incoming calls to Sales department should ring all Sales agents.
- Marketing department has 3 members with extensions: 1005, 1006, 1007.
- Incoming calls to Marketing department should ring in order.
- Support department has 10 members with extensions: 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017.
- Agents 1015, 1016 and 1017 are dynamic agents which log in and logout depending on their availability.
- UCM has integration with company CRM sever (SugarCRM).
- A supervisor is responsible to monitor and assist the tech support agents: extension 2000.
- Only the supervisor has permission for call barging on all agents calls.
- Callers to tech support should be allowed to know their position in the waiting queue and prompted on an interval of 30 seconds if they wish to stay waiting or leave a callback number to get connected once an agent is free.
- All extensions are already created, configured and registered to the corresponding end points.
In order to implement the described scenario, users can follow the below procedures:
- Create three call queues named sales, marketing and support and make sure to set the correct ring strategy. 🡺 [Call Queue Configuration]
The following table summarizes required settings for each queue respecting the requirements.
Call Queue Extension
Call Queue Name
1000, 1001, 1002, 1003, 1004
1006, 1005, 1007
1008, 1009, 1010, 1011, 1012, 1013, 1014
Table 3: Call Queue Basic Settings
- Create the main IVR and set the key pressing events as below 🡺 [Key Pressing Configuration]
- Enable dynamic agent login for tech support personal 1015, 1016 and 1017 🡺 [Dynamic Agents]
- Configure extension 2000 as the queue chairman 🡺 [Supervisor configuration]
- Configure the virtual queue and enable position announcement on each queue 🡺 [Virtual Queue & Position Announcement configuration]
- Setup outbound rule for client’s callback feature, as followed:
- Access the UCM web GUI under Extension/Trunk🡪Outbound Routes.
- Add new outbound rule and name it (you can name if for ex: call center callback).
- Set pattern as _0X. assuming 0 was the prefix configured on call queue advanced settings.
- Set Strip to 1 digit. This to remove the prefix from the number that the customer left.
- Select through which trunk you want to callback the customers.
- Save and Apply.
- Setup UCM to SugarCRM connection 🡺 [CRM Configuration]
The following figure shows company ABC call queue flow:
Company ABC has been successful and expanded its existence with two additional branch offices for customer technical support, in this case, the headquarter office UCM still maintain centralized CRM integration services and call distribution to branch offices where each UCM runs its own branch sub-call center for technical support.
Once an incoming call reaches the main UCM, users will be asked to select from which region they are calling to be directed to the correct technical support office. The following figure shows the new distributed call center architecture of the enterprise.
Following steps can be followed in order to meet the new company requirements:
- Make sure that UCM for Branch 1 and 2 have separate extension range than headquarters UCM.
- Headquarter UCM extension range: 1XXX
- Branch1 UCM extension range: 2XXX
- Branch2 UCM extension range: 3XXX
- Configure peer trunk between headquarter and branch offices for site to site connectivity, please follow this https://documentation.grandstream.com/knowledge-base/sip-trunks-guide/ in order to setup the trunk.
- Edit the main IVR to add new options for regional office redirection under key pressing events. 🡺 [Key Pressing Configuration]
- Create call queues for each branch office where you put the corresponding agents extensions. And choose the adequate ring strategy (i.e. Ring All). 🡺 [Call Queue Configuration]
- Setup virtual queue and position announcement on each queue 🡺 [Virtual Queue & Position Announcement configuration]
- Configure the outbound routes on each branch office in order to route callback calls through the SIP peer trunk to the main UCM which will reroute over