2 * Copyright (c) 1997, 2002 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
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
26 /*---------------------------------------------------------------------------
28 * i4b_isdnq931.h - DSS1 layer 3 message types
29 * -------------------------------------------
33 * last edit-date: [Sat Mar 9 15:53:49 2002]
35 *---------------------------------------------------------------------------*/
37 /* protocol discriminators */
39 #define PD_Q931 0x08 /* Q.931/I.451 */
41 /* Q.931 single octett information element identifiers */
43 #define IEI_SENDCOMPL 0xa1 /* sending complete */
45 /* Q.931 variable length information element identifiers */
47 #define IEI_SEGMMSG 0x00 /* segmented message */
48 #define IEI_BEARERCAP 0x04 /* bearer capabilities */
49 #define IEI_CAUSE 0x08 /* cause */
50 #define IEI_CALLID 0x10 /* call identity */
51 #define IEI_CALLSTATE 0x14 /* call state */
52 #define IEI_CHANNELID 0x18 /* channel identification */
53 #define IEI_PROGRESSI 0x1e /* progress indicator */
54 #define IEI_NETSPCFAC 0x20 /* network specific facilities */
55 #define IEI_NOTIFIND 0x27 /* notification indicator */
56 #define IEI_DISPLAY 0x28 /* display */
57 #define IEI_DATETIME 0x29 /* date/time */
58 #define IEI_KEYPAD 0x2c /* keypad facility */
59 #define IEI_SIGNAL 0x34 /* signal */
60 #define IEI_INFRATE 0x40 /* information rate */
61 #define IEI_ETETDEL 0x42 /* end to end transit delay */
62 #define IEI_TDELSELIND 0x43 /* transit delay selection and indication */
63 #define IEI_PLBPARMS 0x44 /* packet layer binary parameters */
64 #define IEI_PLWSIZE 0x45 /* packet layer window size */
65 #define IEI_PSIZE 0x46 /* packet size */
66 #define IEI_CUG 0x47 /* closed user group */
67 #define IEI_REVCHRGI 0x4a /* reverse charge indication */
68 #define IEI_CALLINGPN 0x6c /* calling party number */
69 #define IEI_CALLINGPS 0x6d /* calling party subaddress */
70 #define IEI_CALLEDPN 0x70 /* called party number */
71 #define IEI_CALLEDPS 0x71 /* called party subaddress */
72 #define IEI_REDIRNO 0x74 /* redirecting number */
73 #define IEI_TRNSEL 0x78 /* transit network selection */
74 #define IEI_RESTARTI 0x79 /* restart indicator */
75 #define IEI_LLCOMPAT 0x7c /* low layer compatibility */
76 #define IEI_HLCOMPAT 0x7d /* high layer compatibility */
77 #define IEI_USERUSER 0x7e /* user-user */
78 #define IEI_ESCAPE 0x7f /* escape for extension */
80 /* Q.932 variable length information element identifiers */
82 #define IEI_EXTFAC 0x0d /* extended facility */
83 #define IEI_FACILITY 0x1c /* facility */
84 #define IEI_INFOREQ 0x32 /* information request */
85 #define IEI_FEATACT 0x38 /* feature activation */
86 #define IEI_FEATIND 0x39 /* feature indication */
87 #define IEI_SERVPID 0x3a /* service profile identification */
88 #define IEI_ENDPTID 0x3b /* endpoint identifier */
90 /* Q.933 variable length information element identifiers */
92 #define IEI_DATALCID 0x19 /* data link connection identifier */
93 #define IEI_LLCOREP 0x48 /* link layer core parameters */
94 #define IEI_LLPROTP 0x49 /* link layer protocol parameters */
95 #define IEI_X213PRI 0x50 /* X.213 priority */
96 #define IEI_REPORTT 0x51 /* report type */
97 #define IEI_LNKITYVERF 0x53 /* link integrity verification */
98 #define IEI_PVCSTAT 0x57 /* PVC status */
100 /* Q.95x variable length information element identifiers */
102 #define IEI_PRECLEV 0x41 /* precedence level */
103 #define IEI_CONCTDNO 0x4c /* connected number */
104 #define IEI_CONCTDSA 0x4d /* connected subaddress */
105 #define IEI_REDICNNO 0x76 /* redirection number */
107 /* single octett information elements */
109 #define SOIE_SHIFT 0x90 /* shift codeset */
110 #define SHIFT_LOCK 0x08 /* shift codeset, locking shift bit */
111 #define SOIE_MDSC 0xa0 /* more data AND/OR sending complete */
112 #define SOIE_SENDC 0xa1 /* sending complete */
113 #define SOIE_CONGL 0xb0 /* congestion level */
114 #define SOIE_REPTI 0xd0 /* repeat indicator */
118 #define CODESET_0 0 /* codeset 0, normal DSS1 codeset */
120 /* Q.931/Q.932 message types (see Q.931 03/93 p10 and p311) */
122 /* call establishment messages */
125 #define CALL_PROCEEDING 0x02
126 #define PROGRESS 0x03
129 #define SETUP_ACKNOWLEDGE 0x0d
130 #define CONNECT_ACKNOWLEDGE 0x0f
132 /* call information phase messages */
134 #define USER_INFORMATION 0x20
135 #define SUSPEND_REJECT 0x21
136 #define RESUME_REJECT 0x22
140 #define HOLD_ACKNOWLEDGE 0x28
141 #define SUSPEND_ACKNOWLEDGE 0x2d
142 #define RESUME_ACKNOWLEDGE 0x2e
143 #define HOLD_REJECT 0x30
144 #define RETRIEVE 0x31
145 #define RETRIEVE_ACKNOWLEDGE 0x32
146 #define RETRIEVE_REJECT 0x37
150 #define DISCONNECT 0x45
153 #define RESTART_ACKNOWLEDGE 0x4e
154 #define RELEASE_COMPLETE 0x5a
159 #define FACILITY 0x62
160 #define REGISTER 0x64
162 #define STATUS_ENQUIRY 0x75
163 #define CONGESTION_CONTROL 0x79
164 #define INFORMATION 0x7b