Description

3iMedia Call Queue Controller for SwyxWare/NetPhone enhances SwyxWare/NetPhone version 6.12 and above with powerful call queue features described below and can be parameterized to fit almost every call queue scenario. 3iMedia Call Queue for SwyxWare/NetPhone is developed as a SwyxWare/NetPhone action block, so it can be used very easily in CRM and ECR rules.


Features (call queue)

· SwyxWare/NetPhone action block, easy to implement, insert only one block to create a complete call queue
· Many call delivery scenarios:
· Dynamic call queue destination depending on amount of callers in the queue
· Dynamic call queue destination depending on call time in the queue
· Dynamic call queue destination with preferred agent groups
· Dynamic call queue destination with sequential call delivery
· Dynamic call queue destination with rotary call delivery
· Dynamic call queue destination with random call delivery
· Dynamic call queue destination with longest waiting call delivery
· Dynamic call queue destination with custom (scriptable) call delivery
· Group delivery to free agents only
· Call delivery to specific device types like SoftClient, SIP-device, H323-device, Mobile only...
· Instant call delivery to skip queuing latency, the number of delivered calls is evaluated from the number of free agents instead of delivering only the first call in queue
· Call priority, add call to top or bottom of call queue
· Different music on hold for each call
· Music on hold for external caller while call is delivered internal
· Music on hold fading during announcements
· Logon state checking as shown in SwyxWare/NetPhone Administration (strict checking)
· Logon state checking depending on device state such SwyxIt! or SwyxPhone (line state checking)
· Remote logon state checking from other servers running queue controller services
· Connect to destination or voicemail if agents are logged off
· Connect to destination or voicemail on escalation timeout
· Connect to voicemail on call timeout
· Connect to destination or voicemail on selection menu
· Multiple time adjustable and repeatable announcements within the queue telling the caller to be patient
· Selection menu in queue with possibility to connect to destination, voicemail or request callback
· Simple and advanced callback request
· Announcement of caller position in the queue
· Mail notification on not delivered calls
· Mail notification on logged off condition
· Mail notification on lost calls
· Return values in ECR to determine the result of the call queue action
· Many more parameters (over 100) ...


Features (visualization)

· Call queue visualization in web browser
· List of all call queues
· List of calls within the selected call queue
· List of active calls within the selected call queue
· List of callback request within the selected call queue
· List of lost calls within the selected call queue
· List of all calls in all queues
· List of active calls in all queues
· List of callback request in all queues
· List of all lost calls in all queues
· Reorder calls in call queue
· Pickup calls in call queue (also possible by name key)
· Abort calls in call queue
· Display call properties for each call
· Colored status for each call
· Log on and off from groups (also possible by name key)
· Increase or reset post processing time for each user (also possible by name key)
· Global list of all calls within SwyxWare/NetPhone
· Filter for global calls list on SwyxWare/NetPhone-Users and SwyxWare/NetPhone-Groups
· Customizable layout based on tags in html code
· Number resolution in active calls list against 3iMedia Metaservices for SwyxWare/NetPhone
· Integration in SwyxIt!/NetPhone Client Webextensions


Versions

There are three different versions available:

Features (Queue Controller) | Standard Version | Professional Version | Call Center Version
Number of queues | 1 | 5 | 6 to unlimited
Call forwarding | One single destination One user or group can be entered as forwarding destination | Multiple destination sets as described in chapter call forwarding destination | Multiple destination sets as described in chapter call forwarding destination
Call Logged off processing | Yes | Yes | Yes
Call Escalation processing | No | Yes | Yes
Call Announcements | Yes | Yes | Yes
Call Selection menu | No | Yes | Yes
Groups logon / logoff | No | Yes | Yes
System logon / logoff logging | No | Yes | Yes
Simple callback | No | Yes | Yes
Advanced callback | No | Yes | Yes
Supplementary call parameters | No | Yes | Yes
Post processing time | No | Yes | Yes
Pickup calls | No | Yes | Yes
Features (Web frontend) |  |  |
Color schemas | No | Yes | Yes
Move calls up, down, top | No | Yes | Yes
Cancel calls | No | Yes | Yes
Pickup calls | No | Yes | Yes
Queued calls list | Yes | Yes | Yes
Active calls list | Yes | Yes | Yes
Lost calls list | No | Yes | Yes
Global calls list | No | Yes | Yes
Groups logon / logoff | No | Yes | Yes
Post processing time | No | Yes | Yes


Installation Step 1

Follow these steps to install the 3iMedia Call Queue Controller for SwyxWare/NetPhone on the swyx server.

· Logon locally with administrative privileges
· Ensure that Microsoft .Net Framework 2.0 SP1 or higher is installed (note: Microsoft .Net Framework 3.0 does not include 2.0)
· Ensure that your SwyxWare/NetPhone version is 6.12 or higher.
· Start the msi package from the installation source
· Click next ("Weiter >") on the installation welcome screen

· Change the installation destination folder if needed
· Click next ("Weiter >")

· Enter the password of your swyx service account. The call queue controller has to run under the same account as your swyx server. If the swyx server is running under the predefined SwyxServiceAccount account you have to change this logon account with the configuration wizard first because the password for the predefined service account is created randomly during configuration wizard.

· These values are stored inside the windows registry. To change them after installation, change the corresponding registry keys

· Click install ("Installieren") to finish the setup.

· After finishing the installation, please check if the flowing components are present

· Service "3iMedia Call Queue Controller for SwyxWare" present and running (note: if the services restarts in a loop, install Microsoft .Net Framework 2.0 SP1 as mentioned above)
· Folder "3iMedia Call Queue Controller for SwyxWare" (if not changed during setup) has to contain the following file structure
· Doc folder contains help files and documentation
· Html folder contains the html files for the integrated web server
· Reports folder
· Logon system subfolder contains the logon protocol for selected groups
· Logon group subfolder contains the logon protocol for group logon/logoff
· CDR subfolder contains the cdr files
· Scripts folder contains the script files for SwyxWare/Netphone versions 6.10 or higher

The installation of the call queue controller has finished. You can test the installation by opening your browser locally on the SwyxServer and navigate to http://localhost:81


Installation Step 2

Import the script and audio files into the database. Follow these steps to import the files in the swyx database. The call routings script files (*.ase, *.vbs) and the announcements (*.wav) need to be imported.

· Open SwyxWare/NetPhone Administration
· Open SwyxServer properties and navigate to the files tab
· Click "Edit..."
· Click "Add..."
· Click ... in the upper right order to open the files dialog
· Navigate to the scripts folder under the installation destination folder and select all vbs and ase files
· Select "global" as scope from the list
· Select "call routing scripts" as category from the list
· Click "Ok"
· Repeat the steps above to import all wav files in the "announcements" category
· Repeat the steps above to import all cab files from the skins folder to the "skins" category

The installation of the call queue controller has been finished. You can test the installation by opening your browser locally on the SwyxServer and navigate to http://localhost:81


Uninstall

Uninstall is performed by the software applet in windows control panel. All files but html an reports directory are removed. The call routing scripts have to be removed manually from the SwyxWare/NetPhone database.


Call Routing Manager

For use in standard CRM (Call routing manager) create a simple rule with all filters needed. As action select "CallQueue" action from the list of available actions. Although using the CRM wizard, an ECR license is required.

Set the parameters. A full list of parameters is described in the following chapters.


Extended Call Routing Editor

For use in ECR (Extended call routing) Editor create a graphical rule or open an existing rule. The call queue action block can be found after inserting an ECR action block from the toolbar.

Set the parameters by double clicking the block and choose "CallQueue" from the list of available actions. A full list of parameters is described in the following chapters.


Call queue ID

Default value: CStr(PBXUser.UserID)

This value sets the call queue id to distinguish between the different call queues in the system. The variable call queue id makes it very easy to set up a call queue for each user by using his UserID as call queue id. Another option would be CalledNumber() as unique identifier. This id should be numeric.

Using the same queue id for different queues makes it possible to merge calls from different queues to the same group of agents.

Annotation:
Be aware of the number of maximum queue ids that are allowed by license file.
Standard version supports only 1 queue
Professional version support up to 5 queues
Call center version supports up to 6 queues and can be enhanced by additional queue licenses

(standard, professional and call center version)


Call queue name

Default value: CStr(PBXUser.Name)

This value sets the call queue name to distinguish between the different call queues in the system. This name is displayed in the web frontend. Please take care not to use different names for one queue id. This would change the queue name on each call that sets a new queue name. So the queue name is only a readable item for the queue id.

(standard, professional and call center version)


Call queue color schema

Default value: ColorSet1,60|ColorSet2,120|ColorSet3,0

This value defines the used stylesheets in web frontend for displaying the status of each call. This parameter is evaluated in sets of stylesheets separated by semi-colons. In this example all calls waiting until 60 seconds in the queue are colorized by the ColorSet1 stylesheet. Calls waiting until 120 seconds are colorized by the ColorSet2 stylesheet. All other calls are colorized by the ColorSet3 stylesheet. It is possible to add further sets with other stylesheet.

Stylesheets are defined in the CallQueueColor.css file in the html subfolder.

(professional version only)


Call queue size

Default value: 100

This value sets the maximum number of calls the call queue can handle. If the maximum number is reached the next caller will be connected to the call queue voicemail (if set). If you don't want the caller to be connected to the call queue voicemail just increase the call queue size value to a value higher than the maximum lines available in SwyxGate or SwyxLink.

Another possibility is to check the call queue return values and place further action blocks behind the call queue. So own actions can be executed if the call queue size is exceeded. For example a second call queue with other announcements can be placed behind the first queue block.

(standard, professional and call center version)


Call tag

Default value: CStr(PBXUser.Name)

This value allows to add any annotation or description to a call. This tag is displayed in web frontend. With ECR editor it is possible to add further information (customer id, VIP, service contracts...) to a call very easily.

(standard, professional and call center version)


Introduction

Call forwarding destinations are grouped in destination sets and have to start with a delivery mode. Each set is separated by a "|". To control the call delivery each destination set can suffixed by supplementary parameters and special parameters for that delivery mode.

Common example:
TimeAdv2|69[Alert=FreeOnly],10,10|70[StateChecking=Always,Device=Mobile],10,0

This forwarding destination has 2 destination sets with delivery mode "TimeAdv2"

TimeAdv2: Delivery mode
69[Alert=FreeOnly],10,10: 1st destination set
69: Destination number
[Alert=FreeOnly]: Supplementary parameters
,10,10: Destination mode parameters
70[StateChecking=Always,Device=Mobile],10,0: 2nd destination set
70: Destination number
[StateCheckingAlways,Device=Mobile]: Supplementary parameters
,10,0: Destination mode parameters

Further information can be found in the following chapters.

Example 1:
Simple|69
or
69
Delivers the call to number 69 without any special options

