                                                                              









                              T-mail ver. 2300


                        The system operator manual.







                                                                              







              The document and programm designed and writen by
              Andrey Elkin, 1992 and 93, St-Peterburg, Russia.
                 All documents translated to english by
                 Vadim Popkov 1993, Kramatorsk, Ukraine.






(C) 1992,93 by Andy Elkin                       (C) 1993 by Vadim Popkov
2:5030/15@fidonet                               2:4651/1@fidonet
2:5030/100@fidonet (T-Mail support node)        (T-Mail distribution node)
elk@tek.spb.su                                  jim@moddem.donetsk.ua

                                                                              
                                                                              
                                                                              
                                                                              

                                      CONTENTS


                                                                              
                                                                              
       0. RIGHT FOR DISTRIBUTION AND USING

       1. About T-mail 2300

       2. System requirements

       3. Agreement about addresses

       4. Configuration file (T-mail.ctl)

       5. Queue
         5.1 Serving queue
         5.2 Queue control
          5.2.1 Look up Queue
          5.2.2 Change current positions in Queue
          5.2.3 Change node status in Queue
          5.2.4 Hold status
          5.2.5 Immidiate status
          5.2.6 Priority status

       6. Immediate crash-Poll mode

       7. Phone number translation

       8. Sessions protection. Passwords
                                                                              
       9. Work up of incoming calls
         9.1 Reactions on ring
         9.2 External connection processing - start by string from modem.
         9.3 External mailers - start on key word
         9.4 Works with BBS

       10. Login in BBS after end of mail session

       11. Chat during session

       12. Events after mail session

       13. file requests
         13.1 file request processing limits
         13.2 address limits during file requests
         13.3 Describing directories (file areas) for file requests
         13.4 Defining aliases
         13.5 File requests with full path
         13.6 Transit file requests
         13.7 Remote file requests 
         13.8 File requests confirmation

       14. Personal postal boxes (MailBoxes)

       15. File addressed boxes (FileBoxes)

       16. Substitution list

       17. T-mail server

       18. Confirmations about sent letters

       19. Service lines in letters

       20. Connection of keys generators

       21. Use T-mail in multichannel systems
         21.1 Set task number. Scheme Master/Slave(s)
         21.2 Using "carried out" queue packer
         21.3 Using flags in multiline configuration

       22. BinkleyTerm compatibility mode

       23. Routing and events
         23.1 Poll
         23.2 Send
         23.3 Post
         23.4 Freq
         23.5 Exit
         23.6 Pack
         23.7 Set
         23.8 Exec
         23.9 Mail/Files
         23.10 Direct
         23.11 Hold and Freeze
         23.12 NoReq
         23.13 Deny
         23.14 Priority
         23.15 Boss

       24. Modem control
         24.1 DTR signal control
         24.2 Tuning COM ports
         24.3 Modem initialization
         24.4 Hang off during run external programs
         24.5 Carrier monitor

       25. Terminal mode
         25.1 External protocols connection
         25.2 Exit from terminal

       26. T-Mail semaphores
         26.1 Exit flag
         26.2 Sleep flag
         26.3 Alive flag
         26.4 Session flag
         26.5 Repack flag
         26.6 Flags for start external programs

       27. Work with faxmodems
         27.1 Hardware requirements
         27.2 How fax-gate work
         27.3 Sending facsimile messages
         27.4 Receiving facsimile  messages
         27.5 Fax cover page

       28. Users in local network (external nodes)

       29. Keyboard control

       30. Defining hot keys

       31. Sound effects

       32. Colour setup

       33. Command line options

       34. Errorlevels

       35. Thanks

       36. How you can get commercial T-mail version

       37. Standarts and documents

       38. Trademarks
                                                                              
       39. Conclusion



                       RIGHT FOR DISTRIBUTION AND USING

            Copyright 1992-93 by Andy Elkin. All rights reserved.
          These rules can be changed by author in any moment without
                                  warnings.

            T-Mail 2300, programs, documentation and accompanying files
        (hereinafter named T-mail) can freely be used, as well as copying
        distributing by any ways while following conditions:
                                                                              
         1) Files distributed in initial constant kind. It should be initial
            archive, made by author. The inclusion T-mail in another program
            packets for distribution or sale is not admitted.

         2) Receiption of profit from copying and/or distribution
            T-mail is illegal one. It relates to any persons, organizations,
            corporations and establishments, for exception officially proxyed by
            author with writen permission.

         3) Payment for T-Mail distribution can be levied, but it
            should not be over Your expences on distribution and/or copying.

         4) Quoting, reprinting or another use any parts of documentation or
            files, entering in T-mail, permited ONLY with referencing on
            author and original source.

         5) noncommercial T-mail using  is admitted by physical persons
            without receiptions the any direct or indirect profit from it
            using Any use T-mail for purposes any corporation, organization,
            goverment, church, school, fund or other jurisdiction person can
            not be admited without registration and can not be recognize as
            commercial. The use T-mail on equipment, belong to organization
            or other jurisdiction person, can be acknowledge as
            noncommercial only in the event that, T-mail tasks no connected
            with activity this or other organization.

        Author not assume on self warranty about using T-mail. Any
        consequences, financial and another losses, caused by using or
        non-using T-mail the most on self and/or together with another
        sowtware is Your personal business. Author does not bear
        responsibility on obligations T-mail distributors, dillers and
        salers.

            Information about receiving commercial version of T-mail
        and/or right to use T-mail for purposes organization, goverment,
        chruch, school or other jurisdiction person described in
        separate chapter at the end of given document.
                

                         1. About T-mail 2300.
        
           T-mail is mailer (otherwise - mail program), estimated for
        using in FidoNet type networks and support standarts, widely
        distributed in last years (EMSI/ZedZap/WaZOO).

          T-mail / Noncommercial introduce by self "facilitated" version
        of T-mail 2300. In it absent code, necessary for Fax-gate
        functioning, manipulations with facsimile messages Queue, for
        service Fax-modems (send/receive facsimile messages), as well as
        code for working with users in local network (external nodes).

          T-mail can functioning on multichannel nodes under multitask
          environment or local network.


       2. System requirements.

        - Computer, compatible with IBM PC/XT/AT/386;
        -  MS/DOS (PC/DOS) version not below 3.30;
        - not less 280  free conventional memory;
        - not less 32  free disk space;
        - Hayes-compatible modem ;
        - Communication Fossil driver.

        It is useful to define environment variable T-mail.
        For it is necessary to insert in file autoexec.bat string like

        SET T-mail=C:\T-mail\

           The significance this variable is the directory, where (on
        default) placed T-mail control files. Hereinafter this directory
        refers to as system one. In the event that this variable not
        defined, directory where placed executable T-mail.exe is
        considered as system.

        nessesary load FOSSIL driver.
        examples:

        BNU ( by David Nugent ):

                 BNU / R=1024 / T=1024 / M-
         - in autoexec.bat

        X00. SYS ( by Ray Gwinn ):

                 Device = X00. SYS E 1 T=1024 R=1024
         - in config.sys

         * notes: no sense make transmit buffer less 1024 bytes. slows
                  down and can cause failures at use in multilinear
                  systems or in non-productive environments. T-mail
                  correctly reset buffers at transmition errors.
                                                                              
                                                                              
       3. Agreement about addresses.

          T-mail uses FidoNet addressing.

        Means, that each node of network is described by unique combination
        of forth integers:

        Zone:net/node.point (4-d address) or
        Zone:net/node       (3-d address)

          More detailed about addressing you can learned
          from appropriate documentation about FidoNet.

          limits for component of address, to wich you must
        subdue using T-mail are such:
          Zone  - not more 1023
          net   - not more 32767
          node  - not more 32767
          point - not more 1023
                                                                              
          If in given document You meet the concept "address", then it
        meaningf just FidoNet-style address, for example, 2:5030/15.1

          In majority of cases (that is, there, where not stipulate
        specially) T-mail understands reduced address recording. While
        decoding T-mail uses main address of node (variable "Address")
        as base address.

          For example, if address of node 2:5030/15, then possible
        address 2:5030/15.1 record by following ways:
                                                                              
               2:5030/15.1
                 5030/15.1
                     /15.1
                      15.1
                        .1
                         1
                                                                              
        And address 2:5030/6.601 as:

               2:5030/6.601
                 5030/6.601
                     /6.601
                      6.601

        At last, address 2:5030/8 (2:5030/8.0) as:

                   2:5030/8
                   2:5030/8.0
                     5030/8
                     5030/8.0
                         /8
                         /8.0
                          8.0
                                                                              
         * remark: many sysops accustomed, that /8 and simple 8 is the same
           for node of 8.0 our networks. For T-mail it is different addresses:
           /8 - 5030/8.0, and 8 - 5030/15.8

        Hereinafter similar construction shall designate as: <address>

        Moreover, in most cases can be used addresses groups.
        For it using symbol '* ':

        2:*/*.* - All addresses in 2-nd zone
        5030/*  - same, with 5030/*.0 - all 3-d the nodes in network 2:5030
        /*      - same as above
        *.0     - same as above
        *:*/*.* - All addresses.

           Notes: everywhere instead of  *:*/*.* possible to be written
                  the word 'All'. (for example instead of Hold *:*/*.*
                  was possible to be written Hold All). The word 'Boss'
                  everywhere will be replaced with address
                  myzone:mynet/mynode.0 for points (4-d nodes).

        Hereinafter similar constructions shall designate as:
        <address group>

        address groups can be uniteed in address list, in wich
        groups or addresses follow each to other separeted by symbol
        "space", for example

        5030/* 5040/*.* !5040/2 237:*/* !237:50/*

        The symbol '!' is used to exclude addresses before it writen from list.
        This example must be read as:
        "all nodes in network 5030, all nodes in network 5040, exclude 5040/2.0,
         and all nodes in zone 237 exclude nodes of network 50".

        The address list can be contained in separate file. Then instead
        of address list nessesary indicate the name of this file, with
        preceding '@' symbol. Inside of file with address list symbol
        0xD (new string) also can be used as delimiter.

        For example:

        @nodes.lst
        Or
        @c:\T-mail\dummy\nodes.lst

        At last, the address list, can include some nodelist flags.
        For example:

           5020/* CM !MNP

         Will mean following: "all nodes of network 5020, as well as all
         CM nodes CM, exclude nodes, possessing MNP flags in nodelist".

         Here the nodelist flags , wich possible to be used in these
         construction:

            CM,HST(includes HST,H14,H16),MNP,V42,V42B,V32,V32B,PEP,
            ZYX(availability of this flag include also V42,V42B,V32,V32B).

        Hereinafter similar constructions shall designate so:
        <address list>.

         therefore, if to You meet the designation

        <address>, this should be mentioned as unique address, exactly defined.
        if <address group> , than can be defied "collective" address;
        If < address list >, than list of collective addresses can be defined or
        one name of file, wich contained this list.


       4. Configuration File (T-mail.ctl).

          At start program reads out settings from file T-mail.ctl. If
        defined environment variable T-mail, than file searched in
        directory, defined by this variable. If it not defined, T-mail
        searched for T-mail.ctl in directory, from where run program
        T-mail.exe.

        The configuration file is textual one. It's format is such:

        [[<task ident>]] <variable> <the significance> [;<comment>]

        Comments begin with ; and continue to end of line (symbol 0xD or 0xA).


       5. Queue.

          The concept of mail Queue is one of the most important for any
        mailer. Moreover, large part of time mailer serving
        Queue. Some mailers, as FrontDoor can create queue,
        by look up letters, which must be sent to destination,
        some another, as BinkleyTerm, serve queue, which
        prepares for it - by external program (f.e. echoprocessor).
        T-mail combine both these approaches, which divide all
        mail programs on 2 groups - ArcMail-attach mailers and
        OutboundArea-style (or bink-style) mailers.

          In case ArcMail-attach mode the base for Queue creation is
        netmail (network mail). It some area, which contained files in
        predefined format - letters (*.msg). The packer (usualy built
        in) look up these letters and build outbound queue pursuant to
        routing rules and service attributes.

                  Each Queue "cell" join to address and contain
        information about what necessary sent to specified address - it
        id direct letters for this node, letters which routed via this
        node , files, which can be sent together with these letters
        (fileattached), as well as file requests on this node.


       5.1 Serving Queue.
                                                                              
          If the node "bring" in queue, it yet not means, that T-mail
        will call this node and try send mail there. Below the approach
        p⪮ to state algoritm is made, which is used p analysis of
        current position in Queue.
                                                                              
        So, when T-mail will call node  in Queue?

        - whether has at least one node in Queue the status priority? If yes,
          then analyzing whether has node  this status.

        - analyzing , whether it is possible in present time call node :
            ? value of Call_Time variable
            ? whether telephone of node is known 
            ? whether is not present Freeze statement for X
            ? whether  accepted call in present time:
                      in nodelist  - flags , OH
                      in subst.lst - time/htime

              If calls not accepted, then analyzing, whether the status
              immediate present for .

           ? whether present Hold statement for X
           ? whether has not the node the status Hold
             (set by operator pressed Ctrl-H)

         - analyzing, which type of mail psesent for node :
           ? whether is present simple mail
           ? whether is present file requests
                      If found out only file requests, than
                      analyzing when node  serves file requests:
                               in nodelist   - flags FR
                               in subst.lst  - ftime
                               in events.ctl - NoReq
                                                                              
         - analyzing, whether reach the number of call attempts to this node
            the value of Call_Tries variable.

         - in multiline system analyzing, whether call already another
           channel on this node at present time (busy flags).
                                                                              
         Naturaly, in reality this algoritm look some differently
         because it optimized, but all described steps present in them.


       5.2 Queue control.

       5.2.1 Look up Queue.

           If queue is so large, that is not fit in allocated window in
         bottom half of main T-mail screen, it is possible to be taken
         advantage of By keys <up>,<down>,<PgUp>,<PgDown>,<Home>,<End>
         for Queue "scrolling". The key Alt-M "zoom" queue on whole
         screen.

       5.2.2 Change current positions in Queue

         Executed by keys <left>, <right> (or <Ctrl-up>,<Ctrl-down>),
         <Ctrl-PgUp>, <Ctrl-PgDown>, <Ctrl-Home>, <Ctrl-End>. The
         current position is marked by small triangle near address.

       5.2.3 Change node status in Queue

         The user has the opportunity to quick change the node status
         in Queue. The status displayed by appropriate letters:

          H - hold status
          I - immediate status
          P - priority status

         If node has received the appropriate status in result of
         operator actions, this status will be valid during limited
         time interval, defined by CH_Interval variable (default 1 hour).
                                                                              
       5.2.4 Hold status

         In the event that the node has received the status Hold, will
         mean that on appropriate time interval will act Hold rule
         for this node. Simply, the calls to this nodes will be delayed.
         Temporary cancel hold status possible only by more strong
         device - by set immediate status.

                                   For list of nodes  For current in Queue
         The hold status set       Ctrl-H (BackSpace)        H
                       reset       Ctrl-U                    H
                                                                              
       5.2.5 Immidiate status

         If node has received this status, T-mail will ignore during
         described time Hold rules, and time into which this node accept
         callse. However if acts Freeze rule for this node, anyway calls
         to this nodes will "frozen".

                                   For list of nodes  For current in Queue
         The immediate status set  Ctrl-I (Tab)              I
                            reset  Ctrl-R                    I
                                                                              
       5.2.6 Priority status

          Equal to action priority rule (in events.ctl).
          The nodes, possessing this status, will "to be served" at first.
          No any another node will be served until exist at least one queue
          entries with priority status.

                                   For list of nodes  For current in Queue
          The priority status set  Ctrl-P                    P
                            reset  Ctrl-C                    P
                                                                              

       6. Immediate crash-Poll mode

          This mode need for extremal quick communicate with some node
        and establish mail session, ignore all: queue, priorities, work
        time of node and etc. When T-mail is in Crash-poll mode, it does
        not answer on incoming calls and does not makes pause between
        calls to specified node.

          To enter this mode, necessary press keys <Shift-Tab> and
        write address. T-mail will call this address
        until the successful session. Operator has the opportunity escape from
        this mode to normal by second time press <Shift-Tab>.
        The number of attempts during crash-poll is not taken into account.
        Instead of address it is possible indicate phone number of node, with
        precedeing '#' symbol.

          In time of Crash-Poll mod T-mail continue work with packing new
        mail, completion of events and analyzing flags. In case of exit
        from program crash-poll mode is automatic switched off.


       7. Phone number translation

           Phone numbers, contained in nodelist, usualy must be
        translated as far as there they represented in international
        form , including country code and city code. Translation
        performed in accordance with translation rules. These rules
        described in section Dial Control in file T-mail.ctl.

           The syntax:

          Dial  <substring to be changed> [<new substring>] [|<suffix>]
          Dial  International  <substring for international calls>
                                                                              
             Whole can be defined not more 20 translation rules.

           If translating number contained appropriate fragment,
        described in one of fields <substring to be changed> translation
        rules, it will be replaced on <new substring>.

           Notes: During search T-mail using first suitable rule,
           therefore you must use (for Peterburg) next order:

        Dial  7-812-                ; Local calls
        Dial  7-        8W          ; xUSSR calls
                                                                              
         this number will translated as

        7-812-123-4566 will translated in 123-4566;
        7-095-123-4566 will translated in 8W095-123-4566.

           Moreover, you can use "suffixes" for example if
        you phone station required dial own number at the end.
        Suffix string must be writen after '|' symbol.

        using such record:

        Dial 7- 8W|210-1222
                                                                              
        will take effect that number 7-095-123-4566 will translated
        into 8W095-123-4566210-1222.
                                                                              
          * specific case: international calls. In order to define
            prefix for dialing numbers with country code not matched
            with defined Country variable in T-mail.ctl, the
            key word International should be used. For example:

        Dial   7-812-                 ; Translate Local numbers
        Dial   7-            8W       ; Translate this country numbers
        Dial   International 8W10     ; International calls prefix
                                                                              
                                                                              
       8. Sessions protection. Passwords

            Passwords checked before session. In the event that password for
        address defined and does not coincide with password transmited during
        EMSI handshaking, than T-mail substitute in EMSI packet instead of password
        warning message and "hangs up" after receive EMSI_ACK.

        Passwords described in file, defined by Security variable in
        T-mail.ctl.
        Example:

        Security     password.lst      ; Security list

        Each string of this file contain address and appropriate password.
        For addresses observe agreement about ADDRESS (see part 3).

        Example:
                                                                              
         2:5030/2   Password1
         /6         Password2

        Besides of file defined in Security variable , passwords can be given
        in field PASSWORD in substitution file subst.lst (see part 16)


       9. Work up of incoming calls
         9.1 Reactions on ring

           When T-mail not calling and is not engaged by completion external
        programs, it is in state of expectation of incoming call. T-mail
        answers on incoming call only in case if in
        present time it permited by Answer variable (in T-mail.ctl).

           The call recognition happen when 'RING' word received from
        modem. Besides that it is possible detect RI signal from
        serial interface if variable HardWare_Ring set to yes.
        On default this feature is switched off.

           After answer (i.e. after sending in modem appropriate control
        string), T-mail begins to expect the connections. Time
        this expectation defined by Wait_Carrier variable. Operator can
        increase or to reduce this time by keys '+' or '-', or interrupt the
        expectation by pressing ESC. When the carrier occurs and
        string from modem, appropriated to one of connection speed
        or external program (all lines defined in file modem.ctl) is received, than
        T-mail begin logical connection phase.

           In commercial version possible also switch on adaptive
        answer, and if incoming call will from fax-machine that causes
        the appropriate actions for receive facsimile messages (see part
        27).

           If is not found neither of appropriate external program and
        neither of external mailer than after EMSI handshaking (initial
        "handshaking", password check and etc.) T-mail begin WaZoo mail
        session  - receive (Zmodem) files and mail, send  mail/files for
        presented node addresses, processing file requests.

         9.2 External connection processing - start by string from modem.

           Besides standard messages from modem, about established
        connection, it is possible define some (up to 10) - answers from
        modem, which appearance will started external program. Such
        strings are described in file modem.ctl as below:

        Extern <modem string> <dos command>
                                                                              
        For example:
                                                                              
        Extern  CONNECT 2400   do2400.bat
        Extern  CONNECT VOICE  do_voice.bat
                                                                              
         * notes 1: strings, defined as Extern, analyzed before standard
                    modem answers
         * notes 2: the name of called external program should not contain
                    spaces.

       9.3 External mailers - start on key word.

            When the connection is already established, T-mail begin
        "handshacking" - mailer identification procedure with EMSI
        protocol. Analysis addresses, passwords and another information
        preceded checking of fact, that on another side just
        EMSI-compatible mailer.
            For that T-mail some time (defined by Wait_Mailer variable)
        expects the specific parcel from another side. If it will EMSI
        packet, further the connection will go as mail session.

            If T-mail will receive "ESC-ESC" (2 symbol with hex code 01Bh),
        than BBS software (defined by Process BBS variable) will be run.
            Besides these cases, it is possible to set external programs,
        which will be started in case receiving an appropriate parcel or key
        word.
        These programs (Extern Mailers) defined in file T-mail.ctl:

         ExternMail <login word> <dos command> [<parameters>]
         for example:
                                                                              
         ExternMail  UUpc  c:\uupc\uu.bat
         ExternMail  Guest c:\bbs\dobbs.bat *P *B

         If during answer on call, will presented word (without spaces and
         terminated by EOL!), described as <login Word> than command file (.bat), appropriate to this word
         or appropriate program will be run.
         Whole it possible to describe up to 10 External mailers.

         <parameters> can contained specific constructions-macrosymbols
         , beginning from symbol '*'. Instead of them during start the program
         will be placed current macro values described below:
                                                                              
           Macrosymbols:                  What will placed:

             * P                      COM port number (1 for COM1 and etc.)
             * B                      connection baud rate
             * T                      T-mail task number )
             * L                      If port locked, value of lock_speed,
                                      otherwise will 0
             * N                      Count number (from 1) appropriate
                                      ExternMail description in file
                                      T-mail.ctl

         Example:

         ExternMail UUpc c:\uupc\uu.bat *P *B *N

         For COM3 and 2400 bps will run c:\uupc\uu.bat 3 2400 1


       9.4 Works with BBS.

           T-mail can be used together with BBS (bulluten board system)
        programs. Author check work with known products Remote Access 2.X
        and Maximus 2.X, but I hope problem should not arise if using
        another programs.

           In the event that the incoming call not from compatible
        mailer and not presented neither key words, defined
        ExternMail, during time, assigned to Wait_Mailer variable , as
        well as if received 2 symbols Esc (ASCII 27), then T-mail solving
        that it is terminel call , i.e. 'human caller'.

           Variable BBS_Time define time intervals,
        when permited give control to BBS. For example, if it is necessary
        permit enter to BBS at night on week-days and 24 hours in other
        days, you must set:
                                                                              
        BBS_Time    1.22:00-5.7:00,5.0:00-6.23:59
                                                                              
           Program, which starts by T-mail, defined in file
        T-mail.ctl by combination Process BBS:

        Process BBS <dos command> [<paramemters>]

        <parameters> can contain macrosymbols (similarly with,
        which are used in ExternMail). To it added one more:
        *H, which define maximal time in minutes, remaining to end
        of time, when enter in BBS permited.

        examples:

        Process  BBS   bbs.bat  *P *B *H
        Process  BBS   max.exe  -p*P -b*B -t*H -n*T


                                                                              
                                                                              
       10. Login in BBS after end of mail session

           In time of session T-mail can receive request to start BBS on
        end of mail session. This request can be received in different
        ways.
           At first by letter. If during unpacking of mail T-mail meet
        letter, addressed 'to: BBS', it will be considered as BBS request.

           Before will checked, whether permited enter in BBS at present
        moment, and if not permited, then field 'subj' will searched for
        password (variable T-password), and if found request will be
        satisfied in any case, and if not contain - in dependence on
        value of BBS_Time variable.

           Request for BBS session possible to send direct from T-mail in time the
        mail session by press Alt-T.

           If request is sent from T-mail, on ending mail session
        will run program, defined by Terminal variable.

           When T-mail receive request for BBS and solve satisfy it, then
        after end mail session control will given to program,
        defined in Process BBS.


       11. Chat during session.

           In case if the session was established with T-mail you can
        use chat mode. It is invoking by pressing Alt-C.
        After end of conversation for exit also press Alt-C (chat also will
        be finished automatically after end of session or if carrier lost.


       12. Event after mail session.

            Afterwards mailer session finished T-mail unpacking received .pkt
        the files and analyzing the names of another received files. In FTN
        technology used some "magic" file name extentions for specific cases.
        So, for example, echomail sending in packed files
        with extentions, appropriate to days of week, and should be believed,
        that the file xxxxxxxx.mo1 is echopacket created in monday.

            Echomail (arcmail) worked up by special program called
        echoprocessor and T-mail can recognize that received file is
        arcmail, and to start echoprocessor for tossing.

            Similarly, extention .?IC (.TIC, .ZIC etc.) characteristic for
        file echo mail and for processing it necessary run
        appropriate program i.e. simple TIC processor.

            For these cases in T-mail defined concept 'Process'. It is not
        certainly program or command, which must be start.

        Process can describe flag name , which must be created in order to
        to make clear for external programs, that was received file,
        accorded to this category.

         So, in T-mail.ctl:

         Process <macro>  [<flag>]<dos command|desqview program|flag name>

        Where <macro>:

           ArcMail          - For case, when received archived mail;
           NetMail          - If received mail (.pkt) and though one
                              letter has appeared not empty (i.e. contain
                              anything, beside symbols <space> and <cr>.
           Tic              - If received file(s) with extention .?IC
           Files            - If in general though one file was successfully
                              received.

          <flag>:
                                                                              
            ~               - Means, that after will gives the flag name,
                              which nessesary create in this case
            !               - Means, that for start <dos command> it is not
                              necessary to swap out, disposing all memory.



          <dos command>     - This name .com, .exe or .bat of file and
                              optional parameters.

          <desqview program>- full name of .dvp file describes which
                              desqview window nessesary open.
                                                                              
          <flag name>       - The flag name. If the path not specified,
                              flag created in directory, which defined
                              by <Flag_Dir> variable in T-mail.ctl.


         For example:
                                                                              
          Process  ArcMail  the_echo.exe -Toss -Scan
          Process  Netmail  msgedit.bat
          Process  Tic      ~anytic.flg
          Process  Files    c:\dv\tf-pif.dvp

        If not defined Process for ArcMail or Tic, received files are
        considered not especial different and for them will be executed
        Process, defined for Files.


       13. File requests.

           In node need receive something file (or few), which present in one
        of file areas another node, then for this node can be send File
        request (Freq).
           T-mail support WaZOO-style file requests. Means, that after mailer
        received .req file will be created list of files, which must be sent
        at the end of session.
           if during packing letters in mail packets was found letters (.msg)
        with Freq attribute, then will be created .req file, which will sent in
        session time.

           The letter with file request can be created directly from T-mail by
        pressing Alt-R. You will asked about the name of requested file and
        address(es), where file will requested.


       13.1 file request processing limits

          Usualy is many opportunities for limiting serving
       file requests - by time, size, number of simultaneously requested
       files and etc. Now describe limits (file T-mail.ctl).

           Requests satisfied in time defined by Freq_Time variable:
                                                                              
        Freq_Time     0:00-5:00,8:00-10:00
                                                                              
        The maximal number of files, which will sent, defined by Freq_Number:

        Freq_Number     5
                                                                              
        Total files size limited by Freq_Size variable:
                                                                              
        Freq_Size       512        ; in kilobytes
                                                                              
        Maximal time which can used for sent requested files defined by
        Freq_MaxTime variable:

        Freq_MaxTime     120       ; in minutes
                                                                              
        Minimum connection baudrate for satisfy file requests defined by
        Freq_MinBaud variable:

        Freq_MinBaud     1200


       13.2 address limits during file requests

           T-mail has the opportunity define addresses and/or address  groups
        file requests from which will satisfy Requests from another nodes will
        ignored. Access mode to file areas defined by Freq_Mode variable:

        Freq_Mode Any
                                                                              
        The possible significances:

         Any        - Request possible for all
         No         - Not permited in general (similarly, for that possible
                                               use Freq_Time  00:00-00:00)
         Nod        - Requests permited only for addresses which contained in
                      nodlist (listed only)
         Reg        - Requests permited only for addresses, which defined
                      in Freq_Nodes variable.
                                                                              
        Freq_Nodes    <address list>
                                                                              
        For example:
                                                                              
        Freq_Nodes     2:5030/*.* 2:5010/*.* !5030/99 !5030/999
        Freq_Nodes     @c:\T-mail\frq_nodes.lst                 ; from file.
                                                                              
        (see "Agreement about addresses", part 3)
                                                                              
                                                                              
       13.3 Describing directories (file areas) for file requests

        The list of directories, which accessible for file requests
        contained in textual file defined by Freq_Dir variable:

        Freq_Dir       dir.frq

        (if path not defined file will searched in system directory, where
        T-mail placed). Each line in this file contain one directory.
        For each directory can be given password and/or address list of nodes
        which have permission request files from these directories.

        The syntax:

         <path> [!<password>] [<address list>]
                                                                              
        Here example (file dir.frq):
                                                                              
       c:\files\info
       c:\files\area3 5030/*.* !5030/4 5020/* 5000/*.*
       c:\files\area4 ! password_of_4 5030/*.* !5030/4 5020/* 5000/*.*

          In first case simple defined the directory, in second - directory
       with address list, in third - additional password for requests from
       this directory.

          If password for directory given, request file should writes
       differently - for example, for file labuda.ext from directory area4 you
       must write 'labuda.ext!Password_of_4'. Only then the file will sent.

          * Limitation: whole no more than 70 directories for file requests
            can be defined.

       13.4 Defining aliases.

          Frequently file requested by alias not by name For example, widely
        used alias 'FILES' for sent file contained archived file list of all
        BBS file areas. At each node this file has the own unique name, but it
        is almost everywhere possible request 'FILES' and receive something
        like zeppall.arj in answer.

                                                                              
          The aliases listed in file defined by Freq_Ndx variable in
        T-mail.ctl.

         Freq_Ndx    index.frq

        Is the textual file and each string define one alias:
        The syntax:

        <Alias> <pathname> [<dos command>]

        Where:
        Alias        -  The alias
        Pathname     -  The full file name which according to alias. Wildcard
                        are allowed.
        dos command  -  name of .exe, .com or .bat file

          If defined <dos command> then it will executed during creating list
        of files which nessesary send as reply to file request be executed.
        <dos command> will get 3 parametrs:

        The alias, name of system operator of node which request file
        on this alias and address of node. In operator name symbols ' '
        (space) will be replaced on symbol '_' (underscore)
        For example:

        Files c:\files\100 all.arj
        T-mail c:\support\T-mail.zip do_reg.bat

          For request on T-mail alias will be executed do_reg.bat
        (example of start: do_reg.bat T-mail Anthony_Guetmansky 2:5030/6.0)

          As far as file requests executed in time of session,
        you must minimize execution time of <dos command>.

          If necessity is present, in field <patname> possible define the list
        of files, which will sent for request with alias.
        For example:

         T-mail  @c:\support\t-m.lst
                                                                              
          For such request will be sent files which defined
        (each on one lin) in t-m.lst.
                                                                              
          * limitation: in file with can not be more 50 lines.

       13.5 File requests with full path
                                                                              
          If defined password in T-mail.ctl variable T-password then
        possible requests with full path to file, for example:

        'c:\support\reg.lst!my_password_no_5'

         for such request do not act time and size limitation.
                                                                              
       13.6 transit file requests.

        If received .req file (and appropriate to it letter in .pkt) has
        destination address "not for us" (that address does not coincide with
        main address noi with one of ), further action for this request
        defined by variable Freq_Transit. If Freq_Transit set to Yes then
        during packing will be created .req for destination address.
        If Freq_Transit set to No letter with freq attribute will be destroyed.

        If such request will satisfied then received files will remain on node
        which realy requested and receive them. Is such doubtless
        limitation FTN which definr only direct file requests.
        In order to solve that problem entered "remote request" concept.

       13.7 Remote file requests.

        This work in such maner: "I ask T-mail on remote machine to request
        for me file and, when it will be received, T-mail will send this one
        to me".

         * How I can force T-mail to make this:

        It is making by service letter, addressed to T-mail. So that
        letter was accepted, I should know and indicate password, which
        defined by Freq_Password variable in T-mail.ctl on remote machine:

        Freq_Password Talon

        Here example of such letter:

        ===============================================
         From:   Andy Elkin                    5030/15
         To:     T-mail!talon                  5030/100
         Subj:   Freq  labuda.ext  5030/5
        -----------------------------------------------
        [body letter is empty]
        ===============================================
                                                                              
           When this letter arrive to node 5030/100, T-mail will create
        file request "from self" and delivers in queue. However in special
        file will saved information about who force request this file.

          If happens so, that file request will stisfied and really
        file labuda.ext will received then T-mail will create letter with
        fileattach aatribute. This letter and file will sent to author of
        request.

       13.8 File requests confirmation

          If file request was refused T-mail send packet with motivatoin letter
        To body of this letter will be added text from
        file defined by Freq_Policy variable in T-mail.ctl:

        Freq_Policy   policy.frq

          If 䠩 request satisfied, letter will contain list of
        files, which was sent and additional information (file size, date etc.)
        You can switch off this feature using variable Freq_Confirm:

        Freq_Confirm   No


       14. Personal postal boxes (MailBoxes)

          Frequently mailers are used with mail-robots, i.e.
        programs, which process letters to it.
        frequently used robots AreaFix, Filefix and similar ones.

          Traditionaly joint work look so: mailer on ending
        of session unpack mail and starts consistently some robots programs,
        which scaning mail directory and process "his own" letters.

          This variant possible in T-mail, as far as it is
        possible define process for work up incoming mail (Process Mail).

          However if system enough complex was reasonably avoid the situation,
        when the some programs look up whole mail directory (sometimes all for
        nothing!), searching "it's own" letters. It is work for letter packer
        , which must be informed about the list of such "specific addresses"
        and directories where letters for this robots received on main adress
        or AKA will be moved.

          Sometimes happens it is wonderful automatically separate
        somebody personal mail (for example, system operator) from
        common one. The desire redirect this mail to
        something another node can arise.

           For such operation with mail T-mail have MailBoxes (personal mail
        boxes) concept If addressat name matched with name of postal box owner
        T-mail move letter in directory defined for him.
           When this directory has the answer (in kind of letter) from "owner"
        of this postal box, T-mail will move it in main mail directory and
        will send on destination address.

        The list of postal boxes is set in file T-mail.ctl:

        The syntax:
        MailBox <name>=<path> [<destination address>] [|<dos command>]

        Each string contain "specific" addressat name, followed by character
        '=' and after it directory for mailbox and optional address if you
        desire destination address to be changed. It is possible to indicate
        program name which will be executed in case if in appropriate MailBox
        something has fallen.

          During mail packing T-mail look up MailBoxes as well as main mail
        directory. If there the new letter (for example the answer from
        mail-robot) has occurred it will be moved in mail directory
        and is packed for sendnig.

        Example (T-mail.ctl):

        MailBox  FileFix=c:\filefix\  | c:\filefix.bat -Scan -Toss -Hren
        MailBox  AreaFix=c:\areafix\
        MailBox  Ivan Pupirin=c:\mail\   5030/15.99   | echo Vanya! Wake up!

          Most interesting latter example, where main T-mail mail directory is
        mentioned as target directory. Obviously,
        then the letter will simple readdressed to new address.

        This method can use "remote SysOp" for receiption of his mail.

         Limitation: Whole can be defined not more 50 MailBoxes.

         Notes: When T-mail start nonexistent directories for MailBoxes will
                be created

         Warning: if readdress mail to main mail directory you must mandatory
                  change destination address, because you can looping T-mail
                  when it will try process such letter


       15. File addressed boxes (FileBoxes)

          In difference from MailBoxes which designed for toss inbound
        mail, FileBoxes serve for optimize outbound flow.
        Usually, to send the file to some node, operator should create
        the letter with appropriate attribute (fileattached).

        This letter gives information to packer about necessity to include
        file in queue and serves for routing purposes  - you see file not
        contain information about destination node. However, on practice,
        majority of files send directly to destination node without routing.
        So, for example, files, contained echomail, always send directly.

          In such cases letters not necessary if possible let understand
        mailer to which node this files must be sent This problem can solve
        FileBoxes. The idea is such: for each address we have appropriate
        directory - FileBox. If connection with these nodes is established
        T-mail will send all files from this directory and erase files after
        sent. For give T-mail task to send file to some node, enough place it
        in appropriate FileBox.

          The unique considerable difference of such method from usual
        consists that the availability of files in FileBox is not reason for
        T-mail, that it will call this node. Moreover, T-mail does not
        know about that whether such files (and even is present the
        directory) until session with FileBox "owner" will established.
                                                                              
          As far as FileBox linked to appropriate address its name "is
        calculated" from address of node. Root directory for FileBoxes
        is set by File_Boxes variable in T-mail.ctl:

         File_Boxes   c:\T-mail\filebox\

        In this directory T-mail searches for the subdirectories, which names
        calculated from address zone:net/node.point with following rules:



        zznnnfff.pp
                                                                              
        where zz - 32-radix presentation of zone,
             nnn - 32-radix presentation of net,
             fff - 32-radix presentation of node,
              pp - 32-radix presentation of point.

        For example, for address 2:5030/100.1 directory will have such name:

        c:\T-mail\filebox\024T6034.01

        In more details this gear is described in T-mail API.

        For T-mail it is unimportant, exist directory or not. If it
        exists and it has the files, they will sent and be remove.

           Moreover default directories names it is possible obviously to
        deliver in conformity directory to address. It is done by define BOX
        in file Subst.lst (see chapter "Substitution list"). Then the default
        name is replaced with name defined in subst.lst.

       16. Substitution list

           The substitution list permits "redefine" and add data,
        which T-mail get from nodelist.
        It name defined by 'Substlist' variable in T-mail.ctl. By default
        T-mail searched for name subst.lst in system directory.

           Each string this file contain address (wildcards are allowed '*')
        and then sustituted parameters.

        The syntax:
        <address> <parameter name1> <value1> [<name2> <value2> ...]
        or
        <address> <flag> [<name2> <value2> ...]

        Where:
         <address> can be address or address group in accordance with
                   "agreement about addresses";
         <parametr name> <valuse> parameter name and value.

         * notes: in this string can be placed flags
                       for example: V32, V32B, ZMO etc. Naturally,
                       then <value> not needed.

             parameter name   Values              Comments
                              (examples)          (equivalents)

               Time           CM                   0:00-23:59
                              22:00-5:00
                              22:00-14:00          22:00-23:59,0:00-14:00

               Speed          1200                 define for at which
                              2400                 speed call this node
                              ...
                              24000
                                                                              
               Phone         123-4567             Replace phone number
                             8W123-22222          from nodelist.
                                                  this number NOT translated

               Dial          AT\N1DP              will be used this prefix for
                                                  dialing (specific dial prefix)


                                                                              
               BOX           c:\mybox\             Define different from default
                                                   FileBox for this address
                                                                              
               Wait          70                    Individual time of carrirer
                                                   expectation for this node

               Hidden        123-4568              phone of additional channel.

               HTime         like for TIME         Work Time for additional
                                                   channel.

               FTime         like for TIME         Time when file request
                                                   accepted by this node


               Password      PASS1                 Session password
                                                                              
                                                                              
               External      copy *F c:\hole       Define address as
                                                   external node
                                                   (see chapter 28)
                                                   and define DOS command
                                                   which must "send" files
                                                   to this address (aviable
                                                   only in commercial version).

               AKA           address according     Substitute this address
                             with "agreement       as main in sessions with
                             about addresses".     this node.
                                                                              
               ZMO             -                   Prohibit protocols
                                                   ZedZap and Direct Zap


                                                                              
               ZAP             -                   Prohibit protocol
                                                   Direct Zap
                                                                              
               CM V32 V42
               V32B ZYX         -                  Set appropriate flag for
               V42B H16                            given address
               H14 HST
                                                                              
                                                                              
           Parameter Aka p ᫥騬 p:
        ᫨ p砥 string :
                                                                              

               CM V32 V42
               V32 B ZYX -                         Establishs for
               V42 B H16                           Addresses appropriate
               H14 HST                             .


           Parameter Aka used as follows:
        If found string like:

        66:66/*.*=Aka 66:66/1.0 Time CM SPEED 2400
                                                                              
        then for all addresses in net 66 in zone 66 will be presented address
        66:66/1 as main one.
                                                                              
           Parameters Time and Speed in example say that all 66 zone ready
       accept calls 7 day per week 24h per day with spped 2400:- )
                                                                              
           Flag ZAP must be used if necessary prohibit send or receive files
       by Direct ZedZap protocol.

           Flag ZMO must be set if necessary to be used classical Z-modem 1 K.


       17. T-mail server.

           T-mail server can be used with assistance of
        service letters. This usual letters, but they addressed to T-mail.
        The field 'To: ' of such letter should contain construction:

        T-mail | <T-password>,

           Where <T-password> is T-mail server password defined
           by appropriate variable in file T-mail.ctl.

        * notes: REQUEST task will be executed with using any of 2-th
                     passwords defined by T-password and Freq_password
                     variables.

        For example:
        -----------------------------------------------
        From: Andy Elkin                      5030/15.1
        To:   T-mail |my_password_no_5        5030/15
        Subj: Send  c:\T-mail\files\t-2300.arj  /27 /51
        -----------------------------------------------
                                                                              
        * notes : Space will be ignored.

           The field subject of service letter contain the task for T-mail
        server.
        The type of task defined by key word which should be placed first.
        The task syntax is:

        Poll    <address>          - Forces T-mail create packet(s) and establish
                                     mail session with given addresses;

        Request <file> <address>  -  Forces T-mail request file from given
                                     nodes.
                                     information about it stored, and
                                     in case that file with conterminous name
                                     will be received, it will sent to author
                                     of request;

        Attach  <file> <address>   - send file to given nodes,
        Send    <file> <address>   - the same;

        Post    <file> <address>    - post textual file as letter and send
                                      to given nodes;

        Exec -                        To execute letter text as
                                      command file.

        Set <variable> <value>     - set new value for <variable>.
                                     Is allowable to use any variable from
                                     file T-mail.ctl, however you must be
                                     carefull with variables like Address,
                                     Aka, Port.


        List <file area> -          Forces T-mail create answer message
                                     contained the list of file areas.
                                     The field <file area> should contain
                                     Last from parts of full path to
                                     file area.
                                     For example, if in file, defined
                                     by Freq_Dir variable is given path
                                     d:\Files\Windows
                                     Request list should appear so:

                                     To: T-mail
                                     Subj: List Windows

                                     If in file area present file
                                     With name files.bbs, it is used
                                     As body of answer.
                                     In another case will executed command
                                     Dir and it result will sent as
                                     body of answer message.
                                     for receive list of file
                                     area which not passowrd protected,
                                     no nessesary use T-password,
                                     Enough in field 'to:' write simple
                                     T-mail.
                                     However users, aware T-password,
                                     Have the opportunity not only to receive
                                     The lists of files in directories,
                                     defined
                                     By file <Freq_Dir>, but also from any
                                     another. For it necessary in request
                                     indicate the full path, for example:

                                     To: T-mail | password
                                     Subj: List c:\files\private\

                                     To receive the lists of all
                                     Accessible file areas,
                                     It is possible to use symbol '*':

                                     To: T-mail
                                     Subj List *


       tasks examples for T-server:
       ----------------------
       To: T-mail | password
       Subj: Poll /2 /3 /6
       ---------------------

       ---------------------
       To:   T-mail|password
       Subj: Request filename.ext /3 /7 .1 33:36/*.3
       ---------------------
                                                                              
       ---------------------
       To:   T-mail|password
       Subj: Write c:\txt\my_txt.doc /16 /18
       ---------------------

       ---------------------
       To:   T-mail|password
       Subj: Set Answer 0:00-4:00
       ---------------------
                                                                              
       ---------------------
       To: T-mail
       Subj: List SUPPORT
       ---------------------

            wildcards using in addresses limited - can not be given more than
        one symbol '*'. Addresses are searched in nodelists, therefore if
        given address not present in nodelists then T-mail will ignore it

            task processed immediatelly after unpack
        letters, therefore you must be attentively when give EXEC task, because
        mail unpacking "on fly" and session can be aborted with timeout.


       18. Confirmations about sent letters

           In case if in sending transit letter set attribute RETRECREQUEST,
        T-mail will be create confirmation letter to author of original letter
        For that purpose will filled template contained in file audit.tpl.
        Instead of service fields T-mail substitutes the appropriate values so:
                                                                              
                         ~U - name of letter author;
                         ~P - name from 'TO:' field;
                         ~N - original address;
                         ~A - own address;
                         ~L - address where the letter was sent;
                         ~D - date;
                         ~T - time.

           Such confirmation will created only in case if in file
        T-mail.ctl variable Audit_Send_Msg (on default - No) set to Yes

        Audit_Send_Msg   Yes

       19. Service lines in letters.

          Some specific lines T-mail accept as service and causes
        non standard actions. Service lines should placed at
        beginning of body letter.

         Hold letter

        Hold to [hh:mm] [dd[-mm[-yy]]]

        The occurrence lines of such kind forces hold packing of this
        letter until moment defined by fields time and date.

        examples:
                                                                              
        Hold to 3:00 15/12/92
        Hold to 16-12-92
        Hold to 16/12
        Hold to 4:00 16
        Hold to 4:00
                                                                              
        If date not given it assuming current one.

        If time not given but given date then letter hold until midnight of
        given date
                                                                              
        If is not mentioned time, but the date, letter p before
        half-night of mentioned date is mentioned.

         Redefining routing
                                                                              
        Route to <address>

         ⠢ p 㯠 쬠 pp  rules
        pp⨧樨  p㤨⥫쭮 p  <address>
        Forces T-mail ignore routing rules defined in events.ctl during packing
        and send letter via given address

        examples:
                                                                              
        Route to 5030/2
        Route to /2
                                                                              
                                                                              
           T-mail   .. pp 祩.  砥,
         ᫨  time ᨨ  p 䠩  extention .REG,
        믮 (  砭 p 䠩) 䠩 autokey.bat.
         before 4 pp
        -   p⮣ .REG 䠩;
        - , 㤠 ᫥  "⢥"  pp 祩.


       20. Connection of keys generators

           T-mail permits connect keys generators. Means, that if
        in session time the file with extention .REG was received then
        (immediately after receiving of files) will be executed file
        autokey.bat.
        To it will be given 4 parameters
        - full name of received .REG file;
        - path, where need place "answer" from keys generator.
        - name of system operator of calling node
        - address of node

        For example:

        autokey.bat c:\files\raemail.reg e:\tmp\ Dmitry_Klimenkov 2:5030/1.0

        Spaces in name system operator are replaced on symbols '_'.

          the "answer" should represent by self the file with name
        autokey.lst, each string contained full file name, which
        necessary send to given address.
        For example:
                                                                              
        c:\raemail\raemail.key
        c:\support\raemail.pkt
        c:\support\welcome.doc
                                                                              
          Then control will returned to T-mail and files that reffered in
        autokey.lst will sent in that session.

          This gear possible to use not only for keys generation, but also for
        handle another requests "on fly".
          But you must remember that request processing
        should not be long, as far as session can be aborted.
        T-mail can wait about 1.5f minutes, but another
        mailers can have less timeout value.


       21. Use T-mail in multichannel systems.
                                                                              
          T-mail is not multichannel mailer in common sense, that is one copy
        of T-mail can serve only one modem. However, some T-mail copies can
        work simultaneously in in multitask environment (local network or
        multitasker OS/2, DesqView, Windows and etc.).

           If T-mail running under DesqView it can gives back timeslices CPU,
        and possibility output to screen via BIOS (variable Output) permits to
        use T-mail under Desqview even on AT/286.

       21.1 Set task number. Scheme Master/Slave(s)

          For normal "duty distribution" for each T-mail.exe,
        running in multiline system, should be given unique number
        of task. It is reached by use option -N at start T-mail.exe:

         T-mail -N1      - task number 1 - on default
         T-mail -N9      - task number 9

         Further, mailers should be used in scheme Master/Slave(s)
         (leading/driven). For that in T-mail.ctl one task
         must be set as Master, and other as Slaves.

        [1] Task_Mode      Master
        [2] Task_Mode      Slave
        [3] Task_Mode      Slave
        ...

          That T-mail, which was running with option -N1 (Master) undertakes
        function of packer. Other will receive information about Queue via
        temporary file and by special flags will inform T-mail/master about
        necessity appropriate proccess queue. In such case, only one T-mail
        will look up letters and prepare it's for send building mail queue.

          As far as files T-mail.ctl and evens.ctl are common for all
        tasks, then you must use field <task ident> for some variables.
        For example:

        [1]  Log  T-mail1.log
        [2]  Log  T-mail2.log
        ...
                                                                              
       21.2 Using "carried out" queue packer

          Look up mail, creation of packets and another function, which
        executes T-mail/master, can take long time, for example, if for
        processing echomail T-mail starts echoprocessor.

          It is then possible to use one from T-mail's only for these
        purposes, "without modem".

        Example (T-mail.ctl):
                                                                              
        [1] Task_Mode   Master
        [2] Task_Mode   Slave
        ...
                                                                              
        [1] Port  0
        [2] Port  1
        ...
                                                                              
        In such case T-mail/master will execute only package functions, start
        external programs and etc.

       21.3 Using flags in multiline configuration

          In scheme Master/Slave(s) has the one more opportunity
        distribute functions between tasks. For it serve flags.
        It explained on example from life:

        Example ( T-mail.ctl ):
        [1] Task_Mode   Master
        [2] Task_Mode   Slave
        ...
        [1] Process_Flag  anyarc.t-m  c:\T-mail\_echoes.bat
        [2] Process       ArcMail     ~anyarc.t-m
        ...
                                                                              
          As it is visible, T-mail/slave after received echomail creates flag
        anyarc.t-m. When T-mail/master will see this flag then it starts
        appropriate process , defined by Process_Flag statement.

          Said true for other process functions (see part 11)


       22. BinkleyTerm compatibility mode

          Besides main arcmail-attach mode T-mail can support
        Bink-style outbound area. T-mail have not devices for manage outbound area
        this task must completely performed by external programs, echoprocessors and
        etc.

          To start T-mail in this mode necessary in T-mail.ctl
        set variable Bink_mode to Yes (by default No):

          Bink_Mode        Yes         ; Bink-style mode (no-ArcMail-attach)

         It is possible define interval (sec) during which outbound
         directory will be rescaned:

          Bink_Rescan_Time 100         ; Rescan period ( sec )

         also need define the directory for bink-style outbound:

          Packets       d:\outbound\out\        ; Outbound packets directory
                                                                              
           In case of operation on multichannel systems still
        necessary to use the scheme Master/Slaves, as far as for
        functioning T-mail it is necessary create queue. T-mail/Master
        in described mode will rescan outbound and create
        queue for T-mail/Slave.

          It's clear that Bink mode limiting T-mail features. In
        particular, routing rules (Mail, Files, Direct) lost the
        sense, as far as T-mail not packing mail.

        Deny rule still acts, but with some differences:
        It causes not include node in queue, however it not influence for mail
        packing.
                                                                              

       23. Routing and events

         File events.ctl define the 'events' list and routing rules
        for mails and files.

        The common syntax is such:

        [[<task_ident>]] [Critical] <keyword>  <parameters>  <time peroid>


        Rules for <task_ident> same as for T-mail.ctl:
                                                                              
        [<task number>]  - act only for given task number
                          (given by -N option)
        [M]              - only for T-mail/master.
        [S]              - for Slave
        [*]              - for all.

        [Critical]   -     Describes event as critical. For all events
                           is present risk, that it will skiped, if
                           time interval, given for this event has expired,
                           but mailer ould not execute it (long session, completion external
                           programs and etc.)
                           If the event is described as Critical, it will be
                           executed even then.

       ----------------------------------------------------------------------
           The key word                         That it sets
       ----------------------------------------------------------------------
                       For 'events':

           Poll                           Poll node (in defined Time)
           Send                           send file to nodes (in defined Time)
           Post                           send the file in kind of letter to
                                           (in defined Time)
           Freq                           Request file (in defined Time)
           Exit                           exit from T-mail with given errorlevel
        *  Pack (or RePack)               repack mail (all or for given addresses)
           Set                            "overload" parameter in T-mail.ctl
           Exec                           execute given .exe,.com or .bat file
       ----------------------------------------------------------------------
                      For routing rules:

        * Mail                            mail routing rules
        * Files                           files routing rules
          Hold                            prohibit call given addresses
          Freeze                          the same but ingnored immediate status
          Priority                        service at first given addresses
          NoReq                           Prohibit send file requests
                                          to given addresses
          Boss                            Forces always call again if
                                          connection lost
        * Direct                          Cancels any routing for given
                                          addresses
        * Deny                            Prohibit create the packets for
                                          given addresses

       ----------------------------------------------------------------------
        * - for multichannel systems these key words render the action only on
            T-mail/master.


       23.1 Poll

        The syntax:
        [task ident] Poll <address> <time period>
                                                                              
        examples:
           Poll   5020/35 1:00-6:00  ; Each day at 01:00
       [1] Poll   /2      0.21:00    ; every sunday at 21:00

          Poll used for force T-mail call defined address and get
        (if exist) mail for you node.
                                                                              
          This statement forces T-mail create the empty letter for appropriate
        addresses with attribute DIRECT (that excludes routing for this letter).

          If <time> approach but T-mail engaged (for example the long
        session), letter will pp as soon as possible,
        but not later than hour after <time>.
                                                                              

       23.2 Send

        The syntax:
        [task ident]  Send <filename> <address group> <time period>

        Example:
        [1] Send c:\files\info.zip /2 /4 /5.6 5070/35 1:00      ; Each day
                                                                  at 1:00
          This statement forces T-mail create letter with attribute
        Fileattached with given file for given addresses.


       23.3 Post

        The syntax:
        [task ident]  Post <filename> <address group> <time period>
                                                                              
        Example:
        Post c:\files\info.txt /2 /4 /5.6 5070/35 1:00   ; Each day at 1:00

          This statement forces T-mail create letters for given addresses
        File defined in this statement makes the body of letter.
                                                                              
                                                                              
       23.4 Freq

        The syntax:
        [task ident]  Freq <filename> <address group> <time period>
                                                                              
        Example:
        [M] Freq files /2 /4 /5.6 5070/35 3.1:00       ; Every Wednesday

          This statement forces T-mail create file requests to defined the
        nodes.


       23.5 Exit

        The syntax:
        [task ident]  Exit <errorlevel> <time>

        examples:
        [1] Exit 99 1:00             ; Daily per hour of night
            Exit 92 1.2:00           ; Till mondays in 2 night

          Forces T-mail to finish p with mentioned <errorlevel> If T-mail
        is engaged when <time> approach (for example, long session), it
        happned as soon as it released, but not later than hour after <time>.
        Try no use this statement without nessesity, as far as T-mail firing
        up it repack all mail, and can take long time for that process. More
        suit use 'Exec' statement (see below).
                                                                              
                                                                              
       23.6 Pack

        The syntax:

        [task ident]  Pack <time period>
        [task ident]  RePack <time period>
        [task ident]  Pack <address group> <time period>
                                                                              
        examples:
        Critical Pack 1:00
        Pack /2 /4 5020/4 1:00

          Forces T-mail to destroy all packets (or packets for given
        addresses) and build it again with accordance to routing rules.
          If T-mail is engaged when <time> approach (for example, long session),
        it happened as soon as it will released, but not later than
        the hour afterwards <time>.


       23.7 Set

        The syntax:
        [task ident]  Set <parameter=value> <time period>
                                                                              
        examples:
        [1] Set Time_Dial=100 5:00-9:00
        [2] Set Freq_Number=10 5:00-7:00
            Set Answer=0:00-12:00 5.20:00-0.22:00
                                                                              
          Permits change "on fly" parameters and variable values defined in
        configuration file (T-mail.ctl). Is indicated time interval during
        which acts statement.

          You must be carefull, for example, does not try to change
        in such maner the significance of PORT, Address and AKA variables :-).

          * notes: Old variable value will be lost
                   forever. Time interval define only, that it is necessary to
                   replace initial (value given during start in File
                   T-mail.ctl). If You want restore old value, it is necessary
                   restart T-mail, or (preferable) to use one more 'Set' for
                   another time interval.


       23.8 Exec

        The syntax:
        [task ident]  Exec <[flag]dos command|desqview program> <time period>
                                                                              
        examples:
        [M] Exec morning.bat 5:00                 ; daily at 5:00
        [M] Exec weekly.bat  0.0:10               ; weekly in Sunday at 0:10
            Exec mem /c >> T-mail.log 8:30-11:00  ;
        [1] Critical Exec c:\dv\ec-pif.dvp 1.9:00
                                                                              
          When <time> approach (but not later than after hour),
        T-mail starts the copy of Command.com and give to it <DOS command>
        as parameter.
                                                                              
        For .exe and .com files the copy command.com not loaded. In any case,
        T-mail makes swap on disk, free nearly all conventional memory.

         * notes: with <DOS command> possible to use flags-modifiers:
         '!' - do not make swap;
         '%' - do not save screen;
         '+' - record Queue structures, events and routing in temporary
                files and to read after return;
         '?' - show string 'Type Exit to return to T-mail..' before command prompt;

           Example:
             Exec! Weekly.bat  0:10         ;weekly run without swap to disk


       23.9 Mail/Files

        The syntax:
        [task ident] Mail  <address list> <address> [<time period>]
        [task ident] Files <address list> <address> [<time period>]

        examples:
        Mail  5020/* !5020/44.2 5040/* 5030/2 ; Time interval 0:00-23:59
                                              ; For nodes in nets 5020,5030
                                              ; exclude 5020/44.2
                                              ; route mail via 5030/2
        Mail  5030/1 5030/6 4:00-9:00         ; Time interval given explicitely
                                              ; route mails for 5030/1 via 5030/6
        Mail  5030/1 5030/6 3.4:00-6.9:00     ; route mails for 5030/1 via 5030/6
                                              ; since 4:00 Wednesday
                                              ; to    9:00 Saturday
        Files 5030/* 5030/6 6.4:00-6.23:59    ; since 4:00 to 23:59 every
                                              ; Saturday route files for
                                              ; net 5030 via 5030/6
        Mail  All   5030/2                    ; since 0:00 to 23:00
                                              ; route mails for ALL via 5030/2
        Mail  @nodes1.lst         5030/6      ; route mails for addresses
                                              ; from list via 5030/6
        Files @nodelist\reg50.net 5030/2      ; files for R50 via 5030/2
        Mail 5030/* 5020/* Hub                ; Hub routing for nets 5030,5020

        Predestination: sets routing rules for mails or files.

          During packing T-mail analyzing destination address letters
        attributes. If the letter is not labelled as Direct, further T-mail
        look up route rules, acting in given time and if finds destination
        address in <address list>, then pack letter for <address>. If this
        letter with attribute FileAttach, then T-mail will look up routing
        rules with key word Files otherwise search in Mail statements.

           You must remember following: T-mail look up rules from up
        downwards, (i.e. in that order in which they described in
        Events.ctl) until met suitable.
        Therefore more common rules must be placed at the end of Events file.

         * notes: for 4-d address acts default routing.
                  (if suitable rule was not found in events list):
              - If it is point own node (that is, address of node .0 and zone,
                net, node coincide), all mail send direct.
              - If "another's point", (that is, zone, net, node do not
                coincide or this node have 4-d address), all mail and
                files will sent via "boss-node" (same address as destination,
                but point field 0).
                For example, if given node address 5030/15.0, all mail for
                5030/6.602 will sent via 5030/6.

         * notes: as <address> can be used word Hub for example:
            Mail 5020/* Hub
          Then mail will sent to appropriate Hub.
          If Hub for node not defined, then first node from appropriate
          network is considered as hub.


       23.10 Direct

        The syntax:
        [task ident] Direct <address list>  [<time period>]
                                                                              
        examples:
        Direct 5030/* !5030/2 !CM 3:00-5:00
        Direct 5030/6.*
        Direct @nodes.lst 4:00-6:00

          Prohibit letters and files routing for given addresses.
        Means, that the mail and files for given addresses will
        sent directly.

        The specific case - points, i.e. 4-d addressed nodes.
        If present for example, rule
            Direct 5030/6.*
        mail and files for 5030/6.601
        will packed with mail to 5030/6.0 If You really want, that the mail
        for 5030/6.601 was allocated in separate packet, it is necessary
        obviously indicate 4-d address:
            Direct 5030/6.601


       23.11 Hold and Freeze

        The syntax:
        [task ident]  Hold    <address list>  [<time period>]
        [task ident]  Freeze  <address list>  [<time period>]
                                                                              
        examples:
        Hold   5030/* 3:00-5:00
        Freeze 5030/6.*
        Hold   @nodes.lst 4:00-6:00

          Prohibit calls to given addresses in given time . The difference
        Hold and Freeze consists that statement Hold will ignored if exist
        Immidiate status for node (this status occurs during packing letters
        with attributes Crash, Immidiate or if Immediate attribute given from
        console by operator by pressing Ctrl-I). Freeze - more "rigid"
        statement, if it acts for given node, T-mail will not there call
        "whatever has happened" (excepting given by operator Crash-poll mode
        from console by Shift-Tab).

        * notes: Crash-poll will not acts if call_time not permit.


       23.12 NoReq

        The syntax:
        [task ident]  NoReq <address list>  [<time period>]
                                                                              
        examples:
        NoReq 5030/* 3:00-5:00
        NoReq 5030/6.*
        NoReq @nodes.lst 4:00-6:00
                                                                              
          Prohibit send file requests to given addresses in
        given time.
        Can be usefull in the event that You know time when file
        request supported by given nodes. Also you can use it for prohibit
        freqs in ZMH.


       23.13 Deny

        The syntax:
        [task ident]  Deny <address list>  [<time period>]
                                                                              
        examples:
        Deny 5030/*   3:00-5:00
        Deny 5030/6.* 22:00-24:00
        Deny @nodes.lst 4:00-6:00

        Prohibit packets creation for given addresses in given
        time.
        If acts such rule, packets for given addresses will not be created
        nor put in queue.
        Can be useful for offloading Hubs in some time or if you have some fake
        point addresses (for example for gates or some robots like Galaxy game).



       23.14 Priority

        The syntax:
        [task ident]  Priority <address list> [<time period>]
                                                                              
         examples:
         Priority    5030/1 5030/6  3:00-4:00
         Priority    @r50.net       7:00-9:00

          This statement set for some nodes in given time priority status.
        Means, that if the mail for these nodes is present, T-mail will call
        it and try sent mail ignore all other queue entries. When all mail for
        nodes with priority status  will sent then T-mail begins call to
        another nodes too.

        * notes: You must use this statement closely, as far as misusing
                 T-mail will call in general nowhere :-(

                      for example if you give priority status for node which
                      holded or it's phone unknown As far as it should be
                      served first, T-mail will call nowhere (while present
                      mail for this node). Certainly, if this node get it's
                      mail then situation become better, but for long time.


       23.15 Boss

        The syntax:
        [task ident]  Boss <address list> [<time period>]
                                                                              
        examples:
        Boss 5030/*     0.3:00-6.5:00
        Boss 5030/6.*    22:00-24:00
        Boss  @nodes.lst 4:00-6:00
                                                                              
          This rule define T-mail strategy when connection lost during
        session. If during session with 'Boss' communication lost then T-mail
        will create Poll-packet irrespective of, in which phase disconnection
        happened. Can be useful when with another side acts 'Hold' rule for
        your address.

        Example Events.ctl:
       ;======This is EVENTS list for T-mail system for 2:5030/15=======
       ;
       ;
       Exit 99         8:30
       Exec daily.bat  6:15
       Exec Weekly.bat 0.0:10
       ;
       ;
       RePack 6:01
       Poll 5030/2  18:10
       Poll 5030/6  17:00-20:00
       Poll 5020/35 4:00
       Boss 5030/* !5030/2 !5030/29 0:00-23:59
       ;
       Hold   All 11:00-23:00
       Direct 5030/6.*
       Mail   5030/7 5030/6
       Mail   *:*/*.*   5030/2
       Files  *:*/*.*   5030/2
       ;
       ;       Below you can see examples with "complicated" syntax statements:
       ;      (it's will work, but I wrote more easy :)
       ;
       ;Mail 5040/* !5040/3.3  5030/* !/*.4    5030/7 1.0:00-5:23:59
       ;Mail @nodelist\r50.net 5030/3
       ;Direct 5030/*.* !/2 !/3 !/5
       ;Boss * !/2 !/4 .1  3:00-4:00
       ;
       ;======================= End of file events.ctl ======================
                                                                              
                                                                              
       24. Modem Control.

          The section "Modem Control" in file T-mail.ctl sets some
        parameters, used by T-mail with modem.

          Variable Modem define file name which contained modem control
        string and modem answers
        for appropriate situation.
          File modem.ctl, distributed with T-mail, contain comments which I
        hope enough for tuning modem. If you do not have enough expirience I
        strongly reccomend you leave all "as is" check only modem
        initialization string. For that see user manul for you modem and check
        whether all commands "understands" You modem. If some commands not
        present - remove it from initialization string.

          Remember, that each command, sent in modem, should be finalized by
        symbol <cr>. It showed in file modem.ctl by symbol '|'.
        Moreover, symbol '~' can be used for set half second delay between
        commands.

       24.1 DTR signal control
                                                                              
          The many modems can have response reaction to level of DTR signal. This
        feature permits more reliably modem control. The different models
        of modems need different "fall" time of signal DTR. DTR transition time
        tuned by Dtr_Delay variable (in 10-th of second ).

          Dtr_Delay    10

       24.2 Tuning COM ports

          The section "Port definitions" define COM port parameters,
        which T-mail will use.
        Before all set number of COM port (variable Port),
        for example:

         Port 1             ; for COM1

        Variable Baud set maximum baud rate in accordance with you modem. If
        you modem permit using fixed port speed then you can set locked port
        speed in variable Lock_Baud. Remember that you must read before manual
        to you modem and FOSSIL driver for appropriate tuning they.
                                                                              
           If you modem accept data flow control by RTS/CTS signals
        then set in T-mail.ctl variable HardWare_Flow to Yes:
                                                                              
         HardWare_Flow    Yes      ; Allow RTS/CTS

           In case using Lock_Baud, RTS/CTS data flow control necessary for
        successful functioning.

       24.3 Modem initialization.

          Variable Init_After_Dial (values Yes/No) permit or not to
        T-mail initilizing modem after each number dialing. Usualy
        it not nessesary, however if you using individual dial prefixes
        for dialing numbers it can apper nessesary one.

          Modem_Delay define delay (in 10-th of second )
        before by parcel of any command in modem.

           Time to time T-mail try initilize modem. As
        frequently it happened set by variable Init_Interval (in minutes).
        In modem will sent one or 2 strings, defined by key words Init1
        and Init2 in file modem.ctl.
        If on any reason the modem does not answer 'OK' (or anything else,
        that T-mail finds clever:) after initialization attempt then T-mail
        will tried yet twice and, if no positive result got then T-mail
        will exit with errorlevel 5.

       24.4 Hang off during run external programs

           If needed long temporary exit from T-mail, it is possible say to
        modem to "hang off" in order to calling modems received signal "busy"
        and not spend time for carrier expect. Variable Busy_Hang_off (values
        yes/no ) enable or disable this feature.

          By this opportunity must be used with care, as in case you external
        program "hanged", modem can remain connected to line ("off hook"),
        that can cause the problems on your phone station.

       24.5 Carrier monitor

          Happens, that on line with bad signal quality carrier flashing.
        For program it can appear as lost carrier and session can be aborted.
        However, carrier often restored after several second or part second and
        session can be continued.
        Variable Carrier_Monitor sets (in seconds) time interval,
        during which T-mail will ignore absence of CD signal (carrier detected)
        from modem. For disable carrier monitor set this variable to 0.
                                                                              

       25. terminal mode.

        According to tradition, T-mail has builtin terminal support.
        Terminal called in following cases:

        - Pressed Alt-T key
        - was BBS call during mail session (Alt-T pressed)
        - T-mail was running with -TT option

        Variable Terminal define external terminal program,
        which will fired up in all these cases. If it not
        defined, will be used builtin terminal.

        You has opportunity to define the command for modem, which will be
        sent when you enter in terminal. It defined in file modem.ctl:

        Example:
        Init_Terminal    ATE1|

        Terminal automatically recognize ANSI and Avatar sequences.

        Some common terminal activities (start
        protocols, transmiting/receiving and etc.) are recorded in log-file,
        defined by Term_Log variable.

        Further you see keys, acting in terminal:

          Alt-D -  Dialing number. If address given, phone will searched in
                   nodelist. If should given phone number instead address, It
                   is must precedence by symbol '#'. Number will
                   dialing until connection will established
                   or ESC key pressed.
          PgUp -   send file(s)
          PgDn -   receive file(s)
          Esc    - Abort file transfer
          Alt-I  - Initilize modem
          Alt-H  - Hang up
          Alt-=  - Toggle DoorWay mode
          Alt-L  - Togle capture log
          Alt-B  - set baudrate
          Alt-7  - Set 7-bit in byte
          Alt-8  - Set 8-bit in byte (default)
          Alt-O  - Dos shell
          Alt-Q  - exit from terminal

            Moreover, all keys, defined by Key statements in file
        T-mail.ctl, will act (exclude Doorway mode).

       25.1 External protocols connection
                                                                              
        If not defined external protocols, and PgUp, PgDn key pressed or
        revealed autodownload sequence then will starts internal Zmodem.
        Otherwise will started appropriate external program defined by
        Term_Download or Term_Upload variable in file T-mail.ctl:

        Term_Download      c:\gsz\gsz.exe   port *P  speed *B rz -rr

           Sets external protocol for receive files.
                                                                              
        Term_Upload        c:\gsz\gsz.exe   port *P  speed *B sz
                                                                              
           Sets external protocol for sending files.
                                                                              
          Macrosymbols which can be used as protocol parameters:
          *B - DCE baudrate
          *L - locked port baud rate (or 0)
          *P - COM port number
          *T - task number

           Received files will placed into directory, defined by
        Term_DownDir variable (it's concerning only builtin protocol).
           When you give file name to be send and if full path not given
        files will be searched in directory defined by Term_UpDir variable:
                                                                              
        Term_UpDir         :\T-mail\files\
        Term_DownDir       :\T-mail\files\

       25.2 Exit from terminal.

          The exit from terminal is executed by pressing Alt-Q. If
        terminal was fired up by T-mail -TT option, then you will
        exit from T-mail terminal to operating system.

          You Should the opportunity set operator inactivity interval
        in Term_Inactivity  variable.
                                                                              
        Term_Inactivity    60     ; Terminal inactivity timeout (min)

          Sets maximal operator inactivity time (in minutes) in terminal mode
        If operator does not press neither key during this time then you will
        returned back in T-mail. If value set to 0 this feature switched off (default).
        after file sent or received time counter will automaticaly reset.
        ⨢ p뢠. If capture log was opened ( Alt-L )
        it will be automatically closed on exit from terminal.


       26. T-Mail semaphores


       26.1 Exit flag

           In the event that you need force T-mail shutdown
        it is possible to use flag defined by Flag_Exit variable.
        It forces T-mail exit with errorlevel 0.

       26.2 Sleep flag

           If you necessity temporary stop "freeze" T-mail "externally" for
        example under multitask environment from another programs. It can be
        made, after creating flag, defined by Flag_Sleep variable in file
        T-mail.ctl. If T-mail found this flag it will switch to sleep mode and
        will not call, to answer on rings, no pack mail. However all T-mail
        keys will functioning properly.
          The difference this semaphores from all another that Flag_Sleep is never
        destroyed by T-mail, is obliged to do external programs,
        otherwise T-mail "sleep" for ever.

       26.3 Alive flag

            This flag permits understed to external program
        "whether T-mail alive". If is created flag, defined by
        Flag_Alive variable then T-mail will destroy it as soon as detect.
            However external programs should not require immediate flag
        removal, as far as flags checked during waiting call or event cycle
        and not does during session.

       26.4 Session flag

           This flag permits understed to external programs whether is T-mail
        in session. Flag created when connection established and erased when
        connection terminated. The flag name set by Flag_Session variable.

       26.5 Repack flag

          At last, the one more file, wich existance causes some actions. The
        name of this flag file fixed - repack.t-m in system directory of
        T-mail. This semaphore force T-mail pack all mail anew. Its name
        fixed, as far as system has only one packer and this flag concerns
        only it.

          * notes: All flags, described above, execpt flag repack.t-m, And
                        flag <Flag_Session> Can have "inverted significance".
                        By other words, as flag can serves as file
                        availability ,as its absence. In the latter case
                        The flag filename should begin from symbol '!'
                        See example.



                Flag_Alive   c:\alive.tm
                          flag meaning existance of file. It will be removed.
                                                                              
                Flag_Alive   !:\alive.t-m
                          flag meaning absence of file. It will be created.
                                                                              
                        In accordance with this "exhibit flag" means
                        "create the file" or "remove the file "
                        For direct and inverted flags definition.

       26.6 Flags for start external programs

          Additionaly you can define up to 16 flags,
        which will cause start external programs, appropriate with
        flag. In T-mail.ctl are set constructions Process_Flag:

        The syntax:
         Process_Flag  <flag_name> [!]<dos command>|<dvpname>
                                                                              
        where
         <flag_name>   - flag name for run this proccess.
                         If not defined the full path, flag will searched for
                         in flags directory (see Flag_Dir)
                                                                              
         <dos command> - program name which will start (.exe, .com, .bat)
                         and it's parameters.
                                                                              
         <dvp name>    - DesqView program name (with path), means .dvp
                         which desribe appropriate DV window
                                                                              
         examples (t-mail.ctl):

         Process_Flag      anyarc.t-m       c:\squish\squish -In -Out
         Process_Flag      c:\anytic.000    anytic.bat -Debug
         Process_Flag      doswap.t-m       doswap.bat
                                                                              
           The use of Process_Flag permits, for example, build more effectively
        multilinear node. See chapter 21.


       27. Work with faxmodems
          (avaible only in commercial version)

          T-Mail has some builtin feature for operate with
        faxmodems (modems, which can send of message on fax-machine and
        receive facsimile messages). At first, if incoming call
        will interpreted as fax call then
        T-mail will receive the facsimile message (any page number).
        At second, letters contained specific information can be processed by
        internal FAX-gate and converted to TIFF v5.0 Gr.3 format together
        with graphics files, "applied" to this fax message, and facsimile messages
        queue will be created.

          This queue served similarly usual mail Queue.
        Bottom T-mail window T-mail show mail queue, or fax queue.
        These modes toggles by Alt-F key. T-mail serve
        mail and fax-queue during incoming calls.

       27.1 Hardware requirements

          Present T-mail version (2300) can maintaince faxmodems which
        support industrial standard Fax Class 2 operation. All key
        words in file T-mail.ctl for Fax Class 1 for further development.

        -------------------- Quote T-mail.ctl ---------------------

          Fax_Class       2                   ; Fax Class operations

          Define the type of faxboard. The value 1 and 2 for
          Fax Class 1 and 2 are allowable.

          Fax_Baud        9600; Max fax bit rate

          Define maximal fax speed. For Fax class 2 not
          important.

       27.2 How fax-gate work

          To send the facsimile message necessary create it. T-Mail
        tranform of letters (.msg) addressed to user 'FAX'
        in fax-messages, using service information contained in letters.
          Before transformation T-Mail access rights for author of letter to
        use gate. The access to gate defined by Fax_Mode variable in
        file T-mail.ctl:

        -------------------- Quote T-mail.ctl ---------------------
                                                                              
         Fax_Mode        Any            ;  Access level to fax-gate
                                                                              
         Fax_Mode define user group which can access fax-gate.
         Possible values is next:
                       Any - free access to fax-gate for all
                       Reg - only nodes listed in fax_nodes variable can
                             access fax-gate
                       Nod - only nodes listed in nodelists can
                             access fax-gate
                       Psw - only messages which have a password
                             (in subject field) defined by Fax_password
                             variable will be transferred

         Fax_Nodes        5030/100.* !.3 !.4
                                                                              
          Define address list of nodes which can access fax-gate.
          (If Fax_Mode variable set to Reg ).
          It is possible to use the filename preceded by symbol '@' and
          contained addresslist.

          examples:
               Fax_Nodes   5030/*.* !CM !5030/101
               Fax_Nodes   @c:\t-mail\f_list.txt

          If Fax_Mode variable set to Psw, this word should present in
          subject field of each gated letter

         Fax_Password       Fax_it!     ; Fax-gate password
                                                                              
          So that the letter was transformed, it should be addressed to
        this node, i.e. to be not transit. Here example:

         
           From:  John Smith          2:245/76
           To:    Fax                 2:5030/15
           Subj:  Fax_It!
         
           Phone  (095)123-4567
           Time   0:00-6:00
                                                                              
          Hello, dear friend!
          [message body]
         

          First 2 lines this letter - service ones. They inform telephone,
        where necessary sent message and time, when it is
        possible to send fax to this telephone.
          All lines beginning with one of service words, listed below, assumed
        as service lines. These lines will be ignored during transforming letter
         body to fax-message.



        Phone  <number>                    - destination fax phone number
        Time   <time period>               - work time of remote fax for this
                                             message (default 0:00-24:00)
        Length <page len>                  - Page letgh (strings)
                                             default 50
        Draft                              - normal resolution (default)
        Fine                               - fine mode (double vertical resolution)
        File  <filename>                   - graphics file which will be sent
                                             after this message.
                                             Can be defined up to 3 files
                                             File must be in Tiff v5.0 format
                                             for facsimile messages (Group 3).
                                             You can use tif2tif utility for
                                             converting simple tiff file to
                                             nessesary format.
                                                                              
         All lines execpt phone number are optional.
        Number can be defined by phone keyword,
        or directly in field 'To:', for example:
                                                                              
        To: FAX (095)123-4567
                                                                              
        Letter body can not contain keywords if phone number defined in
        message header
        Here some examples for define phone numbers:
                                                                              
        123-4567             - local number
        (095)123-4566        - number with city code
        1(800)345-444        - international number.
                                                                              
          Telephone will fransformed to international form (as in nodelist)
        and then will franslated with accordance with translation rules
        defined by Dial variables in file T-mail.ctl. (see. chapter 7)

       27.3 Sending facsimile messages

         Converted letters will placed into sendind queue. This queue
       is similar mail Queue and showed in bottom half screen.
       The key Alt-F toggle Queue "window" and You
       can lookup either mail or fax queue. Use arrow keys
       for scroll queue and choose current telephone, to
       which T-mail will dialing next time.

         T-Mail lookup one by one mail and fax queue and switch
       faxmodem to appropriate mode.
                                                                              
         Moreover time interval mentioned for each letter, can be defined
       global time interval when facsimile messages can be sent
       It defined by Fax_Call variable:

        -------------------- Quote T-mail.ctl ---------------------

           Fax_Call        17:38-8:00    ; Allow call as faxmachine

          Define time when T-Mail will call fax-machines.
          It is not exclude mailer functions, because Queue for fax and
          E-mail will processed simultaneously.
                                                                              
           Fax_Tries       25           ; Attempts to send fax message

          Define how many times T-mail will try send each fax-message.
          If try count will reach this value then T-mail will error message
          to author.
          If message was successfuly sent then T-mail will sent confirmation
          letter to author.

       27.4 Receiving facsimile  messages

         For Fax Class 2 operations it is possible define, whether
       faxmodem answer as data, data/fax (autodetect) or only as fax.

         You can appropriate with this tune T-Mail. Variable Fax_Answer define
       time interval, where possible receiving faxes. In all other time T-mail
       accept only data call (if answer permited in general).

        Variable Fax_Adaptive define, whether T-mail will answer only as
       fax or the incoming calls or will try autodetect work mode. It is clear
       that preferable permit adaptive answer so that not interrupt mail
       station activity.
                                                                              
           Fax_Answer      18:00-8:00   ;  Allow answer as faxmachine
                                                                              
         Define time, when T-Mail will analyze incoming calls and to try
         establish mail session or receive fax.
         If Fax_Adaptive No, T-Mail will answer only as fax.

          Fax_Adaptive    Yes          ; Allow adaptive fax/data answer
                                                                              
         Inform T-Mail, wether support your fax-modem adaptive answer. It is
         important for Fax Class 1 operations. (for class 2 adaptive answer
         always supported, but you can prohibit it) If your fax-modem not
         support this feature you set 'No' then T-mail will serve incoming
         calls only as fax call.
                                                                              
       27.5 Fax cover page

         Variable Fax_Cover permits define the file, which
       will be sent before each letter (cover page).
       This file should be in Tiff v.5.0 Gr3 format.

          Fax_Cover       cover.gr3    ; filename of cover page


       28. Users in local network (external nodes).
          (only in commercial version)

         T-Mail have possibility to deliver mail and files for defined nodes
       by alternative ways - for example via local network.
         If exist opportunity deliver the mail and files for some
       of system with assistance of operating system (for example LAN), then
       most reasonable way define this addresess as external nodes


       External nodes desribed in file subst.lst as follow:
                                                                              
       <address> External [!]<dos command>
                                                                              
         Symbols after External keyword and for end of line assumed as
       Dos command which will executed for each "transfered" file.
       You can use some macro symbols in <dos command>:

         * F - will be replaced with full filename.
         * A - will be replaced with destination address.

       <dos command> can begin with '!' symbol (it is not considered by
       part of command), then T-Mail will not swap out and the copy of command
       processor will started.

       examples (subst.lst):

       5030/15.77  External !copy *F c:\points\77

       Before keyword "external" can be usual constructions, for example
       work time of node:

       5030/15.77 Time 5:00-9:00  External Mycopy.exe *A *F c:\points\77
                                                                              

       29. Keyboard control

                                                                              
             Below listed keys and appropriate actions.

       Ŀ
                                                                        
          Key       When  T-mail key active       Action                
                                                                        
       Ĵ
                                                                        
          F1       while waiting for a call       Show help screen      
          Alt-X    while waiting for a call     exit with errorlevel 10 
          Space    while waiting for a call       Force next call       
         Alt-O     while waiting for a call       DOS Shell             
                                                                        
         Alt-Z     while waiting for a call       send string to modem  
                                                                        
         Alt-T     while waiting for a call       Enter to terminal     
                                                                        
        Shft-Tab   while waiting for a call       Toggle 'Crash poll'   
                                                  mode                  
         Alt-P     while waiting for a call       Poll node or nodes**  
         Alt-S     while waiting for a call       Send files to node**  
         Alt-D     while waiting for a call       Send files directly   
                                                  to node**             
         Alt-R     while waiting for a call       Request files at      
                                                  node**                
                                                                        
         Alt-A     while waiting for a call       Force manual answer   
                                                  even if not permited  
                                                  by 'Answer' variable  
                                                                        
           ?       while waiting for a call       Get info about node   
                                                                        
         Alt-=     while waiting for a call       Change any T-Mail     
                                                  variable (beware:don't
                                                  try on port etc. :-)  
          +                                       Increase              
          -        while waiting for a carrier    Decrease wait interval
         Esc                                                            
         Space     while waiting for a carrier    Hang up               
                                                                        
         Alt-H     while handshaking or           Hang up(break session)
                   file receiving/fransmiting                           
                                                                        
         Ctrl-X    while receiving file           Skip current file     
                                                                        
         Alt-C     while receive/transmit files   Request 'Chat' mode   
                                                                        
         Alt-T     while receive/transmit files   Request BBS after     
                                                  mail session          
                                                                        
                                                                        
       

        For nodes in queue Ŀ
                                                                        
         Ctrl-H    while waiting for a call       hold* calls for given 
                                                  nodes*** for 1 hour   
           H                                      Toggle HOLD* status   
                                                  for current queue     
                                                  entry                 
                                                                        
         Ctrl-U    while waiting for a call       Unhold calls for given
                                                  nodes***              
                                                                        
         Ctrl-I    while waiting for a call       Set immediate* status 
                                                  for given nodes***    
                                                  for 1 hour            
           I                                    Toggle immediate* status
                                                 for current            
                                                 queue entry            
                                                                        
         Ctrl-R    while waiting for a call      Reset immediate* status
                                                 for given nodes***     
                                                                        
         Ctrl-P    while waiting for a call       Set priority* status  
                                                  for given nodes***    
                                                  for 1 hour            
           P                                    Toggle priority* status 
                                                 for current            
                                                 queue entry            
                                                                        
         Ctrl-C    while waiting for a call      Reset priority* status 
                                                   for given nodes***   
       
           -------
                 * - status immediate, hold and priority
                       Is described in chapter "Queue control".

                 ** - act agreement about addresses, including wildcards
                      allowable to enter such line for example:
                          5030/6 567:667/4.5 1:3/3 5020/* /1

                 *** - the same, including <address list> format
                      For example:
                          1:3/3 5020/* !5020/3 HST !MNP
                                                                              
          Also you can use keys described in tables, it is possible to use
          the arrow keys, Home, End, PgUp, PgDn for look up Queue, and in
          combination with Ctrl - for change current position in Queue.
                                                                              
          Ctrl-Enter causes 'Node info' mode for current address in Queue.
          Enter run external program t-queue, Queue manager (it does not
          included in T-mail 2300 distribution set). Developers can use
          this opportunity with T-mail API.


       30. Defining hot keys.

          The user has the opportunity define up to 20 hot keys, which
       will run appropriate external programs.
       Keys defined by keywords 'Key' in file T-mail.ctl:

        The syntax

         Key <hex scancode> [<flag>] <dos_command> [<parameters>]

         Where

          <hex scancode> - key scancode (see table below)
          <dos command>  - DOS command or program .exe, .com, .bat or
                           full path and name to DesqView DVP file.
          <paramrters>   - optional program parameters
          <flag>         - one or few modifier-symbols defining condition,
                           for runing <dos command>:

         '!'  - no swap out;
         '%'  - don't save screen;
         '+'  - save queue structures, events and route rules
                and read after returning
         '?'  - show string 'Type Exit to return to T-mail..';
         '#'  - reserved
         '*'  - reserved
         '&'  - reserved

        Examples:

          Key  1200  c:\gold\gold.bat
          Key  5800  ?tst.bat
          Key  5900  c:\dv\bc-pif.dvp
          Key  2600  !+c:\command.com
          Key  3100  !msgview.exe c:\T-mail\mail\*.msg
          Key  2600  c:\tools\view.exe c:\T-mail\T-mail.log

                              Keyboard scan code table.

        Functional keys Ŀ
                                                                           
        <F1>  3B00    <Shift F1>  5400    <Ctrl-F1>  5E00  <Alt-F1>  6800  
        <F2>  3C00    <Shift F2>  5500    <Ctrl-F2>  5F00  <Alt-F2>  6900  
        <F3>  3D00    <Shift F3>  5600    <Ctrl-F3>  6000  <Alt-F3>  6A00  
        <F4>  3E00    <Shift F4>  5700    <Ctrl-F4>  6100  <Alt-F4>  6B00  
        <F5>  3F00    <Shift F5>  5800    <Ctrl-F5>  6200  <Alt-F5>  6C00  
        <F6>  4000    <Shift F6>  5900    <Ctrl-F6>  6300  <Alt-F6>  6D00  
        <F7>  4100    <Shift F7>  5A00    <Ctrl-F7>  6400  <Alt-F7>  6E00  
        <F8>  4200    <Shift F8>  5B00    <Ctrl-F8>  6500  <Alt-F8>  6F00  
        <F9>  4300    <Shift F9>  5C00    <Ctrl-F9>  6600  <Alt-F9>  7000  
        <F10> 4400    <Shift F10> 5D00    <Ctrl-F10> 6700  <Alt-F10> 7100  
        <F11> 8500    <Shift F11> 8700    <Ctrl-F11> 8900  <Alt-F11> 8B00  
        <F12> 8600    <Shift F12> 8800    <Ctrl-F12> 8A00  <Alt-F12> 8C00  
                                                                           
        Alt-keys Ĵ
                                                                           
            <Alt-A> 1E00           <Alt-N> 3100       <Alt-1> 7800         
            <Alt-B> 3000           <Alt-O> 1800       <Alt-2> 7900         
            <Alt-C> 2E00           <Alt-P> 1900       <Alt-3> 7A00         
            <Alt-D> 2000           <Alt-Q> 1000       <Alt-4> 7B00         
            <Alt-E> 1200           <Alt-R> 1300       <Alt-5> 7C00         
            <Alt-F> 2100           <Alt-S> 1F00       <Alt-6> 7D00         
            <Alt-G> 2200           <Alt-T> 1400       <Alt-7> 7E00         
            <Alt-H> 2300           <Alt-U> 1600       <Alt-8> 7F00         
            <Alt-I> 1700           <Alt-V> 2F00       <Alt-9> 8000         
            <Alt-J> 2400           <Alt-W> 1100       <Alt-0> 8100         
            <Alt-K> 2500           <Alt-X> 2D00       <Alt--> 8200         
            <Alt-L> 2600           <Alt-Y> 1500       <Alt-=> 8300         
            <Alt-M> 3200           <Alt-Z> 2C00                            
                                                                           
        Control keys Ĵ
                                                                           
              <Home> 4700      <Ctrl-Home> 7700         <BackSpace> 0E08   
               <End> 4F00       <Ctrl-End> 7500            <Insert> 5200   
              <PgUp> 4900      <Ctrl-PgUp> 8400               <Del> 5300   
              <PgDn> 5100      <Ctrl-PgDn> 7600          <Ctrl-Ins> 9200   
              <Left> 4B00      <Ctrl-Left> 7300          <Ctrl-Del> 9300   
             <Right> 4D00     <Ctrl-Right> 7400                            
                <Up> 4800        <Ctrl-Up> 8D00                            
              <Down> 5000      <Ctrl-Down> 9100                            
                 <5> 4C00                                                  
                                                                           
        Grey keys Ĵ
                                                                           
            <Grey /> E02F          <Grey -> 4A2D     <Grey Enter> E00D     
            <Grey *> 372A          <Grey +> 4E2B                           
                                                                           
       

       31. Sound effects.

            T-mail can issue 9 different sounds in different
         situations.
         Each situation have key word and bit variable Sound.
        Ŀ
         Word                            The situation            Mask   
        Ĵ
                                                                         
             Connect      connection established                    1    
             Begin        mail session began (after EMSI)           2    
             End          mail session end                          4    
             Unpack       unpacking mail packet                     8    
             Chat         Chat requested from another side         10H   
             Human        Human Caller (before run dobbs.bat)      20H   
                                                                         
             Abort        Session breaked or aborted by sysop      40H   
             Error        error initalizing modem or               80H   
                          FOSSIL-driver , before exit with               
                          errorlevel  5 or 7.                            
                                                                         
             Tick         In different cases, for example         100H   
                          when keyboard buffer overfloat                 
                                                                         
             Ring         Incoming ring                           200H   
                                                                         
        
                                                                              
           In file T-mail.ctl to each key word corresponds melody
        everyone can tune sounds on his tastes, using rules
        for record melodies. The utility testsnd used for test
        melodies described in T-mail.ctl.

         The syntax:

         SoundOf <the keyword> <repetion number> <patern>

         Each patern contain one or some groups of 4 numbers, which
         interpreted so:

          First number             - start tone (Hz) (-1 means silence)
          2-nd                     - tone increment per cycle
          3-rd                     - cycle duration (msec)
          4-th -                   - number of cycles
                                                                              
       Example:
                                                                              
       SoundOf Chat         4   3500 100 50 1       3000 0 50 1
                                       
                                     number of cycles
                                   Ŀ  cycle duration(ms)
                                   tone increment(Hz)
             case     repetion  start tone (Hz)
                      number

          Variable Sound in file T-mail.Ctl permits mask defined
          sound effects. The value YES corresponds 1FFH (all sounds permited),
          value NO - 000 (sounds not permited at all).

       Example:
                                                                              
       Sound    181    ; permited ONLY 'Tick', 'Connect' and 'Error' sounds


       32. Colour setup
                                                                              
            If You not satisfied the colourful pallete, used in T-mail as
        default or You use monochrome monitor, You can use T-Color utility
        for tune colours. Pallete will recorded in file T-mail.exe.

            For set monochrome pallete, it is necessary to start:
         T-color Mono

            For restore pallete to default:
         T-color Default

            For set you own pallete:
         T-Color Custom
                                                                              

       33. Command line options

         -L<file> set alternative log-filename (instead T-mail.log)
         -I       force T-mail ignore executed
                  Poll, RePack, Exec and run it's again.
         -S       switch off modem ligths on screen (recomended,
                  if you using computer IBM PC 4,77M :)
                  or non-standard COM port addresses.
         -D1      short log-file recording.
         -TT      run builtin terminal immediately
         -T[<n>]  set number of internal buffer items for queue stack.
                  Default value 60. If parameter -T given witout n then
                  it assumed 5.
         -Nn      Set task number to n
                                                                              

       34. Errorlevels.

          first 10 errorlevels, which can return T-mail reserved
          for some cases. They define what caused shutdown:

            0  Was found file defined by Flag_Exit variable;
            1  Reserved;
            2  Configuration file T-mail.ctl not found
               or not enough memory for all variables;
            3  Not enough free disk space (less 32 Kb)
            4  Reserved;
            5  Can not initialize modem;
            6  Reserved;
            7  Can not open FOSSIL driver;
            8  Reserved;
            9  Reserved;
           10  Pressed Alt-X key (user break).
                                                                              
          * notes: if during session while receiving file T-Mail define that
            unsufficient free disk space, it will exit with errorlevel 3.


       35. Thanks

           Thanks to colleagues, which help me wrote this program T-mail,
        also for testing and debugging. Many ideas I get from discussions,
        in some FidoNet echo conferences.
        The collective experience of system operators on use FrontDoor
        , D'Bridge and BinkleyTerm has made possible appearence of T-mail.

          Personal thanks:
          Osckar Izenberg, Vadim Belman, Michael Bravo, Anton Getmanskiy,
          Alexey Dmitriev, Michael Drozdov, Dmitry Zavalishin, Andrey Ivanov,
          Oleg Karpenko, Shota Kasradze, Alex Korchmar, Konstantin Kuznetsov,
          Kiril Mendelev, Ilia Mikhailov, Vladimir Nikitin,
          Slava Olhovchenkov, Sergey Ohapkin, Pavel Pryazshintsev,
          Denis Saveliev, Michael Savchenko, Alexey Saminsky, Anatoly Skoblov,
          Dmitry Sudak, Petr Suchkov, Sergey Terehov, Alexey Farenbruh,
          Andrey Fridman, Vladimir Shalyapin, Andrey Yakovlev

          Specific thanks:
         Anton Getmanskiy  - for screen design etc.
         Alexey Dmitriev   - for FAX fonts design
         Ludmila Elkina    - for editing this documentation
         Alexey Saminsky   - for help with wrote nodelist compiler
         Sergey Terehov    - for library for access file system
         Andrey Fridman    - for hard testing and etc.
                                                                              
          As well as many another, who was included in testing process
          necessarily :))

            T-mail was compiled and debuged with Borland v2.0. All source
         texts are written in integrated BC 2.0 environment. All codes exclude
         SPAWNO procedures are written and debuged by author. Moreover are not
         used any kind of compiler libraries and additional modules.

         This product uses the SPAWNO routines by Ralf Brown to minimize
           memory use while shelling to DOS and running other programs.
                                                                              

       36. How you can get commercial T-mail version

           1) In the event that You do not belong to noncommercial users, as
        stipulate by rules, which you can read at beginning of document or You
        want to be taken advantage of additional features of commaercial
        version, You must become registered T-mail user. If You have purchased
        T-mail at negotiator, You must fill in registration form contained in
        file order.frm and sent it to address 2:5030/100@fidonet After that
        You will receive from negotiator letter and personal key for T-mail.

           2) If You want buy T-mail directly at author, please download
        from 2:5030/100 (request file TINFO) T-mail purchasing condition.
        After payment You must execute first items


       37. Standarts and documents

        1. FTS-0001      A Basic FidoNet(r) Technical Standard
                         Revision 15
                         Randy Bush, Pacific Systems Group
                         August 30, 1990

        2. FTS-0005      The Distribution Nodelist
                         Original by Ben Baker,  7:44/76@AlterNet
                         Amended by Rick Moore,  1:115/333@FidoNet
                         February 5,  1989

        3. FSC-0008      Fundamentals of FOSSIL implementation and use
                         Draft Version 4  August 10, 1987
                         Vincent E. Perriello, VEP Software

        4. FSC-0009      Nodelist Flag Draft Document
                         Primary Author: Ray Gwinn
                         Secondary Author: David Dodell
                         Version 1 (11-15-87)

        5. FSC-0020      Alternate Nodelist Flag Proposal
                         by Marshall Presnell, (109/639.106)
                         November 13, 1987

        6. FSC-0025      AVATAR
                         Advanced Video Attribute Terminal Assembler and
                         Recreator
                         George A. Stanislav, 129/39

        7. FSC-0041      MSGID / REPLY
                         A proposal for unique message identifiers
                         and reply chain linkage
                         jim nutt, 1:114/30@fidonet

        8. FSC-0046       A Product Idenfifier For FidoNet Message Handlers
                          Draft II
                          Joaquim Homrighausen, 3:632/308@fidonet

        9. FSC-0056       EMSI/IEMSI Protocol Definitions
                          Joaquim H. Homrighausen,  May 3, 1991

                                                                              
       38. Trademarks
                                                                              
        Fido, Fidonet is a trademark of Tom Jennings and Fido Software
        MS/DOS        is a trademark of Microsoft
        PC/DOS        is a trademark of International Business Machines
        Borland C++   is a trademark of Borland International
        DesqView      is a trademark of Quarterdeck inc.
        Remote Access is a trademark of Continental Software
        Maximus       is a trademark of Scott J. Dudley
        FrontDoor     is a trademark of Joachim Homrichhausen
        D'Bridge      is a trademark of Chris Irwin
        BinkleyTerm   is a trademark of Bit Bucket Software Co.
        Hayes         is a trademark of Hayes Microcomputer Products


       39. Conclusion.

           Certainly, 100%-bug-free products not exists naturally T-mail also
        contain some errors. However, I should hope that not very hard onese.
        For support T-mail is created echoconference T-mail.ru, where you can
        receive consultation and/or to state remarks and wishes.

