mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 13:22:23 +00:00
139 lines
5.8 KiB
Plaintext
139 lines
5.8 KiB
Plaintext
|
$Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
|
||
|
|
||
|
ISDN subsystem for Linux.
|
||
|
Description of audio mode.
|
||
|
|
||
|
When enabled during kernel configuration, the tty emulator of the ISDN
|
||
|
subsystem is capable of a reduced set of commands to support audio.
|
||
|
This document describes the commands supported and the format of
|
||
|
audio data.
|
||
|
|
||
|
Commands for enabling/disabling audio mode:
|
||
|
|
||
|
AT+FCLASS=8 Enable audio mode.
|
||
|
This affects the following registers:
|
||
|
S18: Bits 0 and 2 are set.
|
||
|
S16: Set to 48 and any further change to
|
||
|
larger values is blocked.
|
||
|
AT+FCLASS=0 Disable audio mode.
|
||
|
Register 18 is set to 4.
|
||
|
AT+FCLASS=? Show possible modes.
|
||
|
AT+FCLASS? Report current mode (0 or 8).
|
||
|
|
||
|
Commands supported in audio mode:
|
||
|
|
||
|
All audio mode commands have one of the following forms:
|
||
|
|
||
|
AT+Vxx? Show current setting.
|
||
|
AT+Vxx=? Show possible settings.
|
||
|
AT+Vxx=v Set simple parameter.
|
||
|
AT+Vxx=v,v ... Set complex parameter.
|
||
|
|
||
|
where xx is a two-character code and v are alphanumerical parameters.
|
||
|
The following commands are supported:
|
||
|
|
||
|
AT+VNH=x Auto hangup setting. NO EFFECT, supported
|
||
|
for compatibility only.
|
||
|
AT+VNH? Always reporting "1"
|
||
|
AT+VNH=? Always reporting "1"
|
||
|
|
||
|
AT+VIP Reset all audio parameters.
|
||
|
|
||
|
AT+VLS=x Line select. x is one of the following:
|
||
|
0 = No device.
|
||
|
2 = Phone line.
|
||
|
AT+VLS=? Always reporting "0,2"
|
||
|
AT+VLS? Show current line.
|
||
|
|
||
|
AT+VRX Start recording. Emulator responds with
|
||
|
CONNECT and starts sending audio data to
|
||
|
the application. See below for data format
|
||
|
|
||
|
AT+VSD=x,y Set silence-detection parameters.
|
||
|
Possible parameters:
|
||
|
x = 0 ... 31 sensitivity threshold level.
|
||
|
(default 0 , deactivated)
|
||
|
y = 0 ... 255 range of interval in units
|
||
|
of 0.1 second. (default 70)
|
||
|
AT+VSD=? Report possible parameters.
|
||
|
AT+VSD? Show current parameters.
|
||
|
|
||
|
AT+VDD=x,y Set DTMF-detection parameters.
|
||
|
Only possible if online and during this connection.
|
||
|
Possible parameters:
|
||
|
x = 0 ... 15 sensitivity threshold level.
|
||
|
(default 0 , I4L soft-decode)
|
||
|
(1-15 soft-decode off, hardware on)
|
||
|
y = 0 ... 255 tone duration in units of 5ms.
|
||
|
Not for I4L soft decode (default 8, 40ms)
|
||
|
AT+VDD=? Report possible parameters.
|
||
|
AT+VDD? Show current parameters.
|
||
|
|
||
|
AT+VSM=x Select audio data format.
|
||
|
Possible parameters:
|
||
|
2 = ADPCM-2
|
||
|
3 = ADPCM-3
|
||
|
4 = ADPCM-4
|
||
|
5 = aLAW
|
||
|
6 = uLAW
|
||
|
AT+VSM=? Show possible audio formats.
|
||
|
|
||
|
AT+VTX Start audio playback. Emulator responds
|
||
|
with CONNECT and starts sending audio data
|
||
|
received from the application via phone line.
|
||
|
General behavior and description of data formats/protocol.
|
||
|
when a connection is made:
|
||
|
|
||
|
On incoming calls, if the application responds to a RING
|
||
|
with ATA, depending on the calling service, the emulator
|
||
|
responds with either CONNECT (data call) or VCON (voice call).
|
||
|
|
||
|
On outgoing voice calls, the emulator responds with VCON
|
||
|
upon connection setup.
|
||
|
|
||
|
Audio recording.
|
||
|
|
||
|
When receiving audio data, a kind of bisync protocol is used.
|
||
|
Upon AT+VRX command, the emulator responds with CONNECT, and
|
||
|
starts sending audio data to the application. There are several
|
||
|
escape sequences defined, all using DLE (0x10) as Escape char:
|
||
|
|
||
|
<DLE><ETX> End of audio data. (i.e. caused by a
|
||
|
hangup of the remote side) Emulator stops
|
||
|
recording, responding with VCON.
|
||
|
<DLE><DC4> Abort recording, (send by appl.) Emulator
|
||
|
stops recording, sends DLE,ETX.
|
||
|
<DLE><DLE> Escape sequence for DLE in data stream.
|
||
|
<DLE>0 Touchtone "0" received.
|
||
|
...
|
||
|
<DLE>9 Touchtone "9" received.
|
||
|
<DLE># Touchtone "#" received.
|
||
|
<DLE>* Touchtone "*" received.
|
||
|
<DLE>A Touchtone "A" received.
|
||
|
<DLE>B Touchtone "B" received.
|
||
|
<DLE>C Touchtone "C" received.
|
||
|
<DLE>D Touchtone "D" received.
|
||
|
|
||
|
<DLE>q quiet. Silence detected after non-silence.
|
||
|
<DLE>s silence. Silence detected from the
|
||
|
start of recording.
|
||
|
|
||
|
Currently unsupported DLE sequences:
|
||
|
|
||
|
<DLE>c FAX calling tone received.
|
||
|
<DLE>b busy tone received.
|
||
|
|
||
|
Audio playback.
|
||
|
|
||
|
When sending audio data, upon AT+VTX command, emulator responds with
|
||
|
CONNECT, and starts transferring data from application to the phone line.
|
||
|
The same DLE sequences apply to this mode.
|
||
|
|
||
|
Full-Duplex-Audio:
|
||
|
|
||
|
When _both_ commands for recording and playback are given in _one_
|
||
|
AT-command-line (i.e.: "AT+VTX+VRX"), full-duplex-mode is selected.
|
||
|
In this mode, the only way to stop recording is sending <DLE><DC4>
|
||
|
and the only way to stop playback is to send <DLE><ETX>.
|
||
|
|