Возможности модемов HTS Express


От редакции: Хотелось бы обратить внимание наших читателей, что в представленной вашему вниманию статье содержится описание возможностей и расширенных функций модемов, предоставленное их разработчиками. И это понятно — кому, как не создателям модема лучше всего известны все подробности и тонкости функционирования их детища.

Таким образом, данный материал носит лишь общеинформационный характер, и по понятным причинам, не содержит данных о тестировании модема и практических впечатлений от работы с ним.

Что умеют модемы HTS Express

Когда модем находится в неактивном состоянии, он умеет:

Отвечать на звонок, автоматически на заданный по счету сигнал RING. Это — стандартная для модемов возможность, задаваемая через регистр S0.

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

Выводить RING лишь после определенного числа звонков. Эта возможность предназначена для работы с программами, в которых невозможно настроить ответ не на первый звонок. В таком случае Вы просто задаете, какой по счету звонок выводить, программа думает, что он первый, и отвечает в нужное Вам время.

Снимать трубку, эмулировать длинные гудки. Этот режим представляет собой то, что в обиходе называют "АОН без поднятия трубки". То есть, модем снимает трубку, определяет номер, выдает удаленному абоненту длинные гудки, и ждет реакции локального абонента или его программы.

Снимать трубку, эмулировать иностранный Caller ID. Этот режим предназначен для работы с фирменными программами, которые ничего не знают про русский АОН, но знают про иностранный Caller ID. Главное различие между ними состоит в том, что АОН определяет номер после поднятия трубки, а Caller ID — до этого момента.

Запоминать число звонков, а затем, если на этот же номер перезвонят, выполнять некие действия (пароль доступа по числу предварительных звонков). Этот режим предназначен для парольного доступа к линии. Допустим, на линии трубку всегда снимает только автоответчик или факс-аппарат. И это принципиально, допустим, потому что так требует начальство. Или же это Ваша домашняя станция, на которую Вам модемом никто не звонит, по крайней мере, днем. Но очень редко бывает нужно модемом позвонить Вам самому. Но телефон всегда отвечает автоответчиком, и до модема Вам не добраться. В таком случае можно использовать настоящую возможность для того, чтобы сначала позвонить на номер так, чтобы аппаратура, стоящая после модема, не успела снять трубку. И повесить трубку самому. Модем посчитает число звонков, и запомнит это. Затем Вы быстро перезваниваете еще раз, то трубку снимет уже сам модем. Этот же режим работает и наоборот: если модем снимает трубку раньше, чем какая-то другая аппаратура, стоящая на той же линии, то можно заставить его подобным способом не ответить на следующий звонок и позволить сработать этой аппаратуре.

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

Определять набранный пульсом номер на параллельном телефоне и выводить его в виде Caller ID специальной формы. Эта возможность предназначена для ведения логов всех Ваших голосовых звонков. Часто бывает интересно, куда звонили Ваши знакомые, пока Вас не было дома, или же во сколько позавчера вечером Вы сами звонили Ивану Ивановичу. И то и другое можно легко посмотреть в мейлерном логе или в логе автоответчика, если данная возможность активирована.

Считать звонки, выводить номер звонка. Эта возможность предназначена для того, чтобы внешние программы умели предпринимать разные действия по разным подстрокам ответа. Например, Вы можете заставить программу по RING 3 выдавать Вам предупреждающее сообщение, а по RING 5 — отвечать на звонок.

Когда модем набирает номер, он умеет:

С точностью до 7 герц определять частоту и уровни тональных телефонных сигналов и комбинаций из двух тонов. Вы можете задать параметры определяемых модемом сигналов прямо в герцах, а также их уровни. Среди прочего, Вы можете настроить для определения: уровень тишины в линии, минимальное и максимальное время короткого и длинного гудков, число гудков, максимальный промежуток между ними, частоты и уровни. Этот режим является совершенно уникальным среди модемов и позволяет делать совершенно фантастические вещи, немыслимые для обычных модемов. Сверхбыстрое определение сигнала "занято", определение типа междугородней станции, определение конкретной городской линии при звонках с офисной АТС, определение типа устройства у отвечающего абонента и многое другое. Фактически этот режим в совокупности с двухтональным генератором сигналов в модеме позволяет Вам полностью управлять всеми мыслимыми телефонными сигналами. Известно, что в телефонии не используются сигналы более чем двухтональные, а все двухтональные — к Вашим услугам.

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

Проверять состояние линии после набора цифр, и прекращать набор, если АТС не среагировала на набор. Эта возможность часто бывает нужна на старых АТС, которые не замечают начала набора номера. Мало того, что они не замечают, они часто впадают в какое-то странное состояние, если продолжать набирать его далее.

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

Отслеживать голосовой ответ удаленного абонента. При этом модем практически не ошибается при детектировании голоса даже на фоне довольно сильных тресков, и не путает трески, гудки и шум с голосом. Уникальный детектор сигналов в линии обеспечивает и эту возможность. В отличие от абсолютного большинства других модемов, голосовой ответ абонента определяется не по принципу "все, что не гудок и не тишина", а при помощи спектрального анализа. Это дает редкую достоверность определения голоса, что позволяет использовать модем в многочисленных приложениях, связанных с рассылкой голосовых сообщений, факс-серверами и т.п. Полезно это и при работе в FidoNet: если Вы увидели в логе ответ Voice, то с вероятностью лучше 80% это именно он, а не трески, гудки ненормированных уровней или щелчки реле на АТС.

Проигрывать в перерывах между вызывными гудками факса голосовое сообщение для того, чтобы человек на той стороне понял, что надо включить факс на ответ. Это весьма полезно при звонках туда, где сидят особо одаренные секретарши, которые даже после 20-кратного объяснения тех. персонала не могут осознать, что прерывистые гудки 1100 герц — это входящий звонок факсом, и надо включить факс-аппарат на ответ, а не орать АЛЕ в трубку. Если режим включен, то модем голосом скажет такой секретарше, что это именно факс. Более того, Вы можете переопределить голосовое сообщение и записать свое, например "Это звонит факс, нажмите кнопку Старт".

При попытке набора номера при уже поднятой трубке предварительно ее вешать для сброса предыдущего неоконченного кем-либо соединения. Этот режим полезен вообще всегда, поскольку зачастую, например, программа может "забыть" повесить трубку перед новым звонком. Если это оказалось так, то модем перед набором номера сам повесит трубку на пару секунд, затем снимет ее и наберет номер.

Игнорировать установку на набор тоном, всегда набирать пульсом. Этот режим предназначен для импортных программ, авторы которых свято уверены, что пульсового набора нигде в мире больше не осталось. Если режим включен, то что бы программа ни хотела, модем будет набирать пульсом.

Генерировать сигнал RING при помощи издания в линию звука, похожего на вызывной сигнал. Эта возможность полезна при работе на выделенных линиях. Многие модемы распознают звонок не при помощи детектора напряжения, а путем прослушивания линии на предмет обнаружения тона около 50 герц частотой. Вот именно этот тон модем и издает, что позволяет, при достаточной чувствительности удаленного модема, распознать его как звонок и ответить на него.

Переходить к ответу на звонок после набора номера (реверсивный ответ). Эта возможность хотя и нестандартна, но имеется и в других модемах.

Набирать пульсом более 10 пульсов. Режим предназначен для управления офисными АТС и различным специальным оборудованием.

Когда модем отвечает на звонок, он умеет:

Автоматически определять номер абонента (АОН) как в активном режиме, так и в пассивном (без запроса). Запрос и определение номера производится в дуплексном режиме (один непрерывный гудок запроса до ответа, как бы поздно он ни пришел, а не много коротких, как в обычных АОНах). Определенный номер может выводиться в виде Caller ID, ZyXEL-style, или же по стандарту голосового режима V.253. Реализация АОН в модеме весьма уникальна. Главная особенность — дуплекс. Для работы АОН необходимо, чтобы в момент перехода линии в разговорное состояние АТС услышала запрос частотой 500 герц. Если ответ АОН запрашивает станционное оборудование, то оно может, если ответ не удался, опять перевести линию в предыдущее состояние и запросить еще и еще. Когда же запрос АОН посылается со стороны обычного абонента с телефоном, то у него есть единственный шанс послать запрос — собственно в момент снятия трубки. Никакие повторные запросы он посылать не может. Многочисленные же писки обычных АОНов обусловлены не тем, что номер можно перезапросить, а тем, что эти АОНы "глохнут" от собственного запроса, и не в состоянии услышать на его фоне ответ АТС. В данном же модеме реализован полный дуплекс, и модем легко распознает ответ АТС на фоне сигнала запроса, отключая его тогда, когда и положено по стандарту. В результате он ловит ответы станций самого разного типа, даже тех, которые выдают ответ с задержкой, после щелчков и т.п. Кроме этой особенности, АОН в модеме имеет многочисленные настройки продолжительностей и уровней сигналов и т.п. Также реализовано исполнение скриптов по определившемуся номеру, о чем будет рассказано ниже. Пассивный АОН — это все то же самое, но без запроса. Очень полезно в ситуациях, когда АТС периодически обзванивает номера и хочет денег с тех, у кого стоят АОНы. Поскольку АОН реализован на АТС как сотенная группа, если хотя бы на один из номеров поступил запрос АОН, ответ выдаст вся сотня. Именно поэтому при ответе на какой-либо звонок Вы частенько слышите перед голосом абонента специфическую трель в линии. Это и есть ответ АОН, и он будет успешно определен модемом.

Распознавать удаленное управление DTMF для немедленного перехода в режим голоса, факса или модема. Распознавать длинные и короткие DTMF и выводить для внешней программы. Когда кто-либо звонит на этот модем, а на нем включен полный адаптивный ответ (о чем ниже), то модем сначала определяет номер, затем АЛЕкает, и лишь затем принимает решение о том, какой тип входного звонка имеет место быть. Но часто бывает так, что на такой модем звонят, например, с сотового телефона. В результате две секунды модем пищит, еще две — "АЛЕкает" и слушает, а драгоценное бесплатное время первых нескольких секунд при звонке с сотового телефона — проходит. Данная возможность предназначена для того, чтобы немедленно, в первую же секунду, указать модему, кто и чем звонит. Например, в описываемом случае Вы просто нажимаете цифру 3, и модем немедленно запустит автоответчик, и у Вас будет шанс оставить короткое сообщение бесплатно.

Полностью адаптивно различать все три типа звонков — голос, факс или модем, с возможной голосовой подсказкой (проговаривание "АЛЕ"), и достоверностью определения голоса еще выше, чем на исходящих звонках. Эта возможность появилась изначально в наших первых модемах — RC-21600. Она позволяет модему распознавать все три типа звонков — факс, голос и данные. О том, как именно это работает, лучше прочесть в документации. Здесь мы лишь отметим, что благодаря вышеописанному детектору сигналов на линии модем практически никогда не ошибается в определении типа звонка.

Определять состояние линии: короткие и длинные гудки. Если при снятии трубки с удаленной стороны ее уже положили, то модем сообщит BUSY и не будет пытаться соединяться с короткими гудками. Все модемы при входящем звонке и ответе на него предполагают, что с той стороны что-то есть. А ведь часто бывает так, что из-за сбоев АТС связь оборвалась сразу же после снятия трубки. Данный же модем определяет при ответе ровно все то же, что и при наборе номера. В частности, сигналы ЗАНЯТО и ДЛИННЫЙ ГУДОК. И не коннектится по три минуты с короткими гудками.

Отвечать в паузах между звонками, а не во время звонка. Эта возможность защищает аппаратуру модема от выхода из строя при снятии трубки в момент, когда звонит звонок. Модем старается всегда снять трубку в паузе между звонками.

Когда модем соединяется в режиме данных, он умеет:

Выбирать какой угодно протокол или набор протоколов по списку. Например, соединяться на 2400 через V8. Среди поддерживаемых протоколов: V21, V22(b), V32, V32T(AT&T Terbo 19200), V32A(USR ASL), V32H(USR HST), V32H(RC-21600 RHST-21600), V.34(до 33600). Кроме того, модем является V.90-ready. Это означает, что в них есть все для того, чтобы очередная прошивка начала работать на V.90. Мы гарантируем Вам, что при появлении такой прошивки Вы получите ее бесплатно, и сможете загрузить в Ваш модем без каких-либо переделок, изменений, доработок и т.п. Протокол V.90 находится в стадии разработки и был оставлен на последнюю очередь потому, что наши модемы покупают обычно для работы на средних и плохих линиях, а протокол V.90 принципиально работает только на хороших линиях. В модеме предусмотрена возможность выбирать любую комбинацию из поддерживаемых протоколов. Обычно модемы подразумевают, что если разрешен один протокол, то разрешен и ряд похожих или нижнего уровня. В данном модеме можно разрешить или запретить любой протокол или их комбинацию, что легко позволяет обходить проблемы, связанные с некачественной реализацией того или иного протокола на удаленной стороне.

Выводить в строке коннекта все параметры. Например: CONNECT 19200:56/V34/V42B/3429/L:-22:-13/S:34.66:17.72/E:23/C:-0.23 /R:3/dP343-5500/V:UNK где: 19200: прогнозируемая скорость на прием (возможен также вывод скорости на передачу, и других вариантов скоростей на прием: реальной и максимальной), :56 — глубина модуляции на V.34 в процентах, то есть степень использования канала по параметру сигнал/шум, V34 — протокол соединения, V42B — протокол коррекции/компрессии, L:-22:-13 — уровни приема и передачи в dBm, S:34.66:17.72 — сигнал/шум и неравномерность его по спектру в dB с сотыми долями, E:23 — уровень эхогашения, C:-0.23 — смещение несущей в герцах, R:3 — задержка распространения сигнала в миллисекундах, dP343-5500 — набранный телефонный номер, /V:UNK — производитель удаленного модема (V.42 XID). Эта возможность полезна для того, чтобы сразу же, в момент соединения, получить представление о том, как будет проходить сеанс связи. Обычно модемы позволяют лишь собрать статистику после сессии, в то время как данный модем позволяет дополнительно делать и прогноз на сессию в самом начале. Увидев плохие или нетипичные параметры в строке соединения, Вы можете перезвонить еще раз, так как заведомо понятно, что Вам попался плохой межАТСный канал.

Выбирать режим коррекции ошибок и компрессии: все соединения разрешены, разрешены низкоскоростные соединения без коррекции, разрешен SREJ, разрешена компрессия на прием, разрешена компрессия на передачу, разрешена коррекция ошибок. Эта возможность позволяет, во-первых, отсечь ложные соединения без коррекции ошибок, во-вторых — заблокировать работу SREJ при его некорректной реализации на удаленной стороне, и в-третьих, работать на V.42 даже на самом медленном протоколе, V.21, чего обычно модемы не позволяют делать.

Соединяться на минимально-возможной скорости (4800 для V.34) в целях наиболее устойчивого прохождения соединения, и затем поднимать скорость до оптимальной. Эта возможность является важнейшим средством повышения устойчивости соединений. В самом начале соединения происходит довольно много разнообразных процедур согласования параметров локального и удаленного модемов, и, к сожалению, они плохо защищены от ошибок. В результате многие модемы соединяются без коррекции ошибок или вовсе не соединяются в условиях сильных помех. Принудительное занижение скорости соединения позволяет данному модему надежно пройти все процедуры согласования, после чего немедленно поднять скорость до оптимальной.

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

Индивидуально настраивать параметры модуляции: нелинейное кодирование, расширенное созвездие, прекодирование, несимметричная битовая скорость, 16-точечное созвездие при ретрейне, сброс мощности (power drop). Как правило, модем сам неплохо выбирает все эти параметры. Однако иногда либо проблемы наблюдаются у удаленного модема, либо линия имеет сильную нестабильность. Кроме того, по умолчанию в модеме отключена возможность сбрасывать мощность удаленному, расширенное созвездие и 16-ти точечное созвездие. Реализованная в модеме подсистема OCC (управление каналом на передачу), описанная ниже, гораздо полнее использует все, что в принципе дают эти возможности, но несколько иным способом.

