1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
/*
*
Copyright (c) Eicon Networks, 2002.
*
This source file is supplied for the use with
Eicon Networks range of DIVA Server Adapters.
*
Eicon File Revision : 2.1
*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
*
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
*
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __EICON_MDM_MSG_H__
#define __EICON_MDM_MSG_H__
#define DSP_UDATA_INDICATION_DCD_OFF 0x01
#define DSP_UDATA_INDICATION_DCD_ON 0x02
#define DSP_UDATA_INDICATION_CTS_OFF 0x03
#define DSP_UDATA_INDICATION_CTS_ON 0x04
/* =====================================================================
DCD_OFF Message:
<word> time of DCD off (sampled from counter at 8kHz)
DCD_ON Message:
<word> time of DCD on (sampled from counter at 8kHz)
<byte> connected norm
<word> connected options
<dword> connected speed (bit/s, max of tx and rx speed)
<word> roundtrip delay (ms)
<dword> connected speed tx (bit/s)
<dword> connected speed rx (bit/s)
Size of this message == 19 bytes, but we will receive only 11
===================================================================== */
#define DSP_CONNECTED_NORM_UNSPECIFIED 0
#define DSP_CONNECTED_NORM_V21 1
#define DSP_CONNECTED_NORM_V23 2
#define DSP_CONNECTED_NORM_V22 3
#define DSP_CONNECTED_NORM_V22_BIS 4
#define DSP_CONNECTED_NORM_V32_BIS 5
#define DSP_CONNECTED_NORM_V34 6
#define DSP_CONNECTED_NORM_V8 7
#define DSP_CONNECTED_NORM_BELL_212A 8
#define DSP_CONNECTED_NORM_BELL_103 9
#define DSP_CONNECTED_NORM_V29_LEASED_LINE 10
#define DSP_CONNECTED_NORM_V33_LEASED_LINE 11
#define DSP_CONNECTED_NORM_V90 12
#define DSP_CONNECTED_NORM_V21_CH2 13
#define DSP_CONNECTED_NORM_V27_TER 14
#define DSP_CONNECTED_NORM_V29 15
#define DSP_CONNECTED_NORM_V33 16
#define DSP_CONNECTED_NORM_V17 17
#define DSP_CONNECTED_NORM_V32 18
#define DSP_CONNECTED_NORM_K56_FLEX 19
#define DSP_CONNECTED_NORM_X2 20
#define DSP_CONNECTED_NORM_V18 21
#define DSP_CONNECTED_NORM_V18_LOW_HIGH 22
#define DSP_CONNECTED_NORM_V18_HIGH_LOW 23
#define DSP_CONNECTED_NORM_V21_LOW_HIGH 24
#define DSP_CONNECTED_NORM_V21_HIGH_LOW 25
#define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 26
#define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 27
#define DSP_CONNECTED_NORM_V23_75_1200 28
#define DSP_CONNECTED_NORM_V23_1200_75 29
#define DSP_CONNECTED_NORM_EDT_110 30
#define DSP_CONNECTED_NORM_BAUDOT_45 31
#define DSP_CONNECTED_NORM_BAUDOT_47 32
#define DSP_CONNECTED_NORM_BAUDOT_50 33
#define DSP_CONNECTED_NORM_DTMF 34
#define DSP_CONNECTED_NORM_V18_RESERVED_13 35
#define DSP_CONNECTED_NORM_V18_RESERVED_14 36
#define DSP_CONNECTED_NORM_V18_RESERVED_15 37
#define DSP_CONNECTED_NORM_VOWN 38
#define DSP_CONNECTED_NORM_V23_OFF_HOOK 39
#define DSP_CONNECTED_NORM_V23_ON_HOOK 40
#define DSP_CONNECTED_NORM_VOWN_RESERVED_3 41
#define DSP_CONNECTED_NORM_VOWN_RESERVED_4 42
#define DSP_CONNECTED_NORM_VOWN_RESERVED_5 43
#define DSP_CONNECTED_NORM_VOWN_RESERVED_6 44
#define DSP_CONNECTED_NORM_VOWN_RESERVED_7 45
#define DSP_CONNECTED_NORM_VOWN_RESERVED_8 46
#define DSP_CONNECTED_NORM_VOWN_RESERVED_9 47
#define DSP_CONNECTED_NORM_VOWN_RESERVED_10 48
#define DSP_CONNECTED_NORM_VOWN_RESERVED_11 49
#define DSP_CONNECTED_NORM_VOWN_RESERVED_12 50
#define DSP_CONNECTED_NORM_VOWN_RESERVED_13 51
#define DSP_CONNECTED_NORM_VOWN_RESERVED_14 52
#define DSP_CONNECTED_NORM_VOWN_RESERVED_15 53
#define DSP_CONNECTED_NORM_VOWN_RESERVED_16 54
#define DSP_CONNECTED_NORM_VOWN_RESERVED_17 55
#define DSP_CONNECTED_NORM_VOWN_RESERVED_18 56
#define DSP_CONNECTED_NORM_VOWN_RESERVED_19 57
#define DSP_CONNECTED_NORM_VOWN_RESERVED_20 58
#define DSP_CONNECTED_NORM_VOWN_RESERVED_21 59
#define DSP_CONNECTED_NORM_VOWN_RESERVED_22 60
#define DSP_CONNECTED_NORM_VOWN_RESERVED_23 61
#define DSP_CONNECTED_NORM_VOWN_RESERVED_24 62
#define DSP_CONNECTED_NORM_VOWN_RESERVED_25 63
#define DSP_CONNECTED_NORM_VOWN_RESERVED_26 64
#define DSP_CONNECTED_NORM_VOWN_RESERVED_27 65
#define DSP_CONNECTED_NORM_VOWN_RESERVED_28 66
#define DSP_CONNECTED_NORM_VOWN_RESERVED_29 67
#define DSP_CONNECTED_NORM_VOWN_RESERVED_30 68
#define DSP_CONNECTED_NORM_VOWN_RESERVED_31 69
#define DSP_CONNECTED_OPTION_TRELLIS 0x0001
#define DSP_CONNECTED_OPTION_V42_TRANS 0x0002
#define DSP_CONNECTED_OPTION_V42_LAPM 0x0004
#define DSP_CONNECTED_OPTION_SHORT_TRAIN 0x0008
#define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 0x0010
#define DSP_CONNECTED_OPTION_V42BIS 0x0020
#define DSP_CONNECTED_OPTION_MNP2 0x0040
#define DSP_CONNECTED_OPTION_MNP3 0x0080
#define DSP_CONNECTED_OPTION_MNP4 0x00c0
#define DSP_CONNECTED_OPTION_MNP5 0x0100
#define DSP_CONNECTED_OPTION_MNP10 0x0200
#define DSP_CONNECTED_OPTION_MASK_V42 0x0024
#define DSP_CONNECTED_OPTION_MASK_MNP 0x03c0
#define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT 0x03e4
#define DSP_CONNECTED_OPTION_MASK_COMPRESSION 0x0320
#define DSP_UDATA_INDICATION_DISCONNECT 5
/*
returns:
<byte> cause
*/
/* ==========================================================
DLC: B2 modem configuration
========================================================== */
/*
Fields in assign DLC information element for modem protocol V.42/MNP:
<byte> length of information element
<word> information field length
<byte> address A (not used, default 3)
<byte> address B (not used, default 1)
<byte> modulo mode (not used, default 7)
<byte> window size (not used, default 7)
<word> XID length (not used, default 0)
... XID information (not used, default empty)
<byte> modem protocol negotiation options
<byte> modem protocol options
<byte> modem protocol break configuration
<byte> modem protocol application options
*/
#define DLC_MODEMPROT_DISABLE_V42_V42BIS 0x01
#define DLC_MODEMPROT_DISABLE_MNP_MNP5 0x02
#define DLC_MODEMPROT_REQUIRE_PROTOCOL 0x04
#define DLC_MODEMPROT_DISABLE_V42_DETECT 0x08
#define DLC_MODEMPROT_DISABLE_COMPRESSION 0x10
#define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_1200 0x01
#define DLC_MODEMPROT_BUFFER_IN_V42_DETECT 0x02
#define DLC_MODEMPROT_DISABLE_V42_SREJ 0x04
#define DLC_MODEMPROT_DISABLE_MNP3 0x08
#define DLC_MODEMPROT_DISABLE_MNP4 0x10
#define DLC_MODEMPROT_DISABLE_MNP10 0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS 0x40
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS 0x80
#define DLC_MODEMPROT_BREAK_DISABLED 0x00
#define DLC_MODEMPROT_BREAK_NORMAL 0x01
#define DLC_MODEMPROT_BREAK_EXPEDITED 0x02
#define DLC_MODEMPROT_BREAK_DESTRUCTIVE 0x03
#define DLC_MODEMPROT_BREAK_CONFIG_MASK 0x03
#define DLC_MODEMPROT_APPL_EARLY_CONNECT 0x01
#define DLC_MODEMPROT_APPL_PASS_INDICATIONS 0x02
/* ==========================================================
CAI parameters used for the modem L1 configuration
========================================================== */
/*
Fields in assign CAI information element:
<byte> length of information element
<byte> info field and B-channel hardware
<byte> rate adaptation bit rate
<byte> async framing parameters
<byte> reserved
<word> packet length
<byte> modem line taking options
<byte> modem modulation negotiation parameters
<byte> modem modulation options
<byte> modem disabled modulations mask low
<byte> modem disabled modulations mask high
<byte> modem enabled modulations mask
<word> modem min TX speed
<word> modem max TX speed
<word> modem min RX speed
<word> modem max RX speed
<byte> modem disabled symbol rates mask
<byte> modem info options mask
<byte> modem transmit level adjust
<byte> modem speaker parameters
<word> modem private debug config
<struct> modem reserved
<struct> v18 config parameters
<struct> v18 probing sequence
<struct> v18 probing message
*/
#define DSP_CAI_HARDWARE_HDLC_64K 0x05
#define DSP_CAI_HARDWARE_HDLC_56K 0x08
#define DSP_CAI_HARDWARE_TRANSP 0x09
#define DSP_CAI_HARDWARE_V110_SYNC 0x0c
#define DSP_CAI_HARDWARE_V110_ASYNC 0x0d
#define DSP_CAI_HARDWARE_HDLC_128K 0x0f
#define DSP_CAI_HARDWARE_FAX 0x10
#define DSP_CAI_HARDWARE_MODEM_ASYNC 0x11
#define DSP_CAI_HARDWARE_MODEM_SYNC 0x12
#define DSP_CAI_HARDWARE_V110_HDLCA 0x13
#define DSP_CAI_HARDWARE_ADVANCED_VOICE 0x14
#define DSP_CAI_HARDWARE_TRANSP_DTMF 0x16
#define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN 0x17
#define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL 0x18
#define DSP_CAI_HARDWARE_MASK 0x3f
#define DSP_CAI_ENABLE_INFO_INDICATIONS 0x80
#define DSP_CAI_RATE_ADAPTATION_300 0x00
#define DSP_CAI_RATE_ADAPTATION_600 0x01
#define DSP_CAI_RATE_ADAPTATION_1200 0x02
#define DSP_CAI_RATE_ADAPTATION_2400 0x03
#define DSP_CAI_RATE_ADAPTATION_4800 0x04
#define DSP_CAI_RATE_ADAPTATION_9600 0x05
#define DSP_CAI_RATE_ADAPTATION_19200 0x06
#define DSP_CAI_RATE_ADAPTATION_38400 0x07
#define DSP_CAI_RATE_ADAPTATION_48000 0x08
#define DSP_CAI_RATE_ADAPTATION_56000 0x09
#define DSP_CAI_RATE_ADAPTATION_7200 0x0a
#define DSP_CAI_RATE_ADAPTATION_14400 0x0b
#define DSP_CAI_RATE_ADAPTATION_28800 0x0c
#define DSP_CAI_RATE_ADAPTATION_12000 0x0d
#define DSP_CAI_RATE_ADAPTATION_1200_75 0x0e
#define DSP_CAI_RATE_ADAPTATION_75_1200 0x0f
#define DSP_CAI_RATE_ADAPTATION_MASK 0x0f
#define DSP_CAI_ASYNC_PARITY_ENABLE 0x01
#define DSP_CAI_ASYNC_PARITY_SPACE 0x00
#define DSP_CAI_ASYNC_PARITY_ODD 0x02
#define DSP_CAI_ASYNC_PARITY_EVEN 0x04
#define DSP_CAI_ASYNC_PARITY_MARK 0x06
#define DSP_CAI_ASYNC_PARITY_MASK 0x06
#define DSP_CAI_ASYNC_ONE_STOP_BIT 0x00
#define DSP_CAI_ASYNC_TWO_STOP_BITS 0x20
#define DSP_CAI_ASYNC_CHAR_LENGTH_8 0x00
#define DSP_CAI_ASYNC_CHAR_LENGTH_7 0x40
#define DSP_CAI_ASYNC_CHAR_LENGTH_6 0x80
#define DSP_CAI_ASYNC_CHAR_LENGTH_5 0xc0
#define DSP_CAI_ASYNC_CHAR_LENGTH_MASK 0xc0
#define DSP_CAI_MODEM_LEASED_LINE_MODE 0x01
#define DSP_CAI_MODEM_4_WIRE_OPERATION 0x02
#define DSP_CAI_MODEM_DISABLE_BUSY_DETECT 0x04
#define DSP_CAI_MODEM_DISABLE_CALLING_TONE 0x08
#define DSP_CAI_MODEM_DISABLE_ANSWER_TONE 0x10
#define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 0x20
#define DSP_CAI_MODEM_USE_POTS_INTERFACE 0x40
#define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 0x80
#define DSP_CAI_MODEM_NEGOTIATE_HIGHEST 0x00
#define DSP_CAI_MODEM_NEGOTIATE_DISABLED 0x01
#define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS 0x02
#define DSP_CAI_MODEM_NEGOTIATE_V100 0x03
#define DSP_CAI_MODEM_NEGOTIATE_V8 0x04
#define DSP_CAI_MODEM_NEGOTIATE_V8BIS 0x05
#define DSP_CAI_MODEM_NEGOTIATE_MASK 0x07
#define DSP_CAI_MODEM_GUARD_TONE_NONE 0x00
#define DSP_CAI_MODEM_GUARD_TONE_550HZ 0x40
#define DSP_CAI_MODEM_GUARD_TONE_1800HZ 0x80
#define DSP_CAI_MODEM_GUARD_TONE_MASK 0xc0
#define DSP_CAI_MODEM_DISABLE_RETRAIN 0x01
#define DSP_CAI_MODEM_DISABLE_STEPUPDOWN 0x02
#define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED 0x04
#define DSP_CAI_MODEM_DISABLE_TRELLIS 0x08
#define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP 0x10
#define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER 0x40
#define DSP_CAI_MODEM_REVERSE_DIRECTION 0x80
#define DSP_CAI_MODEM_DISABLE_V21 0x01
#define DSP_CAI_MODEM_DISABLE_V23 0x02
#define DSP_CAI_MODEM_DISABLE_V22 0x04
#define DSP_CAI_MODEM_DISABLE_V22BIS 0x08
#define DSP_CAI_MODEM_DISABLE_V32 0x10
#define DSP_CAI_MODEM_DISABLE_V32BIS 0x20
#define DSP_CAI_MODEM_DISABLE_V34 0x40
#define DSP_CAI_MODEM_DISABLE_V90 0x80
#define DSP_CAI_MODEM_DISABLE_BELL103 0x01
#define DSP_CAI_MODEM_DISABLE_BELL212A 0x02
#define DSP_CAI_MODEM_DISABLE_VFC 0x04
#define DSP_CAI_MODEM_DISABLE_K56FLEX 0x08
#define DSP_CAI_MODEM_DISABLE_X2 0x10
#define DSP_CAI_MODEM_ENABLE_V29FDX 0x01
#define DSP_CAI_MODEM_ENABLE_V33 0x02
#define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 0x01
#define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 0x02
#define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 0x04
#define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 0x08
#define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 0x10
#define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 0x20
#define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 0x01
#define DSP_CAI_MODEM_DISABLE_PRECODING 0x02
#define DSP_CAI_MODEM_DISABLE_PREEMPHASIS 0x04
#define DSP_CAI_MODEM_DISABLE_SHAPING 0x08
#define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 0x10
#define DSP_CAI_MODEM_SPEAKER_OFF 0x00
#define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 0x01
#define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT 0x02
#define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON 0x03
#define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 0x03
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN 0x00
#define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW 0x04
#define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH 0x08
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX 0x0c
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK 0x0c
/* ==========================================================
DCD/CTS State
========================================================== */
#define MDM_WANT_CONNECT_B3_ACTIVE_I 0x01
#define MDM_NCPI_VALID 0x02
#define MDM_NCPI_CTS_ON_RECEIVED 0x04
#define MDM_NCPI_DCD_ON_RECEIVED 0x08
/* ==========================================================
CAPI NCPI Constants
========================================================== */
#define MDM_NCPI_ECM_V42 0x0001
#define MDM_NCPI_ECM_MNP 0x0002
#define MDM_NCPI_TRANSPARENT 0x0004
#define MDM_NCPI_COMPRESSED 0x0010
/* ==========================================================
CAPI B2 Config Constants
========================================================== */
#define MDM_B2_DISABLE_V42bis 0x0001
#define MDM_B2_DISABLE_MNP 0x0002
#define MDM_B2_DISABLE_TRANS 0x0004
#define MDM_B2_DISABLE_V42 0x0008
#define MDM_B2_DISABLE_COMP 0x0010
/* ==========================================================
CAPI B1 Config Constants
========================================================== */
#define MDM_CAPI_DISABLE_RETRAIN 0x0001
#define MDM_CAPI_DISABLE_RING_TONE 0x0002
#define MDM_CAPI_GUARD_1800 0x0004
#define MDM_CAPI_GUARD_550 0x0008
#define MDM_CAPI_NEG_V8 0x0003
#define MDM_CAPI_NEG_V100 0x0002
#define MDM_CAPI_NEG_MOD_CLASS 0x0001
#define MDM_CAPI_NEG_DISABLED 0x0000
#endif
|