Reference9:PBX/Objects/Waiting Queue

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference9 (this version) | Reference10 | Reference11r1 | Reference12r1

The Waiting Queue PBX object is used to put calls sent to this object into a queue. While the call is in the queue, it may either remain in alerting state or it be connected with an announcement played. Two announcements can be configured played one after the other, the second is repeated. Calls which are in the queue can be sent to groups of operators configured for the queue. Calls are strictly sent in a first in first out manner to operators. The next call is sent only after the previous call is connected. Destinations can be configured, which can be dialed using DTMF while a call is in the queue and connected.

The Waiting Queue PBX object does not support DTMF tone detection. Only 'telehpone-event' (RFC-2833) or DTMF signaling (H.245 User Input Indication / SIP INFO(dtmf-relay)) are supported.


Configuration

Addressing

The Long Name, Name Number and Node configuration parameters have the same meaning as for any other object.

Registration

Hardware ID, PBX, Send Number, Password, Filter, Diversion Filter and Group Indications are used only for endpoints registered directly to the Waiting Queue object. This maybe useful to set diversions for the Waiting Queue object and such endpoints can be used to make calls and are treated as operators of the Waiting Queue.

CFNR Timeout

The timeout used for call forward no response. See Diversions.

Busy On ... Calls

This configuration parameter can be used to limit the calls in the queue. Calls connceted to a operator do not count in this respect anymore.

Announcements

For announcements the URL and/or Extern Name/no have to be configured. If no Extern Name/no is configured the local HTTP interface is used to retrieve the announcements. The URL has the following format:

http://<addr>/<filename.$coder>?coder=<coder-list>[&repeat=true|repeat=n|disc=true|random=true|record=true]
addr The IP address of the web server. A DNS name cannot be used here.
filename.$coder The filename of the announcement files including any path. $coder will be replaced by the actual coder used.
coder-list A comma seperated list of all available coder. For each coder in the list the respective announcement file must be available on the server. The available coders are g729,g711a,g711u,g723.
repeat=true If this is present the announcement will be repeated. If this is used for the 1st Announcement the 2nd Announcement will never be played.
repeat=<n> If this is present the announcement will be repeated another n times.
fallback=true If this is present and the specified announcement file is not available, the built-in MOH pattern will be played.
random=true If this is present, the announcement will be started at a random offset, so each caller will hear it from a different point in time. This works with non-local URLs only though.

Example

http://145.253.157.2/announce/welcome.$coder?coder=g711a,g711u,g729

If no URL is configured the local HTTP interface plays the built-in music on hold by default.

If an Extern Name/No is configured then no local HTTP interface is used, but a call is sent to the configured Name/No. The URL is sent with this call as user-user-info, so that a remote HTTP interface can use it the same way as the local HTTP interface. As destination of the call any voip endpoint can be used.

1st announcement is played once when the call is connected. When 1st announcement is complete, the 2nd announcement is played repeatedly. If there is no 2nd announcement, the caller will be disconnected when the 1st announcement has completed.

There are 2 pseudo URLs available, TONE and MOH. Such URLs will be interpreted locally and connect to the systems tone and music-on-hold interface, respectively.

TONE as URL will produce a constant tone (often recogonized as a dial-tone). You can add a ?tone=ringback which will give you a tone sequence with 1 second tone and 4 seconds silence (this is often recognized as a ring-back tone).

You can also add a ?tone=busy which will give you a busy tone sequence. Notice that the queue is only playing the busy tone, it will not disconnect the call. (To disconnect the call after a while, use the CFNR to a not existing user or to a Disconnect user object, routed to the DISC interface.)

MOH will produce the built-in music-on-hold. Please note that both TONE and MOH never end, so repeat=true is not required and disc=true will have no effect.

V7 hotifx9: At any location inside the URL placeholders can be used, which are replaced by a string defined for the placeholder. The following placeholders are available:

#p Position of this call within the queue. 0 means the next available operator will answer this call.
## Is replaced by #

Example

