Previous | Next | Trail Map |

Index |

Работа T-Mail совместно с программным обеспечением BBS

     T-Mail   может   работать   совместно   с   программным  обеспечением,
реализующим  функции  BBS  (Bulletin   Board  System  -  электронные  доски
объявлений), такими, как Maximus, Remote Access, QuickBBS и т.д. Эта работа
организуется следующим образом: T-Mail  при получении определенного запроса
от  пользователя  вызывает  программное  обеспечение  BBS  и  передает  ему
заданные  в строке  вызова параметры.  После этого  работу с  пользователем
осуществляет  программа BBS.  После завершения  сеанса работы  с BBS обычно
управление снова возвращается к T-Mail, который продолжает обычную работу и
ожидает новых звонков.

     Задать  вызываемое  программное   обеспечение  BBS  можно  несколькими
способами. В  большинстве случаев это  производится переменной Process  BBS
( t-mail.ctl ). Рассмотрим этот случай подробно.

     В качестве  подсказки для пользователя можно  выдавать в линию краткое
сообщение о  том, как осуществить  вход в  BBS  или о том,  что в настоящий
момент  времени вход  в BBS  закрыт. Это  задается переменными  Force_BBS и
Force_NoBBS  соответственно  ( t-mail.ctl ).  Заданный  текст  будет послан в
линию  непосредственно после  установления  соединения.  То, какая  из этих
переменных будет выбрана, зависит от  того, попадает или нет текущий момент
времени в промежутки, указанные в переменной BBS_Time (она описана ниже).

     Например:
     ---------
     Force_BBS     Press ESC twice for BBS..
     Force_NoBBS   Sorry.. Mail only node.

     В том  случае, если входной звонок  осуществлен не от FTN-совместимого
мэйлера,  а из  терминальной программы,  вручную, T-mail  получит запрос на
запуск BBS.  Обычно это два символа  Esc (ASCII 27) подряд  или специальная
посылка стандарта IEMSI.

     Переменная   BBS_Time   ( t-mail.ctl )    определяет   промежуток   (или
промежутки)  времени,  когда  разрешено  передавать  управление  BBS в этой
ситуации. Если эта переменная не определена, то управление BBS передаваться
не будет.  Например, если необходимо разрешить  работу BBS ночью в  будни и
круглосуточно в остальные дни, следует задать:

     BBS_Time    1.22:00-5.7:00,5.0:00-6.23:59

     Если  текущее  время  НЕ  попадает  в  диапазон,  заданный  переменной
BBS_Time,  то в  линию будет   выдан текст  из файла,  заданного переменной
NoBBS_Banner ( t-mail.ctl ).  Это может быть, например,  информация о времени
работы станции, реклама, и т.п. После этого связь будет прервана.

     Если  же  текущее  время  попадает  в  диапазон,  заданный  переменной
BBS_Time,  то в  линию будет   выдан текст  из файла,  заданного переменной
BBS_Banner   ( t-mail.ctl ).   Это   может   быть,   например,   приветствие,
наименование вашей  системы и так далее.  После этого выполняются действия,
заданные переменной Process BBS ( t-mail.ctl ).

     Возможны два варианта запуска программы BBS с помощью этой переменной.
Первый вариант заключается в том, что Process BBS задает имя программы (или
командного  файла), которая  будет запущена.  При этом  могут быть  указаны
параметры командной строки этой программы (файла) с использованием макросов
(они описаны ниже).

     Например:
     ---------
Process BBS   bbs.exe *P *B *H *L

  при этом строка запуска будет иметь приблизительно следующий вид:

              bbs.exe 2 28800 24 57600

Process BBS   runbbs.bat *B *H *N

  при этом строка запуска будет иметь приблизительно следующий вид:

              runbbs.bat 9600 45 0

     Второй вариант заключается  в том, что производится выход  из T-Mail с
кодом  завершения (errorlevel),  который указан  в Process  BBS. Дальнейшая
обработка  этого  события  должна  осуществляться  в  командном  файле,  из
которого запускался T-Mail.

     Например:
     ---------
     Process BBS   Exit 25
     Process BBS   Exit 25  bbssoft.exe *P *L

     Если после кода завершения указана какая-либо строка,
то при выходе T-Mail создаст командный файл с именем EXITxx.BAT (EXITxx.CMD
для OS/2),  где "xx" - номер  задачи T-Mail (по умолчанию  - EXIT01.BAT или
EXIT01.CMD),  в который  будет  перенесено  содержимое этой  строки, вместо
макросов будут подставлены реальные значения.

     Пример:
     -------
     Пусть мы  имеем систему с  несколькими задачами (OS/2).  Допустим, что
произошло  соединение со  скоростью 14400  bps в  задаче номер два, которая
работает  с COM-портом  номер 3.  Тогда в  результате выполнения  следующей
строки:

     Process BBS   Exit 32 bbs.exe -p*P -b*B -nolock

перед выходом  с кодом завершения 32  будет создан командный файл  с именем
EXIT02.CMD, который будет состоять из такой строки:

     bbs.exe -p3 -b14400 -nolock

Для обработки этого  события командный файл для запуска  T-Mail может иметь
приблизительно такой вид:

rem ------ файл t.cmd для запуска задачи T-Mail N2 ------------
:start
t-mail -T100 -N2

if errorlevel 32 goto bbs

goto start

:bbs
rem  здесь выполняется вызов BBS
call exit02.cmd
rem  а затем возврат в T-Mail
goto start

rem -------------------- конец файла t.cmd -------------------------

     Переменная  Process BBS   может   быть   только  одна.  В   ней  можно
использовать следующие макросы:

     *B - скорость соединения (DCE baudrate);
     *L - скорость фиксации порта (locked port) (или 0);
     *P - номер COM-порта;
     *O - (только для OS/2 и NT версии) - handle открытого COM порта;
     *T - номер задачи (task number);
     *N - признак коррекции: 0 - соединение произошло без коррекции
          ошибок, не 0 - с коррекцией;
     *H - время (в минутах) до окончания периода, когда разрешены
          выходы в BBS (BBS_Time).

     Для вызова программы  BBS можно использовать и другие  способы, но они
менее  удобны и  более сложны.  Так,  программа  BBS может  быть вызвана  с
помощью переменной Extern_Mail -  для этого пользователь после установления
соединения должен ввести необходимую строку символов, чтобы управление было
передано  программе, описанной  в Extern_Mail  ( t-mail.ctl ). Программа  BBS
может быть вызвана по флагу с помощью переменной Process_Flag ( t-mail.ctl ).
Можно  вызвать программу  BBS даже  во  время  почтового сеанса  связи -  с
помощью   переменной   Process   Online   или   Process  Imm  ( t-mail.ctl ).
Естественно, программа  BBS может быть  и внешним обработчиком  соединения,
задаваемым  переменной Extern  ( t-mail.ctl ),  и  так далее.  Ниже приведены
несколько абстрактных примеров таких нестандартных вызовов.

     Примеры:
     --------
   Process_Flag  ex.t-m   Exit 99 bbs.exe -d -p*P -b*B -y*N
   Process       Online   req.bbs Exit 99  bbs.exe -d -p*P -b*B -y*N
   Extern_Mail   dobb     dobbs.bat *P *B *L


Previous | Next | Trail Map |