**********************************************************************
FTSC                             FIDONET TECHNICAL STANDARDS COMMITTEE
**********************************************************************

Publication:    FSP-1005
Revision:       6
Title:          Zone 2 nodelist flags
Author:         Frank Ellermann, 2:240/5815.1
Revision Date:  27 November 1997
Expiry Date:    27 November 1999
---------------------------------------------------------------------
Contents:
                1. Introduction
                2. FTS-0005 flags
                3. User flags
                4. Approved zone 2 user flags
                5. Flag implications
                6. Invalid combinations
                7. Baud rate field
                8. Thanks to...
---------------------------------------------------------------------


1. Introduction
---------------
   This document informs about known differences of FidoNet zone 2
   nodelist flags from FTS-0005.003.  The ultimate sources for these
   informations are the current Z2 nodelist epilogue and the setup
   for flag corrections at Z2C, but it may be difficult to get these
   sources for readers in other zones.

|  All changes since version 5 are marked by a bar at the left edge.
   It is (again) possible to list V32b and V42b in zone 2, upper case
   V32B or V42B is not more enforced.  Currently new flags needed for
   IP-connectivity are under test in zone 2 (only internally), e.g.

   ->   VM      VModem, default port  3141, dummy country code 000-
   ->   IFC     IFCico, default port 60179, dummy country code 000-
   ->   BND     BinkP,  default port 24544, dummy country code 000-
   ->   IP      general IP connectivity,    dummy country code 000-
   ->   TELN    Telnet                      dummy country code 000-


2. FTS-0005 flags
-----------------
   The following flags are used as specified in FTS-0005.003:

        CM      Continuous Mail, node accepts mail 24 hours a day
        MO      Mailer Only (no BBS)
        LO      Listed Only, node accepts calls only from listed
                node numbers in the current FidoNet nodelist

   ->   V21     ITU-T V21      300 bps full duplex (obsolete)
        V22     ITU-T V22     1200 bps full duplex (obsolescent)

|  In zone 2 the value 1200 in the baud rate field implies V22.  Only
|  two nodes not supporting at least V22bis, ISDN, or IP still exist
|  in the zone 2 segment.  Flag V22 is almost obsolete, and V21 is
|  already removed in Z2.  Both flags should be dropped from the next
|  FTS-0005 version.

        V29     ITU-T V29     9600 bps half duplex (obsolescent)
   ->   V33     ITU-T V33    14400 bps half duplex (obsolete)

   V33 cannot be used in connecting FidoNet nodes over public dial-up
   lines and is most probably a historical error in FTS-0005.  A very
   similar argument is applicable on V29, all nodes flying this flag
   support at least V32.  Today only one node in Z2 still flies V29,
   and V33 is already removed in Z2.  Both flags should be dropped in
   the next FTS-0005 version.

        V32     ITU-T V32     9600 bps full duplex
        V32b    ITU-T V32bis 14400 bps full duplex (implies V32)