http://145.253.157.2/announce/queue_place#p.$coder?coder=g711a,g711u,g729

will be resolved to the files queue_place1.g711a,queue_place2.g711a, queue_place3.g711a...., depended on place in queue. So you have to create one set of promt files for each queue place.

Recomended solution: Create a welcome promt in 1st Announcement and a queue_place promt (witch will be repeated) in 2nd Announcement.

Max Call/Operator(%)

This configuration parameter allows to limit the number of current calls depending on the number of operator registrations in the primary group. Only the configured percentage of operator registrations are accepted as calls. Calls currently connected to operators do count in this context. For example if 2 operators are registered and the value is set to 150%, the 4th call received will get a busy. Note that only operators in the primary group count for this, this means if there is no primary group configured all calls are rejected with busy if any value is entered here.

Alert Timeout

The timeout (in seconds) after which the Waiting Queue connects incoming calls. If no timeout is configured the Waiting Queue will never connect. If a timeout of 0 is configured the Waiting Queue connects right away.

Round Robin Timeout

If a round robin timeout is configured the call is not sent to all members of the primary group at the same time, but it starts with one only. After the round robin timeout has expired, the call is sent to all members of the primary group. The operator used for the first call changes in a round robin mannor. There is a speedup mechanism included, if a second call is signaled to the Waiting Queue, all other members of the primary group are been alerted as well.

Primary Group/Timeout

The call is sent to this group first, either to all members at the same time, or in a round robin mannor. After the configured Primary group Timeout expires the call is sent to all operators. If Primary group operators are busy the call is immediately sent to Secondary Groups members. Operators are all members of groups in which the Waiting Queue object itself is active member. The operators do not need to be active members of these groups.

Operator connect for SOAP

On the SOAP/TAPI interface a call to a waiting queue is normally indicated as connected as soon it is connected signalingwise, this means it is indicated as connected if an announcement is played. This behaviour can be changed so that it is indicated connected only after an operator has accepted the call by setting this checkmark.

Call busy Operators

Normally an operator who is already engaged in a Waiting Object call is not called again. If this checkmark is set, calls are delivered to these (busy) operators as well.

CFU disables Operator

If this checkmark is set a operator which has a CFU set is not called.

Announcement w/o Connect

If this checkmark is set, no connect is sent on incoming calls to play the announcements. This feature allows to provide free-of-charge waiting queues. For this to work, the carrier has to support early media. On TE ISDN interfaces the Annex-N option has to be enabled for this.

Presence Disables Operator

If this checkmark is set, no calls are sent to an operator with presence information set.

Set Operator Presence

If this checkmark is set the presence of an operator is set to busy whenever the operator accepts a call. A timeout can be set after which this presence information is cleared again.

DTMF destinations

A list of DTMF destinations can be configured. Any DTMF digits dialed after the call is connected to an announcement is matched to this list. If a match is found the call is sent to Dest. No/Dest. Name. If no Dest. No/Dest. Name is configured more DTMF digits may be dialed for the final destination. If the destination of the call is not an endpoint, but a gateway (Trunk object, Gateway object, second WQ-object), the call is sent only after a timeout of 4s after the last digit is dialed.

A '.' entered as DTMF map will catch all DTMF digits dialled after this map and append them at the end of Dest. No.

Example

DTMF	  Dest. No      Description
55.       11            if the DTMF sequence "55222" is dialled, the destination number is "11222"
.        <empty>        the dialled DTMF sequence is passed completely to the destination

A '~' character before the DTMF digits indicates that no ct_complete shall be generated. This means the dialed DTMF destination does not show up in the redial list or as connected number in the callscreen of the phone (e.g. ~55).

Call Forwarding

Call Forwarding can be used with the Waiting Queue object and can be set/reset by endpoints registered to the Waiting Queue object itself.

CFU Executed as usual
CFB Executed if the Busy on ... calls condition or the Max Call/Operator(%) condition applies.
CFNR Executed if the CFNR timeout expires and no operator has accepted the call, even if the call is connected to an announcement or if the first announcement ends and no second announcement is configured.