libosmo-sigtran: include/osmocom/sigtran/protocol/m3ua.h File Reference

libosmo-sigtran 2.2.1.95-893c Osmocom SIGTRAN library

Data Structures | Macros | Enumerations | Functions | Variables
m3ua.h File Reference
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures
struct | m3ua_data_hdr

## Macros
#define | M3UA_VERSION 1
#define | M3UA_PPID 3
#define | M3UA_PORT 2905
#define | M3UA_MSGC_MGMT 0
#define | M3UA_MSGC_XFER 1
#define | M3UA_MSGC_SNM 2
#define | M3UA_MSGC_ASPSM 3
#define | M3UA_MSGC_ASPTM 4
#define | M3UA_MSGC_RKM 9
#define | M3UA_MGMT_ERR 0
#define | M3UA_MGMT_NTFY 1
#define | M3UA_XFER_DATA 1
#define | M3UA_SNM_DUNA 1
#define | M3UA_SNM_DAVA 2
#define | M3UA_SNM_DAUD 3
#define | M3UA_SNM_SCON 4
#define | M3UA_SNM_DUPU 5
#define | M3UA_SNM_DRST 6
#define | M3UA_ASPSM_UP 1
#define | M3UA_ASPSM_DOWN 2
#define | M3UA_ASPSM_BEAT 3
#define | M3UA_ASPSM_UP_ACK 4
#define | M3UA_ASPSM_DOWN_ACK 5
#define | M3UA_ASPSM_BEAT_ACK 6
#define | M3UA_ASPTM_ACTIVE 1
#define | M3UA_ASPTM_INACTIVE 2
#define | M3UA_ASPTM_ACTIVE_ACK 3
#define | M3UA_ASPTM_INACTIVE_ACK 4
#define | M3UA_RKM_REG_REQ 1
#define | M3UA_RKM_REG_RSP 2
#define | M3UA_RKM_DEREG_REQ 3
#define | M3UA_RKM_DEREG_RSP 4
#define | M3UA_IEI_INFO_STRING 0x0004
#define | M3UA_IEI_ROUTE_CTX 0x0006
#define | M3UA_IEI_DIAG_INFO 0x0007
#define | M3UA_IEI_HEARDBT_DATA 0x0009
#define | M3UA_IEI_TRAF_MODE_TYP 0x000b
#define | M3UA_IEI_ERR_CODE 0x000c
#define | M3UA_IEI_STATUS 0x000d
#define | M3UA_IEI_ASP_ID 0x0011
#define | M3UA_IEI_AFFECTED_PC 0x0012
#define | M3UA_IEI_CORR_ID 0x0013
#define | M3UA_IEI_NET_APPEAR 0x0200
#define | M3UA_IEI_USER_CAUSE 0x0204
#define | M3UA_IEI_CONG_IND 0x0205
#define | M3UA_IEI_CONC_DEST 0x0206
#define | M3UA_IEI_ROUT_KEY 0x0207
#define | M3UA_IEI_REG_RESULT 0x0208
#define | M3UA_IEI_DEREG_RESULT 0x0209
#define | M3UA_IEI_LOC_RKEY_ID 0x020a
#define | M3UA_IEI_DEST_PC 0x020b
#define | M3UA_IEI_SVC_IND 0x020c
#define | M3UA_IEI_ORIG_PC 0x020e
#define | M3UA_IEI_PROT_DATA 0x0210
#define | M3UA_IEI_REG_STATUS 0x0212
#define | M3UA_IEI_DEREG_STATUS 0x0213
#define | M3UA_NOTIFY(type, info) ((info) << 16 | (type))
#define | M3UA_NOTIFY_T_STATCHG 1
#define | M3UA_NOTIFY_T_OTHER 2
#define | M3UA_NOTIFY_I_RESERVED 1
#define | M3UA_NOTIFY_I_AS_INACT 2
#define | M3UA_NOTIFY_I_AS_ACT 3
#define | M3UA_NOTIFY_I_AS_PEND 4
#define | M3UA_NOTIFY_I_OT_INS_RES 1
#define | M3UA_NOTIFY_I_OT_ALT_ASP_ACT 2
#define | M3UA_NOTIFY_I_OT_ASP_FAILURE 3