|       V34     ITU-T V34    28800 bps full duplex (33600 bps option)

   FTS-0005 specifies V32b and V42b (capital V and small b), current
   nodelist practice in FidoNet shows all combinations of small and
   capital letters for flags.  This was no problem before FSC-0062
   introduced case-sensitive flags.  The best solution is to stick to
   the current practice and treat all old flags as case-insensitive.

        H96     Hayes V9600
        HST     USR Courier HST up to 9600  (implies MNP)
        H14     USR Courier HST up to 14400 (implies HST)
   ->   H16     USR Courier HST up to 16800 (implies H14 and V42b)
        MAX     Microcom AX/96xx series (almost obsolete)
        PEP     Packet Ensemble Protocol
        CSP     Compucom Speedmodem
   ->   ZYX     Zyxel series 16800 bps (implies V32b and V42b)
   ->   V32T    V.32 Terbo   19200 bps (implies V32b)
        VFC     V.Fast Class 28800 bps (should imply V32b and V42b)

   If a flag directly or indirectly implies other flags, then these
   other flags are not shown in a nodelist entry, because this would
   be redundant.  Unfortunately the rules for redundancies in zone 2
   and FTS-0005 are different.  Zone 2 continued to avoid redundancy
   with most "new" flags, but FTS-0005.003 specified no redundancies
   for "new" flags like ZYX, H16, V32T, or VFC.  "New" flags in this
   context are flags approved by FidoNet International Coordinators
   since 1989, when FTS-0005.TXT, the predecesssor of FTS-0005.003,
   was published.

   For details see the chapter "implications" below, for now only
   note, that in zone 2 H16 implies V42b, ZYX implies V32b and V42b,
   and V32T implies V32b.

   Zone 1 and zone 2 have introduced a user flag Z19 approved by the
   corresponding Zone Coordinator.  User flags are discussed later,
   for now only note, that in zone 2 ZYX is specified as Zyxel 16k8,
   while FTS-0005.003 not knowing Z19 specifies ZYX as generic flag
   for all Zyxel protocol speeds.

   Today only one node in FidoNet still really flies MAX, this flag
   is obsolete and should be dropped from FTS-0005.  The flags CSP
   (7 nodes worldwide) and H96 should be marked as obsolescent.

|       MNP     Microcom Networking Protocol 2-4 error correction
|       V42     ITU-T LAP-M error correction w/ fallback to MNP 2-4
|       V42b    ITU-T V.42bis BTLZ data compression over V.42 LAP-M

   The next version of FTS-0005 should adopt the better V42b and
   MNP definitions of the zone 3 nodelist epilogue.  FTS-0005.003
   specifies an implication of V42 by V42b, but the exact meaning of
   the flag MNP is unclear.  Most probably this flag was meant to
|  indicate support of MNP 2-4, and in this sense V42 implies MNP.

|  Note the difference between the flag V42b (implying V42) and the
|  standard V.42bis (not necessarily based on LAP-M as data link
|  layer protocol), without this difference the flag V42b would be
|  ambiguous for combined modem and ISDN node entries.

        MN      No compression supported in insecure inbound

        XA      Bark and WaZOO file/update requests
        XB      Bark file/update requests, WaZOO file requests
        XC      Bark file requests, WaZOO file/update requests
        XP      Bark file/update requests
        XR      Bark and WaZOO file requests
        XW      WaZOO file requests
        XX      WaZOO file/update requests

   These flags are equivalent in FTS-0005 and in the zone 2 segment.

        Gx..x   Gateway to domain 'x..x'

   Valid values for this flag are assigned by the Fido International
   Coordinator, FTS-0005.003 explicitly mentions GUUCP.  In zone 2
   only GUUCP gateways are flagged.

        #01     Zone 5 mail hour (01:00 - 02:00 UTC) w/ Bell 212A
        #02     Zone 2 mail hour (02:30 - 03:30 UTC) w/ Bell 212A
   ->   #08     Zone 4 mail hour (08:00 - 09:00 UTC) w/ Bell 212A
        #09     Zone 1 mail hour (09:00 - 10:00 UTC) w/ Bell 212A
        #18     Zone 3 mail hour (18:00 - 19:00 UTC) w/ Bell 212A
        #20     Zone 6 mail hour (20:00 - 21:00 UTC) w/ Bell 212A

   The variants !01, !02, !08, !09, !18, and !20 indicate missing
   Bell 212A support.  In zone 2 #02 or !02 would be obviously
   redundant.

   Today less than four 1200 modems (V22 or Bell 212A) are listed.
   A future version of FTS-0005 should drop !mn variants together
   with V21 and V22 flags.

   Further most non-CM systems flagging #mn or !mn today probably
   want to show additional online times instead of additional mail
   hours.  As soon as FSC-0062 flags have been approved by the IC
   or adopted as FTS by the FTSC, the following version of FTS-0005
   should mark #mn as obsolescent and recommend the more flexible
   FSC-0062 flags (see below).


