Documentation Home

SNOS FILE: Forward.txt

Description

The forward.txt file resides in the NOS directory. The forward.txt file contains message forwarding instructions that the SNOS program uses to forward packet messages (i.e. private messages, email, newsgroup articles, and bulletins) to other mail servers and user PBBS's (Private Bulletin Board Systems).

TCP/IP and AX25 are the two vehicles that are used by SNOS to literally carry forward messages to the other mail servers and user AX25 PBBS's. SNOS collectively makes use of several resources to enable forwarding that include:

Three examples of how the contents found in the forwarding.txt file are applied in concert with the fore mentioned resources will be described using three references from the example file shown below.

  1. SMTP & NNTP Forwarding

    SMTP (Simple Mail Transfer Protocol) and NNTP (Network News Transfer Protocol) entries found in the forwarding.txt file must have host names or host IP addresses. Look at the first two entries under the GROUP:BVCK heading: the SMTP and the NNTP addresses are kb7zpj.ampr.org.

    In this example, both SMTP and NNTP messages are to be forwarded to host kb7zpj.ampr.org. SNOS first must look up kb7zpj.ampr.org in the Hosts file and find the IP address for this host. Once the IP address has been discovered, then SNOS looks at the IP network route table to determine the gateway IP address that will lead to the IP host address of kb7zpj.ampr.org. Upon determination of the gateway IP address, SNOS then checks the ARP table for the gateway IP address in order to determine the associated hardware interface that the messages will be forwarded from. All of these elements must be present in order for the messages to be forwarded.

  2. NET/ROM Forwarding

    NET/ROM entries found in the forwarding.txt file must have valid callsigns or aliases for message forwarding. Look at the entry for W0RLI within the GROUP:BVCK.

    In this example, NTS messages are to be forwarded to W0RLI via NET/ROM. SNOS must first look in the Nodelist file to determine if a entry exists for W0RLI. If a entry is found, then the hardware interface and neighboring node callsign are utilized to initiate a NET/ROM connection to W0RLI for the forwarding of the messages.

  3. AX25 Forwarding to PBBS's

    AX25 forwarding to user PBBS's is accomplished by writing specific connection instructions for each PBBS that SNOS is to forward messages. This method is the least flexible of the three methods in that there is no alternative routing options available.

    Look at the very last two entries at the bottom of the example file for PBBS stations N7YAF and KC7WKO. Here one can see that the SNOS node hardware port has been specifically identified. Additionally, SNOS is being instructed to receive five lines (+r5) of text from the PBBS's before attempting to forward messages to these stations.

Tags established in the REWRITE.TXT file are used in the Forwarding.txt file. The tags are used to identify which messages are to be sent to each of the stations. For example, private messages addressed for KB7ZPJ are tagged "smzpj" and are to be forwarded via SMTP to kb7zpj.ampr.org, while newsgroup articles with the tag values like "orares" and "pdx" will be forwarded to kb7zpj.ampr.org using NNTP .

Messages are forwarded in groups. Explicit grouping bracketed by the GROUP:<name> and ENDGROUP parameters dictate that all of the messages destined for any of the stations within the group using a particular interface will be forwarded in sequential order across the interface. Restated, a group will begin with the GROUP:<name> parameter, followed by the station call (i.e. K7IQI, W7TRR, W7OEM), and be closed by the ENDGROUP parameter. SNOS will process the group by forwarding messages to K7IQI first, then to W7TRR when finished with K7IQI, and finally to W7OEM when finished with W7TRR. Without the use of groups, messages to the three stations will forward all at once, in effect, simultaneously.

Groups are forwarded in parallel. To illustrate this rule, messages going to stations contained in GROUP:NORTH will be transmitted on interface AX2 at the same exact time as messages to stations contained in GROUP:SOUTH are transmitted on interface AX3.

The key rule to remember is this: Groups are forwarded in parallel (simultaneously), Calls within the groups are forwarded in series (sequentially).

In the example file, the groups were defined by the neighboring stations that the SNOS node forwards to. Stations within the group would be typically be reached via the same neighboring station if individual connections were performed. Groups can have one or more stations within them using multiple protocols (i.e. SMTP, NNTP, NET/ROM). Forwarding entries without an explicit group definition will get a default group that is the same as the Call entry. Groups are forwarded in parallel meaning that they are all dispatched simultaneously across their respective interfaces.