Example 2:
LongestWaiting|69|70
Delivers the call to the members of group 69 and 70. Both groups are resolved to its members in the order set in the corresponding group.

Example 3:
Sequential|69|70|80[Alert=FreeOnly;ResolveGroupMembers=No]
Delivers the call in sequential order to the members of group 69, 70 and group 80. Group 80 is not resolved to its members and the call is delivered to free members only in that group.


Single destination

If only one single number is set, the call queue will deliver the call to this number. This is the default behavior.

For more options to control call delivery see supplementary parameters

(standard version)
(supplementary parameters in professional version only)


Multiple destinations with queue size dependency

Size|[Destination1],[Timeout1],[QueueSize1]|[Destination2],[Timeout2],[QueueSize2]|…
SizeAdv1|[Destination1],[Timeout1],[QueueSize1]|[Destination2],[Timeout2],[QueueSize2]|…
SizeAdv2|[Destination1],[Timeout1],[QueueSize1]|[Destination2],[Timeout2],[QueueSize2]|…

This delivery mode delivers calls to a bigger group with more agents depending on the queue size itself. This makes it possible to react on a growing amount of callers and connect them quicker to their responsible agents.

Example:
Size|50,10,2|51,10,5|52,10,10|53,10,0

The call will be delivered in that way:
Queue size between 0 and 2 -> destination 50 for 10 seconds
Queue size between 3 and 5 -> destination 51 for 10 seconds
Queue size between 6 and 10 -> destination 52 for 10 seconds
Queue size between 11 and 0 (max) -> destination 53 for 10 seconds

Different size modes:
Size:
The destination is selected strictly from the actual call queue size. If the selected destination is busy the caller stays in the queue until the destination becomes free or another destination set is selected due to changed queue size. If a selected destination is offline, the caller stays only in queue if CallQueueStayIfLoggedOff is set to "1"
SizeAdv1:
The destination is selected from the actual queue size. If this destination is offline the call queue selects the next destination. If destination is busy, the caller stays in queue until destination becomes free or another destination set is selected due to changed queue size.
SizeAdv2:
The destination is selected from the actual queue size. If this destination is offline or busy the call queue selects the next destination.

More options:
For more options to control call delivery see supplementary parameters

Annotations:
· If timeout is omitted, the CallQueueConnectTime value is used
· If QueueSize is "0", the CallQueueSize value is used
· Use "0" or CallQueueSize as QueueSize value for the last delivery set
· Group numbers are not resolved by default, do not use "ResolveGroupMembers" from supplementary parameters

If a destination is unreachable, the caller stays in queue if the CallQueueStayIfUserLoggedOff parameter is set to "1" otherwise the caller will exit the queue

(professional and call center version only)


Multiple destinations with queue time dependency

Time|[Destination1],[Timeout1],[QueueTime1]|[Destination2],[Timeout2],[QueueTime2]|…
TimeAdv1|[Destination1],[Timeout1],[QueueTime]|[Destination2],[Timeout2],[QueueTime2]|…
TimeAdv2|[Destination1],[Timeout1],[QueueTime]|[Destination2],[Timeout2],[QueueTime2]|…

So it is possible to deliver the call to a group of agents depending on the queue time. With increasing queue time the call is connected to other groups

Example:
Time|50,10,15|51,10,45|52,10,0
The call will be delivered in that way:
Queue time between 0 and 15 seconds -> destination 50 for 10 seconds
Queue time between 16 and 45 seconds -> destination 51 for 10 seconds
Queue time between 46 and 0 (max) seconds -> destination 52 for 10 seconds

Differenttime time modes:
Time:
The destination is selected strictly from the actual call queue time. If the selected destination is busy the caller stays in the queue until the destination becomes free or another destination set is selected due to changed queue time. If a selected destination is offline, the caller stays only in queue if CallQueueStayIfLoggedOff is set to "1"
TimeAdv1:
The destination is selected from the actual queue time. If this destination is offline the call queue selects the next destination. If destination is busy, the caller stays in queue until destination becomes free or another destination set is selected due to changed queue time.
TimeAdv2:
The destination is selected from the actual queue time. If this destination is offline or busy the call queue selects the next destination.

More options:
For more options to control call delivery see supplementary parameters

Annotations:
· If timeout is omitted, the CallQueueConnectTime value is used
· If QueueSize is "0", the CallQueueSize value is used
· Use "0" or CallQueueSize as QueueSize value for the last delivery set
· Group numbers are not resolved by default, do not use "ResolveGroupMembers" from supplementary parameters

If a destination is unreachable, the caller stays in queue if the CallQueueStayIfUserLoggedOff parameter is set to "1" otherwise the caller will exit the queue


Multiple destinations with preferred destination

Preferred|[Destination1],[Timeout1],0|[Destination2],[Timeout2],0|…

In this scenario the call will be preferred delivered to the first destination set.

Example:
A customer has 3 different locations with 3 local help desks. Each help desk is primary responsible for the local location. Using 3 call queues with a single destination would solve this problem. But if a help desk needs to get calls from other locations too if in these locations is nobody able to take the call you need a second delivery destination for each call queue with a global destination.

Helpdesk A – destination 50
Helpdesk B – destination 60
Helpdesk C – destination 70
All users from all help desks – destination 99

Call queue A – Forwarding destination "Preferred|50,10,0|99,10,0"
Call queue B – Forwarding destination "Preferred|60,10,0|99,10,0"
Call queue C – Forwarding destination "Preferred|70,10,0|99,10,0"

If a user from location A call helpdesk A, he is put in call queue A and delivered first to destination 50. If destination 50 is busy or logged of the call is delivered to destination 99.

More options:
For more options to control call delivery see supplementary parameters


Multiple destinations with sequential destination

Sequential|[Destination1]|[Destination2]|[Destination3]...

In this scenario the call will be sequentially delivered to the destination sets. The call delivery always starts with the first destination set. The difference to the preferred delivery scenario is that groups are resolved to users before delivering the call. So destination are displayed in CDR as users and not as groups.

Example:
Sequential|50|51|52
Destination 50 is a group with members 10,11 and 12
Destination 51 is a group with members 20 and 21
Destination 52 is a user

The call will be delivered in that way:
Resolve group 50 to users, add users to destination list, resulting list is 10,11,12
Resolve group 51 to users, add users to destination list, resulting list is 10,11,12,20,21
Resolve user 52 to user, add user to destination list, resulting list is 10,11,12,20,21,52
Pick the first user from the list and deliver the call if user is free

Different sequential modes:
Sequential:
· The destination group is resolved as described above.
· The call will be delivered to each destination in this group.
SequentialAdv1:
· The destination group is not resolved.
· The call will be delivered to the destination.
· If the destination is a group number, SwyxWare/NetPhone will perform the group delivery itself.
SequentialAdv2:
· The destination group is resolved.
· The call will be delivered to each destination in this group but stops at the last member. This delivery mode can be used for escalation scenarios.
SequentialAdv3:
· The destination group is not resolved.
· The call will be delivered to the destination.
· If the destination is a group number, SwyxWare/NetPhone will perform the group delivery itself.
· The delivery stops at the last member.
SequentialAdv4:
· The destination group is resolved.
· The delivery stops after the last member. The call queue proceeds with the queue timeout process.
SequentialAdv5:
· The destination group is not resolved.
· The delivery stops after the last member. The call queue proceeds with the queue timeout process.

Annotations:
· The call queue starts on every connection attempt with the first destination. If this destination is logged off or busy the destination is skipped and the next destination in the list is selected.
· The difference to SwyxWare/NetPhone sequential call delivery is that in SwyxWare/NetPhone itself the sequential delivery is done within the same delivery attempt
· If groups are used as destination, the resolved group members will be resolved in the order defined in the group name with "(sorted)" in its name in SwyxWare/NetPhone Administration

More options:
For more options to control call delivery see supplementary parameters


Multiple destinations with rotary destination

Rotary|[Destination1]|[Destination2]|[Destination3]...

In this scenario the call will be rotary delivered to the destination sets. The call delivery always starts with the last used destination set in the previous delivery attempt. Groups are resolved to users before delivering the call. So destination are displayed in CDR as users and not as groups.

Example:
Rotary|50|51|52
Destination 50 is a group with members 10,11 and 12
Destination 51 is a group with members 20 and 21
Destination 52 is a user

The call will be delivered in that way:
Resolve group 50 to users, add users to destination list, resulting list is 10,11,12
Resolve group 51 to users, add users to destination list, resulting list is 10,11,12,20,21
Resolve user 52 to user, add user to destination list, resulting list is 10,11,12,20,21,52
Pick the lase user from the list and deliver the call to the next user if free

Different sequential modes:
Rotary:
· The destination group is resolved as described above.
· The call will be delivered to each destination in this group.
RotaryAdv1:
· The destination group is not resolved.
· The call will be delivered to the destination.
· If the destination is a group number, SwyxWare/NetPhone will perform the group delivery itself.

Annotations:
· The call queue starts on every connection attempt with the previous destination. If this destination is logged off or busy the destination is skipped and the next destination in the list is selected.
· The difference to SwyxWare/NetPhone rotary call delivery is that in SwyxWare/NetPhone itself the rotary delivery is done within the same delivery attempt
· If groups are used as destination, the resolved users are not in the order defined in the group in SwyxWare/NetPhone Administration

More options:
For more options to control call delivery see supplementary parameters


Multiple destinations with random destination

Random|[Destination1]|[Destination2]|[Destination3]...

In this scenario the call will be randomly delivered to the destination sets. The call delivery always starts with a random destination set. Groups are resolved to users before delivering the call. So destination are displayed in CDR as users and not as groups.

Example:
Random|50|51|52
Destination 50 is a group with members 10,11 and 12
Destination 51 is a group with members 20 and 21
Destination 52 is a user

The call will be delivered in that way:
Resolve group 50 to users, add users to destination list, resulting list is 10,11,12
Resolve group 51 to users, add users to destination list, resulting list is 10,11,12,20,21
Resolve user 52 to user, add user to destination list, resulting list is 10,11,12,20,21,52
Pick one user from the list and deliver the call if user is free

Different sequential modes:
Random:
· The destination group is resolved as described above.
· The call will be delivered to each destination in this group.
RandomAdv1:
· The destination group is not resolved.
· The call will be delivered to the destination.
· If the destination is a group number, SwyxWare/NetPhone will perform the group delivery itself.

Annotations:
· The call queue starts on every connection attempt with the previous destination. If this destination is logged off or busy the destination is skipped and the next destination in the list is selected.
· The difference to SwyxWare/NetPhone rotary call delivery is that in SwyxWare/NetPhone itself the rotary delivery is done within the same delivery attempt
· If groups are used as destination, the resolved users are not in the order defined in the group in SwyxWare Administration

