Copyright: Copyright © 1997 RIT Research Labs


What is Argus?

Argus is a comprehensive FTN Mailer designed to work as a multi-line system using two widely used data exchange transports - Dial-up networking and TCP/IP - simultaneously.

Major benefits by using Argus are:

•	True multitasking using Win32 API

•	True multi-line mailing system

•	Extended TCP/IP support

This chapter also describes FTN standards, supported by Argus.


True multitasking using Win32 API

Argus is a Win32 native application, it is written using the advantages of Win32 Application Programming Interface (API) designed in Windows NT and Windows 95. The major advantage - multitasking - gives Argus the possibility to use system resources with maximum performance (especially on multi-processor systems), because most of communication processes could be divided into parallel ones. At the same time, using separate threads for events handling, communication data reading and writing allows Argus to work with a minimum system load, so all other tasks running in a system can function without any delays.


Multi-line mailing system

Because Argus is a true multi-line mailing system, configuration and co-ordination of all lines is truly quick and easy. There are no special limitations to number of concurrent connections - it just depends on a users' possibilities and requirements. The data transfer with a node can be established either via Dial-up or TCP/IP transport - this is determined by transport availability.

Dial-up lines can be started automatically at Argus start-up or manually by a user's request with System / Open Dial-up Line menu command. Each dial-up line requires a communication port, so the number of dial-up lines being active simultaneously is limited by the number of communication ports in a system.

TCP/IP lines are created and disposed as a result of TCP/IP Daemon functioning. As soon as Argus detects an incoming TCP/IP connection or a new poll via TCP/IP in the Poll Manager, Daemon creates a new mailing system line and starts a mail transfer protocol. When a TCP/IP session finishes, Daemon closes the line and ends the connection.


Extended TCP/IP support

Argus supports protocol-independent transport interface of WinSocket 2.0 (which is currently included in Windows NT version 4.0). Using WinSocket 2.0 allows you work seamlessly with a number of transport protocols such as TCP/IP, X.25 etc., use protocol-independent symbolic host name resolution  (for example, SAP, X.500 etc., not only DNS), Win32-overlapped input/output modes, shared sockets, conditional acceptance etc.

The current version of Argus supports the most widely used WAN protocol - TCP/IP. In future versions we are planning to implement support for other protocols.

In regard of WinSocket 2.0 and Win32 use and the multi-threaded program architecture, host name resolution, connection and disconnection’s, input/output operations with TCP/IP are functioning as parallel processes; such way of operation provides optimal resource usage and minimum system load.

TCP/IP Daemon is the centre of control for all TCP/IP operations.


FTN standards supported

Argus interacts with remote systems using protocols and technology standards described in this chapter. Because Argus is built on FTN Technology (FidoNet Technology Network), it supports standards and proposals developed by FTN committee, common standards of FTN mail system functions are also supported by Argus.

This is the list of FTN standards and proposals that Argus is compliant to. Descriptions of those standards can be obtained from ftp://ftp.fidonet.org

•	Nodelist (FTS-0005)

•	EMSI Handshake (FSC-0056)

•	WaZOO mail session and file requests (FTS-0006)

•	Z-modem file transfer protocol

•	Hydra file transfer protocol (FSC-0072)

•	Working Time Nodelist flag (FSC-0062)

•	Binkley-style Outbound

•	BinkP Transfer Protocol


Working Time Nodelist flag (FSC-0062)

Availability flag for non-CM nodes indicating the hours during which the node is available in addition to ZMH. This must be in accordance with the recommendations in FSC-0062 and the reference table reproduced below. This flag appears in the Nodelist entry as Txy, where x is a symbol for the opening time and y is a symbol for the closing time. All Txy flags must be specified after U, which is an attribute of extended Nodelist flag.

ATTENTION : All times must be UTC!

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

Argus is using this flag for polling a node in its working time.

Argus allows the combing of working time intervals by using several Txy flags. For example, TÑh, TSW means that node is available 2:00-6:30 and 18:00-22:00 UTC.

Argus also supports TxyL extension - it is the same as Txy, but indicating that the time is local, not UTC. For example, TCSL means 2:00-18:00 local time.


Calling a Node only within its Working Time

Argus is designed so that it will not automatically dial a particular node in any time outside the node's working time interval specified by FSC-0062 Nodelist flag (Txy). The working time flag could be specified either in the Nodelist or in Node Overrides Table. If CM is specified for a node, this means that working time of the node is 00:00-24:00.

Remarks: If there are no working time flags specified for a node,  this node may only be automatically dialled within Zone Mail Hour (ZMH).

If a poll is created manually, Argus ignores a node's working time.


Binkley-style Outbound

This chapter explains the general principles of the Binkley-style Outbound structure, used by Argus mailing system.

Binkley-style Outbound was introduced in BinkleyTerm mailing system by Bit Bucket Software, soon it became a standard for the outbound section of mailing systems.

Explained briefly, The Binkley-style Outbound is a directory structure containing outgoing packets. The outbound directory for Default outbound zone is the directory specified in the Outbound entry field of the Directories Configuration dialogue. Outbound directories for other zones are created as directories with the same name as default outbound zone directory, but the name extension of such directory is hexadecimal representation of 12-bit number of the zone. (This is the reason to limit maximal zone number with 4095, which is FFF hex).

OUTBOUND	The outbound directory for Default outbound zone)
OUTBOUND.001	The outbound directory for Zone number 1 (North America)
OUTBOUND.03F	The outbound directory for Zone number 63 (3F hex)

All outbound packets are divided into two groups: Mail bundles and Attachment lists. Each group has four (actually three, because Direct is equal either to Crash or to Normal - it is determined in the terms of a particular mailing system) subtypes determining the urgency of a packet:

Subtype	Initiates a poll	Packet contents is transferred during outgoing connection	Mail bundle extension	Attachment list extension
Crash	yes	yes	.CUT	.CLO
Direct	yes	yes	.DUT	.DLO
Normal	no	yes	.OUT	.FLO
Hold	no	depends on setup	.HUT	.HLO

A Mail bundle is a standard FTS-0001 message packet, so before sending it, the system changes its name to XXXXXXXX.PKT, where each X represents a random hexadecimal digit (usually that hexadecimal combination is actually the time of a packet creation in UNIX format, but it is not relevant in modern mailing systems).

The Attachment list is a text file containing text lines, each of these lines contains the full path name of an outbound file. The very first character in a line may also determine the action after the target file is sent: '^' character placed in the beginning of a line means that the target file must be deleted, '#' means that the target file shall be truncated after its transfer.

The name of each outbound packet for a node has a format NNNNFFFF.EXT, where NNNN is the hexadecimal representation of 16-bit Net number, FFFF is the hexadecimal representation of 16-bit Node number and EXT is the extension determining the group and subtype of the packet (see the table above). Thus, all outbound packets for node with address 469/38.0 will have names 01D50026.EXT

