The Alphanumeric Paging Entry Protocol |
The Alpha Paging Entry Protocol The following is an excerpt from e-mail, received on 3/18/02, which corrects the previous erroneous information, that had been on this site for a long time, about who invented this protocol.
After further discussion, Mike and I believe that the meeting was probably with Bob Scwendeman at a Motorola facility in Florida. The other alpha-entry terminal manufacturer in those days was Novation. |
Recommended Sequence of call delivery from a small entry device |
Step | Remote entry device | Paging central | Comments |
1 |
Off hook Access DDD line Await dial tone Dial stored access number |
Ring Answer |
|
2 | Carrier up | Carrier up | |
3 | "<CR>" | "<CR>" is repeated at two second intervals until paging central responds with "ID=" at correct baud rate or until 3 transmissions have been completed. (This step exists to allow for possible future baud rate recognition). (All quotation marks or the symbols < > shown are used for notation in this document and are not transmitted). | |
4 | "ID=" | Request for ID returned within one second of receipt of <CR>. | |
5A |
(For automatic remote entry devices) "<ESC> SST" |
"<ESC>" signifies entry device intends to talk in automatic dump mode. "SS" is a set of two alphanumeric characters signifying a type of service to be accessed. (For a paging service where: Field 1 = "Pager ID" and SS will be sent as "PG".) Where T is a single alphanumeric character relating to the type of terminal or device attempting to send the message. T = "1" is a category of entry devices using the same protocol. The IXO and Novation devices are members of this category. T = 7, 9, 9 are reserved for wild card terminal or devices which may relate to a specific user's system. 6 alphanumeric character password (PPPPPP) here from automatic terminals. (Password is optional and may be different lengths in some systems). |
|
5M |
(For manual remote
entry.)
"M<CR>" |
Lack of <ESC>
at beginning of response to "ID" signifies manual operation where applicable.
Any manual operation is user defined after log-on. "M <CR>" can be replaced by any sequence ending in <CR> and not beginning with <ESC>. |
|
6 |
"<Message sequence>
<CR> <ACK> <CR>"
or
"<Message sequence> <CR> <NAK> <CR>" or
"<Message sequence> <CR> <ESC> <EOT> <CR>"
|
Log-on accepted
or Requested again
or Forced disconnect
A message sequence is defined as a series of short messages separated by <CR>'s. Message sequences are totally optional. |
|
7 | "<ESC> [p <CR>" | Message go ahead is sent when paging central is ready for new information. [Note: the "p" is in lower case. This has caused a lot of grief to some programmers.] | |
8 BLOCK #1 BLOCK #2 BLOCK #3 BLOCK #4 LAST BLOCK |
TRANSACTION
#1
"<STX> TRANSACTION #2 "<STX> "<STX> LAST TRANSACTION "<STX> |
or
"<Message sequence> <CR> <NAK> <CR>" or
"<Message sequence> <CR> <RS> <CR>" or
"<Message sequence> <CR> <ESC> <EOT> <CR>" |
A "block" is up to 256 characters in length, with up to 250 characters of info, plus 3 control characters and a 3 character checksum. The block carries one transaction (one set of all fields 1 through N) or a portion of a transaction. A block always carries an integral number of fields with their associated <CR>'s. It may be less than 256 characters to accommodate short transactions or the integral number of fields rule.
A field, with its associated <CR>,, may not exceed 250 characters. The <CR> field delimiter suggests <CR> may not be used within a field. The <ETX> is used if a given transaction (Fields 1 through N) ends within the block currently being transmitted. The <ETB> is used if the transaction is continued into the next block. No limit is established within the protocol itself regarding the number of transactions or the number of blocks or fields or blocks per transaction; however, a particular user system may have limits on either or both. Some systems may be limited to one block per transaction and one transaction per phone connection. Each checksum is computed by performing the simple arithmetic sum of the 7-bit values of all characters preceding it in that block. (This means that STX and ETB/ETX are included in the sum). The checksum is then the least significant 12 bits of this resulting sum. The checksum is transmitted as 3 printable ASCII characters having values between HEX 30 and HEX 3F (the characters 012345678 9:;<=>?). The most significant 4 bits of the sum are encoded as the 4 LSB of the second character and the least significant 4 bits of the sum are encoded as the 4 LSB of the third character. (See example in following table.) A normal paging system will have 2 fields only: Field 1 = Pager ID (normally up to 8 digits. May include function and check digit). Field 2 = Message. When a page is tone only, Field 2 will be empty. (Field 2 will typically be up to 80 alphanumeric or up to 24 numeric characters). The response to each block is one of four: <ACK> <CR> = OK, send next block.
or <NAK> <CR> = Checksum error, send latest block again.
or <RS> <CR> = Abandon current transaction and go to next. RS may occur when the checksum is OK, but the current transaction violates a system rule. At the option of the system, it may occur in other cases.
<ESC> <EOT> <CR> = Begin disconnect.
Any of the responses may have an optional message sequence before them, although the system designer should understand the consequences to the user with all planned entry devices. It is expected that many systems will save their message sequence responses until immediately before disconnect. For some entry devices, it may also be desirable that messages describing non checksum errors associated with a particular transaction in a "PG" service will begin with the letters "ID" followed by the contents of field 1 for that transaction. |
9 | "<EOT><CR>" | After reception of an <ACK> or <RS> for the last transaction in a given service, the entry device sends <EOT><CR> meaning there are no more transactions remaining in this service. | |
10 | "<Message sequence> <CR> <ESC> <EOT> <CR>" followed by dropping of carrier and hang up. |
Optional message sequence before <ESC> <EOT> below denotes degree of acceptability of information in all transactions on this service.
<ESC> <EOT> = Begin disconnect. |
|
11 | Drops carrier and hangs up. |
Note: There is no revision number given because this is the original iXO protocol before it was known as TAP. This listing is from a handout sheet given to me many years ago at a Telocator Show by John McGovern who was the V.P. of sales at iXO. There have been several revisions to the TAP protocol over the years. This version should work fine on almost all systems -- it just doesn't have some of the newer enhancements. The latest official version of the TAP protocol (version 1.8) is available on the web -- complements of Motorola. You will be better off using the official version. U.S. ASCII Table If you are implementing the TAP protocol, you may need to refer to the ASCII table. This table shows the decimal and hex equivalent for each ASCII character. |
Home Page | Directory | Consulting | Newsletters | Free Subscription | Products | Reference | Glossary | Send e-mail |