More options:
For more options to control call delivery see supplementary parameters


Multiple destinations with longest waiting destination

LongestWaiting|[Destination1]|[Destination2]|[Destination3]...

In this scenario the call will be delivered to the destination that has the longest idle time. Groups are resolved to users before delivering the call. So destination are displayed in CDR as users and not as groups.

Example:
LongestWaiting|50|51|52
Destination 50 is a group with members 10,11 and 12
Destination 51 is a group with members 20 and 21
Destination 52 is a user

The call will be delivered in that way:
Resolve group 50 to users, add users to destination list, resulting list is 10,11,12
Resolve group 51 to users, add users to destination list, resulting list is 10,11,12,20,21
Resolve user 52 to user, add user to destination list, resulting list is 10,11,12,20,21,52
Pick one user from the list and deliver the call if user is free

Annotations:
· The call queue starts on every connection attempt with the destination with the longest idle time. If this destination is logged off or busy the destination is skipped and the next destination in the list is selected.
· If groups are used as destination, the resolved users are not in the order defined in the group in SwyxWare/NetPhone Administration

More options:
For more options to control call delivery see supplementary parameters


Group handling

Each group number that is used for call delivery has to be created in SwyxWare/NetPhone administration first. Queue controller created two additional groups for each group used in call delivery or web frontend. Together with the original created group there are three groups that are described below:

Example: Group "Support"
If a group "Support" is created in the administration with a number 69 and the first call will be delivered to this number, the queue controller creates a group "Support (logged off)" and a group "Support (sorted)"

Group "Support":
This group has to be created manually. Place all needed members in that group.

Group "Support (logged off)":
All members that are logged of via frontend or by phone are moved to this group. This group is used to display the logged off members in frontend. After logging on an user again the user is moved back to the "Support" group.

Group "Support (sorted)":
This group contains all users from both groups "Support" and "Support (logged off)". This group is created using a sequential delivery mode. So reordering of members in that group with SwyxWare/NetPhone administration is possible.
If queue controller resolves a group used by a delivery mode the group members will be returned in the order set in this group.

Group synchronization mechanism:
All groups are synchronized automatically.
· Adding a new member to the "Support" group also adds this member to the "Support (sorted)" group.
· Adding a new member to the "Support (logged off)" group also adds this member to the "Support (sorted)" group.
· Removing a member from the "Support" group also removes this member from the "Support (sorted)" group.
· Removing a member from the "Support (logged off)" group also removes this member from the "Support (sorted)" group.
· Removing members from the "Support (sorted)" group is not supported.

This synchronization is done on next call delivery to this group or web frontend update on a page that uses this group. Please be aware that it can take some seconds to update the new groups and read the new membership entries from SwyxWare/NetPhone. So the first call to a group with a delivery mode that needs group resolution may fail.


Supplementary parameters
Each destination can be appended with supplementary parameters. These parameters have to be places in brackets.

Example:
69[Alert=FreeOnly;Device=Mobile.SoftClient;ResolveGroupNumbers=Yes]

[Alert=All,FreeOnly]
Sets the alerting type for that destination.
All: All numbers will be included in call delivery
FreeOnly: Only free numbers will be included in call delivery

Example: 69[Alert=FreeOnly]
Destination number is a group number 69 that contains the members 10, 12, 60 and 62. If alerting type is set to "All", the call is delivered to the group number directly. If alerting type is set to "FreeOnly" the group is resolved to its members and only free members are used for call delivery. This prevents ringing on hard phone if the soft client is logged off.

[Device=H323Client,Mobile,PhoneLxxx,PhoneSxxx,SIPClient,SoftClient,Conference,Gateway,SIPGateway,Link,Fax]
Sets the device for call delivery.
H323Client: Device logged in as H323 device
Mobile: SwyxIt! mobile device
PhoneLxxx: SwyxPhones Lxxx series
PhoneSxxx: SwyxPhones Sxxx series
SIPClient: Device logged in as SIP device
Conference: Swyx conference user
SoftClient: SwyxIt! client
Gateway: ISDN gateway
SIPGateway: SIP gateway
Link: SwyxLink
Fax: SwyxFax

Example: If a user has a logged on SwyxIt! mobile device that should not be included in call delivery set the device type to "SoftClient". The call will be delivery to SwyxIt! client only. To deliver the call to multiple devices add them separated by a "."

[PostProcessingTime=x]
Defines the post processing time a user is locked for call delivery after finishing his call
x: Time in seconds

Annotation: Setting a post processing time on a group number automatically sets the alerting type to "FreeOnly". This is necessary because the call has to be delivered to members whose post processing time has elapsed.

[AutoLogOff=DoNotLogOff,LogOffOnTimeOut,LogOffOnNotLoggedIn,LogOffOn1TimeOuts,LogOffOn2TimeOuts,LogOffOn3TimeOuts,LogOffOn4TimeOuts,LogOffOn5TimeOuts]
Automatically logs off the member. This feature will be implemented in future versions.

[StateChecking=Strict,Device,Always,Remote1,Remote2,Remote3,Remote4,Remote5,Remote6,Remote7,Remote8,Remote9]
Defines the logon state checking method.
Strict: Checks the logon state of this destination based on SwyxWare/NetPhone logon state (as shown in SwyxIt!/NetPhone Client)
Device: Checks the logon state of this destination based on device response
Always: Assumes that destination is free, used for external destinations
Remote1: Remote server 1, checks the logon state on a remote server set in remote servers parameter
...
Remote9: Remote server 9, checks the logon state on a remote server set in remote servers parameter

Annotation: For backward compatibility the logon state checking method can also be set by a suffix added to the destination number.
"d" = Device
"s" = Strict
"a" = Always
"r1" = Remote server 1
"r2" = Remote server 2
...
"r9" = Remote server 9

[ResolveGroupNumbers=Yes,No]
Yes: If the destination number is a group number the number is resolved to its members
No: It the delivery mode resolves group numbers and this parameter is set to "No", group resolution is suppressed


Call connect time

Default value: 15

This value sets the connection attempt timeout a call is delivered to the call destination if the call destination is free. Using zero as value is not recommended because it stops the execution of all following call queue actions because the call is delivered infinitely.

(standard, professional and call center version)


Call not connected mail notification

Default value: 0

If this value is set to "1", the call queue sends a mail notification if a call is not picked up from the destination.

(professional and call center version only)


Call not connected mail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the notification mail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.

(professional and call center version only)


Call not connected mail subject

Default value: Call Queue: Delivery timed out or has been rejected

This value sets the Email subject of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration (for time waiting in queue use %deliveredtime% instead)
%connectedname% = Connected name
%connectednumber% = Connected number

%reason% = Reason (rejected or timeout)
%deliverednumber% = Destination number
%deliveredtime% = Delivery time (time waiting in queue)

(professional and call center version only)


Call not connected mail body

Default value: Call Information|CallID: %callid%|CallerName: %name%|CallerNumber: %number%|Start: %time%|Duration: %deliveredtime%|Delivered to: %deliverednumber%|Reason: %reason%

This value sets the Email body of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration (for time waiting in queue use %deliverdtime% instead)
%connectedname% = Connected name
%connectednumber% = Connected number

%reason% = Reason (rejected or timeout)
%deliverednumber% = Destination number
%deliveredtime% = Delivery time (time waiting in queue)

Annotation:
· Use "|" as new line separator

(professional and call center version only)


Call instant delivery

Default value: 0

This value affects the delivery of calls in the queue. If instant call delivery is set to "0" the calls are queued and delivered in exact the same order as they are added to the queue. If instant call delivery is set to "1" the call queue tries to deliver calls faster and in a random order.

Example: Instant call delivery set to "0"
Call on position 1, destination group 50
Call on position 2, destination group 50

If call on position 1 is delivered to an agent the next call is delivered to this group. If this group has a sequential, rotary or random delivery mode set, the other agents in this group have to wait until the first agent whose phone is ringing picks up and answers the call.

Example: Instant call delivery set to "1"
Call on position 1, destination group 50
Call on position 2, destination group 50

Both calls will be delivered simultaneously to the group. Two phones are ringing at the same time and the call can be answered more quickly. The amount of calls delivered simultaneously is limited to the amount of logged on and free members in the destination set.

(professional and call center version only)


Call custom delivery

Default value: 0

Custom delivery can be used to change queue parameter after the caller has been added to the queue.

Therefore custom delivery exits the queue on each connection attempt inside the queue. The queue block exits on exit "1". On that exit multiple action blocks can be connected to change almost all parameters inside the queue.

Please see the following example:

· The initialize block sets creates some variables
· Queue parameters are set to default except hold music = "", welcome announcement = "0", hold time = "-1"
· The call queue block has custom delivery set to "1"
· The queue exits on exit "1" named custom and uses a vb-script block to do a loop from 0 to 3
· Before first delivery attempt the queue exits and sets the forwarding destination to "10"
· On second delivery attempt the forwarding destination is set to "12", hold music and welcome announcement are set to a the wave files that needs to be played
· On third delivery attempt the forwarding destination is set to "69"
· On fourth delivery attempt the custom delivery mode is switched off because it is not needed any longer (just to save performance)

So the queue tries to connect to 10, then changes the destination to 12 and activate the welcome announcement with hold music after that. This delivers the call to 10 and 12 before placing the call on hold and playing the welcome announcement. To omit the short brake between the two delivery attempts the hold time is set to "-1".

To set or get call queue parameters the "CallQueueSetParameter" or "CallQueueGetParameter" blocks has to be used (see screenshot below)


Call hold time if not connected

Default value: 5

This value sets the minimum time a user hears hold music before the next connection attempt is possible. This feature prevents a user from hearing just one second hold music before the next connection attempt is made. This condition matches if destination is free but nobody answers the call. This value can be decreased if call queue plays hold music while connecting. This value can be set to 1 because there is no need for a long hold time period in this scenario.

Setting this value to -1 skips the waiting period between the delivery attempts. This can be used if the call is delivered to several destination with no hold music set. So it is possible to play the alerting tone without interruption while delivering the call to the destinations.

(standard, professional and call center version)


Call priority

Default value: 2

This value set the priority of the caller in the call queue.
1 - Add caller to top of queue
2 - Add caller to bottom of queue
3 - Add caller to top of queue after all other calls with top position

Example:
Call A and B is already in queue. A and B has been added with priority 2.

1. A caller C with priority 1 is added. The queue order is C, A, B (C is always added to the top)
2. A caller D with priority 1 is added. The queue order is D, C, A, B (D is always added to the top)
3. A caller E with priority 3 is added. The queue order is D, C, E, A, B (E is added after all calls with priority 1)
4. A caller F with priority 2 is added. The queue order is D, C, E, A, B, F (F is added to the end)

(standard, professional and call center version)


Call timeout

