Personal tools

switchvox.extensions.callQueues.add

From SwitchvoxExtendAPI

Jump to: navigation, search

Contents

Description

Adds a new call queue extension to the system.

Arguments

See the Constructing Requests page to learn how to use arguments in requests.
Name Required Type Default Description
dial_zero_rule integer Which extension to ring when the caller dials zero
extension integer The extension to ring
seconds_to_wait integer Maximum number of seconds a queue member’s phone can ring before the system goes on to ring the next member of the queue.
announce_hold_time boolean Announce the estimated hold time to callers
seconds_for_wrap_up integer Minimum amount of time (in seconds) after disconnecting a call before the agent can receive a new call from the queue.
caller_announcements There are various announcement sounds that are played to the caller when he or she is waiting in a queue.
announcement_type string The announcement_type for this announcement.
  • you_are_next: You Are Next - "Your call is now first in line and will be answered by the next available representative."
  • there_are: Caller Number - "You are currently caller number"
  • thank_you: Thank You - "Thank you for your patience"
  • minutes: Minutes - "Minutes"
  • hold_time: Hold Time - "The estimated hold time is currently"
  • calls_waiting: Call Waiting - "Waiting to speak to a representative"
sound_id integer The sound_id for this announcement
ring_strategy string How to distribute the incmong call to queue members.
  • ringall: Ring All
  • rrmemory: Round Robin
  • leastrecent: Least Recently Called
  • fewestcalls: Fewest Calls
  • random: Random
  • inorder: In Order
caller_announcement_langauge_id integer The language for the announcements specified in the caller_announcements
number_missed_calls_before_logout integer If a member misses more calls in a row than the number in this setting, he is automatically logged out of this queue. Calls will not ring this member until he logs in again. If you do not want members to be logged out automatically, set this to 0 (zero).
wait_time_rule If a caller has been waiting in the queue for X seconds, route the caller to extension Y. Leave this blank to leave callers in the queue indefinitely.
wait_time integer The number of seconds for the caller to wait.
extension integer The extension to route to.
extension required integer The extension for this call queue
name required string The name of the call queue
queue_members The members of this call queue.
login_type string The member log in type
  • login
  • permanent
id integer Either an individual member account_id or extension group ID
member_type string Specifies if the ID is either account or extension group
  • account
  • extension_group
announcement_frequency integer Number of seconds between caller announcements.
music_on_hold_group_id integer
cycle_rule If a queue call has passed through the Ringing Strategy X times without being answered then route that call to extension Y.
extension integer The extension to route to.
number_of_times integer The number of times the call has passed through the Ringing Strategy.
seconds_to_ring integer The maximum number of seconds a queue member’s phone can ring before the system stops ringing that member, and goes to the next member of the queue.
announce_position boolean If this is TRUE, the caller hears an announcement when they enter the queue, and the announcement says what the caller’s position is in the queue. The announcement is repeated depending on the Announcement Frequency setting. If this is FALSE, the caller hears Music on Hold with no position announcement.
acknowledge_call boolean If TRUE, require members to press the 1 key to accept the call. If the member hangs up, then the call goes to the next appropriate queue member.
no_members_rule If there aren't any members logged into the queue, route all incoming queue calls to extension Y. Leave blank to keep callers waiting in the queue until a queue member logs in.
extension integer The extension to route to.
member_announcement_language_id integer The language id of the member announcements
member_announcements The announcements made to queue members.
sound_id integer The sounds id for this announcement.
announcement_type string The announcement type.
  • pickup
receive_calls_while_on_call boolean If TRUE, queue members can receive a call while on a call.
ring_in_queue boolean If true, callers hear ringing when they are waiting in the queue, and caller announcements are disabled.
unanswerd_rule If there are X unanswered calls in the queue, route all new incoming queue calls to extension Y. Leave blank to have an unlimited queue length.
extension integer The extension to route to.
number_of_calls integer The maximum number of unanswered calls.
user_permissions Set the permission level for extensions to see this queue in the Queue Panel on their Switchboard.
permission_level string The permission level for this account
  • my_status
  • overview
  • detailed_view
account_id integer The account id for this permission level.

Example Requests & Responses

Please see the API Request and Response Format section for more information on various request encodings.

Example One (Create Queue using account IDs)

Request

<request method="switchvox.extensions.callQueues.add">
  <parameters>
    <extension>777</extension>
    <name>Test Queue</name>
    <ring_strategy>ringall</ring_strategy>
    <seconds_to_ring>10</seconds_to_ring>
    <seconds_to_wait>2</seconds_to_wait>
    <seconds_for_wrap_up>30</seconds_for_wrap_up>
    <member_announcement_language_id>0</member_announcement_language_id>
    <member_announcements>
      <member_announcement>
	<announcement_type>pickup</announcement_type>
	<sound_id>56</sound_id>
      </member_announcement>	
    </member_announcements>
    <acknowledge_call>1</acknowledge_call>
    <number_missed_calls_before_logout>5</number_missed_calls_before_logout>
    <receive_calls_while_on_call>1</receive_calls_while_on_call>
    <queue_members>
      <queue_member>
	<id>1104</id>
	<login_type>permanent</login_type>
        <member_type>account</member_type>
      </queue_member>
      <queue_member>
	<id>1105</id>
	<login_type>login</login_type>
        <member_type>account</member_type>
      </queue_member>
    </queue_members>
    <user_permissions>
      <user_permission>
	<account_id>1104</account_id>
	<permission_level>my_status</permission_level>
      </user_permission>
      <user_permission>
	<account_id>1105</account_id>
	<permission_level>my_status</permission_level>
      </use_permissionr>
    </user_permissions>
    <ring_in_queue>1</ring_in_queue>
    <music_on_hold_group_id>1</music_on_hold_group_id>
    <announce_position>1</announce_position>
    <announce_hold_time>1</announce_hold_time>
    <announcement_frequency>90</announcement_frequency>
    <caller_announcement_langauge_id>0</caller_announcement_langauge_id>
    <caller_announcements>
      <caller_announcement>                        
	<sound_id>35</sound_id>    
	<announcement_type>you_are_next</announcement_type>    
      </caller_announcement>
    </caller_announcements>
    <wait_time_rule>
      <wait_time>20</wait_time>
      <extension>333</extension>
    </wait_time_rule>
    <no_members_rule>
      <extension>333</extension>
    </no_members_rule>
    <unanswerd_rule>
      <number_of_calls>5</number_of_calls>
      <extension>333</extension>
    </unanswerd_rule>
    <cycle_rule>
      <number_of_times>5</number_of_times>
      <extension>333</extension>
    </cycle_rule>
    <dial_zero_rule>
      <extension>339</extension>
    </dial_zero_rule>
  </parameters>
</request>

Example Two (Create Queue using extension group IDs)

Request

<request method="switchvox.extensions.callQueues.add">
  <parameters>
    <extension>777</extension>
    <name>Test Queue</name>
    <ring_strategy>ringall</ring_strategy>
    <seconds_to_ring>10</seconds_to_ring>
    <seconds_to_wait>2</seconds_to_wait>
    <seconds_for_wrap_up>30</seconds_for_wrap_up>
    <member_announcement_language_id>0</member_announcement_language_id>
    <member_announcements>
      <member_announcement>
	<announcement_type>pickup</announcement_type>
	<sound_id>56</sound_id>
      </member_announcement>	
    </member_announcements>
    <acknowledge_call>1</acknowledge_call>
    <number_missed_calls_before_logout>5</number_missed_calls_before_logout>
    <receive_calls_while_on_call>1</receive_calls_while_on_call>
    <queue_members>
      <queue_member>
	<id>1104</id>
	<login_type>permanent</login_type>
        <member_type>extension_group</member_type>
      </queue_member>
      <queue_member>
	<id>1105</id>
	<login_type>login</login_type>
        <member_type>extension_group</member_type>
      </queue_member>
    </queue_members>
    <user_permissions>
      <user_permission>
	<account_id>1104</account_id>
	<permission_level>my_status</permission_level>
      </user_permission>
      <user_permission>
	<account_id>1105</account_id>
	<permission_level>my_status</permission_level>
      </use_permissionr>
    </user_permissions>
    <ring_in_queue>1</ring_in_queue>
    <music_on_hold_group_id>1</music_on_hold_group_id>
    <announce_position>1</announce_position>
    <announce_hold_time>1</announce_hold_time>
    <announcement_frequency>90</announcement_frequency>
    <caller_announcement_langauge_id>0</caller_announcement_langauge_id>
    <caller_announcements>
      <caller_announcement>                        
	<sound_id>35</sound_id>    
	<announcement_type>you_are_next</announcement_type>    
      </caller_announcement>
    </caller_announcements>
    <wait_time_rule>
      <wait_time>20</wait_time>
      <extension>333</extension>
    </wait_time_rule>
    <no_members_rule>
      <extension>333</extension>
    </no_members_rule>
    <unanswerd_rule>
      <number_of_calls>5</number_of_calls>
      <extension>333</extension>
    </unanswerd_rule>
    <cycle_rule>
      <number_of_times>5</number_of_times>
      <extension>333</extension>
    </cycle_rule>
    <dial_zero_rule>
      <extension>339</extension>
    </dial_zero_rule>
  </parameters>
</request>

Response

<response method="switchvox.extensions.callQueues.add">
  <result>
    <account id="1801" />
  </result>
</response>

Error Codes

See the Error Code Formatting section to see the xml structure when an error is returned.
See the Generic Error Codes section to see a list of general fault codes that may be returned.
Code Description
10000 Invalid receive_calls_while_on_call. Value must be either a 1 or a 0.
10000 Invalid acknowledge_call. Value must be either a 1 or a 0.
10000 Invalid announce_position. Value must be either a 1 or a 0.
10000 Missing required parameter (display_name)
10000 Missing required parameter (extension)
10000 Missing required parameter (ring_strategy)
10000 Invalid announce_hold_time. Value must be either a 1 or a 0.
35830 The extension in the dial zero rule is invalid (%1)
32494 Invalid seconds_to_wait. Must be a positive integer.
86191 An extension with that number (%1) already exists.
10000 A call queue with that name already exists.
75944 Duplicate queue member account id (%1)
94328 Duplicate queue member group id (%1)
66249 Extension group Id can only be digits
14362 A queue member account id is invalid (%1)
39091 Invalid ringing strategy