Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[linux-2.6] / Documentation / isdn / README.audio
1 $Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
2
3 ISDN subsystem for Linux.
4   Description of audio mode.
5
6 When enabled during kernel configuration, the tty emulator of the ISDN
7 subsystem is capable of a reduced set of commands to support audio.
8 This document describes the commands supported and the format of
9 audio data.
10
11 Commands for enabling/disabling audio mode:
12
13         AT+FCLASS=8      Enable audio mode.
14                          This affects the following registers:
15                            S18: Bits 0 and 2 are set.
16                            S16: Set to 48 and any further change to
17                                 larger values is blocked.
18         AT+FCLASS=0      Disable audio mode.
19                          Register 18 is set to 4.
20         AT+FCLASS=?      Show possible modes.
21         AT+FCLASS?       Report current mode (0 or 8).
22
23 Commands supported in audio mode:
24
25 All audio mode commands have one of the following forms:
26
27         AT+Vxx?          Show current setting.
28         AT+Vxx=?         Show possible settings.
29         AT+Vxx=v         Set simple parameter.
30         AT+Vxx=v,v ...   Set complex parameter.
31
32 where xx is a two-character code and v are alphanumerical parameters.
33 The following commands are supported:
34
35         AT+VNH=x         Auto hangup setting. NO EFFECT, supported
36                          for compatibility only.
37         AT+VNH?          Always reporting "1"
38         AT+VNH=?         Always reporting "1"
39
40         AT+VIP           Reset all audio parameters.
41
42         AT+VLS=x         Line select. x is one of the following:
43                            0 = No device.
44                            2 = Phone line.
45         AT+VLS=?         Always reporting "0,2"
46         AT+VLS?          Show current line.
47
48         AT+VRX           Start recording. Emulator responds with
49                          CONNECT and starts sending audio data to
50                          the application. See below for data format
51
52         AT+VSD=x,y       Set silence-detection parameters.
53                          Possible parameters:
54                            x = 0 ... 31  sensitivity threshold level.
55                                          (default 0 , deactivated)
56                            y = 0 ... 255 range of interval in units
57                                          of 0.1 second. (default 70)
58         AT+VSD=?         Report possible parameters.
59         AT+VSD?          Show current parameters.
60
61         AT+VDD=x,y       Set DTMF-detection parameters.
62                          Only possible if online and during this connection.
63                          Possible parameters:
64                            x = 0 ... 15  sensitivity threshold level.
65                                          (default 0 , I4L soft-decode)
66                                          (1-15 soft-decode off, hardware on)
67                            y = 0 ... 255 tone duration in units of 5ms.
68                                          Not for I4L soft decode (default 8, 40ms)
69         AT+VDD=?         Report possible parameters.
70         AT+VDD?          Show current parameters.
71
72         AT+VSM=x         Select audio data format.
73                          Possible parameters:
74                            2 = ADPCM-2
75                            3 = ADPCM-3
76                            4 = ADPCM-4
77                            5 = aLAW
78                            6 = uLAW
79         AT+VSM=?         Show possible audio formats.
80
81         AT+VTX           Start audio playback. Emulator responds
82                          with CONNECT and starts sending audio data
83                          received from the application via phone line.
84 General behavior and description of data formats/protocol.
85     when a connection is made:
86
87       On incoming calls, if the application responds to a RING
88       with ATA, depending on the calling service, the emulator
89       responds with either CONNECT (data call) or VCON (voice call).
90       
91       On outgoing voice calls, the emulator responds with VCON
92       upon connection setup.
93
94   Audio recording.
95
96     When receiving audio data, a kind of bisync protocol is used.
97     Upon AT+VRX command, the emulator responds with CONNECT, and
98     starts sending audio data to the application. There are several
99     escape sequences defined, all using DLE (0x10) as Escape char:
100
101     <DLE><ETX>              End of audio data. (i.e. caused by a
102                             hangup of the remote side) Emulator stops
103                             recording, responding with VCON.
104     <DLE><DC4>              Abort recording, (send by appl.) Emulator
105                             stops recording, sends DLE,ETX.
106     <DLE><DLE>              Escape sequence for DLE in data stream.
107     <DLE>0                  Touchtone "0" received.
108          ...
109     <DLE>9                  Touchtone "9" received.
110     <DLE>#                  Touchtone "#" received.
111     <DLE>*                  Touchtone "*" received.
112     <DLE>A                  Touchtone "A" received.
113     <DLE>B                  Touchtone "B" received.
114     <DLE>C                  Touchtone "C" received.
115     <DLE>D                  Touchtone "D" received.
116
117     <DLE>q                  quiet. Silence detected after non-silence.
118     <DLE>s                  silence. Silence detected from the
119                             start of recording.
120
121     Currently unsupported DLE sequences:
122
123     <DLE>c                  FAX calling tone received.
124     <DLE>b                  busy tone received.
125
126   Audio playback.
127
128     When sending audio data, upon AT+VTX command, emulator responds with
129     CONNECT, and starts transferring data from application to the phone line.
130     The same DLE sequences apply to this mode.
131
132   Full-Duplex-Audio:
133
134     When _both_ commands for recording and playback are given in _one_
135     AT-command-line (i.e.: "AT+VTX+VRX"), full-duplex-mode is selected.
136         In this mode, the only way to stop recording is sending <DLE><DC4>
137     and the only way to stop playback is to send <DLE><ETX>.
138