Default value: 3600

This value sets the maximum time a caller can stay in the call queue before a timeout occurs. This time is similar to the escalation timeout but the caller is connected the call queue voicemail (if set) and not the escalation process.

(standard, professional and call center version)


Call hold music

Default value: *hold*

This value sets the call hold music for the caller. Setting this value to "*hold*" the queue uses the system music on hold configured in SwyxWare/NetPhone Administration. Different music on hold can be used for each call. The music on hold can be changed by entering the name of the wav-file for music on hold.

Setting this value to "0" suppresses the music on hold. The caller hears the alerting tone or silence while waiting in the queue. This parameter should be used with care!

(standard, professional and call center version)


Call queue plays hold music while connecting

Default value: 1

This parameter lets SwyxWare/NetPhone play music on hold while the call is ringing internal. The external caller does not hear the internal ringtone. The call is transferred if the internal user hooks off the phone.

(standard, professional and call center version)


Call queue plays hold music on welcome

Default value: 1

Is this parameter is set to "1" the call queue plays music on hold in the background of the welcome announcement. The music on hold is faded in and out by SwyxWare/NetPhone automatically.

(standard, professional and call center version)


Call queue plays hold music on selection

Default value: 1

Is this parameter is set to "1" the call queue plays music on hold in the background of the selection announcement. The music on hold is faded in and out by SwyxWare/NetPhone automatically.

(professional and call center version only)


Call queue uses strict logon state checking

Default value: 1

The call queue distinguishes between two logon state checking methods.

If strict logon state checking is activated the logon state is checked on base of the SwyxWare logon state shown in SwyxWare/NetPhone Administration.

Example:
In SwyxWare/NetPhone Administration only SwyxIt! is marked as logon device on the devices tab in SwyxWare/NetPhone Administration. If SwyxIt! and SwyxPhone are logged on, the user is marked as logged on. If the user logs off SwyxIt! he will be marked as logged off although his SwyxPhone remains logged on. This logon state is that state that is displayed on the name keys in SwyxIt!

Group 69:
Member A, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)
Member B, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)
Member C, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)

Group 69 is logged off, if all SwyxIt!s are closed.

If strict logon state checking is deactivated the logon state is checked on base of device state.

Example:
A user is displayed as logged off in SwyxWare/NetPhone Administration but his SwyxPhone is logged on. The user could pick up the call, so the call queue will assume the user as logged on. In this scenario the states of the lines in SwyxIt! and SwyxPhone are included in logon state checking process.

Group 69:
Member A, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)
Member B, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)
Member C, SwyxIt! in CTI Mode with SwyxPhone (Logon Device only SwyxIt!)

Group 69 is logged off, it all SwyxIt!s and SwyxPhones are logged off or no SwyxPhone has a configured free line for destination number 69.

This behaviour can be overwritten for each destination by adding a suffix like "d", "s", "a" or "r1..9" to the destination. See call queue forwarding destinations

(standard, professional and call center version)


Call queue remote servers for logon state checking

Default value: [localhost:81],[+49...]|[remotehost:81],[+49...]

This value defines the remote server sets that can be used for logon state checking on remote servers. On the remote server a 3iMedia Call Queue Controller is needed as well.

Example:
swyxserver1.customer.com:81,+4972178167|swyxserver2.customer.com:81,+492314777

As described in chapter call forwarding destination each destination can be suffixed with a destination logon state checking flag ("s", "d", "a" or "r1".."r9"). The "r1"..."r9" flags correspond to the remote server sets in this chapter.

The destination set 10r1 checks the internal destination 10 on the server swyxserver1.customer.com on port 81 and connects to +4972178167-10 if this destination is free.
The destination set 20r2 checks the internal destination 20 on the server swyxserver2.customer.com on port 81 and connects to +492314777-20 if this destination is free.

(professional and call center version only)


Call queue allows staying in queue if no user logged on

Default value: 1

This value controls the behavior if the callers waiting in the queue stay inside the queue if all agents are logged off. If a caller is in the queue and all users in the call queue destination are logged off the caller is removed from the queue and the logged off condition is executed.

(standard, professional and call center version)


Call queue allows staying in queue if all users busy

Default value: 1

This value controls the behaviour if callers entering the queue will exit the queue immediately if all destinations are busy.

(standard, professional and call center version)


Call queue evaluates locked line as logged off

Default value: 0

Is this parameter is set to "1" the call queue evaluates a locked line key for the destination as logged off.

Example:
The call queue for the operator has the destination set "Preferred;60,10,0;61,20,0". That means the call queue tries to deliver the call first to the destination 60 and if that user is not logged on or free the call queue delivers the call to destination 61.
If destination 60 is logged on and destination 61 is logged on but has his line key for 61 locked, the call queue will assume that there is still somebody to take the call. If the destination 61 is only standby operator and has his line key locked normally it doesn't make sense to let a caller wait in the queue.
Setting this parameter to "1" lets the call queue evaluate this condition as logged off too. So if all callers in the destination sets are logged off or locked their line keys the logged off condition is executed.

(standard, professional and call center version)


Call queue activates call on exit

Default value: 1

If this value is set to "0" the call stays on hold if the call is dropped from the queue. Sometimes it is necessary to add more than one queue in a chain. To avoid fading out music on hold on transferring the call from one queue to another set this value to zero.

(standard, professional and call center version)


Welcome announcements

Default value: Call Queue - Welcome.wav

This sound file is played it the caller is added to the queue. The welcome announcement is not played if the call queue destination is free and the call is connected on the first connection attempt. It the call queue destination is free but the call is not connected the welcome announcement is played once for every caller. If a new caller is on position higher than two, the welcome announcement is played immediately.

(standard, professional and call center version)

Multiple announcements can be separated them with a "|" between the different announcement files.

Example:
Announcement1.wav|Announcement2.wav|Announcement3.wav|Announcement4.wav

(professional and call center version only)


Caller position

On welcome announcement it is possible to add the caller position to every announcement.

Example:
Announcement1.wav,1|Announcement2.wav,0

The call queue will play announcement1.wav and add the caller position after the announcement. Right after the caller position announcement2.wav is played but no caller positions is added.

(professional and call center version only)


Call queue plays welcome before connecting

Default value: 0

This value controls the timing of the welcome announcement. If this value is set to 1 the welcome announcement is played before the first connection attempt. If the value is set to 0 the call queue will first try to reach a destination and will play the welcome announcement afterwards.

(standard, professional and call center version)


Call user logged off override

Default value: 0

If this value is set to "1" the call queue assumes that all users are logged off. This parameter should be uses if own logged off conditions have to be checked before the call is placed in the queue.

Example:
Office hours are from Monday to Friday from 8 am to 4 pm. Add the standard ECR actions for the time checking and set a variable to "1" if the caller is calling outside the office hours. Use this variable as value for this call queue parameter.

(standard, professional and call center version)


Call user logged off destination

Default value: 0

This value sets the destination a caller is connected to if no agent is logged on in the forwarding destination group or the call queue logged off override parameter is set to "1". If this value is not "0" the caller is connected to the configured number.

(standard, professional and call center version)


Call user logged off destination timeout

Default value: 15

This value sets the duration a caller is connected to the logged off destination number before a connect timeout occurs.

(standard, professional and call center version)


Call user logged off proceed with destination script

Default value: 0

This value affects the call transfer. Setting this value to "1" executes the call routing script of the SwyxWare/NetPhone user the call is transferred to.

(professional and call center version only)


Call user logged off voicemail

Default value: 0

This value enabled the voicemail a caller is connected to if no agent is logged on in the forwarding destination group or the call queue logged off override parameter is set to "1".

Annotation:
If both "call queue logged off destination" and "call queue user logged off voicemail" are set, the call will be connected to voicemail if the connection attempt reaches a timeout or unreachable condition.

(standard, professional and call center version)


Call user logged off voicemail file

Default value: 0

This value sets the voicemail file used For the logged off condition described above. If this value is Set To 0 the default voicemail of the script user is used otherwise the configured voicemail file is played.

(standard, professional and call center version)


Call user logged off voicemail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the voicemail described above. The default value uses the address of the script user configured in SwyxWare/Netphone Administration.
If the value is set to "0" the voicemail announcement is played and call is terminated.

(standard, professional and call center version)


Call user logged off mail notification

Default value: 0

If this value is set to "1", the call queue sends a mail notification if all destinations are logged off.

(standard, professional and call center version)


Call user logged off mail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the notification mail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.

(standard, professional and call center version)


Call user logged off mail subject

Default value: Call Queue: All destinations logged off

This value sets the Email subject of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration
%connectedname% = Connected name
%connectednumber% = Connected number

(standard, professional and call center version)


Call user logged off mail body

Default value: Call Information|CallID: %callid%|CallerName: %name%|CallerNumber: %number%|Start: %time%|Duration: %duration%

This value sets the Email body of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration
%connectedname% = Connected name
%connectednumber% = Connected number

Annotation:
· Use "|" as new line separator

(professional and call center version only)


Call user logged off escalation

Default value: 0

This value sets the behavior of the call queue to proceed with the escalation process if the following conditions match:
Call queue user logged off condition is true
Call queue user logged off destination is configured but could not be reached
Call queue user logged off voicemail is not configured

(standard, professional and call center version)


Call user logged off error

Default value: 0

This value sets the behavior of the call queue to proceed with the error process if the following conditions match:
Call queue user logged off condition is true
Call queue user logged off destination is configured but could not be reached
Call queue user logged off voicemail is not configured

Annotation:
If both "Call queue user logged off escalation" and "Call queue user logged off error" are set only the first action is executed.

(standard, professional and call center version)


Call user logged off stylesheet

Default value: ColorSetLoggedOff

This parameter sets the stylesheet used in web frontend for logged off condition. The calls are displayed in the active connections list.

(professional and call center version only)


Call escalation timeout

Default value: 0

This value sets the maximum time a caller can stay in the call queue. After the escalation timeout the caller is forwarded to the escalation process described below. This prevents the caller from staying in the call queue for too long.

(professional and call center version only)


Call escalation destination

Default value: 0

This value sets the destination a caller is connected to if the escalation timeout is reached. If this value is not "0" the caller is connected to the configured number.

(professional and call center version only)


Call escalation destination timeout

Default value: 15

This value sets the duration a caller is connected to the escalation destination number before a connect timeout occurs.

(professional and call center version only)


Call escalation proceed with destination script

Default value: 0

This value affects the call transfer. Setting this value to "1" executes the call routing script of the SwyxWare/NetPhone user the call is transferred to.

(professional and call center version only)


Call escalation voicemail

Default value: 0

This value enabled the voicemail a caller is connected to if the escalation timeout occurs.

Annotation:
If both "call queue escalation destination" and "call queue escalation voicemail" is set, the call will be connected to voicemail if the connection attempt reaches a timeout or unreachable condition.

