Российским программистам посвящается.... Версия 4.00 26.02.99 Прошивка сделана на основе SDL 30/04/98 (International) содержащем поддержку протоколов X2 и V90 (56K) Русский АОН ! (Стандарт стран бывшего СССР) Специально адаптировано для работы на РОССИЙСКИХ линиях включая модемы US/Canada ! Добавлено: Введены дополнительные регистры настройки BUSY, DIALTONE, RINGING, RING регулировка S39 (уровня выходного сигнала) на ВСЕХ странах, регистр фиксации бага UTR, разрешена смена кода страны и всех других параметров по ATCxx=, смена серийного номера модема, озвучивание ретрейнов, регулировка уровней DTMF набора, уровня факса, сохранение S14, добавлены укороченные команды выбора протокола соединения, индикатор скорости соединения выведен на HS Led, парольный коннект с использованием DTMF кодов, Русский АОН ( определение номера звонящего абонента ). Определение типа (производителя) удаленного модема. !! Внимание, после заливки этой пpошивки набеpите команды AT&F1,AT+SF,AT&W. !! иначе ловля Dialtone,Busy будет не возможна. !!! Не Для Продажи !!! !!! Запрещается продажа прошивки в любом виде !!! Запрещается как предпродажная установка прошивок IDSDL в продаваемые модемы, так и установка их в модемы апгрейдерами. Использование в любом виде фрагментов кода и алгоритмов этой прошивки в прошивках других авторов является незаконным. Все виды извлечения прибыли от использования прошивки должны быть согласованы с ee автором (Игорь Дягилев, Хабаровск Россия, id@redcom.ru или 2:5040/6.21). Несоблюдение этих простых условий приведет к тому, что я прекращу выпуск свободно-распространяемых новых версий прошивок для модемов Courier, и думаю что лучше от этого никому не станет.... I. Загрузка прошивки. Загрузка прошивки производится стандартным образом через SDL или XMODEM: Поскольку модемы 3Com U.S.Robotics Courier V.Everything бывают двух моделей 20.16Mhz и 25Mhz (новая модель 1997 года), то и ID_SDL выпускается в двух вариантах. Узнать какая частота процессора у вашего модема Вы можете, набрав команду ATI7 в любой терминальной программе. Имя файла SDL (MSDOS) для 20.16Mhz модели Курьер US/Canada: ID_SDL20.EXE Имя файла SDL (XMODEM) для 20.16Mhz модели Курьер US/Canada: IDSDLxxx.XMD Имя файла SDL (MSDOS) для 25Mhz модели Курьер US/Canada: ID_SDL25.EXE Имя файла SDL (XMODEM) для 25Mhz модели Курьер US/Canada: ID25_xxx.XMD * "International" и другие европейские модели модемов Курьер выпускаются только в 20.16Mhz варианте. Возможна загрузка прошивки через XMODEM, если текущая прошивка загруженная в ваш модем поддерживает эту возможность (такая возможность в модемах Courier появилась с 29.04.96): AT~X! (именно со знаком "!") * Установка модема в Windows 95 производится через "*.inf" файл, согласно документации от 3Com. * Краткую помощь по ключам, для изменения параметров COM порта, можно получить по: ID_SDLxx.EXE /? Подробно о прошивке: 1. Разрешено изменение серийного номера модема (в любое время, любое число раз) командой AT~S-mmddyy-XXXXXXXXXXXX где: mm - месяц, dd - день , yy-год прошивки, XXXXXXXXXXXX - серийный номер (любые символы) 2. Разрешено использовать команды ATCxx=yy 2.1 Например можно менять страну: ATGN <- хотя это и не обязательно ATC10=x, где x может принимать значения: 0 = USA/Canada 13 = Denmark 1 = Japan 14 = Australia 2 = Finland 15 = France 3 = Sweden 16 = Germany 4 = UK 17 = International 5 = Norway 18 = Austria 6 = Switzerland 19 = Ireland 7 = Netherlands 20 = Spain 8 = South Africa 21 = Portugal 9 = Italy 22 = South Korea 10 = New Zealand 23 = Taiwan 11 = Czechoslovakia 24 = Singapore 12 = Belgium ATNX <- обязательно (на эту команду модем ничего не ответит) 3. Разрешена регулировка уровня сигнала регистром s39 при любых кодах страны (в том числе US/Canada). Регистр может принимать значение: 1 max. - 29 min !!! 4. Настройка дополнительных параметров командой AT+S AT+SAn - присвоение значения булевскому регистру AT+S? - вывод всех регистров и их значений. AT+S$ - вывод помощи по +S регистрам. AT+SF - загрузка в регистры +S значений по умолчанию. AT+Sn=m - присвоение регистру "n" десятичного значения "m". AT+Sn? - просмотр значения дополнительного регистра. II.Описание доп. регистров: (все значения в десятичной системе исчисления) +S1 - установка времени задержки в м.с. между соседними цифрами при наборе номера, может принимать значение от 0 до 127. Значение по умолчанию - 70. Для того чтобы набрать цифру, состоящую из более чем 10 импульсов, надо установить время паузы между цифрами такое же, как и время между импульсами в одной цифре. Указывая в номере "/" "," или другие символы паузы можно набирать номера из произвольного числа цифр с произвольным количеством импульсов в каждой цифре. В этом случае команда ATDP99/12/999 приведет к набору трех цифр, состоящих из 18-ти, 3-х и 27 импульсов. +S2 - установка длительности break/make при наборе цифры. значение 0 - по умолчанию, такая же длительность будет при значении 8Ch (140): где 8 - это длительность импульса, С - длительность паузы между импульсами. Можно уменьшать и то и другое, но в разумных пределах. Переведите получившееся значение в десятичную форму и занесите в этот регистр. +S3 Управление распознаванием Busy/Dialtone до начала набора номера. Назначение отдельных бит: 20- Производить фильтрацию после обработки 10- Производить фильтрацию перед обработкой 8 - Очищать биты по маске 8Fh (стандарт) 4 - Очищать биты по маске 73h (дополнительно) младшие 2 бита - код функции: 0 - ничего не менять 1 - бит шум -> бит тон, шум стереть 2 - бит шум+бит тон -> бит тон 3 - стереть бит шум Фильтрация позволяет отсеять только одиночные выбросы. Т.е. если с DSP придет последовательность [02 01 02 02], то после фильтрации получится последовательность [02 02 02 02]. Однако, коды [02 02 01 01 02 02] будут преобразованы в [02 02 02 01 01 02]. +S4 Управление распознаванием Busy/Dialtone после начала набора номера. Назначение битов аналогично регистру +S3. 5.1 Методика подстройки параметров Dialtone/Busy/Ringing Установите дополнительные регистры AT+S3=0, AT+S4=0 Установите ATX7. Включите режим выдачи дополнительной отладочной информации ATY4. Включите динамик модема и подключите сам модем к линии. 5.1.1. Настройка Dialtone После набора команды ATD Вы увидите на экране последовательность цифр. Бит 0 (код 1) индицирует наличие какого-то шума на линии. Далее будет называться "бит шум". Бит 1 (код 2) индицирует наличие сигнала с частотой 425 Гц, т.е. сигнала Dialtone/Busy/Ringing. Далее будет называться "бит тон". - Если у Вас нормальная АТС, то Вы увидите бегущие двойки. В этом случае +S3 оставьте в 0. - Если Вы видите нули, то это означает, что Ваш модем не может обнаружить никакого сигнала на линии, вероятно на Вашей АТС параметры сигналов очень отличаются от общепринятых по частоте или амплитуде. В таком случае можно попробовать добиться "двоек" изменяя значение регистра AT+S15, можно использовать ряд 0,1,2,4,8,16,32,64,128 (Например, у меня на координатной АТС все ловится только при +S15=4) - Если Вы видите единицы, то это означает, что Ваш модем детектирует Dialtone как посторонний шум. Тогда нужно установить +S3 в 1 (при этом бит "шум" будет перемещаться в бит "тон") или в 2 (при этом бит "шум" будет добавляться к биту "тон"). - Если Вы видите тройки, то это означает, что Ваш модем кроме Dialton'а обнаруживает еще и шум (или уровень сигнала в линии сильно завышен) Можно отсечь бит шум (записать код 3 в "+S3"). Вот краткая табличка возможных вариантов: Коды Регистр "+S3" 02 0 00 регулируйте +S15 01 1/2 03 1/2/3 Если коды периодически меняются: 02/03 2/3 02/01 2 03/01 1 - Если в последовательности кодов появляются коды больше 3, то можно их отсечь с помощью битов 2 и (или) 3 в регистре "+S3" (добавляя к значению маски 4 или 8) Регистр AT+S4 настраивается аналогично. 5.1.2. Настройка Busy Принцип аналогичен настройке Dialtone. Перед началом настройки надо установить регистр +S4=0 Дать команду набора своего собственного номера (или другого, заведомо занятого номера). В такт гудкам должны появляться двойки, при паузе - нули. - Если так оно и есть - все замечательно. - Если есть только 0 - то проблема, можно опять вернуться к регулировке +S15 и попробовать его подобрать (обращая при этом внимание на ловлю DIALTONE) Если ничего не получается, то придется выбирать из двух вариантов, что важнее или предпочтительнее: DIALTONE или BUSY. :( Возможные варианты: 0/1 - Dialtone детектируется как шум. В +S4 можно ставить значения 1 или 2 0/3 - Diatlone детектируется как тон с примесью шума. В +S4 можно ставить значения 1, 2 или 3. 1/3 - На линии постоянно присутствует шум. В +S4 можно ставить значение 3. 2/3 - Модем определяет шум, как Dialtone, а Dialtone как шум. В +S4 можно ставить значение 1. 1/2 - В паузах модем детектирует шум. В +S4 можно ставить значение 3, в некоторых случаях 1. Основная цель всех этих настроек - добиться, чтобы при Dialtone на экран выводились двойки без примеси других цифр, при Busy и Ringing - чередующиеся двойки и нули. Если при Busy чередующиеся нули и двойки выводятся, а занятость не определяется, надо подрегулировать длительности с помощью регистров +S5,+S6,+S7,+S8. При RINGING аналогично действуют регистры +S9,+S10,+S11. Обратите внимание, что +S3 влияет на определение сигналов до набора первой цифры, а +S4 - после. +S5 - Минимальное время одного сигнала BUSY. стандартное значение - 10. +S6 - Максимальное время одного сигнала BUSY. стандартное значение - 35. +S7 - Минимальное время паузы между сигналами BUSY. стандартное значение - 4. +S8 - Максимальное время паузы между сигналами BUSY. стандартное значение - 255. +S9 - Минимальное время одного сигнала RINGING. стандартное значение - 9. +S10 - Максимальное время одного сигнала RINGING. стандартное значение - 125. +S11 - Минимальное время паузы между сигналами RINGING. стандартное значение - 75. +S12 - Максимальное число сообщений RINGING от модема, по истечению которого NO ANSWER. при 0 - счетчик выключен. +S13 - Уровень сигнала (чувствительность) для распознавания DIALTONE стандартное значение - 525 (w) +S15 - Модификатор распознавания DIALTONE стандартное значение - 0 +S16 - Уровень сигнала для выделенной линии (-dBm) стандартное значение - 6 +S17 - Выходной уровень факса (-dBm) стандартное значение - 6 +S18 - Общая регулировка чувствительности приемника модема 1 - ослабить входной сигнал на 6dBm 2 - стандартная чувствительность приемника модема 3 - усилить входной сигнал на 6dBm стандартное значение - 2 +S19 - Дополнительное ослабление выходного сигнала передатчика модема 1 - стандартный выходной сигнал ( по значению в регистре S39 ) 2 - выходной сигнал ослаблен на 6dBm 3 - выходной сигнал ослаблен на 12dBm стандартное значение - 1 +S22 - Уровень (чувствительность) детектирования DTMF стандартное значение - 525 (w) +S24 - Уровень сигнала тонального набора DTMF, для первой частоты стандартное значение - 6528 (w) +S26 - Уровень сигнала тонального набора DTMF, для второй частоты стандартное значение - 3200 (w) +S28 - UTR bugfix (w) константа, используется для фиксации ошибки "Unable To Retrain" может быть полезна на плохих линиях. стандартное значение - 4200 (w) USR ставит - 1400 +S30 - Минимальное время одного периода звонка RING стандартное значение - 24 +S31 - Максимальное время одного периода звонка RING стандартное значение - 180 +S32 - Минимальная скважность звонка RING (Общее время одного периода/время звяка)*100h стандартное значение - 1024 (w) +S34 - Скорость при которой будет зажигаться индикатор HS на внешнем модеме начиная со скорости 2400 ! 00 - не используется (работает по стандарту USR, Default) 03 - 2400 04 - 4800 05 - 7200 06 - 9600 07 -12000 08 -14400 09 -16800 10 -19200 11 -21600 12 -24000 13 -26400 14 -28800 15 -31200 16 -33600 +S35 - Управление работой V34 (ITU-V34, INFO0) 1 - символьная скорость 3000, нижняя несущая - Disabled 2 - символьная скорость 3000, верхняя несущая - Disabled 4 - символьная скорость 3200, нижняя несущая - Disabled 8 - символьная скорость 3200, верхняя несущая - Disabled стандартное значение - 0 * Примечание: 1. (w)- означает двухбайтовый регистр, может принимать (0-65535), все остальные регистры байтовые (0-255) 2. Все длительности сигналов, в единицах по 20 мсек. 6. Логические переключатели (n=0 или n=1 ) AT+SAn - включение/выключение озвучивания изменений состояния линии при связи. n может принимать значения: 0 - озвучивание выключено. 1 - озвучивание включено. AT+SBn - тип озвучивания изменений состояния линии. n может принимать значения: 0 - озвучивание только pетpейнов. 1 - озвучивание любых изменений (например, смена скорости) AT+SCn - не класть / класть трубку при диагностике NO DIAL TONE. n может принимать значения: 0 - стандартная обработка NO DIAL TONE (класть трубку) 1 - измененная обработка NO DIAL TONE (не класть трубку) Применяется на загруженных станциях. Если при снятии трубки для набора номера модем не услышал DIALTONE (так как совпало со входным звонком), модем выдаст NO DIAL TONE, но не положит трубку, если после этого дать ATA он попытается установить связь. В T-Mail'е это делается 'AnswerOn RING NO DIAL TONE'. AT+SDn - Модификатор распознавания длинных гудков 0 - стандартный режим 1 - распознавать длинные гудки (более 1.5 сек.) как BUSY AT+SMn - Управление динамиком модема в режиме OFF Line 0 - динамик выключить 1 - динамик включить * эта команда не запоминается, но позволяет включать динамик модема и прослушивать телефонную линию, например на предмет наличия разговора по параллельному телефону. * эта команда не производит самостоятельного подъема трубки. AT+SPn - Управление подключенным через модем телефоном 0 - стандартный режим 1 - внешний телефон всегда отключен * эта команда не запоминается, но и не сбрасывается по ATZ. После выключения питания модем возвращается в стандартный режим. * эта команда действует не на всех моделях модемов Курьер. 7. Команды выбора протокола соединения. AT+SSA - Автоматический выбор протокола (все разрешены, Default) AT+SSF - V.FC протокол AT+SSH - HST протокол AT+SST - V.32Terbo * если удаленный модем не способен соединится на установленном протоколе, то возможно соединение на V.22bis (2400bps) или разрыв связи. * эти команды можно использовать перед набором номера. 8. Краткая статистика по соединению: Команда ATI9. 9. HELP: Команда ATI13. 10. Поддержка команд редактирования памяти ATG, ATGLK2 11. AT%T - Распознавание DTMF кодов Если будет дана команда AT%T, то она выполнится стандартным образом. (Распознавание и печать полученных DTMF кодов). Если после %T будут дополнительные символы, то вызывается обработчик расширенного %T. * Самостоятельного подъема трубки эти команды не производят. 11.1 Полный формат расширенной команды: /* Синтаксис команд расширенного DTMF,в соответствии со стандартом */ /* Константина Норватова */ %T+[time]passwd?cmd1:cmd2 time - Время ожидания DTMF кодов (в секундах). Если за это время, при помощи DTMF, с тел. линии будет получен правильный пароль, то выполнится команда cmd1, иначе выполнится команда cmd2. Во время ожидания, любой символ полученный от вашего компьютера через COM-порт, прервет ожидание с выводом сообщения ERROR. passwd - последовательность кодов пароля. Если будет принят код несовпадающий с паролем,то проверка начнется сначала (без каких-либо уведомлений) и будет продолжатся до истечения времени ожидания "time". Число ошибок не ограничено. cmd1,cmd2 - обычные команды (без префикса AT). Если эта строка состоит только из десятичных цифр, она интерпретируется как номер сообщения (например, можно заставить модем выдать сообщение VOICE (12)). Символы "?" и ":" -разделители. Наличие плюса в команде указывает на разрешение удаленного управления уровнем сигнала передатчика через регистр S39, В этом случае при приеме DTMF кода '#' следующие два кода (назовем их x и y) будут интерпретированы как десятичное число. Значение x*10+y будет занесено в регистр S39. Предельные значения 1...29, в случае выхода за пределы этого диапазона команда будет проигнорирована. Позволяет звонящему "заказывать" требуемый уровень выходного сигнала (при этом наличие пароля необязательно). 11.2 Сокращенные формы команды: %T5 - будет бесконечно ожидаться код 5. При вводе кода будет выдана диагностика OK. %T[10]5 - код 5 должен быть введен в течении 10 секунд. Если введен, то будет выдано OK. Если за это время он не будет введен, выдается диагностика ERROR. %T+[10]5 - аналогично предыдущему, но разрешено управление S39 %T5?i1 - При вводе кода 5 будет исполнена команда i1. %T[3]7?i2 - Если за 3 секунды будет введен код 7, будет исполнена команда i2, иначе будет выведено сообщение ERROR. %T[20]123?A:X1DP!32 - Если за 20 секунд будет введен код 123, модем начнет исполнять команду ATA, иначе он выполнит флэш и наберет код 32 пульсовым набором. %T[14]123?A:12 - Если за 14 секунд будет введен код 123, модем начнет исполнять команду ATA, иначе он выведет сообщение VOICE или число 12 (если включен режим числовых ответов по ATV0). %T+[10]?A:12 - Если за 10 секунд будет введен DTMF код установки S39 (#nn), модем начнет исполнять команду ATA, иначе он выведет сообщение VOICE или число 12 (если включен режим числовых ответов по ATV0). %T+[10] - Если за 10 секунд будет введен DTMF код установки S39 (#nn), модем выдаст OK, иначе ERROR. %T[5] - Через 5 сек. выдаст ERROR. * Команда не производит подъема трубки самостоятельно, в большинстве случаев последовательность должна быть ATH1%T[...]. * По окончании соединения (при использовании возможности заказа S39), модем необходимо проинитить, например по ATZ, для восстановления измененного значения регистра S39. 12. Русский АОН ( Russian Caller ID ) 12.1 Краткий принцип работы АОН в ID_SDL. Если режим АОН (RCID) включен (+S62 не равен 0), то по команде ATA или поступлении очередного, определенного значением регистра S0 входного звонка (в режиме автоответа), модем поднимет трубку, выждет начальную паузу согласно значению регистра +S60, и выдаст к АТС запрос о номере звонящего абонента. В течение времени, определенном значением регистра +S63 модем ждет начала поступления от АТС безинтервального пакета с номером звонящего абонента. Если за это время пакет не начал поступать, то будет сформирован повторный запрос к АТС (количество запросов определяется значением +S62) и процесс ожидания ответа повторится. Если от АТС поступил пакет RCID с номером звонящего абонента, то он будет декодирован и выдан в отдельной строке (если выдача разрешена т.е +S64=1) немедленно, до сообщения о коннекте. Впоследствии этот номер RCID можно просмотреть по ATI15, независимо от текущих установок +S64. После успешного определения номера, модем перейдет в обычный Answer режим и коннект осуществится стандартным образом. При неопределении номера, по истечении таймаута равного произведению количества запросов (+S62) на время ожидания ответа (+S63) и длительности каждого запроса-100ms., модем также перейдет в обычный Answer режим и коннект осуществится стандартным образом. Стандартно под номер RCID отводится 8 знаков (но возможны отклонения от стандарта, см. примечание ниже). 1. 1-я цифра индекса АТС (может отсутствовать или быть заменена заполнителем) 2. 2-я цифра индекса АТС 3. 3-я цифра индекса АТС 4. Цифра тысяч номера 5. Цифра сотен номера 6. Цифра десятков номера 7. Цифра единиц номера 8. Цифра категории абонента (это последняя цифра в номере) 12.2 Регистры настройки АОН (RCID): +S60 Начальная пауза после подъема трубки, перед первой посылкой запроса АОН модема к АТС (в единицах по 10 мсек.) стандартное значение - 30 +S61 Уровень сигнала запроса АОН модема к АТС (от 0dBm до -8dBm) стандартное значение - 2 +S62 Включение АОН и количество запросов к АТС (от 0 до 255) При +S62=0 АОН -ВЫКЛЮЧЕН-, запросы не посылаются. Для включения функции Русский АОН (RCID), необходимо установить количество запросов отличное от 0. стандартное значение - 5 +S63 Время ожидания ответа АТС на запрос АОН модема (по 10 мсек.) если за это время номер звонящего абонента (RCID) не начнет поступать с АТС, то будет послан повторный запрос, количество запросов будет определяться значением +S62. стандартное значение - 15 +S64 Тип вывода сообщения с номером RCID 0 - сообщение о номере звонящего абонента не выводится 1 - вывод сообщения о номере звонящего абонента в отдельной строке, до CONNECT. 2 - сообщение о номере звонящего абонента выводится в конце строки CONNECT (этот метод несовместим с Windows). 3 - вывод сообщения о номере звонящего абонента одновременно, как в отдельной строке, так и в строке CONNECT. 4 - вывод информации о модели (производителе) удаленного модема в строке CONNECT. * Номер можно просмотреть по ATI15 в любом случае, независимо от установок регистра +S64. По команде ATZ информация о номере удаляется. * Информацию о модели (производителе) удаленного модема можно просмотреть в статистике по ATI9, независимо от установок регистра +S64. По команде ATZ информация о производителе удаляется. стандартное значение - 0 +S65 Счетчик количества гудков издаваемых модемом для эмуляции BUSY или RINGING, после попытки определения номера по команде AT+SR. Затем модем "кладет трубку". 0 - запрещено выдавать гудки 30 - максимально возможное значение стандартное значение - 10 +S66 Тип сигналов АТС, эмулируемых модемом после попытки определения номера по команде AT+SR. 0 - RINGING Mode 1 - BUSY Mode 2 - User Mode (параметры длительность тона и паузы задаются пользователем в регистрах +S68, +S69) стандартное значение - 0 +S67 Уровень громкости сигналов издаваемых модемом для эмуляции сигналов АТС по команде AT+SR. стандартное значение - 6 +S68 Длительность тона при эмуляции АТС в User Mode (по 50ms.) стандартное значение - 16 +S69 Длительность паузы при эмуляции АТС в User Mode (по 50ms.) стандартное значение - 64 +S70 Точная подстройка частоты запроса 500Hz (при уменьшении относительно стандартного значения частота будет уменьшается, при увеличении - увеличиваться примерно по 0.18Hz) стандартное значение - 100 +S71 Длительность сигнала запроса 500Hz (по 10ms.) Некоторые АТС могут потребовать запрос нестандартной длинны. * При +S71=0 запросы выдаваться не будут, но пакет АОН будет ожидаться и анализироваться стандартным образом (используется на АТС выдающих пакет с номером звонящего абонента сразу после поднятия трубки, т.е без его запроса). стандартное значение - 10 +S72 Длина телефонного номера без учета цифры категории абонента. значение этого регистра: 0< N< 7. Позволяет отфильтровать первые незначащие цифры-заполнители в номере звонящего абонента. * При значении +S72=7 номер выводится полностью, как был принят. * Если реально принятый с АТС номер больше чем +S72, то будут выведены только последние N цифр номера, т.е первые цифры-заполнители отсекаются. Если номер был принят не полностью (или меньше 7 цифр), то фильтрация по длине не производится и выводятся все принятые цифры. стандартное значение - 7 +S73 Регистр битовых флагов АОН. 1 - Запрет прерывания режима эмуляции сигналов АТС, по поступлению с АТС сигнала отсоединения звонящего абонента. 2 - Выдавать сообщение "BEEP" на каждый эмулируемый модемом гудок (при эмуляции сигналов АТС). стандартное значение - 0 +S74 Время на распознавание сигналов в линии в паузах, во время эмуляции сигналов АТС. Используется для прерывания режима эмуляции сигналов АТС по сигналу в линии или отсоединению звонящего абонента (по 10ms.) Возможные значения: от 0 до длины паузы стандартное значение - 15 +S75 Регистр регулировки чувствительности АОН модема к сигналам ответа АТС на запрос о номере звонящего абонента. В условных единицах от 3 (максимальная) до 12 (минимальная). ( при установке неоправданно высокой чувствительности, работа АОН будет нестабильной из-за влияния шумов с линии) стандартное значение - 6 Краткая методика настройки регистра +S75 Необходимо подобрать минимально-возможное значение этого регистра. Определяем значение, при котором модем выдает количество запросов АОН не меньше количества заданного в регистре +S62. · Включить модем, динамик модема и отключить от модема телефонную линию. · Запустить любую терминальную програмку для ввода AT- команд · Набрать AT+SR и контролируя на слух убедиться что выдается количество запросов (коротких "писков") не менее чем установлено в регистре +S62. · Постепенно уменьшая значение в регистре +S75 найти порог при котором модем уже не сможет формировать необходимое количество запросов. · Увеличить найденное значение на 1 или 2 и записать его в регистр +S75. · Проверить работу АОН при входном звонке. · При сильных шумах с линии, превышающих найденый порог, увеличить значение в регистре +s75 еще на 1-2. ATI15 Вывод информации RCID/CID 12.3 Команда AT+SR и ее возможные модификации. AT+SR0 "Ручной" запрос номера на входящий звонок с последующим "опусканием трубки" модемом. Сокращенный формат: AT+SR По этой команде модем поднимает трубку и посылает запрос АОН, согласно установке регистров (+S60....+S63, +S65...+S69). После определения номер будет выведен в отдельной строке и модем начнет имитировать гудки АТС (короткие или длинные, в зависимости от установки +S66), если режим эмуляции разрешен регистром +S65 (в нем не ноль). AT+SR1 "Ручной" запрос номера на входящий звонок. По этой команде, после ее отработки, МОДЕМ САМОСТОЯТЕЛЬНО "ТРУБКУ НЕ ОПУСКАЕТ" ! "трубка модемом опускается" только при досрочном прерывании этой команды. По этой команде модем поднимает трубку и после попытки определения номера звонящего абонента и имитирования гудков АТС (если режим эмуляции разрешен), переходит к выполнению следующей команды или при ее отсутствии переходит в командный режим. Трубка остается поднятой. * В случае невозможности определения (например RCID - Disabled), будет выдан ERROR. * Эти команды можно прервать по нажатию любой клавиши (поступлению любого символа от компьютера). Например, во время отработки этих команд, можно (при необходимости) поднять трубку параллельного телефона, а затем послать в модем любой символ (нажать в терминалке любую клавишу). При этом модем "кладет трубку" и выходит в командный режим с сообщением ABORT. * Возможно прерывание режима эмуляции сигналов АТС путем нажатия кнопки VOICE/DATA (на внешнем модеме). Кнопку надо предварительно запрограммировать в режим 6 (ATS32=6&W). В этом случае, при нажатии кнопки, модем "положит трубку" и будет переинициализирован. Некоторые примеры использования: AT+SR1A Определить номер и если разрешено, то эмулируем гудки АТС, затем переходим в режим ответа (AT A). AT+SR1%T[10]123?A Определить номер и если разрешено, то эмулируем гудки АТС, затем переходим к ожиданию DTMF пароля "123". Если в течении 10 секунд пароль получили, то переходим в режим ответа (AT A). (Подробности использования команды AT%T смотри выше, в соответствующей главе этой документации). 12.4 Примечание к RCID: * Служебные символы в номере: ":" - отделяет номер категории абонента от номера телефона (только если принят семизначный номер + категория) "?" - не удалось однозначно интерпретировать принятую цифру (т.е номер был принят с ошибками) "A" - принят служебный сигнал межстанционного обмена АТС "B" - принят служебный сигнал межстанционного обмена АТС "C" - принят служебный сигнал межстанционного обмена АТС "D" - модем принимает сильный шум c тел. линии, заглушающий принимаемую информацию (например из-за перегрузки аналоговой части модема чрезмерно громким входным сигналом и его гармониками) * Номер звонящего абонента (RCIR) выводится в том виде, в каком его выдает АТС. Т.е количество цифр, номер категории (последняя цифра), заполнение недостающих первых цифр "двойками" при коротком номере, осуществляет сама АТС. Поэтому вид определенного АОНом номера может отличаться, при входных звонках с различных АТС и в различных регионах. * Звонки в пределах одной АТС не всегда определяются на электронных АТС из-за их технических особенностей (на внутристанционных звонках АОН может быть блокирован аппаратурой на АТС). * При работе под Windows95/NT, рекомендуется для совместимости, использовать только номер RCID выдаваемый по ATI15 и запретить выдачу номера в строке CONNECT и до нее. * На АТС выдающих пакет с номером звонящего абонента без его предварительного запроса (т.е выдают сами, сразу после поднятия трубки), можно порекомендовать отключить запрос +S71=0, установить количество запросов +S62=1, и подобрать экспериментально значения начальной паузы ( +S60 ) и времени ожидания пакета с АТС ( +S63 ). 12.5 Определение модели (производителя) удаленного модема. При установлении соединения с удаленным модемом с использованием протокола коррекции ошибок V.42, в некоторых случаях возможно определение модели (производителя) этого удаленного модема. Зная производителя удаленного модема можно более оптимально настроить свой модем для обеспечения устойчивой связи. Принцип работы в следующем: Некоторые современные модели модемов способны передавать необязательную информацию о своем производителе и параметрах модема в кадре протокола V.42 Данная прошивка умеет извлекать эту информацию и выдавать ее в статистике ATI9 или строке CONNECT. Для разрешения выдачи в строке CONNECT информации о производителе удаленного модема необходимо установить AT+S64=4 (или просуммировать 4 со значением этого регистра). Если производитель удаленного модема неопределен, то информация о нем в строке CONNECT не выдается. В случае удачного определения производителя удаленного модема будет выдана строка типа: CONNECT 33600/ARQ/V34/LAPM/V42BIS/REM"ZyXEL" В некоторых случаях вместо названия производителя модема может быть выдан заключенный в кавычки шестнадцатиричный код модели или производителя. * Модем USR с установленной прошивкой ID_SDL, версии не ниже 4.00 идентифицируется по ATI9 следующим образом: "USR":ID_SDL (ver. 400 / 0000) - удаленный модем использующий прошивку ID_SDL, версия 4.00, серийный номер прошивки 0000 (свободно- распространяемая версия). * Модемы RC21600/RC16800, имеющие свой собственный метод передачи информации о себе, идентифицируется как "HTS" и по ATI9 выдается следующая последовательность букв и цифр: A Advanced L Lite 6 RC-16800 2 RC-21600 C Коммерческая версия n Бета версия D Отладочная версия n Нормальная версия E Внешний модем I Внутренний модем S Зарезервировано n Зарезервировано 4 Модем 1994 года 3 Модем 1993 года D Модем с DIP-переключателями n Модем без DIP После этого идет шестнадцатиричное число - код производителя модема (00 - HT-Systems), двоеточие и шестнадцатиричное число - серийный номер модема. Например: "HTS":A2CnIn4D01:7E43 - Русский Курьер, HT-Systems, полная коммерческая версия 21600, внутренний модем 94 года с DIP-переключателями, произведен в DwLab, серийный номер - 7E43. * Информация о производителе удаленного модема является необязательной и может не передаваться удаленным модемом. * Информация о производителе удаленного модема передаваемая нестандартным образом не идентифицируется. * Определение модемов USR зависит от установленой в них прошивки. Некоторые старые прошивки USR не передают информацию о своем производителе. * В краткой статистике соединения ( по ATI9 ) можно просмотреть информацию о производителе удаленного модема, независимо от установки регистра +S64. Приложение 1. Некоторые примеры информации о производителе удаленного модема. Vendor ID Модель модема (производитель) "IDC" IDC-2814 и выше "Flash" ZyXEL любой V.34: Elite 2864/Omni 288S/U-288S/U-336S "ZyXEL" ZyXEL U-1496 старше версии 6.13 "Ztest" ZyXEL U-1496, ver. 6.13R? (одна из старых бета-версий) "USR" USRobotics Courier HST/ASL (выдаётся только при исходящих вызовах) в новых версиях SDL -выводится всегда "CODEX" Motorola CODEX "GVC" GVC 14400, 28800, 33600 "SOFTART" старые версии TaiNet и старые версии GVC "TELiNDUS" Telindus Aster 4 "00" Kvest, Intel 2400 "DIGICOM" Digicom Connection+ (программный модем) UMC14400 "OMR" OMRON-IMPALA, V.32bis "00'MIC'00" Sierra 2400 "CIS" AIWA V.34 "ANALYTIC-TS" AnCom ST/STE-2442, проект А.О.Пасковатого (НПП <Аналитик-ТС>) "HTS" HT-System RC21600/RC16800 Приложение 2. Категории абонентов: (последняя цифра в номере RCID) Существует десять видов категории: ╔═══════════╤══════════════════════════════════════════════════════════════╗ ║ КАТЕГОРИЯ │ ХАРАКТЕРИСТИКА ║ ╟───────────┼──────────────────────────────────────────────────────────────╢ ║ 1 │ Абоненты квартирные, учрежденческие, имеющие право ║ ║ │ междугородной и международной связи на общих основаниях ║ ║ 2 │ Абоненты гостиниц, имеющие право по категории 1, но с ║ ║ │ немедленной оплатой переговоров. ║ ║ 3 │ Абоненты не имеющие право выхода на междугородные ║ ║ │ и международные сети. ║ ║ 4 │ Абоненты, имеющие преимущество выхода на междугородние и ║ ║ │ международные сети. ║ ║ 5 │ Абоненты, имеющие право связи без тарификации, то есть ║ ║ │ переговоры не оплачиваются, но учитываются. ║ ║ 6 │ Категория междугородних телефонов-автоматов. ║ ║ │ Иногда, некоторые "вечерние" телефоны. ║ ║ 7 │ Абоненты, имеющие право кроме междугородной/международной ║ ║ │ связи, получать дополнительные платные услуги. ║ ║ 8 │ Абоненты, имеющие преимущество при установлении связи в ║ ║ │ междугородних сетях и право на платные услуги. ║ ║ 9 │ Категория городских телефонов-автоматов. ║ ║ │ Допускается применение категории 3. ║ ║ 0 │ Резервная категория. ║ ╚═══════════╧══════════════════════════════════════════════════════════════╝ --------------------------------------------------------------------------- Дополнения: - Если вы не используете протокол "USR X2 и V90", то для ускорения процедуры коннекта желательно их запретить через S58.0=1 и S58.5=1 - В прошивке имеется интересный регистр S58.1 "Bler monitor", установка S58.1=1 (Disable) может иногда помочь на плохих линиях связи. - На самотесте по AT&T1 коннект может быть 28800,но при реальной связи на V34+, коннект доходит до 33600. - Напоминаю, что в этой прошивке есть встроенная USR команда ATY16, для просмотра амплитудно-частотной характеристики линии. - Все числовые значения - только в десятичной системе, так как еще не редкость пользователи, даже не догадывающиеся о существовании шестнадцатеричной :) Удачи Вам, да хороших коннектов ! P.S. Данная прошивка распространяется как freeware, т.е. совершенно бесплатно, никакой ответственности за причененый ущерб я не несу. Пожелания и предложения принимаются нетмэйлом на 2:5040/6.21 E-Mail id@redcom.ru ftp://ftp.redcom.ru/pub/support/hardware/USR/ Россия, Хабаровск Igor Diagilev (Игорь Дягилев) --------------------------------------------------------------------------- Лирическое отступление, которое я решил добавить в документацию, после того, как постепенно дошел до написания прошивки с АОН ;-) Если у кого нибудь возникнет желание выпить со мной бутылочку пива.... а ведь были такие идеи ;-)) ну кто же откажется от хорошего пива ;-)) Желание просто спонсировать будущие разработки, тоже приветствуется, но это не обязывает меня сделать что-то конкретное по заказу (да, сумма тут значения не имеет, ведь прошивки распространяются свободно, хоть и с ограничениями). Реквизиты: г.Хабаровск, Отделение Сбербанка России 9070/03 Кор.счет банка 30101810600000000608 БИК 040813608 ИНН 2702010116 На р/счет 45226, получатель Дягилев Игорь Анатольевич. --------------------------------------------------------------------------- --------------------------------------------------------------------------- Список известных багов базовой прошивки 3COM (13/03/98), не устраненных мной в IDSDL 3xx. 1. При работе на протоколе VFC, неверно выводится SNR в статистике ATI11. 2. Значение RX Level в ATI11 при громком сигнале неверное. 3. Проблемы с входящими звонками на протоколе HST. 4. Невозможность запретить V34 при помощи S58. --------------------------------------------------------------------------- История Для ВЕРСИЙ 4.xx * В качестве базовой прошивки использована 30/04/98 * * с поддержкой протоколов X2 и V90 * 26.02.99 Версия 4.00 * Для модемов с Clock Freq=20.16MHz. * Для модемов с Clock Freq=25MHz. - Использован новый улучшеный код сигнального процессора (DSP) версии 3.1.2 от прошивки "2 декабря 1998". - Добавлено управление работой V34 (+S35) выборочный запрет частот несущих. - Работа V34 несколько приближена к прошивкам 95года. - По командам семейства AT+SR модем берет трубку только при отсутствии напряжения вызова (т.е в паузах между RING). - Возможность определения типа (производителя) удаленного модема при соединении с использованием V.42 (для модемов типа IDC и других, использующих старую редакцию стандарта V.42). - Возможность определения типа (производителя) удаленного модема при соединении с использованием V.42 (для модемов HT-System, типа RC21600/RC16800). - Возможность идентификации (по ATI9) удаленного модема, использующего прошивку ID_SDL, версия и серийный номер прошивки при соединении с использованием V.42 (но только если версия прошивки ID_SDL удаленного модема - 4.00 и старше). - По команде ATA модем теперь берет трубку только при отсутствии напряжения вызова (т.е в паузах между RING). --------------------------------------------------------------------------- История Для ВЕРСИЙ 3.xx * В качестве базовой прошивки использована 13/03/98 * * с поддержкой протоколов X2 и V90 * 10.11.98 Версия 3.04i * Для модемов с Clock Freq=25MHz. * Функционально соответствует версии 3.04. 10.10.98 Версия 3.04 - Изменена реализация програмного кода АОН. - Исправлена ошибка в установке уровня сигнала эмуляции гудков АТС. - Пересмотрен блок вывода номера в строке CONNECT. - Исправлена ошибка влияющая на совместимость RCID с расширенным AT%T - Добавлены и изменены регистры +S16, +S17, +S74, +S75 - Возможность выдачи сообщения BEEP на каждый эмулируемый модемом гудок. - Возможность определения типа (производителя) удаленного модема при соединении с использованием V.42 28.08.98 Версия 3.03 - Добавлен Русский АОН (RCID). Позволяет определять на входных звонках номера телефона звонящего абонента (Стандарт стран бывшего СССР). - Добавлены регистры управления RCID (+S60....+S73). - Добавлен Русский вариант команды ATI15 для просмотра номера RCID. - Добавлены команды AT+SR0, AT+SR1 - Совместимость RCID с расширенным AT%T - Исправлена ошибка в обработчике DTMF кодов. - Изменен формат команды просмотра дополнительного регистра (AT+Sn?) - Добавлена команда управления подключенным через модем телефоном AT+SPn - Добавлена фильтрация принятого номера RCID по длине. - Добавлена возможность прерывания режима эмуляции по поступлению с АТС сигнала отсоединения звонящего абонента. 06.06.98 Версия 3.02 * Для модемов с Clock Freq=20.16MHz. * Функционально соответствует версии 3.02i. -Изменен алгоритм загрузки доп. регистров в значения по умолчанию. Теперь команда AT&Fn автоматически выполняет AT+SF, но только один раз, после установки прошивки IDSDL с версией отличной от загруженной ранее. Во всех иных случаях команды AT&Fn и AT+SF выполняются независимо и стандартным образом. -Добавлена возможность просмотра значения отдельно взятого доп.регистра синтаксис: AT+Sn=?, где n-номер доп. регистра. -Добавлен регистр настройки минимальной скважности звонка RING +S32. -Добавлена команда AT+SMn для управления динамиком модема в OFF Line. -Добавлена поддержка распознавания расширенного DTMF для организации парольного коннекта и заказа уровня сигнала до начала соединения. ( Синтаксис команд расширенного DTMF,в соответствии со стандартом Константина Норватова (2:5030/163.44), за что ему огромное спасибо ). 06.06.98 Версия 3.02i * Для модемов с Clock Freq=25MHz. * Функционально соответствует версии 3.02. -Добавлена команда AT+SMn для управления динамиком модема в OFF Line. -Добавлена поддержка распознавания расширенного DTMF для организации парольного коннекта и заказа уровня сигнала до начала соединения. ( Синтаксис команд расширенного DTMF,в соответствии со стандартом Константина Норватова (2:5030/163.44), за что ему огромное спасибо ). 19.05.98 Версия 3.01i * Для модемов с Clock Freq=25MHz. Включает все функции версии 3.01, со следующими дополнениями: -Изменен алгоритм загрузки доп. регистров в значения по умолчанию. Теперь команда AT&Fn автоматически выполняет AT+SF, но только один раз, после установки прошивки IDSDL с версией отличной от загруженной ранее. Во всех иных случаях команды AT&Fn и AT+SF выполняются независимо и стандартным образом. -Добавлена возможность просмотра значения отдельно взятого доп.регистра синтаксис: AT+Sn=?, где n-номер доп. регистра. -Добавлен регистр настройки минимальной скважности звонка RING +S32 19.04.98 Версия 3.01 Изменен синтаксис команд короткого выбора протокола для совместимости с FIDO софтом. Команды типа AT+SSn теперь можно использовать перед набором номера. Исправлена обработка AT+S3, AT+S4. Команда AT&Fn - загрузки установок по умолчанию, совмещена с AT+SF и грузит так-же дополнительные регистры. 22.03.98 Версия 3.00 Перенос версии 2.45 на новую базовую прошивку с V90. Убраны регистры фиксации ошибки "Retransmitt Limit". Исправлена ошибка в процедуре обработки RINGING. Исправлена ошибка в обработке команды AT+S@A. --------------------------------------------------------------------------- История Для ВЕРСИЙ 2.xx * В качестве базовой прошивки использована 31/07/97 * * с поддержкой протокола X2 * 26.07.98 Версия 2.51 - Добавлен Русский АОН (RCID). Позволяет определять на входных звонках номера телефона звонящего абонента (Стандарт стран бывшего СССР). - Добавлены регистры управления RCID (+S60....+S67). - Добавлен Русский вариант команды ATI15 для просмотра номера RCID. - Добавлена команда AT+SR - Исправлена ошибка в обработчике DTMF кодов. 22.06.98 Версия 2.46 -Изменен алгоритм загрузки доп. регистров в значения по умолчанию. Теперь команда AT&Fn автоматически выполняет AT+SF, но только один раз, после установки прошивки IDSDL с версией отличной от загруженной ранее. Во всех иных случаях команды AT&Fn и AT+SF выполняются независимо и стандартным образом. -Добавлена возможность просмотра значения отдельно взятого доп.регистра синтаксис: AT+Sn=?, где n-номер доп. регистра. -Добавлен регистр настройки минимальной скважности звонка RING +S32. -Добавлена команда AT+SMn для управления динамиком модема в OFF Line. -Добавлена поддержка распознавания расширенного DTMF для организации парольного коннекта и заказа уровня сигнала до начала соединения. ( Синтаксис команд расширенного DTMF,в соответствии со стандартом Константина Норватова (2:5030/163.44), за что ему огромное спасибо ). -Убраны регистры фиксации ошибки "Retransmit Limit" (жестко установлены увеличенные константы). -По ATI7 выдается версия "Russia", независимо от текущего кода страны 21.03.98 Версия 2.45 Добавлены команды короткой установки протокола соединения AT+S@ Добавлен индикатор входной скорости соединения (выведен на HS Led). Исправлены ошибки в выводе статистики ATI11. 18.02.98 Версия 2.44 Добавлен регистр AT+SDn Исправлена некорректная обработка ATM0 при озвучивании ретрейнов. 28.10.97 Версия 2.43i Для модемов с Clock Freq=25MHz. Функциональный аналог версии 2.43 28.10.97 Версия 2.43 Изменен алгоритм задания уровня выходного сигнала для US/Canada, теперь S39 учитывается на протяжении всего сеанса связи (дополнительно изменились коэффициенты). Введена регулировка счетчика попыток для Retransmit (позволяет удержать связь на плохих линиях). Добавлена поддержка команд ATGW -редактирования памяти (требует осторожного обращения). Исправлена ошибка в обработке AT%E=3. Регистр +S18 зарезервирован. 29.09.97 Версия 2.41i Добавлены регистры +S30,+S31 настройки RING Исправлена ошибка в обработчике +S28 29.09.97 Версия 2.41 Добавлены регистры +S30,+S31 настройки RING Исправлена ошибка в обработчике +S28 26.09.97 Версия 2.40i Для модемов с Clock Freq = 25MHz. Является функциональной копией версии 2.40, для 20.16MHz моделей. 25.09.97 Версия 2.40 Переписаны подпрограммы ввода-вывода, добавлена поддержка двухбайтовых регистров. Добавлены новые регистры (+S16... +S28). Добавлена возможность записи стандартного регистра S14 в NVRAM (для владельцев Sportster) Исправлена ошибка в обработке регистра +S12,проявлялась в преждевременной выдаче NO ANSWER. 10.09.97 Версия 2.31 Исправлена ошибка в процедуре определения RINGING, приводящая к перезагрузке модема при его определении. 06.09.97 Версия 2.30 Тестовая. ---------------------------------------------------------------------- Благодарности: Виталию Вопилину (krot@tlt.volga.ru), г. Тольятти - прислал мне в подарок модем с Clock Freq=25Mhz, что сделало возможным создание прошивок для этих модемов. В данной прошивке использованы ( в моей обработке ) ИДЕИ, ИХ РЕАЛИЗАЦИЯ, И ФРАГМЕHТЫ ДОКУМЕHТАЦИИ от следующих прошивок: 1 SDL (c) 3COM 13/03/98 Original 2. SDL (c) USR(3COM) 31/07/97 Original 3. KN_SDL (c) Konstantin Norvatoff (2:5030/163.44) Приношу свои благодарности их авторам. ! Особенно Константину Hорватову. -----------------------------------------------------------------------