============================================================================= Filename: HOWTO_BBS_Forwarding_Notes.txt Revised: 13-Apr-2018 at 09:41 by Michael E Fox, N6MEF ============================================================================= CONTENTS: General Notes JNOS Notes FBB Notes BPQ Notes Recommended Settings ============================================================================= General Notes ============================================================================= SID Letters ----------------------------------------------------------- A : Acknowledgements for personal messages B : FBB binary compressed protocol V0 supported (F must also be present) B1 : FBB binary compressed protocol V1 supported (F must also be present) B2 : Winlink Forwarding (F must also be present) (https://www.winlink.org/B2F) F : FBB basic ASCII protocol supported H : Hierarchical Location designators supported (must be supported) I : Null command (";") supported (useful for sending ID) M : Message identifier supported R : AA4RE extended reject responses X : XFWD Iwant/Ihave compressed batch forwarding supported (SS, SX, SY cmds) $ : BID supported (must be supported; must be the last character of the list) Less common: L : G1NNA compression supported S : AA4RE extended "S" commands supported T : Winlink ?? (Ref: BBS Specification, 2012, W0RLI) U : Winlink ?? (Ref: BBS Specification, 2012, W0RLI) ============================================================================= JNOS Notes ============================================================================= autoexec.nos ===================================================================== mbox fbb [0|1|2|3] ----------------------------------------------------------- Sets the global maximum forwarding protocol capability. mbox fbb 0: Plain ASCII WA7MBL-style forwarding; one proposal at a time mbox fbb 1: FBB basic ASCII forwarding; up to 5 proposals at a time For incoming connections: JNOS answers with "F" in the SID. For outgoing connections: -- If the remote BBS answers with "F" or greater capability in its SID, then JNOS sends "F" in its own SID. -- If the remote BBS answers with lower capability in its SID (no "F"), then JNOS matches the lower capability in its own SID. Note: Requires compiling JNOS with "#define FBBFWD" mbox fbb 2: FBB w/binary compression (version 0 or 1?) JNOS doesn't provide consistent FBB version information in the SID. For incoming connections: JNOS answers with "BF" in the SID. **** Note: This appears to be an error. If JNOS can actually do "B1F", then it should answer incoming connections with "B1F" when "mbox fbb 2" is set. This problem has been submitted to Maiko. For outgoing connections: -- If the remote BBS answers with "B1F" or greater capability in its SID, then JNOS sends "B1F" in the SID. -- If the remote BBS answers with a lower capability in its SID ("BF", "F", or no "F"), then JNOS matches the lower capability in its own SID. Note: Requires compiling JNOS with "#define FBBCMP" mbox fbb 3: FBB w/binary compression, plus Winlink forwarding For incoming connections: JNOS answers with "B2F" in the SID. For outgoing connections: -- If the remote BBS answers with "B2F" in its SID, then JNOS sends "B2F" in the SID. -- If the remote BBS answers with a lower capability in its SID ("B1F", "BF", "F", or no "F"), then JNOS matches the lower capability in its own SID. Note: This has been reported to cause problems with older versions (v7.0) of FBB that don't recognize "B2F" as a valid SID value. In those cases, see "mbox nob2f" below. Recent (2016) testing with a current version (v7.5f) of FBB shows it's not a problem. Note: Requires compiling JNOS with "#define B2F" mbox nob2f [] ----------------------------------------------------------- Added in JNOS 2.0f2 (http://www.langelaar.net/jnos2/J20f2/J20f2.README) mbox nob2f Lists callsigns with nob2f option set mbox nob2f Adds to the nob2f list There does not appear to be a command to remove a callsign from the nob2f list. Callsigns with "nob2f" set will never see a "2" in the JNOS SID. Assuming JNOS is configured with "mbox fbb 3", then: For incoming connections: JNOS will display "BF" in the SID when connects to JNOS. **** Note: This appears to be the same error as noted above in "mbox fbb 2". If JNOS can do "B1F", then it should answer incoming connects with "B1F". For outgoing connections: JNOS will display "B1F" in the SID when making outbound connections to . This is useful if using "mbox fbb 3" and forwarding with with FBB 7.00 stations that don't like the "2" in the JNOS SID. forward.bbs ===================================================================== tcp [cronly|telpac] ----------------------------------------------------------- Specifies a telnet connection. cronly: For compatibility with older xFBB (Linux FBB) implementations. Normally, a CR/NL (carriage return / new line; in hex: \x0d\x0a) is used at the end of each line in the telnet session. These are visible in a telnet session trace that shows the telnet data field (such as tshark or wireshark). Current (2016) xFBB versions (v7.5f) send CR/NL. But early xFBB versions evidently used only a CR (carriage return) at the end of each line. telpac: For compatiblity with Winlink2K Winlink2K seems to use the same CR-only behavior at the end of each telnet line. But it also does not like FA proposals. So using the "telpac" option causes JNOS to use CR-only at the end of each line, plus use FB proposals. ! = eschew FBB compression ----------------------------------------------------------- Removes "B" or "B1" or "B2" from the JNOS SID on outbound connections only. The SID displayed by JNOS on inbound connections remains unaffected. Example: If JNOS normally displays a SID with contains "B2FHIM$" or "B1FHIM$" or "BFHIM$" on outbound connections, then using "!" will cause the SID to contain only "FHIM$" when connecting to this forwarding partner. Must be placed after the connection route command. Example: tcp ! +Callsign : ... ============================================================================= FBB Notes ============================================================================= Forwarding Protocol Configuration: ----------------------------------------------------------- The FBB protocol levels are described here: http://www.f6fbb.org/protocole.html FBB basic ASCII protocol (SID letter “F”) FBB with binary compression v0 (SID letters “BF”) FBB with binary compression v1 (SID letters “B1F”) Global, INBOUND forwarding capability is defined by the "OK" value after "use compressed forwarding" in the fbb.conf file (init.srv in DOS/Win), which is describe here: http://http://www.f6fbb.org/fbbdoc/fmtinit.htm Parameter after "use compressed forwarding" gives the option between compressed protocols: OK (number) 1 = FBB compressed forwarding 2 = XFWD compressed forwarding 3 = Allow both FBB and XFWD Per partner, OUTBOUND forwarding capability is defined by the "N" value in forward.sys, which is described here: http://www.f6fbb.org/fbbdoc/fmtforwa.htm N (number) Assigns the standard forward protocol (MBL/RLI) for the specified BBS. 0 = WA7MBL-style plain ASCII forwarding (not documented on web page) 1 = FBB forwarding allowed 2 = FBB+BIN forwarding 4 = FBB+BIN+Resume 8 = XFWD Ex: N 15 = Sum of all protocols (default) These "N" values correlate to the FBB protocol levels as follows: (Based on observation of real sessions) "N 0" = Use old-style ASCII forwarding "N 1" = Use FBB basic ASCII protocol (SID letter "F") "N 2" = Use FBB with binary compression v0 (SID letters "BF") "N 4" = Use FBB with binary compression v1 (SID letters "B1F") The above fmtforwa.htm web page says that the "N" value is actually a sum and provides an example of "N 15" meaning "all protocols". And, based on the fact that the enumerated "N" values are powers of two, once can assume that the intent was to turn on different bits of a permission byte. Presumably then, one could allow certain modes and restrict others. For example, *IF* "N" actually acted like a sum, then: "N 2" would allow FBB+BIN forwarding, but not FBB forwarding "N 3" would allow both FBB+BIN and FBB forwarding But recent testing (2016) of current FBB software (v7.5f) shows that the N value acts as a maximum value. So, for example: "N 2" allows both FBB+BIN ("BF") and FBB ("F") forwarding "N 3" behaves the same as "N 2" "N 4" allows FBB+BIN+Resume ("B1F"), FBB+BIN ("BF") and FBB ("F") fwding "N 7" behaves the same as "N 4" Inbound connections to FBB: ----------------------------------------------------------- When connecting TO FBB from another BBS, FBB always displays a SID which contains its full/maximum capabilities as defined by the OK parameter for compression in the fbb.conf file. Outbound connections from FBB: ----------------------------------------------------------- When connecting FROM FBB to a remote BBS, FBB displays a SID which is the minimum of the capabilities defined by the "N" parameter in the forward.sys file and the capabilities shown in the remote BBS's SID. For example, consider a case where FBB is configured with "N 1" (SID letter "F") for a remote BBS forwarding partner. When FBB connects to the the remote partner, the remote BBS displays its SID first. Then FBB decides what it will display in its own SID. There are three possibilities: 1) The remote BBS displays lower capability in the SID (i.e. no "F"). In this case, the remote BBS can't do "F" but FBB can do "BF". The minimum capability is no "F", so FBB does not display "F" in its SID. As a result, forwarding is WA7MBL-style plain ASCII forwarding. 2) The remote BBS displays the same capability in the SID (i.e. "F"). In this case, both BBSs can do "F", so FBB displays "F" in its SID. As a result, forwarding is FBB basic ASCII. 3) The remote BBS displays higher capability in the SID (i.e. "BF" or "B1F"). In this case, the remote BBS can do "BF or "B1F" but FBB can only do "F". The minimum capability is "F", so FBB displays "F" in its SID. As a result, forwarding is FBB basic ASCII. ============================================================================= BPQ Notes ============================================================================= ============================================================================= Recommended Settings ============================================================================= JNOS <--> JNOS ----------------------------------------------------------- To get maximum efficiency on radio links, we want to use FBB with compression. On each JNOS system, set: mbox fbb 2 Or, if also fowarding with Winlink: mbox fbb 3 JNOS (2.0j.7v) <--> FBB (7.5f) ----------------------------------------------------------- JNOS will typically be set with "mbox fbb 2" for best JNOS to JNOS forwarding, or to "mbox fbb 3" if JNOS is also forwarding with Winlink. RF: Not tested Telnet: FBB can forward to other FBB BBSs using compression over telnet without a problem. But the use of compression ("BF" or "B1F") when forwarding between JNOS and FBB over telnet will result in protocol errors. The current thinking (Apr 2016) is that there may be a bug in the binary transport mode of JNOS's telnet, which ignore telnet control characters. So, the workaround is to force FBB basic ASCII forwarding: JNOS: Use "!" for the FBB station in forward.bbs to eliminate compression on JNOS to FBB connections FBB: Set "N 1" for the JNOS station in forward.sys to eliminate compression on FBB to JNOS connections JNOS <--> BPQ ----------------------------------------------------------- ============================================================================= END =============================================================================