(professional and call center version only)


Call escalation voicemail file

Default value: 0

This value sets the voicemail file used for the escalation condition described above. If this value is set to "0" the default voicemail of the script user is used otherwise the configured voicemail file is played.

(professional and call center version only)


Call escalation voicemail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the voicemail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.
If the value is set to "0" the voicemail announcement is played and call is terminated.

(professional and call center version only)


Call escalation error

Default value: 0

This value sets the behavior of the call queue to proceed with the error process if the following conditions match:
· Call queue escalation condition is true
· Call queue escalation destination is configured but could not be reached
· Call queue escalation voicemail is not configured

(professional and call center version only)


Call escalation stylesheet

Default value: ColorSetEscalation

This parameter sets the stylesheet used in web frontend for escalation condition. The calls are displayed in the active connections list.

(professional and call center version only)


Call announcement timeout

Default value: 0

This value sets the timeout for the call queue announcement. The call queue announcement is an announcement that is played after the welcome announcement to inform the caller to be patient.

(standard, professional and call center version)


Call announcement repeat

Default value: 1

This value defines whether the call queue announcement is repeated or just played once.

(standard, professional and call center version)


Announcement files

Default value: Call Queue - Announcement.wav

This value sets the call queue announcement files. These files are played if the call queue announcement timeout occurs.

(standard, professional and call center version)

Multiple announcements can be separated them with a "|" between the different announcement files. After the first timeout the first announcement is played, after the second timeout the second announcement and so on...

Example:
Announcement1.wav|Announcement2.wav|Announcement3.wav|Announcement4.wav

(professional and call center version only)


Caller position

On these announcements it is possible to add the caller position to every announcement.

Example:
Announcement1.wav,1|Announcement2.wav,0

The call queue will play announcement1.wav and add the caller position after the announcement. Right after the caller position announcement2.wav is played but no caller positions is added.

(professional and call center version only)


Call selection timeout

Default value: 0

This value sets the timeout for the call queue selection. The call queue selection is a voice menu after the call queue announcement that gives the caller the possibility to select from different choices by sending dtmf tones with his telephone.


Call selection repeat

Default value: 1

This value defines whether the call queue selection is repeated or just played once.


Call selection before first connect

Default value: 0

This value defines whether the call queue selection menu is played before th first connection attempt. Otherwise the selection menu is played after the selection timeout. This option is useful for IVR-menus that should offer the possible options directly after the welcome announcement(s).


Call selection after first connect

Default value: 0

This value defines whether the call queue selection menu is played after the first connection attempt. Otherwise the selection menu is played after the selection timeout. This option is useful for IVR-menus that should offer the possible options directly after the first connection attempt.


Call selection file

Default value: Call Queue - Selection.wav

This value sets the call queue selection file. This file is played if the call queue selection timeout occurs.


Call selection dtmf timeout

Default value: 3

This value sets the time a caller can enter his choice in the IVR menu. Increasing this value gives the caller more time to make his decision.

Annotation:
The script is hold until the dtmf timeout occurs or the caller enters a dtmf digit. So do not increase this value to much. A maximum value of 10 should not be exceeded.


Call selection voicemail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the voicemail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.


Call selection callback mail notification

Default value: 0

If this value is set to "1", the call queue sends a mail notification if a callback has been requested.

(standard, professional and call center version)


Call selection callback mail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the notification mail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.

(standard, professional and call center version)


Call selection callback mail subject

Default value: Call Queue: Caller requested callback

This value sets the Email body of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration

%callbacknumber% = Number of caller

Annotation:
· Use "|" as new line separator

(professional and call center version only)


Call selection callback mail body

Default value: Call Information|CallID: %callid%|CallerName: %name%|CallerNumber: %callbacknumber%|Start: %time%|Duration: %duration%

This value sets the Email body of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration

%callbacknumber% = Number of caller

Annotation:
· Use "|" as new line separator

(professional and call center version only)


Call selection key 0..9, *, #, timeout

These parameters offer the possibility to set the actions for the different IVR inputs within the selection menu.

Possible actions are:
· Nothing
· Voicemail
· Connect
· SimpleCallback
· AdvancedCallback
· Exit

Nothing:
This action does nothing. It seems senseless at the first look. In conjunction with the selection key timeout parameter it can be used to force a caller to press a digit on his phone to stay in the queue. So the announcement says "Please press 1 to stay in the line" If the caller pressed nothing the selection key time puts him to the voicemail.

Voicemail:
Transfers the call to the selection voicemail

Connect:
Transfers the call to the corresponding destination and proceeds with the call routing of that destination

SimpleCallback:
The simple callback removes the call from the queue and puts him to the callback request list in the web front end. If the caller doesn't transmit a caller id the caller id is asked by a dtmf input sequence and used as callback number.

AdvancedCallback:
The advanced callback works like the simple callback but the caller stays virtually in the queue. It moves to the top position just as he would in the queue. If the caller would have been on position 1, the call is removed from the queue and put in the callback request list.

Exit:
Exits the call queue with a return value 65 + number of DTMF digit pressed (655 if 5 has been pressed).

The corresponding destination parameter sets the destination the call is connected to if the call queue selection key entry is set to "Connect"


Call selection stylesheet

Default value: ColorSetSelection

This parameter sets the stylesheet used in web frontend for selection condition.

(professional and call center version only)


Call queue voicemail

Default value: 0

This value enables the call queue voicemail. The call queue voicemail will be executed if one of the following conditions matches:
· Call queue sized exceeded
· Call queue call timeout occurred

(standard, professional and call center version)


Call queue voicemail file

Default value: 0

This value sets the voicemail file used for call queue voicemail described above. If this value is set to 0 the default voicemail of the script user is used otherwise the configured voicemail file is played.

(standard, professional and call center version)


Call queue voicemail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the voicemail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.
If the value is set to "0" the voicemail announcement is played and call is terminated.

(standard, professional and call center version)


Call queue voicemail stylesheet

Default value: ColorSetVoicemail

This parameter sets the stylesheet used in web frontend for the call queue voicemail. The calls are displayed in the active connections list.

(professional and call center version only)


Call disconnect mail notification

Default value: 0

If this value is set to 1, the call queue sends a mail notification if the caller hooks on without being connected to any destination.

(professional and call center version only)


Call disconnect mail address

Default value: PBXUser.VoicemailEMailAddress

This value sets the Email address for the notification mail described above. The default value uses the address of the script user configured in SwyxWare/NetPhone Administration.

(professional and call center version only)


Call disconnect mail subject

Default value: Call Queue: User has hook on during call queue

This value sets the Email subject of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration
%connectedname% = Connected name
%connectednumber% = Connected number

(professional and call center version only)


Call disconnect mail body

Default value: Call Information | CallID: %callid%|CallerName: %name%|CallerNumber: %number%|Start: %time%|Duration: %duration%

This value sets the Email body of the notification mail. The following placeholders are possible:

%name% = Caller name
%number% = Caller number
%time% = Call start time
%starttime%" = Call start time
%callingnumber% = Caller number
%callednumber%" = Called number
%dialednumber%" = Dialed number
%callid%" = CallId
%calltype%" = Call type
%duration% = Call duration
%connectedname% = Connected name
%connectednumber% = Connected number

Annotation:
· Use "|" as new line separator

(professional and call center version only)


Call disconnect threshold

Default value: 5

If this value defines a threshold for the mail notification. Default value is 5 seconds. So if a caller hooks on within the first 5 seconds no notification mail is sent.

(professional and call center version only)


Call disconnect clearing timeout

Default value: 60

This value defines the time a disconnected caller is visible in web frontend. A disconnected call is displayed in the active calls list.

(standard, professional and call center version)


Call voicemail clearing timeout

Default value: 60

This value defines the time a call connected to voicemail is visible in web frontend. A voicemail call is displayed in the active calls list. Setting this value to "0" the calls will never be removed from the voicemail calls list.

In some scenarios voicemail calls needed to be treated as lost calls.

(standard, professional and call center version)


Call aborted clearing timeout

Default value: 10

This value defines the time an aborted call is visible in web frontend. An aborted call is displayed in the active calls list.

(standard, professional and call center version)


Call lost clearing timeout

Default value: 600

This value defines the time a lost caller is visible in web frontend. A lost call is displayed in the lost calls list. Setting this value to "0" the calls will never be removed from the lost calls list.

(standard, professional and call center version)


Return values

The call queue block has several return values, depending on the conditions and actions executed within the call queue. These return values can be uses to add further actions in ECR-scripts. For standard CRM-script an evaluation of these return values is not possible.

Logged off checking
10 All possible destinations are logged off
11 Call connected to logged off destination
12 Call connected to logged off special voicemail
13 Call connected to call queue default voicemail
19 No valid destination found

Escalation processing
21 Call connected to escalation destination
22 Call connected to escalation special voicemail
23 Call connected to call queue default voicemail

Error processing
31 Call connected to error destination
32 Call connected to error special voicemail
33 Call connected to call queue default voicemail

Call Queue processing
41 Call connected to destination
42 Common error while processing the call in the queue. See trace for further details
43 Call lost
44 Queue size exceeded
45 Destination unreachable
46 Call timeout has been reached
47 Escalation timeout has been reached
48 Call aborted
49 Selection pressed

52 Call connected to queue special voicemail
53 Call connected to default voicemail

61 Call connected to selection destination
62 Call connected to selection special voicemail
63 Call connected to default voicemail
64 Caller requested a callback
65 Call exited the queue - DTMF digit pressed will be added to the return value (650...659)

90 Error creating queue COM object
91 Error creating queue
92 Error adding call to queue
97 Invalid license (invalid call property set)
98 Invalid license (maximum queue count exceeded, 1 for standard version)
99 Invalid license (license invalid, evaluation period expired)

(standard, professional and call center version)


Call queue overview

This view displays the overview of all available queues. Selecting one queue jumps to the call queue view page.

http://server:81/Index.html

Fields:
ID = Call queue ID
Name = Call queue name
Queue size = actual call queue size and maximum call queue size separated by "/"

(standard, professional and call center version)


Call queue view

This view displays all calls in the selected queue. The connected calls are displays below the caller waiting in the queue. At the bottom of the page all lost calls are displayed.

http://server:81/QueueCalls.html?QueueID=X
http://server:81/QueueCallsSmall.html?QueueID=X (used for SwyxIt! Webextension)

(standard, professional and call center version)


Call queue all calls

This view displays an overview of all calls in all queues. The connected calls are displays below the caller waiting in the queue. At the bottom of the page all lost calls are displayed.

http://server:81/QueueAllCalls.html
http://server:81/QueueAllCallsSmall.html (used for SwyxIt! Webextension)

(standard, professional and call center version)


Call pickup

