blob: a7807e8a94f19e721dfc5c80e3c5678e92f47dcc [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* $Id: l3dss1.h,v 1.10.6.2 2001/09/23 22:24:50 kai Exp $
2 *
3 * DSS1 (Euro) D-channel protocol defines
4 *
5 * This software may be used and distributed according to the terms
6 * of the GNU General Public License, incorporated herein by reference.
7 *
8 */
9
10#ifndef l3dss1_process
11
12#define T302 15000
13#define T303 4000
14#define T304 30000
15#define T305 30000
16#define T308 4000
17/* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
18/* This makes some tests easier and quicker */
19#define T309 40000
20#define T310 30000
21#define T313 4000
22#define T318 4000
23#define T319 4000
24
25/*
26 * Message-Types
27 */
28
29#define MT_ALERTING 0x01
30#define MT_CALL_PROCEEDING 0x02
31#define MT_CONNECT 0x07
32#define MT_CONNECT_ACKNOWLEDGE 0x0f
33#define MT_PROGRESS 0x03
34#define MT_SETUP 0x05
35#define MT_SETUP_ACKNOWLEDGE 0x0d
36#define MT_RESUME 0x26
37#define MT_RESUME_ACKNOWLEDGE 0x2e
38#define MT_RESUME_REJECT 0x22
39#define MT_SUSPEND 0x25
40#define MT_SUSPEND_ACKNOWLEDGE 0x2d
41#define MT_SUSPEND_REJECT 0x21
42#define MT_USER_INFORMATION 0x20
43#define MT_DISCONNECT 0x45
44#define MT_RELEASE 0x4d
45#define MT_RELEASE_COMPLETE 0x5a
46#define MT_RESTART 0x46
47#define MT_RESTART_ACKNOWLEDGE 0x4e
48#define MT_SEGMENT 0x60
49#define MT_CONGESTION_CONTROL 0x79
50#define MT_INFORMATION 0x7b
51#define MT_FACILITY 0x62
52#define MT_NOTIFY 0x6e
53#define MT_STATUS 0x7d
54#define MT_STATUS_ENQUIRY 0x75
55
56#define IE_SEGMENT 0x00
57#define IE_BEARER 0x04
58#define IE_CAUSE 0x08
59#define IE_CALL_ID 0x10
60#define IE_CALL_STATE 0x14
61#define IE_CHANNEL_ID 0x18
62#define IE_FACILITY 0x1c
63#define IE_PROGRESS 0x1e
64#define IE_NET_FAC 0x20
65#define IE_NOTIFY 0x27
66#define IE_DISPLAY 0x28
67#define IE_DATE 0x29
68#define IE_KEYPAD 0x2c
69#define IE_SIGNAL 0x34
70#define IE_INFORATE 0x40
71#define IE_E2E_TDELAY 0x42
72#define IE_TDELAY_SEL 0x43
73#define IE_PACK_BINPARA 0x44
74#define IE_PACK_WINSIZE 0x45
75#define IE_PACK_SIZE 0x46
76#define IE_CUG 0x47
77#define IE_REV_CHARGE 0x4a
78#define IE_CONNECT_PN 0x4c
79#define IE_CONNECT_SUB 0x4d
80#define IE_CALLING_PN 0x6c
81#define IE_CALLING_SUB 0x6d
82#define IE_CALLED_PN 0x70
83#define IE_CALLED_SUB 0x71
84#define IE_REDIR_NR 0x74
85#define IE_TRANS_SEL 0x78
86#define IE_RESTART_IND 0x79
87#define IE_LLC 0x7c
88#define IE_HLC 0x7d
89#define IE_USER_USER 0x7e
90#define IE_ESCAPE 0x7f
91#define IE_SHIFT 0x90
92#define IE_MORE_DATA 0xa0
93#define IE_COMPLETE 0xa1
94#define IE_CONGESTION 0xb0
95#define IE_REPEAT 0xd0
96
97#define IE_MANDATORY 0x0100
98/* mandatory not in every case */
99#define IE_MANDATORY_1 0x0200
100
101#define ERR_IE_COMPREHENSION 1
102#define ERR_IE_UNRECOGNIZED -1
103#define ERR_IE_LENGTH -2
104#define ERR_IE_SEQUENCE -3
105
106#else /* only l3dss1_process */
107
108/* l3dss1 specific data in l3 process */
109typedef struct
Joe Perches475be4d2012-02-19 19:52:38 -0800110{ unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
111 ulong ll_id; /* remebered ll id */
112 u8 remote_operation; /* handled remote operation, 0 = not active */
113 int proc; /* rememered procedure */
114 ulong remote_result; /* result of remote operation for statcallb */
115 char uus1_data[35]; /* data send during alerting or disconnect */
116} dss1_proc_priv;
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117
118/* l3dss1 specific data in protocol stack */
119typedef struct
Joe Perches475be4d2012-02-19 19:52:38 -0800120{ unsigned char last_invoke_id; /* last used value for invoking */
121 unsigned char invoke_used[32]; /* 256 bits for 256 values */
122} dss1_stk_priv;
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123
124#endif /* only l3dss1_process */