Разрывать соединение при: величине SNR менее заданной, величине символьной скорости менее заданной, величине битовой скорости на прием и на передачу менее заданной, слишком плохом использовании времени модема (менее заданного процента времени на передачу данных, остальное — ретрейны и смены скоростей), таймауте неактивности программы. Эти настройки предназначены для того, чтобы вместо бесконечных попыток пересогласований или непрерывных перепосылок данных, модем перезвонил еще раз. Часто по самым разнообразным причинам гораздо эффективнее перезвонить еще раз, как делают все люди когда плохо слышно, нежели до победного конца преодолевать тяготы и лишения неудачного соединения.

Запрещать автоматически протоколы, индивидуально, если для того или иного протокола не хватает входного уровня сигнала, то есть если входной уровень менее заданного для данного протокола. Как правило, есть некий минимальный уровень сигнала, при котором еще разумно использовать тот или иной протокол. К сожалению, редкие модемы это анализируют. Данная возможность предназначена для того, чтобы сделать это за удаленного, если он не умеет этого делать сам.

Ждать дополнительное к S7 время, если какое-то начало коннекта удалось получить. Как правило, время ожидания соединения устанавливают небольшим, чтобы попросту не соединяться с короткими гудками или неотвечающим абонентом. Данная возможность позволяет гибче выбирать этот таймаут: если удаленный хотя бы начал отвечать, значит, есть шанс дождаться и установления соединения. В таком случае время ожидания продлевается дополнительно к стандартному из регистра S7.

Подсчитывать распределение по спектру не только сигнала, но и шума, и выбирать символьную скорость в наилучшем диапазоне. Отсутствие этого умения называется "синдром 21600" для модемов USR. Эта возможность хотя и не уникальна для модемов, но нечасто встречается. Между тем, она совершенно необходима. Такие известные модемы, как USR Sportster и USR Courier, например, ее не имеют. Это приводит к т. наз. синдрому 21600: на линиях с сильной низкочастотной помехой модем, вместо того чтобы выбрать разумную символьную скорость, не замечает помехи и выбирает максимальную, на которой не может работать. В результате после многочисленных согласований он падает на самую минимальную символьную скорость 2400, которая и ограничивает скорость соединения величиной 21600, в то время как при правильной оценке помеховой обстановки зачастую можно было бы иметь и 31200.

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

Во время соединения модем умеет:

Адаптивно вычислять таймауты V.42, для компенсации ошибки протокола с остановкой передачи при потере кадра REJ. К сожалению, протокол V.42 содержит огромную "дыру" в самой своей сути. Протокол устроен так, что если пропал кадр-перезапрос (REJ), то инициатор посылки так и не узнает про то, что надо бы перепослать данные. И лишь по истечении таймаута он уже другим способом перезапросит партнера, почему тот не отвечает. Этот таймаут в большинстве модемов огромен: от полусекунды до секунды. В результате пропадание кадра REJ приводит к длительной остановке передачи. Данный модем тщательно анализирует время реакции удаленного на посланный кадр REJ, и если реакция явно запаздывает, делает вывод, что REJ пропал. После чего принимает меры для разблокирования передачи. В результате, вместо секундных перерывов в передаче, приостановка случается от силы на 0.1 секунду.

По первым же байтам сбойного кадра останавливать передачу и посылать перезапрос на кадр. Модем делает две вещи, хотя и разрешенные по стандарту V.42, но почему-то не реализованные более нигде (за одним исключением). Во-первых, если самое начало кадра с данными уже испорчено, то модем сразу же посылает перезапрос, не дожидаясь пока весь этот мусор примется целиком. Эта возможность есть еще лишь в одном известном нам модеме, производимой фирмой Аналитик. А во-вторых, если модем принял запрос на перепосылку, он немедленно прекращает передачу текущего, никому уже не нужного кадра и начинает передачу требуемого. Эта возможность, насколько нам известно, не реализована более нигде, хотя и разрешена по стандарту. В результате время реакции модема на ошибки сокращается в несколько раз, и число бесполезно переданных кадров-мусора — во столько же.

Снижать уровень на передачу при плохом качестве эхогашения Очевидно, что снижение мощности передачи облегчает жизнь приемнику. Именно это модем и делает, если его жизнь непомерно тяжела.

Поднимать уровень на передачу, если удаленный плохо слышит. Это здорово помогает при работе с "глухими" модемами или же на тихих линиях.

Псевдо-HST на V.34: OCC, управление каналом на передачу. Модем отслеживает занятость канала на передачу, и, если [почти] ничего не передается, в разы сбрасывает мощность своего передатчика (тем самым резко облегчая условия приема), зажимает скорость на передачу на минимальной величине, перестает реагировать на ошибки удаленного на прием, и переходит в состояние NoTx. Если же модем замечает, что передача данных началась, он все возвращает назад. Кроме того, модем отслеживает занятость канала на прием. Если канал [почти] не занят, модем до максимума увеличивает мощность передатчика, облегчая тем самым прием удаленному, запрашивает на прием минимальную скорость перестает реагировать на ошибки приема, и переходит в состояние NoRX. При увеличении потока на прием все возвращается обратно. Реально, в 90% случаев работы в Интернете это добавляет до 10-20% скорости на прием при совершенно полной совместимости со стандартом V.34.

Настройка условий и числа разворота канала на HST. При некоторой комбинации это позволяет работать на HST даже в Интернете. Возможно, это и покажется неактуальным в данный исторический момент, однако протокол HST дает при работе с Интернетом честных 1900 CPS, что может оказаться праздником на некоторых линиях, на которых не удается настроить эхогаситель на дуплексных протоколах.

Грубое АРУ на прием, в том числе и с использованием возможностей аппаратуры. Модем автоматически так подгоняет уровни и усиление входного сигнала, чтобы он занимал весь динамический диапазон вычислений. Абсолютное большинство модемов занимаются почему-то редким маразмом: имея 16-ти разрядный процессор и примерно той же разрядности АЦП на входе, они спроектированы таким образом, что большинство нормальных и почти что все тихие входные сигналы занимают сильно меньше половины разрядной сетки того и другого. В результате можно смело считать, что АЦП на входе разрядов на десять, а процессор, после эхогашения, и вовсе на пять-шесть. Более того, модемы фирмы USR оснащены кодеком, который имеет аппаратные регулировки и по входу и по выходу, но ими никак не пользуется прошивка. Поскольку шум, создаваемый кодеком как на прием, так и на передачу, а также шумы квантования никак не меняются в зависимости от уровня входного сигнала, то такой режим использования всего, что припаяно к модемной плате, попросту снижает сигнал/шум до уровня, определяемого оставшимися разрядами. Это приводит к тому, что при приеме тихих, но качественных сигналов, они портятся до уровня сигнал/шума самого модема. Наш модем в своей полной версии имеет многоступенчатую регулировку уровней в аппаратуре (именно поэтому у него так много деталей по сравнению с другими модемами), а в варианте апгрейда — полностью использует все возможности кодека, поставленного фирмой USR.

Имеет настройки совершенно всех параметров протокола: битовые и символьные скорости, глубины модуляции, типы несущих и т.п. Протокол V.34 весьма замысловато позволяет настраивать все это. Например, не все символьные скорости могут быть запрещены, и не всегда. Мы долго трудились над тем, чтобы все же позволить запрещать все индивидуально, если что-то плохо работает, например, из-за плохой реализации в удаленном модеме.

Периодически проводит безусловные ретрейны в надежде, что линия изменилась в лучшую сторону и удастся настроиться лучше. Почему-то редкому модему приходит на ум идея, что если ретрейн был проведен в условиях помех, то неплохо было бы все перенастроить, когда с линией все станет в порядке. Возможности по оперативной подстройке в ходе коннекта весьма ограничены: многие параметры могут быть выбраны только в ходе ретрейна, возможности подстройки эхогасителя при наличии удаленного сигнала, превышающего по уровню эхо во много раз, достаточно малы. В результате до конца сеанса работают зачастую на 4800. Модемы видят, что стало хуже, чем было. Но в большом количестве случаев они не могут увидеть, что стало лучше! Чтобы это увидеть, нужно попробовать заново настроиться на линию. Что данная возможность и обеспечивает.

Отслеживает постепенное медленное ухудшение качества связи и вместо непрерывных уменьшений скорости запрашивает ретрейн (Anti-SDS guard). Если линия подмокает или прогревается аппаратура на АТС и плывут параметры линии, то с точки зрения модема это может выглядеть как медленное ухудшение качества связи. Описываемая возможность заставляет модем вместо того, чтобы снижать скорость до нуля, попробовать настроиться заново на изменившиеся параметры линии.

Отслеживает количество ошибок на прием и сначала пытается снизить скорость, затем запрашивает пересинхронизацию, а на пятый раз — ретрейн. Сколько бы ни делать предположений о качестве связи и рекомендуемой скорости, всегда найдется линия с такими параметрами, искажениями и затуханиями, где расчеты дадут сбой. Поэтому весьма полезно не просто выставлять скорость на прием, но и контролировать, что же из этого получилось на самом деле. С другой стороны, резкие помехи могут привести к сбою синхронизации в протоколе, что полезно восстановить сразу же, а не пытаться понижать скорость.

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

Отслеживает количество ошибок на передачу, имеет предысторию ошибок и выбирает размер кадра таким, чтобы за расчетное время величина накладных расходов на мелкие кадры соответствовала накладным расходам на перепосылку крупных. Если передавать большими кадрами, то малы накладные расходы на заголовки кадра. Но зато если кадр пропал, то перепосылать нужно будет сразу же много. Если же передавать маленькими, то накладные расходы будут выше, зато перепосылать немного. Стало быть, если на линии частые помехи и кадры часто пропадают, то лучше передавать маленькими. А если редкие — то большими. Если задуматься над этой проблемой всерьез, то можно точно посчитать, какого размера должен быть кадр, зная предысторию их пропадания. Именно это наш модем и делает, вместо того чтобы "уменьшать если плохо", как делают другие модемы. Особо выдающимся, типа оригинального USR Sportster 92 Mhz, удается дойти аж до 1-байтовых кадров, и это при том, что там с гарантией есть еще 6 байт заголовка! Итого — 1 байт полезный на 6 бесполезных.

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

Имеет минимальные времена времени смены скоростей вниз и вверх (раздельно), а также барьер для слишком частой смены скоростей как по времени, так и по уровню SNR. Минимальные времена переключений предназначены для того, чтобы модем не менял скорости по каждому щелчку в линии. А по SNR'у — для того, чтобы он не "гулял" туда-сюда, когда SNR'у повезло оказаться на самой границе между двумя скоростями.

Учитывает ошибки треллис-декодера для грубого выбора скорости. Если все пути в треллис-декодере дают примерно одну и ту же оценку ошибки, то это говорит о том, что правды нет ни в каком. И скорость полезно понизить.

Имеет совершенно уникальную подсистему прямого, арифметически точного выбора скорости: вместо вероятностных оценок ошибок модем прямо рассчитывает число ошибок, которые были бы, если бы он перешел на скорость вверх относительно текущей, и, исходя из этого, принимает или не принимает такое решение. Это обычно дает еще 10% к CPS на прием. Если мы работаем на скорости 14400, к примеру, и знаем величину ошибки при детектировании отсчетов, то можно точно сказать, какие из этих ошибок приведут к сбоям детектирования на любой другой, более высокой, скорости. И дать точный ответ, стоит ли на нее переходить. Насколько нам известно, ни один более модем не имеет такой подсистемы прямого вычисления вероятности ошибки. А зря: модемы вынуждены ориентироваться на довольно сильный разброс ошибок, дабы на неустойчивых и шумных линиях не получать пачки сбоев. В то время как можно было бы точно оценить число сбоев и принять решение, что выгоднее: работать без сбоев на нынешней скорости или же со сбоями на следующей. В результате на хороших и стабильных линиях наш модем через некоторое время поднимается еще на одну скорость выше, чем на линиях с тем же SNR, но меньшей стабильностью.

Имеет настройки запретов фаллбэков, ретрейнов, ресинхронизации, запросов LAP-M на resync и retrain. Бывают такие "замечательные" модемы, которые по каждому фаллбэку запускают ретрейн. Если такое счастье Вам попалось с удаленной стороны, то можно запретить нашему модему это все запрашивать, дабы не терять времени.

Отслеживает резкий спад SNR и запускает resync. Если вдруг резко испортилось качество сигнала, то это, скорее всего, не потому, что линия резко промокла, а потому что модем потерял синхронизацию. И он ее восстанавливает. Причем, в отличие от модемов фирмы USR, не ретрейном, а фаллбэком на текущую же скорость.

Отслеживает спад SNR ниже минимально-реальной величины и запускает resync. Это — второй критерий для предыдущей возможности.

При запросах фаллбэков в условиях помех модем отслеживает тот факт, что удаленный модем не заметил запроса и благодаря специальному механизму памяти восстанавливает синхронизацию передачи и продолжает работать так, как будто никакого фаллбэка не запрашивалось. Запрос на смену скорости есть, фактически, передача некой зарезервированной последовательности данных. Что неплохо работает, когда скорость надо повысить, но часто не работает совсем, когда надо понизить. И скорость понижают как раз оттого, что данные принимаются с ошибками. Если удаленному модему не повезло и он не заметил нашего запроса (например, из-за сильных помех на линии), то вместо перехода в ретрейн, как это делают все другие модемы, наш модем выполняет ряд "акробатических трюков" для того, чтобы восстановить синхронизацию передаваемых данных, и это ему удается. В результате запрос можно будет повторить чуть позже вместо ретрейна длительностью в 8 секунд, тем более нежелательному в условиях помех.

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

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

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

Во время ретрейнов выбирать символьные скорости путем анализа перекоса АЧХ, SNR и достижимых битовых скоростей. Если известно все о распределении сигнала по частотам, и шума по частотам, можно прямо вычислить, на какой же именно символьной скорости можно достичь наилучшей битовой. Данный модем это вычисляет точно (вместо оценок, как делают обычно другие модемы)

Включать дополнительные фильтры для обрезания внеполосных помех, мешающих детектированию сигналов. Хотя полоса протокола V.32, например, лежит выше 600 герц, помехи внизу не дают нормально работать подсистемам модема. Упомянутые фильтры их отрезают, что многие другие модемы почему-то не делают.

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

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

Запрашивать ретрейны и фаллбэки во время, когда передача данных минимальна. Например, фаллбэки на прием делаются тогда, когда удаленный запрашивает для себя на передачу. Ретрейны — когда нет данных пользователя и т.п.

Временно выходить в командный режим и опускать сигнал CD, что позволяет звонить в Интернет из-под мейлера под Win32 (мейлер набирает номер, и вызывает внешнюю программу, которая устанавливает PPP соединение). К сожалению, Windows во всех ее разновидностях не позволяет установить PPP соединение (соединение с провайдером), если номер уже набран и модем соединился с провайдером. Это очень неприятно, так как не позволяет набирать номер из единого центра, например — мейлера, с тем, чтобы потом запустить внешнюю программу для регистрации. Модем имеет возможность обмануть Windows таким способом: мейлер-таки звонит в Интернет, и запускает внешнюю программу. В этот момент порт закрывается и сигнал DTR опускается. Это заставляет модем выйти в командный режим, не разрывая соединения. Затем запускается дозвонка до провайдера, как обычно. Но необычны здесь команды, посылаемые в модем. Среди прочих, в .Inf файле нашего модема есть тип модема "PPP". Если его выбрать, то вместо набора номера Windows пошлет в модем команду возврата в режим Online, и будет уверена в том, что набрала номер. Получит строку CONNECT и замечательно зарегистрирует Ваш компьютер у провайдера так, как будто бы сама туда позвонила. Для этого действа на нашем сервере имеется специальная программа, которая позволяет звонить провайдеру из командной строки.

Игнорировать первое пропадание сигнала DTR, что позволяет запускать внешние программы из-под мейлера под Win32 без обрыва соединения. Эта возможность похожа на предыдущую, но предназначена для внешних программ, которые, напротив, желают видеть модем в режиме Online.

После разрыва соединения модем умеет:

Автоматически печатать причину разрыва соединения, более 40 разных детально описанных причин. Модем очень подробно рассказывает про то, что же именно было плохо. Почему-то некоторые модемы вообще не имеют причины разрыва соединения.

Выдавать подробнейшую, понятную человеку статистику соединения, с выводом всех параметров в простых и понятных единицах, и с комментарием по каждому параметру в документации на модем. Там, в статистике, описано все, что только можно узнать про телефонную линию. Причем в понятном нормальному человеку виде. Дабы не просто посмотреть на забавные числа, но и сделать вывод о том, почему плохо и как с этим бороться.

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

