Действия после ответа на звонок


     Ответив  на звонок  (т.е. послав  в модем  соответствующую управляющую
строку),   T-Mail  начинает   ожидать  соединения.   Время  этого  ожидания
определяется переменной Wait_Carrier ( t-mail.ctl ). Оператор может увеличить
или уменьшить это время клавишами '+' или '-', или прервать ожидание, нажав
клавишу 'ESC'. Когда появляется сигнал  несущей (carrier) и получена строка
от  модема,  соответствующая  одной  из  скоростей  соединения или внешнему
обработчику  соединения (все  строки задаются  в файле   t-mail.ctl ), T-Mail
переходит к  фазе обработки соединения.  В коммерческой версии  можно также
определить  возможность  адаптивного  ответа,  при  котором  входной звонок
факс-машины  вызовет  соответствующие  действия  для  приема  факсимильного
сообщения в том случае, если входной звонок осуществляется с факсмашины.

     Если в  ответе модема присутствовала  строка, определенная в  одной из
переменных  Extern ( t-mail.ctl ),  то все  дальнейшее управление  передается
внешнему обработчику соединения. Таким образом, например, по приходу строки
CONNECT  2400 можно  запустить какую-либо  внешнюю программу,  а по приходу
строки CONNECT FAX - программу приема факсов, если это вам необходимо.

     Если ни один внешний обработчик не запущен, то T-Mail:

     # Если выход в BBS разрешен (BBS_Time в  t-mail.ctl ), то выдает в модем
       строку, описанную в переменной Force_BBS ( t-mail.ctl ), если нет - то
       строку, описанную в переменной Force_NoBBS ( t-mail.ctl ).

     # Ждет поступления информации из линии.

     Время этого  ожидания задается в  переменной Wait_Mailer ( t-mail.ctl ).
Если  в  течение  этого  времени  из  линии  не  будет  принято осмысленной
информации, T-Mail  выполняет действия, описанные в  переменной Process BBS
( t-mail.ctl ).  Если  же  информация  будет  принята,  то возможны следующие
варианты дальнейших действий T-Mail:

     # управление передается внешнему обработчику ключевого слова (External
       Mailer), если из модема поступило  ключевое слово, описанное в одной
       из переменных  Extern_Mail ( t-mail.ctl ). Это может  произойти как на
       входных, так и на выходных звонках. Если (при выходном звонке) сеанс
       связи  внешнего  мэйлера  закончился  с  кодом  завершения  0 (т.е.,
       благополучно),  то T-Mail  удаляет  из  очереди тот  фиктивный адрес
       узла, с помощью которого T-Mail звонил на систему, используя внешний
       мэйлер;

     # если  определено  соединение  по  FTS-0001,  то  с  помощью  внешней
       программы,  описанной  в   переменной  Process  FTS-1  ( t-mail.ctl ),
       производится прием почты по  стандарту FTS-0001. T-Mail поддерживает
       только прием почты по стандарту FTS-0001;

     # если приняты  два символа ESC подряд или получена посылка IEMSI, то:

         если  в это  время разрешен   выход в  BBS (переменная  BBS_Time в
          t-mail.ctl ),  то в  модем  выдается  файл, описанный  в переменной
         BBS_Banner   ( t-mail.ctl ),   после   чего   управление  передается
         программе  BBS,  как  это  определено  в  переменной  Process  BBS
         ( t-mail.ctl );

         если выход в  BBS запрещен, то в модем  выдается файл, описанный в
         переменной  NoBBS_Banner  ( t-mail.ctl ),  после  чего  сеанс  связи
         прерывается;

     # и, наконец,  если получена посылка  EMSI или YooHoo,  то выполняется
       процедура  handshaking  (начальное  "рукопожатие"  систем,  проверка
       паролей),  проверяется скорость  соединения (она  должна быть больше
       или равна указанной в  переменной Min_Baud ( t-mail.ctl )), после чего
       T-Mail  приступает к  выполнению сеанса  связи -  принимает файлы  и
       почту, отправляет почту/файлы, обрабатывает файловые запросы.