Outbound packets for points are stored in sub-directories of an Outbound directory. Those directories have names of format NNNNFFFF.PNT , NNNN and FFFF have the same meanings as for a node's outbound packet, .PNT is the extension symbolising that it is a point outbound. Outbound packets for points are names as 0000PPPP.EXT, PPPP is the hexadecimal representation of 16-bit Point number and EXT is the extension determining the group and subtype of the packet (see the table above). Thus, point 25 of node 469/38 (469/38.25) will have outbound packets named 00000019.EXT placed in the sub-directory 01D50026.PNT\ of an appropriate outbound directory.

There are some additional Binkley-style extensions, supported by Argus:

.BSY	Indicates that the node is busy
.REQ	List of file to request from remote
.HRQ	List of files, requested by remote


What is new in Argus?
What’s new in Argus?

This chapter explains new features of Argus:

•	Advanced configuration

•	Externally-running applications

•	Periodical polls

•	Events

•	Atoms

•	AKA matching

•	Extended logging

•	Skip / Refuse File

•	FAX Reception

•	Cron Format

•	Poll Options


The Argus Environment

This chapter explains the general points of Argus environment.

•	Extended Graphical User Interface Elements

•	Poll Maneger

•	Mailer window

•	Main Menu


Extened Graphical User Interface Elements
Extended Graphical User Interface Elements

This chapter contains the description of specific interface elements used in Argus:

•	String grids

•	Log Window

•	Modem Activity Indicators

•	Transfer Progress Indicator

•	Connection Information Panel


String grids

String grids are the most popular tool for entering string data information in Argus. There are two types of string grids: fixed and variable number of string rows.

This is an example of a string grid with fixed number of rows:

This is an example of a string grid with variable number of rows:

There are four ways to change the values of currently focused grid cells:

•	Left mouse button click. All the contents of the cell becomes selected

•	Press the Enter key. All the contents of the cell becomes selected.

•	Press F2 key. The contents of the cell is unselected.

•	Start typing. The contents of the cell is replaced by the typed text.

The following operations are allowed in string grids with variable number of rows:

Insert a new row	Ctrl + Ins
Delete the current row	Ctrl + Del
Add a new row	Ctrl + Grey Plus
Move a row	Drag the row with the mouse to the desired position and drop it there

You can also work with string grids using pop-up menu by clicking right mouse button inside the grid.

Edit cell	Changes the value of the cell
Add row	Same as Ctrl + Grey Plus
Insert row	Same as Ctrl + Ins
Delete row	Same as Ctrl + Del
Duplicate row	Duplicate the cell
Export table	Exports the table to a text file
Import table	Imports the table from a text file
Help on grid	Invokes this help chapter

See also: Mailer Widnow and Extended Graphical User Interface Elements.


Connection Information Panel
Log Window

The Last 200 entries of the mailing system log file are stored in the Log Window. The window scrolls so that the last entries of the log are always visible. If the Log Window is focused upon, the automatic scrolling is stopped to make the log inspecting possible and comfortable; automatic scrolling is resumed as soon as another element of the Mailer Window is focused upon.


Modem Activity Indicators

Modem Activity LED’s are located in the lower right corner of the Mailer Window  when a Dial-up or TCP/IP line is selected; the LED’s help to show standard modem signals.  There is also a modem debugging window in the upper right corner of the Mailer Window when a Dial-up line is active. It is designed to show modem input including control characters, in the upper part and modem output in the lower part.

Standard modem characters are black and control ones are blue.

See also: Extended Graphical User Interface Elements


Transfer Progress Indicator

If the total size of files to be transferred during a session is known, the transfer progress is shown on pie charts located in Mailer Window as well as the total size of files to be transferred or received (the last is known only if remote system has sent such information in handshake packet).

See also: Extended Graphical User Interface Elements.


Connection Information Panel

This panel appears when a mail session is established. It contains the information about the remote system:

Connect - is the exact response received from the modem at the time of connection. If a connection is made using the  TCP/IP transport protocol, this section contains the IP address and the port number of the remote system.

All other parameters are taken from EMSI packet data:

Station - the name of remote system.

Address - Address List of remote system.

Sysop - the name of remote System Operator (SysOp).

Location - geographical location of remote system.

‘ Phone - remote system's telephone number.

Flags - additional flags.

Mailer - the name and version of mailing system used by remote.

See also: Mailer Widnow and Extended Graphical User Interface Elements.


Poll Manager

Argus will poll a node with a 2 minute (+-50%) interval between calls. The tolerance interval of 50% is used to make polling more efficient - from the probability point of view. This interval can be adjusted in Poll Options dialogue box.

Polls panel

Node - Address of a node being polled

‘ Phones - a node's 'phone list (numbers are divided with a semicolon)

Owner - the task currently working with a node - could one of Argus'  dial-up or TCP/IP lines, TCP/IP Daemon or an external application (the last means that node is busy)

State - the current poll state (dialling / ringing / connect / handshake / EMSI / WaZoo)

Busy - counts number of BUSY responses during a poll.

No c.  - counts number of NO CARRIER / NO ANSWER responses during a poll.

Fail - counts number of session failures during a poll. The session may fail due to Carrier loss or if the error counter is exceeded (too many errors during transfer).

Note: If one of a poll’s counters is exceeded or a VOICE response is detected, Argus will delay the poll for 20 minutes (+-50%). This interval can be adjusted in Poll Options dialogue box.

Type - Polling type (automatic or manual)

Manual - the poll is created with Create Poll command. Manual Poll ignores working time of a node (CM and Txy Nodelist flags) and finishes after a successful mail session with the corresponding node.

Tip: it is possible to enter several node addresses in Create Poll input box, divided with a space character. In this case Argus will automatically create a poll for each specified node.

Cron - the poll is created according to periodical polls dialogue set-up. The poll is much similar to Outb - poll.

Outb - the poll is created by Argus when Crash or Direct packets are detected Outbound. Automatic Poll finishes after a successful mail session or the corresponding packet is removed from Outbound by an external application.


Mailer Window

This section describes the graphical user interface and how the Mailer Window of Argus works.

The Mailer Window is designed to show the state of a line activated either on Argus start-up or with the System|Open Dial-up Line menu command. To get a line to be shown in the Mailer Window  click the appropriate tabs on tab control placed under the Argus main menu.

Mailer Window contains the following elements:

•	Log Window

•	Modem Activity Indicators

•	Transfer Progress Indicators

•	Connection Information Panel

•	Time-out Panel


Timeout panel
Time-out Panel

Time-out panel displays the countdown (in seconds) to the next expected event.

When  [image] button is pressed, the countdown is zeroed and the expected event is started. Line menu command has the same effect.

When [image] button is pressed 30 seconds are added to the time-out. Line menu command has the same effect.


Main Menu

The submenus of Argus' Main menu are:

•	System

•	Line

•	Poll

•	Tool

•	Config

•	Window

•	Help


System submenu

Open Dial-up Line - submenu for opening an inactive Dial-up line.

TCP/IP Daemon - toggle for opening and closing of TCP/IP Daemon.

Interface Language - selects the interface language from list of available ones.

Exit - quit Argus and close all active lines. (Alt+X keystroke).


Line submenu

Commands of this submenu  work with the line currently visible on the screen - use Tab Control to get a line displayed.

Reset - cancels active session (if any) and if the line uses Dial-up transport, re-initialising the modem attached, otherwise closes TCP/IP line.

Answer call - forces Argus to answer to incoming call. Useful with auto-answering disabled or on leased lines.

Flush Time-out - zeroes the current operation time-out, i.e. if line is waiting for connection or dial, the command cancels it.

Add to Time-out - adds 30 seconds to the current operation time-out.

Skip File - skips the file being currently received file and leaves it for transfer during next session. This command may be misinterpreted by some mailers, so please be careful with it.

Reject File - skips currently incoming file and tells remote do not sent it any further. This command may be not accepted by some mailers.

Close - shuts down the line currently visible.

See also: Mailer Window


Poll submenu

This submenu contains poll managing commands.

Create - invokes Create poll dialogue. It is possible to create one or more polls (use space symbol to divide node addresses).

Poll info - displays useful poll information.

Reset - zeroes the failed tries counter of the selected poll.

Delete - deletes the selected poll.

Delete all - deletes all the polls and file requests created by Argus.

See also: Poll Manager


Tool submenu
KTool submenu

This submenu contains miscellaneous commands.

Compile Nodelist - compiles all Nodelists defined in Nodelist Configuration dialogue.

Nodelist Browser - invokes the Nodelist browser.

Edit File Request ... - use this command to edit or create a File Request.

Outbound Manager... - invoke Outbound Manager (not available in the current version).


Config submenu

Pathnames - invokes Directory Configuration dualogue

Nodelist - invokes Nodelist Configuration dialogue

Passwords - invokes Password Configuration dialogue

Start-up - invokes Start-up Configuration dialogue

Dial-up - invokes Dial-up Configuration dialogue

TCP/IP Daemon - invokes TCP/IP Daemon Configuration Dialogue

See also: Configuring Argus


Advanced submenu

This menu allows Advanced Configuration settings.


Window submenu

Create Mirror - opens another copy of the main Argus window - it has the same interior as the main Argus window. This feature allows you to see the activity of several lines simultaneously, or to manage the poll queue and look at transfer progress of a mail line etc.

List - not available in the current version.

Close - closes the current active window of Argus. If there are no mirrors opened, this command has the same effect as Exit.


Help submenu

Help Topics - invoke help topics list.

Help Language - select another language for Argus help system.

Help on Help - runs windows help system “how to use help”.

WebSite - visit RIT Research Labs Argus Web Site - http://www.ritlabs.com/argus/

Credits - great thanks to people there mentioned.

License - show program licence, you signed when installed Argus.

About - show program version, copyright and registration information.

Registration - register your copy of Argus. You must enter the registration key, obtained from the dealer, and a password. Visit http://www.ritlabs.com/argus/register.html or mail argus@ritlabs.com for purchasing information.


Argus configuration

This chapter contains following sections:

•	Directories

•	The Mail System-specific configuration dialogues

•	Confguration of Dial-up connections

•	TCP/IP Daemon configuration

•	Calling a node only within its Working Time

•	Address masks


Pathnames configuration

To get Argus to work correctly the user should define the paths to particular files and the Inbound / Outbound directories. This can be done using the Config / Path Names dialogue window.

This Chapter explains the Argus Home Directory and Special Directories.

The Home Directory is the root directory of the mailing system. If there is no full path defined for a specific directory, it will be placed in the Home directory.

Special Directories is a string grid, paths of Secure Inbound, Insecure Inbound, Temporary Inbound, Outbound and Log directories are defined there.

Default Zone number configuration

The default Zone number is used to determine the destination of files placed in the Outbound directory with the name defined in the Special Directories string grid. For example, if R:\FL\OUT is defined in the string grid as the Outbound directory and the Default Zone number is 2 (Europe), all outbound files for Zone 2 will be stored in R:\FL\OUT\, all files for other zones will be stored in directories R:\FL\OUT.XXX  (XXX is hexadecimal representation of a zone number).

See also: Binkley-style Outbound


Special directories

Mailing system directories: Secure inbound, Insecure inbound, Temporary inbound, Outbound and Log are discussed here.

