Explanation of the different ACD packet formats for RUBY.
Explanation of the T packet format:
The “T:” packet is a Topaz packet.
Topaz converts it to a CLI packet (“C:”) for Amethyst, Emerald, Ruby, etc.
T:5300|0216580644|||Incoming|Busy
T:5300||||Idle
The format I can tell you is basically:
Header “T:”
Extension
Extension is the extension that took the call, used to look up the agent code
Number
Number is the telephone number
Unknown
Unknown
Direction
Direction is “INCOMING”, “OUTGOING” or “UNKNOWN”
AgentStatus
AgentStatus is “BUSY” or “IDLE”. Ruby also shows “OUT” when an agent logged out.
Explanation of the ACD Information packet formats
All ACD information packets are pipe-delimited, there are 3 ACD packet formats:
The fields in the packet are as follows:
Header: “AC”
Parameters:
Type - A number from “3” to “5”
Date - Date is the date of the packet data. The format is dd-mm-yyyy
Time - Time is the time of the packet data in 24-hour format. The format is hh:mm:ss
Type-specific information varies depending on the number in the Type field.
Type-specific information
Type 3
These are call information packets.
Group: Group is the group number, if available. Ruby would normally determine the group from the extension.
This allows an interface to override Ruby’s group calculation. If it is blank, Ruby will calculate
the group from the extension.
Extension: Extension is the extension number.
Calls: Calls will always be 1 if there was a call. Ruby will always state this.
Unanswered: Unanswered is shown as 0 or 1, depending on whether or not the call was answered or not.
Ring Time: This is the ring time of the call in seconds.
Duration: This is the duration of the call in seconds.
Example
AC|3|31-12-2003|23:59:59|5|1234|1|0|5|180|
Where group is 5, calls are 1, unanswered is 0, ring time is 5 and duration is 180.
Type 4
These are real-time queue information packets.
Group: Group refers to the group number.
Calls in queue: The number of calls waitng to be answered.
Longest queue time: The longest time a particular call has been waitng in the queue.
Average queue time: The average time calls have been in the queue. Only calls currently in queue are used.
Abandoned calls: The number of calls abandoned sinced the last AC4 packet.
Queued Calls: The number of calls that have entered the queue since the last AC4 packet.
Total queue time: Displayed when a call leaves the queue. It represents the total time of calls that have left the queue.
ACD calls: The number of ACD calls that have enterd the system (Not always queued). Since the last AC4 packet.
Example
AC|4|31-12-2003|23:59:59|5|2|180|120|0|0|
AC|4|23-11-2007|15:53:16|5017|0|0|10|0|0|0|0|
Where group is 5, calls in queue are 2, longest queue time is 180 and average queue time is 120.
Type 5
These are fast real-time queue information packets. They’re used to update Ruby clients every second when calls are in the queue, as
opposed to the AC4 packets, which are sent every 10 seconds.
group: Group is the the group number.
Calls in queue: The number of calls currently in the queue.
Longest queue time: The queue time of the call that has been waiting the longest. This will be 0 if no calls are in the queue.
Example
AC|5|31-12-2003|23:59:59|5|2|180|120|
Where group is 5, calls in queue are 2, longest queue time is 180 and average queue time is 120.
Type 7
"AC" - ACD information header
"7" - packet type 7
date - date in format "dd-mm-yyyy"
time - time in format "hh:mm:ss"
group - the group number
queue time - the time in seconds that the call spent in the queue
abandoned - "1" (one) for abandoned calls, "0" (zero) for all other calls.
Example
AC|7|31-12-2003|23:59:59|1015|180|1|
There is a single AC7 packet for each call that enters the queue. All
fields must have data. The date and time controls which time period the
call appears under. This information is only used to build the queued
time and abandoned time reports, not the group report. RubyTAPI
normally sends this information, it ensures that the AC4 and AC7
packets match up (i.e. the abandoned reports will have the same number
of calls as the group report).
Explanation of CLI packet formats.
CLI packets are used to inform Ruby of calls at extensions. They include details of the call, including number,
destination, ACD, start time, etc.
Header: "C"
Extension: Extension is the extension that took the call, used to look up the agent code
Number: Number is the telephone number
Destination: Destination is the description of the telephone number
CallType: CallType is usually blank, but may have descriptions like "ACD"
Direction: Direction is "INCOMING", "OUTGOING" or "UNKNOWN"
AgentStatus: AgentStatus is "BUSY" or "IDLE". Ruby also shows "OUT" when an agent logged out.
LOGIN packet format.
LI|EXTENSION|extension|PABX group||
LI|LOGINEXT|login|PABX group|extension|
LI|LOGIN|login|Ruby group|extension|
Header: "LI"
Type: Can be either "EXTENSION", "LOGINEXT" or "LOGIN"
Extension: This is the telephone extension.
Login: This is the Windows login OR the agent's virtual extension OR the agent code.
PABX Group: This is the PABX group.
RUBY Group: This is the RUBY group.
When the Type is "LOGIN", Ruby will not do a lookup on the group, since the only thing that sends "LOGIN"
packets are the PCBoard and Kyanite, and they use Ruby's group numbers. When the Type is "EXTENSION" or
"LOGINEXT", Ruby will lookup the group on its lookup tables, since it may be a PABX group number that differs
from Ruby's group numbers.
LOGOUT packet format
LO|EXTENSION|extension|PABX group|idletime
LO|LOGIN|login|Ruby group|idletime
LO|LOGINEXT|login|PABX group|extension
Header: "LO"
Type: Can be one of "EXTENSION", "LOGINEXT" or "LOGIN"
Extension: This is the telephone extension.
Login: This is the Windows login OR the agent's virtual extension OR the agent code
PABX Group: This is the PABX group.
RUBY Group: This is the RUBY group.
Idle Time: This is the time since the agent logged off. It's obsolete for "LO|EXTENSION" packets, but
still supported for older PCBoards. Newer PCBoards use "LO|LOGIN". Idle time isn't
valid for LOGINEXT, since that always comes from the PABX.
When the Type is "LOGIN", Ruby will not do a lookup on the group, since the only thing that sends "LOGIN" packets are the
PCBoard and Kyanite, and they use Ruby's group numbers. When the Type is "EXTENSION"| or "LOGINEXT", Ruby will lookup the
group on its lookup tables, since it may be a PABX group number that differs from Ruby's group numbers.