## Enumerations
enum | m3ua_rkm_reg_status { M3UA_RKM_REG_SUCCESS = 0 , M3UA_RKM_REG_ERR_UNKNOWN = 1 , M3UA_RKM_REG_ERR_INVAL_DPC = 2 , M3UA_RKM_REG_ERR_INVAL_NET_APPEAR = 3 , M3UA_RKM_REG_ERR_INVAL_RKEY = 4 , M3UA_RKM_REG_ERR_PERM_DENIED = 5 , M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT = 6 , M3UA_RKM_REG_ERR_RKEY_NOT_PROVD = 7 , M3UA_RKM_REG_ERR_INSUFF_RESRC = 8 , M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM = 9 , M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE = 10 , M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED = 11 , M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD = 12 }
enum | m3ua_rkm_dereg_satus { M3UA_RKM_DEREG_SUCCESS = 0 , M3UA_RKM_DEREG_ERR_UNKNOWN = 1 , M3UA_RKM_DEREG_ERR_INVAL_RCTX = 2 , M3UA_RKM_DEREG_ERR_PERM_DENIED = 3 , M3UA_RKM_DEREG_ERR_NOT_REGD = 4 , M3UA_RKM_DEREG_ERR_ASP_ACTIVE = 5 }
enum | m3ua_error_code { M3UA_ERR_INVALID_VERSION = 0x01 , M3UA_ERR_UNSUPP_MSG_CLASS = 0x03 , M3UA_ERR_UNSUPP_MSG_TYPE = 0x04 , M3UA_ERR_UNSUPP_TRAF_MOD_TYP = 0x05 , M3UA_ERR_UNEXPECTED_MSG = 0x06 , M3UA_ERR_PROTOCOL_ERR = 0x07 , M3UA_ERR_INVAL_STREAM_ID = 0x09 , M3UA_ERR_REFUSED_MGMT_BLOCKING = 0x0d , M3UA_ERR_ASP_ID_REQD = 0x0e , M3UA_ERR_INVAL_ASP_ID = 0x0f , M3UA_ERR_INVAL_PARAM_VAL = 0x11 , M3UA_ERR_PARAM_FIELD_ERR = 0x12 , M3UA_ERR_UNEXP_PARAM = 0x13 , M3UA_ERR_DEST_STATUS_UNKN = 0x14 , M3UA_ERR_INVAL_NET_APPEAR = 0x15 , M3UA_ERR_MISSING_PARAM = 0x16 , M3UA_ERR_INVAL_ROUT_CTX = 0x19 , M3UA_ERR_NO_CONFGD_AS_FOR_ASP = 0x1a }
enum | m3ua_traffic_mode { M3UA_TMOD_OVERRIDE = 1 , M3UA_TMOD_LOADSHARE = 2 , M3UA_TMOD_BCAST = 3 }

## Functions
struct m3ua_data_hdr | __attribute__ ((packed))

## Variables
uint32_t | opc
uint32_t | dpc
uint8_t | si
uint8_t | ni
uint8_t | mp
uint8_t | sls
enum m3ua_rkm_reg_status | __attribute__

## Macro Definition Documentation

## ◆ M3UA_ASPSM_BEAT

#define M3UA_ASPSM_BEAT 3

## ◆ M3UA_ASPSM_BEAT_ACK

#define M3UA_ASPSM_BEAT_ACK 6

## ◆ M3UA_ASPSM_DOWN

#define M3UA_ASPSM_DOWN 2

## ◆ M3UA_ASPSM_DOWN_ACK

#define M3UA_ASPSM_DOWN_ACK 5

## ◆ M3UA_ASPSM_UP

#define M3UA_ASPSM_UP 1

