Соединения через асинхронный PAD по сети X.
Здесь мы предполагаем, что на вызывающем компьютере (станции или сервере) модем подключен непосредственно к COM-порту. Однако он выполняет телефонный вызов на модем, находящийся "на входе" асинхронного ассемблера/дизассемблера пакетов (асинхронный PAD). PAD территориально расположен у "ближайшего" провайдера услуг X.25 и своей "второй стороной" подключен к сети X.25. Вызываемый сервер Notes оборудован картой X.25
фирмы Eicon
(подробнее смотрите в 4.1.1), которая также подключена к сети X.25.
Таким образом, с точки зрения модели, приведенной на Рис. 5.1, управляемое устройство УУ1 и скрипт его "приобретения" в данном случае отсутствуют. Роль управляемого устройства УУ2 выполняет асинхронный PAD. Диалог между вызывающим компьютером и PAD задается скриптом соединения. Этот диалог сводится к переводу PAD в необходимый режим и "вынуждению" его установить соединение с абонентом сети X.25, имеющим определенный DTE-адрес, т.е. картой X.25, установленной в вызываемом сервере Notes. Выполняется скрипт соединения, естественно, после того, как установлено соединение с установленным "на входе" PAD модемом.

Рис. 5.11 Схема соединения через асинхронный PAD по сети X.25
Рассмотрим действия, которые необходимо выполнить по настройке вызывающих станции или сервера в такой ситуации.
Настройки COM-порта
Единственным отличием от рассмотренного в 5.1 в конкретном случае, с которым имел дело автор, было то, что асинхронный PAD "требовал", чтобы модемное соединение с ним устанавливалось на фиксированной скорости 9600 bps. Однако модемы на вызывающем компьютере и PAD, а так же свойства соединяющей их телефонной линии при использовании штатного файла управления модемом "провоцировали" драйвер XPC на установление соединения на более высокой скорости. Проблема была устранена модификацией файла управления модемом: в строку инициализации модема ZyXEL U-1496+ была добавлена команда &N3, "вынуждающая" вызывающий модем устанавливать соединение с вызываемым на фиксированной скорости 9600 bps.
; а скрипт ожидает этого символа до 20 секунд.
WAIT 20 FOR "@"
; REPLY "String" посылает на УУ строку "String".
; В данном случае на PAD посылаются строки, переводящие PAD
; в режим, необходимый для работы с Notes. Все эти строки "SET"
; в точности заимствованы из "штатного" скрипта.
; ERROR <метка> после WAIT [N] [FOR "SubString"]
; передает управление на указанную метку, если за N секунд
; от УУ не получена строка, содержащая "SubString".
REPLY "SET 1:0,2:0,3:0,4:20,5:0,7:0,8:0,9:0"
WAIT 5 FOR "@"
ERROR TIMEOUT
REPLY "SET 10:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0"
WAIT 5 FOR "@"
ERROR TIMEOUT
REPLY "SET 19:1,20:255"
WAIT 5 FOR "@"
ERROR TIMEOUT
; REPLY "^1" передает PAD значение первого аргумента: DTE-адрес
; абонента в сети X.25, с которым нужно установить соединение.
; WATCH [N]
; [FOR]
; "SubString1" Оператор1
; "SubString2" Оператор2
; . . .
; ENDW
; представляет собой "переключатель" в зависимости от того,
; содержится ли в "ответе" УУ указанная подстрока "SubStringI".
; Если за N секунд не получено предусмотренного ответа,
; выполняется следующий за ENDW оператор.
; "END" "нормально" завершает скрипт.
; FAIL String записывает строку в LOG.NSF и завершает скрипт "по ошибке".
; Если PAD возвращает строку "CONNECTED", соединение с абонентом X.25
; установлено, и скрипт "нормально" завершает работу.
; Иначе скрипт завершает работу "по ошибке".
REPLY "^1"
WATCH 15
"CONNECTED" END
"REJECTING" FAIL > Call rejected
"ILLEGAL ADDRESS" FAIL > Illegal DTE address
"?" FAIL > Unrecognized DTE address
ENDW
FAIL > Timed out trying to connect
; Инициализация модема станции
19.11.96 15:26:25 COM1: Send to Modem: AT&FE0X6&N3 (9600 bits per second)
19.11.96 15:26:25 COM1: Receive from Modem: OK
19.11.96 15:26:26 COM1: Send to Modem: ATM0 (9600 bits per second)
19.11.96 15:26:26 COM1: Receive from Modem: OK
19.11.96 15:26:26 COM1: Send to Modem: AT&H0 (9600 bits per second)
19.11.96 15:26:26 COM1: Receive from Modem: OK
19.11.96 15:26:26 COM1: Send to Modem: ATS9=6 (9600 bits per second)
19.11.96 15:26:27 COM1: Receive from Modem: OK
; Набор телефонного номера модема на PAD
19.11.96 15:26:27 COM1: Send to Modem: ATDP1234567, (9600 bits per second)
; Ответ модема на PAD на входящий вызов
19.11.96 15:26:56 COM1: Receive from Modem: CONNECT 9600/ARQ
19.11.96 15:26:56 COM1: 9600 bits per second connection established
; Соединение с модемом на PAD установлено, начинается выполнение скрипта соединения
19.11.96 15:26:59 COM1: Script Received: SPRINT NETWORKS
19.11.96 15:26:59 COM1: Script Received: 777 3350.07
19.11.96 15:26:59 COM1: Script Matched: @
; После ответа PAD на него посылаются команды SET
19.11.96 15:26:59 COM1: Script Sent: SET 1:0,2:0,3:0,4:20,5:0,7:0,8:0,9:0
19.11.96 15:26:59 COM1: Script Received: @SET 1:0,2:0,3:0,4:20,5:0,77:0,8:0,9:0
19.11.96 15:27:00 COM1: Script Matched: @
19.11.96 15:27:00 COM1: Script Sent: SET 10:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0
19.11.96 15:27:00 COM1: Script Received: @SET 10:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0
19.11.96 15:27:01 COM1: Script Matched: @
19.11.96 15:27:01 COM1: Script Sent: SET 19:1,20:255
19.11.96 15:27:01 COM1: Script Received: @SET 19:1,20:255
19.11.96 15:27:01 COM1: Script Matched: @
; На PAD посылается DTE-адрес, с которым нужно установить соединение
19.11.96 15:27:02 COM1: Script Sent: 7770123400
19.11.96 15:27:02 COM1: Script Received: @7770123400
19.11.96 15:27:02 COM1: Script Received: 777 1234 CONNECTED
19.11.96 15:27:02 COM1: Script Matched: CONNECTED
19.11.96 15:27:03 COM1: End of script file or END command reached
; Скрипт соединения завершил работу
; Далее станция устанавливает соединение с сервером Notes
19.11.96 15:27:25 Network: Determining path to server NS330/CROC
19.11.96 15:27:25 Network: Checking normal priority connection records only...
19.11.96 15:27:25 Network: Allowing wild card connection records...
19.11.96 15:27:25 Network: Enabling name server requests...
19.11.96 15:27:25 Network: Checking local COM1 names table for NS330/CROC
19.11.96 15:27:25 Network: Address found for NS330/CROC via COM1
19.11.96 15:27:25 Network: Connecting to NS330/CROC over COM1
19.11.96 15:27:25 Network: Use address 'NS330' on COM1
19.11.96 15:27:36 Network: Connected to server NS330/CROC
Остается отметить, что номера телефонов и DTE-адреса в документе Connection и протоколе заменены вымышленными.