Name

Queue() — Places the current call in to the specified call queue

Synopsis

Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI]]]]])

Places an incoming call in to the call queue specified by queuename, as defined in queues.conf.

The options argument may contain zero or more of the following characters:

d

Specifies a data-quality (modem) call (minimum delay).

h

Allows callee to hang up by hitting *.

H

Allows caller to hang up by hitting *.

i

Ignores call forward requests from queue members and does nothing when they are requested.

n

Disallows retries on the timeout; exits this application and goes to the next step.

r

Rings instead of playing music on hold.

t

Allows the called user to transfer the call.

T

Allows the calling user to transfer the call.

w

Allows the called user to write the conversation to disk.

W

Allows the calling user to write the conversation to disk.

In addition to being transferred, a call may be parked and then picked up by another user.

The announceoverride argument overrides the standard announcement played to queue agents before they answer the specified call.

The optional URL will be sent to the called party if the channel supports it.

The timeout will cause the queue to fail out after a specified number of seconds, checked between each queues.conf timeout and retry cycle. The call will continue on with the next priority in the dialplan.

This application sets a channel variable named QUEUESTATUS upon completion. It will take one of the following values:

TIMEOUT

The call was in the queue too long, and timed out. See the timeout parameter.

FULL

The queue was already full. See the maxlen setting for the queue in queues.conf.

JOINEMPTY

The caller could not join the queue, as there were no queue members to answer the call. See the joinempty setting for the queue in queues.conf.

LEAVEEMPTY

The caller joined the queue, but then all queue members left. See the leavewhenempty setting for the queue in queues.conf.

JOINUNAVAIL

The caller could not join the queue, as there were no queue members available to answer the call. See the joinempty setting for the queue in queues.conf.

The caller joined the queue, but then all of the queue members became unavailable. See the leavewhenempty setting for the queue in queues.conf.

; place the caller in the techsupport queue
exten => 123,1,Answer()
exten => 123,2,Queue(techsupport,t)

See Also

AddQueueMember(), RemoveQueueMember(), PauseQueueMember(), UnpauseQueueMember(), AgentLogin(), queues.conf, QUEUE_MEMBER_COUNT, QUEUE_MEMBER_LIST, QUEUE_WAITING_COUNT