| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  |