libosmo-sigtran  0.10.0
Osmocom SIGTRAN library
m2ua_types.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define M2UA_VERSION   1
 Types found in the M2UA RFC 3331. More...
 
#define M2UA_SPARE   0
 

Enumerations

enum  {
  M2UA_CLS_MGMT, M2UA_CLS_TRANS, M2UA_CLS_SSNM, M2UA_CLS_ASPSM,
  M2UA_CLS_ASPTM, M2UA_CLS_QPTM, M2UA_CLS_MAUP, M2UA_CLS_SUA_LESS,
  M2UA_CLS_SUA_CONN, M2UA_CLS_RKM, M2UA_CLS_IIM
}
 
enum  {
  M2UA_MAUP_RESERVED, M2UA_MAUP_DATA, M2UA_MAUP_EST_REQ, M2UA_MAUP_EST_CON,
  M2UA_MAUP_REL_REQ, M2UA_MAUP_REL_CON, M2UA_MAUP_REL_IND, M2UA_MAUP_STATE_REQ,
  M2UA_MAUP_STATE_CON, M2UA_MAUP_STATE_IND, M2UA_MAUP_RETR_REQ, M2UA_MAUP_D_RETR_CON,
  M2UA_MAUP_D_RETR_IND, M2UA_MAUP_D_RETR_COMPL, M2UA_MAUP_CONG_IND, M2UA_MAUP_DATA_ACK
}
 MTP2 User Adaption = MAUP messages. More...
 
enum  {
  M2UA_ASPSM_RESERVED, M2UA_ASPSM_UP, M2UA_ASPSM_DOWN, M2UA_ASPSM_BEAT,
  M2UA_ASPSM_UP_ACK, M2UA_ASPSM_DOWN_ACK, M2UA_ASPSM_BEAT_ACK
}
 Application Server Process State Maintaenance (ASPSM) messages. More...
 
enum  {
  M2UA_ASPTM_RESERVED, M2UA_ASPTM_ACTIV, M2UA_ASPTM_INACTIV, M2UA_ASPTM_ACTIV_ACK,
  M2UA_ASPTM_INACTIV_ACK
}
 Application Server Process Traffic Maintaenance (ASPTM) messages. More...
 
enum  { M2UA_MGMT_ERROR, M2UA_MGMT_NTFY }
 Management (MGMT) messages. More...
 
enum  {
  M2UA_IIM_RESERVED, M2UA_IIM_REG_REQ, M2UA_IIM_REG_RSP, M2UA_IIM_DEREG_REQ,
  M2UA_IIM_DEREG_RSP
}
 Interface Identifier Management (IIM) Messages. More...
 
enum  {
  __m2ua_tag_start = 767, M2UA_TAG_DATA, M2UA_TAG_DATA_TTC, M2UA_TAG_STATE_REQ,
  M2UA_TAG_STATE_EVENT, M2UA_TAG_CONG_STATUS, M2UA_TAG_DISC_STATUS, M2UA_TAG_ACTION,
  M2UA_TAG_SEQ_NO, M2UA_TAG_RETR_RES, M2UA_TAG_LNK_KEY, M2UA_TAG_L_LNK_KEY_ID,
  M2UA_TAG_SDT, M2UA_TAG_SDL, M2UA_TAG_REG_RES, M2UA_TAG_RES_STATUS,
  M2UA_TAG_DEREG_RES, M2UA_TAG_DEREG_STATUS
}
 Tag Values for M2UA. More...
 
enum  {
  M2UA_STATUS_LPO_SET, M2UA_STATUS_LPO_CLEAR, M2UA_STATUS_EMER_SET, M2UA_STATUS_EMER_CLEAR,
  M2UA_STATUS_FLUSH_BUFFERS, M2UA_STATUS_CONTINUE, M2UA_STATUS_CLEAR_RTB, M2UA_STATUS_AUDIT,
  M2UA_STATUS_CONG_CLEAR, M2UA_STATUS_CONG_ACCEPT, M2UA_STATUS_CONG_DISCARD
}
 3.3.1.5 State Request More...
 
enum  {
  __m2ua_event_dummy, M2UA_EVENT_RPO_ENTER, M2UA_EVENT_RPO_EXIT, M2UA_EVENT_LPO_ENTER,
  M2UA_EVENT_LPO_EXIT
}
 3.3.1.7 State Indication More...
 
enum  { M2UA_LEVEL_NONE, M2UA_LEVEL_1, M2UA_LEVEL_2, M2UA_LEVEL_3 }
 3.3.1.8 Congestion Indication More...
 
enum  { M2UA_ACTION_RTRV_BSN, M2UA_ACTION_RTRV_MSGS }
 3.3.1.9 Retrieval Request More...
 
enum  { M2UA_RESULT_SUCCESS, M2UA_RESULT_FAILURE }
 3.3.1.10 Retrieval Confirm More...
 
enum  { M2UA_TRA_OVERRIDE = 1, M2UA_TRA_LOAD_SHARE = 2, M2UA_TRA_BROADCAST = 3 }
 3.3.2.7 ASP Active (ASPAC) More...
 
