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

    Publication:    FSP-1010
    Revision:       1
    Title:          Via kludge specification
    Author:         Colin Turner,
                    Joaquim Homrighausen
    Revision Date:  26 April 1999
    Expiry Date:    26 April 2001
    ----------------------------------------------------------------------
    Contents:
                    1. Current practice
                    2. Kludge specification
                    3. Examples
                    4. Deprecated formats
    ----------------------------------------------------------------------

    Status of this document
    -----------------------

      This document is a Fidonet Standards Proposal (FSP).

      This document specifies an optional Fidonet standard protocol for
      the Fidonet community, and requests discussion and suggestions for
      improvements.

      This document is released to the public domain, and may be used,
      copied or modified for any purpose whatever.

    Abstract
    --------

      Current practice for Fidonet Technology Network (FTN) NetMail
      messages is to track their progress through the network and
      programs by using control lines. These control lines are in
      the form of a kludge named Via.

    1. Current practice
    -------------------

      As NetMail messages are routed through a FidoNet Technology Network
      or as they are processed on a system, Via control lines are used to
      track their progress.

      A single NetMail message may have any number of Via control lines.

      The Via control lines are stored in a block which starts after any
      message text. New Via lines should be added to the end of the block
      separated from the preceding control line by a single ASCII <CR>
      character (0Dh).

      A Via control line is typically added:

        when a netmail packer packs the NetMail for transmission to
        another system;

        when a netmail tracker inspects a NetMail.

    2. Kludge specification
    -----------------------

      The Via control line is formatted as a number of fields, separated
      by single space (20h) characters, as follows

        ^AVia: <FTN Address> @YYYYMMDD.HHMMSS[.Precise][.Time Zone]
        <Program Name> <Version> [Serial Number]<CR>

      Where ^A denotes the ASCII <SOH> (01h) character, and <CR> is the
      character (0Dh).

      The fields are defined as follows:

      FTN Address
      -----------

      This field is mandatory and is the FidoNet Technology address of
      the system inserting the kludge. This may or may not include a
      domain indicator.

      @YYYYMMDD.HHMMSS
      ----------------

      This field is mandatory and consists of a time stamp. This is the
      time at which the stamp was placed. The subcomponents are

      YYYY, the calendar year, in full four digit, decimal form;
      MM,   the calendar month, in the range 01 to 12, this must be a
            zero padded, two digit decimal number;
      DD,   the day of the month, in the range 01 to 31, this must be a
            zero padded, two digit decimal number;
      HH,   hours, in the range 00 to 23, this must be a zero padded,
            two digit decimal number;
      MM,   minutes, in the range 00 to 59, this must be a zero padded,
            two digit decimal number;
      SS.   seconds, in the range 00 to 59, this must be a zero padded,
            two digit decimal number.

      Precise
      -------

      This field is optional and takes the form of extra precision in the
      time stamp.

      If this field is present:

        it must begin with a single period character;

        this period must be followed by one or more decimal digits;

        the field has ended when another period or space is encountered;

        each decimal digit in the field following this character
        represents the time of the via line in fractions of a second,
        such that the the first digit represents tenths of a second,
        the second digit represents hundreds of a second and so on.

      Time Zone
      ---------

      This field is optional, and must be a short, widely accepted
      alphabetical abbreviation of the time zone that the time stamp
      in the Via line pertains to.

      The use of various Time Zone values is deprecated, implementations
      should attempt to convert the timestamp in the kludge to Universal
      Time (GMT or UTC) and use the "UTC" Time Zone indicator, where
      possible.

      The Time Zone field may only be ommitted when it is not possible
      for the implementation to determine the correct offset from UTC,
      and in this case the time stamp must represent local time on the
      generating system.

      Program Name
      ------------

      This field is mandatory, and must follow the format used in the PID
      control line (detailed in FSC-46).

      Version
      -------

      This field is mandatory, and must follow the format used in the PID
      control line (detailed in FSC-46).

      Serial Number
      -------------

      This field is optional, and must follow the format used in the PID
      control line (detailed in FSC-46).

      Note that unlike many kludges, the "Via" text of the kludge itself
      is in mixed, and not all upper case.

    3. Examples
    -----------

      Example of valid usage are

      ^AVia 2:443/13 @19990305.043212.UTC O/T-Track+ 2.69
      ^AVia 2:443/13@fidonet @19980331.231202.UTC FrontDoor 2.32.mL
      ^AVia 2:443/13.0 @19990101.002102.UTC FastEcho 1.46.1 21321
      ^AVia 2:443/13 @19990323.230132 FakeMail 1.2
      ^AVia 2:2480/18@fidonet @19990307.182128.47.UTC ITrack+ 1.3/G6 FP000069

    4. Deprecated formats
    ---------------------

      Some other formats for the Via line are in use today, but these
      formats are rather variable and inconsistent in nature, while
      the format specified above is both more widespread and more
      consistent.

      New implentations may need to parse these formats, but must not
      generate them.

      The formats in use include, but are not limited to

      <NAME> [VERSION] [SERIAL] <ADDRESS> <TIMESTAMP> <TIMEZONE>
      <NAME> <ADDRESS>, <TIMESTAMP> <TIMEZONE> <VERSION>

      Not that the time stamp in the above formats is also widely
      variable, and takes forms which include, but may not be limited to

      <Day> <Month> <Year> AT <Hour>:<Min>:[Sec]
      <Day of Week> <Month> <Day of Month> <Year>  <Hour>:<Min>:<Sec>
      ON <Day of Month> <Month> <Year>  <Hour>:<Min>:<Sec>
      <Month>/<Day> <Hour>:<Min>
      @YYMMDDHHMMSS

      In the last listed format, observe in particular the two digit year
      and lack of period to seperate the date from time.

    A. References
    -------------

      [FTS-1] "A Basic FidoNet(r) Technical Standard Revision 16", Randy
      Bush. September 1995.

      [FSC-46] "A Product Identifier for FidoNet Message Handlers",
      Joaquim Homrighausen, August 1994.

    B. Author contact data
    ----------------------

      Colin Turner
      Fidonet: 2:443/13
      E-mail:  ct@piglets.com
      WWW:     http://www.piglets.com

      Joaquim Homrighausen
      Fidonet: 2:201/330
      E-mail:  joho@defsol.se
      WWW:     http://www.defsol.se

    C. History
    ----------

      Rev.1, 990426: First release.

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

Go Back