libosmo-sigtran  2.0.0.52-6412.202412012026
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 
12 enum {
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 
29 enum {
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 
51 enum {
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 
64 enum {
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 
75 enum {
76  M2UA_MGMT_ERROR, /* Error (ERR) */
77  M2UA_MGMT_NTFY, /* Notify (NTFY) */
78 };
79 
83 enum {
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 
94 enum {
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 
119 enum {
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 
136 enum {
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 
147 enum {
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 
157 enum {
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 
165 enum {
166  M2UA_RESULT_SUCCESS, /* Action successful */
167  M2UA_RESULT_FAILURE, /* Action failed */
168 };
169 
173 enum {
174  M2UA_TRA_OVERRIDE = 1, /* Override */
175  M2UA_TRA_LOAD_SHARE = 2, /* Load-share */
176  M2UA_TRA_BROADCAST = 3, /* Broadcast */
177 };
178 
182 enum {
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 
211 enum {
212  M2UA_STP_AS_STATE_CHG = 1, /* Application Server state change (AS_State_Change) */
213  M2UA_STP_OTHER = 2, /* Other */
214 };
215 
216 enum {
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 
231 enum {
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 
246 enum {
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