enum  {
  __m2ua_err_unused, M2UA_ERR_INV_VER, M2UA_ERR_INV_INT_IDENT, M2UA_ERR_UNS_MSG_CLASS,
  M2UA_ERR_UNS_MSG_TYPE, M2UA_ERR_UNS_TRA_MODE, M2UA_ERR_UNE_MSG, M2UA_ERR_PROTO_ERROR,
  M2UA_ERR_UNS_INT_IDENT_T, M2UA_ERR_INV_STR_IDENT, M2UA_ERR_UNUSED1, M2UA_ERR_UNUSED2,
  M2UA_ERR_UNUSED3, M2UA_ERR_REFUSED, M2UA_ERR_ASP_IDENT_REQ, M2UA_ERR_INV_ASP_IDENT,
  M2UA_ERR_ASP_ACT_FOR_IDENT, M2UA_ERR_INV_PARAM_VAL, M2UA_ERR_PARAM_FIELD_ERR, M2UA_ERR_UNEXP_PARAM,
  M2UA_ERR_UNUSED4, M2UA_ERR_UNUSED5, M2UA_ERR_MISSING_PARAM
}
 3.3.3.1 Error (ERR) More...
 
enum  { M2UA_STP_AS_STATE_CHG = 1, M2UA_STP_OTHER = 2 }
 3.3.3.2 Notify (NTFY) More...
 
enum  {
  M2UA_STP_AS_INACTIVE = 2, M2UA_STP_AS_ACTIVE = 3, M2UA_STP_AS_PENDING = 4, M2UA_STP_O_INSUFF_ASP_RES = 1,
  M2UA_STP_O_ALT_ASP_ACTIVR = 2, M2UA_STP_O_ASP_FAILURE = 3
}
 
enum  {
  M2UA_REG_SUCC, M2UA_REG_ERR_UNK, M2UA_REG_ERR_INV_SDLI, M2UA_REG_ERR_INV_SDTI,
  M2UA_REG_ERR_INV_LNK_KEY, M2UA_REG_ERR_PERM_DENIED, M2UA_REG_ERR_OVERLAP_KEY, M2UA_REG_ERR_LNK_KEY_NOT_PROV,
  M2UA_REG_ERR_INSUFF_RES
}
 3.3.4.3 Registration Response (REG RSP) More...
 
enum  {
  M2UA_DEREG_SUCC, M2UA_DEREG_ERR_UNK, M2UA_DEREG_ERR_INV_IDENT, M2UA_DEREG_ERR_PERM_DENIED,
  M2UA_DEREG_ERR_NOT_REG
}
 3.3.4.4 De-Registration Response (DEREG RSP) More...
 

Macro Definition Documentation

◆ M2UA_SPARE

#define M2UA_SPARE   0

◆ M2UA_VERSION

#define M2UA_VERSION   1

Types found in the M2UA RFC 3331.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
M2UA_CLS_MGMT 
M2UA_CLS_TRANS 
M2UA_CLS_SSNM 
M2UA_CLS_ASPSM 
M2UA_CLS_ASPTM 
M2UA_CLS_QPTM 
M2UA_CLS_MAUP 
M2UA_CLS_SUA_LESS 
M2UA_CLS_SUA_CONN 
M2UA_CLS_RKM 
M2UA_CLS_IIM 

◆ anonymous enum

anonymous enum

MTP2 User Adaption = MAUP messages.

Enumerator
M2UA_MAUP_RESERVED 
M2UA_MAUP_DATA 
M2UA_MAUP_EST_REQ 
M2UA_MAUP_EST_CON 
M2UA_MAUP_REL_REQ 
M2UA_MAUP_REL_CON 
M2UA_MAUP_REL_IND 
M2UA_MAUP_STATE_REQ 
M2UA_MAUP_STATE_CON 
M2UA_MAUP_STATE_IND 
M2UA_MAUP_RETR_REQ 
M2UA_MAUP_D_RETR_CON 
M2UA_MAUP_D_RETR_IND 
M2UA_MAUP_D_RETR_COMPL 
M2UA_MAUP_CONG_IND 
M2UA_MAUP_DATA_ACK 

◆ anonymous enum

anonymous enum

3.3.1.9 Retrieval Request

Enumerator
M2UA_ACTION_RTRV_BSN 
M2UA_ACTION_RTRV_MSGS 

◆ anonymous enum

anonymous enum

3.3.1.10 Retrieval Confirm

Enumerator
M2UA_RESULT_SUCCESS 
M2UA_RESULT_FAILURE 

◆ anonymous enum

anonymous enum

3.3.2.7 ASP Active (ASPAC)

Enumerator
M2UA_TRA_OVERRIDE 
M2UA_TRA_LOAD_SHARE 
M2UA_TRA_BROADCAST 

◆ anonymous enum

anonymous enum

3.3.3.1 Error (ERR)

Enumerator
__m2ua_err_unused 
M2UA_ERR_INV_VER 
M2UA_ERR_INV_INT_IDENT 
M2UA_ERR_UNS_MSG_CLASS 
M2UA_ERR_UNS_MSG_TYPE 
M2UA_ERR_UNS_TRA_MODE 
M2UA_ERR_UNE_MSG 
M2UA_ERR_PROTO_ERROR 
M2UA_ERR_UNS_INT_IDENT_T 
M2UA_ERR_INV_STR_IDENT 
M2UA_ERR_UNUSED1 
M2UA_ERR_UNUSED2 
M2UA_ERR_UNUSED3 
M2UA_ERR_REFUSED 
M2UA_ERR_ASP_IDENT_REQ 
M2UA_ERR_INV_ASP_IDENT 
M2UA_ERR_ASP_ACT_FOR_IDENT 
M2UA_ERR_INV_PARAM_VAL 
M2UA_ERR_PARAM_FIELD_ERR 
M2UA_ERR_UNEXP_PARAM 
M2UA_ERR_UNUSED4 
M2UA_ERR_UNUSED5 
M2UA_ERR_MISSING_PARAM 

