Initial import from FreeBSD RELENG_4:
[dragonfly.git] / usr.sbin / i4b / isdndecode / facility.h
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  *      facility.h - facility header file
28  *      ---------------------------------
29  *
30  *      $Id: facility.h,v 1.5 2000/02/21 15:17:17 hm Exp $
31  *
32  * $FreeBSD: src/usr.sbin/i4b/isdndecode/facility.h,v 1.6.2.1 2001/08/01 17:45:05 obrien Exp $
33  *
34  *      last edit-date: [Mon Feb 21 16:16:04 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 /*      #define FAC_DEBUG       */
59 /*      #define ST_DEBUG        */
60
61 /* protocols */
62 #define FAC_PROTO_ROP           0x11
63 #define FAC_PROTO_CMIP          0x12
64 #define FAC_PROTO_ACSE          0x13
65
66 /* tag classes */
67 #define FAC_TAGCLASS_UNI        0x00
68 #define FAC_TAGCLASS_APW        0x01
69 #define FAC_TAGCLASS_COS        0x02
70 #define FAC_TAGCLASS_PRU        0x03
71
72 /* tag forms */
73 #define FAC_TAGFORM_PRI         0x00
74 #define FAC_TAGFORM_CON         0x01
75
76 /* class UNIVERSAL values */
77 #define FAC_CODEUNI_BOOL        1
78 #define FAC_CODEUNI_INT         2
79 #define FAC_CODEUNI_BITS        3
80 #define FAC_CODEUNI_OCTS        4
81 #define FAC_CODEUNI_NULL        5
82 #define FAC_CODEUNI_OBJI        6
83 #define FAC_CODEUNI_OBJD        7
84 #define FAC_CODEUNI_EXT         8
85 #define FAC_CODEUNI_REAL        9
86 #define FAC_CODEUNI_ENUM        10
87 #define FAC_CODEUNI_R11         11
88 #define FAC_CODEUNI_R12         12
89 #define FAC_CODEUNI_R13         13
90 #define FAC_CODEUNI_R14         14
91 #define FAC_CODEUNI_R15         15
92 #define FAC_CODEUNI_SEQ         16
93 #define FAC_CODEUNI_SET         17
94 #define FAC_CODEUNI_NSTR        18
95 #define FAC_CODEUNI_PSTR        19
96 #define FAC_CODEUNI_TSTR        20
97 #define FAC_CODEUNI_VSTR        21
98 #define FAC_CODEUNI_ISTR        22
99 #define FAC_CODEUNI_UTIME       23
100 #define FAC_CODEUNI_GTIME       24
101 #define FAC_CODEUNI_GSTR        25
102 #define FAC_CODEUNI_VISTR       26
103 #define FAC_CODEUNI_GNSTR       27
104
105 /* operation values */
106 #define FAC_OPVAL_UUS           1
107 #define FAC_OPVAL_CUG           2
108 #define FAC_OPVAL_MCID          3
109 #define FAC_OPVAL_BTPY          4
110 #define FAC_OPVAL_ETPY          5
111 #define FAC_OPVAL_ECT           6
112
113 #define FAC_OPVAL_DIV_ACT       7
114 #define FAC_OPVAL_DIV_DEACT     8
115 #define FAC_OPVAL_DIV_ACTSN     9
116 #define FAC_OPVAL_DIV_DEACTSN   10
117 #define FAC_OPVAL_DIV_INTER     11
118 #define FAC_OPVAL_DIV_INFO      12
119 #define FAC_OPVAL_DIV_CALLDEF   13
120 #define FAC_OPVAL_DIV_CALLRER   14
121 #define FAC_OPVAL_DIV_LINF2     15
122 #define FAC_OPVAL_DIV_INVS      16
123 #define FAC_OPVAL_DIV_INTER1    17
124 #define FAC_OPVAL_DIV_LINF1     18
125 #define FAC_OPVAL_DIV_LINF3     19
126
127 #define FAC_OPVAL_ER_CRCO       20
128 #define FAC_OPVAL_ER_MGMT       21
129 #define FAC_OPVAL_ER_CANC       22
130
131 #define FAC_OPVAL_MLPP_QUERY    24
132 #define FAC_OPVAL_MLPP_CALLR    25
133 #define FAC_OPVAL_MLPP_CALLP    26
134
135 #define FAC_OPVAL_AOC_REQ       30
136 #define FAC_OPVAL_AOC_S_CUR     31
137 #define FAC_OPVAL_AOC_S_SPC     32
138 #define FAC_OPVAL_AOC_D_CUR     33
139 #define FAC_OPVAL_AOC_D_UNIT    34
140 #define FAC_OPVAL_AOC_E_CUR     35
141 #define FAC_OPVAL_AOC_E_UNIT    36
142 #define FAC_OPVAL_AOC_IDOFCRG   37
143
144 #define FAC_OPVAL_CONF_BEG      40
145 #define FAC_OPVAL_CONF_ADD      41
146 #define FAC_OPVAL_CONF_SPLIT    42
147 #define FAC_OPVAL_CONF_DROP     43
148 #define FAC_OPVAL_CONF_ISOLATE  44
149 #define FAC_OPVAL_CONF_REATT    45
150 #define FAC_OPVAL_CONF_PDISC    46
151 #define FAC_OPVAL_CONF_FCONF    47
152 #define FAC_OPVAL_CONF_END      48
153 #define FAC_OPVAL_CONF_IDCFE    49
154
155 #define FAC_OPVAL_REVC_REQ      60
156
157 enum states {
158         ST_EXP_COMP_TYP,
159         ST_EXP_INV_ID,
160         ST_EXP_OP_VAL,
161         ST_EXP_INFO,
162         ST_EXP_RUL,
163         ST_EXP_RU,
164         ST_EXP_RNOU,
165         ST_EXP_TOCI,
166         ST_EXP_DBID,    
167
168         ST_EXP_RR_INV_ID,
169         ST_EXP_RR_OP_VAL,
170         ST_EXP_RR_RESULT,       
171
172         ST_EXP_REJ_INV_ID,
173         ST_EXP_REJ_OP_VAL,
174         ST_EXP_REJ_RESULT,      
175         
176         ST_EXP_NIX      
177 };
178
179 /* EOF */
180