1 /* $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 */
109 typedef struct
110 { 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;
117 
118 /* l3dss1 specific data in protocol stack */
119 typedef struct
120 { 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;
123 
124 #endif /* only l3dss1_process */
125