Выдавать графики: сигнала, шума, прекодера, предискажений по прогнозам во время хэндшейка. А также их комбинации по задаваемой пользователем формуле. Весьма полезно для того, чтобы исследовать Вашу телефонную линию. Вы узнаете много интересного, когда наберете некоторую статистику. Например, что если позвонить от Вас к соседу, то это не то же самое, что от него к Вам. Что в первом случае АЧХ будет ровной, а во втором — перекос децибелл так под 30.

Выдавать реальные графики сигнала и шума по реально принятым данным. Сам по себе протокол V.34 дает лишь прогнозы. Они считаются по тестовой последовательности во время ретрейнов. Однако модем умеет считать и то, что на самом деле получается. Именно эта возможность помогла нам заметить, что модемы фирмы USR часто путают номера фильтров предискажений, и вместо выравнивания АЧХ вызывают еще больший ее перекос.

Выдавать оценки SNR, перекоса SNR и битовой скорости на все возможные символьные скорости. Эта возможность была описана выше, и позволяет Вам узнать распределение максимальных скоростей битовых по скоростям символьным.

Сервис по управлению. Модем имеет:

Полностью мнемоническую систему команд. Никаких S56.4=1, но лишь *PRT+V34. Все поля имеют имена, все команды имеют подсказки, все регистры имеют подробнейшее описание всех параметров и того, на что они влияют. Это все размещено в файле mdmcmd.dat на сервере, и именно по этому файлу модем работает, разбирая команды. На сервере также представлена его HTML версия. Все регистры имеют размерности, понятные человеку, единую сетку времени и уровней. Все команды имеют цепочную форму, например, чтобы запретить V.34 и разрешить V.21 можно написать at*PRT-V34+V21<cr>. Все команды имеют размерность и знаковость, соответствующую их смыслу. Никаких двойных команд в трех смежных регистрах, численных параметров, разнесенных по нескольким регистрам из-за ограниченной разрядности регистра и тому подобного.

Расширенные сообщения об ошибках. Модем выдает после слова ERROR остаток строки, которую ему не удалось разобрать из-за встретившейся ошибки. Эта возможность весьма полезна, когда Вы не можете сразу понять, какая же именно часть командной строки модему "не понравилась". Также это полезно при отладке внутримодемных скриптов.

Файловая система. Модем имеет встроенную файловую систему, которая содержит как все профайлы (их может быть до сотни), так и специальные файлы-скрипты, исполняемые модемом по тому или иному случаю. Среди прочего, Вы можете написать скрипты по таким событиям: загрузка модема, сброс модема (ATZ), определение конкретного номера (скрипт выполнится, если модем определит такой номер), определение набранного номера и номера, набранного на параллельном телефоне, вывод определенного кода сообщения (например, VOICE), переход в адаптивный факсовый режим, набор команд группы &F (пост-настройка), и ряд других. Также вы можете написать свои собственные файлы-скрипты, которые можно вызывать в командной строке при помощи подстановок (at'scriptname'), например at'UplinkDialPrefix'dp_номер.

Длинная командная строка, до 80 символов. Эта возможность полезна при работе с программами, которые не позволяют послать в модем более одной инициализационной строки. С той же целью модем не забывает команды после команды Z. Если все же не хватило длины строки, можно использовать скрипт и в инициализационной строке указать лишь его имя.

Голосовые файлы в файловой системе, которые можно проиграть командой #Play. Эта возможность полезна при использовании скриптов. Таким же способом Вы можете реализовать примитивную голосовую почту прямо средствами модема, например, задав команду проигрывания в скрипте, исполняемом при определении конкретного номера телефона. Также в модеме есть возможность задать принудительный переход в какой-либо из режимов ответа.

Подмена команд. Модем имеет файлы подстановок, по которым транслируются команды. Это может быть использовано для эмуляции команд какого-нибудь другого модема, или же для того, чтобы приспособиться к программе, которая шлет в модем нечто непредусмотренное.

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

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

Детектор любой пары телефонных сигналов с точностью до 7 герц с выводом состояния линии каждые 70ms. Эта возможность является дополнительной к предыдущей.

Автоматическая пульсация сигналом CTS для вывода из "ступора" Windows, когда какая-либо из программ пытается получить статус модема при помощи функции getcommstate, которая из-за ошибки иногда заклинивает передачу в модем навечно. К сожалению, в Windows функция получения статуса COM порта содержит фатальную ошибку: она читает этот статус прямо из порта, а не из копии в переменной драйвера. Это приводит к тому, что если в момент чтения как раз изменилось состояние сигнала CTS, то Windows этого не заметит, так как вместе с чтением статуса сбрасывается и прерывание по изменению статуса. В результате управление потоком заблокируется навечно. Чтобы его растормозить, и предназначена данная функция.

Глобальный таймер неактивности при поднятой трубке: в каком бы режиме модем ни находился, если при этом у него снята трубка и нет никакой видимой активности внешней программы, модем самоперезагрузится. Помогает при зависании внешних программ с поднятой трубкой.

Коэффициент скорости. Модем может быть запрограммирован на большую или меньшую глобально скорость работы путем установки делителя частоты, вырабатываемой кварцевым генератором. В принципе, Вы можете заставить работать его и на 100 килобит на V.32, если только у него хватит ресурсов быстродействия. Уменьшение же этого параметра заставит модем использовать лишь нижнюю полосу частот в телефонном канале и передавать медленнее.

Полный, новый и стандартный голосовой режим V.253. Это — наиболее полный, универсальный и единственный стандартный (в смысле ITU) новый голосовой режим, переход на который начался у производителей модемов. В нашем модеме он реализован не только полностью, но и со всеми расширениями, допускаемыми прошивкой и аппаратурой. Фактически с его помощью можно реализовать совершенно универсальное устройство для работы с телефонными сигналами любых видов и по любым алгоритмам.

HTS Modem manager

Описание возможностей программы-автоответчика, прилагаемой к модему.

Работает как в автономном режиме, так и из-под мейлера. При работе в автономном режиме программа функционирует как классический автоответчик, поднимая трубку на входящие звонки, проигрывая приветствие и записывая сообщение. При работе из-под мейлера программа запускается как внешняя, и немедленно начинает обслуживать входящий звонок. В совокупности с полным адаптивным ответом модема HTS Express, программа является дополнением к мейлеру и позволяет принимать все три типа звонков: данными (это делает мейлер), факс и голос (принимается программой).

Имеет DOS и Win32 версии. Обе версии реализованы как консольные задачи. Наличие DOS версии позволяет использовать программу на простой, так называемой "почтовой" машине, а также под любыми операционными системами, имеющими DOS-окно. Win32 версия выполнена в виде консольного приложения, что очень хорошо стыкуется с работой из-под мейлера, так как работает в том же окне что и мейлер, и синхронизируется по выполнению.

Хорошо управляется с командной строки: проигрывает одно сообщение, записывает одно сообщение, запускается как факсоприниматель и как автоответчик. Это позволяет Вам встраивать запуск программы в командные файлы, по горячим клавишам и т.п.

Ведет лог-файл со всеми действиями программы. Формат и смысл LOG-файла похож на LOG-файл от программы T-Mail. В нем регистрируются все события с настраиваемой пользователем степенью детализации.

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

Рассылает письма посредством fidonet при приеме сообщения. Этот режим особенно полезен в ситуации, когда Вы желаете знать, звонил ли Вам кто-то на телефон, от которого Вы далеко в данный момент. Настроив в качестве адреса любой интернетовский гейт, Вы можете заставить программу посылать Вам уведомления на работу, на Ваш сотовый телефон, или куда угодно еще.

Все конфигурационные файлы — текстовые. Их стиль опять-таки напоминает известную программу T-Mail и предназначен для квалифицированных пользователей. В настройках можно задать практически все, включая, например, команду, которая будет исполнена, если автоответчик обнаружил файл-флаг на диске. Для тех же, кому не нравятся текстовые редакторы, и кто привык все делать при помощи кнопок и меню, имеется программа-конфигуратор, которая выводит все настройки в понятном и удобном для изменения стиле, с разбиением по группам и подробными подсказками.

Программа имеет встроенный терминал. Простейший терминал позволит Вам, при случае, донастроить модем вручную или просто посмотреть, что с ним происходит.

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

Немедленная запись с линии. Всегда, что бы ни происходило с Вашим компьютером, нажатием пары кнопок Вы можете запустить немедленную запись текущего телефонного разговора. Модемы HTS Express позволяют прослушивать линию и при опущенной трубке, так что это можно сделать даже незаметно для удаленного абонента. Немедленную запись можно запустить как при активном автоответчике, так и с командной строки.

Программа умеет проигрывать сообщения как через модем, так и через Sound blaster. Первое позволяет Вам проигрывать сообщения прямо в линию для удаленного абонента, а также работать с программой на машинах без SB. Второе позволяет Вам прослушивать сообщения привычным для пользователей Windows способом.

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

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

Имеет полную настройку цветов.

Имеет настройки минимальной, максимальной и значащей длительности сообщения. Минимальное сообщение задает ту границу, которая определяет, будет ли зарегистрировано сообщение вообще. Это позволяет отсекать ложные звонки от людей, которые ошиблись номером, не желают разговаривать с автоответчиком и т.п. Максимальное время позволяет ограничить "чрезмерно болтливых" клиентов. Значащее время позволяет установить границу, ниже которой сообщение хотя и будет зарегистрировано, однако будет считаться пустым. Это позволит зафиксировать факт звонка, однако не выводить обрывки и короткие гудки при проигрывании всех сообщений подряд.

Сообщения могут быть отсортированы по номеру, имени, времени или размеру. Отдельно помечаются еще непрослушанные сообщения.

Программа имеет режим встроенного АРУ, что позволяет прослушивать сообщения с примерно одинаковой громкостью. Режим этот может быть и отключен по нажатию горячей клавиши.

Отдельно к программе прилагается голосовой редактор HtsEdt, который позволяет вырезать из сообщения фрагменты, склеивать и разрезать сообщения, конвертировать их в стандартные голосовые файлы, выравнивать уровни и т.п.

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

Поддержка почтовых ящиков — групп. Для каждого номера можно задать, к какой группе он относится. Группы выводятся в автоответчике как подкаталоги, дабы личные сообщения не путались с остальными, архивные — с рабочими, сообщения для Вас не путались с сообщениями для Ваших коллег и для секретарши, и т.п. Для каждой группы можно задать почти все параметры приема, такие как каталог для приема, файл-приветствие, время записи и т.п.

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

Поддержка псевдо клиент-серверной модели. На почтовом компьютере автоответчик может работать только в режиме приема, принимая и раскладывая по группам сообщения, а на рабочих местах каждый сотрудник может прослушивать предназначенные только ему сообщения.

Поддержка пользователей. При задании номера пользователя в командной строке, программа будет показывать не все группы, а лишь заданные, будет иметь другие индивидуальные настройки и т.п.

Имеет управление по локальной сети. Например, по созданию определенного файла программа немедленно освободит телефон. Сама программа создает ряд предопределенных файлов, таких как флаг активности, номер только что определившегося телефона и т.п.

Описание возможностей аппаратуры модемов HTS Express Xs12.

Флэш-память. Модем оснащен перепрограммируемой в схеме постоянной памятью (Flash), что позволяет пользователю загружать новые версии прошивок, не только не покупая ничего дополнительного, но даже не отключая модем от компьютера. Схема работает следующим образом: время от времени, или после соответствующего анонса, Вы заглядываете на наш интернет-сервер, находите прошивку последней версии для Вашей модели модема и переписываете ее к себе на машину. Затем Вы запускаете программу обновления прошивки, и Ваш модем через несколько минут приобретает все новые свойства, как будто Вы только что купили новую модель в магазине. Обращаем Ваше внимание, что прошивки с новыми версиями (кроме заказных) распространяются бесплатно, поскольку их стоимость уже учтена в стоимости модема, который Вы приобрели.

Гибкая архитектура. Модем выполнен на сигнальном процессоре фирмы Texas Instruments и не содержит так называемых "масочных прошивок", которые не могут быть изменены в процессе эксплуатации модема. Эта особенность обеспечивает принципиальное преимущество перед модемами других производителей, выполненных с использованием готового набора микросхем для модема (modem ChipSet): в нашем модеме Вы можете, воспользовавшись флэш-памятью, не только получать незначительные новые свойства путем загрузки новых прошивок, но и принципиально изменять свойство модема, например получать поддержку новых протоколов передачи данных.

Полностью загружаемый код. В данном модеме не используется никакого предопределенного кода и предраспределенной памяти данных, препятствующих оснащению модема не только стандартными протоколами, но и их расширениями. Это означает, что использование сигнального процессора общего назначения позволило реализовать в модеме ряд удачных расширений стандартных протоколов передачи данных. Сюда относятся, например, протоколы HST и ASL. Это же свойство позволит и в дальнейшем добавлять в модем все то лучшее, что было разработано как расширение стандартных протоколов, и удачно зарекомендовало себя на практике.

Определение занятости линии абонентом. В модем встроена возможность, позволяющая предотвратить одну частую и очень неприятную ситуацию: Вам требуется куда-либо позвонить, и модем также решил это сделать. Если модем уже звонит, то Вы легко можете его остановить, нажав кнопку на клавиатуре или на панели управления модемом. Однако, если Вы уже звоните, а модем вклинивается в Ваш разговор, то Вам скорее всего придется в спешке искать кнопку, подходить к компьютеру и принимать какие-то экстренные меры, пока Ваш собеседник не повесил трубку. Для исключения такой ситуации модем оснащен датчиком тока в выходной цепи. И если в момент, когда модем хочет позвонить, в выходной цепи присутствует ток, то есть она нагружена на Ваш телефон, где Вы сняли трубку, то модем при соответствующих настройках даже не попытается набирать номер, а выдаст внешней программе сообщение об отсутствии длинного гудка на линии (NO DIAL TONE). При этом ни Вы ни Ваш абонент не услышите даже никаких щелчков.

Бесшумный набор номера. Общеизвестно, что на территории exUSSR преобладает схема набора номера пульсом. Когда Вы отпускаете диск телефонного аппарата, он возвращается в исходное положение, прерывая соединение со станцией столько раз, какую цифру Вы набрали. Кнопочные телефоны генерируют такие же последовательности размыканий/замыканий. Большинство модемов выполняют такой набор, замыкая и размыкая контакты реле, которым модем подключается к линии. Поскольку это реле должно быть достаточно мощным, то оно издает весьма громкий звук в виде последовательности щелчков. Даже при эксплуатации в пределах учреждения это может раздражать сотрудников, сидящих рядом с модемом. В пределах же квартиры, особенно в ночное время, это может вызвать очень серьезную проблему, так как громкость такого набора вполне достаточна для того чтобы разбудить всех спящих. К сожалению, владельцы модемов нечасто задумываются о такой проблеме, и всю ее остроту ощущают только через несколько дней после покупки. В нашем модеме эта проблема решена принципиально: номер набирает не реле, а специальный мощный транзистор, то есть совершенно бесшумно. Мы приняли меры и в отношении реле, которое снимает трубку перед и после набора всего номера: во-первых, оно выбрано максимально бесшумным, а во-вторых имеется режим плавного его включения и выключения, что практически полностью устраняет какой-либо шум.

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

Повышенная чувствительности и выходной уровень. Наш модем был не адаптирован, а изначально разработан для эксплуатации на территории exUSSR, где залитые водой многокилометровые старые телефонные кабели — не редкость. В таких условиях очень часто у модемов не хватает чувствительности и выходной мощности. В нашем модеме использовано несколько десятков деталей именно для решения этой наиболее неприятной проблемы. Модем имеет сильно повышенную чувствительность и расширенный динамический диапазон, а также значительно увеличенную выходную мощность. Разумеется, Вы не должны злоупотреблять этим, создавая помехи АТС и соседним абонентам, однако, если Ваша линия очень тихая, Вы можете добавить выходной мощности для компенсации потерь в длинных и некачественных проводах от Вас до Вашей АТС. Проведенное нами исследование и трехлетний опыт эксплуатации модемов на отечественных телефонных линиях свидетельствуют, что у более чем 70% абонентов имеются те или иные отклонения от стандартных уровней сигналов, то есть с вероятностью 70% наш модем будет работать на Вашей линии лучше, чем модемы с обычными параметрами чувствительности и мощности. В некоторых случаях может оказаться, что обычные модемы будут и вовсе не в состоянии установить соединение на сколько-нибудь удовлетворительной скорости.

