Руководство пользователя

Москва 2002 г.

Копирование или воспроизведение этой документации целиком или по частям в печатной или какой-либо иной форме без согласования с автором запрещено. Авторские права принадлежат Ваваеву А.В. (vavaev@usrmodem.ru, 2:5020/633.1@FIDONET) Все названия компаний и названия продуктов упомянутые в этом документе являются зарегистрированными торговыми марками и собственностью соответствующих компаний.

Данное руководство не является полным и исчерпывающим описанием возможностей модема Courier. Здесь мы рассматриваем только отличия и нововведения прошивки Advanced Voice Courier (tm) по сравнению с оригинальной прошивкой от USR.

Содержание:

  1. От автора
  2. Отличительные особенности AVC
  3. Загрузка прошивки
  4. Определитель номера (АОН)
    4.1 Эмуляция CallerID
    4.2 Эмуляция тональных сигналов АТС
  5. Регулировка скорости импульсного набора номера
  6. Настройка на сигналы busy и dialtone
    6.1 Режим диагностики ATY4
  7. Регулировки чувствительности и уровня выходного сигнала
    7.1 Аналоговая регулировка усиления
    7.2 Программная регулировка усиления
    7.3 Регулировка чувствительности приемника модема
  8. Укороченная статистика соединения
  9. Режимы работы встроенного динамика
  10. Тональный пароль на входящий вызов
  11. Голосовой режим
    11.1 Автоопределение входящих голосовых звонков
  12. Гарантии
  13. Условия распространени

Приложение 1. Дополнительные команды прошивки AVC-56
Приложение 2. Дополнительные регистры прошивки AVC-56
Приложение 3. История изменений в прошивке AVC


1. От автора

Учитывая большую распространенность модемов USR в России, а также отсутствие в настоящий момент разработки фирменных прошивок ориентированных на наш рынок, я посчитал целесообразным создать новый Freeware-проект для развития микро- программ управления для модемов USR Courier и USR Sportster. Разработка альтернативных ветвей развития прошивок к модемам USR Courier ведется доста- точно давно, начиная с моделей 14400 (проект RC-21600 питерской команды HT-System). В 1995 году появились первые разработки для Курьеров 28.8/33.6 - "додоновские" прошивки, авторы которой Владимир Додонов и Денис Корнюхин были одними из первых апгрейдеров USR 28.8/33.6.

В 1997 и 1998 годах появились первые свободно-распространяемые проекты Константина Норватова (KN_SDL), а потом и Игоря Дягилева. Последний проект, более известный как ID_SDL получил наибольшее распространение и известность, но как известно все хорошее когда-то кончается и в настоящее время ID_SDL прекратил свое существование. Компанию 3COM лихорадят внутренние разборки, а подразделение USR вновь становится независимой компанией, но уже с другими владельцами.

Если и раньше фирмой USR в своих модемах не уделялось внимания российскому пользователю, то теперь это становится все менее вероятным. В свете всех этих последних событий, а также понимание того, что Freeware проекты развиваются значительно быстрее подтолкнуло меня к созданию качественно нового проекта, направленного улучшить работу модемов USR, а также помочь пользователям быстрее разобраться в настройке и эксплуатации этих модемов. Новый интернет-сайт www.usrmodem.ru создан именно с этой целью.

Если Вы все-же поленились прочитать этот документ целиком и после установки прошивки у Вас появились проблемы или вопросы, то попытайтесь найти ответ на свой вопрос в этой документации. Если это Вам не удалось, то посетите форум обсуждения модемов на сайте www.usrmodem.ru, а также раздел сайта "Техническая поддержка".