## ◆ M3UA_ASPSM_UP_ACK

#define M3UA_ASPSM_UP_ACK 4

## ◆ M3UA_ASPTM_ACTIVE

#define M3UA_ASPTM_ACTIVE 1

## ◆ M3UA_ASPTM_ACTIVE_ACK

#define M3UA_ASPTM_ACTIVE_ACK 3

## ◆ M3UA_ASPTM_INACTIVE

#define M3UA_ASPTM_INACTIVE 2

## ◆ M3UA_ASPTM_INACTIVE_ACK

#define M3UA_ASPTM_INACTIVE_ACK 4

## ◆ M3UA_IEI_AFFECTED_PC

#define M3UA_IEI_AFFECTED_PC 0x0012

## ◆ M3UA_IEI_ASP_ID

#define M3UA_IEI_ASP_ID 0x0011

## ◆ M3UA_IEI_CONC_DEST

#define M3UA_IEI_CONC_DEST 0x0206

## ◆ M3UA_IEI_CONG_IND

#define M3UA_IEI_CONG_IND 0x0205

## ◆ M3UA_IEI_CORR_ID

#define M3UA_IEI_CORR_ID 0x0013

## ◆ M3UA_IEI_DEREG_RESULT

#define M3UA_IEI_DEREG_RESULT 0x0209

## ◆ M3UA_IEI_DEREG_STATUS

#define M3UA_IEI_DEREG_STATUS 0x0213

## ◆ M3UA_IEI_DEST_PC

#define M3UA_IEI_DEST_PC 0x020b

## ◆ M3UA_IEI_DIAG_INFO

#define M3UA_IEI_DIAG_INFO 0x0007

## ◆ M3UA_IEI_ERR_CODE

#define M3UA_IEI_ERR_CODE 0x000c

## ◆ M3UA_IEI_HEARDBT_DATA

#define M3UA_IEI_HEARDBT_DATA 0x0009

## ◆ M3UA_IEI_INFO_STRING

#define M3UA_IEI_INFO_STRING 0x0004

## ◆ M3UA_IEI_LOC_RKEY_ID

#define M3UA_IEI_LOC_RKEY_ID 0x020a

## ◆ M3UA_IEI_NET_APPEAR

#define M3UA_IEI_NET_APPEAR 0x0200

## ◆ M3UA_IEI_ORIG_PC

#define M3UA_IEI_ORIG_PC 0x020e

## ◆ M3UA_IEI_PROT_DATA

#define M3UA_IEI_PROT_DATA 0x0210

## ◆ M3UA_IEI_REG_RESULT

#define M3UA_IEI_REG_RESULT 0x0208

## ◆ M3UA_IEI_REG_STATUS

#define M3UA_IEI_REG_STATUS 0x0212

## ◆ M3UA_IEI_ROUT_KEY

#define M3UA_IEI_ROUT_KEY 0x0207

## ◆ M3UA_IEI_ROUTE_CTX

#define M3UA_IEI_ROUTE_CTX 0x0006

## ◆ M3UA_IEI_STATUS

#define M3UA_IEI_STATUS 0x000d

## ◆ M3UA_IEI_SVC_IND

#define M3UA_IEI_SVC_IND 0x020c

## ◆ M3UA_IEI_TRAF_MODE_TYP

#define M3UA_IEI_TRAF_MODE_TYP 0x000b

## ◆ M3UA_IEI_USER_CAUSE

#define M3UA_IEI_USER_CAUSE 0x0204

## ◆ M3UA_MGMT_ERR

#define M3UA_MGMT_ERR 0

## ◆ M3UA_MGMT_NTFY

#define M3UA_MGMT_NTFY 1

## ◆ M3UA_MSGC_ASPSM

#define M3UA_MSGC_ASPSM 3

## ◆ M3UA_MSGC_ASPTM

#define M3UA_MSGC_ASPTM 4

## ◆ M3UA_MSGC_MGMT