Displayed below is a detailed working example forward.txt file. Note that lines beginning with a semi-colon are viewed as a remarks or comments and are ignored by the SNOS program.

Example File

; FORWARD.TXT FILE FOR NODE: orcy.ka7ijk
; This is FORWARD for orcy.ka7ijk
; 23aug05: Cleaned and updated file
; 27aug05: Added group forwarding to NMAR
;----------------------------------------------------
; One group for each station we forward with.
; PARAMETER DEFINITIONS
; Call: The call of station we will forward with.
; Con: The interface to use and connect steps.
;   Multiple Con: lines will be attempted in order.
;   -rn before a connect means expect n lines of text
;       prior to receiving the "connected to" response.
;   +rn before a connect means expect n lines of text
;       after receiving the "connected to" response.
; Tag: The tags to forward.
; Batch: Maximum size of compressed message batch.
; Timeout: "no activity" timeout in milliseconds.
; Calls bracketted by Group: / EndGroup: are done sequentially.
;__________________________________________________________________
;Forward SMTP & NNTP messages with the following stations.
;Note the use of groups, where the messages are grouped by
;most probable forwarding port.

GROUP:BVCK
  Call: smzpj
  SMTP: kb7zpj.ampr.org
  Tag:  smzpj

  Call: kb7zpj
  NNTP: kb7zpj.ampr.org
  Tag:  orares pdx or pnw arrl amsat usa usw ww noam

  Call: smqdn
  SMTP: n7qdn.ampr.org
  Tag:  smqdn

  Call: smyss
  SMTP: n7yss.ampr.org
  Tag:  smyss

  Call: smifj
  SMTP: n7ifj.ampr.org
  Tag:  smifj

  Call: smqqu
  SMTP: n7qqu.ampr.org
  Tag:  smqqu

  Call: smagh
  SMTP: ka7agh.ampr.org
  Tag:  smagh

  Call: smrli
  SMTP: w0rli.ampr.org
  Tag:  smrli
  
  ;Following to W0RLI is for outbound NTS traffic
  Call:    w0rli
  Batch:   10000
  Timeout: 600
  Port:    netrom
  Con:     w0rli
  Tag:     w0rli

  Call: smiqi
  SMTP: k7iqi.ampr.org
  Tag:  smiqi

  Call: smzzx
  SMTP: kc7zzx.ampr.org
  Tag:  smzzx
ENDGROUP:

GROUP:NMAR
  Call: smnkn
  SMTP: kd7nkn.ampr.org
  Tag:  smnkn

  Call: kd7nkn
  NNTP: kd7nkn.ampr.org
  Tag:  orares pdx or pnw arrl amsat usa usw ww noam
ENDGROUP:


GROUP:PARC
  Call: smlt
  SMTP: w7lt.ampr.org
  Tag:  smlt

  Call: w7lt
  NNTP: w7lt.ampr.org
  Tag:  orares pdx or pnw arrl amsat usa usw ww noam
ENDGROUP:

GROUP:KD7ZDO
  Call: smzdo
  SMTP: kd7zdo.ampr.org
  Tag:  smzdo

  Call: kd7zdo
  NNTP: kd7zdo.ampr.org
  Tag:  orares pdx or pnw clkams
ENDGROUP:

GROUP:CLMT
  Call: wb7awl
  SMTP: wb7awl.ampr.org
  Tag:  smawl

  Call: wb7awl
  NNTP: wb7awl
  Tag:  pdx or amsat arrl pnw usw usa noam ww
ENDGROUP:
;__________________________________________________________________
;Forward Internet mail to bctonline.com mail server

Call: smbct
Smtp: mail.bctonline.com
Tag:  smbct
;__________________________________________________________________
; Forward Mail to various PBBS locations

Call: n7yaf
Batch: 10000
Timeout: 20000
Port: ax2
Con: n7yaf-1
+r5
Tag: n7yaf

Call: kc7wko
;Batch: 10000
Timeout: 20000
Port: ax3
Con: kc7wko-1
+r5
Tag: kc7wko
        


Written by KA7IJK, October 3, 2005