1$Id: README.audio,v 1.1.1.1 2008/10/15 03:25:56 james26_jang Exp $
2
3ISDN subsystem for Linux.
4  Description of audio mode.
5
6When enabled during kernel configuration, the tty emulator of the ISDN
7subsystem is capable of a reduced set of commands to support audio.
8This document describes the commands supported and the format of
9audio data.
10
11Commands 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
23Commands supported in audio mode:
24
25All 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
32where xx is a two-character code and v are alphanumerical parameters.
33The 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.
84General 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
139