libosmo-sigtran 2.0.0.17-24bf
Osmocom SIGTRAN library
sua.h
Go to the documentation of this file.
1/* RFC 3868 SUA SCCP User Adaption */
2
3/* (C) 2012 by Harald Welte <laforge@gnumonks.org>
4 *
5 * All Rights Reserved
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of the
10 * License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22#include <stdint.h>
23
25
26#define SUA_VERSION 1
27#define SUA_PPID 4
28#define SUA_PORT 14001
29
30/* 3.1.2 Message Classes */
31#define SUA_MSGC_MGMT 0
32#define SUA_MSGC_SNM 2
33#define SUA_MSGC_ASPSM 3
34#define SUA_MSGC_ASPTM 4
35#define SUA_MSGC_CL 7
36#define SUA_MSGC_CO 8
37#define SUA_MSGC_RKM 9
38
39/* 3.1.3 Message Types */
40#define SUA_MGMT_ERR 0
41#define SUA_MGMT_NTFY 1
42
43#define SUA_SNM_DUNA 1
44#define SUA_SNM_DAVA 2
45#define SUA_SNM_DAUD 3
46#define SUA_SNM_SCON 4
47#define SUA_SNM_DUPU 5
48#define SUA_SNM_DRST 6
49
50#define SUA_ASPSM_UP 1
51#define SUA_ASPSM_DOWN 2
52#define SUA_ASPSM_BEAT 3
53#define SUA_ASPSM_UP_ACK 4
54#define SUA_ASPSM_DOWN_ACK 5
55#define SUA_ASPSM_BEAT_ACK 6
56
57#define SUA_ASPTM_ACTIVE 1
58#define SUA_ASPTM_INACTIVE 2
59#define SUA_ASPTM_ACTIVE_ACK 3
60#define SUA_ASPTM_INACTIVE_ACK 4
61
62#define SUA_RKM_REG_REQ 1
63#define SUA_RKM_REG_RSP 2
64#define SUA_RKM_DEREG_REQ 3
65#define SUA_RKM_DEREG_RSP 4
66
67#define SUA_CL_CLDT 1
68#define SUA_CL_CLDR 2
69
70#define SUA_CO_CORE 1
71#define SUA_CO_COAK 2
72#define SUA_CO_COREF 3
73#define SUA_CO_RELRE 4
74#define SUA_CO_RELCO 5
75#define SUA_CO_RESCO 6
76#define SUA_CO_RESRE 7
77#define SUA_CO_CODT 8
78#define SUA_CO_CODA 9
79#define SUA_CO_COERR 10
80#define SUA_CO_COIT 11 /* Connection Oriented Inactiviy Test */
81
82#define SUA_IEI_INFO_STRING M3UA_IEI_INFO_STRING
83#define SUA_IEI_ROUTE_CTX M3UA_IEI_ROUTE_CTX
84#define SUA_IEI_DIAG_INFO M3UA_IEI_DIAG_INFO
85#define SUA_IEI_HEARTBT_DATA M3UA_IEI_HEARDBT_DATA
86#define SUA_IEI_TRAF_MODE_TYP M3UA_IEI_TRAF_MODE_TYP
87#define SUA_IEI_ERR_CODE M3UA_IEI_ERR_CODE
88#define SUA_IEI_STATUS M3UA_IEI_STATUS
89#define SUA_IEI_ASP_ID M3UA_IEI_ASP_ID
90#define SUA_IEI_AFFECTED_PC M3UA_IEI_AFFECTED_PC
91#define SUA_IEI_CORR_ID M3UA_IEI_CORR_ID
92#define SUA_IEI_REG_RESULT 0x0014
93#define SUA_IEI_DEREG_RESULT 0x0015
94
95/* 3.10 SUA specific parameters */
96
97#define SUA_IEI_S7_HOP_CTR 0x0101
98#define SUA_IEI_SRC_ADDR 0x0102
99#define SUA_IEI_DEST_ADDR 0x0103
100#define SUA_IEI_SRC_REF 0x0104
101#define SUA_IEI_DEST_REF 0x0105
102#define SUA_IEI_CAUSE 0x0106
103#define SUA_IEI_SEQ_NR 0x0107
104#define SUA_IEI_RX_SEQ_NR 0x0108
105#define SUA_IEI_ASP_CAPA 0x0109
106#define SUA_IEI_CREDIT 0x010A
107#define SUA_IEI_DATA 0x010B
108#define SUA_IEI_USER_CAUSE 0x010C
109#define SUA_IEI_NET_APPEARANCE 0x010D
110#define SUA_IEI_ROUTING_KEY 0x010E
111#define SUA_IEI_DRN 0x010F
112#define SUA_IEI_TID 0x0110
113#define SUA_IEI_SMI 0x0112
114#define SUA_IEI_IMPORTANCE 0x0113
115#define SUA_IEI_MSG_PRIO 0x0114
116#define SUA_IEI_PROTO_CLASS 0x0115
117#define SUA_IEI_SEQ_CTRL 0x0116
118#define SUA_IEI_SEGMENTATION 0x0117
119#define SUA_IEI_CONG_LEVEL 0x0118
120
121#define SUA_IEI_GT 0x8001
122#define SUA_IEI_PC 0x8002
123#define SUA_IEI_SSN 0x8003
124#define SUA_IEI_IPv4 0x8004
125#define SUA_IEI_HOST 0x8005
126#define SUA_IEI_IPv6 0x8006
127
128#define SUA_RI_GT 1
129#define SUA_RI_SSN_PC 2
130#define SUA_RI_HOST 3
131#define SUA_RI_SSN_IP 4
132
133#define SUA_CAUSE_T_MASK 0xff00
134#define SUA_CAUSE_T_RETURN 0x0100
135#define SUA_CAUSE_T_REFUSAL 0x0200
136#define SUA_CAUSE_T_RELEASE 0x0300
137#define SUA_CAUSE_T_RESET 0x0400
138#define SUA_CAUSE_T_ERROR 0x0500
139
140/* 3.9.12 Error: Identical to M3UA, extended by two at the bottom */
141#define SUA_ERR_INVALID_VERSION M3UA_ERR_INVALID_VERSION
142#define SUA_ERR_UNSUPP_MSG_CLASS M3UA_ERR_UNSUPP_MSG_CLASS
143#define SUA_ERR_UNSUPP_MSG_TYPE M3UA_ERR_UNSUPP_MSG_TYPE
144#define SUA_ERR_UNSUPP_TRAF_MOD_TYP M3UA_ERR_UNSUPP_TRAF_MOD_TYP
145#define SUA_ERR_UNEXPECTED_MSG M3UA_ERR_UNEXPECTED_MSG
146#define SUA_ERR_PROTOCOL_ERR M3UA_ERR_PROTOCOL_ERR
147#define SUA_ERR_INVAL_STREAM_ID M3UA_ERR_INVAL_STREAM_ID
148#define SUA_ERR_REFUSED_MGMT_BLOCKING M3UA_ERR_REFUSED_MGMT_BLOCKING
149#define SUA_ERR_ASP_ID_REQD M3UA_ERR_ASP_ID_REQD
150#define SUA_ERR_INVAL_ASP_ID M3UA_ERR_INVAL_ASP_ID
151#define SUA_ERR_INVAL_PARAM_VAL M3UA_ERR_INVAL_PARAM_VAL
152#define SUA_ERR_PARAM_FIELD_ERR M3UA_ERR_PARAM_FIELD_ERR
153#define SUA_ERR_UNEXP_PARAM M3UA_ERR_UNEXP_PARAM
154#define SUA_ERR_DEST_STATUS_UNKN M3UA_ERR_DEST_STATUS_UNKN
155#define SUA_ERR_INVAL_NET_APPEAR M3UA_ERR_INVAL_NET_APPEAR
156#define SUA_ERR_MISSING_PARAM M3UA_ERR_MISSING_PARAM
157#define SUA_ERR_INVAL_ROUT_CTX M3UA_ERR_INVAL_ROUT_CTX
158#define SUA_ERR_NO_CONFGD_AS_FOR_ASP M3UA_ERR_NO_CONFGD_AS_FOR_ASP
159#define SUA_ERR_SUBSYS_STATUS_UNKN 0x1b
160#define SUA_ERR_INVAL_LOADSH_LEVEL 0x1c