◆ anonymous enum

anonymous enum

3.3.3.2 Notify (NTFY)

Enumerator
M2UA_STP_AS_STATE_CHG 
M2UA_STP_OTHER 

◆ anonymous enum

anonymous enum
Enumerator
M2UA_STP_AS_INACTIVE 
M2UA_STP_AS_ACTIVE 
M2UA_STP_AS_PENDING 
M2UA_STP_O_INSUFF_ASP_RES 
M2UA_STP_O_ALT_ASP_ACTIVR 
M2UA_STP_O_ASP_FAILURE 

◆ anonymous enum

anonymous enum

3.3.4.3 Registration Response (REG RSP)

Enumerator
M2UA_REG_SUCC 
M2UA_REG_ERR_UNK 
M2UA_REG_ERR_INV_SDLI 
M2UA_REG_ERR_INV_SDTI 
M2UA_REG_ERR_INV_LNK_KEY 
M2UA_REG_ERR_PERM_DENIED 
M2UA_REG_ERR_OVERLAP_KEY 
M2UA_REG_ERR_LNK_KEY_NOT_PROV 
M2UA_REG_ERR_INSUFF_RES 

◆ anonymous enum

anonymous enum

3.3.4.4 De-Registration Response (DEREG RSP)

Enumerator
M2UA_DEREG_SUCC 
M2UA_DEREG_ERR_UNK 
M2UA_DEREG_ERR_INV_IDENT 
M2UA_DEREG_ERR_PERM_DENIED 
M2UA_DEREG_ERR_NOT_REG 

◆ anonymous enum

anonymous enum

Application Server Process State Maintaenance (ASPSM) messages.

Enumerator
M2UA_ASPSM_RESERVED 
M2UA_ASPSM_UP 
M2UA_ASPSM_DOWN 
M2UA_ASPSM_BEAT 
M2UA_ASPSM_UP_ACK 
M2UA_ASPSM_DOWN_ACK 
M2UA_ASPSM_BEAT_ACK 

◆ anonymous enum

anonymous enum

Application Server Process Traffic Maintaenance (ASPTM) messages.

Enumerator
M2UA_ASPTM_RESERVED 
M2UA_ASPTM_ACTIV 
M2UA_ASPTM_INACTIV 
M2UA_ASPTM_ACTIV_ACK 
M2UA_ASPTM_INACTIV_ACK 

◆ anonymous enum

anonymous enum

Management (MGMT) messages.

Enumerator
M2UA_MGMT_ERROR 
M2UA_MGMT_NTFY 

◆ anonymous enum

anonymous enum

Interface Identifier Management (IIM) Messages.

Enumerator
M2UA_IIM_RESERVED 
M2UA_IIM_REG_REQ 
M2UA_IIM_REG_RSP 
M2UA_IIM_DEREG_REQ 
M2UA_IIM_DEREG_RSP 

◆ anonymous enum

anonymous enum

Tag Values for M2UA.

Enumerator
__m2ua_tag_start 
M2UA_TAG_DATA 
M2UA_TAG_DATA_TTC 
M2UA_TAG_STATE_REQ 
M2UA_TAG_STATE_EVENT 
M2UA_TAG_CONG_STATUS 
M2UA_TAG_DISC_STATUS 
M2UA_TAG_ACTION 
M2UA_TAG_SEQ_NO 
M2UA_TAG_RETR_RES 
M2UA_TAG_LNK_KEY 
M2UA_TAG_L_LNK_KEY_ID 
M2UA_TAG_SDT 
M2UA_TAG_SDL 
M2UA_TAG_REG_RES 
M2UA_TAG_RES_STATUS 
M2UA_TAG_DEREG_RES 
M2UA_TAG_DEREG_STATUS 

◆ anonymous enum

anonymous enum

3.3.1.5 State Request

Enumerator
M2UA_STATUS_LPO_SET 
M2UA_STATUS_LPO_CLEAR 
M2UA_STATUS_EMER_SET 
M2UA_STATUS_EMER_CLEAR 
M2UA_STATUS_FLUSH_BUFFERS 
M2UA_STATUS_CONTINUE 
M2UA_STATUS_CLEAR_RTB 
M2UA_STATUS_AUDIT 
M2UA_STATUS_CONG_CLEAR 
M2UA_STATUS_CONG_ACCEPT 
M2UA_STATUS_CONG_DISCARD 

◆ anonymous enum

anonymous enum

3.3.1.7 State Indication

Enumerator
__m2ua_event_dummy 
M2UA_EVENT_RPO_ENTER 
M2UA_EVENT_RPO_EXIT 
M2UA_EVENT_LPO_ENTER 
M2UA_EVENT_LPO_EXIT 

◆ anonymous enum

anonymous enum

3.3.1.8 Congestion Indication