To enable the call pickup functionality the pickup destination has to be included in the calling url.

Example:
Call pickup destination is 60.
The corresponding url has to be something like this: http://localhost:81/Index.html?PickupDestination=60
Instead of the Index.html any other html-file can be used.

In SwyxIt!/NetPhone Client Webextension parameters can be included in the calling url. So the url in the upper example can be:
http://localhost:81/Index.html?PickupDestination=%OwnName%

This url is used in the skin files installed in the skins subfolder.


Call details

This view displays the call details.

(standard, professional and call center version)


Global members view

This view displays all members of a group. The group parameters have to be added in html page

http://server:81/QueueMembers.html
http://server:81/QueueMembersSmall.html (used for SwyxIt! Webextension)

http://server:81/StatusMembers.html
http://server:81/StatusMembersSmall.html (used for SwyxIt! Webextension)

(professional and call center version only)


Global calls view

This view displays all calls in SwyxWare, grouped by internal, outgoing and incoming calls.

http://server:81/GlobalAllCalls.html
http://server:81/GlobalAllCallsSmall.html (used for SwyxIt! Webextension)

Annotation:
SwyxWare/Netphone only resolves numbers on outgoing call against the internal phone books. For number resolution against other systems (CRM, ERP) 3iMedia Metaservices has to be installed. This product has to be licensed separately.

(professional and call center version only)


HTML Templates

The front end can be customized on customers demand. All HTML files can contain tags that are parsed before displaying the web page.
These tags are described in the following chapters. The tags have to use the following syntax:

<%TagName%>
<%TagName:Parameter:Value%>
<%Set Value=Property%>

The html files containing the tags have to be in the webdir folder specified in the registry. Default location for that folder is the html subfolder in the installation directory.
The customized files should be placed in the custom subfolder. So the original html files are not overwritten. The webserver uses files in the custom folder first!

The provided samples in the html folder consist of a html and a html data file. The html file includes a ajax java script that loads the content of its data file every 2 seconds. The name of the data file is set automatically. So it is very easy to copy these files to the custom folder and modify them. There is no need to change the data file name in the calling html file.

Further it is possible to use server side includes and iterated tags. So it is very simple to edit pages and create one page for multiple users or groups. Please find further information in the following chapters.

Using custom pages and html tags it is possible to arrange all elements on customers demand.


QueueList

Description:
Contains a list with all queues

<%QueueList%> Returns a list of all queues including the html table headers
<%QueueList/Body%> Returns a list of all queues without the table headers

Optional tags in HTML file:
Set QueueCallsURL: URL for queue calls link

Hiding queues from view:
Set QueueHide1=QueueID
Set QueueHide2=QueueID
Set QueueHide3=QueueID
...
Set QueueHideX=QueueID

Do not use Hide and Show on the same page

Show only queues in view:
Set QueueShow1=QueueID
Set QueueShow2=QueueID
Set QueueShow3=QueueID
...
Set QueueShowX=QueueID

Do not use Hide and Show on the same page

Hiding columns from view:
Set QueueListHiddenColumns1=1
Set QueueListHiddenColumns2=2
Set QueueListHiddenColumns3=3

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Hiding maximum queue members from view:
Set QueueListHideSize=1

Hides the maximum number of callers allowed to enter the queue from the view

(standard, professional and call center version)


QueueCallsList

Description:
Contains a list with all callers waiting in the selected queue (File: QueueCalls.html)

<%QueueCallsList%> Returns a list of all calls waiting in the selected queue including the html table headers
<%QueueCallsList/Body%> Returns a list of all calls waiting in the selected queue without the table headers

Mandatory parameters in URL:
QueueID: ID of the selected queue

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueCallsListHiddenColumns1=1
Set QueueCallsListHiddenColumns2=2
Set QueueCallsListHiddenColumns3=3
Set QueueCallsListHiddenColumns4=4
Set QueueCallsListHiddenColumns5=5
Set QueueCallsListHiddenColumns6=6
Set QueueCallsListHiddenColumns7=7
Set QueueCallsListHiddenColumns8=8

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(standard, professional and call center version)


QueueActiveCallsList

Description:
Contains a list with all active calls in the selected queue (File: QueueCalls.html)

<%QueueActiveCallsList%> Returns a list of all active calls in the selected queue including the html table headers
<%QueueActiveCallsList/Body%> Returns a list of all active calls in the selected queue without the table headers

Mandatory parameters in URL:
QueueID: ID of the selected queue

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueActiveCallsListHiddenColumns1=1
Set QueueActiveCallsListHiddenColumns2=2
Set QueueActiveCallsListHiddenColumns3=3
Set QueueActiveCallsListHiddenColumns4=4
Set QueueActiveCallsListHiddenColumns5=5
Set QueueActiveCallsListHiddenColumns6=6
Set QueueActiveCallsListHiddenColumns7=7
Set QueueActiveCallsListHiddenColumns8=8

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(standard, professional and call center version)


QueueLostCallsList

Description:
Contains a list with all lost calls in the selected queue (File: QueueCalls.html)

<%QueueLostCallsList%> Returns a list of all lost calls in the selected queue including the html table headers
<%QueueLostCallsList/Body%> Returns a list of all lost calls in the selected queue without the table headers

Mandatory parameters in URL:
QueueID: ID of the selected queue

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueLostCallsListHiddenColumns1=1
Set QueueLostCallsListHiddenColumns2=2
Set QueueLostCallsListHiddenColumns3=3
Set QueueLostCallsListHiddenColumns4=4
Set QueueLostCallsListHiddenColumns5=5
Set QueueLostCallsListHiddenColumns6=6

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(professional and call center version only)


QueueAllCallsList

Description:
Contains a list with all callers waiting in all queues (File: QueueAllCalls.html)

<%QueueAllCallsList%> Returns a list of all calls waiting in all queues including the html table headers
<%QueueAllCallsList/Body%> Returns a list of all calls waiting in all queues without the table headers

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueAllCallsListHiddenColumns1=1
Set QueueAllCallsListHiddenColumns2=2
Set QueueAllCallsListHiddenColumns3=3
Set QueueAllCallsListHiddenColumns4=4
Set QueueAllCallsListHiddenColumns5=5
Set QueueAllCallsListHiddenColumns6=6
Set QueueAllCallsListHiddenColumns7=7
Set QueueAllCallsListHiddenColumns8=8
Set QueueAllCallsListHiddenColumns9=9

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(standard, professional and call center version)


QueueAllActiveCallsList

Description:
Contains a list of all active calls in all queues (File: QueueAllCalls.html)

<%QueueAllActiveCallsList%> Returns a list of all active calls in all queues including the html table headers
<%QueueAllActiveCallsList/Body%> Returns a list of all active calls in all queues without the table headers

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueAllActiveCallsListHiddenColumns1=1
Set QueueAllActiveCallsListHiddenColumns2=2
Set QueueAllActiveCallsListHiddenColumns3=3
Set QueueAllActiveCallsListHiddenColumns4=4
Set QueueAllActiveCallsListHiddenColumns5=5
Set QueueAllActiveCallsListHiddenColumns6=6
Set QueueAllActiveCallsListHiddenColumns7=7
Set QueueAllActiveCallsListHiddenColumns8=8
Set QueueAllActiveCallsListHiddenColumns9=9

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(standard, professional and call center version)


QueueAllLostCallsList

Description:
Contains a list of all lost calls in all queues (File: QueueAllCalls.html)

<%QueueAllLostCallsList%> Returns a list of all lost calls in all queues including the html table headers
<%QueueAllLostCallsList/Body%> Returns a list of all lost calls in all queues without the table headers

Optional tags in HTML file:
Set QueueCallDetailsURL: URL for call details link

Hiding columns from view:
Set QueueAllLostCallsListHiddenColumns1=1
Set QueueAllLostCallsListHiddenColumns2=2
Set QueueAllLostCallsListHiddenColumns3=3
Set QueueAllLostCallsListHiddenColumns4=4
Set QueueAllLostCallsListHiddenColumns5=5
Set QueueAllLostCallsListHiddenColumns6=6
Set QueueAllLostCallsListHiddenColumns7=7

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(professional and call center version only)


QueueGroupMembersLoggedOnOffList

Description:
Contains a list of all logged on members of a group (File: QueueMembers.html)

<%QueueMembersLoggedOnList:EveryOne%> Returns a list of all logged on members for the selected group including the table headers
<%QueueMembersLoggedOffList:EveryOne%> Returns a list of all logged off members for the selected group including the table headers
<%QueueMembersLoggedOnOffList:EveryOne%> Returns a joined list of all logged on AND off members for the selected group including the table headers

<%QueueMembersLoggedOnList:EveryOne%> Returns a list of all logged on members for the selected group without the table headers
<%QueueMembersLoggedOffList/Body:EveryOne%> Returns a list of all logged off members for the selected group without the table headers
<%QueueMembersLoggedOnOffList/Body:EveryOne%> Returns a joined list of all logged on AND off members for the selected group without the table headers

Optional tags in HTML file:
Set MemberListURL: URL for queue members logon action link
Set QueueMembersMin: Minimum members that have to be logged on
Set QueueMembersMax: Maximum members that can be logged on
Set QueueMembersLogging: Activate logging, log files are saved in the reports folder in the installation folder
Set MemberPostProcessingFormat: Sets the time format for post processing time
Set MemberPostProcessingTime: Sets the post processing time in seconds

Hiding columns from view:
Set QueueMembersListHiddenColumns1=1
Set QueueMembersListHiddenColumns2=2
Set QueueMembersListHiddenColumns3=3
Set QueueMembersListHiddenColumns4=4
Set QueueMembersListHiddenColumns5=5

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

Hiding actions from view:
Set QueueMembersListHideTimeAdd: Hides the add post processing time column
Set QueueMembersListHideTimeReset: Hides the reset post processing time column
Set QueueMembersListHideTime: Hides the time from the post processing column

To hide a column, remove the "!" in front of the tag in the corresponding HTML-file

User state column:
Set MemberNumberPrefix=+49xxxxxxxxxx Prefix for callto: link for internal numbers to dial number directly from HTML-page
Set MemberStateNoText=0,1 Adds the users state but suppresses the text leaving only the background color

Example 1 (used in QueueMembers.html):
Set MemberStateNoText=0
Set QueueMembersListHiddenColumns2=2

Result:
Column 2 that normally contains the internal number with the prefix +4972178167 is hidden
Column 3 contains "alerting"
Column 4 contains the links for logging off from the group
Column 5 contains the links for increasing and resetting post processing time

Example 2 (used in StatusMembers.html):
Set MemberNumberPrefix=+49xxxxxxxxxx
Set MemberStateNoText=1
Set QueueMembersListHiddenColumns4=4

