Как настроить голосовой модем

Обновлено: 06.07.2024

В свое время, так как я много времени проводил в командировках, мной была приобретена замечательная игрушка — usb модем Huawei e1550. Но времена лихой молодости прошли, и необходимость в использовании данного девайса по прямому назначению отпала. Так он и пылился у меня на полке в течении нескольких лет. И пылился бы и дальше, но возникла задача сделать систему оповещения. Тут я и вспомнил про модем. Рассмотрев поставленную задачу — был вынужден отказаться от SMS оповещения в пользу голосового дозвона по причине невозможности получить уведомление о прочтении SMS. Решения на базе Asterisk показались мне несколько громоздкими, и почитав доку по модему я решил написать звонилку самостоятельно.

Причина публикации.

Несмотря на обилие статей по работе с USSD и SMS запросами, я не нашел ни одной реализации голосовых вызовов на скриптовых языках (таких как Perl, PHP, Node.js). Надеюсь данная статья будет для Вас хорошим подспорьем.

Среда разработки
Немного теории.

Команды которые можно подавать модему — это AT команды
Команды для модема Huawei e1550 и ответы которые на них можно получить описаны в его спецификации:
HUAWEI CDMA Datacard Modem AT Command Interface Specification
HUAWEI UMTS Datacard Modem AT Command Interface Specification

Для того чтобы активировать голосовые функции модема нужно подать команду AT^CVOICE=0
Голосовые функции будут активированы до тех пор пока не будут отключены командой AT^CVOICE=1

Для того чтобы начать прием/передачу в модем аудио информации нужно при каждом звонке переключать режим работы аудио порта модема командой AT^DDSETEX=2

Аудиоданные для передачи модему должны иметь формат:
частота оцифровки: 8000 Герц.
количество каналов: 1 (mono).
бит на оцифровку: 16 signed.

Аудиоданные должны подаваться в аудио порт модема порциями по 320 байт каждые 0.02 секунды.

Итак. Начнем.

также в конце статьи будут представлены 2 дополнительных файла:
cc_cause.pl — содержит коды причин завершения вызова (cc_cause)
end_status.pl — содержит коды статуса устройства после завершения вызова (end_status)

все файлы одним архивом (выложил на своем компе, изредка комп бывает выключен)

рассмотрим test.voice.raw
Для создания данного файла использовался аудиоредактор Audacity как показано на картинках:

image

image

image

image

image

Также привожу дополнительные файлы cc_cause.pl и end_status.pl. Они не используются в представленной версии скрипта, но в случае доработки будут полезны.

В завершение.

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

Я надеюсь что эта статья окажется востребованной и полезной для Вас, а также постараюсь и впредь выкладывать интересные и полезные статьи.


14:36 30-10-2010 DimonVideo

