MFC:
[dragonfly.git] / usr.sbin / i4b / isdndecode / facility.h
blobac98cd998f23941cb38e95cf136fa343c36c619a
1 /*
2 * Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved.
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.
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.
25 *---------------------------------------------------------------------------
27 * facility.h - facility header file
28 * ---------------------------------
30 * $Id: facility.h,v 1.5 2000/02/21 15:17:17 hm Exp $
32 * $FreeBSD: src/usr.sbin/i4b/isdndecode/facility.h,v 1.6.2.1 2001/08/01 17:45:05 obrien Exp $
33 * $DragonFly: src/usr.sbin/i4b/isdndecode/facility.h,v 1.2 2003/06/17 04:29:55 dillon Exp $
35 * last edit-date: [Mon Feb 21 16:16:04 2000]
37 *---------------------------------------------------------------------------
39 * - Q.932 (03/93) Generic Procedures for the Control of
40 * ISDN Supplementaty Services
41 * - Q.950 (03/93) Supplementary Services Protocols, Structure and
42 * General Principles
43 * - ETS 300 179 (10/92) Advice Of Charge: charging information during
44 * the call (AOC-D) supplementary service Service description
45 * - ETS 300 180 (10/92) Advice Of Charge: charging information at the
46 * end of call (AOC-E) supplementary service Service description
47 * - ETS 300 181 (04/93) Advice Of Charge (AOC) supplementary service
48 * Functional capabilities and information flows
49 * - ETS 300 182 (04/93) Advice Of Charge (AOC) supplementary service
50 * Digital Subscriber Signalling System No. one (DSS1) protocol
51 * - X.208 Specification of Abstract Syntax Notation One (ASN.1)
52 * - X.209 Specification of Basic Encoding Rules for
53 * Abstract Syntax Notation One (ASN.1)
54 * - "ASN.1 Abstract Syntax Notation One", Walter Gora, DATACOM-Verlag
55 * 1992, 3rd Edition (ISBN 3-89238-062-7) (german !)
57 *---------------------------------------------------------------------------*/
59 /* #define FAC_DEBUG */
60 /* #define ST_DEBUG */
62 /* protocols */
63 #define FAC_PROTO_ROP 0x11
64 #define FAC_PROTO_CMIP 0x12
65 #define FAC_PROTO_ACSE 0x13
67 /* tag classes */
68 #define FAC_TAGCLASS_UNI 0x00
69 #define FAC_TAGCLASS_APW 0x01
70 #define FAC_TAGCLASS_COS 0x02
71 #define FAC_TAGCLASS_PRU 0x03
73 /* tag forms */
74 #define FAC_TAGFORM_PRI 0x00
75 #define FAC_TAGFORM_CON 0x01
77 /* class UNIVERSAL values */
78 #define FAC_CODEUNI_BOOL 1
79 #define FAC_CODEUNI_INT 2
80 #define FAC_CODEUNI_BITS 3
81 #define FAC_CODEUNI_OCTS 4
82 #define FAC_CODEUNI_NULL 5
83 #define FAC_CODEUNI_OBJI 6
84 #define FAC_CODEUNI_OBJD 7
85 #define FAC_CODEUNI_EXT 8
86 #define FAC_CODEUNI_REAL 9
87 #define FAC_CODEUNI_ENUM 10
88 #define FAC_CODEUNI_R11 11
89 #define FAC_CODEUNI_R12 12
90 #define FAC_CODEUNI_R13 13
91 #define FAC_CODEUNI_R14 14
92 #define FAC_CODEUNI_R15 15
93 #define FAC_CODEUNI_SEQ 16
94 #define FAC_CODEUNI_SET 17
95 #define FAC_CODEUNI_NSTR 18
96 #define FAC_CODEUNI_PSTR 19
97 #define FAC_CODEUNI_TSTR 20
98 #define FAC_CODEUNI_VSTR 21
99 #define FAC_CODEUNI_ISTR 22
100 #define FAC_CODEUNI_UTIME 23
101 #define FAC_CODEUNI_GTIME 24
102 #define FAC_CODEUNI_GSTR 25
103 #define FAC_CODEUNI_VISTR 26
104 #define FAC_CODEUNI_GNSTR 27
106 /* operation values */
107 #define FAC_OPVAL_UUS 1
108 #define FAC_OPVAL_CUG 2
109 #define FAC_OPVAL_MCID 3
110 #define FAC_OPVAL_BTPY 4
111 #define FAC_OPVAL_ETPY 5
112 #define FAC_OPVAL_ECT 6
114 #define FAC_OPVAL_DIV_ACT 7
115 #define FAC_OPVAL_DIV_DEACT 8
116 #define FAC_OPVAL_DIV_ACTSN 9
117 #define FAC_OPVAL_DIV_DEACTSN 10
118 #define FAC_OPVAL_DIV_INTER 11
119 #define FAC_OPVAL_DIV_INFO 12
120 #define FAC_OPVAL_DIV_CALLDEF 13
121 #define FAC_OPVAL_DIV_CALLRER 14
122 #define FAC_OPVAL_DIV_LINF2 15
123 #define FAC_OPVAL_DIV_INVS 16
124 #define FAC_OPVAL_DIV_INTER1 17
125 #define FAC_OPVAL_DIV_LINF1 18
126 #define FAC_OPVAL_DIV_LINF3 19
128 #define FAC_OPVAL_ER_CRCO 20
129 #define FAC_OPVAL_ER_MGMT 21
130 #define FAC_OPVAL_ER_CANC 22
132 #define FAC_OPVAL_MLPP_QUERY 24
133 #define FAC_OPVAL_MLPP_CALLR 25
134 #define FAC_OPVAL_MLPP_CALLP 26
136 #define FAC_OPVAL_AOC_REQ 30
137 #define FAC_OPVAL_AOC_S_CUR 31
138 #define FAC_OPVAL_AOC_S_SPC 32
139 #define FAC_OPVAL_AOC_D_CUR 33
140 #define FAC_OPVAL_AOC_D_UNIT 34
141 #define FAC_OPVAL_AOC_E_CUR 35
142 #define FAC_OPVAL_AOC_E_UNIT 36
143 #define FAC_OPVAL_AOC_IDOFCRG 37
145 #define FAC_OPVAL_CONF_BEG 40
146 #define FAC_OPVAL_CONF_ADD 41
147 #define FAC_OPVAL_CONF_SPLIT 42
148 #define FAC_OPVAL_CONF_DROP 43
149 #define FAC_OPVAL_CONF_ISOLATE 44
150 #define FAC_OPVAL_CONF_REATT 45
151 #define FAC_OPVAL_CONF_PDISC 46
152 #define FAC_OPVAL_CONF_FCONF 47
153 #define FAC_OPVAL_CONF_END 48
154 #define FAC_OPVAL_CONF_IDCFE 49
156 #define FAC_OPVAL_REVC_REQ 60
158 enum states {
159 ST_EXP_COMP_TYP,
160 ST_EXP_INV_ID,
161 ST_EXP_OP_VAL,
162 ST_EXP_INFO,
163 ST_EXP_RUL,
164 ST_EXP_RU,
165 ST_EXP_RNOU,
166 ST_EXP_TOCI,
167 ST_EXP_DBID,
169 ST_EXP_RR_INV_ID,
170 ST_EXP_RR_OP_VAL,
171 ST_EXP_RR_RESULT,
173 ST_EXP_REJ_INV_ID,
174 ST_EXP_REJ_OP_VAL,
175 ST_EXP_REJ_RESULT,
177 ST_EXP_NIX
180 /* EOF */