3. User flags
-------------
   An example for one of several problems in zone 2 with user flags:

        ...,U,Z19,V110H,V120L,V120H,X75,ENC,NEC

   These flags indicate a modern Zyxel ISDN-modem and two additional
   user flags ENC and NEC.  This possible user flags string contains
   34 characters, but at most 32 characters are allowed in FTS-0005.

        ...,U,Z19,V110L,V110H,X75,ISDNA,ISDNB,ISDNC

   During the period for the replacement of old by new ISDN flags
   (several months !) many nodes listed both old and new flags for
   maximal compatibility, and no problems with nodelist compilers
   or mailers caused by too long user flags strings were reported.

   Therefore the length limit in FTS-0005 is probably unnecessary
   and at least inconsequent:  Other nodelist fields like the system
   name are unlimited, so why only restrict the user flags string ?
   To help developpers an upper limit of e.g. 255 characters for a
   nodelist line and 63 characters for fields 3 to 6 would be more
   useful.

   The next problem with user flag strings as specified in FTS-0005
   is their introduction by the letter U with no comma following:

   Nodelist compilers could parse ...,UISDN,USR in user flags ISDN
   and USR.  But USR cannot be approved as "real" flag, because the
   combination ...,USR,UISDN would then be parsed in SR and UISDN.

   Other side effects of the FTS-0005 specification are additional
   difficulties in finding flags.  Almost all flags are separated
   by a comma, only the first user flag can be an exception to this
   simple rule.  If the order of user flags has no meaning, then...

        ...,UV120L,V120H
        ...,UV120H,V120L

   ... are equivalent.  A "simple" solution of this problem could be
   to treat UV120L as synonym for V120L, and UV120H as synonym for
   V120H.  Similar problems show up, if user flags are counted, etc.

   Obviously a nodelist compiler looking for user flags has always
   to consider the case "user flag separated by comma".  In zone 2
   this idea was simply extended to the first user flag:

   All flags are separated by commas.  Flags not yet approved by the
   International Coordinator or the FTSC (i.e. user flags only used
   experimentally or locally) are separated by a new pseudo flag U.

   ->   U       pseudo flag to the left of at least one user flag

   All flags following this pseudo flag U are user flags, all flags
   before this pseudo flag are "real" flags specified in FTS-0005 or
   approved by the International Coordinator.

   Because this definition should be compatible with any reasonable
   software implementation based on FTS-0005.003, and simplifies the
   handling of user flags significantly, a future FTS-0005 version
   will hopefully adopt it.


