Internal numbers of the queue type are used to implement the functionality of the call center. To configure a new queue is needed to create an extension number, specifying it as the type (parameter type) value queue. After that, it becomes possible to configure the queue and queue agents through the API-interface queue.
Queue agent events (login/logout) are tracked using the resource Queue Agent Events.
The sound files required to configure the queue are uploaded using the resource Sound Files.
The following parameters can be configured for the queue:
Parameter
Type
Mandatory
Default value
Description
Parameter
Type
Mandatory
Default value
Description
agent_announce_sound
long
no
0
Sound that will be played to the queue agent when answering to the caller
agent_hangup_action
string
no
Can be either 'transfer' or 'quality_rate'
agent_hangup_transfer_dst
string
no
After the end of the conversation, if the agent hangs up first, the call will be forwarded to the number specified in agent_hangup_transfer_dst. Only works when agent_hangup_action = 'transfer'
agent_report_wait_time
boolean
no
true
Queue agent when answering the caller, will be told the response time in seconds for the answer by the caller
announce_frequency
long
no
0
The sound frequency announce_sound in seconds
announce_sound
long
no
0
The sound played at a specified time interval at the time the caller is waiting for an answer. The playback frequency is set by the parameter announce_frequency
append_to_cid_name_on_transfer
string
no
When forwarding to the name of the caller, a forwarding flag from this queue will be added
exit_key
string
no
The button, when pressed exits the queue. Can be a digital button, as well as buttons * and #
exit_transfer_dst
string
no
If the caller pressed the button from exit_key, he will be forwarded to this number
exit_with_no_av_agents
boolean
no
true
If this parameter is active, the call will not be queued if there are no agents in the queue
max_wait_time
long
no
0
The maximum time the caller waits in the queue are in seconds. After this time, the queue is exited
max_wait_time_with_no_agent
long
no
0
The maximum time the caller waits in the queue are in seconds. After this time, if there is no available agent in the queue, the queue is exited
no_agent_timeout_transfer_dst
string
no
If the caller left after expires max_wait_time_with_no_agent, he will be forwarded to this number
position_announce_frequency
long
no
0
The frequency of announcement of the caller position in the queue in relation to others waiting for an answer. Not used, unless specified, cannot be less than 1 second
quality_rate_finish_sound
long
no
0
The sound that will be played after the selected rating. Works only if agent_hangup_action = 'quality_rate'
quality_rate_max
long
no
0
The maximum rating that can be specified. Works only if agent_hangup_action= 'quality_rate'
quality_rate_sound
long
no
0
If the queue agent hangs up first after the end of the conversation, a sound will be played to the caller, followed by waiting for the evaluation. Works only if agent_hangup_action= 'quality_rate'
record_enabled
boolean
no
true
Enables the conversation recording in the queue
skip_busy_agents
boolean
no
true
The queue will try not to call agents engaged in a conversation not from this queue
sound
long
no
0
The main sound that will be heard by callers in the queue. Needs to specify id of the resource sound
sound_type
string
no
music
The main type of the sound can be set to music or ring. If set to ring then the caller hears normal beeps, while the passed parameter sound is ignored, and the already set sound is reset to null. If the parameter is set to music then the sound specified in the sound parameter will be played
start_sound
long
no
0
The sound played to the caller when he is queued. Played until the agents are called
strategy
string
no
"round-robin"
The strategy for calling queue agents. For details, see Queue Strategies
tier_rule_wait_multiply_level
boolean
no
true
If the parameter is set to true, the time tier_rule_wait_second is multiplied by the agent level
tier_rule_wait_second
long
no
0
Time in seconds from the start of a call to the queue, after which the next level agents are called. If the parameter tier_rule_wait_multiply_levelis isset to true then the specified time is multiplied by the agent level in the queue. If the parameter tier_rule_wait_multiply_level isset to false, then after the time indicated agents at all levels above the minimum are available for the call in accordance with the line strategy
tier_rules_apply
boolean
no
true
Whether the use of parameters are required tier_rule_wait_second and tier_rule_wait_multiply_level
timeout_transfer_dst
string
no
If the caller left after the max_wait_time, he will be forwarded to this number
try_same_agent_time
long
no
0
The system will try to connect a specific caller with a specific queue agent, if this agent has already answered to this caller before. If the connection fails or the caller has not communicated with anyone before, the call will follow the dialing queue strategy. The value is in seconds from 1 to 2592000
vm_attach_file
boolean
no
true
In addition to the notification of the incoming voicemail, the voicemail recording itself will be sent
vm_enabled
boolean
no
true
Enable/disable the voicemail in the queue
vm_greeting
long
no
0
Звук, который будет проигран перед включением голосовой почты
The sound that will be played before the voicemail is started
vm_mailto
string
no
The mailbox address to which the voicemail notification will be sent
disable_answer
boolean
no
false
By default, the queue answers a call. In case disable_answer=true the queue will just ring with early media. In that case maximum time a call can be held in a queue while waiting for an agent answer is 5 minutes
hide_in_caller_id_number
string
no
null
Hiding caller_id_number for incoming calls to agents
hide_in_caller_id_name
string
no
null
Hiding caller_id_name for incoming calls to agents
Queue Strategies
At any strategy the agents with the lowest level are called first. If the agents of the current call level are busy or are in a state of temporary unavailability, for example, after no answer or rejection of the previous call (see the agent configuration), then agents of the next level are called. If the parameter tier_rules_apply valueis true, the next-level agents start to be called after the time specified by the parameter tier_rule_wait_second, the report begins when the current level agents start calling. If the parameter tier_rule_wait_multiply_level value is true, then the time tier_rule_wait_second is multiplied by the agent level.
Strategy
Description
Strategy
Description
ring-all
All available agents are called simultaneously. If the parameter tier_rules_apply is true, the agents with the lowest level are called first then after the time specified by the parameter tier_rule_wait_second, thenext level agents are called and so on
longest-idle-agent
The agent is called with the longest waiting time since the last call
round-robin
Agents are called according to their position (the position parameter when adding the agent to the queue)
top-down
Agents are called in the positions order starting from the first
agent-with-least-talk-time
The agent with the least talk time is called
agent-with-fewest-calls
The agent with the fewest calls is dialed
sequentially-by-agent-order
Agents are called sequentially in such order of their levels and positions. The agent with the lowest level and position is always called first.
random
Agents are called in a random order
Queue Agents
The queue agents can be of two types: local, when the agent is an extension number of the telephone terminal type, and remote, when the specified external number is the queue agent. Both types of agents have the following configurable parameters:
Parameter
Type
Mandatory
Default value
Description
Parameter
Type
Mandatory
Default value
Description
busy_delay_time
long
no
0
If the agent was busy at a call attempt then no calls will be sent to it, during the time specified in this parameter in seconds
call_timeout
long
no
0
Time in seconds during which the agent is called
extra_params
string
no
Additional parameters
name
string
no
Queue agent name
no_answer_delay_time
long
no
0
If the agent did not answer the call, no calls will be sent to it during the time in seconds specified in this parameter
number
string
no
Queue agent number
reject_delay_time
long
no
0
Time in seconds since the agent's last rejection of the call, during which no calls will be sent to it
status
object
no
The agent status. Accepts one of the values: "logged_out", "available".In the status available theagent is available for calls, in the status logged_outno calls to the agent are not sent
wrap_up_time
long
no
0
Time in seconds since the last conversation of the agent during which no calls will be sent to it
agent_sound_id
long
no
0
Звук, проигрываемый вызывающему абоненту и агенту очереди при ответе этим агентом
The sound played to the caller and the queue agent when answered by that agent
Queue agent management
In order for an agent to receive calls from a queue, the agent must be added there. Adding the agent to the queue, removing it from there, as well as changing its level and position in the queue are carried out through the resources "localagent in the queue"and "external agent in the queue" for local and external agents, respectively.
When adding a local agent to the queue, the following parameters can be configured:
Parameter
Type
Mandatory
Default value
Description
Parameter
Type
Mandatory
Default value
Description
agent_id
long
yes
0
Identifier of the local agent
level
long
no
0
Agent level in queue
position
long
no
0
Agent position in the queue
When adding an external agent to the queue, the following parameters can be configured:
Parameter
Type
Mandatory
Default value
Description
Parameter
Type
Mandatory
Default value
Description
agent_id
long
yes
0
Identifier of the external agent
level
long
no
0
Agent level in queue
position
long
no
0
Agent position in the queue
The value of the counter of callers in the queue (generated based on dial-in and hangup events) can be obtained using the resource GET /extension/{extension_id}/queue/status/
where the parameter trying_members is the number of callers and waiting the queue agents' response. Because the number of requests is limited, it is recommended to request the number of callers in the queue exactly by the queue events. Is possible to add events answer of the extension numbers themselves (the queue agents).
List of callers in the queue
GET /extension/{extension_id}/queue/status/members/