Usually all Mailing system directories are placed within the Home Directory. If this is the case the user may omit full path names (like C:\FIDO\ARGUS\LOG) by defining the path to a directory in relation to the Home Directory. If one has, for instance a Home Directory named C:\FIDO\ARGUS and wants to store Log files in the C:\FIDO\ARGUS\LOG directory, you only need to enter LOG in the appropriate place on the Special Directories configuration grid. If a path name begins with the backslash symbol ('\') the directory will be placed on the same drive as the Home Directory. If a drive name is specified in a path, there is no relation between that path and the Home Directory (the path name is absolute, in other words).

The following is an example of how the Special Directories path names are translated. The Home Directory is defined as C:\FIDO\ARGUS.

Record	Translated to
LOG	C:\FIDO\ARGUS\LOG
IN\SEC	C:\FIDO\ARGUS\IN\SEC
\IN\PROT	C:\IN\PROT
R:\FL\OUT	R:\FL\OUT


Home Directory
Home directory is the main working directory of Argus. All configuration and working files of the Mailing system are stored there.  These include: Argus configuration file (config.bin), the file with history lists of entry fields (history.bin), the incomplete/bad files log (badwazoo.log), the compiled Nodelist (nodelist.bin), Nodelist recompilation request flag (nodelist.ok), Argus shutdown request flag (exit.now) etc. Special Directories are usually stored in the Home Directory to keep things neat and tidy (but this is not a necessity). The current path to the Home Directory is shown in the appropriate dialogue window panel. To change it, use the 'Change' button in the right side of the panel. In most cases the Home Directory is defined just once at the installation of Argus and there is usually no need to change its path in future.


Secure inbound
Secure inbound is the directory where completely received files during password-protected mail sessions are stored.

See also: Special Directories.


Insecure inbound
Insecure inbound is the directory where completely received files during non-password-protected mail sessions are stored.

See also: Special Directories.


Temporary inbound
Temporary inbound is the directory where files are momentarily stored whilst they are being received. Once files are completely received they are moved into the Secure Inbound or Insecure Inbound directories.

If there is a file with the same name in either the Secure or Insecure Inbound directory, the file to be moved will be kept in the Temporary Inbound until the duplicate named file is deleted or moved from the destination directory by an external program (Tosser or File-echo processor, for example).

If a file is not completely received due an unexpected termination of the session, the received part of the file will be stored in the Temporary Inbound directory until the file can be completed; in the next mail session the file transfer will resume from where it left off and not from the beginning of the file.

See also: Special Directories.


Outbound
Outbound is a buffer directory for all outgoing files. See Binkley-style Outbound structure for details.

See also: Special Directories


Log
Log is the directory where Log files are stored. Log files contain the activity history of Poll Manager (file polls.log), TCP/IP Deamon (file ipdaemon.log), periodically-launched applications log (file cronapps.log) and all dial-up and TCP/IP lines defined.

See also: Special Directories.


The Mail System-specific Configuration dialogues

This chapter explains how to configure the data specific to the location of the system and its intercommunication using the following dialogues:

•	Nodelist configuration

•	Password configuration

•	File Request configuration

•	Starup configuration


Nodelist configuration

The Nodelist is a list of nodes working within an FTN network. The Nodelist is an official document within the network (see FTS-0005 document for more details). Argus can work with one or more defined nodelists as well as without any Nodelist at all.

The Nodelist is configured using Nodelist Configuration dialogue available in Config submenu.

Files

Files is a string grid for specifying file names of Nodelists and Pointlists used by Argus.

It is possible to use Wildcards in file names:

*	any combination of one or more symbols
?	any symbol
%	any decimal digit ('0'-'9')

The number of Nodelist files defined is not limited, neither is their overall size.

Argus will allow you to work without a Nodelist. In this case the ‘phone numbers (IP-addresses) of nodes you're usually calling should be configured in the appropriate dialogue boxes.

The following is an example of a Files string grid with a standard FidoNet Nodelist and the Pointlist of net 2:5020:

‘Phones

‘ Phones is the string grid of telephone numbers prefix conversion. If a 'phone number begins with a prefix specified in the ‘Phone Prefix column, the prefix will be replaced with the contents of the “Replace With” part of the appropriate grid row. If there is no prefix specified in a grid row, all numbers except those converted with the grid rows above will be dialled with the prefix from the “Replace With” part of such a row.

This is an example of ‘Phones string grid:

According to this table, prefix 7-095- will be replaced with an empty string (so 'phone numbers with this prefix will be treated as local), prefix 373-2- will be replaced with 8w0422, all other numbers will be dialled with 8w10- prefix. Thus, the 'phone number 373-2-146151 will be dialled as 8w0422146151, number 7-095-654321 - as 7654321, and the 'phone number 46-46-738100 will be dialled as 8w1046-46-738100.

Argus also checks nodelist.ok file flag in its Home Directory and recompiles the Nodelist automatically.


Password configuration

Mail session passwords are defined in the Password Configuration string grid. It is possible to define one password for several nodes (the node addresses should be divided with a space). Note that address masks are not allowed.

If the mailer got an incoming connection with a system that has no password defined in the Password configuration, the session is non-password-protected. All the files and mail packets received during such a session are placed in Insecure Inbound. However, if the remote system sends a password in the session handshake packet, Argus adds “Remote proposes password....” record to the log file.

If a calling system sends a password other than that configured for one or more of its addresses, the session is terminated with a log record “Remote presented .... when .... required” (or “Remote presented no password when .... required”). Before the termination, Argus sends handshake packet with “BAD_PASSWORD” (or “NO_PASSWORD”) keyword instead of the real password to let the remote system  know the reason for failure. After that, “Password security violation - disconnecting” is added to the log and the caller is disconnected.

If passwords match, the session is password-protected and all the received files will be placed in Secure Inbound, “Password-protected session” record is added to the log.


Startup parameters configuration
Start-up configuration

Argus start-up parameters are configured in Start-up Configuration dialogue.

Configuring the automatic opening of Dial-up lines

By default, Argus is configured so that there are no lines opened at start-up. It is possible to determine which lines are to be opened at start-up - this just saves you having to open them manually. Note that all the lines to be opened must be pre-configured.

The lines to be opened at start-up are listed in Dial-up Lines / Auto-open list box. All other lines (which could be open manually using System / Open Dial-up Line command) are listed in Dial-up Lines / Manual-open list box.

To make lines open automatically at start-up, select the desired lines in the Manual-open listbox and press the '>' button - the lines will be moved into Auto-open list. To remove an auto-opening line from the Auto-open list, select it in the Auto-open list box and press the '<' button.

Configuring TCP/IP Daemon start-up

If you want TCP/IP Daemon to start automatically each time Argus starts, tick the Auto-run TCP/IP Daemon checkbox.

Fast logging

By default, Argus keeps log files closed and opens them only when it is necessary to append new data. It makes possible to move or erase these files without restarting of Argus. Option Fast logging tells Argus to keep log files always opened to avoid permanent opening and closing these files whenever it is needed to append a new log record. It saves system resources and execution time, but makes unable to move / erase log files during Argus execution.

See also: Extended logging.


Extended Logging

Instead of simple cronology, intended to be viewed by system operator, Argus also logs additional files:

access_log	Common chronology of transferred files in NCSA format
agent_log	Common chronology of remote mailer types in NCSA format
binary_log	Common chronology of sessions and transferred files and bytes in binary format

NCSA logs access_log and agent_log are possible to analyse by any NCSA-compliant log analiser. The example of such analysis are available at http://www.ritlabs.com/stat/argus.html - the most recent statistics of RIT Zeppelin Fido Server (2:469/38), produced by analog2.11/Win32 © Stephen R. E. Turner.

The structure format of binary log file binary_log is compatible with the same in T-Mail © Andy Elkin and BinkD © Dima Maloff. Use T-Hist © Michael Markowsky (2:5020/378@fidonet) for processing binary_log.


Configuration of Dial-up connections

This chapter contains the information specific to working via Dial-up communications. If you are using Argus for only for TCP/IP connectivity, you may pass this chapter and read about TCP/IP Configuration.

There are the following sections in this chapter:

•	Main Dial-up configuration panel

•	Mailer Line configuration

•	EMSI Data configuration

•	Communication Port configuration

•	Line bits setup

•	Modem configuration

•	Modem control characters

•	Dialling rectrictions

•	Node overrides table


Main Dial-up configuration panel

The Main Dial-up configuration panel consists of six pages, five of them are handling configuration parameter groups, the sixth one contains Node Overrides Table

Configuration parameter groups of Argus

Lines	Setup of Argus' Mailer lines
Station	EMSI Data Templates
Ports	Setup of Communication Ports used in Argus
Modems	Setup of modems used in Argus
Restrictions	Dialling Restriction schemes

Configuration Panel buttons

New	Create a new item of the current group with default parameters.
Edit	Edit the current group item selected.
Copy	Clone the selected item of the current group.
Delete	Delete the selected item of the current group. It is not possible delete the last item of Lines group and a default items of other groups.
Undelete	Recover the last deleted item of the current group.
Default	Make the selected item of the current group default..


Mailer Line configuration

This dialogue is designed to set up a Mailer Line’s parameters. Those parameters are used to determine what name the line should have, EMSI data must be transferred, the lines' hardware configuration etc. For combo boxes, default parameters for a group may be used - in this case if the default of a group is changed, the line will automatically use the new default value.

Line name	Name of the line as it appears on Tab title in Tab Control.
Station template	EMSI data to be sent in handshake packet by the line
Port	Communication port used by the line.
Modem	Modem uses by the line.
Restrictions	Dialling restrctions for the line.
Log file name	The name of the line's log file. If there is no full path name specified, the file will be stored in the Log directory .


EMSI Data configuration

EMSI Data configuration dialogue box contains three pages: EMSI, Banner and AKA.

EMSI

The information about the system to be transferred in EMSI-connection. Usually it is the same as in the Nodelist.

Station Name	The system name
Address list	Address (AKA) list of the system, divided by space
Sysop name	System Operator' name
Location	Geographical location of the system
‘Phone	The system's data telephone number
Flags	Nodelist flags

Banner

Banner is the text displayed to user connected to Argus with a generic terminal program (not with FTS-mailer) to obtain some console-based service by typing an enter sequence. Banner usually contains invitation, system policies, and the list of enter sequences.

AKA

Argus is able to transfer to a particular remote system address list that differs from specified in EMSI data table.

Remote addresses field can contain addresses and/or address masks (separated with spaces). So Argus will present AKA list taken not from EMSI data table but from Local addresses field, whenever it connects with such system.

AKA replacement works on EMSI connection and on BinkP as well.


Communication ports configuration

Asynchronous communications port parameters: COM port number, baud rate, flow control and data/stop/ parity bits.

Note that baud rates higher than 57600 should be used with caution - hardware or operating system could be too slow to manage the data flow which will cause the appearance of CE_BREAK, CE_OVERRUN, CE_FRAME, etc. errors in log file. The description of serial communication errors is beyond the scope of this manual.


Line bits setup

This dialogue, called from Communication Port configuration dialolue, is designed to setup data, parity and stop bits transferred by a communication port.

No parity, 8 data bits and 1 stop bit are the most widely used parameters. Usually there is no special need to change them.


Modem configuration

General Commands

Modem control characters are allowed.

Init.	ATZ|	Modem initialisation string. This string is sent to modem at line start-up, after a mail session finish, each two minutes of line inactivity (modem check) and before dialling a number.
Answer	ATA!	Answering string - this string is sent to the modem whenever RING response is detected and Argus goes into connection waiting state.
Dial prefix	ATDP	Dialling command prefix. Complete dialling command includes the prefix, the number to dial and the suffix.
Dial suffix	!	Dialling command suffix. Usually it is ! (control character CR without waiting)
Hang-up	!`v~~^`!!`	Physical disconnect command. Most of the modern modems could disconnect with lowering DTR signal. The string given in this example send CR, waits 0.1 sec, lowers DTR signal, waits 1.0 sec (usually it is enough), raises DTR, waits 0.1 sec, sends CR twice, and waits for 0.1 sec again.
Exit	none	Reserved for future use (the string to be sent at a line shutdown)

Responses

The standard modem responses are set in this string grid. All possible responses are divided by a space.  Space characters in response string must be replaced with underline characters.

Flags

It is possible to pre-initialise the modem in special manner just before calling a node with particular Nodelist flags (flags could be set in the nodes configuration of Argus). Dial Prefix and Dial Suffix could depend on flags as well.

Each row of Flags string grid is a combination of Flags list and override of Init. string / Dial Prefix / Dial Suffix corresponding to the Flags list. Flags list a logical expression where space character is OR operator and comma character is AND operator (AND has higher priority than OR).

For example:

Flags list column	Meaning
PEP	PEP
HST H16	HST or H16
V32B,V42B	V32B with V42B
ZYX,V34 32T	either ZYX with V34 or V32T

Overrides of Init. string / Dial Prefix / Dial Suffix placed in the second column of Flags grid are divided by slash character. If the appropriate value is to be taken from General Commands (no need to override the value in special manner), single full stop character must be used.

The following example illustrates the formation of dialling pre-init string and dialling command and, using values from General Commands and Flags Init/Prefix/Suffix.This also illustrates how different settings of Flags Init/Prefix/Suffix vlijauit on formation of dialling command and dialling pre-init string.

This example illustrates different Flags Init/Prefix/Suffix values generating different pre-init string and dialling commands with constant General Commands settings. The number is taken for example 323323 .

General Commands settings

Init.	ATZ|
Dial Prefix	ATDP
Dial Suffix	!
Flags Init/Prefix/Suffix	Pre-Init string	Dialling command	Comment
ATB1|/ATM0DP/!	ATB1|	ATDP323323!	Init. string - ATB1| Prefix - ATM0DP Suffix - !
ATM0|/ATDT	ATM0|	ATDT323323!	Init. string - ATM0| Prefix - ATDT Suffix - !
ATH1|	ATH1|	ATDP323323!	Prefix and suffix are taken from General Commands
/ATX7DP/@!		ATX7DP323323@!	There is no initialisation string to be sent
ATB0|/./@!	ATB0|	ATDP323323@!	Single full stop in Dial Prefix override - Dial Prefix is taken from General Commands


Modem control characters

This is the table of interpretation of control characters allowed in Commands string grid of Modem Configuration dialogue:

Character	Hex code	Action
`	60h	0.1 sec delay
~	7Eh	0.5 sec delay
^	5Eh	raise DTR signal
v	76h	lower DTR signal
|	7Ch	send CR (0Dh) symbol and wait for OK response with 3 sec time-out
!	21h	send CR without waiting
\	5Ch	send the next character as is (without treating it as a control character). E.g.: \~  -  sends tilde character


Fax reception

Argus has ability of Fax reception using external receiver programs.

Answer like +FCON, CONNECT FAX, or +FCO from modem signals the established faximile connection, and Argus launches an external fax receiver, as mentioned in External Fax Receeiver string of Modem configuration dialogue. It is possible to use handshake switches as described in Doors chapter.

Most of modern fax-modems have Class 2 because it is easy to use and implement software support, that is why your fax-modem must be set to use Class 2 to make it possible to receive faxes using Argus as a front-end . To do this, use +FCLASS=2 (or +FCLASS=2.0 for USR modems or +FCLASS=6 for ZyXEL modems) in modem init string to initiate Fax Class 2 operation. All other fax classes are not supported in the current version of Argus.

This is an example of Config/Dial-up/Modems setting for ZyXEL E+ modem for receiving faxes using BGFAX  B.J. Guillot:

External Fax receiver	c:\bgfax\bgfax32.exe /fzyx c:\bgfax h%h z /dte:%b
Commands/Init	ATZ|AT+FCLASS=6|
Commands/Answer	AT+FAA=1;A!


Dialling restriction schemes

Dialling restrictions schemes are designed to determine whether a poll is currently valid (i.e. it initiates 'phone call) for a particular dial-up line or not. Each dial-up line has its own restriction scheme; however, one restriction scheme could be used by several lines.

Before polling from a particular dial-up line, Argus checks whether the poll is valid according to the line’s Required and Forbidden groups; the call is initiated only if the poll is valid according to both condition groups for that line.

Scheme name - name of restriction scheme (as it appears in a line Restriction scheme combo box)

Required - necessary conditions for a poll to be valid. All the conditions stated must be satisfied to make a poll valid.  If there are no conditions stated, a poll is valid.

Forbidden - conditions making a poll invalid. If at least one of the conditions stated here is met the poll is invalid.  If there are no conditions stated, a poll is valid.

Three condition types are implemented in the current version of Argus: address mask, Nodelist flags and the beginning of a ‘phone number (usually 10 or 11 digits).

Conditions in each group are divided with a space character .

For example:

Required	+7-095- CM 2:50*/* HST	Call a node only if its ‘phone number starts with +7-095- and it has CM and HST Nodelist flags and the node is in Region 50 of Zone 2
Forbidden	2:5020/666.* +7-095-212- PEP ISDN	Don’t call a node if it or its boss has a node number 2:5020/666 or its ‘phone number starts with +7-095-212- or it has PEP or ISDN Nodelist flags


Node Overrides Table

Node Overrides Table is a string grid and it is designed for re-defining (overriding) the Nodelist information (to add or override 'phone numbers,  Nodelist flags and working time) for a particular node. If you want to override the 'phone number of a node or add some more numbers (in the event of a node having a multi-line mail system), you can use FTN addresses instead of 'phone numbers - in this case the 'phone numbers are taken from the Nodelist.

There are two opportunities which the Node Overrides Table gives to the user. Firstly, there is no real need to use the Nodelist and the secondly is that it is possible to define some special flags and use them in overrides in combination with Dialling Restrictions Schemes.

If a node is not listed in the Nodelist used by Argus, but there is a Node Overrides Table entry for that node and there are no flags specified, the node is not treated as CM - all Crash or Direct packets detected in Outbound will not initiate a poll outside ZMH (moreover, point addresses will never be polled), so sending mail to such node a can only be done manually. It is recommended you specify working times of a node in overrides using either the CM or Txy Nodelist flags even if that node is listed but it has no working time flags in the Nodelist.

Example:

Node	Override	Comment
55:133/561	+31-133-456-1850	'Phone number has changed
55:133/562	55:133/562,U,TYZ	Working time has changed
5:133/555	5:133/555,U,TAB,TDE	Working time has two intervals
55:133/563	55:133/563,CM,V34	Node has a new (V.34) modem
3:34/3443	333-031,CM 333-032,CM 333-033,CM	This is a 3-line CM node
3:383/513	3:383/513 3:383/550 3:383/560	This node has three other AKAs (which should be taken from the Nodelist)
3:383/514	3:383/513,HST,CM 3:383/550,V34,U,TAC	First line of this node is CM and second one has working time from ?? to ??


TCP/IP configuration

This chapter explains how Argus should be configured to use TCP/IP transport. If you are using only Dial-up connections, there is no real need to read this section.

•	TCP/IP Daemon

•	TCP/IP Daemon configuration

•	Special TCP/IP flags


TCP/IP Daemon

Daemon is the control centre which simultaneously handles the dynamic creation and shutting down of TCP/IP lines, controlling outgoing polls and incoming connections.

When an incoming TCP/IP connection is detected, Daemon creates a new TCP/IP mailer line and initiates high-level mail transfer protocol corresponding to the port where the connection is detected. Protocols and ports are defined in TCP/IP Daemon configuration dialogue

There are three FTN mail protocols implemented in Argus for working with TCP/IP:

•	Raw

•	Telnet

•	BinkP


Telnet TCP/IP protocol
Telnet is the same as Raw with only difference between them is that default IP port numbers are 23 and 60177 and data transfer is made accordingly to Internet standard defined in RFC 845.


Raw TCP/IP protocol
In Raw TCP/IP protocol data is treated the same way as a communication port data, so mail protocols used during Raw TCP/IP connections are the same as protocols used for Dial-up connections. IP port number 60179 is usually used for Raw TCP/IP connections.


BinkP protocol
BinkP is a new transfer protocol designed especially for using IP connections for FTN developed in 1996 by Dima Maloff. This protocol does not imitate a Dial-up connection, so it allows to use maximum performance because the absence of irrelevant data transferred within Dial-up connections (such as checksums for example) and using of two-way data flow. The default IP port number is 24554.


TCP/IP Daemon configuration

TCP/IP Daemon configuration dialogue is invoked with Config / TCP/IP Daemon menu command.

General

TCP/IP connection parameters are configured here.

The Incoming Ports string grid allows you to set-up TCP/IP ports which should be checked by TCP/IP Daemon to receive incoming connections. Each of three currently available protocols could be set for a number of TCP/IP ports - use space characters to divide port numbers in the string grid entry. If there are no ports set for a protocol, the protocol is not used by Argus for receiving incoming connections.

Station

This is the information about the system which will be transferred in the handshake packet. This information is almost the same as EMSI data, but if you are planning to connect with systems which are using BinkD by Dima Maloff, you should configure addresses in the Address List as 5-D FTN addresses (5-D FTN address is the 4-D FTN address plus '@' character and network name after it; e.g.: 2:469/38.77@fidonet.org) - if an address is not transferred in 5-D format, BinkD may refuse the connection.

Restrictions

These are the restrictions for outgoing connections. The principles of these restrictions are similar to those of Dialling Restrictions schemes

Required - conditions necessary for a poll to be valid. All the conditions stated must be satisfied to make a poll valid. If there are no conditions stated, a poll is valid.

Forbidden - conditions making a poll invalid. If at least one of the conditions stated is satisfied the poll is invalid. If there are no conditions stated, a poll is valid.

Two condition types are implemented in the current version of Argus: address mask and Nodelist flags.

Nodes

This string grid has the same purpose as Node overrides table , the only difference is that instead of telephone numbers IP addresses are used (it is possible to use symbolic addresses as well as digital ones) and it is possible to define IP port numbers which are available on a particular node.

Symbolic IP address should be enclosed in quotation marks, e.g.: 193.219.215.11 or "fido.ritlabs.com". If a non-standard IP port is used, its number should be put after the IP address followed by underline, e.g.: 193.219.215.11_60177 or "fido.ritlabs.com"_60177.

Flags specific for a particular node could be obtained from an IP Nodelist (the basic difference between conventional and IP nodelists is the use of IP addresses instead of 'phone numbers) or defined directly in the overrides.


Special TCP/IP Nodelist flags

TCP	Accordingly to IP Nodelist standard (which is used in regions 46, 50 of zone 2), this flag is required to show that node is able to receive incoming TCP/IP connections. Argus may ignore the absence of this flag - using of IP-address instead of 'phone number is enough.
IFC	Raw (ifcifo) (the default port number is 60179)
TEL or TELNET	Telnet (the default port number is 23)
BND or BINKD	BinkP (the default port number is 24554)


Configuring externals
Advanced configuration

Advanced configuration (of menu Advanced), includes the next items:

•	Externally-running applications

•	File Requests

•	Periodical polls

•	Events

As a rule, points are not necessary to edit these options.


Cron Format

Cron format is a simple but powerful way of describing periods.

Format

* * * * *	or	Minute Hour Day Month DayOfWeek
	Range
Minute	0-59
Hour	0-23
Day	1-31
Month	1-12
DayOfWeek	1-7 (1 = Monday, 2 = Tuesday, ..., 7 = Sunday)

You can also use a list of values, separated by commas e.g. "1,3,7", or using dash character to specify a range “1-5”. You can also specify an asterisk character - it defines a full range of values.

The item runs only if all criterias are fulfilled.

Examples:

* * * * *	Every minute.
59 23 31 12 5	One minute before year's end, and only if the last day is a Friday.
45 17 7 6 *	Every year at 17:45 on June 7th.
0,15,30,45 0,6,12,18 1,15,31 * *	On every full quarter of an hour at midnight, 6 in the morning, noon, 6 in the evening on the 1st, 15th and 31st of   every month on weekdays only.
0 12 * * 1-5	At noon on every day, if it is a weekday.
* * * 1,3,5,7,9,11 *	Every minute in January, March, May, July, September and November.
1,2,3,5,20-25,30-35,59 23 31 12 *	At the last day of the year at 23:01, 23:02, 23:03, 23:05, 23:20, 23:21, 23:22, 23:23, 23:24, 23:25, 23:30, 23:31, 23:32, 23:33, 23:34, 23:35, 23:59.
0 9 1-7 * 1	On every first Monday of a month, at 9 o'clock in the morning.
0 0 1 * *	At midnight on every month.
* 0-11 * * *	Every minute till midnight.
* * * 1,2,3 *	Every minute in January, February, March only!
0 0 * * *	Execute every day at midnight.
0 0 * * 3	Every Wednesday at midnight!

Cron string can be shortened by removing rightmost asterisks:

Full notation	Shortened notation
* * * * *	*
59 23 31 12 5	59 23 31 12 5
45 17 7 6 *	45 17 7 6
0,15,30,45 0,6,12,18 1,15,31 * *	0,15,30,45 0,6,12,18 1,15,31
0 12 * * 1-5	0 12 * * 1-5
* * * 1,3,5,7,9,11 *	* * * 1,3,5,7,9,11
1,2,3,5,20-25,30-35,59 23 31 12 *	1,2,3,5,20-25,30-35,59 23 31 12
0 9 1-7 * 1	0 9 1-7 * 1
0 0 1 * *	0 0 1
* 0-11 * * *	* 0-11
* * * 1,2,3 *	* * * 1,2,3
0 0 * * *	0 0
0 0 * * 3	0 0 * * 3


File requests configuration
File Request configuration

General

Main settings of File Requests service.

This string grid is designed to specify directories with files that may be requested within mail sessions (file base). It is possible to protect files of a particular directory with a password so a requesting system must send the same password whenever it requests a file from that directory.

Disable all requests	All file requests are denied if the box is ticked. NRQ flag will be sent by Argus in EMSI packet to advise a calling system not to send REQ files.
Recursive paths	Search for files recursively in all sub-directories of directories specified in the directories grid. The depth of recursion is not limited.
Allow Masks	Allow file requests with Wildcards. Long file name file masks are supported.
Real-time search	Search for files during mail session. If it is off, Argus builds and index file for requestable files and gets the information from there - it is faster for large file bases, but it requires re-compilation of the index file each time the file base is updated.

Aliases

Argus allows callers to request files using Aliases (also called magic names),  a caller does not need to know the real name of files requested. For example, FidoNet Nodelist is requestable from most FidoNet nodes as NODELIST while the real name of the Nodelist file is changing every week. Another example is the file list of a system, which is often requested using the Alias FILES.

Aliases are defined in Aliases string grid; Path column contains full path names of files to be sent for a particular Alias request, divided with a comma, space or semicolon; The Password column contains an optional password for each Alias entry.

External Request Processing (SRIF)

Argus has an external file request processing support using SRIF (Standard Request Information File), developed by Gordian Schuermann & Mirko Mucko.

External request processing is enabled or disabled using option Use SRIF. When this option is set, all other options above mentioned in this chapter are disabled, and all file requests are processed by the External Request Processor (ERP), not by Argus. The objective of SRIF method is to pass as a command line argument to ERP the name of temporary SRIF-file (which is created and erased after it is used, by Argus), containing all necessary information about files being requested.

The ERP file name and command line parameters are configured in Standard Request Information File - External Processor field. Special keyword %SRIF%, used only in this field, is being replaced to the name of temporary SRIF-file

This is an example of using AllFix © Harms Software Eng. as an ERP:

c:\fido\allfix\allfix.exe Rp -SRIF %SRIF%


Address masks
The asterisk character (‘*’) is used to group addresses with a mask.

Example:

1:*/*.*	All addresses in Zone 1
2:46*/*.*	All addresses in Region 46 of Zone 2
2:469/*	Same as 2:469/*.* - all nodes and points in Net 469 of Zone 2
2:469/*.0	All 3-D nodes in Net 469 of Zone 2 (without points)
2*:50*/10*	All nodes with node numbers starting with 10 (e.g.: 10, 102, 1001 etc.) in all Nets with numbers starting with 50 (e.g.: 500, 5020, 501 etc.) of all Zones with numbers starting with 2 (e.g.: 2, 22, 21, 202 etc.)
*:*/*	All FTN addresses


Periodical polls

Argus has an ability to create polls automatically, using Cron-periods. Polls created with cron are identical to polls, created by Outbound, and are disposed after a successful outgoing session with poll destination node.

If a periodical polls appeared when a poll to specified destination node already exists, all counters (Busy / No Carrier / No Answer) of this poll are zeroed.

See also Poll Manager.


Events

Event is designed to change some parameters (such as modem init strings, minimal allowed connect speed and so on) of the mailer line it is linked to.

Event has a cron-period, length of activity and atom list.

Opposite to periodically-launching applications and periodical polls, which are also using cron periods, event has no global influence on mailer - it changes some parameters of only lines it is linked to.

Atom - is an item that changes one mailer line option.

Thus, event that changes modem init string and required condition of dialling restriction, must contain two atoms: Modem Command Init Atom and Restrictions Required Atom.

Event changes parameters of only those lines, to which it is linked!

To link an event to a line use Events page of Mailer Line Configuration dialogue of Config / Dial-up menu.

See also:

Cron,

Atoms reference


Atoms

Atom is an item of event that changes one mailer line option.

Thus, event that changes modem init string and required condition of dialling restriction, must contain two atoms: Modem Command Init Atom and Restrictions Required Atom.

This is a list of atoms, currently supported by Argus:

Modem Command Init	Modem Init String. Can be used, for example, for disabling modem speaker in appropriate time, or for setting some protocol initialisation strings according a schedule.
Modem Command Answer	Modem Answer String. Most commonly used to set-up an appropriate protocol for incoming connections according a schedule.
Modem Command Prefix	Modem Dial Prefix String. Most commonly used to set-up an appropriate protocol for outgoing connections according a schedule, or when working via office ‘phone system.
Modem Command Suffix	Modem Dial Prefix String.
Modem Command Hang-up	Modem Hang-up Command String. This usually applied in conjunction with Modem Command Init Atom.
Restriction Required Restriction Forbidden	Required/forbidden restriction strings. Can be used, when working with telephone companies which vary cost of outgoing calls according to time of day. This atom can also be used with stations that works according to a specified schedule.
Replace Station	Change all station settings to a new template from Config /Dial-up / Modems. Used on nodes that works depending on schedule.
Replace Modem	Change all modem settings to a new template from Config /Dial-up / Station. Used that modem works with different settings to a specified schedule. Note, that when using this atom, communication port still lefts unchanged.
Replace Restriction	Replace restriction scheme to another one from Config / Dial-up / Restrictions. Can be used instead of two atoms: Restriction Required and Restriction Forbidden
Accept Files Required Accept Files Forbidden	Files required / forbidden for receiving. Can be used in ZMH to prevent receiving other files but FTS-0001 mail packets.
Accept Nodes Required Accept Nodes Forbidden	Nodes, required/ forbidden to establish incoming connection with. Can be used on hubs with time-shared access.
Accept Link Required Accept Link Forbidden	Link codes, required / forbidden for incoming connection. Link codes are enumerated through spaces. E.g. HST ARQ. Can be used for bouncing connections without error correction connect protocols.
Accept Speed Min	Minimal allowed connect speed.
Accept Freqs	Allows to refuse incoming file request processing.
Rings	Number of rings to answer. (0 = disable automatic answers)

See also:

Events

Poll manager

Configuring Argus


External applications configuration

Argus currently supports three types of external applications:

•	Postprocessors

•	Doors

•	Periodically-launching applications

Post-processors, doors and periodically-launching applications are configuring in Advanced / Externals dialogue.


Postprocessors
Post-processors

Post-processors are the applications intended to do some job with received files after the session finishes. The example of post-processors are echo tossers, netmail trackers, file-echo processors etc. To make a Post-processor starting after the session if particular files are received, you should specify the mask filter for those files  (list of file masks, divided by space, comma or semicolon character) in "Mask list" field.

%ARCMAIL% special keyword is equivalent to ArcMail mask list (*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?).

Mask list	String to execute	Comment
*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?	c:\fido\lanius\squish.exe in out squash	Execute Squish echo-mail processor after receiving mail bundle
%ARCMAIL%	c:\fido\lanius\squish.exe in out squash	Execute Squish echo-mail processor after receiving mail bundle
*.tic	c:\fido\fileecho\allfix.exe file -tossbad	Execute Allfix file-echo processor after receiving TIC file


Doors

Doors

Doors are special communication programs, that can be called from an FTN Mailer when a special character sequence is received instead of an FTN handshake packet. If a user calls an Argus-hosted system using a generic terminal program, he/she can enter such door program by typing such sequence. There is no special limitation for number of Doors could be called from Argus; if you want callers to know what Doors can be started, be sure that you have put such information in the Banner of a Mailer Line.

The most common enter sequence for BBS programs is two escape characters. Because escape character is not printable, backslash character should be used instead.

"Door and parameters" field contains path to a door's executable file and handshake switches.

Handshake Switches

The Door command line may contain special switches that are translated into appropriate string values before the external application is started. Each command switch starts with the percent symbol followed by a command character. All handshake command line switches are case sensitive, for example %c may not be used instead of %C.

This is an example of "Door and parameters" line translation into appropriate execution string, DTE rate is 57600, DCE rate is 21600, mailer line number is 2 and the port handle is 64:

Door and parameters	d:\max\maxn.exe -s%b -b%B -n%n -p%h
Translated execution string	d:\max\maxn.exe -s57600 -b21600 -n2 -p64

Even if there no command switches were specified, Argus still creates Environment variables which could be used by launched application:

	Environment	Description	Dial-up value	TCP/IP value
%B	ARGUS_DCE	Connect speed	DCE (modem to modem)	as assumed in TCP/IP Daemon configuration dialogue box
%b	ARGUS_DTE	Port speed	DTE (computer to modem)	same as %B
%e	ARGUS_CONNECT	Connect string (spaces replaced to underlines)	as returned after modem CONNECT word, eg:  "16800/ARQ/HST”	as returned after Argus TCP/IP CONNECT word, eg: "To 194.213.233.33 #24554”]
%E	ARGUS_CONTROL	Translated error control code	"MNP" if any of MNP, ARQ or REL string is present in the connect string.  Otherwise null.	Always "TCP/IP"
%L	ARGUS_NAME	Mailer line name (spaces replaced to underlines)	as in dial-up/lines/line name	"TCP/IP" plus number of TCP/IP connections, eg: "TCP/IP 3"
%n	ARGUS_LINE	Mailer line number	Number of entry in dial-up/lines list, eg "1" for the first line listed.	Number of active TCP/IP connection, eg "2" for "TCP/IP 2" line
%h	ARGUS_HANDLE	Communication resource handle	COM port Win32 handle	WinSock2 overlapped socket handle
%C	ARGUS_NUMBER	Port number	COM port number, eg: "1" for COM1 or "4" for COM4	TCP/IP port number, eg: 24554 for BinkD
%p	ARGUS_INDEX	Port index	zero-based COM port number, eg: "0" for COM1 or "3" for COM4	same as %C

If an external application is a true Win32-executable, it can inherit Win32-handle of an open communication port (or of connected Winsock2 overlapped socked) and use it for data transfer.

Special %Z switch

%Z switch is always translated to an empty string - it is intended to instruct Argus to close the communication port before executing of an external application, and to re-open the port after the application terminates. Z% switch is designed for launching of Windows 3.1 and DOS applications which are unable to operate with Win32-handles, so they must open and initialise the port by themselves.

Parameter %Z must be used with great care, because modem control signals (including DTR) are dropped by Windows communication driver when closing port. Most of modems used DTR dropping and rising as an initialisation sequence, thus your modem must be configured to ignore DTR signal to pass communication port to DOS and Windows 3.1 properly.

Handshake Switches are also designed to be applied in External Fax Receiver string of modem configuration dialogue.

The following steps, provided by Sean Rima, can be an example of setting up Argus with Proboard BBS (the modem is USR Sportster 28800 with Fax). These settings are for Windows NT but can be easily converted to Windows 95.

1. Add the FOSSIL driver to \winnt\system32\config.nt eg device=c:\dos\bnu.sys /p=01

2. Argus Config --> Dial-up --> Modems, Choose the Modem and in INIT, Add AT&C1&D0

3. Argus Advanced --> Externals --> Doors, Add line “Enter = pp”, “Door and Paramenters = c:\pb\proboard.exe %Z -b%B -p%C”


Periodically-launching applications

Argus can launch external applications and commands of system interpreter periodically.

Attention: executing commands of system interpreter are supported in Argus for Windows NT only. In Argus for Windows 95 is possible to launch executable files only. Nevertheless, BAT-files and system interpreter commands are able to execute by passing them directly as a command.com /c arguments, eg.: c:\windows\command.com /C myfile.bat

See also Cron.


Poll options

This dialogue is intended for setting up poll options.

The values of Busy, No c. and Fail fields are used as maximal values of poll counters, when reached, the poll is set to Stand-off (Idle) mode.

Retry Seconds field sets the number of seconds to wait before making next poll. The actual time length of Retry and Stand-off intervals is a random value within 0.5*n .. 1.5*n, or saying in other words, +-50%. For example, when Retry Seconds value is set to 100, the polls would be repeated with a random interval from 50 to 150 seconds. The tolerance interval of 50% is used to make polling more efficient - from the probability point of view.

Transmit hold on outgoing allows hold-flavoured bundles to be transmitted to remote during an outgoing connection.


We need your help!

There are parts that are not included in this manual because we are simply have no time to write such comprehensive program and the help file simultaneously. If you are willing and feel able to help us please contact us via e-mail: argus@ritlabs.com or 2:469/84@fidonet