PBXware 4.1.2 Queues
From Bicom Systems Wiki
PBXware Queue system allows you to receive more calls in your PBXware than your staff members are able to answer at the same time.
They will enable you to deal with your calls more efficiently and your customers will be held in a queue, listening music on hold and receiving information messages about aproximate wait time and/or their position in queue depending on the settings you choose to apply to your PBXware queue environment.
Queues consist of:
- Incoming calls being placed in the queue
- Members that answer the queue (extensions or users that login as agents)
- A strategy for how to handle the queue and divide calls between members
- Music played while waiting in the queue
- Announcements for members and callers
PBXware Queue members types:
- Agents are staff members that answer incoming call(s) that have been placed into a specific Queue. An agent logs in indicating that s/he is now ready to take calls. PBXware transfers an inbound call to a queue, which is then distributed to an available agent in order defined by the queue ring strategy.
- SIP Members are extensions that are active while answering the Queue calls.
Contents
Queues
This screen lists all system queues with the following details:
- Name
- Queue name
- (ex. Patience)
- (Display)
- Number
- Queue network number
- (ex. 1001)
- (Display)
- (ex. Click to edit queue configuration)
- (Button)
- (ex. Click to delete a queue from the system)
- (Button)
Search
By selecting 'Search' Command, search menu will be displayed. Searches can be done by Name and Number
- Search
- Search phrase
- (ex. Provide a search phrase here and hit enter to filter the records)
- ([a-z][0-9])
- Name
- Should the search filter be applied to the queue names
- (ex. Check the box to search queue names)
- (Check box)
- Number
- Should the search filter be applied to queue numbers
- (ex. Check the box to search queue numbers)
- (Check box)
Add/Edit Queue
Clicking on 'Add/Edit' Queue will open standard options shown below
General
- Queue Name:
- Unique queue network name/identifier
- (ex. Provide a unique queue identifier/name here)
- ([a-z][0-9])
- Queue Number:
- The unique network queue number
- (ex. This number has to be dialed in order to access the queue)
- ([0-9])
- Max Callers:
- Maximum number of callers allowed to wait in the queue at the same time. This number should be set in accordance with the number of agents answering the queue calls
- (ex. If this field is set to 4, only 4 callers will be allowed to enter the queue. If caller number 5 tries to enter the queue, he will be transferred to the PBXware 'Redirect Extension' number).
- ([0-9])
- Music On Hold
- Select the MOH (Music On Hold) class name. All sound files belonging to this MOH class will be played to users in the queue
- (ex. User A enters the queue. After the greeting message is heard, all sound files belonging to the selected MOH class are played in the background)
- (Select box)
- Rings to Answer:
- Number of rings played to the caller before entering the queue. Keep the rings between 1 and 3.
- (ex. Rather than just 'falling' into a queue and hearing the queue greeting message, play the ring sound to the caller first).
- ([0-9])
- RTP Delay [sec]
- Delay time in seconds before the queue greeting message is played. This solves the 'half-played' file problem. Keep this value between 1-3
- (ex. User A enters the queue and hears '..r call is first in line...' and doesn't understand. Set this field to 1 so that a 1 second pause is added before the message is played. Now, when user A enters the queue he will hear 'Your call is first in line...').
- ([0-9])
- Replace Caller ID
- Replace the caller ID with a custom value
- (ex. Type 'Lobby - %CALLERID%' to display the caller ID information as 'Lobby - 5552879' where 5552879 is the actual number calling in)
- ([a-z][0-9])
- Language
- Define the custom language for all sound files played by the queue
- (ex. To play Spanish sound files to all users waiting in the queue, type 'es' here. NOTE: PBXware comes with English sound files by default. To install sound files in other languages, please see 'Settings: Protocols: Sip: Language')
- ([a-z])
- Queue URL
- Send the following URL to the agent's softphone if it supports that option and the softphone can open the URL so the agent can see the caller's additional information, if available. This option must be supported by the softphone for it to be used.
- (ex. Additional information on the Queue URL field can be obtained here)
- ([a-z][0-9])
- Custom ring tone
- Ring the agent phones with a custom ringtone set here
- (ex. <Simple-2>)
- ([0-9][a-z])
- Custom sounds folder
- When Queue Callback is turned on, you will be able to add custom queue sounds that will be played in that case.
- (ex. Create a new folder for these sounds in /home/servers/pbxare/pw/var/lib/asterisk/sounds/ and put your custom queue sounds here).
- NOTE: This is only for the PBXware version 2.2
Operation Times
Set the queues open/closed times. Depending on the time when the call is received, the call can be redirected to different PBXware destinations.
- Operation Times
- Enable operation times
- (ex. On, Off, Inherit)
- (Option buttons)
There is a new option for enabling Operation Times in PBXware 4.1.2 - Inherit. The Inherit option will allow administrators to simply put the Higher Level Operation Times settings back into effect if deemed necessary. Previously, when Operation Times were set, it could be either turned on or off, but it could not be reset to use the Operation Times rules set on the higher level (Server or Tenant).
- Default Destination
- PBXware extension that all calls are redirected to during the closed time hours
- (ex. 1000)
- ([0-9])
- Greeting
- Greeting sound file played to callers during the closed times
- (ex. greeting-***)
- (Select box)
Description of destinations follows this priority order:
- Open dates: Sets the working hours during which the Queue is to redirect calls as set in the Queue Add/Edit window. If any call is received during the hours not set here, 'Custom Destination' is checked, and if they do not apply, the call is redirected to the 'Default Destination' (Closed dates)
- Custom Destinations: Redirects all calls received during set hours to the PBXware extension provided here.
- Closed dates: Sets the specific date when all calls are redirected to the 'Default Destination'. If the 'Destination' field in the Closed dates is set, the call will not go to the 'Default Destination', but to this number.
Agents:
- Queue Members and Agents
- Pressing Queue Members and Agents button will open a list of Members and Agents in a pop-up window.
This window is divided into two tables:
- Available - positioned on the left and shows all of the extensions on the system that are not assigned to this queue
- Members - located on the right and shows the extensions assigned to this queue
To add a new member to the queue from this left panel list, select the check box for the queue agent or SIP member that you would like to add to the queue and press the 'Add Member' button. This will add the selected agent to the queue member list.
Also, every table has the ability to search for members names, numbers, and type.
- #
- Checkbox which is used to select extensions for adding or removing from the queue
- (ex. Clicking on any checkbox next to an extension will show arrow buttons for adding or removing in the middle, which depends on in which table the checkbox is selected).
- (Check box)
- Name
- Extension name
- (ex. Sales 1)
- ([0-9][a-z])
- Number
- Number of the extension on the system
- (ex. 1001)
- ([0-9])
- Penalty
- This value can be set per member, so the system can decide which priority to use when sending calls to members
- (ex. Set values between 0 and 10 where 0 is the highest priority and 10 is the lowest priority. If the strategy is defined as 'ringall', then only those available members with the lowest priorities will ring. ).
- ([0-10])
NOTE: If an extension does not pick up, it will not automatically go to the next extension. It will keep ringing until it is picked up. It will only go to the next extension if the current extension is either busy or unavailable.
- Type
- Option used to filter the list by the member type.
- Any - displays all entries
- Agent - displays only agents entries
- SIP - displays only SIP static members (SIP extensions)
- IAX - displays only IAX static members (IAX extensions)
- Static Members login
- This option defines whether the Extensions set as Static Members have to log in in order to become an active Queue member.
- Options: Yes, No
- Set this option to No for Extensions added as Static Members of the Queue to automatically become active Queue members without needing to log in.
- Send Manager events
- Options: Yes, No
- When this option is set to yes, the following manager events will be generated: AgentCalled, AgentDump, AgentConnect, and AgentComplete.
Ring Strategy
- Set the way calls are transferred to queue members answering the calls.
- Available options:
- ringall - Ring all available Members until one answers (default)
- linear - When used with static members, the linear ringing strategy will ring interfaces in the order specified in the queues.conf configuration file for that specific queue, always starting at the beginning of the list. If used with dynamic members, the members will be rung in the order in which they were logged in.
- leastrecent - Rings the interface that least recently received a call. In a queue where there are many calls of roughly the same duration, this can work. It does not work as well if an agent has been on a call for an hour, and their colleagues all got their last calls 30 minutes ago, because the agent who just finished the 60-minute call will get the next one.
- fewestcalls - Rings the interface that has completed the fewest calls in this queue. This can be unfair if calls are not always of the same duration. An agent could handle three calls of 15 minutes each and her colleague had four 5-second calls; the agent who handled three calls will get the next one.
- random - Rings a random interface. This actually can work very well and end up being very fair in terms of evenly distributing calls among agents.
- rrmemory - Round robin with memory. rrmemory should pick up at the last interface it was at when the last call came into the queue.
- rrordered - Same as rrmemory, except the queue member order from the config file is preserved so interfaces will ring in the order specified in this configuration file. If you use dynamic members, the members will be rung in the order in which they were added.
- wrandom - Rings a random interface, but uses the member's penalty as a weight when calculating their metric. So a member with a penalty of 0 will have a metric somewhere between 0 and 1000, and a member with a penalty of 1 will have a metric between 0 and 2000, and a member with a penalty of 2 will have a metric between 0 and 3000. Please note, if using this strategy, the member penalty is not the same as when using other queue strategies. It is ONLY used as a weight for calculating metric.
- (Select box)
- Autofill
- Should callers be served one by one or in parallel fashion
- (ex. With this option turned 'Off', even if there are five agents available, calls will not be transferred to them until the first caller waiting in a queue is connected to an agent. When the first caller gets served, caller number two gets served and all others keep waiting. It is recommended to keep this feature always turned 'On' so callers can be served in order)
- (Option buttons)
- Ring Agents in Use
- Whether agents in use should be called when a new caller comes into the queue
- (ex. If the agent is already in an active conversation, with this option set to 'Yes', the Agent extension will ring when a new caller enters the queue)
- (Option buttons)
- Member Delay
- This field is the same as RTP Delay, only this option is set for the agent answering the queue calls. Before the call is transferred, custom queue information can be played to an agent so that the agent knows from which queue the call is coming. This solves the 'half-played' file problem. Keep this value between 1-3
- (ex. Agent X is to answer the call coming from the queue. If the 'Queue Announce' is set to play the custom sound file ('This call comes from the Lobby Queue') but only '...s call comes...' is heard, set this field to 1 so that 1 second pause is added before the message is played and entire message is played 'This call comes from...')
- ([0-9])
- Retry All Timeout
- Time interval in seconds, for how long to wait before trying the queue agent again.
- (ex. If agent Smith cannot answer the incoming queue call and hangs up the ringing line, the call will not be transferred back to his extension for a time in seconds provided in this field).
- ([0-9])
- Timeout Restart
- If this option is set to yes and a BUSY or CONGESTION signal is received on the line, the agent's timeout for answering will be reset. This can be useful with agents that have permission to cancel a call with a reject.
- (ex. A call enters the queue and is transferred to Agent X. Agent X has a Polycom phone (for example) and sends a BUSY signal by hitting the 'Reject' key. This will reset the internal timer. The call will be transferred to other queue agent(s). The original agent will not be contacted until all other agents are tried and the call does not get answered by any of them).
- (Option buttons)
- Wrap-up Time
- After a successful call, this will determine how long to wait (time interval in seconds) before sending a new call to a potentially free agent/member.
- (ex. 4)
- ([0-9])
TIP
Any queue can have 3 types of queue members. They can be: extensions, dynamic agents, or callback agents
1. Extension
This member will receive queue calls after they are added to the queue members list.
2. Dynamic Agents
This type of queue member can login to a designated queue from any UAD on the network with access code *202. The system will prompt for the AGENT NUMBER and AGENT PIN. After that the queue will send calls to the agent
NOTE:
The dynamic agent is "on call" all the time, meaning that the agent's line is always open and receiving calls. Every time the caller hangs up, the agent hears the MOH and then receives the next call when it arrives. The dynamic agent logs out of the queue by hanging up the line. The agent MUST be created in the 'Agents' menu and assigned to the queue in question.
3. Callback Agents
This type of agent can login to a designated queue by dialing into one of the system extensions with *203. The system will prompt for: AGENT NUMBER, AGENT PIN, and THE NUMBER where the agent is currently at. This number could be a local extension or some other remote destination
NOTE:
The agent MUST be created in the 'Agents' menu and assigned to the queue in question. The call back agent must logout with *203 to stop receiving calls.
Redirect Extension
- Redirect Extension
- Max callers redirect extension number
- (ex. If queue 2000 accepts a maximum of 4 users waiting at the same time, any new user that enters queue 2000 will be redirected to the extension number provided here)
- ([0-9])
- Redirect to Voice Mail
- Choose whether the redirect extension is a voicemail
- (ex. Yes, No, N/A)
- (Option button)
Queue Timers
- Queue Ring Timeout
- Number of seconds during which the Agent(s) will be called, after which the Position Announcement will be played to caller, if it is enabled
- (ex. Agent(s) extensions are ringing for 10 seconds. After that time, the Position Announcement is played to the caller and then the Agent(s) are called again).
- ([0-9])
- Prioritize Queue Timeout
- Used to control the priority of the two possible timeout options specified for a queue. The Queue Ring Timeout field has a timeout value that can be specified to control the absolute time a caller can be in the queue. The timeout value in queues.conf controls the amount of time (along with retry) to ring a member for. Sometime these values conflict, so you can control which value takes precedence. The default N/A setting will use the Queue Ring Timeout value, same as setting this to Yes. No will override Queue Ring Timeout field and use value from queues.conf.
- Options: Yes, No, N/A
- Max Wait Seconds
- The maximum time a caller can wait in a queue. Once this time is exceeded, the caller will be redirected to the 'Max Wait Extension' number.
- (ex. User A is waiting 5 minutes already in the queue. If this field is set to 300 (300s = 5min), A will be redirected to the 'Max Wait Extension')
- ([0-9])
- Activate Callback
- Whether Callback will be activated for calls that were abandoned because the call went unanswered for too long.
- (Yes, No, N/A)
- Max Wait Extension
- This option works along with the 'Max Wait Seconds' field. Provide the extension to which the caller will be redirected once the time exceeds 'Max Wait Seconds'.
- (ex. User A is waiting for 5 minutes in the queue. If the 'Max Wait Seconds' field is set to 300 (300s = 5min), A will be redirected to this extension)
- ([0-9])
- Is Voicemail
- Set whether the max wait extension is pointing to voicemail.
Empty Queue
- Join Empty
- Set whether a caller can join a queue if no agent is logged in or available
- ex. It is recommended to set this option to 'No'. Do not allow the user to enter the queue if the call will not be answered by anyone. The following options are available:
- Yes - Join the queue if no agents or only unavailable agents are in the queue
- No - Do not join the queue if there are no members in queue.
- Loose - Callers cannot join a queue with no members or only unavailable members, paused queue members do not count as unavailable.
- (Option buttons)
- Leave when empty
- When there are no agents inside a queue, callers will leave it depending on the setting
- Example:
- No - This option is disabled
- Yes - If you wish to remove callers from the queue if there are no agents present
- Loose - Same as “Yes,” except callers will remain in the queue if there are paused agents who could become available.
- Activate Callback
- Whether callback will be activated for calls that were abandoned because there was no agent logged in to the queue.
- (Yes, No, N/A)
- Empty Destination
- When the queue does not have any agent logged in, redirect callers to the following destination
- (ex. 7001)
- ([0-9])
- Is Voicemail
- Set whether the empty destination extension is pointing to voicemail.
Greeting
- Greeting
- Select a greeting file to play to all callers waiting in a queue.
- NOTE: File name has to be in the following format 'queue-greeting-$NAME.gsm':
- (ex. Record a custom sound greeting file (e.g. 'All our representatives are busy...') and select that file. This file will be played to all callers once they enter the queue).
- (Select box)
- Wait Seconds
- The time delay in seconds before playing the greeting message. This delay is useful when users do not hear the beginning of the greeting message. Keep this value between 1-3 seconds.
- (ex. John enters the sales queue, but cannot hear the beginning of a greeting sound file (e.g. ..our representatives are busy...). Set this option to 1. This will insert one second of silence before the greeting file is played and should fix the partial sound file error. Now, all callers entering the queue should hear the full greeting message (e.g. All our representatives are busy))
- ([0-9])
Position Announcements
There are two types of position announcements: 'Hold Time' (Tells the queue position) and 'Periodic Announcements' (Plays custom message)
- Announce Hold-Time
- Enable callers waiting in a queue to hear the hold-time announcements.
- (ex. Setting this option to 'Yes' will enable the hold-time announcements. A single caller waiting in a queue would hear 'Your call is now first in line and will be answered by the next available representative. Thank you for your patience' message).
- (Option buttons)
- Announce Frequency
- How often to play the hold-time announcement message (time in seconds).
- NOTE: If you set this option to '0', the announcement message will not be played.
- (ex. If this field is set to 30, a single caller waiting in queue will hear 'Your call is now first in line and will be answered by the next available representative. Thank you for your patience' message every 30 seconds).
- ([0-9])
- Min. Announce Frequency
- Specifies the minimum amount of time that must pass before we announce the caller’s position in the queue again. This is used when the caller’s position may change frequently, to prevent the caller from hearing multiple updates in a short period of time.
- Announce Round Seconds
- Rounding level for hold-time announcements. If this is set to 0, only minutes, not seconds, are announced; other possible values are 0, 1, 5, 10, 15, 20 and 30.
(e.g. When set to 30, a wait time of 2:34 will be rounded to 2:30.)
- ([0-9])
- Periodic Announce
- Select the sound file that is played periodically to callers waiting in a queue.
- ([0-9])
- NOTE: The file name has to be in the following format 'periodic-announce-$NAME.gsm'
- (ex. Record a message 'Hang in there buddy!' and set it as a periodic announcement. This message will be played to callers every 'Periodic Announcement Frequency' seconds)
- (Select box)
- Periodic Announcement Frequency
- Time interval in seconds at which the periodic message is to be played.
- (ex. If this field is set to 30, all callers waiting in the queue will hear the 'Periodic Announcement' message every 30 seconds, as long as they stay in the queue).
- ([0-9])
- First Periodic Announcement Delay
- Insert the value in seconds after which the First Periodic Announcement will be played, each next announcement will be played per the Periodic Announcement Frequency setting. This value will be available only if the Periodic Announcement Frequency is set.
TIP
Sounds should be named as follows:
- queue-youarenext - Your call is first in line and will be answered by the next available representative)
- queue-thereare - You are currently caller number X
- queue-callswaiting - Waiting to speak with a representative
- queue-holdtime - The estimated call time is currently
- queue-minutes - Minutes
- queue-seconds - Seconds
- queue-lessthan - Less than
- queue-thankyou - Thank you for your patience
- queue-periodic-announce - All of our representatives are currently busy. Please stay on line and your call will be answered by the next available representative
Agents Announcement
- Agent Announce
- Play a custom message to a queue agent before they answer the call. NOTE: The file name has to be in the following format 'agent-announce-$NAME.gsm'.
- (ex. Record a custom sound file (e.g. This call is coming from the Sales Queue). Every time a queue agent answers a call from this queue, the sound file will be played to him before the call is transferred to the agent)
- (Select box)
- Report Holdtime
- Enabling this feature will tell the queue agent how long the calling party has been waiting in the queue.
- (ex. John is waiting in a sales queue for two minutes and thirty seconds. Agent Smith picks up his call and hears the message 'Hold time, two minutes').
- (Option buttons)
CRM Features
- New Lead URL:
- If incoming call CallerID is unknown, it will be transferred to URL entered in New Lead URL field.
Recording
- Record Queue Calls
- Once this feature is activated, all queue calls will be recorded in the desired sound format.
- (ex. John enters the 'Sales' queue and is transferred to 'Queue Agent Smith'. Their entire conversation is recorded and available for review from 'Reports').
- (Option buttons)
Incoming Options
- Incoming Options Set the advanced queue call options.
- Available options:
- t - allow the called user to transfer the calling user
- T - allow the calling user to transfer the call
- H - allow the caller to hang up by hitting *
- n - no retries on the timeout; will exit queue and go to the next step
- r - ring instead of playing MOH
- C - avoid missed calls in ringall strategy
- Available options:
- ([a-z])
- Ring ('r') timeout
- When 'r' is selected as Incoming Options and this timeout is used, the queue will first ring the entered number of seconds, after which MOH will start
- (ex. 10)
- ([0-9])
Exit Digit
- Use Exit Digit
- Whether users should be able to exit the queue by dialing a single digit and be automatically redirected to a preset PBXware destination.
- Example:
- John enters the sales queue. A greeting message explains that the user may quit the queue by pressing the digit defined under the 'Exit Digit' option, and be transferred directly to the operator or some other destination (set under 'Extension' option).
- (Options buttons)
- Exit Digit
- Define the exit digit here. Once this digit is dialed by the user waiting in the queue, it will transfer the call directly to the 'Extension' destination
- Example:
- John enters the sales queue. The greeting message explains that the user may quit the queue by pressing the digit defined here (e.g. 9) and be transferred directly to the operator or some other destination (set under 'Extension' option).
- ([0-9])
- Activate Callback
- Whether callback will be activated when the caller exits the queue by pressing an exit digit.
- (Yes, No, N/A)
- Extension
- The local PBXware extension number that is dialed once the 'Exit Digit' is dialed.
- (ex. John enters the sales queue. The greeting message explains that the user may quit the queue by pressing the digit defined under the 'Exit Digit' option and be transferred directly to the PBXware extension defined here).
- ([0-9])
- Is Voicemail
- Set whether the exit digit extension is pointed to voicemail.
Abandoned Calls Notification
Here you can set whether there will be any notification when the call inside a queue is abandoned. This report is generated every hour.
- Enable Notification
- Enable or disable Abandoned Calls Notification feature
- (ex. Yes, No, N/A)
- (Check box)
- Notification E-mail address
- The e-mail address which will receive notifications of abandoned calls, where an abandoned call is one where the caller hangs up the call while waiting to be answered
- (ex. admin@domain.com)
- ([a-z][0-9])
Callback
Queue Callback saves customers from long, frustrating waits and brings convenient phone support right to them. With the Queue Callback feature, callers entering a phone queue have the option to request a call back and then just hang up. No more long hold times, no more fighting other callers to get through - customers simply put in a call and then continue going about their work while waiting for the call back. It's a perfect solution for everyone.
This feature is extremely customizable, able to be catered to meet your needs. Things such as the maximum wait time, number of call back retries, and the amount of time to wait in between retries can be customized. The menu has several options for clients to submit their information for a call back.
- Activate if Full
- Whether Queue Callback will be activated for calls that were abandoned because the queue was full.
- (Yes, No, N/A)
- Activate For Abandoned
- Whether Queue Callback will be activated for calls that were abandoned before an agent answered.
- (Yes, No, N/A)
- Min Talk Time Seconds
- The minimum time the call must last after an agent answers it in order for callback not to be activated.
- For example, if we set this value to 10, calls that get disconnected in less than ten seconds after call is answered by agent will be called back by the PBXware, assuming that it got disconnected unintentionally.
- Callback Retries
- Number of retries callback will try to reach the number of abandoned call.
- Retry Timeout Seconds
- Delay between callback retries, in seconds.
- Announce Hold Time
- Set this value to yes for the system to tell the called user how long he will wait until his call is answered by an agent.
- Max Wait Seconds
- This is maximum time that system will wait to make a Queue Callback.
- (ex. Max Wait Seconds is set to 900 and caller activated Callback feature. Callback will wait 900s for the free agent to be connected to caller. If there is no available Agent in 910 seconds, Callback will not make a call)
- Agent Answer
- Whether to first call the agent before the callback tries to reach the number of abandoned call.
- Valid Caller ID Lengths
- Set the value for a valid caller ID length, separated with commas.
- Example: 6,9,12
- Use Caller ID only
- Use callback only with the Caller ID rather than allowing the caller to enter a number at which he would like to be called.
- IVR Digit Timeout
- Type in and confirm the number of seconds the system should wait before the IVR Digit Timeout. The default value is 3 seconds.
- IVR Max Retries
- Maximum number of wrong entries in the IVR before the user is disconnected.
- IVR Confirm Digit
- Press this number to confirm your entry in the callback IVR. Default 1.
- IVR Discard Digit
- Press this number to discard your entry in the callback IVR. Default 2.
- IVR Cancel Digit
- Press this number to cancel your entry in the callback IVR. Default 3.
Callback Announcements
- Caller Announce
- Play a custom message to a caller before they answer the call.
- The file name has to be in the following format 'qc-announce-$NAME.gsm'.
- Agent Announce
- Play a custom message to a queue agent before they answer the call.
- The file name has to be in the following format 'agent-announce-$NAME.gsm'.
Additional Config
In this section, additional information can be added to be written into the queue configuration file.
Types of Queue Members
Any queue can have 3 types of queue members with two additional variations on the agent types. They can be: extensions, dynamic agents, or callback agents. Additionally, agents can be configured to choose whether they will be Dynamic or Callback and if they will auto login to the queue.
- 1. Extension - Member
- If the queue for which the extension is added has the Static Member Login option turned on, the extension will have to login using the *200 access code before it will receive any calls from the queue. To log out of the queue extension, you have to use the *201 access code.
- If the Static Member Login option is not turned on, this member will always receive queue calls after it is added to the queues members list.
- 2. Dynamic Agents
- This type of queue member can login to a designated queue from any UAD on the network with access code *202. After the agent is logged on, queue will be sending the calls to the agent
- NOTE:
- The dynamic agent is "on call" all the time, meaning that the agent's line is always open and receiving calls. Every time the caller hangs up, the agent hears the MOH and then receives the next call when it arrives. The dynamic agent logs out of the queue by hanging up the line. Agent MUST be created in the 'Agents' menu and assigned to the queue in question.
- 3. Callback Agents
- This type of agent can login to a designated queue by dialing into one of the system extensions with access code *203. By default, the system will prompt for: AGENT NUMBER, AGENT PIN, and THE NUMBER where the agent is currently at. This number could be a local extension or some other remote destination.
- NOTE:
- The agent MUST be created in the 'Agents' menu and assigned to the queue in question. The callback agent must logout with *203 to stop receiving calls
Additionally, agents have two more type options for a choice:
- 1. Callback or Dynamic Agents
- This type of agent is left with the choice of whether it will use the *202 access code and be a dynamic agent or the *203 access code and be a callback agent.
- 2. Auto Login (Callback)
- This type of agent is actually a callback agent which the system will automatically log into the queue as soon as it is added to the queue. Of course, for this to work, this agent needs to bind to an extension to which the system will send the calls.
Statistics
Design and code organization
New statistics are designed following MVC pattern as much as possible, in sitemanager and partially in pbxware.
Sitemanager Code is located inside folder reports with following structure:
- reports\controller - has controller classes where reports.php contains main controller (Reports).
- reports\model - has model classes. Each report has it’s own model responsible to get data from pbxware.
- reports\view\html - html view files
- reports\view\csv - csv view files
- reports\view\pdf - pdf view files
- reports\view\graph - graph view files
Pbxware Code is located inside queue_statistics folder (under lib folder) with following structure.
- reports\controller - has controller classes where statistics.php contains main controller (StatisticsController).
- reports\model - has model classes. Here one model can be responsible for more than one reports.
Parsing html by Scheduled reports is removed from pbxware. Now scheduled reports communicate with sitemanager using API, and every parsing data is done in sitemanager. JSON format is used for data transfer.
Reports
Types for Reports
Here is the list of available reports so far:
Filters
- Available report filters are:
- Start and End date and time
- Queues
- Queue members
- Caller
- Call duration less or greater than
- Hold duration less or greater than
- DID
On basic menu you can filter in following time ranges : today, yesterday, week, month, or year. Also you can filter by queues. To generate statistics you first select one of the report by clicking on plus sign. Then this report will be moved in selected table. After you finish your selection, with show button you will get report[s] in new window.
Advanced options gives you all kind possibilities to filter data by previously mentioned filters.
Queue members, caller, call duration greater than and hold duration filters are new, while others were available in old queue statistics too.
Queues filter and queue members can have list of active or all used queues, queue members respectively.
On settings you can choose for queues/queue member filter should they load all used or currently active queues/queue members
Caller filter will filter caller number LIKE number you entered. So caller 200 will filter 0200, 20012, 061200 ...
New feature is time format filter, where you can set format in which time data will be displayed.
Every time field in report will be converted in one of the selected format:
- 1. D-H-M-S normal time format e.g 01d 02h 03m 04s
- 2. Days time format in days e.g 1.25d
- 3. Hours time format in hours e.g 1.25h
- 4. Minutes time format in minutes e.g 1.25m
- 5. Seconds time format in seconds e.g 1.25s
This format is used for any time duration field like talk time, hold time, session time, pause time etc.
Report details
New stuff in view
Hovering with mouse pointer on the table in the left corner, will result with displaying all filters that are used to generate report[s].
You can sort your data by any column.
You can search data in table.
Meaning of fields
This is the list of almost every field used in report tables. Some special fields used in particular report are explained within report description. Other fields are self explaining. All fields are explained as:
- Field name ( Synonym name ) - Description
Fields:
- Agent - Showing agent number and name in format:
- Agent number ( Name Last name)
- Queue - Queue name
- Calls - It can be inbound or outbound or both
- Number - Number of calls
- Per Hour - Average number of calls made per hour
- 'Calculated as: Per hour = Number of calls/Session time/3600.
- Note that this doesn’t include time when agent is on pause.
- Perc - Percentage of calls by all agents, by current agent calls
- Calculated as: Calls / Total calls of all agents
- Answered - Answered agent calls
- Unanswered - Unanswered agent calls
- Talk Time
- Total - Total agent talk time
- Mean - Mean/Average agent talk time
- Min - The minimum/shortest talk time
- Max - Max talk time
Hold Time
- Total - Total agent hold time
- Mean - Mean/Average agent hold time
- Min - The minimum/shortest hold time
- Max - Max hold time
- Idle Time
- Total - Total agent idle time
- Calculated as:
- Idle time = Session time - Pause time - talk time
- Note that in old statistics Idle time was calculated as difference between session and talk time only!
- Pause - Agent can be paused with or without reason code. Pause field will include both.
- Note in old statistics we didn’t have pauses with reason codes.
- Total (Pause duration) - Total pause duration of all pauses
- Count - Number of pauses agent made
- Pause with reason
- Total - Total pause duration of all pauses
- Count - Number of pauses agent made
- Not ready - This will calculate all pauses without reason
- Total - Total pause duration of all pauses
- Count - Number of pauses agent made
- Billable - billable option is used by pause with reason codes. Any pause that is set with option billable it will be calculated here.
- Duration - Pause duration for billable pauses
- Count - Number of pauses agent made for billable pauses
- Percent - Percentage of billable pause duration.
- Percent = Billable duration / Pause duration *100
Note: It does not include not ready duration.
- Payable - payable option is used by pause with reason codes. Any pause that is set with option payable it will be calculated here.
- Duration - Pause duration for payable pauses
- Count' - Number of pauses agent made for payable pauses
- Percent - Percentage of payable pause duration.
- Percent = Payable duration / Pause duration *100
- Note: It does not include not ready duration.
- Session
- Total (Session duration) - Total time agent was logged in
- Mean - Mean/Average time agent was logged in
- Calculated as:
- Mean time = Session time/Number of sessions
- Count - Number of sessions (logins)
- Occupancy - Percentage of time when agent is occupied
- Calculated as:
- Occupancy = Talk time / (Session time - Pause time) * 100
- Hng (Ag/Cal [Tr]) - (Agent/Caller[Transfer]) - Hang-ups statistic for agents and callers
- Number - Number of call hang-ups by Agent/Caller[Transfer]
- Percent - Percentages of call hang-ups by Agent/Caller[Transfer]
- Agenthangups [%] - Number/Percentage of calls ended by agents
- Callerhungups [%] - Number/Percentage of calls ended by callers
- Transfers [%] - Number/Percentage of calls that are transferred
- Abandoned [%] - Number/Percentage of calls that are abandoned
- Timed out [%]' - Number/Percentage of calls that ended with timeout
- Dumps [%] - Number/Percentage of calls that are dumped by agent or caller
- Busy [%] - Number/Percentage of calls that were busy (outbound)
- No answer [%] - Number/Percentage of calls that ended with no answer (outbound)
- Cancel [%] - Number/Percentage of calls that are canceled (outbound)
- Unqualified [%] - Number/Percentage of calls that finished in a different manner
Meaning of breakdown fields
All fields are explained as:
- Field name ( Synonym name ) - Description
Fields:
- Callid - Showing id of event
- Date - Date when event happened
- Callerid - caller extension
- Queue - name of queue where event happened (empty for outbound events )
- Agent - agent number (NONE if call didn’t connect with agent)
- Wait time - waiting time in seconds
- Talk time - talking time in seconds
- Entry - Caller position in a queue at a point of entry
- Exit - Caller position in a queue at a point of exit
- Transfered - extension where call is transfered
- Dumped - showing if caller is dumped
- Ended (Event type) - name of event
- Start - datetime when event started
- Duration - duration of current event
- Extension - extension on which current event happened
- Reason code - this is used with agent PAUSE event. It will display reason name if agent is paused using pause reason codes, otherwise it will be empty.
NOTE:
- 1. entry CALLS NOT CONNECTED shows Queue unanswered calls, or call that did not connect with agents.
- 2. Mean hold time is calculated for each row (Group and normal rows)
Mean = hold time/calls
- 3. Mean talk time is calculated for each row (Group and normal rows)
Mean = talk time/calls
Agent availability
This report includes all calls that agents had (inbound and outbound).
Unanswered - used only for outbound unanswered calls. It does not include agent missed calls. Any calls that were not connected with agent, will be displayed in row with agent name CALLS NOT CONNECTED. It is left in table like this so that you can make comparing. You can easily find this row using our search box like shown in next picture.
Graphs
Agent dumped calls
This report will show you how many agent had dumped call. Note that for one call, Agent can dump several times. Total is number of calls agent had including calls that dumped.
Graphs
On graph you can compare dumped calls between agents.
Agent missed calls
Shows details about agent misses calls (Ring no answer events).
Meaning of fields:
- Missed - Number of calls agent missed (RING NO ANSWER)
- Total - Total number of calls agent had
- Percent - Percentage of calls by agent missed calls
- Calculated as:
- Percent = Missed / Total * 100
- Avg Ring time - Average ring time
Agent pauses
Show details about agent pauses. In order to work properly “Agent reason codes” should be used. Each pause (reason code) can be billable or payable which is set during Reason code configuration. Agent can go in pause state or not ready state. Not ready state can not be billable or payable, but this field is added for comparison.
Details about every pause can be found on breakdown which is explained in breakdown chapter.
Agent sessions and pauses
Show details about agent pauses and session. With this report you can compare agent pauses against agent logins.
Pause calculation include pause with reason and not ready.
Pause % - Percentage of session duration by pause (with and without reason) duration
Pauses per session - number of pauses (with and without reason) per session
Agent Occupancy
Pause duration will include pause time with and without reason. This value is used to to calculate occupancy.
occ =talktime/session-pause * 100;
Agent inbound calls
This report will show all inbound calls agent had.
Agent inbound calls per queues
This kind of report are new. This report will show all inbound calls per agent, but also calls will be differentiate by queue.
Per Hour is summarized for agents per each queue, because we can not have session time per queue. So per hour on that queue is not fully correct, because it is including session time for every queue that agent is logged in,on the other hand summarized value per agents is correct.
Agent Outbound calls
This report show you all outgoing calls made by agents.
Entry positions
This report will show you position of calls when entering queue.
Meaning of fields:
- Min - minimum position caller when entered in queue
- Max - maximum position caller when entered in queue
- Mean - average position caller when entered in queue
Inbound calls (Queue)
This report is also new one. We are showing all calls per each queue, how many is answered/unanswered. Talk time is summarized talk time for every call answered by agent. Hold time is summarized wait time in queue for every call.
Inbound answered calls (Queue)
This report will show you more details about answered calls like number of agent, caller hangups or number of transfers that every queue had. Here hold time is time that call waited in queue before it is answered by agent.
Inbound unanswered calls (Queue)
Queue inbound calls per agent
This report shows queue calls per agent and also per queue. Note: per hour is not fully correct because agent session time is for every queue that agent is member.
Queue callback calls
This report shows you all callback calls per queue. Details about every call you have on breakdown. Note: Hold time in this case is time until caller answers or abandons callback.
Repeated callers
This report will show you which callers had more than one incoming call. It includes answered and unanswered calls.
All calls (Summary)
All answered calls (Summary)
All unanswered calls (Summary)
Distributions for all calls per day
This report will show you all calls per each day. List of days depends on time range filter.
Graphs
Distributions for all calls per day of month
This report will summarize all calls for every 1st, 2nd … day of month.
Distributions for all calls per day of week
This report will summarize all calls for every monday, tuesday … sunday.
Distributions for all calls per hour
This report will summarize all calls for every hour.
Inbound calls
This report show you all inbound calls. More details you can find in inbound answered/unanswered.
Inbound answered calls
Inbound unanswered calls
Outbound calls
Outbound answered calls
Outbound unanswered calls
Service level agreement
Inclusive
Graphs
Graphs have same look for both service level.
Calls by direction
Breakdowns
Breakdown has the same look for almost every report. Note that on most of the reports you can select an Agent or Queue or Caller that will show you filtered breakdown. Downloading PDF is done per page, or in otherwords using WYSIWYG technique. Downloading CSV will download all records in breakdown. If you need for some reason all records then csv is only way to go.
For agent session and pauses breakdown you have information like when login or pause started and their duration. For pause event under column Reason name there will reason name set.
For agent pause on breakdown there are new fields Billable and Payable. This fields were used with agent pause reason codes. They will display (if is set under agent pause reason codes section) if some pause is billable or payable. Also for every reason here you can see what code is used and name for that code.
Important: If you delete or edit some reason code, then reason name will not be displayed or it will show you new name you entered for same reason code.
Scheduled reports
Last status and Run button
We had some issues in past with scheduled reports, like they stopped working after some time or email was not send. It is required to know if something went wrong. Now we have in scheduled reports table field Last status. This field will display last status of report that was send to generate. If something went wrong it should display error message.
Messages:
- 1. OK report is generated and parsed successfully
- 2. Pending it is waiting to be generated.
- 3. Generating generating data and parsing into one of the formats if is sendemail selected
- 4. Generating failed error when report data is not generated correctly
- 5. Parsing failed error when report is not parsed in one of the formats
- 6. Email sending failed error when emailing breaked for some reason. This can be explored by smtp log.
With current scheduled reports you have to run them by going in Queue settings section and selecting Run scheduled report to yes. This is was bad for user experience. This option is now moved in main view. Now you can run/stop scheduled reports by clicking on Run button.
Scheduled report edit
New queue statistics also apply on scheduled reports with some new features added. Queue member, call duration greater than and caller filter are added in GUI.
Hourly
Now you can generate scheduled report with offset of one hour. You can select this option in Repeat combo box.
Hourly depends on run time. This time used for calculation every next hour.
Selecting hourly will also show new field Stop time. This field is used to stop generating reports
after specified time. For example, you can have scheduled report who will generate reports only between 10:00 16:00 every day.
For this configuration you will set : Run time = 10:00 Stop time = 16:00
Attachment formats
Report can be received in three different formats. New formats are PDF and CSV. CSV will be per each report (type) you select it, sent in one zip file.
Current Day
Now you can choose time period to be for Current Day.
CDR
CDR (Call Detail Records) for all queues in the system. In addition to normal operation, an authorized user is able to perform additional actions such as extensive search, listen to recorded queues, call any destinations listed, and access advanced features.
- From:
- The extension number the call was made from
- (ex. If the call was made from extension 1001 to extension 1004, '1001' is displayed here).
- (Display)
- To:
- Number the call was made to
- (ex. If the call was made from extension 1001 to 1004, '1004' is displayed here).
- (Display)
- Date/Time:
- Date and Time when the call was made
- (ex. 04 Oct 2006 10:44:10)
- (Display)
- Duration:
- Call duration time in hh:mm:ss format
- (00:12:45)
- (Display)
- Billing:
- Time billed by the system
- (ex. 00:12:45)
- Cost:
- Total cost of the call calculated through a service plan
- (ex. 0.71)
- (Display)
- Status:
- Displays the call status
- Example:
- Depending on whether a call was answered or not, this field value may have the following content:
- Answered
- Not Answered
- Busy
- Error
- (Display)
This icon is displayed once a call is recorded and 'Delete' or 'Listen' enhanced service is activated
Search/Filter
- Start Date:
- Select a Search/Filter start date
- (ex. Click on the small 'Calendar' icon next to any field and select the desired date)
- (Option button)
- End Date:
- Select a Search/Filter end date
- (ex. Click on the small 'Calendar' icon next to any field and select the desired date)
- (Option button)
- From:
- Select whether you want to search the CDRs by Destination(s) or Trunk from where the call came in
- (ex. Destination(s) or Trunks)
- (Select box)
- To:
- This field points to Queue(s) for which you are searching
- (ex. Queue(s))
- (Select box)
- ID:
- ID of the CDR. When a user selects a CDR, the ID field shows that CDR's ID. If there are problem on the system, the customer can supply the support team with the problematic CDR ID which helps in locating it.
- (ex. 1221447123.66)
- ([0-9] .)
- Start Time When searching for CDRs, this is the start time in the Start Date
- (ex. Time in hh:mm:ss format like 10:15:30)
- ([0-9] :)
- End Time
- When searching for CDRs, this is the end time in the End Date
- (ex. Time in hh:mm:ss format like 15:20:30)
- ([0-9] .)
- From
- If you choose Destination(s) in the 'From' Select box, you will enter the extension from which the call came to the queue. If your selection was Trunk, you will have a Select box in this place where you can choose a trunk on the system from which the call came to the queue.
- Example:
- Destination(s) - 1009
- Trunk - Sales
- ([0-9] or Select box)
- To
- Here you will enter the number of the queue in which the call ended up.
- (ex. 1007)
- ([0-9])
- Status:
- Search calls by selecting the desired call status
- Example:
- Click on the 'Please Select' button and select one of the available fields:
- All
- Answered
- Not Answered
- Busy
- Error
- (Select box)
TIP
After making any changes to the search filter, be sure to click on the search icon
Actions
Listen
- Listen:
- Once the 'Listen' icon is displayed next to a call record, it means that the specific call was recorded.
- (ex. To play recorded calls, check the box next to the 'Listen' icon and click 'Listen'. The browser will prompt you to open the sound file in your audio player or to download the sound file).
- (Option button)
TIP
By default, the sound format is available as a .gsm file. To change the recording format, go to: 'Settings: Servers: Edit: Recordings format' and select one of the available sound formats:
- gsm
- wav
- wav49
- ogg
Call
To establish a call between any PBXware extension with the listed extensions, you have to provide two things: the Caller $EXTENSION number and the $DESTINATION extension
- Caller
- PBXware extension that will make a call
- (Provide any PBXware extension number here, 1001 for example)
- ([0-9])
- Destination:
- Destination extension that will be dialed by the 'Caller' extension
- (ex. To select a destination extension, first check a box next to a CDR record. This field will display two extensions listed under the 'From' and 'Destination' selected record)
- (Select button)
TIP
After setting 'Caller' and 'Destination' extensions, click the call icon.
Check the box next to a call record and click the 'Print' button. This action will open a new pop-up window with the printing interface.
Check the box next to a call record and click the 'Email' button. A small pop-up dialog will appear. Provide the email address here and click the 'OK' button to send the records.
Advanced
- CLIR:
- CLIR (Command Line Interface Record) details
- (ex. Select a desired call record and click this button to view more technical details about the call. A small pop-up window will open with the data).
- NOTE: When experiencing any kind of unexplained problems, this is the data you need to send to the technical support team
- (Command Button)
- Delete Recording:
- Deletes the recorded calls. For this command to be displayed, the appropriate enhanced service has to be set.
- (ex. Select a recorded call and click this button to delete it from the file system)
- (Command Button)
- Download CSV:
- Download data as a .csv (Comma Separated Value) file
- (ex. Click this button to download the .csv file to your desktop)
- (Command Button)
Settings
General
- Short Calls Duration [s]:
- Enter the number of seconds which means that calls should be treated as Short Calls in agents' stats.
- (ex. 30)
- ([0-9])
- Keep stats on restart:
- When PBXware is restarted, queue stats are reset if this option is not turned on.
- (ex. Yes, No, N/A)
- (Option buttons)
- Persistent Members
- In case of PBXware, restart agents will not log off.
- (ex. Yes, No)
- Share Wrap-up time:
- If one agent is a member of more queues, for example Q1 and Q2, and for Q1 the wrap-up time is set to 5s but in Q2 the wrap-up time is not set, by turning on this option, Q1 and Q2 will share the same wrap-up time for the common agent.
Scheduled Reports
- Check interval [s]:
- How often to check for queue statistics that will be included in report. Default is 300s.
Queue Logs
- Auto Delete Queue Logs:
- Delete queue logs after a specific amount of time.
- Options: Never, Year, 3 Months, 6 Months, Month, Week.
- Create log history:
- Whether to create a log history for queues.
Statistics
- Queues filter
- Choose Queues filter to load ALL used or currently active Queues
- Queue members filter
- Choose Queues members filter to load ALL used or currently active Queues