Защита от перегрузок. Модем имеет мощнейшую систему защиты от перегрузок по входу. Имея чувствительность в несколько милливольт, он в состоянии выдерживать короткое время перегрузку в сотни вольт. Конечно же, сколько бы Вы не кричали в телефонную трубку, Вы никогда не получите напряжения выше хотя бы единиц вольт. Однако, в отечественной телефонии весьма нередка такая ситуация: звонит звонок (а это 120 вольт переменного напряжения), Вы снимаете трубку, однако АТС не замечает этого и продолжает слать Вам вызов! В результате на входе аналоговой части Вашего телефона или модема оказывается напряжение, на несколько порядков превышающее расчетное. Большинство аппаратуры немедленно выходит из строя, и именно эта причина является основной при возврате на гарантию модемов. По нашему опыту соотношение таково, что на 10 неисправных модемов с выгоревшей аналоговой частью приходится лишь один с неисправностями другого характера. Второй причиной выхода из строя телефонной аппаратуры является пробой или замыкание телефонной линии на осветительную сеть. Это происходит достаточно редко, однако в такой ситуации у Вашей аппаратуры вообще нет никаких шансов остаться работоспособной. В нашем модеме такая ситуация изначально предусмотрена, что, хотя и стоит некоторых денег, однако в несколько раз уменьшает вероятность выхода из строя Вашего модема, и практически полностью исключает возможность выхода из строя из-за перегрузок по входу. Конечно же, эта защита не поможет Вам при прямом попадании молнии в провода, при перегрузках от замыкания телефонной линии на токонесущие конструкции трамвая, троллейбуса, метро или магистральной линии электропередач, однако от максимально достижимого в большинстве случаев напряжения в 220 вольт — поможет.

Удаленная перезагрузка компьютера. Наши внутренние модемы оснащены специальным контактом, выведенным на шину ISA, на который модем может подавать сигнал при превышении числа входных звонков (RING) некоторого заданного. К сожалению, на шину ISA не выведен сигнал полного сброса компьютера, поэтому мы воспользовались сигналом немаскируемого прерывания. В большинстве случаев зависания компьютера этот сигнал может быть успешно обработан операционной системой компьютера. Данная возможность предназначена для ситуации, когда из-за какого-либо сбоя удаленный от Вас компьютер завис. Обычно в такой ситуации Вам потребуется поездка туда для нажатия кнопки Reset, однако при соотв. настройках наш модем может сам выдать этот (точнее, похожий — NMI) сигнал, если Вы позвоните на этот удаленный компьютер и будете очень долго ждать, пока там снимут трубку. Сосчитав заранее заданное количество входных звонков, модем примет решение о необходимости сброса компьютера. Даже 8 звонков составляют более полуминуты, и никто никогда не ждет столько ответа абонента, а Вы можете установить ожидание нескольких десятков звонков, дабы полностью исключить ложное срабатывание этой подсистемы.

Работа на выделенной линии. Часто бывает необходимо связать два компьютера по двухпроводной линии на значительном расстоянии, что невозможно сделать через стандартные средства соединения, например RS-232 или сетевую плату. В таких случаях используют два модема, которые включают в режим постоянного пересоединения по сбоям и игнорирования команд. В нашем модеме есть такой режим, что задается установкой в соотв. положение переключателя режима работы модема. Модем перестает понимать любые команды, и все, что приходит в него, отсылает на удаленную сторону, создавая тем самым иллюзию соединения через кусок провода. Кроме этого, в модеме предусмотрена возможность отключения номеронабирающей части при помощи Jumper'а, что обеспечивает, в отличие от многих других модемов, возможность работы с телефонной линией вовсе без постоянного напряжения. Очень часто многие модемы позволяют работать с такой линией, но при установке значительной мощности выходного сигнала начинают вносить искажения за счет некорректной работы номеронабирающей части, которая предполагает наличие постоянной составляющей на линии. В нашем модеме Вы можете ее просто отключить, полностью решив проблему работы на линиях без постоянного напряжения.

Расширенный диапазон регулировки уровня громкости. Стандарт на hayes-совместимые модемы предусматривает три или четыре уровня громкости внутреннего динамика, задаваемых командой ATLn. Часто бывает так, что в тихом помещении все три уровня слишком высоки, а в шумном — низки. На нашем модеме имеется переключатель грубой установки уровня громкости, что позволяет Вам наиболее удачно выбрать диапазон регулировок с учетом Вашего уровня шума в помещении и Ваших вкусов.

Дополнительное гнездо для подключения внешнего динамика. Если Вы работаете в шумном помещении либо Вам кажется, что динамик плохо слышно из компьютера, то Вы можете подключить пассивные либо активные колонки прямо в специальный разъем модема. При этом внутренний динамик автоматически отключится и Вы сможете отрегулировать громкость Вашего внешнего динамика так, как это Вам удобнее.

Полная дешифрация адресов на шине ISA. Известно, что вопрос об адресном пространстве портов ввода-вывода в компьютерах класса IBM PC никогда не был однозначно решен. По спецификациям фирмы IBM периферийные устройства имели право дешифрировать только младшие 10 разрядов из 16 имеющихся, что большинство модемов и делает. Однако, поскольку на шине присутствуют все 16 разрядов, некоторые производители оборудования воспользовались этим для собственных нужд. Например, значительное число видеоадаптеров S3 использует для переключения видеорежимов группу старших адресов, совпадающих младшими битами адреса с адресами коммуникационного порта COM 4. Большинство же модемов игнорируют старшие биты адреса, в результате чего возникают серьезные конфликты при обращении по этим адресам. С точки зрения пользователя это выглядит как сбои в работе модема при переключении видеорежимов, окон в Windows 95 и т.п. в случае, когда модем установлен на COM 4. Все это заставляет пользователей никогда не использовать столь удобный в остальном вариант с включением модема на четвертый COM-порт, либо заменять видеоадаптер. В нашем модеме осуществляется дешифрация всех битов адреса, что полностью исключает подобные конфликты с видеоадаптерами. Кроме того, модем имеет расширенную систему выбора уровней прерывания: Вы можете произвольно выбрать любую линию для любого варианта COM порта в модеме. Причем, не из двух стандартных, а из 5 всех вообще возможных свободных на коротком слоте ISA шины.

Улучшенная стабилизация напряжений питания. Как правило, в машинах недорогой сборки лишь напряжение +5 вольт выставлено точно, и достаточно стабильно. Остальные напряжения, такие как +12, -5 и -12 вольт используются оборудованием, не требовательным к их точности и стабильности. Несмотря на однозначное требование +/- 10% и требования к стабильности, производители недорогих корпусов часто злоупотребляют устойчивостью массового оборудования, и не обеспечивают ни первое ни второе. Это часто приводит к серьезным проблемам в работе коммуникационного оборудования, которое полностью соответствует спецификациям на шину ISA, однако не рассчитано на недоброкачественные блоки питания. Наш модем изначально был рассчитан на эту уловку, и использует внутренние стабилизаторы для формирования напряжений для аналоговой части. Кроме того, программирование флэш-памяти также не использует потенциально некачественное напряжение +12 вольт.

Аппаратная регулировка усиления. В большинстве модемов применяется исключительно программная регулировка усиления передатчика и чувствительности приемника. Это означает, что все выходные и входные отсчеты, получаемые из аппаратуры или предназначенные для передачи в нее, умножаются на некий коэффициент, который и выступает в роли регулятора уровня или чувствительности. Такой подход наиболее просто и дешев, однако имеет один не совсем очевидный, но очень серьезный недостаток. Для того чтобы понять, в чем он состоит, надо вспомнить, что любая аппаратура не идеальна, и всегда привносит искажения и шумы в обрабатываемый сигнал. И если, например, типичное соотношение сигнал/шум для современных АЦП и ЦАПов, применяемых в модемах, гарантируется в пределах 70-80dB, то это предполагает, что на фоне сигнала с полным размахом шумы будут меньше на 70-80dB. Когда же фирма-производитель объявляет, что ее модем имеет максимальный выходной уровень, например в +10dBm, это означает что именно при таком уровне ЦАП модема обеспечивает соотношение сигнал/шум в пределах 70-80dB. Однако, на большинстве линий не только не нужны такие громкие сигналы, но и запрещены нормами эксплуатации телефонных линий. Обычный же уровень передачи составляет от -10dBm до -20dBm. Это легко достигается путем умножения выходного сигнала на коэффициент, задающий уровень выходного сигнала. Безо всяких проблем может быть получен выходной сигнал с уровнем, в 10, 100 и 1000 раз меньше максимально допустимого в данном ЦАПе. Но проблема в том, что шумы-то при этом меньше не становятся! И если уровень сигнала вместо +10dBm составляет -20dBm, то это эквивалентно ухудшению соотношения сигнал/шум на 30dB! В результате от исходных 70-80dB у нас осталось всего 40-50dB, а это очень и очень немного на тихих линиях, где входной сигнал достаточно слабый. Точно та же картина наблюдается и со входными сигналом. В нашем модеме предусмотрена аппаратная регулировка усиления как по входу, так и по выходу, выполняемая аналоговой частью модема до АЦП и после ЦАПа. Такая схема, в отличие от использования ЦАПа и АЦП только на часть максимальной мощности, уменьшает не только уровень сигнала, но и уровень шумов, пришедших с ним. Конечно же, эта схема регулировки вносит некоторое количество своих собственных шумов, которые не зависят от ее режима усиления, однако эти шумы пренебрежимо малы по сравнению с шумами ЦАП и АЦП.

Полностью дифференциальная аналоговая часть. Модем имеет в два раза больше мелких деталей, чем у большинства модемов, за счет применения полностью дифференциальной схемотехники. Несмотря на некоторое увеличение цены, это кардинальным образом улучшает борьбу с внешними помехами и наводками. Принцип этого подхода состоит в том, что обычный модем работает с сигналами "относительно земли", то есть — корпуса машины, заземления в Вашей квартире или офисе, относительно нулевого провода на АТС и т.п. Этот дешевый подход предполагает, что все нормы по помехам соблюдаются, что нечасто бывает на территории exUSSR. Как только Вы включаете свет, телевизор, как только на АТС соседний абонент начал набирать номер, и уж, не дай Бог, Ваши соседи включили киловаттный обогреватель, так сразу же по всей условной "земле" идут помехи в момент включения, что часто бывает заметным как щелчок в бытовой радиоаппаратуре, ретрейн и разрыв соединения модемом, или помехи на экране телевизора. Обычные модемы очень чувствительны к таким помехам, поскольку используют "землю" в качестве точки отсчета при обработке входного сигнала. В устройствах с дифференциальной аналоговой частью сигнал подводится не по одному, а по двум проводам, и представляется напряжением не относительно "земли", а между этими двумя проводами относительно друг друга. В результате все помехи, которые действуют одинаково на оба сигнальных провода, вызывают одинаковые наводки в обеих проводах относительно "земли". Специальная аппаратура, стоящая в конце аналоговой части модема, сравнивает сигналы на обеих проводах, и вычитает те из них, которые одинаковы. В результате все помехи, которые были наведены на аппаратуру извне, будут проигнорированы, а реальный входной сигнал только усилится. Примерно тот же принцип используется в высокороскоростных протоколах передачи данных, чувствительных к помехам, например, в USB или локальной сети с передачей по витой паре. Конечно же, это вычитание не идеально, да и помеха наводится не абсолютно одинаково на два рядом лежащих провода, даже если они и специально переплетены между собой (как в случае с витой парой), однако ослабление помех все равно будет очень велико. Это резко улучшает качество работы модема, поскольку модем — устройство, на половину аналоговое, и скорость связи в первую очередь зависит от соотношения сигнал/шум.

Защита от "зависаний". Какое бы качественное оборудование не поставлялось на рынок, и сколь бы больших денег оно не стоило, всегда есть вероятность ошибок в его программном обеспечении. Даже микропроцессоры, выпускаемые фирмой Intel, содержат такие ошибки. Как правило, качественное оборудование в достаточной степени протестировано, для того чтобы ошибки могли проявиться лишь в каких-то чрезвычайно маловероятных и редких случаях, не встречающихся в реальной жизни. Вероятно, нет ни единого компьютера в мире, который хотя бы раз в год не завис. Модем — это одно из наиболее сложных устройств, оснащенных процессором и микропрограммой, и, несмотря на все наши усилия по тестированию, может содержать какие-либо редко встречающиеся ошибки. Однако, мы предусмотрели все, чтобы это не приводило к сколько-нибудь заметным проблемам. Во-первых, модем имеет мощный внутренний контроль непротиворечивости, который срабатывает всякий раз, когда складывается непредусмотренная нами, разработчиками, ситуация. Как только пользователь заметил срабатывание этого контроля, он может немедленно написать письмо в отдел технической поддержки фирмы-разработчика, и через кратчайшее время проблема будет устранена. Во-вторых, пользуясь флэш-памятью, пользователь может легко и бесплатно загрузить новую прошивку, где такая ситуация уже обрабатывается. И в-третьих, если все же программа модема совершила какую-то ошибку, либо был внешний сбой, вызванный, например, помехой в сети питания, в модеме срабатывает независимо функционирующий таймер (WatchDog timer), который полностью сбрасывает все устройство, исключая тем самым необходимость перезагрузки всего компьютера, что зачастую остается единственной возможностью для сброса внутреннего модема. Этот таймер нельзя ни отключить, ни заблокировать, ни проигнорировать. Если в течение 2.5 секунды микропрограмма модема не даст ему знать о своем нормальном функционировании, он сработает и вернет модем в первоначальное состояние, исключив тем самым "зависание" модема.

Визуальный контроль. На модеме установлен единственный и дешевый светодиод, который может помочь Вам, а в особенности — Вашему дилеру, в том, чтобы определить, что происходит с модемом. Часто бывает так: Вы купили устройство, или переставили из другой машины, или Вам его принесли попробовать. Вы вставили его в машину, а оно — ни ответа ни привета. В чем дело? То ли устройство не работает, то ли сломалось, то ли у Вас программа неверно настроена, то ли устройство конфликтует с чем-то другим в машине? Именно в такой ситуации и поможет светодиод. Когда прошивка загружена и модем работает, этот светодиод непрерывно мигает с разной частотой, легко заметной на глаз. Если он горит непрерывным светом в течение десятков секунд, то, скорее всего, Вам стоит разобраться с настройками порта и/или загрузить в модем новую прошивку. Если же каждые примерно 2.5 секунды он слегка подмигивает, или вовсе переключает свое состояние каждые 2.5 секунды, то скорее всего у Вас большие проблемы с аппаратурой самого модема.

Надежность конструкции. Плата модема спроектирована таким образом, чтобы максимально выдерживать "шаловливые ручки". К сожалению, часто бывает так, что модем попадает в руки детям, или людям, страдающим болезненным желанием что-либо покрутить в руках. Как правило, это заканчивается отломанными деталями, нарушением герметичности конденсаторов и замыканием деталей, монтируемых в отверстия. Мы специально приняли меры для того, чтобы на модеме ничего нельзя было отломать, или уж, по крайней мере, отломать незаметно. Все конденсаторы были выбраны поверхностного монтажа с жестким креплением, все резисторы и сборки плотно прижаты к плате, все перемычки выполнены из жестких материалов, а стабилитрон защиты входа использован с диаметром выводов в полтора миллиметра. Два монтируемых в отверстия конденсатора защищены рядом расположенными деталями — один установлен между разъемами, а другой — между разъемом и жестко закрепленным ограничителем входного напряжения. Обращаем Ваше внимание, что несмотря на все это, модем нельзя ронять на пол, так как может "стряхнуться" кварцевый резонатор, что происходит обычно при падении уже с высоты около метра. Несмотря на то, что мы выбрали резонатор повышенной прочности, резонатор имеет конструкцию, требующую принципиально нежесткое крепление кристалла (требование механического резонанса) и не допускает чрезмерных механических перегрузок. Второе слабое место — трансформатор, пластины которого выполнены из специального высококачественного магнитного материала, и легко могут быть деформированы при ударе, что резко снижает качество работы модема.

 




Дополнительно