Всё нижеописанное подходит для модемов Huawei, проверено лично на моделях Е150 и Е1550. Тем не менее, всё, что вы будете делать со своими устройствами, руководствуясь данной статьёй - вы делаете на свой страх и риск! Ни администрация сайта, ни я не несём ответственности за ваши действия. Ну, после такой необходимой прелюдии, можно перейти к сути.
С приобретением ноутбука я задумался о мобильном интернете для него.
Совершенно случайно мне достался модем от мегафона. Тот самый, 3G. И я буквально накинулся на него. Но он меня разочаровал. Даже скорее, не он, а оператор, продающий модем 3G при отсутствии данных сетей. Да и тарифы у мегафона, прямо скажем, не айс.
Да, кстати, сравнивал я интернет от мегафона и теле2 на этом же модеме. Для этого мне пришлось его немножко разблокировать, чтобы он мог работать с любыми симками. Так как это обязательно вам понадобится, вот Онлайн-калькулятор для Huawei и Онлайн-калькулятор для ZTE /Там легко и просто вы получите код разблокировки и флэш-код(только для HUAWEI!) для прошивки вашего модема. Внимательно проверьте, что в списке есть модель вашего устройства! (хотя, забегая вперёд, могу сказать, что один модем я разблокировал, которого в списке не было. Но всё это на ваш страх и риск - попыток ввода всего десять.)
После разблокировки я стал искать оператора с 3G сетями. У нас это оказался МТС. К великому сожалению моему, единственный безлимитный тариф, который меня устраивал, продавался только вместе с *мопедом* Е150 ( В последствии я видел и другие модели). Проклиная жадность опсосов, скрепя сердце, я приобрел его.
Что можно сказать о своих впечатлениях? Они не очень положительные - ядовито-красный цвет программы MTS-connect жутко раздражал глаза. Кроме того, у мегафоновского изделия крышечка закреплена на шнурке, исключая потерю этого аксессуара. С Е150 я же пару раз её терял и долго искал, ползая по полу, стукаясь головой о крышку стола и бессильно матерясь. И я, наверно, просто переставил бы симку от МТС в удобный, мегафоновский модем и забыл про Е150, если б не одно НО: эта чёрная штука с нарисованным яйцом умела звонить.
Честное слово, цены на минуту разговора для этого тарифного плана могут позволить себе далеко не все для повседневного общения. Но только представьте себе, как запылало моё сердце, когда я обнаружил, что делать это может только модем от МТС! Причём, после разлочки, он покорно принимал в себя любую сим-карту и добросовестно совершал и принимал звонки. Чего красивый и удобный Е1550 был лишён своим оператором. И никакая разлочка тут ему не помогла.
Все поиски в интернете по этому вопросу приводили меня к платной программе, умеющей активировать голосовые функции. Я не привожу её название - наверняка, кто шёл по этому пути, неоднократно упирался в неё. Стоимость разблокировки через эту программу порядка четырёх евро. Не бешенные деньги, конечно, но. Да и сайт на буржуйском, не сразу разберёшься, в какой COM-порт деньги совать.
И когда я, совсем отчаявшись, перепробовав уйму всевозможных способов, стал задумываться о том. чтобы просто поменять корпуса модемов (программную начинку я к этому времени уже поменял - можете глянуть ЗДЕСЬ - очень хороший выбор дашбоардов представлен), наткнулся в сети на очень простую и незамысловатую вещь. И самое главное, минимум танцев с бубнами. К сожалению, совершенно не сохранилась ссылка на эту страничку, в связи со случайной перезагрузкой бука гадкая опера не сохранила историю посещений. Это и подвигло меня на писанину данной статьи. Благо, всё необходимое я успел скачать.
Итак, МТС выпустил патч для своих модемов, позволяющий разблокировать голосовые функции. Это, видимо, связано с тем, что раньше они тоже продавали модемы без неё. В любом случае, это не важно. Вот этот ФАЙЛ. Единственная закавыка в том, что патч содержит в себе список эмтээсовских модемов и никакие другие разблокировать не собирается, даже если вы поставите дашбоард от МТС. И этот патч очень хорошо открывается и редактируется, например, вот этим Редактором ресурсов. Дальше, пожалуй, в картинках:
Запускаем программу ResHacker и открываем файл E1550_Russia_MTS_PatchDataCard1.0.0.3.exe:

Открываем IMEI/136/9225 и видим список поддерживаемых модемов. Смело меняем любую понравившуюся строчку, вписывая имей и код разблокировки своего модема вместо указанного. Сверху загорается кнопка *Complite Script*. Жмём её и после этого сохраняем изменённый файл. Теперь его можно запустить, но предварительно откатить время на компьютере назад, примерно на год 2009(есть сведения, что достаточно на 1 сентября 2010. Пробуйте). Не знаю, с чем связано . И в архиве с патчем есть ещё файл WriteNV.dll, так вот, он должен обязательно быть в одной папке с патчем при старте, а саму папку лучше всего положить в корень диска. Да, запускал я файл при вставленной в модем эмтээсовской симке. Дашбоард, по-моему, значения не имеет, но лучше, если будет от МТС или хотя бы не привязан к определённому оператору. У меня был установлен Mobile Partner - он и голосовые поддерживает, и основных операторов, цвет приятный и без излишеств. И вообще, очень стабильно работает.
Дальше я уже немного ленюсь, поэтому даю инструкцию от производителя, где подробно, с картинками описан порядок действий при обновлении (только про откат даты там не сказано). После успешной установки патча, модем снова окажется залоченным под оператора, теперь уже под МТС. Выдёргиваем модем, вставляем симку другого опсоса, снова втыкаем в комп и вводим код разблокировки, который мы получили ранее в онлайн-калькуляторе. Вуаля - теперь мегафоновский модем у меня работает с любой симкой и может совершать и принимать голосовые вызовы! И крышечка больше не теряется, и четыре евро я найду, куда потратить с большей пользой .
Прошу меня сильно не ругать, если что-то у вас не получится с первого раза - гугл в помощь, ибо я сам тоже не слишком много знаю. И благодарить особо не нужно - идея совершенно не моя (практически плагиат), просто невозможно не поделиться
P.S. Дополнительная информация:
Модем от HUAWEI E1750 изначально имеет предполагаемую скорость 7, 2Мб/с. После обновления патчем от МТС, скорость будет ограничена до 3, 6Мб/с. Не пугайтесь, это лечится
В первом прикреплённом файле находится патч 7.2Mbits_enabler.ехе. Проделываем с ним ту же операцию, что и с патчем от МТС, смотрим скрин:

Вбив свой IMEI в любую понравившуюся строку, жмём *Complite Script* и сохраняем модифицированный файл. Закрываем мегафон интернет (или что там у вас) и запускаем 7.2Mbits_enabler.exe, отвечаем на запросы. Запускаем файл (во втором прикреплении) SetHSUPA.exe, жмём NEXT, выбираем: Enable HSUPA>NEXT>FINISH перетыкаем модем и всё голосовые функции вашего модема активированы, устанавливаем дашбоард
с поддержкой голоса и радуемся жизни
Данное дополнение и файлы активации режима 7, 2Мб для Е1750 любезно предоставлены участником нашего сайта Юрием ака yurezz, за что именно ему и выражают благодарность счастливые обладатели Е1750.
Для владельцев модемов ZTE MF626(627), желающих приобрести такое же счастье, просто даю ссылку на страницу с подробным описанием и картинками (чтобы не перепечатывать много букoff): Перепрошивка USB модема ZTE MF627
Также вы можете посетить тему на нашем форуме:
USB-модем - Аксессуары и дополнительные устройства - форум
и смарт- версия:
USB-модем - Аксессуары и дополнительные устройства - форум
Спасибо. что дочитали до конца Успехов вам в разлочке и активации дополнительных функций.

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

Я не буду останавливаться на втором и третьем варианте неработающего голоса, скажу лишь, что вариант два «лечиться» AT-командами, поданными на порт модема, а третий вариант – установкой пользовательского софта с поддержкой голосовых функций (т.е таких дашботов, где есть вкладка для набора номера). Подробнее про эти способы можно узнать в ветке про разлочку хуавеев (ссылка выше).


Наша задача – включить этот самый voice

В качестве терминала для ввода AT-команд может быть использована сама программа DC Unlocker, в окно которой (после сканирования модема), можно вводить АТ команды заглавными буквами, и потом кнопка "Enter"


В этой ветке зашиты имеи разрешенных для патча модемов от МТС и их unlock-коды. Все, что надо сделать нам – это вписать туда свой имей/ulock-код, сохранить exe-шник с изменениями и применить патч . Отмечу, что этот активатор работает не только с E1550, но и другими модемами.

Небольшое добавление:
- во первых, после применения патча модем становиться залоченным и нуждается в повторной разлочке вводом NCK-кода.
– во вторых, патч может выкидывать ошибку, поэтому перед тем, как его использовать, откатитесь назад во времени (например, выставите 1 сентября 2010 года), в папку с патчем положите файлик WriteNV.dll (есть в архиве), а саму папку желательно скинуть куда-нибудь в корень диска


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

Так что если вы не добрались до этого окошка, значит просто не смогли нормально запустить/настроить прогу. Кстати, этой прогой шьются и E1750, так что все возражения "этой прогой голос не активировался" имеет смысл постить только в том случае, если патч отработал корректно, вывел в окне показанный выше текст, а голос не подцепился.

Когда мы выбираем себе модем, основная мотивация (кроме цены) — скорость и качество связи с Интернетом. Что касается голосовых функций модема, большинство неспециалистов слабо представляют, для чего это нужно. Некоторые считают, что голосовые модемы нужны, чтобы отдавать им команды голосом, а некоторые — чтобы «разговаривать через Интернет». После прочтения этой статьи вы, дорогой читатель, ознакомитесь с аппаратной начинкой голосового модема, набором его функциональных возможностей и запросто сможете «утереть нос» большинству продавцов компьютерных салонов.

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