#define M3UA_MSGC_MGMT 0

## ◆ M3UA_MSGC_RKM

#define M3UA_MSGC_RKM 9

## ◆ M3UA_MSGC_SNM

#define M3UA_MSGC_SNM 2

## ◆ M3UA_MSGC_XFER

#define M3UA_MSGC_XFER 1

## ◆ M3UA_NOTIFY

#define M3UA_NOTIFY | ( |  | type,
|  |  | info
| ) |  | ((info) << 16 | (type))

## ◆ M3UA_NOTIFY_I_AS_ACT

#define M3UA_NOTIFY_I_AS_ACT 3

## ◆ M3UA_NOTIFY_I_AS_INACT

#define M3UA_NOTIFY_I_AS_INACT 2

## ◆ M3UA_NOTIFY_I_AS_PEND

#define M3UA_NOTIFY_I_AS_PEND 4

## ◆ M3UA_NOTIFY_I_OT_ALT_ASP_ACT

#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT 2

## ◆ M3UA_NOTIFY_I_OT_ASP_FAILURE

#define M3UA_NOTIFY_I_OT_ASP_FAILURE 3

## ◆ M3UA_NOTIFY_I_OT_INS_RES

#define M3UA_NOTIFY_I_OT_INS_RES 1

## ◆ M3UA_NOTIFY_I_RESERVED

#define M3UA_NOTIFY_I_RESERVED 1

## ◆ M3UA_NOTIFY_T_OTHER

#define M3UA_NOTIFY_T_OTHER 2

## ◆ M3UA_NOTIFY_T_STATCHG

#define M3UA_NOTIFY_T_STATCHG 1

## ◆ M3UA_PORT

#define M3UA_PORT 2905

## ◆ M3UA_PPID

#define M3UA_PPID 3

## ◆ M3UA_RKM_DEREG_REQ

#define M3UA_RKM_DEREG_REQ 3

## ◆ M3UA_RKM_DEREG_RSP

#define M3UA_RKM_DEREG_RSP 4

## ◆ M3UA_RKM_REG_REQ

#define M3UA_RKM_REG_REQ 1

## ◆ M3UA_RKM_REG_RSP

#define M3UA_RKM_REG_RSP 2

## ◆ M3UA_SNM_DAUD

#define M3UA_SNM_DAUD 3

## ◆ M3UA_SNM_DAVA

#define M3UA_SNM_DAVA 2

## ◆ M3UA_SNM_DRST

#define M3UA_SNM_DRST 6

## ◆ M3UA_SNM_DUNA

#define M3UA_SNM_DUNA 1

## ◆ M3UA_SNM_DUPU

#define M3UA_SNM_DUPU 5

## ◆ M3UA_SNM_SCON

#define M3UA_SNM_SCON 4

## ◆ M3UA_VERSION

#define M3UA_VERSION 1

## ◆ M3UA_XFER_DATA

#define M3UA_XFER_DATA 1

## Enumeration Type Documentation

## ◆ m3ua_error_code

enum m3ua_error_code

Enumerator
M3UA_ERR_INVALID_VERSION |
M3UA_ERR_UNSUPP_MSG_CLASS |
M3UA_ERR_UNSUPP_MSG_TYPE |
M3UA_ERR_UNSUPP_TRAF_MOD_TYP |
M3UA_ERR_UNEXPECTED_MSG |
M3UA_ERR_PROTOCOL_ERR |
M3UA_ERR_INVAL_STREAM_ID |
M3UA_ERR_REFUSED_MGMT_BLOCKING |
M3UA_ERR_ASP_ID_REQD |
M3UA_ERR_INVAL_ASP_ID |
M3UA_ERR_INVAL_PARAM_VAL |
M3UA_ERR_PARAM_FIELD_ERR |
M3UA_ERR_UNEXP_PARAM |
M3UA_ERR_DEST_STATUS_UNKN |
M3UA_ERR_INVAL_NET_APPEAR |
M3UA_ERR_MISSING_PARAM |
M3UA_ERR_INVAL_ROUT_CTX |
M3UA_ERR_NO_CONFGD_AS_FOR_ASP |

## ◆ m3ua_rkm_dereg_satus

enum m3ua_rkm_dereg_satus

Enumerator
M3UA_RKM_DEREG_SUCCESS |
M3UA_RKM_DEREG_ERR_UNKNOWN |
M3UA_RKM_DEREG_ERR_INVAL_RCTX |
M3UA_RKM_DEREG_ERR_PERM_DENIED |
M3UA_RKM_DEREG_ERR_NOT_REGD |
M3UA_RKM_DEREG_ERR_ASP_ACTIVE |

## ◆ m3ua_rkm_reg_status

enum m3ua_rkm_reg_status

Enumerator
M3UA_RKM_REG_SUCCESS |
M3UA_RKM_REG_ERR_UNKNOWN |
M3UA_RKM_REG_ERR_INVAL_DPC |
M3UA_RKM_REG_ERR_INVAL_NET_APPEAR |
M3UA_RKM_REG_ERR_INVAL_RKEY |
M3UA_RKM_REG_ERR_PERM_DENIED |
M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT |
M3UA_RKM_REG_ERR_RKEY_NOT_PROVD |
M3UA_RKM_REG_ERR_INSUFF_RESRC |
M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM |
M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE |
M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED |
M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD |

## ◆ m3ua_traffic_mode

enum m3ua_traffic_mode

Enumerator
M3UA_TMOD_OVERRIDE |
M3UA_TMOD_LOADSHARE |
M3UA_TMOD_BCAST |

## Function Documentation

## ◆ __attribute__()

struct m3ua_data_hdr __attribute__ | ( | (packed) |  | ) |

## Variable Documentation

## ◆ __attribute__

struct xua_parameter_hdr __attribute__

## ◆ dpc

uint32_t dpc

Referenced by _rout_key(), DEFUN_ATTR(), dpc_accessible(), handle_rkey_reg(), ipa_rx_msg_up(), m3ua_encode_dupu(), m3ua_tx_dupu(), mtp3_hmdc_rx_from_l2(), mtp3_hmrt_message_for_routing(), mtp_prim_status_ind_alloc(), mtp_status_ind_up_to_all_users(), osmo_ss7_route_lookup(), patch_sccp_with_pc(), sccp_scmg_rx_mtp_pause(), sccp_scmg_rx_mtp_resume(), sccp_scmg_rx_mtp_status(), sccp_scmg_rx_ssn_allowed(), sccp_scmg_rx_ssn_prohibited(), ss7_instance_t8_inaccessible_sp_running(), ss7_instance_t8_inaccessible_sp_start(), ss7_route_table_dpc_is_accessible(), ss7_route_table_dpc_is_accessible_skip_as(), ss7_route_table_dpc_is_accessible_via_as(), ss7_route_table_find_combined_linkset(), ss7_route_table_find_combined_linkset_by_dpc(), ss7_route_table_find_combined_linkset_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask_as(), ss7_route_table_update_route_status_by_as(), sua_encode_dupu(), sua_tx_dupu(), tcap_as_rx_sccp_asp(), xua_snm_upu(), and xua_tx_upu().

## ◆ mp

uint8_t mp

## ◆ ni

uint8_t ni

Referenced by DEFUN_ATTR().

## ◆ opc

uint32_t opc

Referenced by ipa_rx_msg_up(), osmo_ss7_instance_calc_itu_as_ext_sls(), patch_sccp_with_pc(), and tcap_as_rx_sccp_asp().

## ◆ si

uint8_t si

Referenced by _rout_key().

## ◆ sls

uint8_t sls

Referenced by _ipa_asp_pick_unused_sls(), ipa_rx_msg(), ipa_rx_msg_up(), osmo_ss7_instance_calc_itu_as_ext_sls(), and sccp_conn_gen_tx_co_mtp_sls().