Возможности модемов HTS Express

Возможности модемов HTS Express

От редакции: Хотелось бы обратить внимание наших читателей, что в представленной вашему вниманию статье содержится описание возможностей и расширенных функций модемов, предоставленное их разработчиками. И это понятно — кому, как не создателям модема лучше всего известны все подробности и тонкости функционирования их детища.

Таким образом, данный материал носит лишь общеинформационный характер, и по понятным причинам, не содержит данных о тестировании модема и практических впечатлений от работы с ним.

Что умеют модемы HTS Express

Когда модем находится в неактивном состоянии, он умеет:

Отвечать на звонок, автоматически на заданный по счету сигнал RING. Это — стандартная для модемов возможность, задаваемая через регистр S0.

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

Выводить RING лишь после определенного числа звонков. Эта возможность предназначена для работы с программами, в которых невозможно настроить ответ не на первый звонок. В таком случае Вы просто задаете, какой по счету звонок выводить, программа думает, что он первый, и отвечает в нужное Вам время.

Снимать трубку, эмулировать длинные гудки. Этот режим представляет собой то, что в обиходе называют "АОН без поднятия трубки". То есть, модем снимает трубку, определяет номер, выдает удаленному абоненту длинные гудки, и ждет реакции локального абонента или его программы.

Снимать трубку, эмулировать иностранный Caller ID. Этот режим предназначен для работы с фирменными программами, которые ничего не знают про русский АОН, но знают про иностранный Caller ID. Главное различие между ними состоит в том, что АОН определяет номер после поднятия трубки, а Caller ID — до этого момента.

Запоминать число звонков, а затем, если на этот же номер перезвонят, выполнять некие действия (пароль доступа по числу предварительных звонков). Этот режим предназначен для парольного доступа к линии. Допустим, на линии трубку всегда снимает только автоответчик или факс-аппарат. И это принципиально, допустим, потому что так требует начальство. Или же это Ваша домашняя станция, на которую Вам модемом никто не звонит, по крайней мере, днем. Но очень редко бывает нужно модемом позвонить Вам самому. Но телефон всегда отвечает автоответчиком, и до модема Вам не добраться. В таком случае можно использовать настоящую возможность для того, чтобы сначала позвонить на номер так, чтобы аппаратура, стоящая после модема, не успела снять трубку. И повесить трубку самому. Модем посчитает число звонков, и запомнит это. Затем Вы быстро перезваниваете еще раз, то трубку снимет уже сам модем. Этот же режим работает и наоборот: если модем снимает трубку раньше, чем какая-то другая аппаратура, стоящая на той же линии, то можно заставить его подобным способом не ответить на следующий звонок и позволить сработать этой аппаратуре.

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

Определять набранный пульсом номер на параллельном телефоне и выводить его в виде Caller ID специальной формы. Эта возможность предназначена для ведения логов всех Ваших голосовых звонков. Часто бывает интересно, куда звонили Ваши знакомые, пока Вас не было дома, или же во сколько позавчера вечером Вы сами звонили Ивану Ивановичу. И то и другое можно легко посмотреть в мейлерном логе или в логе автоответчика, если данная возможность активирована.

Считать звонки, выводить номер звонка. Эта возможность предназначена для того, чтобы внешние программы умели предпринимать разные действия по разным подстрокам ответа. Например, Вы можете заставить программу по RING 3 выдавать Вам предупреждающее сообщение, а по RING 5 — отвечать на звонок.

Когда модем набирает номер, он умеет:

С точностью до 7 герц определять частоту и уровни тональных телефонных сигналов и комбинаций из двух тонов. Вы можете задать параметры определяемых модемом сигналов прямо в герцах, а также их уровни. Среди прочего, Вы можете настроить для определения: уровень тишины в линии, минимальное и максимальное время короткого и длинного гудков, число гудков, максимальный промежуток между ними, частоты и уровни. Этот режим является совершенно уникальным среди модемов и позволяет делать совершенно фантастические вещи, немыслимые для обычных модемов. Сверхбыстрое определение сигнала "занято", определение типа междугородней станции, определение конкретной городской линии при звонках с офисной АТС, определение типа устройства у отвечающего абонента и многое другое. Фактически этот режим в совокупности с двухтональным генератором сигналов в модеме позволяет Вам полностью управлять всеми мыслимыми телефонными сигналами. Известно, что в телефонии не используются сигналы более чем двухтональные, а все двухтональные — к Вашим услугам.

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

Проверять состояние линии после набора цифр, и прекращать набор, если АТС не среагировала на набор. Эта возможность часто бывает нужна на старых АТС, которые не замечают начала набора номера. Мало того, что они не замечают, они часто впадают в какое-то странное состояние, если продолжать набирать его далее.

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

Отслеживать голосовой ответ удаленного абонента. При этом модем практически не ошибается при детектировании голоса даже на фоне довольно сильных тресков, и не путает трески, гудки и шум с голосом. Уникальный детектор сигналов в линии обеспечивает и эту возможность. В отличие от абсолютного большинства других модемов, голосовой ответ абонента определяется не по принципу "все, что не гудок и не тишина", а при помощи спектрального анализа. Это дает редкую достоверность определения голоса, что позволяет использовать модем в многочисленных приложениях, связанных с рассылкой голосовых сообщений, факс-серверами и т.п. Полезно это и при работе в FidoNet: если Вы увидели в логе ответ Voice, то с вероятностью лучше 80% это именно он, а не трески, гудки ненормированных уровней или щелчки реле на АТС.

Проигрывать в перерывах между вызывными гудками факса голосовое сообщение для того, чтобы человек на той стороне понял, что надо включить факс на ответ. Это весьма полезно при звонках туда, где сидят особо одаренные секретарши, которые даже после 20-кратного объяснения тех. персонала не могут осознать, что прерывистые гудки 1100 герц — это входящий звонок факсом, и надо включить факс-аппарат на ответ, а не орать АЛЕ в трубку. Если режим включен, то модем голосом скажет такой секретарше, что это именно факс. Более того, Вы можете переопределить голосовое сообщение и записать свое, например "Это звонит факс, нажмите кнопку Старт".

При попытке набора номера при уже поднятой трубке предварительно ее вешать для сброса предыдущего неоконченного кем-либо соединения. Этот режим полезен вообще всегда, поскольку зачастую, например, программа может "забыть" повесить трубку перед новым звонком. Если это оказалось так, то модем перед набором номера сам повесит трубку на пару секунд, затем снимет ее и наберет номер.

Игнорировать установку на набор тоном, всегда набирать пульсом. Этот режим предназначен для импортных программ, авторы которых свято уверены, что пульсового набора нигде в мире больше не осталось. Если режим включен, то что бы программа ни хотела, модем будет набирать пульсом.

Генерировать сигнал RING при помощи издания в линию звука, похожего на вызывной сигнал. Эта возможность полезна при работе на выделенных линиях. Многие модемы распознают звонок не при помощи детектора напряжения, а путем прослушивания линии на предмет обнаружения тона около 50 герц частотой. Вот именно этот тон модем и издает, что позволяет, при достаточной чувствительности удаленного модема, распознать его как звонок и ответить на него.

Переходить к ответу на звонок после набора номера (реверсивный ответ). Эта возможность хотя и нестандартна, но имеется и в других модемах.

Набирать пульсом более 10 пульсов. Режим предназначен для управления офисными АТС и различным специальным оборудованием.

Когда модем отвечает на звонок, он умеет:

Автоматически определять номер абонента (АОН) как в активном режиме, так и в пассивном (без запроса). Запрос и определение номера производится в дуплексном режиме (один непрерывный гудок запроса до ответа, как бы поздно он ни пришел, а не много коротких, как в обычных АОНах). Определенный номер может выводиться в виде Caller ID, ZyXEL-style, или же по стандарту голосового режима V.253. Реализация АОН в модеме весьма уникальна. Главная особенность — дуплекс. Для работы АОН необходимо, чтобы в момент перехода линии в разговорное состояние АТС услышала запрос частотой 500 герц. Если ответ АОН запрашивает станционное оборудование, то оно может, если ответ не удался, опять перевести линию в предыдущее состояние и запросить еще и еще. Когда же запрос АОН посылается со стороны обычного абонента с телефоном, то у него есть единственный шанс послать запрос — собственно в момент снятия трубки. Никакие повторные запросы он посылать не может. Многочисленные же писки обычных АОНов обусловлены не тем, что номер можно перезапросить, а тем, что эти АОНы "глохнут" от собственного запроса, и не в состоянии услышать на его фоне ответ АТС. В данном же модеме реализован полный дуплекс, и модем легко распознает ответ АТС на фоне сигнала запроса, отключая его тогда, когда и положено по стандарту. В результате он ловит ответы станций самого разного типа, даже тех, которые выдают ответ с задержкой, после щелчков и т.п. Кроме этой особенности, АОН в модеме имеет многочисленные настройки продолжительностей и уровней сигналов и т.п. Также реализовано исполнение скриптов по определившемуся номеру, о чем будет рассказано ниже. Пассивный АОН — это все то же самое, но без запроса. Очень полезно в ситуациях, когда АТС периодически обзванивает номера и хочет денег с тех, у кого стоят АОНы. Поскольку АОН реализован на АТС как сотенная группа, если хотя бы на один из номеров поступил запрос АОН, ответ выдаст вся сотня. Именно поэтому при ответе на какой-либо звонок Вы частенько слышите перед голосом абонента специфическую трель в линии. Это и есть ответ АОН, и он будет успешно определен модемом.

Распознавать удаленное управление DTMF для немедленного перехода в режим голоса, факса или модема. Распознавать длинные и короткие DTMF и выводить для внешней программы. Когда кто-либо звонит на этот модем, а на нем включен полный адаптивный ответ (о чем ниже), то модем сначала определяет номер, затем АЛЕкает, и лишь затем принимает решение о том, какой тип входного звонка имеет место быть. Но часто бывает так, что на такой модем звонят, например, с сотового телефона. В результате две секунды модем пищит, еще две — "АЛЕкает" и слушает, а драгоценное бесплатное время первых нескольких секунд при звонке с сотового телефона — проходит. Данная возможность предназначена для того, чтобы немедленно, в первую же секунду, указать модему, кто и чем звонит. Например, в описываемом случае Вы просто нажимаете цифру 3, и модем немедленно запустит автоответчик, и у Вас будет шанс оставить короткое сообщение бесплатно.

Полностью адаптивно различать все три типа звонков — голос, факс или модем, с возможной голосовой подсказкой (проговаривание "АЛЕ"), и достоверностью определения голоса еще выше, чем на исходящих звонках. Эта возможность появилась изначально в наших первых модемах — RC-21600. Она позволяет модему распознавать все три типа звонков — факс, голос и данные. О том, как именно это работает, лучше прочесть в документации. Здесь мы лишь отметим, что благодаря вышеописанному детектору сигналов на линии модем практически никогда не ошибается в определении типа звонка.

Определять состояние линии: короткие и длинные гудки. Если при снятии трубки с удаленной стороны ее уже положили, то модем сообщит BUSY и не будет пытаться соединяться с короткими гудками. Все модемы при входящем звонке и ответе на него предполагают, что с той стороны что-то есть. А ведь часто бывает так, что из-за сбоев АТС связь оборвалась сразу же после снятия трубки. Данный же модем определяет при ответе ровно все то же, что и при наборе номера. В частности, сигналы ЗАНЯТО и ДЛИННЫЙ ГУДОК. И не коннектится по три минуты с короткими гудками.

Отвечать в паузах между звонками, а не во время звонка. Эта возможность защищает аппаратуру модема от выхода из строя при снятии трубки в момент, когда звонит звонок. Модем старается всегда снять трубку в паузе между звонками.

Когда модем соединяется в режиме данных, он умеет:

Выбирать какой угодно протокол или набор протоколов по списку. Например, соединяться на 2400 через V8. Среди поддерживаемых протоколов: V21, V22(b), V32, V32T(AT&T Terbo 19200), V32A(USR ASL), V32H(USR HST), V32H(RC-21600 RHST-21600), V.34(до 33600). Кроме того, модем является V.90-ready. Это означает, что в них есть все для того, чтобы очередная прошивка начала работать на V.90. Мы гарантируем Вам, что при появлении такой прошивки Вы получите ее бесплатно, и сможете загрузить в Ваш модем без каких-либо переделок, изменений, доработок и т.п. Протокол V.90 находится в стадии разработки и был оставлен на последнюю очередь потому, что наши модемы покупают обычно для работы на средних и плохих линиях, а протокол V.90 принципиально работает только на хороших линиях. В модеме предусмотрена возможность выбирать любую комбинацию из поддерживаемых протоколов. Обычно модемы подразумевают, что если разрешен один протокол, то разрешен и ряд похожих или нижнего уровня. В данном модеме можно разрешить или запретить любой протокол или их комбинацию, что легко позволяет обходить проблемы, связанные с некачественной реализацией того или иного протокола на удаленной стороне.

Выводить в строке коннекта все параметры. Например: CONNECT 19200:56/V34/V42B/3429/L:-22:-13/S:34.66:17.72/E:23/C:-0.23 /R:3/dP343-5500/V:UNK где: 19200: прогнозируемая скорость на прием (возможен также вывод скорости на передачу, и других вариантов скоростей на прием: реальной и максимальной), :56 — глубина модуляции на V.34 в процентах, то есть степень использования канала по параметру сигнал/шум, V34 — протокол соединения, V42B — протокол коррекции/компрессии, L:-22:-13 — уровни приема и передачи в dBm, S:34.66:17.72 — сигнал/шум и неравномерность его по спектру в dB с сотыми долями, E:23 — уровень эхогашения, C:-0.23 — смещение несущей в герцах, R:3 — задержка распространения сигнала в миллисекундах, dP343-5500 — набранный телефонный номер, /V:UNK — производитель удаленного модема (V.42 XID). Эта возможность полезна для того, чтобы сразу же, в момент соединения, получить представление о том, как будет проходить сеанс связи. Обычно модемы позволяют лишь собрать статистику после сессии, в то время как данный модем позволяет дополнительно делать и прогноз на сессию в самом начале. Увидев плохие или нетипичные параметры в строке соединения, Вы можете перезвонить еще раз, так как заведомо понятно, что Вам попался плохой межАТСный канал.

Выбирать режим коррекции ошибок и компрессии: все соединения разрешены, разрешены низкоскоростные соединения без коррекции, разрешен SREJ, разрешена компрессия на прием, разрешена компрессия на передачу, разрешена коррекция ошибок. Эта возможность позволяет, во-первых, отсечь ложные соединения без коррекции ошибок, во-вторых — заблокировать работу SREJ при его некорректной реализации на удаленной стороне, и в-третьих, работать на V.42 даже на самом медленном протоколе, V.21, чего обычно модемы не позволяют делать.

Соединяться на минимально-возможной скорости (4800 для V.34) в целях наиболее устойчивого прохождения соединения, и затем поднимать скорость до оптимальной. Эта возможность является важнейшим средством повышения устойчивости соединений. В самом начале соединения происходит довольно много разнообразных процедур согласования параметров локального и удаленного модемов, и, к сожалению, они плохо защищены от ошибок. В результате многие модемы соединяются без коррекции ошибок или вовсе не соединяются в условиях сильных помех. Принудительное занижение скорости соединения позволяет данному модему надежно пройти все процедуры согласования, после чего немедленно поднять скорость до оптимальной.

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

Индивидуально настраивать параметры модуляции: нелинейное кодирование, расширенное созвездие, прекодирование, несимметричная битовая скорость, 16-точечное созвездие при ретрейне, сброс мощности (power drop). Как правило, модем сам неплохо выбирает все эти параметры. Однако иногда либо проблемы наблюдаются у удаленного модема, либо линия имеет сильную нестабильность. Кроме того, по умолчанию в модеме отключена возможность сбрасывать мощность удаленному, расширенное созвездие и 16-ти точечное созвездие. Реализованная в модеме подсистема OCC (управление каналом на передачу), описанная ниже, гораздо полнее использует все, что в принципе дают эти возможности, но несколько иным способом.

Разрывать соединение при: величине SNR менее заданной, величине символьной скорости менее заданной, величине битовой скорости на прием и на передачу менее заданной, слишком плохом использовании времени модема (менее заданного процента времени на передачу данных, остальное — ретрейны и смены скоростей), таймауте неактивности программы. Эти настройки предназначены для того, чтобы вместо бесконечных попыток пересогласований или непрерывных перепосылок данных, модем перезвонил еще раз. Часто по самым разнообразным причинам гораздо эффективнее перезвонить еще раз, как делают все люди когда плохо слышно, нежели до победного конца преодолевать тяготы и лишения неудачного соединения.

Запрещать автоматически протоколы, индивидуально, если для того или иного протокола не хватает входного уровня сигнала, то есть если входной уровень менее заданного для данного протокола. Как правило, есть некий минимальный уровень сигнала, при котором еще разумно использовать тот или иной протокол. К сожалению, редкие модемы это анализируют. Данная возможность предназначена для того, чтобы сделать это за удаленного, если он не умеет этого делать сам.

Ждать дополнительное к S7 время, если какое-то начало коннекта удалось получить. Как правило, время ожидания соединения устанавливают небольшим, чтобы попросту не соединяться с короткими гудками или неотвечающим абонентом. Данная возможность позволяет гибче выбирать этот таймаут: если удаленный хотя бы начал отвечать, значит, есть шанс дождаться и установления соединения. В таком случае время ожидания продлевается дополнительно к стандартному из регистра S7.

Подсчитывать распределение по спектру не только сигнала, но и шума, и выбирать символьную скорость в наилучшем диапазоне. Отсутствие этого умения называется "синдром 21600" для модемов USR. Эта возможность хотя и не уникальна для модемов, но нечасто встречается. Между тем, она совершенно необходима. Такие известные модемы, как USR Sportster и USR Courier, например, ее не имеют. Это приводит к т. наз. синдрому 21600: на линиях с сильной низкочастотной помехой модем, вместо того чтобы выбрать разумную символьную скорость, не замечает помехи и выбирает максимальную, на которой не может работать. В результате после многочисленных согласований он падает на самую минимальную символьную скорость 2400, которая и ограничивает скорость соединения величиной 21600, в то время как при правильной оценке помеховой обстановки зачастую можно было бы иметь и 31200.

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

Во время соединения модем умеет:

Адаптивно вычислять таймауты V.42, для компенсации ошибки протокола с остановкой передачи при потере кадра REJ. К сожалению, протокол V.42 содержит огромную "дыру" в самой своей сути. Протокол устроен так, что если пропал кадр-перезапрос (REJ), то инициатор посылки так и не узнает про то, что надо бы перепослать данные. И лишь по истечении таймаута он уже другим способом перезапросит партнера, почему тот не отвечает. Этот таймаут в большинстве модемов огромен: от полусекунды до секунды. В результате пропадание кадра REJ приводит к длительной остановке передачи. Данный модем тщательно анализирует время реакции удаленного на посланный кадр REJ, и если реакция явно запаздывает, делает вывод, что REJ пропал. После чего принимает меры для разблокирования передачи. В результате, вместо секундных перерывов в передаче, приостановка случается от силы на 0.1 секунду.

По первым же байтам сбойного кадра останавливать передачу и посылать перезапрос на кадр. Модем делает две вещи, хотя и разрешенные по стандарту V.42, но почему-то не реализованные более нигде (за одним исключением). Во-первых, если самое начало кадра с данными уже испорчено, то модем сразу же посылает перезапрос, не дожидаясь пока весь этот мусор примется целиком. Эта возможность есть еще лишь в одном известном нам модеме, производимой фирмой Аналитик. А во-вторых, если модем принял запрос на перепосылку, он немедленно прекращает передачу текущего, никому уже не нужного кадра и начинает передачу требуемого. Эта возможность, насколько нам известно, не реализована более нигде, хотя и разрешена по стандарту. В результате время реакции модема на ошибки сокращается в несколько раз, и число бесполезно переданных кадров-мусора — во столько же.

Снижать уровень на передачу при плохом качестве эхогашения Очевидно, что снижение мощности передачи облегчает жизнь приемнику. Именно это модем и делает, если его жизнь непомерно тяжела.

Поднимать уровень на передачу, если удаленный плохо слышит. Это здорово помогает при работе с "глухими" модемами или же на тихих линиях.

Псевдо-HST на V.34: OCC, управление каналом на передачу. Модем отслеживает занятость канала на передачу, и, если [почти] ничего не передается, в разы сбрасывает мощность своего передатчика (тем самым резко облегчая условия приема), зажимает скорость на передачу на минимальной величине, перестает реагировать на ошибки удаленного на прием, и переходит в состояние NoTx. Если же модем замечает, что передача данных началась, он все возвращает назад. Кроме того, модем отслеживает занятость канала на прием. Если канал [почти] не занят, модем до максимума увеличивает мощность передатчика, облегчая тем самым прием удаленному, запрашивает на прием минимальную скорость перестает реагировать на ошибки приема, и переходит в состояние NoRX. При увеличении потока на прием все возвращается обратно. Реально, в 90% случаев работы в Интернете это добавляет до 10-20% скорости на прием при совершенно полной совместимости со стандартом V.34.

Настройка условий и числа разворота канала на HST. При некоторой комбинации это позволяет работать на HST даже в Интернете. Возможно, это и покажется неактуальным в данный исторический момент, однако протокол HST дает при работе с Интернетом честных 1900 CPS, что может оказаться праздником на некоторых линиях, на которых не удается настроить эхогаситель на дуплексных протоколах.

Грубое АРУ на прием, в том числе и с использованием возможностей аппаратуры. Модем автоматически так подгоняет уровни и усиление входного сигнала, чтобы он занимал весь динамический диапазон вычислений. Абсолютное большинство модемов занимаются почему-то редким маразмом: имея 16-ти разрядный процессор и примерно той же разрядности АЦП на входе, они спроектированы таким образом, что большинство нормальных и почти что все тихие входные сигналы занимают сильно меньше половины разрядной сетки того и другого. В результате можно смело считать, что АЦП на входе разрядов на десять, а процессор, после эхогашения, и вовсе на пять-шесть. Более того, модемы фирмы USR оснащены кодеком, который имеет аппаратные регулировки и по входу и по выходу, но ими никак не пользуется прошивка. Поскольку шум, создаваемый кодеком как на прием, так и на передачу, а также шумы квантования никак не меняются в зависимости от уровня входного сигнала, то такой режим использования всего, что припаяно к модемной плате, попросту снижает сигнал/шум до уровня, определяемого оставшимися разрядами. Это приводит к тому, что при приеме тихих, но качественных сигналов, они портятся до уровня сигнал/шума самого модема. Наш модем в своей полной версии имеет многоступенчатую регулировку уровней в аппаратуре (именно поэтому у него так много деталей по сравнению с другими модемами), а в варианте апгрейда — полностью использует все возможности кодека, поставленного фирмой USR.

Имеет настройки совершенно всех параметров протокола: битовые и символьные скорости, глубины модуляции, типы несущих и т.п. Протокол V.34 весьма замысловато позволяет настраивать все это. Например, не все символьные скорости могут быть запрещены, и не всегда. Мы долго трудились над тем, чтобы все же позволить запрещать все индивидуально, если что-то плохо работает, например, из-за плохой реализации в удаленном модеме.

Периодически проводит безусловные ретрейны в надежде, что линия изменилась в лучшую сторону и удастся настроиться лучше. Почему-то редкому модему приходит на ум идея, что если ретрейн был проведен в условиях помех, то неплохо было бы все перенастроить, когда с линией все станет в порядке. Возможности по оперативной подстройке в ходе коннекта весьма ограничены: многие параметры могут быть выбраны только в ходе ретрейна, возможности подстройки эхогасителя при наличии удаленного сигнала, превышающего по уровню эхо во много раз, достаточно малы. В результате до конца сеанса работают зачастую на 4800. Модемы видят, что стало хуже, чем было. Но в большом количестве случаев они не могут увидеть, что стало лучше! Чтобы это увидеть, нужно попробовать заново настроиться на линию. Что данная возможность и обеспечивает.

Отслеживает постепенное медленное ухудшение качества связи и вместо непрерывных уменьшений скорости запрашивает ретрейн (Anti-SDS guard). Если линия подмокает или прогревается аппаратура на АТС и плывут параметры линии, то с точки зрения модема это может выглядеть как медленное ухудшение качества связи. Описываемая возможность заставляет модем вместо того, чтобы снижать скорость до нуля, попробовать настроиться заново на изменившиеся параметры линии.

Отслеживает количество ошибок на прием и сначала пытается снизить скорость, затем запрашивает пересинхронизацию, а на пятый раз — ретрейн. Сколько бы ни делать предположений о качестве связи и рекомендуемой скорости, всегда найдется линия с такими параметрами, искажениями и затуханиями, где расчеты дадут сбой. Поэтому весьма полезно не просто выставлять скорость на прием, но и контролировать, что же из этого получилось на самом деле. С другой стороны, резкие помехи могут привести к сбою синхронизации в протоколе, что полезно восстановить сразу же, а не пытаться понижать скорость.

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

Отслеживает количество ошибок на передачу, имеет предысторию ошибок и выбирает размер кадра таким, чтобы за расчетное время величина накладных расходов на мелкие кадры соответствовала накладным расходам на перепосылку крупных. Если передавать большими кадрами, то малы накладные расходы на заголовки кадра. Но зато если кадр пропал, то перепосылать нужно будет сразу же много. Если же передавать маленькими, то накладные расходы будут выше, зато перепосылать немного. Стало быть, если на линии частые помехи и кадры часто пропадают, то лучше передавать маленькими. А если редкие — то большими. Если задуматься над этой проблемой всерьез, то можно точно посчитать, какого размера должен быть кадр, зная предысторию их пропадания. Именно это наш модем и делает, вместо того чтобы "уменьшать если плохо", как делают другие модемы. Особо выдающимся, типа оригинального USR Sportster 92 Mhz, удается дойти аж до 1-байтовых кадров, и это при том, что там с гарантией есть еще 6 байт заголовка! Итого — 1 байт полезный на 6 бесполезных.

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

Имеет минимальные времена времени смены скоростей вниз и вверх (раздельно), а также барьер для слишком частой смены скоростей как по времени, так и по уровню SNR. Минимальные времена переключений предназначены для того, чтобы модем не менял скорости по каждому щелчку в линии. А по SNR'у — для того, чтобы он не "гулял" туда-сюда, когда SNR'у повезло оказаться на самой границе между двумя скоростями.

Учитывает ошибки треллис-декодера для грубого выбора скорости. Если все пути в треллис-декодере дают примерно одну и ту же оценку ошибки, то это говорит о том, что правды нет ни в каком. И скорость полезно понизить.

Имеет совершенно уникальную подсистему прямого, арифметически точного выбора скорости: вместо вероятностных оценок ошибок модем прямо рассчитывает число ошибок, которые были бы, если бы он перешел на скорость вверх относительно текущей, и, исходя из этого, принимает или не принимает такое решение. Это обычно дает еще 10% к CPS на прием. Если мы работаем на скорости 14400, к примеру, и знаем величину ошибки при детектировании отсчетов, то можно точно сказать, какие из этих ошибок приведут к сбоям детектирования на любой другой, более высокой, скорости. И дать точный ответ, стоит ли на нее переходить. Насколько нам известно, ни один более модем не имеет такой подсистемы прямого вычисления вероятности ошибки. А зря: модемы вынуждены ориентироваться на довольно сильный разброс ошибок, дабы на неустойчивых и шумных линиях не получать пачки сбоев. В то время как можно было бы точно оценить число сбоев и принять решение, что выгоднее: работать без сбоев на нынешней скорости или же со сбоями на следующей. В результате на хороших и стабильных линиях наш модем через некоторое время поднимается еще на одну скорость выше, чем на линиях с тем же SNR, но меньшей стабильностью.

Имеет настройки запретов фаллбэков, ретрейнов, ресинхронизации, запросов LAP-M на resync и retrain. Бывают такие "замечательные" модемы, которые по каждому фаллбэку запускают ретрейн. Если такое счастье Вам попалось с удаленной стороны, то можно запретить нашему модему это все запрашивать, дабы не терять времени.

Отслеживает резкий спад SNR и запускает resync. Если вдруг резко испортилось качество сигнала, то это, скорее всего, не потому, что линия резко промокла, а потому что модем потерял синхронизацию. И он ее восстанавливает. Причем, в отличие от модемов фирмы USR, не ретрейном, а фаллбэком на текущую же скорость.

Отслеживает спад SNR ниже минимально-реальной величины и запускает resync. Это — второй критерий для предыдущей возможности.

При запросах фаллбэков в условиях помех модем отслеживает тот факт, что удаленный модем не заметил запроса и благодаря специальному механизму памяти восстанавливает синхронизацию передачи и продолжает работать так, как будто никакого фаллбэка не запрашивалось. Запрос на смену скорости есть, фактически, передача некой зарезервированной последовательности данных. Что неплохо работает, когда скорость надо повысить, но часто не работает совсем, когда надо понизить. И скорость понижают как раз оттого, что данные принимаются с ошибками. Если удаленному модему не повезло и он не заметил нашего запроса (например, из-за сильных помех на линии), то вместо перехода в ретрейн, как это делают все другие модемы, наш модем выполняет ряд "акробатических трюков" для того, чтобы восстановить синхронизацию передаваемых данных, и это ему удается. В результате запрос можно будет повторить чуть позже вместо ретрейна длительностью в 8 секунд, тем более нежелательному в условиях помех.

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

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

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

Во время ретрейнов выбирать символьные скорости путем анализа перекоса АЧХ, SNR и достижимых битовых скоростей. Если известно все о распределении сигнала по частотам, и шума по частотам, можно прямо вычислить, на какой же именно символьной скорости можно достичь наилучшей битовой. Данный модем это вычисляет точно (вместо оценок, как делают обычно другие модемы)

Включать дополнительные фильтры для обрезания внеполосных помех, мешающих детектированию сигналов. Хотя полоса протокола V.32, например, лежит выше 600 герц, помехи внизу не дают нормально работать подсистемам модема. Упомянутые фильтры их отрезают, что многие другие модемы почему-то не делают.

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

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

Запрашивать ретрейны и фаллбэки во время, когда передача данных минимальна. Например, фаллбэки на прием делаются тогда, когда удаленный запрашивает для себя на передачу. Ретрейны — когда нет данных пользователя и т.п.

Временно выходить в командный режим и опускать сигнал CD, что позволяет звонить в Интернет из-под мейлера под Win32 (мейлер набирает номер, и вызывает внешнюю программу, которая устанавливает PPP соединение). К сожалению, Windows во всех ее разновидностях не позволяет установить PPP соединение (соединение с провайдером), если номер уже набран и модем соединился с провайдером. Это очень неприятно, так как не позволяет набирать номер из единого центра, например — мейлера, с тем, чтобы потом запустить внешнюю программу для регистрации. Модем имеет возможность обмануть Windows таким способом: мейлер-таки звонит в Интернет, и запускает внешнюю программу. В этот момент порт закрывается и сигнал DTR опускается. Это заставляет модем выйти в командный режим, не разрывая соединения. Затем запускается дозвонка до провайдера, как обычно. Но необычны здесь команды, посылаемые в модем. Среди прочих, в .Inf файле нашего модема есть тип модема "PPP". Если его выбрать, то вместо набора номера Windows пошлет в модем команду возврата в режим Online, и будет уверена в том, что набрала номер. Получит строку CONNECT и замечательно зарегистрирует Ваш компьютер у провайдера так, как будто бы сама туда позвонила. Для этого действа на нашем сервере имеется специальная программа, которая позволяет звонить провайдеру из командной строки.

Игнорировать первое пропадание сигнала DTR, что позволяет запускать внешние программы из-под мейлера под Win32 без обрыва соединения. Эта возможность похожа на предыдущую, но предназначена для внешних программ, которые, напротив, желают видеть модем в режиме Online.

После разрыва соединения модем умеет:

Автоматически печатать причину разрыва соединения, более 40 разных детально описанных причин. Модем очень подробно рассказывает про то, что же именно было плохо. Почему-то некоторые модемы вообще не имеют причины разрыва соединения.

Выдавать подробнейшую, понятную человеку статистику соединения, с выводом всех параметров в простых и понятных единицах, и с комментарием по каждому параметру в документации на модем. Там, в статистике, описано все, что только можно узнать про телефонную линию. Причем в понятном нормальному человеку виде. Дабы не просто посмотреть на забавные числа, но и сделать вывод о том, почему плохо и как с этим бороться.

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

Выдавать графики: сигнала, шума, прекодера, предискажений по прогнозам во время хэндшейка. А также их комбинации по задаваемой пользователем формуле. Весьма полезно для того, чтобы исследовать Вашу телефонную линию. Вы узнаете много интересного, когда наберете некоторую статистику. Например, что если позвонить от Вас к соседу, то это не то же самое, что от него к Вам. Что в первом случае АЧХ будет ровной, а во втором — перекос децибелл так под 30.

Выдавать реальные графики сигнала и шума по реально принятым данным. Сам по себе протокол V.34 дает лишь прогнозы. Они считаются по тестовой последовательности во время ретрейнов. Однако модем умеет считать и то, что на самом деле получается. Именно эта возможность помогла нам заметить, что модемы фирмы USR часто путают номера фильтров предискажений, и вместо выравнивания АЧХ вызывают еще больший ее перекос.

Выдавать оценки SNR, перекоса SNR и битовой скорости на все возможные символьные скорости. Эта возможность была описана выше, и позволяет Вам узнать распределение максимальных скоростей битовых по скоростям символьным.

Сервис по управлению. Модем имеет:

Полностью мнемоническую систему команд. Никаких S56.4=1, но лишь *PRT+V34. Все поля имеют имена, все команды имеют подсказки, все регистры имеют подробнейшее описание всех параметров и того, на что они влияют. Это все размещено в файле mdmcmd.dat на сервере, и именно по этому файлу модем работает, разбирая команды. На сервере также представлена его HTML версия. Все регистры имеют размерности, понятные человеку, единую сетку времени и уровней. Все команды имеют цепочную форму, например, чтобы запретить V.34 и разрешить V.21 можно написать at*PRT-V34+V21<cr>. Все команды имеют размерность и знаковость, соответствующую их смыслу. Никаких двойных команд в трех смежных регистрах, численных параметров, разнесенных по нескольким регистрам из-за ограниченной разрядности регистра и тому подобного.

Расширенные сообщения об ошибках. Модем выдает после слова ERROR остаток строки, которую ему не удалось разобрать из-за встретившейся ошибки. Эта возможность весьма полезна, когда Вы не можете сразу понять, какая же именно часть командной строки модему "не понравилась". Также это полезно при отладке внутримодемных скриптов.

Файловая система. Модем имеет встроенную файловую систему, которая содержит как все профайлы (их может быть до сотни), так и специальные файлы-скрипты, исполняемые модемом по тому или иному случаю. Среди прочего, Вы можете написать скрипты по таким событиям: загрузка модема, сброс модема (ATZ), определение конкретного номера (скрипт выполнится, если модем определит такой номер), определение набранного номера и номера, набранного на параллельном телефоне, вывод определенного кода сообщения (например, VOICE), переход в адаптивный факсовый режим, набор команд группы &F (пост-настройка), и ряд других. Также вы можете написать свои собственные файлы-скрипты, которые можно вызывать в командной строке при помощи подстановок (at'scriptname'), например at'UplinkDialPrefix'dp_номер.

Длинная командная строка, до 80 символов. Эта возможность полезна при работе с программами, которые не позволяют послать в модем более одной инициализационной строки. С той же целью модем не забывает команды после команды Z. Если все же не хватило длины строки, можно использовать скрипт и в инициализационной строке указать лишь его имя.

Голосовые файлы в файловой системе, которые можно проиграть командой #Play. Эта возможность полезна при использовании скриптов. Таким же способом Вы можете реализовать примитивную голосовую почту прямо средствами модема, например, задав команду проигрывания в скрипте, исполняемом при определении конкретного номера телефона. Также в модеме есть возможность задать принудительный переход в какой-либо из режимов ответа.

Подмена команд. Модем имеет файлы подстановок, по которым транслируются команды. Это может быть использовано для эмуляции команд какого-нибудь другого модема, или же для того, чтобы приспособиться к программе, которая шлет в модем нечто непредусмотренное.

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

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

Детектор любой пары телефонных сигналов с точностью до 7 герц с выводом состояния линии каждые 70ms. Эта возможность является дополнительной к предыдущей.

Автоматическая пульсация сигналом CTS для вывода из "ступора" Windows, когда какая-либо из программ пытается получить статус модема при помощи функции getcommstate, которая из-за ошибки иногда заклинивает передачу в модем навечно. К сожалению, в Windows функция получения статуса COM порта содержит фатальную ошибку: она читает этот статус прямо из порта, а не из копии в переменной драйвера. Это приводит к тому, что если в момент чтения как раз изменилось состояние сигнала CTS, то Windows этого не заметит, так как вместе с чтением статуса сбрасывается и прерывание по изменению статуса. В результате управление потоком заблокируется навечно. Чтобы его растормозить, и предназначена данная функция.

Глобальный таймер неактивности при поднятой трубке: в каком бы режиме модем ни находился, если при этом у него снята трубка и нет никакой видимой активности внешней программы, модем самоперезагрузится. Помогает при зависании внешних программ с поднятой трубкой.

Коэффициент скорости. Модем может быть запрограммирован на большую или меньшую глобально скорость работы путем установки делителя частоты, вырабатываемой кварцевым генератором. В принципе, Вы можете заставить работать его и на 100 килобит на V.32, если только у него хватит ресурсов быстродействия. Уменьшение же этого параметра заставит модем использовать лишь нижнюю полосу частот в телефонном канале и передавать медленнее.

Полный, новый и стандартный голосовой режим V.253. Это — наиболее полный, универсальный и единственный стандартный (в смысле ITU) новый голосовой режим, переход на который начался у производителей модемов. В нашем модеме он реализован не только полностью, но и со всеми расширениями, допускаемыми прошивкой и аппаратурой. Фактически с его помощью можно реализовать совершенно универсальное устройство для работы с телефонными сигналами любых видов и по любым алгоритмам.

HTS Modem manager

Описание возможностей программы-автоответчика, прилагаемой к модему.

Работает как в автономном режиме, так и из-под мейлера. При работе в автономном режиме программа функционирует как классический автоответчик, поднимая трубку на входящие звонки, проигрывая приветствие и записывая сообщение. При работе из-под мейлера программа запускается как внешняя, и немедленно начинает обслуживать входящий звонок. В совокупности с полным адаптивным ответом модема HTS Express, программа является дополнением к мейлеру и позволяет принимать все три типа звонков: данными (это делает мейлер), факс и голос (принимается программой).

Имеет DOS и Win32 версии. Обе версии реализованы как консольные задачи. Наличие DOS версии позволяет использовать программу на простой, так называемой "почтовой" машине, а также под любыми операционными системами, имеющими DOS-окно. Win32 версия выполнена в виде консольного приложения, что очень хорошо стыкуется с работой из-под мейлера, так как работает в том же окне что и мейлер, и синхронизируется по выполнению.

Хорошо управляется с командной строки: проигрывает одно сообщение, записывает одно сообщение, запускается как факсоприниматель и как автоответчик. Это позволяет Вам встраивать запуск программы в командные файлы, по горячим клавишам и т.п.

Ведет лог-файл со всеми действиями программы. Формат и смысл LOG-файла похож на LOG-файл от программы T-Mail. В нем регистрируются все события с настраиваемой пользователем степенью детализации.

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

Рассылает письма посредством fidonet при приеме сообщения. Этот режим особенно полезен в ситуации, когда Вы желаете знать, звонил ли Вам кто-то на телефон, от которого Вы далеко в данный момент. Настроив в качестве адреса любой интернетовский гейт, Вы можете заставить программу посылать Вам уведомления на работу, на Ваш сотовый телефон, или куда угодно еще.

Все конфигурационные файлы — текстовые. Их стиль опять-таки напоминает известную программу T-Mail и предназначен для квалифицированных пользователей. В настройках можно задать практически все, включая, например, команду, которая будет исполнена, если автоответчик обнаружил файл-флаг на диске. Для тех же, кому не нравятся текстовые редакторы, и кто привык все делать при помощи кнопок и меню, имеется программа-конфигуратор, которая выводит все настройки в понятном и удобном для изменения стиле, с разбиением по группам и подробными подсказками.

Программа имеет встроенный терминал. Простейший терминал позволит Вам, при случае, донастроить модем вручную или просто посмотреть, что с ним происходит.

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

Немедленная запись с линии. Всегда, что бы ни происходило с Вашим компьютером, нажатием пары кнопок Вы можете запустить немедленную запись текущего телефонного разговора. Модемы HTS Express позволяют прослушивать линию и при опущенной трубке, так что это можно сделать даже незаметно для удаленного абонента. Немедленную запись можно запустить как при активном автоответчике, так и с командной строки.

Программа умеет проигрывать сообщения как через модем, так и через Sound blaster. Первое позволяет Вам проигрывать сообщения прямо в линию для удаленного абонента, а также работать с программой на машинах без SB. Второе позволяет Вам прослушивать сообщения привычным для пользователей Windows способом.

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

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

Имеет полную настройку цветов.

Имеет настройки минимальной, максимальной и значащей длительности сообщения. Минимальное сообщение задает ту границу, которая определяет, будет ли зарегистрировано сообщение вообще. Это позволяет отсекать ложные звонки от людей, которые ошиблись номером, не желают разговаривать с автоответчиком и т.п. Максимальное время позволяет ограничить "чрезмерно болтливых" клиентов. Значащее время позволяет установить границу, ниже которой сообщение хотя и будет зарегистрировано, однако будет считаться пустым. Это позволит зафиксировать факт звонка, однако не выводить обрывки и короткие гудки при проигрывании всех сообщений подряд.

Сообщения могут быть отсортированы по номеру, имени, времени или размеру. Отдельно помечаются еще непрослушанные сообщения.

Программа имеет режим встроенного АРУ, что позволяет прослушивать сообщения с примерно одинаковой громкостью. Режим этот может быть и отключен по нажатию горячей клавиши.

Отдельно к программе прилагается голосовой редактор HtsEdt, который позволяет вырезать из сообщения фрагменты, склеивать и разрезать сообщения, конвертировать их в стандартные голосовые файлы, выравнивать уровни и т.п.

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

Поддержка почтовых ящиков — групп. Для каждого номера можно задать, к какой группе он относится. Группы выводятся в автоответчике как подкаталоги, дабы личные сообщения не путались с остальными, архивные — с рабочими, сообщения для Вас не путались с сообщениями для Ваших коллег и для секретарши, и т.п. Для каждой группы можно задать почти все параметры приема, такие как каталог для приема, файл-приветствие, время записи и т.п.

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

Поддержка псевдо клиент-серверной модели. На почтовом компьютере автоответчик может работать только в режиме приема, принимая и раскладывая по группам сообщения, а на рабочих местах каждый сотрудник может прослушивать предназначенные только ему сообщения.

Поддержка пользователей. При задании номера пользователя в командной строке, программа будет показывать не все группы, а лишь заданные, будет иметь другие индивидуальные настройки и т.п.

Имеет управление по локальной сети. Например, по созданию определенного файла программа немедленно освободит телефон. Сама программа создает ряд предопределенных файлов, таких как флаг активности, номер только что определившегося телефона и т.п.

Описание возможностей аппаратуры модемов HTS Express Xs12.

Флэш-память. Модем оснащен перепрограммируемой в схеме постоянной памятью (Flash), что позволяет пользователю загружать новые версии прошивок, не только не покупая ничего дополнительного, но даже не отключая модем от компьютера. Схема работает следующим образом: время от времени, или после соответствующего анонса, Вы заглядываете на наш интернет-сервер, находите прошивку последней версии для Вашей модели модема и переписываете ее к себе на машину. Затем Вы запускаете программу обновления прошивки, и Ваш модем через несколько минут приобретает все новые свойства, как будто Вы только что купили новую модель в магазине. Обращаем Ваше внимание, что прошивки с новыми версиями (кроме заказных) распространяются бесплатно, поскольку их стоимость уже учтена в стоимости модема, который Вы приобрели.

Гибкая архитектура. Модем выполнен на сигнальном процессоре фирмы Texas Instruments и не содержит так называемых "масочных прошивок", которые не могут быть изменены в процессе эксплуатации модема. Эта особенность обеспечивает принципиальное преимущество перед модемами других производителей, выполненных с использованием готового набора микросхем для модема (modem ChipSet): в нашем модеме Вы можете, воспользовавшись флэш-памятью, не только получать незначительные новые свойства путем загрузки новых прошивок, но и принципиально изменять свойство модема, например получать поддержку новых протоколов передачи данных.

Полностью загружаемый код. В данном модеме не используется никакого предопределенного кода и предраспределенной памяти данных, препятствующих оснащению модема не только стандартными протоколами, но и их расширениями. Это означает, что использование сигнального процессора общего назначения позволило реализовать в модеме ряд удачных расширений стандартных протоколов передачи данных. Сюда относятся, например, протоколы HST и ASL. Это же свойство позволит и в дальнейшем добавлять в модем все то лучшее, что было разработано как расширение стандартных протоколов, и удачно зарекомендовало себя на практике.

Определение занятости линии абонентом. В модем встроена возможность, позволяющая предотвратить одну частую и очень неприятную ситуацию: Вам требуется куда-либо позвонить, и модем также решил это сделать. Если модем уже звонит, то Вы легко можете его остановить, нажав кнопку на клавиатуре или на панели управления модемом. Однако, если Вы уже звоните, а модем вклинивается в Ваш разговор, то Вам скорее всего придется в спешке искать кнопку, подходить к компьютеру и принимать какие-то экстренные меры, пока Ваш собеседник не повесил трубку. Для исключения такой ситуации модем оснащен датчиком тока в выходной цепи. И если в момент, когда модем хочет позвонить, в выходной цепи присутствует ток, то есть она нагружена на Ваш телефон, где Вы сняли трубку, то модем при соответствующих настройках даже не попытается набирать номер, а выдаст внешней программе сообщение об отсутствии длинного гудка на линии (NO DIAL TONE). При этом ни Вы ни Ваш абонент не услышите даже никаких щелчков.

Бесшумный набор номера. Общеизвестно, что на территории exUSSR преобладает схема набора номера пульсом. Когда Вы отпускаете диск телефонного аппарата, он возвращается в исходное положение, прерывая соединение со станцией столько раз, какую цифру Вы набрали. Кнопочные телефоны генерируют такие же последовательности размыканий/замыканий. Большинство модемов выполняют такой набор, замыкая и размыкая контакты реле, которым модем подключается к линии. Поскольку это реле должно быть достаточно мощным, то оно издает весьма громкий звук в виде последовательности щелчков. Даже при эксплуатации в пределах учреждения это может раздражать сотрудников, сидящих рядом с модемом. В пределах же квартиры, особенно в ночное время, это может вызвать очень серьезную проблему, так как громкость такого набора вполне достаточна для того чтобы разбудить всех спящих. К сожалению, владельцы модемов нечасто задумываются о такой проблеме, и всю ее остроту ощущают только через несколько дней после покупки. В нашем модеме эта проблема решена принципиально: номер набирает не реле, а специальный мощный транзистор, то есть совершенно бесшумно. Мы приняли меры и в отношении реле, которое снимает трубку перед и после набора всего номера: во-первых, оно выбрано максимально бесшумным, а во-вторых имеется режим плавного его включения и выключения, что практически полностью устраняет какой-либо шум.

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

Повышенная чувствительности и выходной уровень. Наш модем был не адаптирован, а изначально разработан для эксплуатации на территории exUSSR, где залитые водой многокилометровые старые телефонные кабели — не редкость. В таких условиях очень часто у модемов не хватает чувствительности и выходной мощности. В нашем модеме использовано несколько десятков деталей именно для решения этой наиболее неприятной проблемы. Модем имеет сильно повышенную чувствительность и расширенный динамический диапазон, а также значительно увеличенную выходную мощность. Разумеется, Вы не должны злоупотреблять этим, создавая помехи АТС и соседним абонентам, однако, если Ваша линия очень тихая, Вы можете добавить выходной мощности для компенсации потерь в длинных и некачественных проводах от Вас до Вашей АТС. Проведенное нами исследование и трехлетний опыт эксплуатации модемов на отечественных телефонных линиях свидетельствуют, что у более чем 70% абонентов имеются те или иные отклонения от стандартных уровней сигналов, то есть с вероятностью 70% наш модем будет работать на Вашей линии лучше, чем модемы с обычными параметрами чувствительности и мощности. В некоторых случаях может оказаться, что обычные модемы будут и вовсе не в состоянии установить соединение на сколько-нибудь удовлетворительной скорости.

