1 /*
2  * Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  *---------------------------------------------------------------------------
26  *
27  *	i4b_q932fac.h - Q932 facility handling header file
28  *	--------------------------------------------------
29  *
30  *	$Id: i4b_q932fac.h,v 1.1 2003/04/06 04:37:51 tg Stab $
31  *
32  * $FreeBSD$
33  *
34  *      last edit-date: [Thu Apr 27 11:07:52 2000]
35  *
36  *---------------------------------------------------------------------------
37  *
38  *	- Q.932 (03/93) Generic Procedures for the Control of
39  *		ISDN Supplementaty Services
40  *	- Q.950 (03/93) Supplementary Services Protocols, Structure and
41  *		General Principles
42  *	- ETS 300 179 (10/92) Advice Of Charge: charging information during
43  *		the call (AOC-D) supplementary service Service description
44  *	- ETS 300 180 (10/92) Advice Of Charge: charging information at the
45  *		end of call (AOC-E) supplementary service Service description
46  *	- ETS 300 181 (04/93) Advice Of Charge (AOC) supplementary service
47  *		Functional capabilities and information flows
48  *	- ETS 300 182 (04/93) Advice Of Charge (AOC) supplementary service
49  *		Digital Subscriber Signalling System No. one (DSS1) protocol
50  *	- X.208 Specification of Abstract Syntax Notation One (ASN.1)
51  *	- X.209 Specification of Basic Encoding Rules for
52  *		Abstract Syntax Notation One (ASN.1)
53  *	- "ASN.1 Abstract Syntax Notation One", Walter Gora, DATACOM-Verlag
54  *		1992, 3rd Edition (ISBN 3-89238-062-7) (german !)
55  *
56  *---------------------------------------------------------------------------*/
57 
58 /* protocols */
59 #define FAC_PROTO_ROP		0x11
60 #define FAC_PROTO_CMIP		0x12
61 #define FAC_PROTO_ACSE		0x13
62 
63 /* tag classes */
64 #define FAC_TAGCLASS_UNI	0x00
65 #define FAC_TAGCLASS_APW	0x01
66 #define FAC_TAGCLASS_COS	0x02
67 #define FAC_TAGCLASS_PRU	0x03
68 
69 /* tag forms */
70 #define FAC_TAGFORM_PRI		0x00
71 #define FAC_TAGFORM_CON		0x01
72 
73 /* class UNIVERSAL values */
74 #define FAC_CODEUNI_BOOL	1
75 #define FAC_CODEUNI_INT		2
76 #define FAC_CODEUNI_BITS	3
77 #define FAC_CODEUNI_OCTS	4
78 #define FAC_CODEUNI_NULL	5
79 #define FAC_CODEUNI_OBJI	6
80 #define FAC_CODEUNI_OBJD	7
81 #define FAC_CODEUNI_EXT		8
82 #define FAC_CODEUNI_REAL	9
83 #define FAC_CODEUNI_ENUM	10
84 #define FAC_CODEUNI_R11		11
85 #define FAC_CODEUNI_R12		12
86 #define FAC_CODEUNI_R13		13
87 #define FAC_CODEUNI_R14		14
88 #define FAC_CODEUNI_R15		15
89 #define FAC_CODEUNI_SEQ		16
90 #define FAC_CODEUNI_SET		17
91 #define FAC_CODEUNI_NSTR	18
92 #define FAC_CODEUNI_PSTR	19
93 #define FAC_CODEUNI_TSTR	20
94 #define FAC_CODEUNI_VSTR	21
95 #define FAC_CODEUNI_ISTR	22
96 #define FAC_CODEUNI_UTIME	23
97 #define FAC_CODEUNI_GTIME	24
98 #define FAC_CODEUNI_GSTR	25
99 #define FAC_CODEUNI_VISTR	26
100 #define FAC_CODEUNI_GNSTR	27
101 
102 /* operation values */
103 #define FAC_OPVAL_UUS		1
104 #define FAC_OPVAL_CUG		2
105 #define FAC_OPVAL_MCID		3
106 #define FAC_OPVAL_BTPY		4
107 #define FAC_OPVAL_ETPY		5
108 #define FAC_OPVAL_ECT		6
109 
110 #define FAC_OPVAL_DIV_ACT	7
111 #define FAC_OPVAL_DIV_DEACT	8
112 #define FAC_OPVAL_DIV_ACTSN	9
113 #define FAC_OPVAL_DIV_DEACTSN	10
114 #define FAC_OPVAL_DIV_INTER	11
115 #define FAC_OPVAL_DIV_INFO	12
116 #define FAC_OPVAL_DIV_CALLDEF	13
117 #define FAC_OPVAL_DIV_CALLRER	14
118 #define FAC_OPVAL_DIV_LINF2	15
119 #define FAC_OPVAL_DIV_INVS	16
120 #define FAC_OPVAL_DIV_INTER1	17
121 #define FAC_OPVAL_DIV_LINF1	18
122 #define FAC_OPVAL_DIV_LINF3	19
123 
124 #define FAC_OPVAL_ER_CRCO	20
125 #define FAC_OPVAL_ER_MGMT	21
126 #define FAC_OPVAL_ER_CANC	22
127 
128 #define FAC_OPVAL_MLPP_QUERY	24
129 #define FAC_OPVAL_MLPP_CALLR	25
130 #define FAC_OPVAL_MLPP_CALLP	26
131 
132 #define FAC_OPVAL_AOC_REQ	30
133 #define FAC_OPVAL_AOC_S_CUR	31
134 #define FAC_OPVAL_AOC_S_SPC	32
135 #define FAC_OPVAL_AOC_D_CUR	33
136 #define FAC_OPVAL_AOC_D_UNIT	34
137 #define FAC_OPVAL_AOC_E_CUR	35
138 #define FAC_OPVAL_AOC_E_UNIT	36
139 #define FAC_OPVAL_AOC_IDOFCRG	37
140 
141 #define FAC_OPVAL_CONF_BEG	40
142 #define FAC_OPVAL_CONF_ADD	41
143 #define FAC_OPVAL_CONF_SPLIT	42
144 #define FAC_OPVAL_CONF_DROP	43
145 #define FAC_OPVAL_CONF_ISOLATE	44
146 #define FAC_OPVAL_CONF_REATT	45
147 #define FAC_OPVAL_CONF_PDISC	46
148 #define FAC_OPVAL_CONF_FCONF	47
149 #define FAC_OPVAL_CONF_END	48
150 #define FAC_OPVAL_CONF_IDCFE	49
151 
152 #define FAC_OPVAL_REVC_REQ	60
153 
154 enum states {
155 	ST_EXP_COMP_TYP,
156 	ST_EXP_INV_ID,
157 	ST_EXP_OP_VAL,
158 	ST_EXP_INFO,
159 	ST_EXP_RUL,
160 	ST_EXP_RU,
161 	ST_EXP_RNOU,
162 	ST_EXP_TOCI,
163 	ST_EXP_DBID,
164 
165 	ST_EXP_NIX
166 };
167 
168 /* EOF */
169 
170