Enumerator
M2UA_LEVEL_NONE 
M2UA_LEVEL_1 
M2UA_LEVEL_2 
M2UA_LEVEL_3 
xua_class_iei_name
const char * xua_class_iei_name(const struct xua_msg_class *xmc, uint16_t iei)
Definition: xua_msg.c:422
m3ua_rx_rkm_dereg_req
static int m3ua_rx_rkm_dereg_req(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:368
xua_parameter_hdr
Definition: xua_types.h:41
M3UA_RKM_REG_SUCCESS
@ M3UA_RKM_REG_SUCCESS
Definition: m3ua.h:121
osmo_xlm_prim::u
union osmo_xlm_prim::@31 u
xua_msg_part::entry
struct llist_head entry
Definition: xua_msg.h:39
xua_msg_copy_part
int xua_msg_copy_part(struct xua_msg *xua_out, uint16_t tag_out, const struct xua_msg *xua_in, uint16_t tag_in)
Definition: xua_msg.c:111
xua_msg_get_u32
uint32_t xua_msg_get_u32(struct xua_msg *xua, uint16_t iei)
Definition: xua_msg.c:292
osmo_xlm_prim::oph
struct osmo_prim_hdr oph
Definition: sigtran_sap.h:67
osmo_ss7_route::as
struct osmo_ss7_as * as
pointer to Application Server
Definition: osmo_ss7.h:213
M3UA_IEI_DEREG_STATUS
#define M3UA_IEI_DEREG_STATUS
Definition: m3ua.h:92
M3UA_RKM_DEREG_ERR_UNKNOWN
@ M3UA_RKM_DEREG_ERR_UNKNOWN
Definition: m3ua.h:138
osmo_ss7_as
Definition: osmo_ss7.h:288
msgb_append_dereg_res
static int msgb_append_dereg_res(struct msgb *msg, uint32_t status, uint32_t rctx)
Definition: xua_rkm.c:94
M3UA_IEI_SVC_IND
#define M3UA_IEI_SVC_IND
Definition: m3ua.h:88
osmo_ss7_instance::cfg
struct osmo_ss7_instance::@20 cfg
osmo_ss7_as_traffic_mode
osmo_ss7_as_traffic_mode
Definition: osmo_ss7.h:254
msgb_push_m3ua_hdr
static void msgb_push_m3ua_hdr(struct msgb *msg, uint8_t msg_class, uint8_t msg_type)
Definition: xua_rkm.c:62
osmo_ss7_as::fi
struct osmo_fsm_inst * fi
AS FSM.
Definition: osmo_ss7.h:294
xua_msg_free_tag
int xua_msg_free_tag(struct xua_msg *xua, uint16_t tag)
Definition: xua_msg.c:97
M3UA_RKM_DEREG_REQ
#define M3UA_RKM_DEREG_REQ
Definition: m3ua.h:63
msgb_t16l16vp_put_u32
int msgb_t16l16vp_put_u32(struct msgb *msg, uint16_t tag, uint32_t val)
Definition: xua_msg.c:273
osmo_sccp_addr
Definition: sccp_sap.h:151
osmo_ss7_routing_key::l_rk_id
uint32_t l_rk_id
Definition: osmo_ss7.h:248
osmo_ss7_route_create
struct osmo_ss7_route * osmo_ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask, const char *linkset_name)
Create a new route in the given routing table.
Definition: osmo_ss7.c:782
xua_parameter_hdr::data
uint8_t data[0]
Definition: xua_types.h:44
m3ua_rkm_reg_status_vals
const struct value_string m3ua_rkm_reg_status_vals[]
Definition: xua_rkm.c:34
osmo_sccp_addr::pc
uint32_t pc
Definition: sccp_sap.h:155
append_to_buf
static void append_to_buf(char *buf, bool *comma, const char *fmt,...)
Definition: xua_msg.c:481
OSMO_SCCP_ADDR_T_PC
#define OSMO_SCCP_ADDR_T_PC
Definition: sccp_sap.h:50
osmo_sccp_gt::npi
uint32_t npi
Definition: sccp_sap.h:146
osmo_ss7_routing_key
Definition: osmo_ss7.h:244
xua_from_msg
struct xua_msg * xua_from_msg(const int version, uint16_t len, uint8_t *data)
Definition: xua_msg.c:151
m3ua_rx_rkm_reg_rsp
static int m3ua_rx_rkm_reg_rsp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:418
dpc
uint32_t dpc
Definition: m3ua.h:1
osmo_sccp_addr::presence
uint32_t presence
Definition: sccp_sap.h:152
M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT
@ M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT
Definition: m3ua.h:127
osmo_sccp_addr::v4
struct in_addr v4
Definition: sccp_sap.h:158
osmo_xlm_prim::rk_reg
struct osmo_xlm_prim_rk_reg rk_reg
Definition: sigtran_sap.h:71
OSMO_SS7_ASP_PROT_M3UA
@ OSMO_SS7_ASP_PROT_M3UA
Definition: osmo_ss7.h:273
xua_to_msg
struct msgb * xua_to_msg(const int version, struct xua_msg *xua)
Definition: xua_msg.c:203
osmo_xlm_prim_rk_reg::traf_mode
enum osmo_ss7_as_traffic_mode traf_mode
Definition: sigtran_sap.h:53
osmo_xlm_prim_rk_reg::status
uint32_t status
Definition: sigtran_sap.h:56
M3UA_RKM_REG_ERR_INVAL_RKEY
@ M3UA_RKM_REG_ERR_INVAL_RKEY
Definition: m3ua.h:125
M3UA_MSGC_RKM
#define M3UA_MSGC_RKM
Definition: m3ua.h:34
SUA_RI_SSN_PC
#define SUA_RI_SSN_PC
Definition: sua.h:129
xua_dialect
Definition: xua_msg.h:55
osmo_ss7_as::rkm_dyn_allocated
bool rkm_dyn_allocated
Were we dynamically allocated by RKM?
Definition: osmo_ss7.h:297
OSMO_XLM_PRIM_M_RK_DEREG
@ OSMO_XLM_PRIM_M_RK_DEREG
Definition: sigtran_sap.h:31
SUA_RI_GT
#define SUA_RI_GT
Definition: sua.h:128
msgb_t16l16vp_put_u32
int msgb_t16l16vp_put_u32(struct msgb *msg, uint16_t tag, uint32_t val)
Definition: xua_msg.c:273
osmo_ss7_routing_key::pc
uint32_t pc
Definition: osmo_ss7.h:250
msgb_append_reg_res
static int msgb_append_reg_res(struct msgb *msg, uint32_t local_rk_id, uint32_t status, uint32_t rctx)
Definition: xua_rkm.c:77
osmo_ss7_as::mode
enum osmo_ss7_as_traffic_mode mode
Definition: osmo_ss7.h:304
xua_class_msg_name
const char * xua_class_msg_name(const struct xua_msg_class *xmc, uint16_t msg_type)
Definition: xua_msg.c:410
xua_dialect::class
const struct xua_msg_class * class[256]
Definition: xua_msg.h:60
osmo_ss7_asp_send
int osmo_ss7_asp_send(struct osmo_ss7_asp *asp, struct msgb *msg)
send a fully encoded msgb via a given ASP
Definition: osmo_ss7.c:1715
xua_as_fsm.h
xua_msg_part::dat
uint8_t * dat
Definition: xua_msg.h:43
osmo_ss7_as_add_asp
int osmo_ss7_as_add_asp(struct osmo_ss7_as *as, const char *asp_name)
Add given ASP to given AS.
Definition: osmo_ss7.c:957
osmo_ss7_asp::inst
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:355
M3UA_RKM_REG_ERR_UNKNOWN
@ M3UA_RKM_REG_ERR_UNKNOWN
Definition: m3ua.h:122
osmo_ss7_instance::permit_dyn_rkm_alloc
bool permit_dyn_rkm_alloc
Definition: osmo_ss7.h:100
osmo_ss7_as::cfg
struct osmo_ss7_as::@25 cfg
xua_common_hdr::version
uint8_t version
Definition: xua_types.h:32
OSMO_SCCP_ADDR_T_IPv4
#define OSMO_SCCP_ADDR_T_IPv4
Definition: sccp_sap.h:52
xua_msg_class::iei_names
const struct value_string * iei_names
Definition: xua_msg.h:51
SUA_IEI_GT
#define SUA_IEI_GT
Definition: sua.h:121
M3UA_IEI_NET_APPEAR
#define M3UA_IEI_NET_APPEAR
Definition: m3ua.h:79
xua_msg_event_map
Definition: xua_msg.h:63
data
uint8_t data[0]
Definition: xua_types.h:5
xua_from_nested
struct xua_msg * xua_from_nested(struct xua_msg_part *outer)
Definition: xua_msg.c:186
sua.h
OSMO_SCCP_ADDR_T_SSN
#define OSMO_SCCP_ADDR_T_SSN
Definition: sccp_sap.h:51
M3UA_VERSION
#define M3UA_VERSION
Definition: m3ua.h:24
M3UA_IEI_LOC_RKEY_ID
#define M3UA_IEI_LOC_RKEY_ID
Definition: m3ua.h:86
xua_internal.h
osmo_xlm_prim::rk_dereg
struct osmo_xlm_prim_rk_dereg rk_dereg
Definition: sigtran_sap.h:72
osmo_ss7_instance
Definition: osmo_ss7.h:70
OSMO_SCCP_ADDR_T_GT
#define OSMO_SCCP_ADDR_T_GT
Definition: sccp_sap.h:49
M3UA_RKM_DEREG_RSP
#define M3UA_RKM_DEREG_RSP
Definition: m3ua.h:64
osmo_ss7_pointcode_print
const char * osmo_ss7_pointcode_print(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:274
xua_common_hdr::msg_length
uint32_t msg_length
Definition: xua_types.h:36
M3UA_RKM_REG_ERR_RKEY_NOT_PROVD
@ M3UA_RKM_REG_ERR_RKEY_NOT_PROVD
Definition: m3ua.h:128
xua_from_nested
struct xua_msg * xua_from_nested(struct xua_msg_part *outer)
Definition: xua_msg.c:186
handle_rkey_dereg_resp
static int handle_rkey_dereg_resp(struct osmo_ss7_asp *asp, struct xua_msg *inner)
Definition: xua_rkm.c:441
M3UA_RKM_REG_ERR_INVAL_DPC
@ M3UA_RKM_REG_ERR_INVAL_DPC
Definition: m3ua.h:123
OSMO_SCCP_RI_SSN_PC
@ OSMO_SCCP_RI_SSN_PC
Definition: sccp_sap.h:59
osmo_ss7_tmode_from_xua
enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua(uint32_t in)
Definition: osmo_ss7.c:1903
xua_msg_find_tag
struct xua_msg_part * xua_msg_find_tag(const struct xua_msg *msg, uint16_t tag)
Definition: xua_msg.c:86
M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE
@ M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE
Definition: m3ua.h:131
xua_msg_class::mand_ies
const uint16_t * mand_ies[256]
Definition: xua_msg.h:52
M3UA_IEI_TRAF_MODE_TYP
#define M3UA_IEI_TRAF_MODE_TYP
Definition: m3ua.h:70
xua_parameter_hdr::len
uint16_t len
Definition: xua_types.h:43
M3UA_RKM_DEREG_ERR_PERM_DENIED
@ M3UA_RKM_DEREG_ERR_PERM_DENIED
Definition: m3ua.h:140
osmo_sccp_gt::tt
uint8_t tt
Definition: sccp_sap.h:145
M3UA_TMOD_OVERRIDE
@ M3UA_TMOD_OVERRIDE
Definition: m3ua.h:176
xua_dialect::name
const char * name
Definition: xua_msg.h:56
xua_dialect_check_all_mand_ies
int xua_dialect_check_all_mand_ies(const struct xua_dialect *dialect, struct xua_msg *xua)
Definition: xua_msg.c:449
SUA_IEI_SSN
#define SUA_IEI_SSN
Definition: sua.h:123
xua_msg_event_map::event
int event
Definition: xua_msg.h:66
M3UA_IEI_ORIG_PC
#define M3UA_IEI_ORIG_PC
Definition: m3ua.h:89
xua_common_hdr
Definition: xua_types.h:31
osmo_ss7_as_find_or_create
struct osmo_ss7_as * osmo_ss7_as_find_or_create(struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto)
Find or Create Application Server.
Definition: osmo_ss7.c:924
OSMO_XLM_PRIM_M_RK_REG
@ OSMO_XLM_PRIM_M_RK_REG
Definition: sigtran_sap.h:30
osmo_ss7_asp::name
char * name
Definition: osmo_ss7.h:385
M3UA_RKM_DEREG_ERR_INVAL_RCTX
@ M3UA_RKM_DEREG_ERR_INVAL_RCTX
Definition: m3ua.h:139
M3UA_IEI_REG_STATUS
#define M3UA_IEI_REG_STATUS
Definition: m3ua.h:91
handle_rkey_reg
static int handle_rkey_reg(struct osmo_ss7_asp *asp, struct xua_msg *inner, struct msgb *resp, struct osmo_ss7_as **newly_assigned_as, unsigned int max_nas_idx, unsigned int *nas_idx)
Definition: xua_rkm.c:149
tag
uint16_t tag
Definition: xua_types.h:0
osmo_ss7_as::description
char * description
Definition: osmo_ss7.h:301
m3ua.h
xua_common_hdr::msg_class
uint8_t msg_class
Definition: xua_types.h:34
xua_msg::hdr
struct xua_common_hdr hdr
Definition: xua_msg.h:32
handle_rkey_reg_resp
static int handle_rkey_reg_resp(struct osmo_ss7_asp *asp, struct xua_msg *inner)
Definition: xua_rkm.c:387
xua_rkm_send_reg_req
static void xua_rkm_send_reg_req(struct osmo_ss7_asp *asp, const struct osmo_ss7_routing_key *rkey, enum osmo_ss7_as_traffic_mode traf_mode)
Definition: xua_rkm.c:110
SUA_IEI_IPv4
#define SUA_IEI_IPv4
Definition: sua.h:124
osmo_ss7_route_destroy
void osmo_ss7_route_destroy(struct osmo_ss7_route *rt)
Destroy a given SS7 route.
Definition: osmo_ss7.c:821
SUA_IEI_PC
#define SUA_IEI_PC
Definition: sua.h:122
xua_msg_add_u32
int xua_msg_add_u32(struct xua_msg *xua, uint16_t iei, uint32_t val)
Definition: xua_msg.c:280
XUA_ASPAS_ASP_INACTIVE_IND
@ XUA_ASPAS_ASP_INACTIVE_IND
Definition: xua_as_fsm.h:6
osmo_ss7.h
osmo_xlm_sap_down
int osmo_xlm_sap_down(struct osmo_ss7_asp *asp, struct osmo_prim_hdr *oph)
Definition: xua_rkm.c:526
osmo_ss7_as_has_asp
bool osmo_ss7_as_has_asp(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp)
Determine if given AS contains ASP.
Definition: osmo_ss7.c:1037
xua_msg_part
Definition: xua_msg.h:38
xua_msg_alloc
struct xua_msg * xua_msg_alloc(void)
Definition: xua_msg.c:44
SUA_RI_SSN_IP
#define SUA_RI_SSN_IP
Definition: sua.h:131
M3UA_RKM_DEREG_ERR_NOT_REGD
@ M3UA_RKM_DEREG_ERR_NOT_REGD
Definition: m3ua.h:141
MAX_NEW_AS
#define MAX_NEW_AS
Definition: xua_rkm.c:146
M3UA_IEI_DEST_PC
#define M3UA_IEI_DEST_PC
Definition: m3ua.h:87
osmo_ss7_route_find_dpc
struct osmo_ss7_route * osmo_ss7_route_find_dpc(struct osmo_ss7_route_table *rtbl, uint32_t dpc)
Find a SS7 route for given destination point code in given table.
Definition: osmo_ss7.c:711
msgb_t16l16vp_put
int msgb_t16l16vp_put(struct msgb *msg, uint16_t tag, uint16_t len, const uint8_t *data)
Definition: xua_msg.c:247
xua_msg_free
void xua_msg_free(struct xua_msg *msg)
Definition: xua_msg.c:56
osmo_ss7_instance::rtable_system
struct osmo_ss7_route_table * rtable_system
Definition: osmo_ss7.h:87
xua_part_add_gt
void xua_part_add_gt(struct msgb *msg, const struct osmo_sccp_gt *gt)
Definition: xua_msg.c:300
M3UA_IEI_ROUT_KEY
#define M3UA_IEI_ROUT_KEY
Definition: m3ua.h:83
xua_msg.h
osmo_sccp_gt::digits
char digits[32]
Definition: sccp_sap.h:148
M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED
@ M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED
Definition: m3ua.h:132
xua_msg_class::msgt_names
const struct value_string * msgt_names
Definition: xua_msg.h:50
osmo_xlm_prim_rk_dereg::route_ctx
uint32_t route_ctx
Definition: sigtran_sap.h:60
osmo_ss7_instance::as_list
struct llist_head as_list
list of osmo_ss7_as
Definition: osmo_ss7.h:76
xua_msg::headers
struct llist_head headers
Definition: xua_msg.h:35
osmo_ss7_as_del_asp
int osmo_ss7_as_del_asp(struct osmo_ss7_as *as, const char *asp_name)
Delete given ASP from given AS.
Definition: osmo_ss7.c:987
sccp_sap.h
xua_msg_get_u32
uint32_t xua_msg_get_u32(struct xua_msg *xua, uint16_t iei)
Definition: xua_msg.c:292
osmo_sccp_gt
Definition: sccp_sap.h:143
xua_msg_dump
char * xua_msg_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:494
xua_asp_send_xlm_prim
void xua_asp_send_xlm_prim(struct osmo_ss7_asp *asp, struct osmo_xlm_prim *prim)
Definition: xua_asp_fsm.c:117
osmo_ss7_tmode_to_xua
int osmo_ss7_tmode_to_xua(enum osmo_ss7_as_traffic_mode tmod)
Definition: osmo_ss7.c:1889
msg_class
uint8_t msg_class
Definition: xua_types.h:2
m3ua_rx_rkm_reg_req
static int m3ua_rx_rkm_reg_req(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:270
xua_msg_part::tag
uint16_t tag
Definition: xua_msg.h:41
xua_msg_find_tag
struct xua_msg_part * xua_msg_find_tag(const struct xua_msg *xua, uint16_t tag)
Definition: xua_msg.c:86
M3UA_RKM_REG_ERR_PERM_DENIED
@ M3UA_RKM_REG_ERR_PERM_DENIED
Definition: m3ua.h:126
M3UA_TMOD_BCAST
@ M3UA_TMOD_BCAST
Definition: m3ua.h:178
xua_from_msg_common
static int xua_from_msg_common(struct xua_msg *msg, const uint8_t *data, uint16_t pos, uint16_t len)
Definition: xua_msg.c:123
xua_msg_add_data
int xua_msg_add_data(struct xua_msg *msg, uint16_t tag, uint16_t len, uint8_t *dat)
Definition: xua_msg.c:61
osmo_ss7_as::list
struct llist_head list
entry in 'ref osmo_ss7_instance.as_list
Definition: osmo_ss7.h:290
m3ua_msgb_alloc
struct msgb * m3ua_msgb_alloc(const char *name)
Definition: m3ua.c:315
osmo_sccp_gt::nai
uint32_t nai
Definition: sccp_sap.h:147
xua_msg_event_map::msg_class
uint8_t msg_class
Definition: xua_msg.h:64
osmo_ss7_asp::cfg
struct osmo_ss7_asp::@27 cfg
osmo_ss7_as::routing_key
struct osmo_ss7_routing_key routing_key
Definition: osmo_ss7.h:303
M3UA_RKM_REG_RSP
#define M3UA_RKM_REG_RSP
Definition: m3ua.h:62
M3UA_RKM_DEREG_SUCCESS
@ M3UA_RKM_DEREG_SUCCESS
Definition: m3ua.h:137
len
uint16_t len
Definition: xua_types.h:1
osmo_ss7_as_find_by_rctx
struct osmo_ss7_as * osmo_ss7_as_find_by_rctx(struct osmo_ss7_instance *inst, uint32_t rctx)
Find Application Server by given routing context.
Definition: osmo_ss7.c:854
M3UA_RKM_REG_REQ
#define M3UA_RKM_REG_REQ
Definition: m3ua.h:61
osmo_sccp_addr::ip
union osmo_sccp_addr::@29 ip
xua_msg_add_sccp_addr
int xua_msg_add_sccp_addr(struct xua_msg *xua, uint16_t iei, const struct osmo_sccp_addr *addr)
Definition: xua_msg.c:338
M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM
@ M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM
Definition: m3ua.h:130
osmo_ss7_route
Definition: osmo_ss7.h:201
m3ua_rx_rkm_dereg_rsp
static int m3ua_rx_rkm_dereg_rsp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:470
M3UA_IEI_DEREG_RESULT
#define M3UA_IEI_DEREG_RESULT
Definition: m3ua.h:85
m3ua_rx_rkm
int m3ua_rx_rkm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:493
xua_msg_free
void xua_msg_free(struct xua_msg *msg)
Definition: xua_msg.c:56
osmo_ss7_find_free_rctx
int osmo_ss7_find_free_rctx(struct osmo_ss7_instance *inst)
Definition: osmo_ss7.c:92
xua_msg_class::name
const char * name
Definition: xua_msg.h:49
OSMO_SCCP_ADDR_T_IPv6
#define OSMO_SCCP_ADDR_T_IPv6
Definition: sccp_sap.h:53
M3UA_TMOD_LOADSHARE
@ M3UA_TMOD_LOADSHARE
Definition: m3ua.h:177
osmo_xlm_prim_rk_reg::key
struct osmo_ss7_routing_key key
Definition: sigtran_sap.h:52
osmo_xua_msg_tall_ctx_init
void osmo_xua_msg_tall_ctx_init(void *ctx)
Definition: xua_msg.c:39
LOGPASP
#define LOGPASP(asp, subsys, level, fmt, args ...)
Definition: osmo_ss7.h:422
xua_common_hdr::spare
uint8_t spare
Definition: xua_types.h:33
M3UA_RKM_DEREG_ERR_ASP_ACTIVE
@ M3UA_RKM_DEREG_ERR_ASP_ACTIVE
Definition: m3ua.h:142
xua_parameter_hdr::tag
uint16_t tag
Definition: xua_types.h:42
xua_xlm_prim_alloc
struct osmo_xlm_prim * xua_xlm_prim_alloc(enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
Definition: xua_asp_fsm.c:102
xua_hdr_dump
char * xua_hdr_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:434
xua_rkm_cleanup_dyn_as_for_asp
void xua_rkm_cleanup_dyn_as_for_asp(struct osmo_ss7_asp *asp)
Definition: xua_rkm.c:553
osmo_ss7_asp
Definition: osmo_ss7.h:352
xua_dialect::log_subsys
int log_subsys
Definition: xua_msg.h:59
M3UA_IEI_REG_RESULT
#define M3UA_IEI_REG_RESULT
Definition: m3ua.h:84
OSMO_SCCP_RI_GT
@ OSMO_SCCP_RI_GT
Definition: sccp_sap.h:58
xua_common_hdr::msg_type
uint8_t msg_type
Definition: xua_types.h:35
handle_rkey_dereg
static int handle_rkey_dereg(struct osmo_ss7_asp *asp, uint32_t rctx, struct msgb *resp)
Definition: xua_rkm.c:318
xua_msg_class
Definition: xua_msg.h:48
xua_msg_event_map::msg_type
uint8_t msg_type
Definition: xua_msg.h:65
osmo_xlm_prim
Definition: sigtran_sap.h:66
M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD
@ M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD
Definition: m3ua.h:133
osmo_xlm_prim_rk_dereg::status
uint32_t status
Definition: sigtran_sap.h:63
osmo_ss7_routing_key::context
uint32_t context
Definition: osmo_ss7.h:247
msg_type
uint8_t msg_type
Definition: xua_types.h:3
xua_msg_part::len
uint16_t len
Definition: xua_msg.h:42
osmo_ss7_as_destroy
void osmo_ss7_as_destroy(struct osmo_ss7_as *as)
Destroy given Application Server.
Definition: osmo_ss7.c:1012
M3UA_RKM_REG_ERR_INVAL_NET_APPEAR
@ M3UA_RKM_REG_ERR_INVAL_NET_APPEAR
Definition: m3ua.h:124
osmo_sccp_addr::gt
struct osmo_sccp_gt gt
Definition: sccp_sap.h:154
osmo_sccp_gt::gti
uint8_t gti
Definition: sccp_sap.h:144
xua_msg
Definition: xua_msg.h:31
m3ua_rkm_dereg_status_vals
const struct value_string m3ua_rkm_dereg_status_vals[]
Definition: xua_rkm.c:51
osmo_sccp_addr::ri
enum osmo_sccp_routing_ind ri
Definition: sccp_sap.h:153
osmo_xlm_prim_name
char * osmo_xlm_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:81
osmo_ss7_as::inst
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:291
OSMO_SCCP_RI_SSN_IP
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:60
xua_rkm_send_dereg_req
static void xua_rkm_send_dereg_req(struct osmo_ss7_asp *asp, uint32_t route_ctx)
Definition: xua_rkm.c:132
xua_msg_event_map
int xua_msg_event_map(const struct xua_msg *xua, const struct xua_msg_event_map *maps, unsigned int num_maps)
Map from a xua_msg (class+type) to an event.
Definition: xua_msg.c:394
XUA_ASPAS_ASP_DOWN_IND
@ XUA_ASPAS_ASP_DOWN_IND
Definition: xua_as_fsm.h:7
version
uint8_t version
Definition: xua_types.h:0
tall_xua
static void * tall_xua
Definition: xua_msg.c:36
M3UA_IEI_ROUTE_CTX
#define M3UA_IEI_ROUTE_CTX
Definition: m3ua.h:67
M3UA_RKM_REG_ERR_INSUFF_RESRC
@ M3UA_RKM_REG_ERR_INSUFF_RESRC
Definition: m3ua.h:129
xua_msg_part_get_u32
uint32_t xua_msg_part_get_u32(struct xua_msg_part *part)
Definition: xua_msg.c:286
osmo_sccp_addr::ssn
uint32_t ssn
Definition: sccp_sap.h:156