Result:
Column 2 contains the internal number with the prefix +4972178167
Column 3 contains no text but has a colored background
Column 4 that normally contains the link for logging off from the group is hidden
Column 5 contains the links for increasing and resetting post processing time

(professional and call center version only)


QueueGroupMembersLoggedOnOffCount

Description:
Returns the number of members in the corresponding logged on/off group.

<%QueueMembersLoggedOnCount:EveryOne%>
<%QueueMembersLoggedOffCount:EveryOne%>

(professional and call center version only)


GlobalAllCallsList

Description:
Contains a list of all active outgoing calls

<%GlobalAllOutgoingCallsList%> Returns a list of all outgoing calls including the table headers
<%GlobalAllOutgoingCallsList/Body%> Returns a list of all outgoing calls without the table headers

<%GlobalAllIncomingCallsList%> Returns a list of all incoming calls including the table headers
<%GlobalAllIncomingCallsList/Body%> Returns a list of all incoming calls without the table headers

<%GlobalAllInternalCallsList%> Returns a list of all internal calls including the table headers
<%GlobalAllInternalCallsList/Body%> Returns a list of all internal calls without the table headers

<%GlobalAllCallsList%> Returns a joined list of all calls including the table headers
<%GlobalAllCallsList/Body%> Returns a joined list of all calls without the table headers

Hiding columns from view:
Set GlobalAllCallsListHiddenColumns1=1
Set GlobalAllCallsListHiddenColumns2=2
Set GlobalAllCallsListHiddenColumns3=3
Set GlobalAllCallsListHiddenColumns4=4
Set GlobalAllCallsListHiddenColumns5=5
Set GlobalAllCallsListHiddenColumns6=6
Set GlobalAllCallsListHiddenColumns7=7
Set GlobalAllCallsListHiddenColumns8=8
Set GlobalAllCallsListHiddenColumns9=9
Set GlobalAllCallsListHiddenColumns10=10

Show colored marker in front of line instead of setting background color
Set QueueListColorLayout=ColorLeftOnly

(professional and call center version only)


GlobalAllCallsList filtering

Description:
It is possible to filter the global calls list on users or groups. For filtering users and groups use the following syntax:

<%GlobalAllOutgoingCallsList:User:User1%>
<%GlobalAllOutgoingCallsList/Body:User:User1%>

Filters the user by name "User1", only "User1" will be displayed

<%GlobalAllOutgoingCallsList:NoUser:User1%>
<%GlobalAllOutgoingCallsList/Body:NoUser:User1%>

Filters the user by Name "User1", all users are displayed excepting "User1"

<%GlobalAllOutgoingCallsList:Group:Group1%>
<%GlobalAllOutgoingCallsList/Body:Group:Group1%>

Filters the group by name "Group1", only users from "Group1" will be displayed

<%GlobalAllOutgoingCallsList:NoGroup:Group1%>
<%GlobalAllOutgoingCallsList/Body:NoGroup:Group1%>

Filters the group by name "Group1", all users are displayed excepting users from "Group1"

(professional and call center version only)


Reload

Description:
Returns the refresh interval used in the html code. The refresh interval can be adjusted in the registry. See registry documentation for further details.

(standard, professional and call center version)


Parameters

Description:
Returns the complete parameter string collected from the browser url. This tag is used to pass parameters to other pages. Parameters that are added from the queue controller itself (like Action, UserName, GroupName, ...) are removed from that string.

Available tags:
<%Parameters%>
<%Parameters?%>
<%Parameters&%>

Parameters contains the complete and cleaned query string.
Parameters? contains the complete and cleaned query string with a leading "?". This can be added right behind any url. This string is empty if no parameters are found.
Parameters& contains the complete and cleaned query string with a leading "&". This can be added after other parameters. This string is empty if no parameters are found.

(standard, professional and call center version)


Date

Description:
Inserts the actual date

(standard, professional and call center version)


Time

Description:
Inserts the actual time

(standard, professional and call center version)


Custom tags

Description:
Custom tags can be used in the following way

Example 1:
/test.html?Testentry=2

<%Testentry%> is parsed as "2"

Example 2:
<%Key=Value%>

(standard, professional and call center version)


Server side includes

Description:
Server side includes allows including other files with often used code in another file. These includes are resolved before displaying the page in the browser. To include another file in any html file use the following tag:

<%Include:Filename%>

It the included file contains an include tag too, these includes are resolved as well. Recursive includes are recognized and produce a warning message in html code. If the include file cannot be found a warning message is displayed in html file.

(standard, professional and call center version)


Recursive tags

Description:
Recursive tags can be used to pass parameters to a tag within a page:

<%Set Tag1=<%Tag2%>%>

To set the inner tag (Tag2) add this parameter to the query of the calling url like http://localhost:81/File.html?Tag2=Value. Tag2 is replaced by the String "Value" and is then parsed the normal way. This recursive parsing is iterated only 1 level of depth and only parameters used in the calling url are resolved.

Example:
http://localhost:81/Groups.html?Group=Support
http://localhost:81/Groups.html?Group=Sales

In the groups.html file the tag can be something like this: <%QueueMembersLoggedOnOffList:<%Group%>%>. So calling this page with "Support" as parameter will display the something with all members of group "Support". Calling the same page with "Sales" shows "Sales" group instead. So there is no need to create to separate pages.

(standard, professional and call center version)


Log on/off from Phone or SwyxIt!/NetPhone Client

It is possible to log on and off from a group by using the Phone or SwyxIt!/NetPhone Client. There is a sample call routing "GroupLogonLogoff.rse" included in the scripts folder in the installation folder. This call routing can be imported in ECR editor. It is also possible to create own call routing scripts with the included ECR action blocks CallQueueAddMember and CallQueueRemoveMember.

CallQueueAddMember:

This block can be used to add a user to a group.

User name: Name of the user from SwyxWare/NetPhone that should be added to the group
Group name: Name of the group from SwyxWare/NetPhone the user should be added to
Max members: Maximum amount of possible members in that group
Logging: Enables or disables logging on a logon or logoff action. Log files are written in reports\logon groups subfolder in the installation folder
Acoustic notification: Enables or disables the acoustic notification for the logon process. This should be set to "0" if multiple blocks are chained

Annotations:
· A successful operation is confirmed with a positive confirmation sound (if not deactivated)
· A unsuccessful operation is confirmed with a negative confirmation sound (if not deactivated)
· If add operation exceeds the maximum amount of members the maximum number of members is announced an a negative confirmation sound is played (if not deactivated)
· If the user is already a member of this group a positive confirmation sound is played (if not deactivated)
· If the user is added to a group where he is not a member before he is added to this group anyway

CallQueueRemoveMember:

This block can be used to add a user to a group.

User name: Name of the user from SwyxWare/NetPhone that should be removed from the group
Group name: Name of the group from SwyxWare/NetPhone the user should be removed from
Min members: Minimum amount of possible members in that group
Logging: Enables or disables logging on a logon or logoff action. Log files are written in reports\logon groups subfolder in the installation folder
Acoustic notification: Enables or disables the acoustic notification for the logoff process. This should be set to "0" if multiple blocks are chained

Annotations:
· A successful operation is confirmed with a positive confirmation sound (if not deactivated)
· A unsuccessful operation is confirmed with a negative confirmation sound (if not deactivated)
· If remove operation exceeds the minimum amount of members the minimum number of members is announced an a negative confirmation sound is played (if not deactivated)
· If the user is not a member of this group a negative confirmation sound is played (if not deactivated)


ECR example

The included ECR example can be used in that way:

Import the GroupLogonLogoff.rse in GSE Editor into a new created ECR rule. Save this rule and activate it. This rule should be used on a dummy user in SwyxWare.

Group name: Name of group the calling user should be added to
Minimum members in group: Minimum amount of possible members in that group
Maximum members in group: Maximum amount of possible members in that group
Logging: Enables or disables logging on a logon or logoff action. Log files are written in reports subfolder in the installation folder

To log on a member to a group, just call the number of the call routing user and add a "1" to the dialed number. To log off the member again add a "0" to the dialed number

Example:
Dummy user has number 100. For logging on user with name "User1" to the group "Group1", set "Group1" as group name parameter in the ECR rule and call 1001 from the phone or SwyxIt! of "User1". To log off this user again, call 1000. This sample script always logs on and off the calling user. It is not possible to log on or off another user. To do so use the ECR action blocks used in this example script. With these action blocks it is also possible to add and remove users from groups by calling from an external phone.


Log on/off from website

It is also possible to add and remove users from a group in web front. The parameters used to set the group parameters are described in the HTML Templates chapter. In the web page the state is visible. The status column contains the logon state of the group (logged on / logged off) and the call state of this user.

To call the members view call the QueueMembers page or any copy of this page with customized parameters.
http://server:81/QueueMembers.html
http://server:81/QueueMembersSmall.html (used for SwyxIt! Webextension)

(professional and call center version only)


Logging to database

Per default the logon and logoff actions are logged to the Reports\Logon groups folder. The logging is performed by an ODBC text driver. This behaviour can be changed in the registry.

Logging to text file (default):
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set LogonGroupsConnectionString to "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\Programme\3iMedia Call Queue Controller for SwyxWare\Reports\Logon groups;Extensions=txt"
· Set LogonGroupsType to "Text"
· Restart queue controller service

Logging to a database:
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set LogonGroupsConnectionString to "Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Trusted_Connection=Yes;"
· Set LogonGroupsType to "SQL"
· Restart queue controller service
· Tested on Microsoft SQL Server 2000/2005

The tables should be created automatically in the database connected by the connection string. See windows event log for error messages concerning database operations

Annotation:
Using the connection string for SQL Server the SwyxWare/NetPhone account is used connecting to the database. This account needs sufficient rights to that database. Otherwise the following connection string can be used instead:
Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Uid=Username;Pwd=Password;


Description

SwyxWare/NetPhone writes CDR-files with call detail records into a text file or a database table. These CDR-files contain all information on incoming and outgoing calls. It exist only one CDR-record for each call. So some fields in the CDR-entry are overwritten during the call. So there is no way to get all the information needed to create reports.

To address this issue the queue controller writes its own CDR-files. In these CDR-files a new CDR-entry is created if the state of the call changes. State changes can be "queued", "initialized", "alerting", "onhold", "timeout", "rejected", "lost", "disconnected", "aborted".

So if one of these states differ from the previous state a new CDR-entry is written. The result is a complete call history for each call. These CDR-entries are only written for incoming calls, processed by the queue controller. Outgoing calls and direct calls to internal destinations are not logged.

The CDR-files are located in the reports subfolder in the installation directory. On default all CDR entries are written in TXT-files with a maximum size of 5MB. The CDR-files are numbered CDR0.txt, CDR1.txt, ... CDRx.txt.

The corresponding schema.ini contains the field structure for the CDR-files an must not be deleted

