Generic AutoClerk Interface to Call Accounting Systems
General
The AutoClerk interface to Call Accounting System uses the Holodex protocol to receive messages in HOBIC format.
This interface has been used successfully with, inter alia, the Tel-Electronics Inform-XL and XIOX Summa Four call accounting systems.
A vendor writing to this specification and requesting certification by AutoClerk must comply with the provisions of the document: "AutoClerk Testing and Certification Requirements".
Hardware
Communications are through a standard asynchronous RS-232 serial port on the AutoClerk server computer. The port acts as Data Terminal Equipment (DTE).
Neither XON/XOFF nor RTS/CTS handshaking is used. In particular, the RTS/CTS lines need not be present. It is common for DSR, DCD and DTR to be ganged and tied off. Typical wiring is:
AutoClerk, DB 25
================
1:FGND unused
2:TXD --> Transmit to CAS -->
3:RXD <-- Receive from CAS <--
4:RTS unused
5:CTS unused
+-- 6:DSR unused
| 7:SGND <-- Signal ground ---->
+-- 8:DCD unused
+--20:DTR unused
Framing and baud rate are:
-
8 data bits
1 stop bit
No parity
one of 1200, 2400, 4800 or 9600 baud
Message Framing
A call accounting message consists of printable ASCII characters framed as follows:
ENQ is HEX 05
ACK is HEX 06
NAK is HEX 15
STX is HEX 02
ETX is HEX 03
BCC is the exclusive OR of each charcter in the message,
including the ETX but excluding the STX.
The "<" amd ">" are not part of the message.
Call Message Data Description
A call message consists of ten fields as given below. Each field except the first is separated from the next by a single space. Within a field data is right justified; numeric data is filled to the left with zeros.
| Field | Length | Description |
|---|---|---|
| 1 | 3 bytes | Record number. Sequential, range 000..999. Wraps from 999 to 000. |
| 2 | 1 byte | Sequence letter [A..Z]. Increases each time field 1 wraps from 999 to 000. |
| 1 byte | Space as Field Separator | |
| 3 | 3 bytes | Three character manufacturer id. code, i.e. ATT |
| 1 byte | Space as Field Separator | |
| 4 | 5 bytes | Month and Day of call separated by a slash using leading zeros. e.g. 06/06 represents June 6. |
| 1 byte | Space as Field Separator | |
| 5 | 5 bytes | Room Number or extension from which the call was placed. No leading zeros. |
| 1 byte | Space as Field Separator | |
| 6 | 5 bytes | Time call was placed, 24-hour clock, in form HH:MM A colon separates the hour from the minutes. e.g. 06:23 represents 6:23am. |
| 1 byte | Space as Field Separator | |
| 7 | 4 bytes | Call duration in minutes. e.g. 0006. |
| 1 byte | Space as Field Separator | |
| 8 | 7 bytes | Cost of call in dollars and cents. The amount is preceded by "$". Leading zeros occur in both dollars and cents, which are separated by "." e.g. $003.02 represents 3 dollars and 2 cents. |
| 1 byte | Space as Field Separator | |
| 9 | 12 bytes | Phone number dialed. Domestic calls are formatted as a 10 digit number including area code, prefix, and 4 digit suffix separated by hyphens, e.g. 213-555-1212. The format of foreign calls is undefined. |
| 1 byte | Space as Field Separator | |
| 10 | 1 byte | Call type: L=Local F=Foreign, space=Long Distance |
Communications Protocol
This is the description of the communications protocol used to transmit a message from the call accounting system (the CAS) to AutoClerk (the PMS). If the transmission succeeds the CAS may optionally print a one line summary of the call record on its attached printer. If the transmission fails, the CAS will print a full call report on its attached printer.
The CAS tranmits an ENQ and waits for a short interval (the timeout interval) for an ACK. If an ACK is received within the timeout interval the CAS transmits the message and waits for a second ACK. If the second ACK is received within the timeout interval, the message has been transmitted sucessfully. If at any stage a NAK is received instead of an ACK, or if neither is received within the timeout interval, the CAS retries the transmission. After a minumum of two retries, making a total of three transmission attempts, the transmission fails, and the CAS prints a full call report.
E X A M P L E S
===============
1. Normal delivery of message to PMS.
CAS PMS
=== ===
ENQ ------------------------------------->
<------------------------------------ ACK
STX text ETX BCC ------------------------>
<------------------------------------ ACK
2. Busy response by PMS
CAS PMS
=== ===
ENQ ------------------------------------->
<------------------------------------ NAK
The PMS responds but cannot accept data at this time. The CAS will re-transmit an ENQ after a short interval until the PMS accepts the message, or until 4 NAK responses are received.
3. No response from PMS
CAS PMS
=== ===
ENQ ------------------------------------->
(wait 5 seconds) (no response)
ENQ ------------------------------------->
(wait 5 seconds) (no response)
ENQ ------------------------------------->
(wait 5 seconds) (no response)
The CAS will re-transmit an ENQ every 5 seconds until the PMS responds, or until 4 unsuccessful ENQs have been sent.
4. Negative response to data transfer.
CAS PMS
=== ===
ENQ ------------------------------------->
<------------------------------------ ACK
STX text ETX BCC ------------------------>
<------------------------------------ NAK
STX text ETX BCC ------------------------>
<------------------------------------ NAK
STX text ETX BCC ------------------------>
<------------------------------------ NAK
If the message is sill not successfully transmitted
after 3 attempts, the CAS will print the message on
its attached printer and proceed to the next message.
5. No response to data transfer.
CAS PMS
=== ===
ENQ ------------------------------------->
<------------------------------------ ACK
STX text ETX BCC ------------------------>
(wait 11 seconds) (no response)
If there is no response to the data message, the CAS
will re-initiate the ENQ sequence. If the message is
still not successfully transmitted after 3 attempts,
the CAS will print the message on its attached
printer and proceed to the next message.
