Голосовые команды модемов USR Sportster
Данная документация составлена на основе описания системы команд модемов USR Sportster by
Vasily Mishenin. Эта информация вряд ли полезна для рядового пользователя и может представлять
интерес лишь для программистов, собирающихся использовать голосовые функции модема в своих программах.
- Ввод команд должен начинаться с префикса AT и заканчиваться нажатием клавиши Enter
- Для модемов Sportster Voice 14400 символ # в командах следует заменить на +
- Настройки голосового режима нельзя сохранить в памяти (NVRAM) модема, поэтому они действуют только до
инициализации модема или выхода из голосового режима
- Все voice-команды рекомендуется посылать в модем при установленом режиме #CLS=8, хотя многие из них
могут работать и в других режимах (данные, факс).
Жирным шрифтом выделены опции выбираемые по умолчанию, т.е. после инициализации модема
Набор voice-команд модемов U.S. Robotics Sportster
| #MDL? | Определение модели (Identify Model)
Выводит номер модели или название модема
Доступна в любом режиме работы модема (факс, данные, голос)
| #MFR? | Определение изготовителя (Identify Manufacturer)
Выводит информацию об изготовителе модема
Доступна в любом режиме работы модема (факс, данные, голос)
| #REV? | Определение уровня ревизии (Identify Revision Level)
Выводит ревизию модема. Ответ на эту команду - номер и дата ревизии модема
Доступна в любом режиме работы модема (факс, данные, голос)
| #VBQ? | Определение размера буферов приема/передачи
Выводит paзмep буфepoв для передачи и приема гoлocoвыx дaнныx
Доступна в любом режиме работы модема (факс, данные, голос)
| #VCI? | Поддерживаемые методы сжатия голосовых данных (Identify Compression Method)
Результат выводится в форме "<Автор;метод;бит/сек>"
Команда доступна только в режиме #CLS=8
| #CLS | Устанавливает режим данных, факса, или голосовой режим.
| #CLS?
| Возвращает текущую установку команды #CLS
| #CLS=?
| Возвращает допустимые режимы работы модема
| #CLS=0
| Режим передачи данных
| #CLS=1
| Факс Class 1. (аналогично команде +FCLASS=1)
| #CLS=2
| Факс Class 2. (аналогично команде +FCLASS=2.0)
| #CLS=8
| Голосовой режим. Модем переходит в голосовой командный режим.
| | #VLS | Используется для выбора устройств ввода/вывода
(т.е. через которые голосовые данные направляются в модем и из него с помощью команд записи и воспроизведения)
| #VLS?
| Возвращает текущую установку команды #VLS
| #VLS=?
Возвращает допустимые коды устройств ввода/вывода
| #VLS=0
Выбирается телефонная линия в качестве устройства ввода/вывода
Модем возвращает OK и разрывает соединение, если оно было ранее установлено
#VLS=1
Выбирает подключенный в гнездо "PHONE" телефонный аппарат
Модем возвращает VCON и переходит в голосовой командный режим
#VLS=2
Выбирает встроенный в модем динамик в качествве устройства вывода. Устройство ввода при этом не определено.
Модем возвращает VCON и переходит в голосовой командный режим, команды ввода данных
при этом игнорируются. На модемах имеющих возможность подключения внешнего микрофона и динамика (TAD) выбирается
внешний динамик
#VLS=3
Выбирает встроенный в модем микрофон в качестве устройства ввода. Устройство вывода не опредлено.
Модем возвращает VCON и переходит в голосовой командный режим, команды вывода
данных при этом игнорируются. На модемах имеющих возможность подключения внешнего микрофона и динамика (TAD)
выбирается внешний микрофон
#VLS=4
Эта команда - тоже, что и #VLS=0, за исключением того, что модем подключает внутренний динамик также
как и телефонную линию/телефонный аппарат
Модем возвращает OK
#VLS=6
Режим SpeakerPhone. Выбирается телефонная линия
Модем возвращает OK. Команда доступна только в модемах имеющих опцию SpeakerPhone.
громкость регулируется регистром s31 (не на всех моделях)
Команды #VLS=n работают только в режиме #CLS=8, попытка использовать их в другом режиме приведет
к сообщению ERROR.
| #BDR | Выбор скорости порта
Эта команда выбирает скорость передачи данных между модемом и DTE без изменения скорости последовательного порта.
Если модем находится в голосовом командном режиме и #BDR установлено в значение отличное от нуля, модем поддерживает
полнодуплексный DTE интерфейс, т.е. команды в модем можно посылать во время, когда модем возвращает какие-либо данные
Доступна в любом режиме работы модема (факс, данные, голос)
#BDR?
| Возвращает текущую установку команды #BDR
| #BDR=?
| Возвращает допустимые значения скорости порта
| #BDR=0
| Включает автоматический выбор скорости интерфейса DTE.
| #BDR=n
Установить скорость порта n*2400 бит/сек (n = 1-48)
Возвращает OK, если n находится в допустимом диапазоне (см. #BDR=?), при этом
сообщение OK выводится на старой скорости.
Если #BDR было установлено отличным от нуля, модем использует регистр
S30 (Deadman Timer). Этот таймер включается
после того, как #BDR устанавливается в значение, отличное от нуля. Если это время истекает и на интерфейс DTE не было
никакого воздействия, то модем переходит к установкам #BDR=0 и #CLS=0
| #VBS | Количество бит на выборку (Bits Per Sample)
Используется только для данных в формате ADPCM, для формата GSM не имеет смысла
#VBS?
| Возвращает текущее число бит на выборку
| #VBS=?
| Возвращает допустимые значения
| #VBS=n
Устанавливает количество бит на выборку равное n По умолчанию 4
Возвращает OK, если n находится в допустимом диапазоне (см. #VBS=?).
Команды #VBS=n работают только в режиме #CLS=8, попытка использовать их в другом режиме приведет
к сообщению ERROR.
| #VSM | Устанавливает метод сжатия голосовых данных
Формат команды - #VSM=cml,vsr
cml - Этот параметр используется для выбора метода сжатия (числовая константа). См. #VSM=?.
vsr - Этот параметр указывает частоту дискретизации голосовых данных из числа тех, которые перечисленны
в ответе на команду #VSM=?. Перекрывает значение, указанное в команде #VSR.
#VSM?
| Возвращает текущий метод сжатия и частоту дискретизации.
| #VSM=?
Выводит допустимые методы сжатия и частоты дискретизации
Ответ на эту команду имеет формат ,,
- числовой код метода сжатия
- строка, описывающая метод сжатия
- число выборок в секунду
at#vsm=?
128,GSM/USR,8000
129,G.721 ADPCM/USR,8000
130,IMA ADPCM/USR,8000
Команды #VSM работают только в режиме #CLS=8
| #VSR | Выбор частоты дискретизации (Sampling Rate Selection)
Частота дискретизации указывается в Гц
Доступна в любом режиме работы модема (факс, данные, голос)
#VSR?
| Возвращает текущее значение частоты дискретизации
| #VSR=?
Возвращает допустимые значения частоты дискретизации По умолчанию 8000
На сегодняшний день модемы USR Sportster поддерживают самплинг только 8 кГц.
#VSR=n
Установить частоту дискретизации n (в герцах)
Возвращает OK если значение частоты допустимое, ERROR в противном случае
| #VGR | Уровень принимаемого сигнала (Voice Receive Gain), устанавливает
уровень громкости динамика в режиме SpeakerPhone.
| #VGR?
| Возвращает текущий уровень громкости
| #VGR=?
| Возвращает диапазон допустимых уровней громкости
| #VGR=n
Установить уровень громкости n (0-255 см. #VGR=?) По умолчанию 128
|
Команды #VGR работают только в режиме #CLS=8
| #VGT | Уровень передаваемого сигнала (Voice Transmit Gain),
устанавливает чувствительность микрофона в режиме SpeakerPhone.
| #VGT?
| Возвращает текущий уровень чувствительности микрофона
| #VGT=?
| Возвращает диапазон допустимых значений чувствительности микрофона
| #VGT=n
Установить чувствительность микрофона равной n (0-255 см. #VGT=?) По умолчанию 128
|
Команды #VGT работают только в режиме #CLS=8
| #VRA | Время отсутствия сигнала контроля вызова
(Ringback Goes Away Timer)
Используется на исходящем звонке. Задает максимальный промежуток времени между длинными
гудками (контроль вызова АТС). Если модем в течении этого времени не обнаружил следующего гудка, то он считает, что
на удаленной стороне подняли трубку и выдает ответ VCON (голосовой командный режим)
#VRA?
| Возвращает текущее значение (в десятых долях секунды)
| #VRA=?
| Возвращает допустимый диапазон значений
| #VRA=0
| Таймер выключен. В этом случае после набора номера, как только на удаленной стороне появится первый длинный
гудок, модем выдает VCON и переходит в голосовой командный режим
| #VRA=n
Устанавливает время отсутствия сигнала вызова АТС равным n (0-255, в десятых долях секунды) По умолчанию 70
|
Команды #VRA работают только в режиме #CLS=8
| #VRN | Время до появления первого сигнала контроля вызова
(Ringback Never Came Timer)
Используется на исходящем звонке. Если модем в течении этого времени не обнаружил
первого гудка сигнала контроля вызова АТС, то он считает, что
на удаленной стороне подняли трубку и выдает ответ VCON (голосовой командный режим)
#VRN?
| Возвращает текущее значение (в десятых долях секунды)
| #VRN=?
| Возвращает допустимый диапазон значений
| #VRN=0
| Таймер выключен. В этом случае сразу после набора номера модем выдает VCON и
переходит в голосовой командный режим
| #VRN=n
Устанавливает максимальное время отсутствия первого сигнала вызова АТС равным n (0-255, в десятых долях секунды)
По умолчанию 100
|
Команды #VRN работают только в режиме #CLS=8
| #VSD | Контролирует удаление периодов тишины во время приема
голосовых данных (Enable Silence Deletion)
Эта команда используется, чтобы включить или отключить пропуск периодов тишины в режиме
приема голосовых данных. Если эта опция включена, и модем определит, что на устройстве ввода тишина, то поток
голосовых данных из модема прекратится до тех пор, пока модем не решит, что период тишины окончился
Доступна в любом режиме работы модема (факс, данные, голос)
#VSD?
| Возвращает текущее значение #VSD
| #VSD=?
| Возвращает допустимые значения (0,1)
| #VSD=0
| Отключает пропуск периодов тишины
| #VSD=1
| Включает пропуск периодов тишины, если установка чувствительности #VSS ненулевая. Уровень определения
периода тишины устанавливается командой #VSS.
| | #VSP | Период обнаружения тишины во время приема голосовых данных
(Silence Detection Period)
- Когда включен режим удаления периодов тишины, установка #VSP в действительности является таймером бездействия.
Модем сбрасывает этот таймер при получении каждого байта голосовых данных
- Когда режим пропуска периодов тишины выключен, модем определяет то, что составляет тишину. Если величина этого
сигнала меньше порогового значения в течение периода превышающего, время установленное командой #VSP, то модем посылает
q или s в DTE
#VSP?
| Возвращает текущее значение команды #VSP
| #VSP=?
| Возвращает диапазон допустимых значений (0-255)
| #VSP=0
| Выключает таймер обнаружения периода тишины
| #VSP=n
| Устанавливает время n (в десятых долях секунды), если в течении которого с устройства ввода не получены
голосовые данные, то посылается соответствующий префиксный
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |