switchvox.extensions.callQueues.add
From SwitchvoxExtendAPI
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.
|
||
| sound_id | integer | The sound_id for this announcement | ||
| ring_strategy | string | How to distribute the incmong call to queue members.
|
||
| 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
|
||
| 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
|
||
| 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.
|
||
| 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
|
||
| 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 |