Защита от перегрузок. Модем имеет мощнейшую систему защиты от перегрузок по входу. Имея чувствительность в несколько милливольт, он в состоянии выдерживать короткое время перегрузку в сотни вольт. Конечно же, сколько бы Вы не кричали в телефонную трубку, Вы никогда не получите напряжения выше хотя бы единиц вольт. Однако, в отечественной телефонии весьма нередка такая ситуация: звонит звонок (а это 120 вольт переменного напряжения), Вы снимаете трубку, однако АТС не замечает этого и продолжает слать Вам вызов! В результате на входе аналоговой части Вашего телефона или модема оказывается напряжение, на несколько порядков превышающее расчетное. Большинство аппаратуры немедленно выходит из строя, и именно эта причина является основной при возврате на гарантию модемов. По нашему опыту соотношение таково, что на 10 неисправных модемов с выгоревшей аналоговой частью приходится лишь один с неисправностями другого характера. Второй причиной выхода из строя телефонной аппаратуры является пробой или замыкание телефонной линии на осветительную сеть. Это происходит достаточно редко, однако в такой ситуации у Вашей аппаратуры вообще нет никаких шансов остаться работоспособной. В нашем модеме такая ситуация изначально предусмотрена, что, хотя и стоит некоторых денег, однако в несколько раз уменьшает вероятность выхода из строя Вашего модема, и практически полностью исключает возможность выхода из строя из-за перегрузок по входу. Конечно же, эта защита не поможет Вам при прямом попадании молнии в провода, при перегрузках от замыкания телефонной линии на токонесущие конструкции трамвая, троллейбуса, метро или магистральной линии электропередач, однако от максимально достижимого в большинстве случаев напряжения в 220 вольт — поможет.

Удаленная перезагрузка компьютера. Наши внутренние модемы оснащены специальным контактом, выведенным на шину ISA, на который модем может подавать сигнал при превышении числа входных звонков (RING) некоторого заданного. К сожалению, на шину ISA не выведен сигнал полного сброса компьютера, поэтому мы воспользовались сигналом немаскируемого прерывания. В большинстве случаев зависания компьютера этот сигнал может быть успешно обработан операционной системой компьютера. Данная возможность предназначена для ситуации, когда из-за какого-либо сбоя удаленный от Вас компьютер завис. Обычно в такой ситуации Вам потребуется поездка туда для нажатия кнопки Reset, однако при соотв. настройках наш модем может сам выдать этот (точнее, похожий — NMI) сигнал, если Вы позвоните на этот удаленный компьютер и будете очень долго ждать, пока там снимут трубку. Сосчитав заранее заданное количество входных звонков, модем примет решение о необходимости сброса компьютера. Даже 8 звонков составляют более полуминуты, и никто никогда не ждет столько ответа абонента, а Вы можете установить ожидание нескольких десятков звонков, дабы полностью исключить ложное срабатывание этой подсистемы.

Работа на выделенной линии. Часто бывает необходимо связать два компьютера по двухпроводной линии на значительном расстоянии, что невозможно сделать через стандартные средства соединения, например RS-232 или сетевую плату. В таких случаях используют два модема, которые включают в режим постоянного пересоединения по сбоям и игнорирования команд. В нашем модеме есть такой режим, что задается установкой в соотв. положение переключателя режима работы модема. Модем перестает понимать любые команды, и все, что приходит в него, отсылает на удаленную сторону, создавая тем самым иллюзию соединения через кусок провода. Кроме этого, в модеме предусмотрена возможность отключения номеронабирающей части при помощи Jumper'а, что обеспечивает, в отличие от многих других модемов, возможность работы с телефонной линией вовсе без постоянного напряжения. Очень часто многие модемы позволяют работать с такой линией, но при установке значительной мощности выходного сигнала начинают вносить искажения за счет некорректной работы номеронабирающей части, которая предполагает наличие постоянной составляющей на линии. В нашем модеме Вы можете ее просто отключить, полностью решив проблему работы на линиях без постоянного напряжения.

Расширенный диапазон регулировки уровня громкости. Стандарт на hayes-совместимые модемы предусматривает три или четыре уровня громкости внутреннего динамика, задаваемых командой ATLn. Часто бывает так, что в тихом помещении все три уровня слишком высоки, а в шумном — низки. На нашем модеме имеется переключатель грубой установки уровня громкости, что позволяет Вам наиболее удачно выбрать диапазон регулировок с учетом Вашего уровня шума в помещении и Ваших вкусов.

Дополнительное гнездо для подключения внешнего динамика. Если Вы работаете в шумном помещении либо Вам кажется, что динамик плохо слышно из компьютера, то Вы можете подключить пассивные либо активные колонки прямо в специальный разъем модема. При этом внутренний динамик автоматически отключится и Вы сможете отрегулировать громкость Вашего внешнего динамика так, как это Вам удобнее.

Полная дешифрация адресов на шине ISA. Известно, что вопрос об адресном пространстве портов ввода-вывода в компьютерах класса IBM PC никогда не был однозначно решен. По спецификациям фирмы IBM периферийные устройства имели право дешифрировать только младшие 10 разрядов из 16 имеющихся, что большинство модемов и делает. Однако, поскольку на шине присутствуют все 16 разрядов, некоторые производители оборудования воспользовались этим для собственных нужд. Например, значительное число видеоадаптеров S3 использует для переключения видеорежимов группу старших адресов, совпадающих младшими битами адреса с адресами коммуникационного порта COM 4. Большинство же модемов игнорируют старшие биты адреса, в результате чего возникают серьезные конфликты при обращении по этим адресам. С точки зрения пользователя это выглядит как сбои в работе модема при переключении видеорежимов, окон в Windows 95 и т.п. в случае, когда модем установлен на COM 4. Все это заставляет пользователей никогда не использовать столь удобный в остальном вариант с включением модема на четвертый COM-порт, либо заменять видеоадаптер. В нашем модеме осуществляется дешифрация всех битов адреса, что полностью исключает подобные конфликты с видеоадаптерами. Кроме того, модем имеет расширенную систему выбора уровней прерывания: Вы можете произвольно выбрать любую линию для любого варианта COM порта в модеме. Причем, не из двух стандартных, а из 5 всех вообще возможных свободных на коротком слоте ISA шины.

Улучшенная стабилизация напряжений питания. Как правило, в машинах недорогой сборки лишь напряжение +5 вольт выставлено точно, и достаточно стабильно. Остальные напряжения, такие как +12, -5 и -12 вольт используются оборудованием, не требовательным к их точности и стабильности. Несмотря на однозначное требование +/- 10% и требования к стабильности, производители недорогих корпусов часто злоупотребляют устойчивостью массового оборудования, и не обеспечивают ни первое ни второе. Это часто приводит к серьезным проблемам в работе коммуникационного оборудования, которое полностью соответствует спецификациям на шину ISA, однако не рассчитано на недоброкачественные блоки питания. Наш модем изначально был рассчитан на эту уловку, и использует внутренние стабилизаторы для формирования напряжений для аналоговой части. Кроме того, программирование флэш-памяти также не использует потенциально некачественное напряжение +12 вольт.

Аппаратная регулировка усиления. В большинстве модемов применяется исключительно программная регулировка усиления передатчика и чувствительности приемника. Это означает, что все выходные и входные отсчеты, получаемые из аппаратуры или предназначенные для передачи в нее, умножаются на некий коэффициент, который и выступает в роли регулятора уровня или чувствительности. Такой подход наиболее просто и дешев, однако имеет один не совсем очевидный, но очень серьезный недостаток. Для того чтобы понять, в чем он состоит, надо вспомнить, что любая аппаратура не идеальна, и всегда привносит искажения и шумы в обрабатываемый сигнал. И если, например, типичное соотношение сигнал/шум для современных АЦП и ЦАПов, применяемых в модемах, гарантируется в пределах 70-80dB, то это предполагает, что на фоне сигнала с полным размахом шумы будут меньше на 70-80dB. Когда же фирма-производитель объявляет, что ее модем имеет максимальный выходной уровень, например в +10dBm, это означает что именно при таком уровне ЦАП модема обеспечивает соотношение сигнал/шум в пределах 70-80dB. Однако, на большинстве линий не только не нужны такие громкие сигналы, но и запрещены нормами эксплуатации телефонных линий. Обычный же уровень передачи составляет от -10dBm до -20dBm. Это легко достигается путем умножения выходного сигнала на коэффициент, задающий уровень выходного сигнала. Безо всяких проблем может быть получен выходной сигнал с уровнем, в 10, 100 и 1000 раз меньше максимально допустимого в данном ЦАПе. Но проблема в том, что шумы-то при этом меньше не становятся! И если уровень сигнала вместо +10dBm составляет -20dBm, то это эквивалентно ухудшению соотношения сигнал/шум на 30dB! В результате от исходных 70-80dB у нас осталось всего 40-50dB, а это очень и очень немного на тихих линиях, где входной сигнал достаточно слабый. Точно та же картина наблюдается и со входными сигналом. В нашем модеме предусмотрена аппаратная регулировка усиления как по входу, так и по выходу, выполняемая аналоговой частью модема до АЦП и после ЦАПа. Такая схема, в отличие от использования ЦАПа и АЦП только на часть максимальной мощности, уменьшает не только уровень сигнала, но и уровень шумов, пришедших с ним. Конечно же, эта схема регулировки вносит некоторое количество своих собственных шумов, которые не зависят от ее режима усиления, однако эти шумы пренебрежимо малы по сравнению с шумами ЦАП и АЦП.

Полностью дифференциальная аналоговая часть. Модем имеет в два раза больше мелких деталей, чем у большинства модемов, за счет применения полностью дифференциальной схемотехники. Несмотря на некоторое увеличение цены, это кардинальным образом улучшает борьбу с внешними помехами и наводками. Принцип этого подхода состоит в том, что обычный модем работает с сигналами "относительно земли", то есть — корпуса машины, заземления в Вашей квартире или офисе, относительно нулевого провода на АТС и т.п. Этот дешевый подход предполагает, что все нормы по помехам соблюдаются, что нечасто бывает на территории exUSSR. Как только Вы включаете свет, телевизор, как только на АТС соседний абонент начал набирать номер, и уж, не дай Бог, Ваши соседи включили киловаттный обогреватель, так сразу же по всей условной "земле" идут помехи в момент включения, что часто бывает заметным как щелчок в бытовой радиоаппаратуре, ретрейн и разрыв соединения модемом, или помехи на экране телевизора. Обычные модемы очень чувствительны к таким помехам, поскольку используют "землю" в качестве точки отсчета при обработке входного сигнала. В устройствах с дифференциальной аналоговой частью сигнал подводится не по одному, а по двум проводам, и представляется напряжением не относительно "земли", а между этими двумя проводами относительно друг друга. В результате все помехи, которые действуют одинаково на оба сигнальных провода, вызывают одинаковые наводки в обеих проводах относительно "земли". Специальная аппаратура, стоящая в конце аналоговой части модема, сравнивает сигналы на обеих проводах, и вычитает те из них, которые одинаковы. В результате все помехи, которые были наведены на аппаратуру извне, будут проигнорированы, а реальный входной сигнал только усилится. Примерно тот же принцип используется в высокороскоростных протоколах передачи данных, чувствительных к помехам, например, в USB или локальной сети с передачей по витой паре. Конечно же, это вычитание не идеально, да и помеха наводится не абсолютно одинаково на два рядом лежащих провода, даже если они и специально переплетены между собой (как в случае с витой парой), однако ослабление помех все равно будет очень велико. Это резко улучшает качество работы модема, поскольку модем — устройство, на половину аналоговое, и скорость связи в первую очередь зависит от соотношения сигнал/шум.

Защита от "зависаний". Какое бы качественное оборудование не поставлялось на рынок, и сколь бы больших денег оно не стоило, всегда есть вероятность ошибок в его программном обеспечении. Даже микропроцессоры, выпускаемые фирмой Intel, содержат такие ошибки. Как правило, качественное оборудование в достаточной степени протестировано, для того чтобы ошибки могли проявиться лишь в каких-то чрезвычайно маловероятных и редких случаях, не встречающихся в реальной жизни. Вероятно, нет ни единого компьютера в мире, который хотя бы раз в год не завис. Модем — это одно из наиболее сложных устройств, оснащенных процессором и микропрограммой, и, несмотря на все наши усилия по тестированию, может содержать какие-либо редко встречающиеся ошибки. Однако, мы предусмотрели все, чтобы это не приводило к сколько-нибудь заметным проблемам. Во-первых, модем имеет мощный внутренний контроль непротиворечивости, который срабатывает всякий раз, когда складывается непредусмотренная нами, разработчиками, ситуация. Как только пользователь заметил срабатывание этого контроля, он может немедленно написать письмо в отдел технической поддержки фирмы-разработчика, и через кратчайшее время проблема будет устранена. Во-вторых, пользуясь флэш-памятью, пользователь может легко и бесплатно загрузить новую прошивку, где такая ситуация уже обрабатывается. И в-третьих, если все же программа модема совершила какую-то ошибку, либо был внешний сбой, вызванный, например, помехой в сети питания, в модеме срабатывает независимо функционирующий таймер (WatchDog timer), который полностью сбрасывает все устройство, исключая тем самым необходимость перезагрузки всего компьютера, что зачастую остается единственной возможностью для сброса внутреннего модема. Этот таймер нельзя ни отключить, ни заблокировать, ни проигнорировать. Если в течение 2.5 секунды микропрограмма модема не даст ему знать о своем нормальном функционировании, он сработает и вернет модем в первоначальное состояние, исключив тем самым "зависание" модема.

Визуальный контроль. На модеме установлен единственный и дешевый светодиод, который может помочь Вам, а в особенности — Вашему дилеру, в том, чтобы определить, что происходит с модемом. Часто бывает так: Вы купили устройство, или переставили из другой машины, или Вам его принесли попробовать. Вы вставили его в машину, а оно — ни ответа ни привета. В чем дело? То ли устройство не работает, то ли сломалось, то ли у Вас программа неверно настроена, то ли устройство конфликтует с чем-то другим в машине? Именно в такой ситуации и поможет светодиод. Когда прошивка загружена и модем работает, этот светодиод непрерывно мигает с разной частотой, легко заметной на глаз. Если он горит непрерывным светом в течение десятков секунд, то, скорее всего, Вам стоит разобраться с настройками порта и/или загрузить в модем новую прошивку. Если же каждые примерно 2.5 секунды он слегка подмигивает, или вовсе переключает свое состояние каждые 2.5 секунды, то скорее всего у Вас большие проблемы с аппаратурой самого модема.

Надежность конструкции. Плата модема спроектирована таким образом, чтобы максимально выдерживать "шаловливые ручки". К сожалению, часто бывает так, что модем попадает в руки детям, или людям, страдающим болезненным желанием что-либо покрутить в руках. Как правило, это заканчивается отломанными деталями, нарушением герметичности конденсаторов и замыканием деталей, монтируемых в отверстия. Мы специально приняли меры для того, чтобы на модеме ничего нельзя было отломать, или уж, по крайней мере, отломать незаметно. Все конденсаторы были выбраны поверхностного монтажа с жестким креплением, все резисторы и сборки плотно прижаты к плате, все перемычки выполнены из жестких материалов, а стабилитрон защиты входа использован с диаметром выводов в полтора миллиметра. Два монтируемых в отверстия конденсатора защищены рядом расположенными деталями — один установлен между разъемами, а другой — между разъемом и жестко закрепленным ограничителем входного напряжения. Обращаем Ваше внимание, что несмотря на все это, модем нельзя ронять на пол, так как может "стряхнуться" кварцевый резонатор, что происходит обычно при падении уже с высоты около метра. Несмотря на то, что мы выбрали резонатор повышенной прочности, резонатор имеет конструкцию, требующую принципиально нежесткое крепление кристалла (требование механического резонанса) и не допускает чрезмерных механических перегрузок. Второе слабое место — трансформатор, пластины которого выполнены из специального высококачественного магнитного материала, и легко могут быть деформированы при ударе, что резко снижает качество работы модема.