 From : Dave Leibold

Part of my work in the past consisted of linking hotel PBX billing systems to
another system that bills the hotel guests. A hotel PBX can send extension and
called number data to a "call accounting system" which determines costs of calls
and which extensions get billed for these calls. These costs can be billed to
the guest manually, or automatically to a "property management system" that sets
up guest billings and reservations.

In diagram form, a full setup might look like this:

                    HOBIC data from carrier
                               |
                               |
                               v
+-----------+  SMDR   +-----------------+   i/f   +---------------+
| Hotel PBX | ------> | Call Accounting | <-----> | Hotel Billing |
+-----------+         +-----------------+         +---------------+

SMDR (Station Message Detail Recording?) data is sent from the PBX. This
is usually a typical RS-232 data line that sends extension and calling
data from the PBX (but usually doesn't receive data back).

HOBIC is a special hotel billing feature offered by the telephone
carrier to send data on calls placed from the hotel through the
carrier's long distance service. This data is normally sent regarding
operator-assisted calls, such as person-to-person, card, collect or
other special cases. This allows the hotel to bill for calls placed
through the operator where the charge is not apparent from the dialing
sequence (the operator call could be no charge to the hotel, as in the
case of a card or collect call, or it could be extremely expensive in
the case of a person-to-person call).

The call accounting unit will handle the rating of calls using data
supplied by rate diskettes or cartridges. If the hotel has a computer
system that bills guests, an optional interface (i/f) link will send the
data necessary to bill the extension, and thus the room and guest. Such
data is sent through a typical serial RS-232 connection.

SMDR data formats change from one type of PBX to another. The i/f format
can also vary, but one format common to most systems sends the following
from the call accounting unit:

001A XYZ 09/21  2345 13:45 0008 $002.45 905-034-2657 L

The 001A is a sequence number than increments with each new call report.

The XYZ is a site identifier that is common to the type of call
accounting system used, or set up according to the hotel name. It
remains constant within a hotel site.

09/21 is the date (21st September)

2345 represents the extension number that was dialed (not necessarily
the room number, as some hotels set up extensions so that rooms below
the 10th floor require a 7 plus the room number).

13:45 is the time of the call

0008 is the duration of the call (8 minutes in this case)

$002.45 is the cost of the call as calculated by the call accounting
system

905-034-2657 is the dialed number, and the L following that is a flag to
indicate a local call (long distance usually doesn't have a flag, except
F to indicate an international call, perhaps).

The record is often sent down with a carriage return and/or line feed
ending the record, then the hotel system receiving a call record will
send an acknowledgement such as a control-F to indicate that the call
billing data was received at the other end; if there were errors in the
record data, a "negative acknowledgement" or "nak" is sent (usually
control-U) to order the call accounting system to send the billing data
again.

Systems that rate the calls at the hotel normally lack "answer
supervision" which indicates when the call is answered and billable
under regular long distance conditions. Thus, a hotel call accounting
system will usually take a "guess" as to when the call starts and bill
according to the guessed time on line. If the hook is off for a few
minutes, it's usually a good indication that a call is in progress. Of
course, if one rings a number and waits for 20 rings without answering,
there is a risk of a charge for getting no answer. Offering hotels
direct access to answer supervision would eliminate such inaccuracies.