Небольшое число внешних голосовых модемов, встречающихся на рынке, имеет встроенный микрофон, вместе с динамиком размещающийся внутри корпуса модема; разъемы для подключения внешней гарнитуры пальчиковые, диаметром 3,5 мм. Наличие гнезд для гарнитуры — достаточный признак голосового модема, но не необходимый, — модемы, реализующие функции только автоответчика (TAM only) или модемы, оснащенные встроенными микрофоном и динамиком, могут не иметь гнезд для подключения внешнего громкоговорителя или микрофона (как, например, новые модели голосовых модемов фирмы ZyXEL).

Для голосового модема имеет большое значение наличие датчиков состояния линии и телефона, так как в стандартах голосовых команд предусмотрена реакция модема на события, происходящие на линии и телефонных аппаратах (включенных в модем или параллельно ему). Все это аппаратное изобилие отнюдь не вдохновляет производителей, работающих на рынке дешевых изделий, поэтому частенько выпускаются модемы с урезанным набором функций. «Голь на выдумки хитра» — поэтому урезают все, что можно урезать, и даже то, что нельзя. В итоге в продаже можно видеть голосовой Win-модем, стоящий дешевле грязи, в котором от полноценного аппаратного модема остались лишь цепи сопряжения с телефонной линией и кодек.

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

Реализация такого режима требует дополнительных затрат, в том числе и аппаратных: для работы в режиме SpeakerPhone приходится одновременно работать с телефонной линией и динамиком/микрофоном (соответственно требуется два кодека). Кроме того, необходимо принять меры для подавления акустического эха (в некоторых модемах используется отдельный сигнальный процессор для выполнения связанных с режимом SpeakerPhone функций). Естественно, что модемы с поддержкой режима SpeakerPhone (и особенно full-duplex SpeakerPhone, когда передача голоса осуществляется в обоих направлениях одновременно) стоят дороже.

Практический пример: у вас к линии подключен модем IDC-5614BXL/VR. При входящем звонке модем генерирует звуковой сигнал, вы нажимаете кнопку One Touch Phone на лицевой панели модема, он «снимает трубку» (подключается к линии) и переходит в режим SpeakerPhone. Пожалуйста, можете говорить с вызывающим абонентом, а когда закончите разговор, снова нажмите эту кнопку, и модем положит трубку.

Автоответчик. Аббревиатура TAM (Telephone Answering Machine) в перечне свойств модема означает, что ваш модем может как минимум записывать звук с телефонной линии в компьютер. TAM only означает, что в модеме урезано все, кроме минимума, необходимого для работы автоответчика.

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

Функция АОН. После появления голосовых функций у модемов отечественные разработчики ПО попытались приспособить их для определения номера вызывающего абонента. Принцип работы АОН заключается в следующем: если в течение короткого времени после снятия трубки в ответ на входящий звонок послать тон запроса (сигнал с частотой 500 Гц), АТС вызывающего абонента ответит двухтональными сигналами, в которых содержится закодированная информация о номере вызывающего абонента (посылка АОН). Тон запроса можно сформировать программно (как звуковой файл) или воспользоваться AT-командой для передачи тональных сигналов. Затем остается только записать ответ АТС и декодировать содержащийся в нем телефонный номер. Казалось бы, все просто. На практике же возникает ряд трудностей, связанных с низкой скоростью выполнения голосовых команд. Ответ от АТС начинает передаваться почти сразу же после передачи тона запроса. В этом ответе каждая цифра номера передается в течение примерно 40 мс. Задержка выполнения голосовых команд составляет сотни миллисекунд, что приводит к потере цифр в определяемом номере. Кроме того, трудно предугадать, в какой момент относительно снятия трубки АТС звонящего будет готова принять (и ответить) тон запроса.

Как же работает «правильный» АОН в голосовых модемах? Во-первых, он должен быть реализован в модеме аппаратно, чтобы не возникало описанных выше проблем. Во-вторых, уметь декодировать двухтональные сигналы одновременно с передачей тона запроса (работать в дуплексном режиме). В-третьих, модем должен уметь представлять информацию АОН в виде, привычном для ПО. Очень удачное с этой точки зрения решение — симуляция работы Caller ID: для программы он предстает модемом с функцией Caller ID (поддержка Caller ID есть практически во всех программах), а для АТС модем работает, как обычная АОН-приставка. Поэтому не приходится искать программы, «заточенные» именно под этот модем: вы просто включаете функцию Caller ID в программе (если она не включена по умолчанию), и, как по мановению волшебной палочки, программа начинает определять номера телефонов, с которых к вам поступают звонки. С другой стороны, в режиме симуляции Caller ID модем всегда обязан начинать ответ на второй звонок, что не всегда удобно. В таких случаях желательно обзавестись программой, поддерживающей режим АОНа для стран СНГ, например VentaFax.

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

У некоторых модемов, оснащенных датчиками положения трубки и использования линии, аппаратно реализованный АОН срабатывает при снятии трубки параллельного или подключенного через модем телефона. В то же время на рынке есть устройства с функцией автономного АОНа, то есть позволяющие определять номера звонящих и сохранять их список для дальнейшего просмотра при выключенном компьютере, как, например, ZyXEL Omni 56K Pro.

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

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

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

Содержание

Проблемы реализации

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

Плюс против хеша

Обнаружение голосового режима

Поддержка голосового режима может быть обнаружена на модеме с помощью следующей команды: AT + FCLASS =?

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

Модем, поддерживающий голос, ответит списком номеров с разделителями-запятыми, который включает число 8. Модем, не поддерживающий голос, ответит ОШИБКОЙ или списком номеров, не включая 8. (Многие модемы сообщают 0,1,2 указывает на поддержку данных (0) и факсов классов 1 и 2 - это означает, что голосовая поддержка отсутствует.)

Запрос возможностей модема

  • Запись / воспроизведение
  • Телефонная трубка
  • Гнездо для громкой связи (которое может быть просто подключено к аудиовходу на звуковой карте ПК вместо дискретного разъема)
  • Гнездо для микрофона (доступно на некоторых голосовых модемах)

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

Пример ответа на AT + VLS =? из модема на рынке в 2006 г .:

Хотя все модемы разные, обычно режим 0 означает положенную трубку (повешение), а режима 1 достаточно, чтобы снять трубку, записать / воспроизвести звук и обнаружить DTMF ( тональные сигналы).

Пример ответа на AT + VSM =? из модема на рынке в 2006 г .:

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

Отвечая на звонки

Передача аудиоданных

Когда модем хочет, чтобы компьютер временно приостановил воспроизведение, чтобы воспроизведение могло наверстать упущенное, он временно снижает уровень сигнала CTS (Clear to Send) на последовательном порту RS-232. Модем повторно подает сигнал вовремя, чтобы компьютер возобновил отправку аудиоданных до того, как буфер воспроизведения станет полностью пустым.

Когда компьютер хочет сигнализировать об окончании аудиоданных, большинство модемов ожидают увидеть символ ASCII DLE (0x10), за которым следует! персонаж.

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

Большинство модемов также принимают последовательность DLE + CAN (отмена) в качестве сигнала для отмены воспроизведения звука. Различие в том, что модем должен понимать, что он должен немедленно прекратить воспроизведение, а не позволить оставшимся данным в буфере воспроизведения работать до завершения.

Когда модем завершает воспроизведение, он отвечает ОК .

Регулировка воспроизведения

Есть несколько способов, чтобы компьютер отправлял аудиоданные на модем с такой скоростью, чтобы не отставать от воспроизведения без переполнения аудиобуфера.

Самый простой - использовать управление потоком CTS. Существуют следующие предостережения.

Пустая начинка DLE вряд ли будет работать с "Winmodems", у которых нет физического UART. Это имеет смысл только с внешними последовательными модемами, которые физически синхронизируются с определенной скоростью передачи с помощью тактового генератора за внешним последовательным портом.

Запись аудиоданных

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

  • Обнаружены нажатия клавиш с тональным набором
  • Обнаружена тишина
  • Обнаружено изменение полярности линии (часто означает, что вызывающий абонент повесил трубку)
  • Обнаружен тональный сигнал ответа станции
  • Обнаружен тональный сигнал факса

Завершение голосового вызова

Читайте также: