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