A larger .pdf image is here.
The Block Check Character shall be the modulo 2 binary sum of the characters in the transmission block excluding the SOH, i.e., the longitudinal parity including the BCC shall be made even.
Note inevitably that you will sometimes see the ending RS ETX BCC because implementers get it wrong; Gordon
Note of course that the BCC could have the value of a Control Character but does not then mean it is that control character. Sadly implementors sometimes forget that; Gordon
A source code clip for BCC is in Appendix C; Gordon
The header specifies the type of block, i.e., the type of transaction.
The headers are defined in the following table:
Call to pager
Sent by a station in make a paging call; Gordon
Response indicating call progress; Gordon
Request for Status Information; Gordon
Use the same content details as for the original Call to enable call matching within the paging system.; Gordon
Call to subscriber line
Request from the paging system for a call to a PBX extenson or elsewhere.; Gordon
Usually used with two-way speech handsets to make a telephone call from the handset; Gordon
Other information (to be specified by the paging equipment manufacturer).
Probably that last type should read "to be agreed between the paging equipment manufacturer and the PBX or computer manufacturer". I don't know if anyone actually uses it; Gordon
The contents and meaning of each record are defined in the following table. Note that data may have more characters, for example to indicate a type or subdivision in the data. In most cases, the character '0' is reserved for future expansion, e.g., '1' is not the same as '01' or '001' etc.
Ah, now I'm in trouble, no table support in SGMLtools, better use <screen> for now :-|
Data Record Type identifier Data Meaning ----------- ---------- ---- ------- Call Address '1' max 16 char Address of the pager or group of pagers. Display message '2' max 128 char The message to be displayed. Beep coding '3' '0' Reserved '1' to '9' System dependent (But should all do something; Gordon) Call type '4' '0' Reserved '1' Reset (cancel) call '2' Speech call '3' Standard call (Hmm, e.g. message, no speech; Gordon) Number of Transm. '5' '0' Reserved '1' 1 transmission '2' 2 transmissions etc. etc. Priority '6' '0' Reserved '1' Alarm (emergency) '2' High '3' Normal Call status '7' '0' Reserved '1' Busy '2' In Queue '3' Paged '4' Absent '5' Call terminated '6' Ack. from called party '7' Speech channel open '71' Speech channel open (paged) '72' Speech channel open (absent) '8' Fault indications System status '8' '0' Reserved '1' Transmitter failure
A block consists of one or more of the above data, beginning with a "block type" header, with other data in any sequence separated by Record Separators)
In most systems, many of the above data have predetermined default values. In these cases, only the information which is required to be different from the default value need be transferred, e.g., for a standard priority call there is no need to send a "standard priority" message.
Note that the above data should be supported so that any two systems connected together should work reasonably sanely without customisation. As an example, in Multitone we usually had 8 beep codes, so IIRC we mapped 1, 2, 3 and 4 to one-beep, two-beep, three-beeps, then 5, 6 and 7 to one-pip, two-pips and three-pips. Our 4-pip case would normally be special (alarm calls), so 8 and 9 were just wrapped back to one-beep and two-beeps Gordon;
Rather irritatingly there is no "I don't remember that call" status. I chose to return '5' Call Terminated, even though that sounds like a failure or abort, because if I don't remember the call, I cannot fairly claim it was "Paged". In Multitone's implementation, we remember a fair number of calls and I doubt there's really a problem Gordon.
'8' Fault Indications has no defined meanings. Personally I would supply a descriptive text as the data, e.g., "Transmitter Fault - high VSWR", though whether anything would use it is debatable. Gordon
There are ASCII diagrams here, but I can do much better. Please bear with me; Gordon