.TOPIC:
Interfacing with FidoNet

                                        VBBS 6.12 Documentation--12-A-1

         ͻ
           CHAPTER 12  ANNEX A      INTERFACING WITH FIDONET          
         ͼ

          FidoNet and how it works
          
          FidoNet is the largest network of BBS's in the world, and at
          the time of this writing it has well over 24,000 nodes.  The
          unique feature of FidoNet is in the fact that it is not confined
          to the IBM world.  There is a very wide platform of hardware in
          FidoNet.  Amiga, IBM, Apple, Commodore, and many more can share
          FidoNet.  So keep this in mind as you learn about some of the
          rules in FidoNet.

          FidoNet is made up of Zones, Regions, Nets, then Nodes.  Each
          zone has a Zone Co-Ordinator who handles the Regions, each
          Region has a Region Co-Ordinator who is assigned by the Zone
          Co-Ordinator, each Net has a Net Co-Ordinator who assigns node
          numbers to BBS's in their Net.  So when I now explain how
          FidoNet's node numbering system works it'll be easy to see.  The
          node numbering System is ZONE:NET/NODE. EXAMPLE... I'm in Zone
          1, in Net 129, and I'm the 201st BBS in that net, therefore my
          node number is 1:129/201.

          There are 2 ways to communicate with other nodes in FidoNet.

          1. ECHOMAIL which is similar to Virtual Net's Message Subs.
          ECHO's have names like "The International Amiga Forum",
          Echo's have Moderators, and the main difference is that echo's
          don't have Sub Numbers, but rather names which are called AREA
          names.  Generally when you join a Net, one of the BBS's in
          that Net will be the ECHOMAIL Hub where all ECHOMAIL for that
          Net is routed.

          There are 2 basic types of ECHOMAIL Echos. Local and Backbone.
          Local Echos are message areas confined within that Net, or the
          Moderator is doing the hubbing of the Echo.  Backbone Echos are
          transmitted along FidoNet's massive network of Hubs, and are
          available to all nodes.

          2. NETMAIL which is similar to Virtual Net's Email function,
          in that it is more private. Netmail can be routed along
          FidoNet's backbone system, provided one can find a Netmail Hub
          that agrees to route the mail.  Or netmail can be "crash mailed"
          from your system directly to the node you're sending the mail
          to.  This is similar to VBBS's DIRECT MAIL function and requires
          that your BBS call the other BBS directly.

          File FREQing
          
          File FREQing in FidoNet is commonplace.  In most cases you can
          send a File REQuest to almost any FidoNet node.  Most have a list
          of FREQable files avaiable called FILES.  This is called a magic
          name, which is really unique. VBBS/VFIDO is capible of recieving
          and sending FREQs by either the files full DOS name, or Magic
          name.  A magic name is assigned to a file that is prone to
                                        VBBS 6.12 Documentation--12-A-2

          changing versions a lot.  For example... I update the Fido
          NODELIST every time it changes, and it would be impossible for
          you to know the exact file name.  So I set up a Magic Name
          "NODELIST" which when requested will send you the file I have
          chosen to send.  Or to pick up the most current version of VFIDO,
          you can FREQ the magic name "VFIDO", and you'll get the version
          I tell my BBS to send you.  A rather nice feature for those of us
          that can't keep track of some of the fast changing versions of
          utilities and programs.  You can also FREQ by the files actual
          DOS name... such as VFIDO610.05, and if it's available, you'll
          get it.  I've actually made a couple CD-ROM's FREQable, and
          created a file list that can be FREQ'd.

          The NODELIST
          
          FidoNet's NODELIST is formatted like this NODELIST.###, where
          ### is equal to the day of the year that the nodelist was
          created.  So a nodelist generated by FidoNet on January 1st would
          be named NODELIST.001.  You can obtain a nodelist from your NC in
          FidoNet, or from many FidoNet BBSs.  Once you have a current
          nodelist, your NC will send you NODEDIFF files that contain
          changes as they occur, and there are many utilities that will
          update your nodelist by making the changes issues in the
          NODEDIFF files you will recieve.  I use a utility called NLGEN,
          and run it in a nightly event batch file.  This way my nodelist
          is alway current.  NLGEN and FidoNet's nodelist files are
          available on my BBS for DLing.  This is a good reason to be sure
          to poll your NC regularly.

          Some Rules to follow
          
          Because of the shear mass of mail moved in FidoNet, and the
          number of possible hardware systems that mail may go through,
          there are many rules for the IBMer to keep in mind.  For example,
          you may not use ANSI code or DOS extended ASCII characters in
          Netmail or Echomail that is routed along the backbone.  This is
          because that mail may be read by an Apple, or Amiga computer
          that may crash upon handling IBM Extended ASCII or ANSI.  In a
          local situation where all systems involved are known to be IBM,
          it is OK.  So this means you may not be able to have the fancy
          boxes in you tagline, or the fancy quote mods that contain
          extended ASCII characters.

          Because Netmail is important to FidoNet, you will be required
          to keep your BBS open to incoming mail calls for 1 hour per
          day.  This one hour is called Zone Mail Hour, and for Zone 1 it
          is 4AM to 5AM EST.  So make sure the NC of the Net you join can
          test this feature.

          I recommend setting up net hours in VCONFIG to keep users off
          the BBS, thus allowing net calls ONLY.  Also, you may not poll
          your FidoNet ECHOMAIL Hub during ZMH, as it is for NETMAIL ONLY.

          As is at the present time, a Moderator of a FidoNet Echo has
          complete control of the Echo.  The Moderator can easily send
          your ECHOMAIL Hub, and/or NC a netmail to have you disconnected
          from the Echo should you not follow rules.  It is a very serious
                                        VBBS 6.12 Documentation--12-A-3

          offense to try to re-aquire an echo you've been removed from,
          and many Sysops have been removed from FidoNet completely for
          this.  So you'll need to keep a close eye on your users.  And
          you'll need to poll your NC once per day to be sure you recieve
          any Netmail from Moderators.  As a Sysop, you are directly 
          responsible for your users' actions.
        
          You'll find that the Nets inside of FidoNet are all run a tad
          differently and will no doubt have a set of rules for you to
          follow.  BUT, they must at least comply with FidoNet's rules
          which are available in a file called POLICY4.ZIP (again 
          downloadable from my BBS).  You should read these rules carefully.

          How to obtain a Node Number
          
          Keep in mind that FidoNet is broken up into Zones, Regions,
          Nets, and Nodes.  A Zone is usually an entire country, the USA
          and Canada are Zone 1.  Regions are like VNET regions, and have
          little to do with node numbering but the Regional Co-Ordinator
          setups the Nets in his/her region.  A net is simply a group of
          BBS's inside FidoNet.  Each net has a different net number.  Each
          Net has a Net Co-ordinator.  Each Net also has different policies
          and rules.  You'll be attempting to join a net.
          FidoNet node numbers are VERY easy to understand they look like
          this:
          ZONE :  NET / NODE . EXAMPLE: I'm in Zone 1 in Net 129 and I'm
          node 201.. so my node number is  1:129/201  Simple ?

          1. Obtain a copy of FidoNet's NODELIST.  I have it on my BBS for
             Dling if you want it.  And it's the FULL list (all zones).
          2. Install VFIDO according to the DOC's using a bogus node number
             of 1:999/999.  See commented docs below.

          3. From your Main Menu hit X, then S for search.  Type your area
             code.  You're looking for a FidoNet node in your area that
             ends in /0  ie 1:129/0.  That indicates the NC for that NET.
             NOTE: I joined a NET that was out of state for Long Distance
             reasons.  It's cheaper to call LD out of state than in state.
          4. Lets use 129 as the NET number you've decided to apply to.
             Change your node number to 1:129/999 and re-run VFIDO /c
             NETWORKID=4.

          5. Generate a crash mail to the NC of that Network.  In our
             129 example you would address the crash mail to
             SYSOP +C @1:129/0 .  Make the title "Node Application
             Request ".  Now type up a nice Email stating that you would
             like an application to join their network.  You may even get
             an application automatically on the first call.  If not wait
             a couple days and from WFC poll that Fido System again and
             see if you get mail and/or a file.

          6. Fill out the application, read their NET rules file.  Then
             send the application back to the NC.  Poll once a day till
             you get a node number.

          7. When you get a node number, change it in VCONFIG and do a
             vfido /c  again.
                                        VBBS 6.12 Documentation--12-A-4

          8. Now send another netmail to the NC asking who you may use
             for your ECHOMAIL Hub, AND who you may use for your
             NETMAIL HUB, and ask about costs involved in getting echos
             (Local and/or backbone).

          ECHOMAIL is like Subs. FidoNet has 2 types of ECHOMAIL .. LOCAL
          (Confined to the Net you're in) ... BACKBONE (National and
          Internatiionally distributed ECHOMAIL).  Some Nets charge for
          BACKBONE echos.  The Net I'm in charges $2.50 per month for 1 -
          15 backbone echos.  The Net you join will probably have a BBS
          that is the "ECHOMAIL Hub" for the Net.  So you would route
          ECHOMAIL to that Node.

          NETMAIL is like Email, and routes differently than ECHOMAIL.  So
          you also need a NETMAIL Hub *IF* you wish to send NETMAIL
          worldwide.  Or you can Crash Mail NETMAIL.  This, of course, means
          that your BBS will call the BBS you crash mail to.

           Setting up VFIDO and Understanding It
          
          I'm simply going to load up the documentation from the author's 
          current version, and insert comments where I feel Sysops have
          had problems.  Since I recieve many voice calls, and Emails
          regarding VFIDO/VBBS setup I'm fairly familiar with the commonly
          misunderstood areas, and common mistakes made.

                                        VBBS 6.12 Documentation--12-A-5

          VBBS / Fido Gateway 6
          =====================

          Copyright Neil J Marshall 16th June 1993
          TransAtlanticBBS {+44-689-890937}
          1 @ 440 VirtualNET
          Neil J Marshall @ 2:440/211 Fido

         Introduction
         ============

         This program is designed to create an interface between the VBBS
         software written by Roland de Graaf and any Fido-compatible
         network.  FidoNET itself is the largest hobbyist network in the
         world, with over 14,000 BBS as members, and there are literally
         thousands of smaller Fido-compatible networks worldwide.

         This version of the interface program allows the exchange of
         private mail and public message areas between VBBS and Fido.  It
         no longer requires the use of FrontDoor to handle the calls to and
         from other Fido BBS, although you can continue to use FrontDoor if
         you so desire.

         Contents
         ========

         Initial Configuration Of VFIDO To Give E-Mail Functionality
         Configuration Of VFIDO To Add Conference Functionality
         Configuration Of VFIDO To Add Interface To FrontDoor
         Creation Of A Fido Network List For Use By VBBS
         Summary Of VFIDO Command Syntax
         Technical Information
         Development History


         Initial Configuration Of VFIDO To Give E-Mail Functionality
         ===========================================================

         Place the VFIDO.EXE program in your VBBS directory.

         Run VCONFIG.EXE, and select Network Configuration for the Fido
         (type 4) network you are configuring.

         NOTE: Do this complete installation proceedure for each Fido type
               network.

         1. Fido Address:       2:440/211
            Your Fido network primary address in Zone:Net/Node.Point 
            format)
         2. NetMail Directory:  C:\VBBS\NETMAIL
            Where Fido netmail will be stored - must be the same for all 
            your Fido networks
         3. OutBound Directory: C:\VBBS\OUTBOUND
            Where Fido EchoMail will be stored - must be the same for all 
            your Fido networks
                                        VBBS 6.12 Documentation--12-A-6

         NOTE: If you're installing more than 1 FidoType network the 
               netmail and outbound directories MUST be the same for all 
               of them!!!
         4. Archiver:           PAK
            Compression for outgoing EchoMail - ZIP PAK ARJ LHA ARC 
                                                PKPAK HYP
         5. UnArchiver:         PAK
            This field is now redundant as archive format is
            detected automatically
         6. FIDO Front-End:     Standalone
            Standalone or FrontDoor are only valid options at this stage
         7. Nodelist Name:      NODELIST
            The name of the nodelist for the network

         NOTE: Place the NODELIST.### file, unarchived into your \NETMAIL 
               directory
         If you're in more than one Fido Type Network, plae those nodelist
         files in here also.  They'll have different names. ie EchoNet uses
         ECHOLIST.###

         8. Zones:              1-7
            The range of Zones that belong to that network (ie the Domain)

         NOTE: If you are in some other Fido Style Network, the zones 
               setting will be different for that Network's setup.  Zones 
               applied to the possible #:  nodes in that particular network
               ... FidoNet messages can arrive at you BBS addressed FROM 
               a 1:, 2:, 3:, 4: thru 7: node number, and VFIDO will 
               (according to the zones setting above) properly process the 
               mail.  EXAMPLE: I'm in EchoNet and all their nodes start with 
               50: So the correct setting would be 50-50 for me.

         D. Dial List
            1. System Address:         2:440/59
               Fido address of node to call
            2. Phone Number:           0689-824890
               Full phone number to dial
            3. Poll Priority:          Hold
               Hold means never call, Priority is call as soon as mail is
               waiting, once a day is the final option
            4. Preferred Session Type: EMSI (FSC-0056) w/Zmodem (DSZ)
               EMSI or TSYNCH handshaking selection
            5. Session Password:       FRED
               The password to use in the EMSI session with the other BBS,
               which may be blank

         R. Routing
            1: 2:440/59 2:440/59
            Fido address of server and routing mask including wildcards. 
            The routing logic works top to bottom through this list so you 
            can't add anything meaningful after the last line with the 
            *:*/* on it.
            2: 1:1/1 1:*/*
            3: 2:440/6 *:*/*
         A)dd Lines E)dit Lines D)elete Empty Lines Q)uit:
                                        VBBS 6.12 Documentation--12-A-7

         NOTE : Understanding routing is the single biggest problem I've 
                gotten Email on.  So I'll try to explain it.  If you recieve 
                a ECHOMAIL from a particular node, you must have them in 
                your routing, or when a user posts in that Echo, VFIDO 
                won't know who to send the post back to.  So if you recieve 
                echomail(Subs) from 1:129/201 and from 1:999/3 you should 
                at least have:
       
                1:129/201 1:129/201
                1:999/3 1:999/3 

         The System you assign the *:*/* to is generally your NETMAIL hub
         because netmail could go to any of 24,000 BBS's in FidoNet, so it
         routes through your NETMAIL hub.  Let's assume your netmail hub is
         1:999/0 ... now your routing should look like this:
       
         1:129/201 1:129/201
         1:999/3 1:999/3 
         1:999/0 *:*/*

         Here are some examples of message tossing and routing using the 
         routing lines above. 
         1. A user posts on an echo that you recieve from 1:129/201, when 
            VFIDO tosses that post, it looks at the routing and uses the 1st
            line, and tosses that post into a packet pending for 1:129/201.
         2. A user posts on an Echo you recieve from 1:999/3, when VFIDO
            tosses that post it skips line one, sees line 2 in the routing
            list and packs up the post for 1:999/3.
         3. A user REPLIES with EMAIL (NETMAIL) to a post from 2:440/211.
            The post is addressed to 2:440/211 so when VFIDO tosses the
            netmail it skips line 1 and 2 above and routes the netmail to
            1:999/0, who in turn routes it thru the mail system to 2:440/211.
         4. You send a netmail addressed to "Sysop @1:129/201". Vfido reads
            the routing lines and packs it up directly to 1:129/201.
         5. CRASH MAIL totally ignores the routing lines, and forces your BBS
            to directly dial the node you're mailing to!  BTW, only a 255 SL
            can send CRASH MAIL.
         6. NETMAIL with files attached also ignore the routing, so be sure 
            to make those crashmail unless the node you're sending it to
            will be polling you, or you'll be polling them.

         A. AKAs
            1: 2:440/59.3
            Alternative address for the board - must be same Zone
            2: 2:440/0
            A)dd Lines E)dit Lines D)elete Empty Lines Q)uit:

            NOTE: Do not enter your Primary node number as an aka!

         Once this configuration is completed, go to the main VBBS directory
         and run:

         VFIDO /C NETWORKID=#

         You must rerun this every time you change the above configuration
         information.
                                        VBBS 6.12 Documentation--12-A-8

         You will also need to set up a file containing phone prefix aliases
         called VFIDO.FON in your DATA subdirectory.  This is used to ensure
         that the phone numbers listed in the nodelist are converted to a
         format that can be dialed from your BBS.  This is used for removing
         your country code for national calls and area code for local calls.
         VFIDO needs the correct phone numbers listed so it can call any BBS
         in the nodelist when Crash Mail, File Attaches or File Requests are
         sent.

         An example of this file for the USA would be:

         011-        The prefix for dialing international phone numbers
         1-616-399- 399- Sets up the toll free codes for your area code
         1-616- 1-   Makes all other calls in your area code long distance
         1- 1-       Ensures all US phone numbers are not made international

         This example would convert a phone number listed as 1-616-399-4818 
         to 399-4818, or convert 1-616-772-0482 to 1-772-0482, or 
         44-689-890937 011-44-689-90937

         and for Europe:

         010-            The prefix for international calls
         44-689-         Strip the country and area code for local calls
         44- 0-          Add a 0 prefix for national calls

         As an example, the above would convert an international phone number
         listed in the nodelist as 1-616-399-4818 to 010-1-616-399-4818, or a
         national number in the nodelist as 44-689-890937 to 0-689-890937.

         Place the unarchived nodelist into the C:\VBBS\NETMAIL directory 
         and run:

         VFIDO /A NETWORKID=#

         You will need to rerun this every time you receive a new NODELIST 
         or you change the VFIDO.FON.


         Sending E-Mail Using VFIDO
         ==========================

         To send an E-Mail message from VBBS to any Fido-type network, 
         invoke the E-Mail routine as normal.  The User Network Address 
         field should be completed in the format User Name@Fido Address, 
         so to send E-Mail to me use Neil J Marshall@2:440/211.

         If you want to send Crash Mail, that is where the E-Mail is sent
         directly to the addressee's BBS, ignoring the routing logic, then
         add a " +c" after the addressee's name, so to send Crash Mail to 
         me use Neil J Marshall +c@2:440/211.

         In Fido-type networks it is policy that messages with files 
         attached must go directly to the addressee's BBS and ignore the 
         routing logic, so if you attach a file to a message it will be 
         held on your board awaiting a call from the addressee's BBS unless 
         you send it Crash Mail or the addressee is one of the BBSs in your 
         dialing list that you call.
                                        VBBS 6.12 Documentation--12-A-9

         File Requests Using VFIDO
         =========================

         If you want to send a File Request to another Fido-type BBS invoke 
         the e-mail routine as normal.  The User Network Address field should 
         be completed in the format Sysop +f@Fido Address, where the " +f" 
         is the switch to indicate this is a File Request.  The Filename 
         requested is put in the Title field of the message.  All File 
         Requests are sent direct to the addressee's BBS and ignore routing. 
         If the addressee's BBS is not one that you have set up in your 
         dialing list, then you must also use the +c switch to make the File 
         Request a Crash E-Mail.  To request the latest version of VFIDO from 
         me, you would invoke the E-Mail function and address it to Sysop +f
         +c@2:440/211, then make the Title of the message VFIDO.

         VFIDO also supports incoming File Requests.  When a File Request is
         received, VFIDO searches each of the File Areas that you have set 
         up in VCONFIG and sends the file back if it is found.  VFIDO also 
         supports "Magic Names" for File Requests - this is where a 
         pseudonym is associated with an actual file for ease of access by 
         calling systems.  Magic Names should be set up in the file 
         VFIDO.MAG in your DATA directory.  The format of this file is one 
         entry per line, giving the "Magic Name" followed by the full path 
         and filename of the file to associate with the Magic Name, for 
         example:
                       VBBS C:\VBBS\FILES\SYSOP\VBBS620.ZIP
                       FILES C:\VBBS\MASTLIST.TXT

         might be some of the most common ones.  Magic Names may also call
         up wildcard downloads as well.  For example, entering VBBS*.ZIP
         instead of VBBS620.ZIP above, would send all files with the prefix
         VBBS in that path.
         
         If you want a "standard letter" sent in response to each file 
         request, create this letter in a file called FILEREQ.TXT in your 
         TEXT path.  Generally a Fido Sysop should use this to list the 
         Magic Names applicable to their BBS.


         Configuration Of VFIDO To Add Conference Functionality
         ======================================================

         If you want to access public message areas in Fido, you will
         need to know the AREA name that uniquely identifies each Fido
         conference.  Supposing, for example, you wished to set up VBBS to
         participate in a Fido conference whose AREA name was HARPOON:

         Run VCONFIG.EXE and select Database Configuration, Message Bases,
         the relevant Group and Database.  Then select Networks
         Configuration, A for add, select the network, and on the line for
         the Network Conference Identifier, put the AREA name of the Echo-
         mail conference in the network, then a space, then the Fido address
         of the EchoMail server from whom you receive the conference.  If you
         are acting as a local hub, also add, separated by a space, the Fido
         addresses of the nodes to whom you directly circulate the
         conference.  You are currently limited to 80 characters in VCONFIG
         although you can manually edit the file to create longer
         subscription lists.
                                        VBBS 6.12 Documentation--12-A-10

         The line will look like this:

         Network Conference Identifier: HARPOON 2:440/59 1:2/3 1:3/4
                                  ^       ^        ^
                                  *       *        *
                                  *       *        These are the addresses 
                                  *       *        of BBS whom you pass the
                                  *       *        conference on to when
                                  *       *        you are a local hub
                                  *       *
                                  *  This is the Fido address of the
                                  *  EchoMail server from whom you
                                  *  collect the conference
                                  *
                      This is the AREA name of the Fido
                      conference

         After you have set up all your conferences, you must run VCONFIG,
         Database Configuration, Compile Network Configuration - and you
         will have to rerun this every time you change the network 
         configuration of a database.

         With these simple steps taken, every message posted on that
         conference will be echoed to Fido, and every message from Fido
         on that conference will be fed into VBBS.


         Using AreaFix To Request Conferences
         ====================================

         You can add or remove your BBS to the subscription list for 
         conferences on other Fido BBS using AreaFix.

         All you have to do is to send a NetMail to AreaFix at the BBS 
         address with your AreaFix password as the title (the AreaFix 
         password is agreed in advance by yourself and the other Sysop) 
         and a content that lists, line by line, the Area name of a 
         conference, preceded by a - for remove.

         For example, a message whose content read:

         VFIDO_SUPPORT
         -GAMES_DISCUSSION

         would add your BBS to the VFIDO_SUPPORT conference and remove it 
         from the GAMES_DISCUSSION conference.

         VFIDO supports incoming AreaFix requests as well, included 
         AreaFix passwords for Add and Delete Echo requests.  The password 
         is the same as is set up as the session password in VCONFIG.

         VFIDO also supports the use of the LIST command to give a list of 
         all the Echoes set up on the BBS for any specific network, by 
         placing the word LIST on its own on a line in the NetMail to 
         AreaFix.
                                        VBBS 6.12 Documentation--12-A-11

         Summary Of VFIDO Command Syntax
         ===============================

         VFIDO {channel number} {option} NETWORKID=#

         # is the network identifier as specified in the NET.0 file for
         the network you are connecting to.

         {channel number} is only necessary with /DIAL, /HOST and /POLL 
         options.

         {option} is one of:

         /A      Build network list from nodelist
         /C      Compile initial Fido information
         /DIAL   Make a call to another Fido address, specifying the 
                 address right after the switch like /DIAL2:440/211
         /HOST   Answer an incoming Fido call
         /POLL   Call all systems for whom Crash Mail is pending
         /U      Scan VBBS mail and toss to Fido
         /T      Scan Fido mail and toss to VBBS


         Technical Information
         =====================

         VFIDO creates FTS-0001 packets for NetMail with FSC-0039 
         extensions for Zone and Point 4D addressing, FTS-0004 ARCmail 
         packets for EchoMail, and FTS-0006 WaZOO-format File Requests.

         Connections can be using FTS-0001 (TSynch) using XMODEM or
         FSC-0056 (EMSI) using ZModem.

         VFIDO requires the presence of the DSZ, and the appropriate
         archiver program (PKZIP, PAK, ARJ, LHA etc) in a directory 
         accessable through the PATH statement.


