sipXcom's Call Queue feature provides basic call queuing functionality. This feature is available in versions 4.6 Update 7 and later.
Users of traditional communications systems expect some basic form of call queuing capabilities to be available in the products they are acquiring. This most often takes the form of an Automated Call Distribution system. eZuce has a more advanced ACD system available called uniteme Reach which is a separately licensed product.
The purpose of the new Call Queue feature will be to provide basic call queuing to replace the queuing that was lost in the migration from version sipXcom 4.4 to version 4.6.
The Call Queue feature will not provide any fault-tolerance capabilities but will be able to run on multiple servers. The Call Queue feature also will not provide Supervisor or Agent portals, nor will any reporting be built.
John, a help desk manager would like to be able to receive calls from his company's users. There are 5 help desk technicians for computers and networking and 2 technicians for telecommunications. Two of the computers and networking technicians can also help service telecommunications trouble calls if necessary. If nobody is available to take calls after 3 minutes of being in queue a call should be routed to voicemail and be returned later.
The system administrator would create two Call Queues, one called ITTech and one called CommTech. Each call queue will be configured to great a caller with welcome audio, hold a call in queue for as long as 3 minutes and if there are no agents available, route the call to an extension to take a voice message.
Jane is a sales manager for an Internet e-tailer. Calls come from all over the world to the company's '800' number. Jane needs to be able to accept calls in English, Spanish and French. Furthermore calls for customer service and billing need to be queued and use the same '800' number. There are 10 sales (6 English, 2 French & 2 Spanish speakers) staff, 3 customer service agents (1 English, 1 French & 1 Spanish) and 2 billing clerks (1 English & French, 1 English & Spanish). If calls aren't answered in 5 minutes they are routed to a voicemail box and the call is returned later.
The openUC system administrator creates 9 Call Queues: SalesEN, SalesFR, SalesSP, CustServEN, CustServFR, CustServSP, BillEN, BillFR, BillSP. The sys admin then configures all of the Call Queue users and assigns them to their specific queues. Each Call Queue will be configured with welcome audio to great a caller in their language, hold a call in queue for as long as 5 minutes and then if there are no agents available, route the call to a language appropriate phantom user extension to take a voice message.
The sys admin then creates an sipXcom phantom user for each of the Call Queue Agents and assigns the phantom user as a separate line key on the agent's phones. The billing clerks that are multi-lingual each are assigned to multiple Call Queues.
The admin also creates an sipXcom Auto Attendant menu structure to support the necessary inbound calling:
Top Level/Language Selection (option 1 - English / failover, option 2 – French, option 3 – Spanish),
English menu (option 1 – Sales - xfer to SalesEN, option 2 Customer Service – xfer to CustServEN, option 3 – Billing – xfer to BillEN),
French menu (option 1 – Sales - xfer to SalesFR, option 2 Customer Service – xfer to CustServFR, option 3 – Billing – xfer to BillFR),
Spanish menu (option 1 – Sales - xfer to SalesSP, option 2 Customer Service – xfer to CustServSP, option 3 – Billing – xfer to BillSP).
Luigi is a manager of a Pizza Parlor. He wants all callers to hear their specials of the day before speaking to his order takers, to increase the sales of special offers. Calls are to be routed to a Pre-queue message to provide detailed information before the calls are delivered to an order center via call routing or a hunt group.
Enabling Call Queue
Call Queue can be enabled on a system in the System -> Servers -> Telephony Services:
Once enabled Call Queue can be found in the Features menu.
Configuring Call Queue
Clicking on Features -> Call Queue reveals the Call Queues page as seen below:
Configuring Call Queues
To configure a call queue, click on Add Call Queue on the Call Queues page. The following Queue configuration page will be displayed:
System Administrators should be able to create Call Queues and configure parameters for the queues. Call Queues will have the following configurable parameters:
- Name - Define a meaningful name for the call queue.
- Description - Detailed information for administrator notes.
- Extension - Assign an extension to be used for the queue (Pilot Number).
- DID - If desired, assign a DID to the queue.
- Locations - Locations that are allowed to call this Call Queue
- Strategy – Defines how calls are distributed in a queue. The following are the valid values:
ring-all Rings all agents simultaneously
longest-idle-agent Rings the agent who has been idle the longest.
round-robin Rings the agent in position but remember last tried agent.
top-down Rings the agent in order position starting from 1 for every member.
agent-with-least-talk-time Rings the agent with least talk time.
agent-with-fewest-calls Rings the agent with fewest calls.
sequentially-by-agent-order Rings agents sequentially by tier & order.
random Rings agents in random order
- Welcome Audio – A WAV file that if set will be played to a caller before they are placed in queue.
- Goodbye Audio - Audio that the caller hears when they are forced to leave the queue before an agent picks up the call.
- Queue Audio - Audio that the caller hears while they are waiting in queue.
- Record Calls – A true/false setting to set all calls in queue to be recorded to location specified in record-template.
- Record Calls Directory – The location to save call recordings. Defaults to /var/sipxdata/mediaserver/callqueue/XXXX (where XXXX is the extension assigned to the call queue).
- Apply Tier Rules – This is a true/false setting that determines if the tier rules apply.
- Tier Escalation Wait (seconds) – The time in seconds that a caller is required to wait before advancing to the next tier of agents within a Call Queue. This will be multiplied by the tier level if tier-rule-wait-multiply-level is set to 'true'. If tier-rule-wait-multiply-level is set to 'false', then after tier-rule-wait-second's have passed, all tiers are open for calls in the tier-order and no advancement (in terms of waiting) to another tier is made.
- Tier Rule Wait Multiply – This is a true/false setting that indicates the tier-rule-wait-second is a multiplier. If 'false', then once tier-rule-wait-second is passed, the caller is offered to all tiers in order (level/position). If 'true', the tier-rule-wait-second will be multiplied by the tier level and the caller will have to wait on every tier tier-rule-wait-second's before advancing to the next tier.
- Tier Rule No Agent/No Wait – This is a true/false setting that if 'true', callers will skip tiers that don't have agents available. Otherwise, they are be required to wait before advancing. Agents must be logged off to be considered not available.
- Maximum Wait Time (seconds) – Any value are in seconds, and will define the delay before we quit the callcenter application if the caller hasn't been answered by an agent. Can be used for sending call in voicemail if wait time is too long. Default to 0 to be disabled.
- Maximum Wait Time With No Agent (seconds) – A value in seconds that defines the length of time a queue can be empty of available (on a call or not) agents before we disconnect callers. This allows administrators the ability to have callers leave the Call Queue if no agents are available, but only after a certain time. This principle here is to protect kicking all member waiting if all agents are logged off Call Queue accident. Default to 0 to be disabled.
- Maximum Wait Time With No Agent Time Reached (seconds) – A value in seconds that will define the length of time after the max-wait-time-with-no-agent is reached to reject new callers to a Call Queue. This allows for kicking caller if no agent are logged in for over XXX seconds, but new caller after that XXX seconds is reached can have a lower limit. Default to 5 seconds.
Agents are users who answer calls for a Call Queue. Agents are configured in Features -> Call Queue -> Agents.
To add a new agent click on the Add Agent link. This will display the following new agent page:
Name - A name for the agent.
Extension - Select a valid user extension in the system.
Description - A description for this agent for administrator use.
Status - The current status of an agent.
Agents have Status and States. The Status is the general state of the agent. Statuses are not updated by the system automatically, so they must be set or changed as needed. States are the specific state of an agent with regard to the calls in the queue. States are dynamic and are updated by the system based on the progress of a agent in a call. The reason for separating the two is so that an agent can logout (change Status to 'Logged Out') without affecting his current call State (possibly set to 'In a queue call'). If an agent changes his status to Logged Out, any active callback attempts will be halted and the queue will try to place that caller with another agent.
Logged Out - Cannot receive queue calls. Available - Ready to receive queue calls. Available (On Demand) - State will be set to 'Idle' once the call ends (not automatically set to 'Waiting'). On Break - Still Logged in, but will not receive queue calls.
Always Available - Makes agent always available to take calls (can not log out of Call Queue).
Use Agent Defaults - If checked, an agent will be configured with Agent-Defaults instead of the following settings.
Max No Answer (count) - If the agent reaches this number of consecutive no-answer's, his or her status is changed to 'On Break' automatically.
Wrap Up Time (seconds) - A delay in seconds that an agent will be given after finishing a call before receiving another call. Set to 0 to disable.
Reject Delay Time (seconds) - A delay in seconds that is used if the Agent rejects a call on their phone. Call Queue will wait this number of seconds before presenting another call to the Agent.
Busy Delay Time (seconds) - A delay in seconds that is used if a call is presented to an Agent and their phone is in Do Not Disturb. Call Queue will wait this number of seconds before attempting to present another call to the Agent.
No Answer Delay Time (seconds) - A delay in seconds that is used if a call is presented to an Agent and it goes unanswered.
Call Queue Settings
To set Queue Defaults or change Queue dial codes, click on Features -> Call Queue -> Settings.
Call Queue Agent Defaults
Agents can be configured to follow the defaults or have their own individual settings. This is where the defaults can be configured.
- Max No Answer (count) - If the agent reaches this number of consecutive no-answer's, his or her status is changed to 'On Break' automatically.
- Wrap Up Time (seconds) - A delay in seconds that an agent will be given after finishing a call before receiving another call. Set to 0 to disable.
- Reject Delay Time (seconds) - A delay in seconds that is used if the Agent rejects a call on their phone. Call Queue will wait this number of seconds before presenting another call to the Agent.
- Busy Delay Time (seconds) - A delay in seconds that is used if a call is presented to an Agent and their phone is in Do Not Disturb. Call Queue will wait this number of seconds before attempting to present another call to the Agent.
- No Answer Delay Time (seconds) - A delay in seconds that is used if a call is presented to an Agent and it goes unanswered.
Call Queue Feature
These settings let the Administrator configure the dial codes used to login, logout and go on break.
- Agent Login Code - The dial string that an agent can dial to log into Call Queue.
- Agent Logout Code - The dial string that an agent can dial to log out of the Call Queue.
- Agent On Break Code - The dial string that an agent can dial to go 'On Break' vs. logging out.