Ниже приводится описание
конфигурационного файла, в котором производится изменение и дополнение информации
о конкретных системах и группах систем. Имя этого файла по умолчанию - subst.lst.
Каждая строка этого файла
имеет вид:
[[<task_ident>]]
<address group>═
<parameters>
или
[[<task_ident>]]
<address>═ <parameters>
где:
<task_ident> √ номер═
задачи,═ подробно═ описан═
в═ разделе═ "Номер задачи" этой главы.
Следует═ лишь отметить, что этот номер
может быть использован и для отдельной строки, входящей═ в многострочную═ конструкцию (такие строки начинаются с символа "#", см.
ниже).
<address> √
адрес═ системы═ в═ соответствии═ с═
"Соглашением═ об адресах в T-Mail";
<address group> √ группа═ адресов═
в═ соответствии═ с═
"Соглашением об адресах в T-Mail";
<parameters>═ √ это могут быть различные
параметры, после каждого из которых следует его═ значение, разделителем является пробел.
Ниже приведен список
возможных параметров и их значений, а также используемые флаги.
═ ═════════════════════════════
Имя параметра |
Значения |
Примеры |
Комментарии |
Time |
CM или
интервал времени |
CM 22:00-23:59 |
задает══ время═══
работы системы. |
Phone |
номер телефона |
123-4567 8W123-22222 |
Заменяет телефон из нодлиста.
Этот номер НЕ транслируется. |
PreDial |
Внешняя команда |
load.bat !load.bat |
Задает команду, которая будет выполнена
перед набором номера для соответствующего адреса. Эта конструкция должна быть
последней в строке. |
Dial |
префикс |
AT\N1DP |
Будет использован этот префикс
для набора номера при вызове указанной системы. |
BOX |
имя каталога |
c:\mybox\ |
Определяет каталог как
дополнительный файловый ящик для этой системы. Его содержимое не
анализируется при составлении очереди и не является поводом для вызова. |
Wait |
число |
70 |
Индивидуальное время ожидания
несущей при вызове этой системы. |
Hidden |
параметры |
|
Комплексный параметр для
описания дополнительных линий системы. |
FTime |
как и Time |
как и Time |
Время обслуживания файловых
запросов этой системой. |
Password |
пароли |
PASS1,PASS2 SUPER,,PASS |
Пароли для сеансов связи и для PKT-файлов |
Set |
переменная и ее значение |
freq_size=2048 @myset.ctl |
Временное══════════ изменение значения═ переменной═ из t-mail.ctl═══ для══
этой системы на период сеанса связи.═
Конструкций═ SET может быть
несколько. |
Local |
команда DOS |
copy *F c:\hole |
Определяет══ адрес══
как external═ node═ (cм.═ Гл 28) и задает DOS-команду "посылки" файлов на этот
адрес═ (действует только в
коммерческой═ версии). Эта конструкция должна быть
последней в строке. |
Script |
имя файла |
conn1.scr |
Задает══ имя══
файла,═ в котором содержится
текст сценария. Этот сценарий будет выполнен сразу после установления
соединения при исходящем вызове соответствующей системы. Подробнее см. главу
29. |
AKA |
адрес. |
2:5030/500.5 |
Заменяет основной═ адрес на указанный здесь при сеансах связи
с этой системой. |
HideAKA |
группа адресов |
2:5030/500.6 |
Скрывает указанные адреса при
проведении сеанса связи с заданной системой. Может быть несколько таких
конструкций. |
FLAGS |
начало секции |
FLAGS HST,ZMO |
Определяет начало секции
задания флагов для задания дополнительных флагов. |
В начале строки может
стоять как конкретный адрес отдельной системы, так и группа адресов. Для группы
адресов вы НЕ можете задать параметры BOX, PHONE, PASSWORD и комплексный параметр HIDDEN. Если в строке задан адрес конкретной системы,
то, даже если эта система не указана ни в одном нодлисте, она подпадает под
определение Listed (см. "Соглашение об адресах", глава 2). Если вы хотите задать
параметры для группы адресов, то все эти определения нужно поместить в начале
файла, ДО задания параметров конкретных систем.
Нельзя задавать более
одной строки для каждой конкретной системы. При задании двух или более таких
строк все, кроме первой, будут проигнорированы.
Если строка в subst.lst начинается (не считая
пробелов) с символа '#', то она считается логическим продолжением предыдущей.
Суммарная длина одной строки в subst.lst с продолжениями (#) не должна превышать 400
символов.
Примеры (subst.lst):
2:5010/9898 AKA /877.0 password PASS
# Time 8:00-15:00 Phone 923-4567
# Dial ATB1DP Predial load.cmd
2:5020/9898 AKA /877.0 password PSWD
# Time 8:00-15:00 Phone 123-4567
[1] # Dial AT&N6DP
[2] # Dial ATDP9W
[3] # Dial ATB1DT
Слово AKA применяется следующим
образом.
Если встречается строка
вида:
66:66/*.* Aka 66:66/1.0 Time CM
то═ для всех═
адресов, сети═ 66 в═ 66-й зоне═
при установлении сеанса связи будет═
предъявлен═ адрес═ 66:66/1═
в═ качестве═ основного.═
Заданный═ же═ в переменной Address═ (t-mail.ctl) основной адрес системы═ в этом случае либо будет предъявлен как AKA, либо предъявлен не будет вообще (в зависимости
от того,═ указан или нет═ подставляемый адрес в═ переменной AKA t-mail.ctl). Переменная Time в этом же═
примере говорит о том, что вся 66-я зона готова принимать вызовы
круглосуточно.
Параметр Local
подробно описан в главе 28.
Параметр Password
определяет пароли для соответствующей системы. Возможные варианты его задания:
password
<pass1>
password
<pass1>,<pass2>
password
<pass1>,<pass2>,<pass3>
password
<pass1>,,<pass3>
Если в этом параметре
задан один пароль (pass1), то этот пароль используется при проведении сеансов связи с
соответствующей системой (входящих и исходящих), при этом в PKT-файлы для этой системы
пароль не заносится.
Если в этом параметре
заданы два пароля (pass1,pass2),
разделенные запятой, то первый пароль используется для сеансов связи, а второй
заносится в PKT-файлы, формируемые для указанной системы.
Если в этом параметре
заданы три пароля (pass1,pass2,pass3), разделенные
запятой, то первый пароль используется для входящих сеансов связи, второй - для
PKT-файлов, а
третий - для исходящих сеансов связи. Второй пароль (для PKT-файлов) может быть
опущен.
В теле паролей нельзя
использовать символы запятой и пробела. Пароль для сеанса связи может иметь
размер до 20 символов, пароль для PKT-файлов - до 8 символов.
Примеры (subst.lst):
/2════════════ password SUPER123
5030/15 password SCAN,PKTPASS
/5════════════ password MY_PASS,,SMART
/55══════════ password MY_PASSWORD,PKTPASS,SMART
Примечание. Следует иметь ввиду, что некоторые FTN-мэйлеры позволяют для
сеанса связи использовать пароли не более 8 символов. Кроме того, при
использовании handshake типа YOOHOO длина пароля для сеанса связи также ограничена 8 символами.
Слово SET можно применить в
случаях, когда для избранной системы нужно изменить значение переменной из
файла t-mail.ctl. Подмена совершается
ВО ВРЕМЯ handshake. Исходное значение переменной (если оно не было задано с клавиатуры)
восстанавливается сразу по завершении сеанса связи и обработки пришедших файлов
- распаковки почты и выполнения Process - путем перечитывания файлов конфигурации, и
выполнения соответствующих директив SET из файла events.ctl. Вместо значений, заданных с клавиатуры, будут
восстановлены значения переменных из файла t-mail.ctl, а также заданные с помощью директив Set (events.ctl).
Если в subst.lst переопределенный Dial prefix заканчивается
символом '|', то он воспринимается не как префикс, а как готовая строка для вызова
системы и к нему уже ничего не добавляется. При этом номер телефона также
должен быть задан, хотя бы произвольный. Пробелы недопустимы.
Пример (subst.lst):
5030/999 phone 08═ dial at&n14dр123-4567|
Поле PreDial задает программу,
которая будет выполнена перед набором номера для соответствующего адреса. Это
может быть использовано, например, для загрузки программы в softmodem. Как и при
задании параметра Local, конструкция PreDial должна быть последним полем для адреса в subst.lst. При задании программы в этом поле можно
использовать следующие макросы:
*A √ адрес системы, которую T-Mail будет вызывать;
*D √ файловый ящик "по умолчанию" для системы, которую T-Mail будет вызывать;
*X √ полное имя файла *.?LO или *.?UT в Bink-Style Outbound (без расширения) для системы, которую T-Mail будет вызывать;
*I √ PID
текущей задачи;
*B √ скорость соединения (DCE baudrate);
*L √ скорость locked port (или 0);
*P √ номер COM-порта;
*T √ номер задачи (task ident);
*O √ (только для OS/2 и NT
версии) - handle открытого COM-порта.
*M √ текущее системное время компьютера (в формате ЧЧ:ММ);
*C √ текущая
системная дата компьютера (в формате ДД/ММ/ГГ);
Пример: (subst.lst):
5030/151
# time 2:00-8:00═ dial AT&N0DP wait 100
# set freq_time 0:0-24:00
# PreDial═ !load.bat COM*P profile.151
5030/100══ time CM PreDial 100.bat *T -t -g -w
Неправильно:
5030/100═ time CM
# PreDial═ 100.bat -t
# dial ATDP
(поле PreDial должно быть
последним)
Конструкции PreDial и Local не могут быть
использованы совместно. Каждая из них должна быть последней в строке.
Для назначения какой-либо
системе, линии или нескольким системам (addr group) дополнительных флагов используется ключевое
слово FLAGS,
после которого следует пробел и список назначаемых флагов через запятую. Концом
списка является первый пробел после этого списка. В списке флагов могут
присутствовать флаги нодлиста (V32, V34, ZYX и т.д.), служебные флаги T-Mail (ZAP, ZMO, SHORTEMSI, YOOHOO, NOJANUS, XMA), а также пользовательские флаги.
Ф Л А Г И |
|
V32 V32B PEP V42 V42B MNP HST H96 H14 H16 H19 H21 V32T ZYX Z19 VFC V34 ISDNA ISDNB ISDNC V110L V110H V120L V120H X75 DOWN PVT CM |
Устанавливает для адреса
соответствующий═ флаг═ в дополнение═ к═ указанным в══ нодлисте.═════ Можно использовать══
также══ и флаги,═════════ заданны пользователем. |
SHORTEMSI |
При установлении сеанса связи с
системой использовать сокращенную посылку EMSI (пустые поля IDENT). |
YOOHOO |
При═ вызове системы═
форсировать использование YOOHOO handshake. |
NOJANUS |
Запрещает ═использовать═ протокол═ Janus═ при═
сеансе связи с этой системой. |
ZMO |
Запрещает протоколы ZedZap и═ Direct Zap при работе с этой системой. |
ZAP |
Запрещает═ протокол═
Direct═ Zap═
при═ работе═ с этой системой. |
XMA |
Осуществлять═ сжатие═
нетмэйла,═ маршрутизируемого на
данную систему. |
Пример (subst.lst):
2:5030/100 FLAGS ZMO,YOOHOO,H16,CM,MYFLAG
Флаг ZAP следует использовать в случае, если необходимо запретить возможность
передачи файлов протоколом Direct ZedZap.
Флаг ZMO следует
задать в случае, если в качестве протокола Zmodem необходимо использовать классический Zmodem-1K.
Флаг NOJANUS запрещает использовать двусторонний протокол Janus при работе с
указанной системой.
Флаг SHORTEMSI используется для
указания: при установлении сеанса связи с системой использовать сокращенную
посылку EMSI
(пустые поля IDENT).
Флаг YOOHOO используется для
указания: при установлении сеанса связи с системой форсировать использование
протокола handshake YOOHOO.
Флаг XMA используется для
указания того, что можно осуществлять сжатие нетмэйла, маршрутизируемого на
данную систему (см. описание переменной Compress_Mail в t-mail.ctl).
Возможно использование
пользовательских флагов, задаваемых переменной UserDef_Flag в конфигурационном файле t-mail.ctl. Описание использования таких флагов приведено в
главе 2.
Примечание. Все перечисленные флаги могут быть использованы в
нодлисте и будут правильно прочитаны мэйлером из нодлиста и интерпретированы.
Кроме того, в subst.lst
можно отменить флаги, установленные для системы ранее. Это осуществляется с
помощью префикса '~', например:
2:5030/1500 FLAGS ~DOWN════════════ ; отмена статуса Down для узла
Для задания параметров дополнительных
линий отдельных систем можно использовать комплексный параметр HIDDEN. Общий формат
строки файла subst.lst
будет выглядеть так:
<address> <main parameters>
[# Hidden <phone> [<hidden line 1 specific parameters>]]
.....
[# Hidden <phone> [<hidden line 4 specific parameters>]]
Параметры основной линии
системы задаются в области <main parameters>. Для каждой дополнительной линии отдельно
можно задать время работы, время поддержки файловых запросов, префикс набора
номера (dial prefix)
и флаги (кроме XMA). Обязательным является задание номера телефона - он должен следовать
прямо за ключевым словом Hidden. Можно задать до 4 дополнительных линий для
каждой системы.
Пример (subst.lst):
5030/9999 FLAGS V32B,V42B Time 04:00-09:00 ; for main nodelist line
# FTime 05:00-06:00═══════════════════════════════════════════════ ; for main nodelist line
# Hidden 123-3455══════════════ ═══════════════ ═══════════════ ═══; line 2 phone
# Flags ZYX,MYFLAG,YOOHOO════════════════════ ══ ; line 2 flags
# Dial═ AT&N35DP═════════════════════════════════════════════ ══ ; line 2 dial prefix
# Time═ 06:00-09:00══════════════════════════════════════════════ ══ ; line 2 worktime
# Hidden 123-3456══════════════════════════════════════════════ ══ ; line 3 phone
# Time═ 00:00-24:00══════════════════════════════════════════════ ══ ; line 3 worktime
# FTime 00:00-24:00════════════════════════════════════════════ ══ ; line 3 freq time
# Dial═ ATDP═══════════════════════════════════════════════════════ ══ ; line 3 dial prefix
Для всех случаев использования
флагов в конструкции <addr list> анализируются только флаги, заданные (или не
заданные) для основной линии. Для приведенного выше примера: если задать в events.ctl "Hold V32B", то вызовы системы
с адресом /9999 не будут производиться вообще, т.к. ее основная линия имеет
флаг V32B.
Флаги же, заданные для
дополнительных линий в комплексном параметре Hidden, используются только при исходящих вызовах ТОЛЬКО
для подбора префикса набора номера (dial prefix, если он не указан явно в subst.lst), для выбора типа handshake (EMSI/SHORTEMSI/YOOHOO), выбора варианта
протокола Zmodem (Zmodem/ZedZap/DirectZap) и разрешения
использования протокола Janus (NOJANUS). Флаг XMA использовать нельзя.
Возможен еще один
специфический вариант комплексного параметра HIDDEN: Hidden_Address. Параметры дополнительной линии, описанной с
помощью Hidden_Address,
считаются совпадающими с параметрами основной линии другой системы. Поясним его
использование на примере:
1234/123══ time cm
# Hidden 555-1234══════════════ ; first hidden line
# Time 5:00-8:00
# Flags ZYX,NOJANUS
# Hidden_Address═ 1234/124═ ; second hidden line
# Hidden 555-1235══════════════ ; third hidden line
# Time 0:00-9:00
В этом примере в качестве
параметров второй дополнительной линии системы 1234/123 будет использована вся известная
мэйлеру информация об основной линии системы 1234/124 (время, флаги, номер
телефона и т.д.).