4. Approved zone 2 user flags
-----------------------------
   In zone 2 user flags have to be approved by the Zone Coordinator.
   Currently the following zone 2 user flags exist:

   ->   V110L   ITU-T V.110 19k2 async 'Low'    (former ISDNA)
   ->   V110H   ITU-T V.110 38k4 async 'High'   (former ISDNB)
   ->   V120L   ITU-T V.120 56k6 async, N1 = 259, W = 7, modulo 8
   ->   V120H   ITU-T V.120 64k  async, N1 = 259, W = 7, modulo 8
   ->   X75     ITU-T X.75 SLP (single link procedure),
                64kbit/s B channel; layer 2 max. framesize N1 = 2048,
                window size W = 2, frame numbering modulo 8;
                layer 3 transparent (no packet layer)
   ->   ISDN    Other configuration, used only if none of above fits

   These ISDN flags follow the specification in FSC-0091.

   ->   Tyz     Online time flags as specified in FSC-0062

   The flag Tyz is used by non-CM nodes online not only during ZMH,
   y is a letter indicating the start and z a letter indicating the
   end of the online period as defined below (times in UTC):

        A  0:00,  a  0:30,   B  1:00,  b  1:30,   C  2:00,  c  2:30,
        D  3:00,  d  3:30,   E  4:00,  e  4:30,   F  5:00,  f  5:30,
        G  6:00,  g  6:30,   H  7:00,  h  7:30,   I  8:00,  i  8:30,
        J  9:00,  j  9:30,   K 10:00,  k 10:30,   L 11:00,  l 11:30,
        M 12:00,  m 12:30,   N 13:00,  n 13:30,   O 14:00,  o 14:30,
        P 15:00,  p 15:30,   Q 16:00,  q 16:30,   R 17:00,  r 17:30,
        S 18:00,  s 18:30,   T 19:00,  t 19:30,   U 20:00,  u 20:30,
        V 21:00,  v 21:30,   W 20:00,  w 20:30,   X 23:00,  x 23:30.

   For example TuB shows an online period from 20:30 until 1:00 UTC.

   ->   Z19     Zyxel series 19200 bps (implies ZYX)
   ->   X2C     x2 client w/ 56000 bps (should imply V34 and V42b)
   ->   X2S     x2 server w/ 64000 bps (should imply V34 and V42b)

   ->   K12     Systems offering all educational K12-conferences
   ->   ENC     The node accepts inbound encrypted mail

   ->   NC      Network Coordinator (only if the NC is not the host)
   ->   NEC     Net Echomail Coordinator    (at most one per net)
   ->   REC     Region Echomail Coordinator (at most one per region)

   Redundant AKAs used to indicate echomail coordination in zone 2
   are no longer permitted.  One *EC flag is valid for all AKAs of
   a given sysop.


5. Flag implications
--------------------
   Flag implications directly or indirectly specified in FTS-0005:

        HST     => MNP
        H14     => MNP HST
        H16     => MNP HST H14
        V42b    => V42 (MNP ?)
        V32b    => V32

   Flag implications specified in the zone 2 nodelist epilogue:

        HST     => MNP
        H14     => HST MNP
   ->   H16     => V42 MNP V42b H14 HST
   ->   V42b    => V42 MNP
   ->   ZYX     => V42 MNP V42b V32 V32b
   ->   Z19     => V42 MNP V42b V32 V32b ZYX
        V32b    => V32
   ->   V32T    => V32 V32b

   ->   V110L   => ISDN
   ->   V110H   => ISDN
   ->   V120L   => ISDN
   ->   V120H   => ISDN
   ->   X75     => ISDN

   The latter ISDN flag redundancies are a consequence of FSC-0091.
   Maybe some of the following implications could be added in zone 2:

        VFC     => V32 V32b MNP V42 V42b
        X2C     => V34 MNP V42 V42b
        X2S     => V34 MNP V42 V42b

   Flag implications (i.e. not listing redundant flags) have several
   advantages:  Some old nodelist tools are unable to handle too long
   lines.  Old flags like HST, MNP, V42, or V32 vanish automatically,
   if they are implied by H16, V42b, V32b, or better.  Redundancies
   defined globally for the whole nodelist help to avoid flag errors.


6. Invalid combinations
-----------------------
   All file request flags exclude each other (at most 1 is possible):
   XA, XB, XC, XP, XR, XW, and XX.  For flag checkers only supporting
   implications a good approximation based on FTS-0005 definitions is

|       XA      => XW XR XP XB XC XX,
|       XB      => XW XR XP,
|       XC      => XW XR XX,
|       XR      => XW,
|       XX      => XW.

   Further X2C cannot be combined with X2S, and FSC-62 Tyz-flags are
   not possible with CM.  Also Tyz with y = z is of course incorrect.

   Some modem protocols are "proprietary" in a sense, that all today
   known modems can fly at most one of the corresponding modem flags:
   MAX, CSP, H96, PEP, HST, H14, H16, ZYX, and Z19.

   A few "old" modem protocol flags are known to be invalid if used
   together with "new" protocol flags, i.e. each "old" flag excludes
   all "new" flags and vice versa:

   "Old" in this sense are MAX, CSP, H96, HST, H14, V32, and PEP.
   "New" in this sense are X2S, X2C, V34, VFC, V32T, and H16.

   For Z2 add ZYX as "old" and Z19 as "new".  A simple REXX script to
   test some known inconsistencies is available as NLSCHECK.REX at
   the site of the author.  While erroneously listing redundant flags
   causes no harm, other errors like combining V34 with HST or Z19
   with H16 indicate serious problems, which can result in connection
   failures or other damage.


