libosmo-sigtran 2.0.0.17-24bf
Osmocom SIGTRAN library
m2ua_types.h
Go to the documentation of this file.
1#ifndef m2ua_types_h
2#define m2ua_types_h
3
8#include <stdint.h>
9
10#define M2UA_VERSION 1
11#define M2UA_SPARE 0
12
13enum {
14 M2UA_CLS_MGMT, /* Management (MGMT) Message [IUA/M2UA/M3UA/SUA] */
15 M2UA_CLS_TRANS, /* Transfer Messages [M3UA] */
16 M2UA_CLS_SSNM, /* SS7 Signalling Network Management (SSNM) Messages [M3UA/SUA] */
17 M2UA_CLS_ASPSM, /* ASP State Maintenance (ASPSM) Messages [IUA/M2UA/M3UA/SUA] */
18 M2UA_CLS_ASPTM, /* ASP Traffic Maintenance (ASPTM) Messages [IUA/M2UA/M3UA/SUA] */
19 M2UA_CLS_QPTM, /* Q.921/Q.931 Boundary Primitives Transport (QPTM) */
20 M2UA_CLS_MAUP, /* MTP2 User Adaptation (MAUP) Messages [M2UA] */
21 M2UA_CLS_SUA_LESS, /* Connectionless Messages [SUA] */
22 M2UA_CLS_SUA_CONN, /* Connection-Oriented Messages [SUA] */
23 M2UA_CLS_RKM, /* Routing Key Management (RKM) Messages (M3UA) */
24 M2UA_CLS_IIM, /* Interface Identifier Management (IIM) Messages (M2UA) */
25};
26
30enum {
31 M2UA_MAUP_RESERVED, /* Reserved */
32 M2UA_MAUP_DATA, /* Data */
33 M2UA_MAUP_EST_REQ, /* Establish Request */
34 M2UA_MAUP_EST_CON, /* Establish Confirm */
35 M2UA_MAUP_REL_REQ, /* Release Request */
36 M2UA_MAUP_REL_CON, /* Release Confirm */
37 M2UA_MAUP_REL_IND, /* Release Indication */
38 M2UA_MAUP_STATE_REQ, /* State Request */
39 M2UA_MAUP_STATE_CON, /* State Confirm */
40 M2UA_MAUP_STATE_IND, /* State Indication */
41 M2UA_MAUP_RETR_REQ, /* Data Retrieval Request */
42 M2UA_MAUP_D_RETR_CON, /* Data Retrieval Confirm */
43 M2UA_MAUP_D_RETR_IND, /* Data Retrieval Indication */
44 M2UA_MAUP_D_RETR_COMPL, /* Data Retrieval Complete Indication */
45 M2UA_MAUP_CONG_IND, /* Congestion Indication */
46 M2UA_MAUP_DATA_ACK, /* Data Acknowledge */
47};
48
52enum {
53 M2UA_ASPSM_RESERVED, /* Reserved */
54 M2UA_ASPSM_UP, /* ASP Up (UP) */
55 M2UA_ASPSM_DOWN, /* ASP Down (DOWN) */
56 M2UA_ASPSM_BEAT, /* Heartbeat (BEAT) */
57 M2UA_ASPSM_UP_ACK, /* ASP Up Ack (UP ACK) */
58 M2UA_ASPSM_DOWN_ACK, /* ASP Down Ack (DOWN ACK) */
59 M2UA_ASPSM_BEAT_ACK, /* Heartbeat Ack (BEAT ACK) */
60};
61
65enum {
66 M2UA_ASPTM_RESERVED, /* Reserved */
67 M2UA_ASPTM_ACTIV, /* ASP Active (ACTIVE) */
68 M2UA_ASPTM_INACTIV, /* ASP Inactive (INACTIVE) */
69 M2UA_ASPTM_ACTIV_ACK, /* ASP Active Ack (ACTIVE ACK) */
70 M2UA_ASPTM_INACTIV_ACK, /* ASP Inactive Ack (INACTIVE ACK) */
71};
72
76enum {
77 M2UA_MGMT_ERROR, /* Error (ERR) */
78 M2UA_MGMT_NTFY, /* Notify (NTFY) */
79};
80
84enum {
85 M2UA_IIM_RESERVED, /* Reserved */
86 M2UA_IIM_REG_REQ, /* Registration Request (REG REQ) */
87 M2UA_IIM_REG_RSP, /* Registration Response (REG RSP) */
88 M2UA_IIM_DEREG_REQ, /* Deregistration Request (DEREG REQ) */
89 M2UA_IIM_DEREG_RSP, /* Deregistration Response (DEREG RSP) */
90};
91
95enum {
97
98 M2UA_TAG_DATA, /* Protocol Data 1 */
99 M2UA_TAG_DATA_TTC, /* Protocol Data 2 (TTC) */
100 M2UA_TAG_STATE_REQ, /* State Request */
101 M2UA_TAG_STATE_EVENT, /* State Event */
102 M2UA_TAG_CONG_STATUS, /* Congestion Status */
103 M2UA_TAG_DISC_STATUS, /* Discard Status */
104 M2UA_TAG_ACTION, /* Action */
105 M2UA_TAG_SEQ_NO, /* Sequence Number */
106 M2UA_TAG_RETR_RES, /* Retrieval Result */
107 M2UA_TAG_LNK_KEY, /* Link Key */
108 M2UA_TAG_L_LNK_KEY_ID, /* Local-LK-Identifier */
109 M2UA_TAG_SDT, /* Signalling Data Terminal (SDT) Identifier */
110 M2UA_TAG_SDL, /* Signalling Data Link (SDL) Identifier */
111 M2UA_TAG_REG_RES, /* Registration Result */
112 M2UA_TAG_RES_STATUS, /* Registration Status */
113 M2UA_TAG_DEREG_RES, /* De-Registration Result */
114 M2UA_TAG_DEREG_STATUS, /* De-Registration Status */
115};
116
120enum {
121 M2UA_STATUS_LPO_SET, /* Request local processor outage */
122 M2UA_STATUS_LPO_CLEAR, /* Request local processor outage recovered */
123 M2UA_STATUS_EMER_SET, /* Request emergency alignment */
124 M2UA_STATUS_EMER_CLEAR, /* Request normal alignment (cancel emergency) */
125 M2UA_STATUS_FLUSH_BUFFERS, /* Flush or clear receive, transmit and retransmit queues */
126 M2UA_STATUS_CONTINUE, /* Continue or Resume */
127 M2UA_STATUS_CLEAR_RTB, /* Clear the retransmit queue */
128 M2UA_STATUS_AUDIT, /* Audit state of link */
129 M2UA_STATUS_CONG_CLEAR, /* Congestion cleared */
130 M2UA_STATUS_CONG_ACCEPT, /* Congestion accept */
131 M2UA_STATUS_CONG_DISCARD, /* Congestion discard */
132};
133
137enum {
139 M2UA_EVENT_RPO_ENTER, /* Remote entered processor outage */
140 M2UA_EVENT_RPO_EXIT, /* Remote exited processor outage */
141 M2UA_EVENT_LPO_ENTER, /* Link entered processor outage */
142 M2UA_EVENT_LPO_EXIT, /* Link exited processor outage */
143};
144
148enum {
149 M2UA_LEVEL_NONE, /* No congestion */
150 M2UA_LEVEL_1, /* Congestion Level 1 */
151 M2UA_LEVEL_2, /* Congestion Level 2 */
152 M2UA_LEVEL_3, /* Congestion Level 3 */
153};
154
158enum {
159 M2UA_ACTION_RTRV_BSN, /* Retrieve the backward sequence number */
160 M2UA_ACTION_RTRV_MSGS, /* Retrieve the PDUs from the transmit and retransmit queues. */
161};
162
166enum {
167 M2UA_RESULT_SUCCESS, /* Action successful */
168 M2UA_RESULT_FAILURE, /* Action failed */
169};
170
174enum {
175 M2UA_TRA_OVERRIDE = 1, /* Override */
176 M2UA_TRA_LOAD_SHARE = 2, /* Load-share */
177 M2UA_TRA_BROADCAST = 3, /* Broadcast */
178};
179
183enum {
185 M2UA_ERR_INV_VER, /* Invalid Version */
186 M2UA_ERR_INV_INT_IDENT, /* Invalid Interface Identifier */
187 M2UA_ERR_UNS_MSG_CLASS, /* Unsupported Message Class */
188 M2UA_ERR_UNS_MSG_TYPE, /* Unsupported Message Type */
189 M2UA_ERR_UNS_TRA_MODE, /* Unsupported Traffic Handling Mode */
190 M2UA_ERR_UNE_MSG, /* Unexpected Message */
191 M2UA_ERR_PROTO_ERROR, /* Protocol Error */
192 M2UA_ERR_UNS_INT_IDENT_T, /* Unsupported Interface Identifier Type */
193 M2UA_ERR_INV_STR_IDENT, /* Invalid Stream Identifier */
194 M2UA_ERR_UNUSED1, /* Unused in M2UA */
195 M2UA_ERR_UNUSED2, /* Unused in M2UA */
196 M2UA_ERR_UNUSED3, /* Unused in M2UA */
197 M2UA_ERR_REFUSED, /* Refused - Management Blocking */
198 M2UA_ERR_ASP_IDENT_REQ, /* ASP Identifier Required */
199 M2UA_ERR_INV_ASP_IDENT, /* Invalid ASP Identifier */
200 M2UA_ERR_ASP_ACT_FOR_IDENT, /* ASP Active for Interface Identifier(s) */
201 M2UA_ERR_INV_PARAM_VAL, /* Invalid Parameter Value */
202 M2UA_ERR_PARAM_FIELD_ERR, /* Parameter Field Error */
203 M2UA_ERR_UNEXP_PARAM, /* Unexpected Parameter */
204 M2UA_ERR_UNUSED4, /* Unused in M2UA */
205 M2UA_ERR_UNUSED5, /* Unused in M2UA */
206 M2UA_ERR_MISSING_PARAM, /* Missing Parameter */
207};
208
212enum {
213 M2UA_STP_AS_STATE_CHG = 1, /* Application Server state change (AS_State_Change) */
214 M2UA_STP_OTHER = 2, /* Other */
215};
216
217enum {
218 /* this is for M2UA_STP_AS_STATE_CHG */
219 M2UA_STP_AS_INACTIVE = 2, /* Application Server Inactive (AS_Inactive) */
220 M2UA_STP_AS_ACTIVE = 3, /* Application Server Active (AS_Active) */
221 M2UA_STP_AS_PENDING = 4, /* Application Server Pending (AS_Pending) */
222
223 /* this is for the other */
224 M2UA_STP_O_INSUFF_ASP_RES = 1, /* Insufficient ASP resources active in AS */
225 M2UA_STP_O_ALT_ASP_ACTIVR = 2, /* Alternate ASP Active */
226 M2UA_STP_O_ASP_FAILURE = 3, /* ASP Failure */
227};
228
232enum {
233 M2UA_REG_SUCC, /* Successfully Registered */
234 M2UA_REG_ERR_UNK, /* Error - Unknown */
235 M2UA_REG_ERR_INV_SDLI, /* Error - Invalid SDLI */
236 M2UA_REG_ERR_INV_SDTI, /* Error - Invalid SDTI */
237 M2UA_REG_ERR_INV_LNK_KEY, /* Error - Invalid Link Key */
238 M2UA_REG_ERR_PERM_DENIED, /* Error - Permission Denied */
239 M2UA_REG_ERR_OVERLAP_KEY, /* Error - Overlapping (Non-unique) Link Key */
240 M2UA_REG_ERR_LNK_KEY_NOT_PROV, /* Error - Link Key not Provisioned */
241 M2UA_REG_ERR_INSUFF_RES, /* Error - Insufficient Resources */
242};
243
247enum {
248 M2UA_DEREG_SUCC, /* Successfully De-registered */
249 M2UA_DEREG_ERR_UNK, /* Error - Unknown */
250 M2UA_DEREG_ERR_INV_IDENT, /* Error - Invalid Interface Identifier */
251 M2UA_DEREG_ERR_PERM_DENIED, /* Error - Permission Denied */
252 M2UA_DEREG_ERR_NOT_REG, /* Error - Not Registered */
253};
254
255#endif
@ M2UA_STATUS_EMER_CLEAR
Definition: m2ua_types.h:124
@ M2UA_STATUS_AUDIT
Definition: m2ua_types.h:128
@ M2UA_STATUS_CONG_ACCEPT
Definition: m2ua_types.h:130
@ M2UA_STATUS_CONTINUE
Definition: m2ua_types.h:126
@ M2UA_STATUS_CLEAR_RTB
Definition: m2ua_types.h:127
@ M2UA_STATUS_EMER_SET
Definition: m2ua_types.h:123
@ M2UA_STATUS_LPO_CLEAR
Definition: m2ua_types.h:122
@ M2UA_STATUS_LPO_SET
Definition: m2ua_types.h:121
@ M2UA_STATUS_FLUSH_BUFFERS
Definition: m2ua_types.h:125
@ M2UA_STATUS_CONG_CLEAR
Definition: m2ua_types.h:129
@ M2UA_STATUS_CONG_DISCARD
Definition: m2ua_types.h:131
@ M2UA_ERR_INV_INT_IDENT
Definition: m2ua_types.h:186
@ M2UA_ERR_UNUSED2
Definition: m2ua_types.h:195
@ M2UA_ERR_PROTO_ERROR
Definition: m2ua_types.h:191
@ M2UA_ERR_UNS_TRA_MODE
Definition: m2ua_types.h:189
@ M2UA_ERR_INV_STR_IDENT
Definition: m2ua_types.h:193
@ M2UA_ERR_UNUSED1
Definition: m2ua_types.h:194
@ M2UA_ERR_UNS_MSG_TYPE
Definition: m2ua_types.h:188
@ __m2ua_err_unused
Definition: m2ua_types.h:184
@ M2UA_ERR_UNUSED4
Definition: m2ua_types.h:204
@ M2UA_ERR_UNUSED3
Definition: m2ua_types.h:196
@ M2UA_ERR_INV_PARAM_VAL
Definition: m2ua_types.h:201
@ M2UA_ERR_REFUSED
Definition: m2ua_types.h:197
@ M2UA_ERR_MISSING_PARAM
Definition: m2ua_types.h:206
@ M2UA_ERR_ASP_ACT_FOR_IDENT
Definition: m2ua_types.h:200
@ M2UA_ERR_UNUSED5
Definition: m2ua_types.h:205
@ M2UA_ERR_INV_VER
Definition: m2ua_types.h:185
@ M2UA_ERR_INV_ASP_IDENT
Definition: m2ua_types.h:199
@ M2UA_ERR_ASP_IDENT_REQ
Definition: m2ua_types.h:198
@ M2UA_ERR_UNE_MSG
Definition: m2ua_types.h:190
@ M2UA_ERR_UNS_MSG_CLASS
Definition: m2ua_types.h:187
@ M2UA_ERR_UNS_INT_IDENT_T
Definition: m2ua_types.h:192
@ M2UA_ERR_UNEXP_PARAM
Definition: m2ua_types.h:203
@ M2UA_ERR_PARAM_FIELD_ERR
Definition: m2ua_types.h:202
@ M2UA_CLS_RKM
Definition: m2ua_types.h:23
@ M2UA_CLS_ASPTM
Definition: m2ua_types.h:18
@ M2UA_CLS_ASPSM
Definition: m2ua_types.h:17
@ M2UA_CLS_MGMT
Definition: m2ua_types.h:14
@ M2UA_CLS_SUA_CONN
Definition: m2ua_types.h:22
@ M2UA_CLS_IIM
Definition: m2ua_types.h:24
@ M2UA_CLS_MAUP
Definition: m2ua_types.h:20
@ M2UA_CLS_TRANS
Definition: m2ua_types.h:15
@ M2UA_CLS_SUA_LESS
Definition: m2ua_types.h:21
@ M2UA_CLS_QPTM
Definition: m2ua_types.h:19
@ M2UA_CLS_SSNM
Definition: m2ua_types.h:16
@ M2UA_STP_OTHER
Definition: m2ua_types.h:214
@ M2UA_STP_AS_STATE_CHG
Definition: m2ua_types.h:213
@ M2UA_ACTION_RTRV_BSN
Definition: m2ua_types.h:159
@ M2UA_ACTION_RTRV_MSGS
Definition: m2ua_types.h:160
@ M2UA_IIM_REG_RSP
Definition: m2ua_types.h:87
@ M2UA_IIM_DEREG_REQ
Definition: m2ua_types.h:88
@ M2UA_IIM_REG_REQ
Definition: m2ua_types.h:86
@ M2UA_IIM_DEREG_RSP
Definition: m2ua_types.h:89
@ M2UA_IIM_RESERVED
Definition: m2ua_types.h:85
@ M2UA_TAG_CONG_STATUS
Definition: m2ua_types.h:102
@ M2UA_TAG_REG_RES
Definition: m2ua_types.h:111
@ __m2ua_tag_start
Definition: m2ua_types.h:96
@ M2UA_TAG_L_LNK_KEY_ID
Definition: m2ua_types.h:108
@ M2UA_TAG_ACTION
Definition: m2ua_types.h:104
@ M2UA_TAG_DATA_TTC
Definition: m2ua_types.h:99
@ M2UA_TAG_SEQ_NO
Definition: m2ua_types.h:105
@ M2UA_TAG_SDT
Definition: m2ua_types.h:109
@ M2UA_TAG_RETR_RES
Definition: m2ua_types.h:106
@ M2UA_TAG_DEREG_RES
Definition: m2ua_types.h:113
@ M2UA_TAG_SDL
Definition: m2ua_types.h:110
@ M2UA_TAG_STATE_EVENT
Definition: m2ua_types.h:101
@ M2UA_TAG_LNK_KEY
Definition: m2ua_types.h:107
@ M2UA_TAG_DATA
Definition: m2ua_types.h:98
@ M2UA_TAG_STATE_REQ
Definition: m2ua_types.h:100
@ M2UA_TAG_DISC_STATUS
Definition: m2ua_types.h:103
@ M2UA_TAG_RES_STATUS
Definition: m2ua_types.h:112
@ M2UA_TAG_DEREG_STATUS
Definition: m2ua_types.h:114
@ M2UA_DEREG_SUCC
Definition: m2ua_types.h:248
@ M2UA_DEREG_ERR_INV_IDENT
Definition: m2ua_types.h:250
@ M2UA_DEREG_ERR_NOT_REG
Definition: m2ua_types.h:252
@ M2UA_DEREG_ERR_UNK
Definition: m2ua_types.h:249
@ M2UA_DEREG_ERR_PERM_DENIED
Definition: m2ua_types.h:251
@ M2UA_ASPSM_BEAT
Definition: m2ua_types.h:56
@ M2UA_ASPSM_BEAT_ACK
Definition: m2ua_types.h:59
@ M2UA_ASPSM_RESERVED
Definition: m2ua_types.h:53
@ M2UA_ASPSM_UP_ACK
Definition: m2ua_types.h:57
@ M2UA_ASPSM_DOWN_ACK
Definition: m2ua_types.h:58
@ M2UA_ASPSM_UP
Definition: m2ua_types.h:54
@ M2UA_ASPSM_DOWN
Definition: m2ua_types.h:55
@ M2UA_REG_ERR_INSUFF_RES
Definition: m2ua_types.h:241
@ M2UA_REG_ERR_INV_SDTI
Definition: m2ua_types.h:236
@ M2UA_REG_ERR_LNK_KEY_NOT_PROV
Definition: m2ua_types.h:240
@ M2UA_REG_ERR_UNK
Definition: m2ua_types.h:234
@ M2UA_REG_ERR_INV_SDLI
Definition: m2ua_types.h:235
@ M2UA_REG_ERR_PERM_DENIED
Definition: m2ua_types.h:238
@ M2UA_REG_ERR_OVERLAP_KEY
Definition: m2ua_types.h:239
@ M2UA_REG_ERR_INV_LNK_KEY
Definition: m2ua_types.h:237
@ M2UA_REG_SUCC
Definition: m2ua_types.h:233
@ M2UA_LEVEL_NONE
Definition: m2ua_types.h:149
@ M2UA_LEVEL_2
Definition: m2ua_types.h:151
@ M2UA_LEVEL_3
Definition: m2ua_types.h:152
@ M2UA_LEVEL_1
Definition: m2ua_types.h:150
@ M2UA_STP_O_ALT_ASP_ACTIVR
Definition: m2ua_types.h:225
@ M2UA_STP_AS_ACTIVE
Definition: m2ua_types.h:220
@ M2UA_STP_AS_INACTIVE
Definition: m2ua_types.h:219
@ M2UA_STP_O_ASP_FAILURE
Definition: m2ua_types.h:226
@ M2UA_STP_AS_PENDING
Definition: m2ua_types.h:221
@ M2UA_STP_O_INSUFF_ASP_RES
Definition: m2ua_types.h:224
@ M2UA_RESULT_FAILURE
Definition: m2ua_types.h:168
@ M2UA_RESULT_SUCCESS
Definition: m2ua_types.h:167
@ M2UA_ASPTM_INACTIV_ACK
Definition: m2ua_types.h:70
@ M2UA_ASPTM_ACTIV
Definition: m2ua_types.h:67
@ M2UA_ASPTM_INACTIV
Definition: m2ua_types.h:68
@ M2UA_ASPTM_ACTIV_ACK
Definition: m2ua_types.h:69
@ M2UA_ASPTM_RESERVED
Definition: m2ua_types.h:66
@ M2UA_EVENT_LPO_ENTER
Definition: m2ua_types.h:141
@ M2UA_EVENT_RPO_ENTER
Definition: m2ua_types.h:139
@ M2UA_EVENT_LPO_EXIT
Definition: m2ua_types.h:142
@ M2UA_EVENT_RPO_EXIT
Definition: m2ua_types.h:140
@ __m2ua_event_dummy
Definition: m2ua_types.h:138
@ M2UA_TRA_OVERRIDE
Definition: m2ua_types.h:175
@ M2UA_TRA_BROADCAST
Definition: m2ua_types.h:177
@ M2UA_TRA_LOAD_SHARE
Definition: m2ua_types.h:176
@ M2UA_MGMT_ERROR
Definition: m2ua_types.h:77
@ M2UA_MGMT_NTFY
Definition: m2ua_types.h:78
@ M2UA_MAUP_STATE_CON
Definition: m2ua_types.h:39
@ M2UA_MAUP_REL_REQ
Definition: m2ua_types.h:35
@ M2UA_MAUP_D_RETR_CON
Definition: m2ua_types.h:42
@ M2UA_MAUP_DATA_ACK
Definition: m2ua_types.h:46
@ M2UA_MAUP_D_RETR_COMPL
Definition: m2ua_types.h:44
@ M2UA_MAUP_RESERVED
Definition: m2ua_types.h:31
@ M2UA_MAUP_EST_REQ
Definition: m2ua_types.h:33
@ M2UA_MAUP_RETR_REQ
Definition: m2ua_types.h:41
@ M2UA_MAUP_STATE_REQ
Definition: m2ua_types.h:38
@ M2UA_MAUP_DATA
Definition: m2ua_types.h:32
@ M2UA_MAUP_D_RETR_IND
Definition: m2ua_types.h:43
@ M2UA_MAUP_REL_CON
Definition: m2ua_types.h:36
@ M2UA_MAUP_REL_IND
Definition: m2ua_types.h:37
@ M2UA_MAUP_EST_CON
Definition: m2ua_types.h:34
@ M2UA_MAUP_STATE_IND
Definition: m2ua_types.h:40
@ M2UA_MAUP_CONG_IND
Definition: m2ua_types.h:45