Запись сценария CCL
В этой главе описываются основные задачи, которые выполняет CCL scriptmust. Для подробных описаний модемных команд сценариев посмотрите Ссылку Команды CCL.
Модемный сценарий выполняется в одном из двух возможных режимов, каждого с отдельной точкой входа. Режимы следующие:
- произойти
используемый, когда инициируется вызов.
- ответ
используемый, когда включен ответ на вызов. OS X не обеспечивает пользовательский интерфейс для включения или использования режима ответа.
- зависание
используемый для завершения каждого соединения, происходят ли в или режим ответа, и было ли соединение успешно.
Следующее число обеспечивает обзор задач, которые Ваш сценарий должен выполнить в каждом режиме. Остаток от этой главы описывает эти задачи.
Режим исходящих звонков (для инициирования вызова)
| Режим ответа (для ответа на вызов)
| Режим Hangup (для завершения вызова)
|
|---|---|---|
Сконфигурируйте последовательный порт. | Сконфигурируйте последовательный порт. | Выключите аппаратное квитирование CTS. |
Выключите аппаратное квитирование CTS. | Выключите аппаратное квитирование CTS. | Дайте команду зависания. |
Сконфигурируйте модем. | Сконфигурируйте модем. | Если неуспешный, помещал модем в командный режим и зависание проблемы снова. |
Набор. | Позвольте автоматически ответить. | Вспомните заводские настройки. |
Ожидайте ответа. | Обнаружьте кольцо. | Выключите автоответ. |
Если вызов перестал работать, выход с ошибочным кодом результата. | Если вызов перестал работать, выход с ошибочным кодом результата. | Выход. |
Если вызов успешно выполняется, сообщение дисплея. | Если вызов успешно выполняется, сообщение дисплея. | |
Если установленное исправление ошибки модема, проблема | Если установленное исправление ошибки модема, проблема | |
Если модемное установленное сжатие данных, проблема | Если модемное установленное сжатие данных, проблема | |
Сконфигурируйте последовательный порт. | Сконфигурируйте последовательный порт. | |
При необходимости включите аппаратное квитирование CTS. | При необходимости включите аппаратное квитирование CTS. | |
Проблема | Проблема |
Инициирование вызова
Когда OS X инициирует вызов, он выполняет сценарий, запускающийся в @ORIGINATE точка входа. Сценарий должен выполнить следующие задачи инициировать вызов:
Сконфигурируйте канал передачи.
Используйте
SERRESETкоманда для сброса параметров связи последовательного порта (или эмулировал эквивалентный канал передачи). Установите скорость соединения с максимальной скоростью устройства. (Можно изменить скорость последовательного порта позже в сценарии.) Определенный номер битов, которые будут использоваться для остановки, запустите, и четность.Используйте
HSRESETкоманда для выключения опций управления потоком последовательного порта. (Вы включите надлежащие опции позже в сценарии.)Сконфигурируйте устройство.
Следующее является списком стандартных шагов для конфигурирования подобного модему коммуникационного устройства. Проверьте документацию, шедшую с Вашим устройством, чтобы определить, требует ли это различных шагов.
Вспомните параметры конфигурации заводской настройки.
Если Ваше устройство имеет скорость 14 400 бит/с или выше, необходимо сконфигурировать устройство для квитирования RTS/CTS. Для модемов надлежащий кабель должен использоваться, как описано в Спецификациях кабеля. Не включайте аппаратное квитирование, пока не было сделано соединение.
Сконфигурируйте модем для использования DTR.
Выключите локальное эхо. Когда локальное эхо идет, модем отправляет команды, которые это получает назад к компьютеру.
Установите модем для возврата подробных кодов результата включая скорость соединения и результаты согласования коррекции ошибок и сжатия данных.
Если модем может сделать коррекцию ошибок, установите коррекцию ошибок согласно
varString4.Если
varString4установлен в 0, выключите коррекцию ошибок.Если
varString4установлен в 1, имейте модем, согласовывают наилучшую имеющуюся коррекцию ошибок с удаленным модемом. Если никакая коррекция ошибок не может быть установлена, иметь модемы, остаются связанными без коррекции ошибок.Если
varString4установлен в 2, имейте модемную попытку установить коррекцию ошибок MNP10 с удаленным модемом. Если согласование MNP10 перестало работать, имейте модемы, остаются связанными без коррекции ошибок.OS X обычно более эффективен, чем модем или аналогичное устройство в сжимающихся данных. Если Вы полагаете, что у Вас есть особая ситуация, в которой аппаратное сжатие данных предпочтительно, установите сценарий устройство для согласования сжатия данных.
Включите или выключите динамик согласно значению
varString2.
Наберите телефонный номер.
Имейте проверку сценария, расширяется ли строка набора в
varString8(тогдаvarString9) при помощиIFSTRкоманда для проверки на пустую строку. Если вписывается вся строка набораvarString7, имейте сценарий, дают единственную команду набора. Если строка набора более длительна, чемvarString7, имейте многократную ссылку команд набора проблемы сценарияvarString7,varString8, и, если необходимо,varString9.Тон набора или импульсный набор в команде набора согласно значению
varString3.Если
varString6установлен в 1, имейте устройство, начинают набирать без подтверждения приема тональных сигналов готовности к набору номера. Это полезно, когда телефонная система обеспечивает нестандартный тональный сигнал готовности к набору номера, который не может быть распознан схемой обнаружения тональных сигналов модема.Если
varString6установлен в 2, пользователь уже набрал удаленный номер. Имейте причину сценария модем для переквалификации с удаленной системой. Когда последовательность набора является слишком сложной или интерактивной для сценария CCL для навигации, это полезно.Выведите на экран набранный телефонный номер в интернет-окне состояния Connect и журнале операций с помощью
NOTEкоманда. ИспользоватьvarString1в журнале обменивается сообщениями, а не связьvarString7,varString8, иvarString9.
Ожидайте устройства для ответа.
Если вызов перестал работать, возвратите ошибочный код результата, указывающий, что произошло.
Например, используйте ошибочный код результата-6022 если занято. (См. Коды Результата для полного списка.)
Если вызов успешен, укажите, что было установлено соединение.
Выведите на экран сообщение, такое как «Передача в 9 600 бит/с» в интернет-окне состояния Connect с помощью
NOTEкоманда. Также выведите на экран сообщения, указывающие результаты согласования коррекции ошибок и сжатия данных, если применимо.Если Вы были успешны в установлении коррекции ошибок, проблемы
USERHOOK 4(для коррекции ошибок MNP10) илиUSERHOOK 2(для всей другой коррекции ошибок) для уведомления OS X, что была установлена надежная ссылка.Если Вы были успешны в установлении сжатия данных, проблемы
USERHOOK 3советовать OS X выключать свое встроенное сжатие данных.Сконфигурируйте канал передачи на основе скорости устройства и скорости передачи соединения.
Если Ваше устройство имеет скорость 14 400 бит/с или выше (и, для модемов при использовании кабеля квитирования RTS/CTS, как описано в Спецификациях кабеля) используйте
HSRESETкоманда для установки управления потоком вoutputCTS. ИспользуйтеCOMMUNICATINGATкоманда, чтобы сказать OS X скорость соединения так, чтобы это могло установить свои таймеры соответственно.Если Ваше устройство имеет скорость 9 600 бит/с или медленнее, используйте
SERRESETкоманда для сброса скорости последовательного порта к скорости соединения.Выйдите из сценария так, чтобы OS X мог использовать соединение.
Для получения дополнительной информации на командах и переменных, описанных в этом разделе, посмотрите Ссылку Команды CCL.
Ответ на вызов
Для ответа на вызов OS X выполняет сценарий, запускающийся в @ANSWER точка входа. Сценарий должен выполнить следующие задачи ответить на вызов:
Сконфигурируйте канал передачи.
Используйте
SERRESETкоманда для сброса параметров связи последовательного порта (или эмулировал эквивалентный канал передачи). Установите скорость соединения с максимальной скоростью устройства. (Можно изменить скорость последовательного порта позже в сценарии.) Определенный номер битов, которые будут использоваться для остановки, запустите, и четность.Используйте
HSRESETкоманда для выключения опций управления потоком последовательного порта. (Вы включите надлежащие опции позже в сценарии.)Сконфигурируйте устройство.
Это потребует, чтобы несколько команд полностью сконфигурировали устройство. Для предотвращения вызовов, которым отвечают перед, конфигурация завершена, отключите автоответ в первой команде проблемы сценария. (Вы включите его на шаге 3.)
Для дополнительных подробных данных о конфигурировании устройства посмотрите шаг 2 Инициирования Вызова ранее в этой главе.
Вспомните параметры конфигурации заводской настройки.
Если Ваше устройство имеет скорость 14 400 бит/с или выше, установило устройство для квитирования RTS/CTS. Для модемов используйте надлежащий кабель, как описано в Спецификациях кабеля.
Сконфигурируйте устройство для использования DTR.
Выключите локальное эхо.
Установите устройство для возврата подробных кодов результата включая скорость соединения и результаты согласования коррекции ошибок и сжатия данных.
Если устройство может сделать коррекцию ошибок, установите коррекцию ошибок согласно
varString4.OS X обычно более эффективен, чем модем в сжимающихся данных. Если Вы полагаете, что у Вас есть особая ситуация, в которой аппаратное сжатие данных предпочтительно, установите сценарий модем для согласования сжатия данных.
Включите или выключите динамик согласно значению
varString2.
Позвольте автоматически ответить и ожидайте результата.
На входящем вызове, проблемы устройств a
RINGкод результата.Если вызов перестал работать, возвратите ошибочный код результата, указывающий, что произошло.
Например, используйте ошибочный код результата-6021, если устройство не может обнаружить несущий сигнал на телефонной линии. (См. Коды Результата для полного списка.)
Если вызов успешен, укажите, что было установлено соединение.
Выведите на экран сообщение, такое как «Передача в 9 600 бит/с» в интернет-окне состояния Connect с помощью
NOTEкоманда. Также выведите на экран сообщения, указывающие результаты согласования коррекции ошибок и сжатия данных, если применимо.Если Вы были успешны в установлении исправления аппаратной ошибки, проблемы
USERHOOK 4(для коррекции ошибок MNP10) илиUSERHOOK 2(для всей другой коррекции ошибок) для уведомления OS X, что была установлена надежная ссылка.Если Вы были успешны в установлении сжатия данных, проблемы
USERHOOK 3советовать OS X выключать свое встроенное сжатие данных.Сконфигурируйте канал передачи на основе скорости устройства и скорости передачи соединения.
Выйдите
USERHOOK 1команда.USERHOOK 1команда сообщает OS X, что последовательный порт или эквивалентный занят, отвечая на вызов, препятствующий тому, чтобы OS X дал ему до другого приложения.Если Ваше устройство имеет скорость 14 400 бит/с или выше (и, для модемов при использовании кабеля квитирования RTS/CTS, как описано в Спецификациях кабеля) используйте
HSRESETкоманда для установки управления потоком дляoutputCTS.Используйте
COMMUNICATINGATкоманда, чтобы сказать OS X скорость соединения так, чтобы это могло установить свои таймеры соответственно.Если Ваше устройство имеет скорость 9 600 бит/с или медленнее, используйте
SERRESETкоманда для сброса скорости последовательного порта к скорости соединения.Выйдите из сценария так, чтобы OS X мог использовать соединение.
Для получения дополнительной информации на командах и переменных, описанных в этом разделе, посмотрите Ссылку Команды CCL.
Завершение вызова
Для завершения вызова OS X выполняет сценарий, запускающийся в @HANGUP точка входа.
Часть зависания сценария выполняется для завершения соединения каждый раз, когда @ORIGINATE или @ANSWER части сценария были выполнены, независимо от результата. Когда OS X завершает режим ответа, часть зависания сценария также выполняется.
Сценарий должен выполнить следующие задачи завершить вызов:
Если аппаратное квитирование используется в
@ORIGINATEили@ANSWERчасть сценария, выключите аппаратное квитирование.Используйте
HSRESETкоманда для выключения аппаратного квитирования.Если возможно, заставьте устройство вводить командный режим.
Перед выдачей команды зависания Вы, возможно, должны привлечь внимание устройства, например, выпуская короткий перерыв, длинное повреждение или последовательность внимания»
+++«, или путем переключения DTR. Консультируйтесь со своей документацией устройства для надлежащего метода.Дайте команду зависания.
Вспомните параметры конфигурации заводской настройки.
Так как Вы вспомнили настройки по умолчанию в начале сценария, это не необходимо, если единственное приложение связи, которое Вы используете, является встроенной поддержкой модема OS X; однако, вспоминание настроек по умолчанию в конце Вашего сценария рекомендуется в случае, если следующее приложение связи, которое Вы используете, не заботится об этом самом.
Выключите автоответ.
Это препятствует тому, чтобы устройство подошло к телефону, пока не включен ответ на вызов.
Выход с надлежащим сообщением.
Если успешный, возвратите код результата
0. Если неуспешный, возвратите надлежащий ошибочный код результата, как перечислено в Кодах Результата
Для получения дополнительной информации на командах и переменных, описанных в этом разделе, посмотрите Ссылку Команды CCL.