2. Общие сведения и отличительные особенности Advanced Voice Courier(tm)

  • Голосовой режим (#CLS=8) для записи/воспроизведения звука
  • Определение номера звонящего абонента (русский АОН)
  • Режим эмуляции #CID для совместимости с программным обеспечением, поддерживающем стандарт CallerID
  • Автоматическое определение типа входящих звонков data/fax/voice
  • Определение идентификатора производителя удаленного модема (Remote Manufacturer ID)
  • Эмуляция сигналов АТС (длинные гудки) с подстройкой громкости и частоты
  • Регулировки усиления и чувствительности модема
  • Озвучивание перетренировок во время связи
  • Улучшенное определение DIALTONE/BUSY на нестандартных линиях
  • Регулировка скорости импульсного набора номера
  • DTMF-пароль на сессию, для защиты от АТСников
  • Укороченная статистика соединения
  • Полное сохранение всех протоколов связи, присущих модемам Courier: HST, V22bis, V32bis, V32terbo, V34+, x2, V.90, V42/V42bis, MNP.

Прошивка выпускается в трех видах:

  1. Версия Delta
    Использует старую микропрограмму DSP версии 1.2.6 (от прошивки 01/11/1995). Рекомендуется использовать эту модификацию прошивки, если у Вас сильно зашумленная линия. Эта версия микрокода не поддерживает высокоскоростные протоколы x2 и V.90, но как правило они и не требуются на линиях низкого качества.

  2. Версия Gamma
    С оригинальным кодом DSP версии 3.0.13 (прошивка 03/13/1998). Поддерживает протоколы x2 и V.90. Эта модификация микрокода неплохо ведет себя на протоколе V.34, и дает довольно высокий CPS. Однако оценка линии по протоколу V.90 происходит не совсем корректно, поэтому для высококачественных соединений на V.90 лучше использовать модификацию Sigma.

  3. Версия Sigma
    С оригинальным кодом DSP версии 3.1.2 (прошивка 04/30/1998). Поддерживает протоколы x2 и V.90. Этот код DSP наилучшим образом зарекомендовал себя при работе на V.90. Если Ваша линия связи не позволяет модему работать на этом протоколе, то рекомендуется использовать модификацию прошивки Delta или Gamma.


3. Загрузка прошивки в модем

Программное обеспечение модема (прошивка) постоянно модифицируется, поэтому иногда может понадобиться обновить прошивку в модеме, для приобретения каких-то новых функций или устранения обнаруженных ошибок. Для загрузки новой прошивки в модем, необходимо перезагрузить компьютер в режиме эмуляции MS-DOS или в чистый MS-DOS. Для пользователей Windows NT, загрузить MS-DOS с дискеты. После этого запустить .exe файл прошивки с ключем /Cn (для оригинальных прошивок /C=n), где n - номер COM-порта на который установлен модем. Далее, ответить программе Yes (Y), и дождаться сообщения об удачной загрузке прошивки "Successful programming complete". Если загрузка прошивки, по какой-либо причине окончилась неудачей (выключение питания, зависание компьютера, попытка заливки прошивки в окне многозадачной системы Windows или OS/2), то необходимо выключить модем (или компьютер, если модем внутренний внутренних модемов). После этого включить и загрузить прошивку как описано выше.

ВНИМАНИЕ !!! Для начальной инициализации модема после заливки новой прошивки обязательно необходимо дать команду AT&F1&W. По этой команде все регистры и настройки модема устанавливаются в исходное состояние. Теперь модем готов к работе и Вы можете опробовать его в различных режимах, описанных ниже.


4. Определение номера абонента (АОН)

Эта возможность позволяет определять номера звонящих абонентов на территории бывшего СССР. Определение номера абонента позволяет повысить безопасность вашей компьютерной системы, а также расширить возможности автоответчика и голосовой почты.

Попытка определение номера происходит при ответе модема на входящий звонок или при поднятии трубки командами ATH1 и ATR, при условии, что имел место сигнал вызова (RING). Алгоритм определения звонка вызова работает так, что модем выдает слово RING примерно через 2 секунды после окончания звонка. Многие программы не полагаются на этот алгоритм и используют линию RI com-порта, которая изменяет свое состояние при повышении напряжения в телефонной линии. Такой метод более надежен, но побочным эффектом является срабатывание линии RI на набор номера на параллельно включенном телефонном аппарате, в результате чего телекоммуникационная программа определяет ложный звонок и передает модему команду ответить на этот звонок. Если Ваша телекоммуникационная программа все-таки использует такой метод определения входящего звонка, то необходимо дать знать об этом модему, выставив бит 1 (маска 2) в регистре S99. Если выставить бит 0 регистра S99, то номер будет запрашиваться при любом поднятии трубки вне зависимости от наличия или отсутствия входного звонка. По умолчанию же последовательность действий модема такая:

Если включен режим АОН (значение регистра S70 отлично от 0), то при обнаружении входного звонка модем, по командам ATH1, ATA, ATR, или в режиме автоответа подключается к линии и выдает запрос к аппаратуре АТС. Если в регистре S99 установлена маска 2 (бит 1), то признаком входного звонка будет также считаться изменение состояния линии "RING" COM-порта. Максимальную длительность запроса можно регулировать регистром S74, задавая время в секундах. Если ответа от АТС не обнаружено в течении времени задаваемого регистром S74, модем перейдет к обычной процедуре соединения не выдавая никаких сообщений о номере абонента. При наличии ответа начинается прием пакета АОН. Тайм-аут на прием пакета можно регулировать в регистре S75 (в секундах). Для "глухих" АТС можно увеличить уровень сигнала запроса, изменяя значение регистра S72 в диапазоне от 0 до 63.

На некоторых АТС, посылка АОН выдается вообще без запроса. В таких случаях необходимо выключить сигнал запроса. Для этого в регистр S74 (время посылки запроса) надо установить в 0. Тогда при подключении к линии модем сразу же начнет прием пакета АОН. Иногда аппаратура АТС не отвечает на запрос, или отвечает некорректно. Если ответа от АТС не последовало, то номер не выводится. В модеме предусмотрен режим частично определенных номеров. В этом режиме выводятся не только корректно определенные номера, но и частично определенные, или определенные с ошибками из-за помех в линии. При этом в теле номера могут присутствовать специальные символы: X - неопределенная цифра ? - определен код повтора при неопределенной предыдущей цифре.

Номер может быть выведен как отдельным сообщением CALLER ID (регистр S70=1), так и в строке CONNECT (регистр S70=2):

CALLER ID:1234567:8 (номер 123-4567 и категория 8)
и/или
CONNECT 33600/ARQ/V34/LAPM/V42BIS/"1234567:8"

Для коммуникационных программ и программ-автоответчиков предоставляется возможность самим выполнять высокоуровневую обработку "сырого" кода посылки. Для использования этой возможности необходимо выставить бит 7 регистра S99. При попытке определения номера, сразу после запроса АОН модем начнет выдавать "сырой" код абонента по мере его декодирования, при этом строка выглядит примерно так:

RawCode 111111:????666655554444333322221111=====1111????666655554444333322221111====

Таким образом передается номер 1234566 категория 1. В сыром коде используются некоторые служебные символы: ":" - неопределенная цифра, "?" - код повтора, "=" - код начала или "синхрокод". Программа может по своему усмотрению использовать эту информацию, в частности контролировать правильность интерпретации номера аппаратурой модема или самой декодировать сырой код.


4.1 Эмуляция американского стандарта CallerID

Модем AVC-56 имеет также модифицированную версию американского стандарта CallerID (Caller Identification). Это американский стандарт идентификации звонящего абонента, который предусматривает передачу номера, адреса, а также имени абонента. В России этот стандарт сейчас не поддерживается, однако все существующие программные средства иностранных разработчиков программного обеспечения(WinFax, TalkWorks, RapidCommVoice, HotFax и др.), разработаны именно под эту систему. Для корректной работы нашего АОНа с этими программами в модеме предусмотрен режим эмуляции CallerID. Режим включается командой AT#CID=1 или AT#CID=2, а выключается AT#CID=0.

Суть режима эмуляции CallerID заключается в том, что модем автоматически подключается к линии при поступлении входящего вызова и передает в компьютер номер абонента после первого детектированного входящего звонка, а после этого эмитирует в телефонной линии сигналы АТС "Контроль Посылки Вызова" (КПВ). На компьютер при этом синхронно с сигналами КПВ выдается диагностика RING. Таким образом для программы-автоответчика этот режим прозрачен и полностью совместим со форматом выдачи номера, предусмотренном CallerID.

Последний определенный номер всегда можно просмотреть в статистике по команде ATI6.


4.2 Эмуляция сигналов АТС

В модем AVC добавлена команда ATR, которая включает режим эмуляции сигналов станции КПВ - "Контроль посылки вызова" (длинные гудки). По команде ATR модем поднимает трубку, определяет номер (если АОН включен в регистре S70) и начинает посылать в линию сигнал КПВ. Регистром S79 можно подрегулировать частоту сигналов (в десятках герц) для наибольшей схожести сигналов с Вашей АТС, а регистром S78 - громкость сигналов (от 0 до 63). Эмуляция сигналов может быть прервана несколькими способами - по истечении времени, заданного в регистре S7, при посылке модему любого символа (нажатие клавиши в терминальной программе), или обнаружении одного из событий сконфигурированных регистром S90 - сигнал BUSY, голос в линии или поднятие трубки на параллельном телефоне.

Если использовать команду ATR1, то после окончания эмуляции длинных гудков модем не будет класть трубку, а просто перейдет в командный режим.


5. Регулировка импульсного набора номера

Модем AVC позволяет изменять скорость импульсного набора номера. Некоторые АТС могут устойчиво работать при ускорении импульсного набора в полтора-два раза. Таким образом достигается скорость соединения почти как при тоновом наборе. Регистр S76 задает время импульса в миллисекундах, а регистр S77 задает время паузы между цифрами в 10-мсек интервалах. Попробуйте для примера дать команду ATS76=70 S77=50 DP100. Чрезмерное ускорение набора может привести к сбоям и Ваш модем будет попадать "не туда". В модеме может быть установлено бесшумное реле набора номера (оптронный ключ) с функцией программного управления гнездом телефона. В стандартной схеме большинства модемов телефон включенный в модем отключается когда модем находится на линии и передает данные. Это делается для того, чтобы дополнительные телефонные аппараты не нагружали линию во время связи и не влияли на качество работы модема. Однако, в некоторых ситуациях бывает необходимо, чтобы телефон включенный в гнездо "Phone" был постоянно отключен и не реагировал на входящие звонки. Также бывает необходимо, чтобы телефон всегда был подключен к линии независимо от состояния модема. Для этого в AVC-56 существует команда ATJn, управляющая гнездом "Phone":

ATJ0 Стандартая работа гнезда телефона. Отключается только когда модем находится на линии
ATJ1 Полностью отключает гнездо телефона
ATJ2 Режим без выключения гнезда телефона, гнездо постоянно включено

Во внешних модемах сделанных на базе спортстеров отсутствует индикатор OH (Off Hook), который должен показывать состояние модема на линии - подлючен/отключен. Во время набора номера и в процессе установления соединения выполнение этой функции может быть возложено на индикатор ARQ/FAX, который не используется в процессе набора номера. Для этого бит 1 регистра S86 необходимо установить в 1 (S86.1=1). При подключении к линии и наборе номера индикатор ARQ/FAX будет выполнять функцию OH. Когда модем подключен к линии индикатор светится, когда отключается от линии - индикатор гаснет.


6. Настройка алгоритма определения сигналов "занято"

На многих АТС у модемов не адаптированных для России возникают проблемы с опознаванием сигналов BUSY("занято") и DIALTONE("длинный гудок"). Сигналы, посылаемые многими советскими АТС, сильно отличаются от установленных ГОСТом и не соответствуют стандартам, на которые рассчитаны модемы. Из-за этого модемы нередко не замечают того, что линия занята, и ждут долгое время ответа от удаленного модема. Это сильно увеличивает время, необходимое для дозвонки до занятого номера. Поэтому в прошивке AVC реализована гибкая подстройка под сигналы Вашего абоненского комплекта и Вашей АТС.


6.1 Использование режима диагностики сигналов линии (команда ATY4)

Этот режим очень удобно использовать для настройки модема на на сигналы нестандартной телефонной станции. Если у Вас (и Вашего модема) существуют проблемы с опознаванием сигналов BUSY и DIALTONE, то необходимо подстроить модем конкретно на Вашу линию.

Для начала рассмотрим, как происходит определение модемом "правильных" сигналов АТС. Когда Вы (или управляющая программа) выдаете команду набора номера, модем снимает трубку и ждет непрерывный гудок частотой 425Гц (DIALTONE). После этого модем набирает номер и переключается на ожидание ответа от модема с протовоположной стороны. Если вместо ответа он определит короткие гудки, которые он сможет опознать как сигнал "занято", модем повесит трубку и выдаст сообщение "BUSY". Вы легко можете проконтролировать этот процесс, если перед набором номера выдадите команду ATY4. После этого в процессе набора номера на экран будет выводиться последовательность двузначных чисел, младшие 2 бита каждого из которых обозначают состояние линии:

Бит 0 (маска 1) означает, что модем обнаружил на линии посторонний сигнал (шум, голос или другие тональные сигналы).

Бит 1 (маска 2) означает, что модем обнаружил на линии сигнал 425Гц - сигнал "свободно" при снятии трубки, или фрагмент сигнала "занято" или "контроль посылки вызова" при вызове удаленного абонента.

После завершения набора номера вы увидите одну из следующих картин:

  • Если нет ответа от удаленного абонента, а также нет "длинных гудков" и в линии тишина, то Вы увидите бегущие нули, возможно иногда перемежаемые одиночными выбросами от помех в линии.

  • С противоположной стороны не берут трубку и Вы слышите "длинные гудки". Вы увидите чередование нулей и двоек, длинными сериями. Если у Вас стоит установка X7, то дополнительно будут выводиться сообщения "RINGING" после каждой серии двоек.

  • С противоположной стороны линия занята (слышен сигнал "занято"). Вы увидите то же чередование нулей и двоек, только серии двоек и нулей будут примерно в три раза короче и одинаковы по длительности.

  • С противоположной стороны трубку подняли, отвечает модем. Вы увидите короткий ряд разных цифр, после чего модем перейдет в состояние соединения.

Так должно быть на нормальных АТС, удовлетворяющих требованиям ГОСТов. Но, часто наблюдается другое - Вы слышите гудки, а модем их не слышит. В таком случае необходимо прибегнуть к процедуре настройки модема. Делается это следующим образом:

  1. Включаем модем, запускаем любую терминальную программу и инициализируем все настройки по умолчанию, дав модему команду AT&F1&W, на что модем должен обязательно ответить OK.

  2. Даем модему команду "AT M2L3Y4". Тем самым включив звук и режим диагностики.

  3. Даем команду набора номера ATD.... (после ATD следует номер вызываемого)

  4. После окончания набора следим за непрерывно бегущими по экрану цифрами. Основываясь именно на этих цифрах можно сделать вывод, почему модем плохо или совсем не определяет сигналы станции. Возможны такие варианты:

    • Вы видите бегущие нули, тогда как в динамике слышны гудки. Скорее всего частота сигналов имеет сильные отклонения от стандарта (425Гц +/- 25Гц). Попробуйте изменять значение регистра S84 в диапазоне от 0 до 3.

    • Вы видите бегущие двойки. Возможно в паузах между гудками существует небольшой фон тональной частоты 425Гц и модем воспринимает его как гудок. Надо повысить порог распознавания сигналов АТС регистром S83. Увеличивайте его на единичку до получения положительного результата.

    • Вы видите бегущие тройки или единички. Скорее всего сигналы станции очень громкие и перегружают входную часть модема. Необходимо уменьшить чувствительность входного аналогового тракта (входного усилителя) установив регистр S82=1.

    • Вы видите двойки и нули, но модем не выдает соответствующую диагностику. Попробуйте поиграть значениями регистров S100..S106. Эти регистры задают минимальные и максимальные длительности сигналов.


7. Регулировки чувствительности и уровня выходного сигнала

Если Вы считаете, что сигнал вашего модема не слышен (или плохо слышен) удаленным модемом, или наоборот слишком громкий и оглушает собственный приемник, то Вы можете регулировать мощность выходного сигнала модема двумя способами:


7.1 Аналоговая регулировка усиления

С помощью регистра S81 Вы можете ослабить максимальную мощность сигнала, формируемого модемом на выходе собственного передатчика, но при этом сохранить динамический диапазон и соответственно отношение сигнал/шум выходного сигнала. Это требует некоторых пояснений. В прошивках фирмы USR применяется только программная регулировка усиления передатчика. В роли регулятора уровня выступает регистр S39, который по сути задает коэффициент ослабления выходного сигнала. Нулевое значение S39 означает сигнал с максимальным уровнем. Такой подход наиболее прост, однако имеет один серьезный недостаток. На некоторых линиях не только не нужны громкие сигналы, но и запрещены нормами эксплуатации телефонных линий, поэтому выходной сигнал ослабляется путем деления на некоторый коэффициент. Однако, при этом уменьшается динамический диапазон передатчика и привносится бОльшее количество шумов цифро-аналогового преобразования. Тоже самое можно сказать о приемнике модема. В прошивке AVC предусмотрена регулировка выходного усилителя:

Регистр S81 может принимать значения:

ATS81=0 Запретить генерацию выходного сигнала модема.
ATS81=1 Максимальный выходной уровень 0 dB (по умолчанию)
ATS81=2 Ослабление выходного уровня на 6 dB
ATS81=3 Ослабление выходного уровня на 12 dB


7.2 Программная регулировка усиления

Внутри диапазона, выбранного регистром S81 можно более плавно регулировать уровень выходного сигнала. Задавая в регистре S39 значения от 0 до 15 Вы можете ослаблять или усиливать уровень сигнала выдаваемого в линию вашим модемом. Меньшие значения соответствуют большему уровню, большие значения - меньшему уровню. По умолчанию установлено значение 8, что в комбинации со значением S81=1 составляет примерно -8dBm0.


7.3 Регулировка чувствительности приемника модема

Если сигнал удаленного модема настолько тихий, что Ваш модем его не слышит, и соединение не устанавливается, то можно повысить чувствительность приемника модема. Регистр S80 позволяет регулировать чувствительность входного аналогового тракта АЦП модема во время сеанса связи:

ATS80=0 запрещение работы приемника модема
ATS80=1 минимальное усиление 0 dB
ATS80=2 усиление +6 dB (установлено по умолчанию)
ATS80=3 усиление +12 dB

На "громких" линиях Вы можете ослабить чувствительность модема, чтобы не перегружать входные цепи модема и не вносить дополнительных искажений, а на очень "тихих" линиях можно увеличить чувствительность, хотя необходимо учитывать, что при этом усиливаются также и шумы.


8. Укоpоченная статистика соединения (команда ATI8)

Эту команду можно использовать вместо команды ATI6 в логах коммуникационных программ, таких как T-Mail, Xenia, Bink+, поскольку ATI6 содеpжит слишком много излишней инфоpмации. Информация по ATI8 выводится в следующем виде:

 Short Link Diagnostics...
 Speed		recv/txmit         Protocol
 Chars		received/sent
 Retrains	granted/requested
 Disconnect Reason is Escape Code

где:

Protocol Обозначение протокола модуляции физического уровня
recv Битовая скорость приема информации
txmit Битовая скорость передачи информации
received Количество принятых символов за сеанс связи
sent Количество посланных символов за сеанс связи
granted Количество запросов ретрейна удаленного модема
requested Количество запросов на ретрейн с нашего модема
Disconnect Reason Причина разрыва связи


9. Настройка режима работы внутреннего динамика модема

Полезно бывает послушать линию во вpемя pетpейна. Hо все вpемя ее слушать очень гpустно. Команды M4 и M5 соответствуют командам M0 и M1, за исключением того, что включают звук пpи начале pетpейна, а выключают по его окончании. На протоколе V.22 звук может долгое время не выключаться, что связано с особенностями работы этого протокола. Все остальные пересогласования скоростей включаются установкой бита 4 регистра S86 (S86.4=1).


10. Использование тонального DTMF-пароля на входящих соединениях

Для защиты соединения от несанкционированного подключения можно использовать защиту тональным паролем. Перед тем как начать процедуру вхождения в связь модем будет ожидать пароля переданного с помощью сигналов тонального набора (DTMF). Для включения такого режима необходимо установить бит 3 регистра S86 (S86.3=1). Когда этот режим включен, то модем при ответе сначала будет ожидать DTMF-пароль заданный в 5-ой ячейке телефонных номеров (пароль сохраняется в модеме по команде &Z5=). После приема верной последовательности цифр модем переходит к стандартной процедуре соединения в режиме ответа. При поступлении хотя-бы одной неверной цифры модем переходит к вводу пароля с начала. Максима- льное время ввода тонального пароля берется из регистра S7 (в секундах). Также, ввод тонального пароля может быть прекращен по приходу любого символа от DTE (компьютера).

Звонящий должен модифициpовать стpоку набоpа следующим обpазом: ATDPXXX-XXX@Tnnnn, если он звонит пульсом или пpосто ATDTXXX- XXX@nnnn, если звонит тоном. Отвечающему мэйлеpу надо снимать тpубу минимум после втоpого звонка. Таким обpазом, АТСники, позвонив модемом, ничего, кpоме молчания, не услышат. А хитpый паpольный линк, пpосвистев паpоль, соединится за милую душу.


11. Голосовой режим

В модеме AVC реализован голосовой режим полностью совместимый с голосовым режимом фирмы USRobotics. Вы можете использовать голосовые возможности для работы модема в качестве автоответчика, электронного секретаря, или для передачи факсов с голосовым приветствием. Для работы автоответчика, голосовой почты или для рассылки факсов можно пользоваться любым программным обеспечением предлагаемым зарубежными фирмами. Например Rapid Comm Voice, или TalkWorks.


11.1 Адаптивный голосовой ответ на входящий звонок

Дополнительно к стандартному голосовому режиму в модеме AVC реализовано автоматическое распознавание типа входящего звонка как voice/fax/data.

Все перечисленные ниже команды являются расширением стандартного набора голосовых команд и работают только при включенном голосовом режиме (#CLS=8). Это команды для настройки режима автоопределения входящих голосовых звонков ("адаптивный ответ").

AT#VAA=1 Включение режима автоматического распознавания входящего звонка как Voice/Fax/Data.
AT#VAL=n Установить пороговый уровень мощности звукового сигнала для диагностики VCON (0-65535). Значение по умолчанию 2048.
AT#VAD=n Установить время измерения мощности звукового сигнала в единицах по 20 мсек (0-255). Значение по умолчанию 10 (0.2сек).
AT#VAT=n Установить время ожидания ответа голосом или гудков факса в секундах (0-255). Значение по умолчанию 4 секунды.
AT#VAC=n Установить количество повторов приветствия при автоопределении типа входящего звонка (0-255). Значение по умолчанию 1.

Рассмотрим алгоритм работы автоматического определения входящего голосового звонка. Если включен адаптивный голосовой ответ (#VAA=1), то получив команду ATA, модем поднимет трубку и воспроизведет в линию голосовое приветствие "Алло". После этого, в течении времени заданного командой #VAT (в секундах), происходит анализ на наличие речевого сигнала в линии, а также анализ на предмет появления вызывных гудков факса. Человеческая речь определяется косвенным образом, путем измерения мощности сигнала в линии за опреде- ленный промежуток времени. Это происходит следующим образом: в течении времени заданного командой #VAD (по 20мсек) происходит накопление мощности сигнала, а по истечении этого промежутка, накопленное значение сравнивается с пороговым, заданным командой #VAL. Если измеренная мощность превышает пороговое значение команды #VAL, то модем выдает диаг- ностику VCON и переходит в командный режим не вешая трубки. Увеличить чувствительность к голосу в линии можно изменяя два параметра - увеличивая время накопления (#VAD) и снижая пороговое значение (#VAL). Таким образом, после того как модем сказал "Алло", ответная реакция человека на удаленном конце будет такая же - вероятнее всего он тоже скажет "Алло" и модем выдаст VCON. Если звонит модем, то ответом будет тишина и через время заданное командой #VAT модем начнет отвечать в режиме данных.


Приложение 1. Дополнительные команды прошивки AVC

ATBn Выбор метода модуляции при входящих и исходящих звонках
n = 0 Автоматический выбор метода модуляции. Модем выберет наивысшую модуляцию для конкретных условий. Приоритетность протоколов, и соответственно последовательность их перебора такова: V.90, x2, V.34+, V.34, V.32terbo/ASL, V.32bis, V.32, V.22bis, V.22. Выбор протокола HST должен быть явно указан командой ATB1
n = 1 Выбор протокола модуляции HST.
n = 2 Выбор протокола модуляции V.22/V.22bis
n = 3 Выбор протокола модуляции V.32/V.32bis/V.32terbo/ASL
n = 4 Выбор протокола модуляции V.34/V.34+
n = 5 Выбор протокола модуляции V.FC
n = 7 Выбор протокола модуляции V.90 или x2
ATR Определение номера с последующей эмуляцией сигналов АТС
ATR1 Эмуляция сигналов с последующим переходом в командный режим без опускания трубки
ATJn Управление гнездом телефона для модемов с установленным дополнительным реле
n = 0 Стандартный режим управления телефоном
n = 1 Телефон всегда выключен
n = 2 Телефон всегда включен
AT&N3 Если V.34 не запрещен, то происходит соединение на 2400/V34
ATI17 Вывод сырого кода АОН

Также краткое описание этих и других команд можно получить непосредственно от модема, дав ему команды AT$, ATS$ или AT&$ в терминальной программе.


Приложение 2. Дополнительные регистры прошивки AVC

Регистры (в скобках указано значение, устанавливаемое командой AT&Fn).

S70 (2)

Режимы отображения и работы АОН. Устанавливая регистр S70 значения 0-4, можно выбрать соответствующий режим АОНа.

S70=0 Выключение АОНа (запрос не выдается)
S70=1 Отображать номер отдельной строкой CALLER ID: nnnnnnn:k
S70=2 Отображать номер в строке соединия CONNECT
S70=3 Сочетает режимы S70=1 и S70=2
S70=4 Определяет номер, но не отображает его. Впоследствии номер можно посмотреть в статистике по команде ATI6
S71 (8) Длина номера АОН, включая категорию абонента. Максимально допустимое значение - 8.
S72 (30) Уровень сигнала запроса к аппаратуре АОН (от 0 до 63) Значение 0 соответствует минимальной громкости сигнала запроса, а значение 63 - максимальной громкости. Как правило достаточно значения по умолчанию (30). Слишком сильный сигнал запроса может заглушить приемник модема и создать помеху для правильного определения номера.
S73 (25) Пауза после подключения к линии и перед посылкой запроса АОН (в 10-миллисекундных интервалах). Так как после поднятия трубки модемом в линии происходят переходные процессы, то необходимо выдерживать паузу перед определением номера, которая и задается в этом регистре. На разных линиях и станциях оптимальное значение может различаться. Но необходимо помнить, что слишком маленькие значения этого регистра (близкие к 0) создают предпосылки для ложного сраба- тывания фильтров АОНа на помехи во время переходных процессов, а слишком большие значения (более 50) не позволят вовремя послать запрос на АТС, в результате чего номер не определится.
S74 (10) Максимальная длительность запроса АОН (в 1/100 секунды) Один длинный запрос позволяет упростить алгоритм определения, а также удовлетворяет некоторым кривым станциям, для которых стандартной длительности запроса недостаточно (обычно 100 мс). Кроме того, удаленные модемы иногда принимают за BUSY серию коротких гудков в тех случаях, когда номер не определяется. Для междугородних соединений значение регистра S74 можно увеличить до 2-х. Но не рекомендуется ставить его больше 3-х секунд, так как номера некоторых абонентов не определяются по определению, и они будут вынуждены слушать слишком длинный гудок.
S75 (3) Тайм-аут на весь ответ от аппаратуры АОН (в секундах) Максимальное время, отведенное на прием пакета АОН. По истечении этого времени прием пакета прерывается и начинается его дальнейшая обработка.
S76 (100) Параметр импульсного набора: время импульса (в миллисекундах).
S77 (80) Параметр импульсного набора: время между цифрами (в 10-мс интервалах).
S78 (30) Громкость сигналов эмуляции по команде ATR и #CID
S79 (42) Частота сигналов эмуляции в десятках герц.
S80 (2)

Чувствительность входного аналогового тракта АЦП модема во время сеанса связи (после установления соединения):

1 = -6 dB (ослабление чувствительности)
2 = 0 dB
3 = +6 dB (усиление чувствительности)
S81 (1)

Общая регулировка уровня выходного сигнала аналогового тракта ЦАП модема:

1 = 0 dB
2 = -6 dB
3 = -12 dB
S82 (2)

Чувствительность входного аналогового тракта АЦП модема во время набора номера и процедуры установки соединения:

1 = -6 dB (ослабление чувствительности)
2 = 0 dB
3 = +6 dB (усиление чувствительности)

На некоторых телефонных станциях настолько громкие сигналы отбоя и готовности (busy и dialtone), что они перегружают входные цепи модема, в результате чего сигнал сильно искажа- ется и модем не может опознать сигналы АТС. В таких случаях необходимо понизить чувствительность входных цепей модема установив значение этого регистра в 1 (S82=1). Усиление чувствительности на этапе установления соединения как правило не требуется.

S83 (2) Минимальный уровень детектирования сигналов "занято"(busy) и "диалтон"(dialtone) (0-255). Иногда на фоне громких сигналов "занято" в линии присутствует негромкий, но постоянный сигнал 425гц, который модем воспринимает как непрерывный сигнал dialtone, вместо того чтобы поймать busy. Увеличение значения этого регистра позволит избежать этого эффекта. Проконтролируйте настройку, используя результаты команды ATY4.
S84 (0)

Тип фильтра для определения "занято" и "диалтон" (0-3). Сигнал DIALTONE на всех телефонных линиях должен удовлетворять некоторым стандартам и составлять 425 +/- 25Гц. Для выделения этого сигнала модем использует специально настроенный фильтр, который определяет присутствие в линии сигнала 425Гц. Однако некоторые АТС не знают, что такое ГОСТы (или люди которые их делали), поэтому бывает необходимо изменить частотный диапазон определения сигналов DIALTONE и BUSY (сигналы BUSY тоже должны быть 425Гц):

0 - довольно широкий фильтр выделяющий частоты 350..650 Гц. Для большинства АТС этого более чем достаточно.
1 - для линий среднего и хорошего качества и электронных АТС 400..550 Гц.
2 - для линий, где стандартами не пахнет вообще - 0..700 Гц
3 - очень узкополосный фильтр 410..450Гц. Для линий, где идеальные сигналы BUSY/DIALTONE. Позволяет отрезать максимум ненужных частот и предотвратит ложные срабатывания (например шумы, запросы и ответы АОНов и др.).
S85 (0) Количество RINGING после которых выдается сообщение NO ANSWER. Если S85=0, то подсчет сигналов RINGING не ведется.
S86 (6)

Битовый регистр, дополнительные режимы:

бит 0 (0) Не класть трубку по диагностике NO DIALTONE
бит 1 (1) Использовать лампу ARQ/FAX во время набора номера как лампочку OH (Off Hook). В модемах сделанных на базе спортстеров отсутствует индикатор OFF Hook, который показывает, находится модем на линии или нет. Когда в модеме установлено бесшумное реле набора номера, то бывает полезно контролировать набор номера именно по индикатору OFF Hook. Установив этот бит в "1" можно задействовать индикатор ARQ/FAX как OFF Hook на период набора номера. Для оригинальных модемов Courier лучше сбросить этот бит в 0.
бит 2 (1) Запретить разрыв связи при пропадании напряжения в линии (причина разрыва связи Loop Loss Disconnect)
бит 3 (0) Включить режим определения тонального DTMF-пароля при ответе модема на входящий звонок. Тональный пароль должен быть записан в 5-ую ячейку номеров телефонов без пробелов и специ- альных знаков (тире, запятая и др.). Допускаются только цифры.
бит 4 (0) Озвучивать короткие пересогласования (в том числе Speedshift-ы)
S87 (8) Уровень мощности передатчика для удаленного модема AVC-56 (если установлен S88.0=1)
S88 (0)

Битовый регистр, управление запросом уровнями передатчика

бит 0 (0) Разрешить запрос уровня у удаленного модема AVC-56 с использованием регистра S87
бит 1 (0) Запретить изменение уровня мощности своего передатчика по запросу от удаленного AVC-56 модема
S89 (0) Управление индикатором HS:

Для того, чтобы задать режимы индикации скоростей, необходимо выполнить два простых арифметических действия:

S89 = Скорость1 + Скорость2 * 16

Индекс скорости должен задаваться по следующей таблице:

00 Индикатор HS всегда выключен
01 2400 бит/сек
02 4800 бит/сек
03 7200 бит/сек
04 9600 бит/сек
05 12000 бит/сек
06 14400 бит/сек
07 16800 бит/сек
08 19200 бит/сек
09 21600 бит/сек
10 24000 бит/сек
11 26400 бит/сек
12 28800 бит/сек
13 31200 бит/сек
14 33600 бит/сек
15 включается на протоколе V.90

Соотношение скоростей: HS индикатор:
Connect <Скорость не горит
Скорость1 < Connect <Скорость2 мигает
Connect > Скорость2 горит непрерывно

S90 (0) Битовый регистр. Управление режимами эмуляции гудков ATR.
бит 0 (0) Прерывать эмуляцию ATR при понижении тока в линии (поднята трубка параллельного аппарата). Необходим специальный датчик линии. Если датчик в модеме не установлен, то этот бит ставить нельзя !
бит 1 (0) Прерывать эмуляцию при обнаружении сигналов "занято".
бит 2(0) Прерывать эмуляцию при превышении порогового уровня шума (голос)
бит 3 Зарезервирован
бит 4(0) Выдавать сообщения RINGBACK синхронно с эмуляцией гудков
S91 (0) Управление сообщениями CONNECT:
бит 0 (0) Добавлять информацию о скорости на прием (/RX:nnnn/TX:nnnn)
бит 1 (0) Добавлять информацию об удаленном модеме /REM=...
S98 (0) Время в секундах для задержки сообщения RING. Может использоваться для задержки реакции на входящий звонок. 0 - нет задержек.
S99 (0) Битовый регистр, режимы АОН:
бит0 (0) Определять номер по любому поднятию трубки, (кроме ATD)
бит1 (0) Смену состояния линии RI com-порта считать признаком входного звонка
бит2 (0) бит3 (0) Тип сообщения
0 0 СALLER ID:
0 1 CallerID:
1 0 CALLER'S NUMBER:
1 1 CALLER_ID:
бит4 (0) Делать попытку определения номера по команде ATD в случае когда S86.0=1 (коллизия звонков)
бит5 Зарезервирован
бит6 Зарезервирован
бит7 (0) Выводить сырой код для отладки и дополнительного анализа
S100 (10) Минимальная длительность сигналов BUSY. В единицах по 20 мс
S101 (35) Максимальная длительность сигналов BUSY. В единицах по 20 мс
S102 (4) Минимальная длительность пауз между сигналами BUSY. В единицах по 20 мс
S103 (255) Максимальная длительность пауз между сигналами BUSY. В единицах по 20 мс
S104 (9) Минимальная длительность сигналов RINGING. В единицах по 20 мс
S105 (125) Максимальная длительность сигналов RINGING. В единицах по 20 мс
S106 (75) Минимальная длительность пауз между сигналами RINGING. В единицах по 20 мс
S107 (24) Минимально-допустимая длительность одного периода вызывного сигнала RING. В единицах по 0.4 мс
S108 (180) Максимально-допустимая длительность одного периода вызывного сигнала RING. В единицах по 0.4 мс
S109 (4) Минимальная скважность вызывного сигнала RING: (общее время периода)/(время положительного полупериода) Если Ваш модем не определяет или плохо определяет входящие звонки, попробуйте поэкспериментировать со значением этого регистра на несколько единиц в "+" и в "-".
S110 (3) Количество сигналов "занято", необходимых для диагностики BUSY. При значении меньше трех возможны ложные срабатывания, поэтому пользуйтесь этим параметром достаточно осторожно.
S111 (0) Управление датчиком линии. Только для модемов с установленным датчиком.
бит 0 (0) Разрешить работу датчика
бит 1 (0) Перед набором номера проверять напряжение и выдавать NO DIALTONE, если линия занята другим аппаратом
S115 (128) Размер кадра протокола V.42

Благодарности за помощь в создании прошивки AVC

Особые благодарности Владимиру Додонову (за неоценимую помощь и моральную поддержку),
Константину Норватову (за предоставленную информацию по прошивкам USR),
всем пользователям модемов Курьер за найденные баги и новые предложения.

При создании прошивки использовались фрагменты кода супервизора оригинальных прошивок модемов USR, а также без изменений (кроме дополнения АОНа) используется код DSP от USR.



13. Гарантии

Никакие виды гарантий не предусматриваются и не предполагаются. Программное обеспечение (прошивка) Advanced Voice Courier(tm) поставляется в соответствии с международным принципом поставок программного обеспечения "AS IS" ("как есть"). Это означает, что Вы устанавливаете прошивку в модем на свой страх и риск. Автор не несет никакой ответственности за работу прошивки на конкретном модеме и конкретной телефонной линии. Авторы также не несут никакой ответственности за порчу оборудования или за иные материальные и моральные ущербы, связанные с данным программным продуктом. Перед использованием прошивки настоятельно рекомендуется подробно изучить настоящую документацию, оригинальную документацию на модем Courier V.Everything, а также почитать FAQ и полезные советы на страницах сайта www.USRModem.ru.

Автор с удовольствием выслушает ваше мнение, а также интересные предложения и замечания по поводу дальнейшего совершенствования прошивки. Направляйте ваши письма по адресу vavaev@usrmodem.ru Андрею Ваваеву.



14. Условия распространения

Прошивка AVC-56/33.6 является свободно-распространяемым программным обеспечением (Freeware) и может свободно копироваться для некоммерческого использования при условии того, что оригинальный дистрибутив сохранен. Все вопросы коммерческого использования прошивки AVC-56/33.6 должны быть согласованы непосредственно с автором - Андреем Ваваевым. Запрещается также предпродажная установка прошивки в модемы USR Courier.

© Андрей В.Ваваев. Все права защищены.
E-Mail: vavaev@usrmodem.ru
FidoNet: 2:5020/633.1


Хостинг от uCoz