Protocol specification
This paper defines an advanced protocol for the exchange of white pages information between amateur radio bulletin board systems. It is based on earlier standards defined by W0RLI and F6FBB (commonly known as WP).
WPROT is backwards compatible to the WP-system of W0RLI and to the E/M-system used in the DieBox. /G and /I (guess and info) messages of WP are not supported.
The original WP protocol only supports exchange of home bbs data. The exchange of this data is unsecure (every user may send out any WP message), the timestamp does not include time of the day, and it is not compatible to the E/M-System by DieBox which is still in use. Its Y2K compatiblity is unknown (date in ``990407'' format).
The system of DieBox is very inefficient - only one info per mail can be sent. It supports ``remote erase'' of bulletins - a feature which was massivly missused in the past due to the lack of any internal security.
WPROT is compatible with both - E/M and WP, takes advantage of both protocols, and adds some extra functionality.
When forwarding data to neighbour BBS the sysop has to activate WPROT forwarding to the direct neighbours. The actual configuration depends on the implementation. (eg. BCM: $WP in fwd.bcm).
Systems supporting W-prot have a ``W'' in their SID. This letter indicates that WPROT messages shall be sent instead of old style WP messages. Note: If E/M messages are accepted or not is defined by having a ``D'' in the SID.
Example:
[BayCom-1.40P-AB1D1FHMRW$]
WPROT updates are sent out using mails addressed to W@<neighbour>. The board W is used because it is a ``hidden'' board on some systems (BayBox,DPBOX,DieBox).
The message may be arbitrary long. It consists of individual records, each one line long. Line are seperated by CR (as usual on Packet Radio). Characters are 8 bits wide, standard ASCII characters are used.
(Note: Only 7bit characters are defined in ASCII, the representation of any characters > 0x7f is undefined).
The length of some fields/lines (eg. name, qth) may be limited on some systems. If a record exeeds the local limitations it should be trashed.
Sample mail:
------ W < OE3DZW @OE1XAB $F29OE3DZW005 ------ WP Update R:990407/0944z @:OE3DZW.#OE3.AUT.EU [BayCom-Mailbox] Bcm1.40P D7 V 10 68 B OE3DZW.#OE3.AUT.EU 10 0 DL8MBT AX25 OE3DZW-8 923478289 1 5C M OE3DZW OE3DZW.#OE3.AUT.EU 749OE3DZW004 923471053 OE3DZW 1 "Dietmar" ? "?" 00 E WW OE3DZW F29OE3DZW007 F29OE3DZW006 OE3DZW 1 "#E"
For each record exactly one line is used. Any record has the following general format:
<checksum> <flag> <data>
The flag may be several characters long (max. 10 char), but usualy is just 1 character.
Sample line:
48 M OE3DZW OE3DZW.#OE3.AUT.EU F29OE3DZW004 919094319 OE3DZW 1 "Dietmar" ? "?" ^checksum ^flag ^data (depends on flag)
General rules:
Up to now the following flags are defined:
The flags V and M are mandatory for every system using this protocol. Other flags may be ignored on receive.
This flag is used to indicate the version of WPROT.
Format:
<version>
A version line should always be at the beginning of a WPROT message.
If the version is higher than the highest version supported by the local system the messages should not be processed. This proposal defines Version 1.0
This flag is used to send bbs-records.
Format:
<h-Adr> <sysop call> <com prot> <hw-adr> <timestamp> <hop>
This flag is used to send home bbs infos. (Mandatory)
Format:
<call> <home bbs> <bid> <timestamp> <origin bbs> <hops> <name> <zip> <qth>
This flag is used to send remote erase infos.
Format:
<flood> <bbs> <bid> <erase_bid> <call> <hops> <comment>
Example:
Original Mail:
------------ TEST < OE3DZW @WW $F29OE3DZW00 ------------ R:990215/1734z @:OE3DZW.#OE3.AUT.EU [BayCom-Mailbox] Bcm1.40mg From: OE3DZW @ OE3DZW.#OE3.AUT.EU To: TEST @ WW TEST < OE3DZW @WW $F29OE3DZW006 (..)
2F E WW OE3DZW F29OE3DZW007 F29OE3DZW006 OE3DZW 1 "#E"
Some records (messages with hop counter) shall be forwarded to other BBSes when
If the local BBS does not support a certain flag, messages may not be forwarded. E and B flags may not be supported, M must be supported.
The following conversions are possible:
WP <-> WPROT (flag M only)
E/M <-> WPROT (flags M,E)
WP <-> E/M (flag M only)
When converting from WP to WPROT or E/M the timestamp has to
be converted from YYMMDD (eg. 990215) to ANSI:
Sec: 00 Min: 00 Hours: 00 (GMT), -1 day (= -86400s) (!!)
When converting from WPROT or E/M to WP the timestamp has to be converted by cutting off hours/minutes and seconds.
Only messages received directly from the forward-partner (also WP style messages) should be processed.
Vienna, 1999-04-07