7. Baud rate field
------------------
   The baud rate field 7 in the nodelist as specified in FTS-0005 is
   nearly useless today:  Except from a few remaining 1200 and 2400
   nodes almost all nodelist entries show either 9600 for all modem
   protocols better than V22bis or 300 for ISDN (or IP) only nodes.
   No more V21 or Bell 103 modems are listed for more than 2 years.

   The baud rate values 19200 and 38400 specified in FTS-0005.003
   have not been used in the FidoNet nodelist.  So all a reasonable
   nodelist compiler can do today, is treat 300 as indicator for
   ISDN or IP only, and treat unknown or missing values in field 7
   like 9600.

   A new meaning for field 7 as speed field could be really useful.
   An example is ZYX, if we would have 16800, 19200, 28800, and 33600
   as speed values, then their combination with ZYX is all we need
   technically, Z19 would be unnecessary.  Another example is HST,
   flags H14 and H16 are unnecessary, if HST is combined with 9600,
   14400, 16800, 28800, or better.  Variants of PEP could be shown in
   the speed field without new flags.  "Enhanced V32.terbo" could be
   shown by 21600.

   Most important:  V34 may have the famous bug not allowing connects
   from new "V34+", unless the caller disabled symbol rate 3429.  If
   "V34+" is indicated by speed 33600 or better, then an appropriate
   setup for all kinds of V34 connects is possible.

   A future version of FTS-0005 hopefully allows the following speed
   values in field 7:

          300   reserved for ISDN or IP only (for historical reasons)
         1200   obsolete (either V.22 in Z2 / Z3, or Bell 212A in Z1)
         2400   implies V22bis, qualifies as least common denominator
         9600   default, used with PEP, V32, HST, H96, (CSP), (MAX)
        12000   rare variant of V32
        14400   used with V32b or HST (obsoleting H14)
        16800   used with ZYX  or HST (obsoleting H16)
        19200   used with V32T or ZYX (obsoleting Z19)
        21600   rare variant of V32T (no "H21" needed)
        28800   used with VFC or V34
        33600   used with V34 (no V34+ or V34b needed)
|       56000   used with X2C, X2S, or V.PCM

   Allowing more than 12 speed values or allowing speed values above
   64000 could break existing software (MakeNL, V7).  Therefore the
   next step in FidoNet could be, to add 12000, 14400, 16800, 19200,
   21600, 28800, 33600, and 56000, where 19200 is already specified
   in FTS-5 since 1989.


8. Thanks to...
---------------
   Ben Baker            St. Louis nodelist format
   Rick Moore           FTS-0005.TXT
   David Nugent         FTS-0005.003 and NLTOOLS
   Jonny Bergdahl       ERRFLAGS 2.6
   Ward Dossche         Zone 2 nodelist epilogue
   David J. Thomas      FSC-0062.003 (FRL-0062)
   Jan Ceuleers         FSC-0075.001 (FRL-0075)
   Arjen Lentz          FSC-0091.001 (FRL-0091)
   Leonard Erickson     CHECKNL 2.14 and many discussions in NET_DEV
   Jim Barchuk          LNDL 2.7
   Marius Ellen         FASTV7 2.04
|  Jan Vermeulen, Ian Smith, Gisbert Rudolph, Carlos Fernandez Sanz,
|  Tom Schlangen, Craig Ford, Pedro Lima, and many others...


**********************************************************************