(standard, professional and call center version)


Fields

The following fields are used in the CDR-files. To be compatible with the Swyx-CDR-files not all of the fields are used but all fields are present.

CDRCallId CallID of the call
CDROriginationNumber Originating number in canonical format
CDROriginationName Originating name if resolved by SwyxWare
CDRCalledNumber Called number in canonical or internal format
CDRCalledName Called name, normally the name of the SwyxUser or ScriptUser
CDRDestinationNumber Number of destination or group the call is delivered to
CDRDestinationName Name of destination or group the call is delivered to
CDRStartDate Start date of call
CDRStartTime Start time of call
CDRScriptConnectDate Connect date of call (may differ from StartDate if call is delivered to a destination and times out before an announcement is played)
CDRScriptConnectTime Connect time of call
CDRDeliveredDate Delivery date of call (date for each delivery attempt)
CDRDeliveredTime Delivery time of call
CDRConnectDate Connect date of call
CDRConnectTime Connect time of call
CDREndDate End date of call
CDREndTime End time of call
CDRCurrency not used
CDRCosts not used
CDRState State of call ("queued", "initialized", "alerting", "onhold", "timeout", "rejected", "lost", "disconnected", "aborted", "voicemail")
CDRPublicAccessPrefix not used
CDRLCRProvider not used
CDRProjectNumber not used
CDRAOC not used
CDROriginationDevice not used
CDRDestinationDevice not used
CDRTransferredByNumber not used
CDRTransferredByName not used
CDRTransferredCallId1 not used
CDRTransferredCallId2 not used
CDRTransferredToCallId not used
CDRTransferDate not used
CDRTransferTime not used
CDRDisconnectReason not used
CDRConnectedNumber Connected number in canonical or internal format
CDRConnectedName Connected name if resolved by SwyxWare
CDRCustom0 Call forwarding destination
CDRCustom1 Call tag
CDRCustom2 Call duration in seconds (set on disconnect)
CDRCustom3 Name of the called user
CDRCustom4 Queue ID
CDRCustom5 Queue name
CDRCustom6 for future purposes
CDRCustom7 for future purposes
CDRCustom8 for future purposes
CDRCustom9 for future purposes
CDRCustom10 for future purposes
CDRCustom11 for future purposes
CDRCustom12 for future purposes
CDRCustom13 for future purposes
CDRCustom14 for future purposes
CDRCustom15 for future purposes
CDRCustom16 for future purposes
CDRCustom17 for future purposes
CDRCustom18 for future purposes
CDRCustom19 for future purposes
CDRCustom20 for future purposes
CDRTimeStamp timestamp of logging entry
CDRId unique identifier

(standard, professional and call center version)


Logging to database

Per default the CDR entries are logged to the Reports\CDR folder. The logging is performed by an ODBC text driver. This behaviour can be changed in the registry.

Logging to text file (default):
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set CDRConnectionString to "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\Programme\3iMedia Call Queue Controller for SwyxWare\Reports\Logon system;Extensions=txt"
· Set CDRType to "Text"
· Restart queue controller service

Logging to a database:
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set CDRConnectionString to "Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Trusted_Connection=Yes;"
· Set CDRType to "SQL"
· Restart queue controller service
· Tested on Microsoft SQL Server 2000/2005

The tables should be created automatically in the database connected by the connection string. See windows event log for error messages concerning database operations

Annotation:
Using the connection string for SQL Server the SwyxWare/NetPhone account is used connecting to the database. This account needs sufficient rights to that database. Otherwise the following connection string can be used instead:
Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Uid=Username;Pwd=Password


Description

The queue controller is aware of the logon state of any user in SwyxWare/NetPhone. For these users a log file can be written containing all logon and logoff activities.

(professional and call center version only)


Usage

The usage of this feature is very simple. For each group that should be monitored a MBR-File has to be created in the reports\logon system subfolder of the installation directory. The queue controller adds a second file to this MBR-file every 60 seconds. In that LOG-file the logon and logoff activities are logged.

Example:
An empty Everyone.mbr file has been placed in the logon system folder under the reports folder. A short time after the MBR-file is filled with the group members of the group "everyone". Further an Everyone.log file has been generated. If someone logs off from the everyone group in SwyxWare/NetPhone a log entry will be written to the log file.

The log file looks like this:
02.12.2008 20:52:46;User1;logged off;logged on
02.12.2008 20:53:38;User1;logged on;logged on
02.12.2008 21:13:41;User1;new;logged on
02.12.2008 21:15:56;User2;new;logged on
02.12.2008 21:22:10;User2;logged on;logged off

The log file contains the date and time, the username, the actual state of this user and the new state of the user.

Annotation:
For reporting purposes the everyone group should be monitored. Do not monitor groups where users log off and on by phone or web front end. This leads to the fact that logging off from a group also logs off the user completely because he is no longer in the monitored group. So always use group that are static for surveillance.


Logging to database

Per default the logon and logoff actions are logged to the Reports\Logon groups folder. The logging is performed by an ODBC text driver. This behaviour can be changed in the registry.

Logging to text file (default):
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set LogonStateConnectionString to "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\Programme\3iMedia Call Queue Controller for SwyxWare\Reports\Logon system;Extensions=txt"
· Set LogonStateType to "Text"
· Restart queue controller service

Logging to a database:
· Open registry editor regedit.exe
· Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare
· Set LogonStateConnectionString to "Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Trusted_Connection=Yes;"
· Set LogonStateType to "SQL"
· Restart queue controller service
· Tested on Microsoft SQL Server 2000/2005

The tables should be created automatically in the database connected by the connection string. See windows event log for error messages concerning database operations

Annotation:
Using the connection string for SQL Server the SwyxWare/NetPhone account is used connecting to the database. This account needs sufficient rights to that database. Otherwise the following connection string can be used instead:
Driver={SQL Server};Server=[ServerName];Database=[DatabaseName];Uid=Username;Pwd=Password


Description

The queue controller is able to trigger reports from 3iMedia Reporting services on a time based interval. To use this feature 3iMedia Reporting services have to be installed. This product needs to be licensed separately.

(professional and call center version only)


Usage

Description:
The following tags can be included in a html file to trigger an report from 3iMedia Reporting Services and show them inside a html page.

<%Set ReportDescription=...%> Description of the report as created in Reporting Services
<%Set ReportInterval=60%> Interval of report generation in seconds
<%Set ReportSize=60%> Maximum file size for report file, default is 524288 bytes. If the report file exceeds this size it is ignored
<%Set ReportSplitCharacter=;%> Split character in report file, default is ";"
<%Report:{1569ff00-016d-4267-ac5a-975e6dd38b9e}%> Report Id as created in Reporting Services

(professional and call center version only)


Registry Settings

Registry entry are located under HKLM\SOFTWARE\3iMedia\Call Queue Controller for SwyxWare

Name | Default | Type | Description
CallQueueReloadTimeout | 2 | REG_DWORD | Refresh timeout used for reloading the content of a html page
CDRConnectionString | Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\Programme\3iMedia Call Queue Controller for SwyxWare\Reports\cdr;Extensions=txt | REG_SZ | ODBC connect string for connecting to database
CDRConnectionTimeout | 5 | REG_DWORD | Connection timeout for connection to database
CDRFileIndex | 0 | REG_DWORD | Current index of CDR text file (not used if logging to SQL database is used)
CDRFileMaxSize | 5242880 | REG_DWORD | Maximum file size for CDR text file (not used if logging to SQL database is used)
CDRType | Text | REG_SZ | Type of logging, text for TXT-files, SQL for database logging
InstallPath | %ProgramFiles%\3iMedia Call Queue Controller for SwyxWare | REG_SZ | Installation folder
Port | 81 | REG_DWORD | Webserver port used for front end. If port 81 is already used by another application the port have to be changed
Webdir |  | REG_SZ | Path to the html files located on the webserver
ServiceUsername | Username entered on setup | REG_SZ | Username used for accessing SwyxWare/NetPhone services
ServicePassword | Password entered on setup | REG_SZ | Password for accessing SwyxWare/NetPhone services


Licensing

The installation package contains a 30 day trial version. To activate this version please contact license@3imedia.de. To activate the license we need the volume id of the hard disc the product is installed and the server name.

To determine the volume id perform the following steps:

· Start - Run
· Type "cmd"
· In the command line type "dir"

The output should look similar to that:

The volume id is the number in the upper part of the screenshot. In that case it's A835-3D36

After sending us the volume id together with company name and adress we deliver a license file with further informations. This license file has to be saved in the applicaion installation folder.

To check the current license information use http://localhost:81/License.html on the machine. The result shows information similar to these:


Version history

Version 3.03:

· Queue: Post processing time for queue delivery
· Queue: New alerting type for group delivery (delivers call to logged on members only)
· Queue: Queue controller starts on first call automatically
· Queue: Complete new custom delivery mode (can now be used in ecr with standard Swyx ECR blocks)
· Queue: New ecr block for setting and getting parameters from the queue (for custom delivery or to get information on exit)
· Queue: Self registration on startup, self repairing mechanism
· Webserver: Display post processing time in members list
· Webserver: Easier data file creation, data file is set automatically in calling file
· Webserver: Server side includes (include files in html code for easier html file administration)
· Webserver: Health-Check for Webserver, self repairing mechanism
· General: Possibility to separate Queue Controller from SwyxWare/NetPhone has been removed
· General: Complete new call routing architecture - all call control components are included in Call Queue Controller executable
· General: Some minor fixes
· Licensing: Introduced CallCenter version, limited Professional version to a maximum of 5 queues

Version 3.02:
· Webserver: Number resolution for outgoing calls against 3iMedia Metaservices
· Webserver: New tag <%Set QueueListColorLayout=ColorLeftOnly%> in html pages to display the background color only in front of the line
· Webserver: PickupDestination in URL can include the SwyxWare/NetPhone user name. So in SwyxIt! WebExtension %OwnName% can be used
· Webserver: New style sheets
· Webserver: Webserver included in QueueController, only one exe file
· General: Performance optimizations in Webserver and QueueController

Version 3.01:
· Webserver: New Http listener
· General: Some minor fixes

Version 3.00:

· Frontend: Live reporting, integration with 3iMedia Reporting Services
· Frontend: New design
· Frontend: Hide actions in calls list
· Frontend: Faster html parsing
· Frontend: Delete button for lost call

· Queue: Simple, Advanced Callback
· Queue: New delivery scenarios, "Custom", "SequentialAdvX", "RotaryAdvX"...
· Queue: Logging to database for groups logon and system logon states
· Queue: Changes on CDR, no time fields any more, empty fields are left null
· Queue: Assembly redirection to support multiple SwyxWare/NetPhone platforms

· General: Better logging for support
· General: Possibility to separate Queue Controller from SwyxWare/NetPhone