# Object: Queue

The **Queue** object causes incoming calls to be placed in a queue
before those calls are passed on to queue members (destinations). This
allows a large number of calls to be handled, such as in a call center.
The **Queue** object includes a ring strategy that is used to define how
the calls are divided between queue destinations. Music or other
messages may be played to callers while they are waiting in the queue,
and ringback tones are supported, allowing audio clips to be played to
callers before their call is answered.

[![Queue Object](../../../_images/queue-object.jpg)](../../../_images/queue-object.jpg)


**Fig. 1.** Queue Object

The **Queue** object includes multiple destinations to which calls are
forwarded as per the selected ring strategy, and these destinations are
added to the **Queue** object as "contacts". The only cable exiting the
**Queue** object is for a "queue timeout", defining the call path if the
queue wait time exceeds the maximum configured value.

In the figure below, incoming calls are forwarded to the **Queue**
object, which includes two queue destinations. If a call is not
answered within the configured queue timeout, then that call is sent to
the "Queue Timeout" Voicemail object.

[![Queue Object Usage](../../../_images/fig140.png)](../../../_images/fig140.png)


**Fig. 2.** Queue Object Usage



---



## Queue Configuration

The information to be entered for this object is:

- The name of the **Queue** object.
- The ring strategy to be used for this queue. The options for the ring strategy are as follows:

  - **Round robin** - The queue remembers the last destination it attempted
    to contact. The next call starts with the following destination and
    continues forward through the queue.

    For example, if Call A attempts destinations 1, 2, and 3 before
    terminating, Call B starts with destination 4 and continues through the
    remaining destinations until the end of the queue is reached.
  - **Ring all** - When a call enters a queue configured with two or more
    destinations, all available destinations are called simultaneously for
    the configured **Queue Destination Timeout**.

    Note

    By default, up to **10 queue destinations per customer account** can
    ring simultaneously. If more queue destinations are available, only
    the number allowed by the account's simultaneous ringing limit can be
    processed at once.

    If none of the destinations answers, the queue behavior depends on the
    SIP response received:

    - **480 - Temporarily Unavailable**
    - **486 - Busy Here**
    - **487 - Request Terminated**

    These responses are treated as temporary conditions, so the affected
    destinations may be attempted again while the call remains in the same
    queue. If none of the destinations returns one of these responses, the
    call skips to the next object connected to the queue.
  - **Random** - Randomly rings a single queue member.
- **Queue timeout** defines the maximum time that an unanswered call can
  remain in the queue. When this time expires, the call is forwarded to the
  connected object. Valid values range from **00:05** (five seconds) to
  **15:00** (fifteen minutes). If no call path is connected to the queue
  timeout, the call is terminated when the timeout expires.

[![Creating Queue Objects](../../../_images/fig232.png)](../../../_images/fig232.png)


**Fig. 3.** Creating Queue Objects



---

## Users Tab

The **Users** tab is used to define the members or destinations of the queue. Each queue destination consists of a user
and an associated contact method, which must be pre-configured using the [Contact
Methods](../../Contact-methods/index.html#ps3-contact-methods) tab.

Selecting **Add queue destination** allows the user to add a queue destination from a drop-down menu of pre-configured
contacts and their associated contact methods. If you do not have any contacts, you can create them in the [Contact
Methods](../../Contact-methods/index.html#ps3-contact-methods) tab.

**Queue Destination Timeout** defines how long each destination rings before
the queue moves on. It applies to all three ring strategies and is separate
from the object-level **Queue timeout**, which limits the call's total time
in the queue rather than a single ringing attempt. Valid values range from
**0** to **60 seconds**.

Important

Many softphones respond with SIP **408 Request Timeout** when a call
rings for the full 60 seconds, following SIP/RFC timeout handling
implemented by those clients. Set the Queue Destination Timeout to
**55 seconds** or less to avoid reaching this limitation.

[![Users Tab](../../../_images/fig323.png)](../../../_images/fig323.png)


**Fig. 4.** Users Tab



---

## Media Tab

The **Media** tab is used to set both "music-on-hold" and "ringback
tone" playlists. This allows pre-recorded music, messages, commercials
or any other audio clips to be played to callers before their call is
answered (ringback tone), or while an active call is put on hold
(music-on-hold).

An audio message that is played to the caller can be uploaded from a local drive (in .mp3, .wav, .flac, or .ogg format),
recorded directly, or selected from files or playlists previously uploaded to the [Audio
Files](../../Audio-files/index.html#ps3-audio-files) menu.

[![Media Tab](../../../_images/fig422.png)](../../../_images/fig422.png)


**Fig. 5.** Media Tab



---

## CLI Rules Tab

The **CLI Rules** tab is used to override the Source **Caller Name**.
This functionality allows flexible Caller Name configurations and may be
used to differentiate SIP calls received from phone.systems(TM). **CLI
Rules** will help you to identify from which **Queue** object the call
is coming from.

Some CLI Rule examples:

**1. Changing Caller Name to Custom text:**

> - SRC Name Rewrite Rule: `^(.*)$`
> - SRC Name Rewrite Result: `Custom text`

**2. Add Custom text before the original Caller Name:**

> - SRC Name Rewrite Rule: `^(.*)$`
> - SRC Name Rewrite Result: `Custom text \1`

[![CLI Rules Tab](../../../_images/fig518.png)](../../../_images/fig518.png)


**Fig. 6.** CLI Rules Tab



---

## Adding Multiple Destinations

Selecting **Add queue destination** allows the user to add a multiple ring destination
from a drop-down menu of pre-configured contacts and their associated
contact methods.

[![Adding Multiple Destinations](../../../_images/fig612.png)](../../../_images/fig612.png)


**Fig. 7.** Adding Multiple Destinations



---

## Remove Destinations

To remove destinations from a queue, follow these steps:

> 1. **Edit** the queue object by clicking the gear icon.
> 2. Open the **Users** tab.
> 3. **Find** the destination you want to remove from your queue.
> 4. Click the **x** button to the right of the destination to remove it from your queue.
> 5. Click **Save** to apply the changes.

[![Removing a destination from a queue](../../../_images/remove_destination.png)](../../../_images/remove_destination.png)


**Fig. 8.** Removing a destination from a queue

On this page
