libosmo-sigtran  1.7.1
Osmocom SIGTRAN library
xua_as_fsm.h
Go to the documentation of this file.
1 #pragma once
2 
3 struct osmo_ss7_as;
4 
10 };
11 
18 };
19 
20 extern struct osmo_fsm xua_as_fsm;
21 
22 struct osmo_fsm_inst *xua_as_fsm_start(struct osmo_ss7_as *as, int log_level);
msg_class_cl
static const struct xua_msg_class msg_class_cl
Definition: sua.c:135
osmo_sccp_instance
Definition: sccp_internal.h:42
osmo_mtp_transfer_param::dpc
uint32_t dpc
Definition: mtp_sap.h:38
smi
uint8_t smi
Definition: sccp_scmg.h:5
SUA_IEI_DEREG_RESULT
#define SUA_IEI_DEREG_RESULT
Definition: sua.h:93
resre_mand_ies
static const uint16_t resre_mand_ies[]
Definition: sua.c:169
xua_parameter_hdr
Definition: xua_types.h:41
OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP
#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP
Accept DAUD in ASP role (RFC states only permitted in ASP->SG role)
Definition: osmo_ss7.h:444
SUA_CO_COAK
#define SUA_CO_COAK
Definition: sua.h:71
osmo_ss7_asp::proto
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:428
core_mand_ies
static const uint16_t core_mand_ies[]
Definition: sua.c:151
xua_as_fsm
struct osmo_fsm xua_as_fsm
Definition: xua_as_fsm.c:578
xua_common_hdr::data
uint8_t data[0]
Definition: xua_types.h:37
osmo_xlm_prim_notify::status_info
uint16_t status_info
Definition: sigtran_sap.h:40
osmo_ss7_as
Definition: osmo_ss7.h:300
osmo_xlm_prim_notify::info_string
char * info_string
Definition: sigtran_sap.h:43
check_any_other_asp_not_down
static bool check_any_other_asp_not_down(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp_cmp)
Definition: xua_as_fsm.c:276
xua_as_transmit_msg_broadcast
int xua_as_transmit_msg_broadcast(struct osmo_ss7_as *as, struct msgb *msg)
Definition: xua_as_fsm.c:131
xua_as_fsm_priv::recovery
struct xua_as_fsm_priv::@33 recovery
M3UA_NOTIFY_T_STATCHG
#define M3UA_NOTIFY_T_STATCHG
Definition: m3ua.h:107
SUA_IEI_DRN
#define SUA_IEI_DRN
Definition: sua.h:111
OSMO_SS7_ASP_PROT_IPA
@ OSMO_SS7_ASP_PROT_IPA
Definition: osmo_ss7.h:281
XUA_AS_E_TRANSFER_REQ
@ XUA_AS_E_TRANSFER_REQ
Definition: xua_as_fsm.h:17
XUA_ASPAS_ASP_ACTIVE_IND
@ XUA_ASPAS_ASP_ACTIVE_IND
Definition: xua_as_fsm.h:15
osmo_ss7_as::fi
struct osmo_fsm_inst * fi
AS FSM.
Definition: osmo_ss7.h:306
SUA_CO_RELCO
#define SUA_CO_RELCO
Definition: sua.h:74
SUA_ERR_INVAL_STREAM_ID
#define SUA_ERR_INVAL_STREAM_ID
Definition: sua.h:147
SUA_CL_CLDR
#define SUA_CL_CLDR
Definition: sua.h:68
sua_tx_xua_as
int sua_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua)
Send a given xUA message via a given SUA Application Server.
Definition: sua.c:303
SUA_CO_COREF
#define SUA_CO_COREF
Definition: sua.h:72
m3ua_msg_class_snm
const struct xua_msg_class m3ua_msg_class_snm
Definition: m3ua.c:176
osmo_sccp_addr
Definition: sccp_sap.h:170
XUA_ASP_E_ASPSM_BEAT
@ XUA_ASP_E_ASPSM_BEAT
Definition: xua_asp_fsm.h:28
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:788
M3UA_NOTIFY_I_AS_INACT
#define M3UA_NOTIFY_I_AS_INACT
Definition: m3ua.h:111
sua_aspxm_map
static const struct xua_msg_event_map sua_aspxm_map[]
Definition: sua.c:639
SUA_CO_CODT
#define SUA_CO_CODT
Definition: sua.h:77
sua_encode_dupu
static struct xua_msg * sua_encode_dupu(const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_string)
Definition: sua.c:832
osmo_sccp_addr::pc
uint32_t pc
Definition: sccp_sap.h:174
OSMO_SCCP_ADDR_T_PC
#define OSMO_SCCP_ADDR_T_PC
Definition: sccp_sap.h:50
SUA_MGMT_ERR
#define SUA_MGMT_ERR
Definition: sua.h:40
osmo_sccp_gt::npi
uint32_t npi
Definition: sccp_sap.h:165
SUA_IEI_ROUTE_CTX
#define SUA_IEI_ROUTE_CTX
Definition: sua.h:83
sua_rx_mgmt_ntfy
static int sua_rx_mgmt_ntfy(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:593
xua_as_fsm_priv::as
struct osmo_ss7_as * as
Definition: xua_as_fsm.c:198
sua_tx_snm_congestion
void sua_tx_snm_congestion(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *ssn, const uint8_t cong_level, const char *info_string)
Transmit SSNM SCON message indicating congestion.
Definition: sua.c:888
t_r_callback
static void t_r_callback(void *_fi)
Definition: xua_as_fsm.c:348
SUA_IEI_CONG_LEVEL
#define SUA_IEI_CONG_LEVEL
Definition: sua.h:119
SUA_ASPSM_UP_ACK
#define SUA_ASPSM_UP_ACK
Definition: sua.h:53
sua_to_msg
static struct msgb * sua_to_msg(struct xua_msg *xua)
Definition: sua.c:264
SUA_ASPTM_ACTIVE
#define SUA_ASPTM_ACTIVE
Definition: sua.h:57
coerr_mand_ies
static const uint16_t coerr_mand_ies[]
Definition: sua.c:176
dpc
uint32_t dpc
Definition: m3ua.h:3
as_notify_all_asp
static int as_notify_all_asp(struct osmo_ss7_as *as, struct osmo_xlm_prim_notify *npar)
Definition: xua_as_fsm.c:38
encode_notify
static struct msgb * encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: xua_as_fsm.c:30
osmo_sccp_addr::presence
uint32_t presence
Definition: sccp_sap.h:171
osmo_sccp_addr::v4
struct in_addr v4
Definition: sccp_sap.h:177
xua_snm_rx_daud
void xua_snm_rx_daud(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_snm.c:309
notify_any_other_active_asp_as_inactive
static void notify_any_other_active_asp_as_inactive(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp_cmp)
Definition: xua_as_fsm.c:317
SUA_IEI_DATA
#define SUA_IEI_DATA
Definition: sua.h:107
XUA_ASP_E_ASPTM_ASPIA
@ XUA_ASP_E_ASPTM_ASPIA
Definition: xua_asp_fsm.h:25
m3ua_msg_class_rkm
const struct xua_msg_class m3ua_msg_class_rkm
Definition: m3ua.c:260
SUA_RI_SSN_PC
#define SUA_RI_SSN_PC
Definition: sua.h:129
xua_as_fsm_priv
Definition: xua_as_fsm.c:197
xua_dialect
Definition: xua_msg.h:55
sccp_internal.h
xua_as_fsm_down
static void xua_as_fsm_down(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:354
sua_rx_mgmt_err
static int sua_rx_mgmt_err(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:580
SUA_ASPSM_BEAT_ACK
#define SUA_ASPSM_BEAT_ACK
Definition: sua.h:55
sua_tx_snm_available
void sua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *aff_ssn, const uint32_t *smi, const char *info_string, bool available)
Transmit SSNM DUNA/DAVA message indicating [un]availability of certain point code[s].
Definition: sua.c:864
SUA_IEI_SRC_ADDR
#define SUA_IEI_SRC_ADDR
Definition: sua.h:98
M3UA_NOTIFY_I_OT_ALT_ASP_ACT
#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT
Definition: m3ua.h:116
osmo_xlm_prim_notify
Definition: sigtran_sap.h:37
xua_as_fsm_priv::ipa_route_created
bool ipa_route_created
Definition: xua_as_fsm.c:203
xua_as_fsm_priv::queued_msgs
struct llist_head queued_msgs
Definition: xua_as_fsm.c:201
SUA_RI_GT
#define SUA_RI_GT
Definition: sua.h:128
SUA_IEI_IPv6
#define SUA_IEI_IPv6
Definition: sua.h:126
xua_as_fsm_active
static void xua_as_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:451
osmo_ss7_routing_key::pc
uint32_t pc
Definition: osmo_ss7.h:257
osmo_ss7_as::mode
enum osmo_ss7_as_traffic_mode mode
Definition: osmo_ss7.h:322
XUA_ASP_S_INACTIVE
@ XUA_ASP_S_INACTIVE
Definition: xua_asp_fsm.h:5
sua_gen_error_msg
static struct xua_msg * sua_gen_error_msg(uint32_t err_code, struct msgb *msg)
Definition: sua.c:247
sua_parse_gt
int sua_parse_gt(struct osmo_sccp_gt *gt, const uint8_t *data, unsigned int datalen)
Decode SUA Global Title according to RFC3868 Section 3.10.2.3.
Definition: sua.c:335
SUA_IEI_HOST
#define SUA_IEI_HOST
Definition: sua.h:125
coref_mand_ies
static const uint16_t coref_mand_ies[]
Definition: sua.c:159
xua_msg_get_u32
uint32_t xua_msg_get_u32(const struct xua_msg *xua, uint16_t iei)
Definition: xua_msg.c:292
SUA_IEI_USER_CAUSE
#define SUA_IEI_USER_CAUSE
Definition: sua.h:108
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:2098
xua_as_fsm.h
xua_as_fsm_start
struct osmo_fsm_inst * xua_as_fsm_start(struct osmo_ss7_as *as, int log_level)
Start an AS FSM for a given Application Server.
Definition: xua_as_fsm.c:591
sigtran_sap.h
sua_rx_snm
static int sua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:982
xua_msg_part::dat
uint8_t * dat
Definition: xua_msg.h:43
osmo_ss7_asp::inst
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:390
XUA_ASP_E_ASPSM_ASPDN_ACK
@ XUA_ASP_E_ASPSM_ASPDN_ACK
Definition: xua_asp_fsm.h:24
osmo_ss7_as::cfg
struct osmo_ss7_as::@25 cfg
SUA_CL_CLDT
#define SUA_CL_CLDT
Definition: sua.h:67
OSMO_SS7_ASP_ROLE_SG
@ OSMO_SS7_ASP_ROLE_SG
Definition: osmo_ss7.h:381
xua_from_msg
struct xua_msg * xua_from_msg(const int version, uint16_t len, uint8_t *data)
Definition: xua_msg.c:151
XUA_AS_E_RECOVERY_EXPD
@ XUA_AS_E_RECOVERY_EXPD
Definition: xua_as_fsm.h:16
xua_common_hdr::version
uint8_t version
Definition: xua_types.h:32
xua_as_state
xua_as_state
Definition: xua_as_fsm.h:5
SUA_IEI_IMPORTANCE
#define SUA_IEI_IMPORTANCE
Definition: sua.h:114
sua_tx_xua_asp
static int sua_tx_xua_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:287
OSMO_SCCP_ADDR_T_IPv4
#define OSMO_SCCP_ADDR_T_IPv4
Definition: sccp_sap.h:52
SUA_IEI_SEQ_CTRL
#define SUA_IEI_SEQ_CTRL
Definition: sua.h:117
SUA_IEI_DEST_REF
#define SUA_IEI_DEST_REF
Definition: sua.h:101
SUA_IEI_PROTO_CLASS
#define SUA_IEI_PROTO_CLASS
Definition: sua.h:116
SUA_IEI_GT
#define SUA_IEI_GT
Definition: sua.h:121
ipa_add_route
static void ipa_add_route(struct osmo_fsm_inst *fi)
Definition: xua_as_fsm.c:225
osmo_sccp_addr::v6
struct in6_addr v6
Definition: sccp_sap.h:178
osmo_ss7_asp::quirks
uint32_t quirks
Definition: osmo_ss7.h:437
ipa_del_route
static void ipa_del_route(struct osmo_fsm_inst *fi)
Definition: xua_as_fsm.c:240
xua_as_select_asp_override
static struct osmo_ss7_asp * xua_as_select_asp_override(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:98
xua_msg_event_map
Definition: xua_msg.h:63
data
uint8_t data[0]
Definition: xua_types.h:7
SUA_ASPSM_BEAT
#define SUA_ASPSM_BEAT
Definition: sua.h:52
sua.h
OSMO_SCCP_ADDR_T_SSN
#define OSMO_SCCP_ADDR_T_SSN
Definition: sccp_sap.h:51
sua_rx_co
static int sua_rx_co(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:542
XUA_ASP_E_ASPTM_ASPAC_ACK
@ XUA_ASP_E_ASPTM_ASPAC_ACK
Definition: xua_asp_fsm.h:22
M3UA_VERSION
#define M3UA_VERSION
Definition: m3ua.h:24
m3ua_decode_notify
int m3ua_decode_notify(struct osmo_xlm_prim_notify *npar, void *ctx, const struct xua_msg *xua)
Definition: m3ua.c:410
m3ua_msg_class_aspsm
const struct xua_msg_class m3ua_msg_class_aspsm
Definition: m3ua.c:199
sua_rx_asp
static int sua_rx_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:652
xua_internal.h
osmo_mtp_transfer_param::opc
uint32_t opc
Definition: mtp_sap.h:37
resco_mand_ies
static const uint16_t resco_mand_ies[]
Definition: sua.c:173
M3UA_NOTIFY_I_AS_PEND
#define M3UA_NOTIFY_I_AS_PEND
Definition: m3ua.h:113
osmo_ss7_instance
Definition: osmo_ss7.h:73
OSMO_SCCP_ADDR_T_GT
#define OSMO_SCCP_ADDR_T_GT
Definition: sccp_sap.h:49
SUA_IEI_SEGMENTATION
#define SUA_IEI_SEGMENTATION
Definition: sua.h:118
osmo_ss7_as::asps
struct osmo_ss7_asp * asps[16]
Definition: osmo_ss7.h:334
m3ua_ntfy_stchg_names
const struct value_string m3ua_ntfy_stchg_names[]
Definition: m3ua.c:86
SUA_MSGC_CL
#define SUA_MSGC_CL
Definition: sua.h:35
xua_as_fsm
struct osmo_fsm xua_as_fsm
Definition: xua_as_fsm.c:578
SUA_SNM_DUPU
#define SUA_SNM_DUPU
Definition: sua.h:47
SUA_SNM_DRST
#define SUA_SNM_DRST
Definition: sua.h:48
osmo_ss7_pointcode_print
const char * osmo_ss7_pointcode_print(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:298
XUA_AS_S_PENDING
@ XUA_AS_S_PENDING
Definition: xua_as_fsm.h:9
xua_as_fsm_inactive
static void xua_as_fsm_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:428
XUA_ASP_E_ASPTM_ASPIA_ACK
@ XUA_ASP_E_ASPTM_ASPIA_ACK
Definition: xua_asp_fsm.h:26
OSMO_SCCP_RI_SSN_PC
@ OSMO_SCCP_RI_SSN_PC
Definition: sccp_sap.h:60
cldt_mand_ies
static const uint16_t cldt_mand_ies[]
Definition: sua.c:122
SUA_SNM_DUNA
#define SUA_SNM_DUNA
Definition: sua.h:43
SUA_ERR_UNSUPP_MSG_TYPE
#define SUA_ERR_UNSUPP_MSG_TYPE
Definition: sua.h:143
m3ua_ntfy_type_names
const struct value_string m3ua_ntfy_type_names[]
Definition: m3ua.c:80
xua_as_select_asp_roundrobin
static struct osmo_ss7_asp * xua_as_select_asp_roundrobin(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:112
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
osmo_ss7_as::mode_set_by_vty
bool mode_set_by_vty
Definition: osmo_ss7.h:324
SUA_IEI_MSG_PRIO
#define SUA_IEI_MSG_PRIO
Definition: sua.h:115
SS7_AS_CTR_RX_MSU_TOTAL
@ SS7_AS_CTR_RX_MSU_TOTAL
Definition: ss7_internal.h:12
SUA_ASPSM_DOWN_ACK
#define SUA_ASPSM_DOWN_ACK
Definition: sua.h:54
xua_parameter_hdr::len
uint16_t len
Definition: xua_types.h:43
osmo_sccp_gt::tt
uint8_t tt
Definition: sccp_sap.h:164
XUA_ASP_E_ASPSM_ASPDN
@ XUA_ASP_E_ASPSM_ASPDN
Definition: xua_asp_fsm.h:23
sua_iei_names
static const struct value_string sua_iei_names[]
Definition: sua.c:81
xua_dialect::name
const char * name
Definition: xua_msg.h:56
SUA_IEI_SSN
#define SUA_IEI_SSN
Definition: sua.h:123
osmo_ss7_instance::sccp
struct osmo_sccp_instance * sccp
Definition: osmo_ss7.h:92
coak_mand_ies
static const uint16_t coak_mand_ies[]
Definition: sua.c:155
xua_msg_event_map::event
int event
Definition: xua_msg.h:66
m3ua_msg_class_mgmt
const struct xua_msg_class m3ua_msg_class_mgmt
Definition: m3ua.c:230
xua_common_hdr
Definition: xua_types.h:31
xua_find_as_for_asp
int xua_find_as_for_asp(struct osmo_ss7_as **as, const struct osmo_ss7_asp *asp, const struct xua_msg_part *rctx_ie)
Find the AS for given ASP + optional routing context IE.
Definition: xua_shared.c:68
SUA_IEI_ERR_CODE
#define SUA_IEI_ERR_CODE
Definition: sua.h:87
SUA_CO_RELRE
#define SUA_CO_RELRE
Definition: sua.h:73
XUA_ASP_E_ASPTM_ASPAC
@ XUA_ASP_E_ASPTM_ASPAC
Definition: xua_asp_fsm.h:21
sccp_msgb_alloc
struct msgb * sccp_msgb_alloc(const char *name)
Definition: sua.c:64
NOTIFY_PAR_P_ASP_ID
#define NOTIFY_PAR_P_ASP_ID
Definition: sigtran_sap.h:34
SUA_ASPTM_ACTIVE_ACK
#define SUA_ASPTM_ACTIVE_ACK
Definition: sua.h:59
SCCP_MSG_HEADROOM
#define SCCP_MSG_HEADROOM
Definition: sua.c:62
codt_mand_ies
static const uint16_t codt_mand_ies[]
Definition: sua.c:145
osmo_mtp_transfer_param::sio
uint8_t sio
Definition: mtp_sap.h:40
sua_rx_msg
int sua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process SUA message received from socket
Definition: sua.c:675
SUA_ASPSM_DOWN
#define SUA_ASPSM_DOWN
Definition: sua.h:51
SUA_IEI_CREDIT
#define SUA_IEI_CREDIT
Definition: sua.h:106
_NUM_OSMO_SS7_ASP_TMOD
@ _NUM_OSMO_SS7_ASP_TMOD
Definition: osmo_ss7.h:266
MTP_SI_SCCP
@ MTP_SI_SCCP
Definition: mtp.h:10
get_local_role
static int get_local_role(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:79
osmo_ss7_as::name
char * name
Definition: osmo_ss7.h:318
sua_gen_error
static struct xua_msg * sua_gen_error(uint32_t err_code)
Definition: sua.c:236
MAND_IES
#define MAND_IES(msgt, ies)
Definition: sua.c:120
SUA_SNM_DAVA
#define SUA_SNM_DAVA
Definition: sua.h:44
SUA_IEI_RX_SEQ_NR
#define SUA_IEI_RX_SEQ_NR
Definition: sua.h:104
xua_snm_rx_duna
void xua_snm_rx_duna(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:354
xua_as_fsm_pending
static void xua_as_fsm_pending(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:486
osmo_ss7_as::ctrg
struct rate_ctr_group * ctrg
Rate Counter Group.
Definition: osmo_ss7.h:315
osmo_ss7_as::last_asp_idx_sent
uint8_t last_asp_idx_sent
Definition: osmo_ss7.h:335
relco_mand_ies
static const uint16_t relco_mand_ies[]
Definition: sua.c:166
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
SUA_IEI_ROUTING_KEY
#define SUA_IEI_ROUTING_KEY
Definition: sua.h:110
sua_rx_snm_sg
static int sua_rx_snm_sg(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:969
SUA_MSGC_RKM
#define SUA_MSGC_RKM
Definition: sua.h:37
XUA_ASP_E_ASPSM_BEAT_ACK
@ XUA_ASP_E_ASPSM_BEAT_ACK
Definition: xua_asp_fsm.h:29
xua_as_fsm_onenter
static void xua_as_fsm_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)
Definition: xua_as_fsm.c:369
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:841
SUA_IEI_PC
#define SUA_IEI_PC
Definition: sua.h:122
XUA_ASPAS_ASP_INACTIVE_IND
@ XUA_ASPAS_ASP_INACTIVE_IND
Definition: xua_as_fsm.h:13
osmo_ss7_asp::role
enum osmo_ss7_asp_role role
Definition: osmo_ss7.h:431
SUA_ERR_INVALID_VERSION
#define SUA_ERR_INVALID_VERSION
Definition: sua.h:141
osmo_ss7.h
xua_as_fsm_states
static const struct osmo_fsm_state xua_as_fsm_states[]
Definition: xua_as_fsm.c:530
xua_msg_part
Definition: xua_msg.h:38
SUA_IEI_NET_APPEARANCE
#define SUA_IEI_NET_APPEARANCE
Definition: sua.h:109
SUA_IEI_ASP_CAPA
#define SUA_IEI_ASP_CAPA
Definition: sua.h:105
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:427
XUA_ASP_S_ACTIVE
@ XUA_ASP_S_ACTIVE
Definition: xua_asp_fsm.h:6
osmo_ss7_asp::fi
struct osmo_fsm_inst * fi
ASP FSM.
Definition: osmo_ss7.h:393
SUA_RI_SSN_IP
#define SUA_RI_SSN_IP
Definition: sua.h:131
M3UA_NOTIFY_T_OTHER
#define M3UA_NOTIFY_T_OTHER
Definition: m3ua.h:108
SUA_IEI_AFFECTED_PC
#define SUA_IEI_AFFECTED_PC
Definition: sua.h:90
M3UA_NOTIFY_I_AS_ACT
#define M3UA_NOTIFY_I_AS_ACT
Definition: m3ua.h:112
SUA_ERR_PARAM_FIELD_ERR
#define SUA_ERR_PARAM_FIELD_ERR
Definition: sua.h:152
osmo_xlm_prim_notify::asp_id
uint32_t asp_id
Definition: sigtran_sap.h:41
SUA_IEI_DEST_ADDR
#define SUA_IEI_DEST_ADDR
Definition: sua.h:99
sua_addr_parse_part
int sua_addr_parse_part(struct osmo_sccp_addr *out, const struct xua_msg_part *param)
parse SCCP address from given xUA message part
Definition: sua.c:372
sua_tx_dupu
void sua_tx_dupu(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str)
Transmit SSNM DUPU message indicating user unavailability.
Definition: sua.c:915
check_any_other_asp_in_active
static bool check_any_other_asp_in_active(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp_cmp)
Definition: xua_as_fsm.c:296
xua_msg_add_u32
int xua_msg_add_u32(struct xua_msg *xua, uint16_t iei, uint32_t val)
Definition: xua_msg.c:280
osmo_ss7_as::recovery_timeout_msec
uint32_t recovery_timeout_msec
Definition: osmo_ss7.h:327
xua_msg.h
osmo_sccp_gt::digits
char digits[32]
Definition: sccp_sap.h:167
msg_class_co
static const struct xua_msg_class msg_class_co
Definition: sua.c:197
xua_msg_alloc
struct xua_msg * xua_msg_alloc(void)
Definition: xua_msg.c:44
xua_as_fsm_cleanup
static void xua_as_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
Definition: xua_as_fsm.c:523
XUA_ASP_E_ASPSM_ASPUP_ACK
@ XUA_ASP_E_ASPSM_ASPUP_ACK
Definition: xua_asp_fsm.h:20
osmo_ss7_asp::asp_id
uint32_t asp_id
Definition: osmo_ss7.h:406
SUA_MGMT_NTFY
#define SUA_MGMT_NTFY
Definition: sua.h:41
SUA_IEI_SMI
#define SUA_IEI_SMI
Definition: sua.h:113
scrc_rx_mtp_xfer_ind_xua
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:465
mtp.h
SUA_MSGC_SNM
#define SUA_MSGC_SNM
Definition: sua.h:32
sccp_sap.h
sua_rx_mgmt
static int sua_rx_mgmt(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:626
SUA_PPID
#define SUA_PPID
Definition: sua.h:27
SUA_IEI_CAUSE
#define SUA_IEI_CAUSE
Definition: sua.h:102
osmo_sccp_gt
Definition: sccp_sap.h:162
MSEC_TO_S_US
#define MSEC_TO_S_US(x)
Definition: xua_as_fsm.c:186
SUA_SNM_DAUD
#define SUA_SNM_DAUD
Definition: sua.h:45
S
#define S(x)
Definition: xua_as_fsm.c:184
SUA_ERR_UNEXPECTED_MSG
#define SUA_ERR_UNEXPECTED_MSG
Definition: sua.h:145
xua_asp_fsm.h
xua_msg_add_data
int xua_msg_add_data(struct xua_msg *msg, uint16_t tag, uint16_t len, const uint8_t *dat)
Definition: xua_msg.c:61
xua_msg_part::tag
uint16_t tag
Definition: xua_msg.h:41
sua_encode_duna
static struct xua_msg * sua_encode_duna(const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *ssn, const uint32_t *smi, const char *info_string)
Definition: sua.c:778
SUA_IEI_SEQ_NR
#define SUA_IEI_SEQ_NR
Definition: sua.h:103
sua_cl_msgt_names
static const struct value_string sua_cl_msgt_names[]
Definition: sua.c:130
osmo_ss7_as::mode_set_by_peer
bool mode_set_by_peer
Definition: osmo_ss7.h:326
SUA_RI_HOST
#define SUA_RI_HOST
Definition: sua.h:130
OSMO_SS7_ASP_PROT_SUA
@ OSMO_SS7_ASP_PROT_SUA
Definition: osmo_ss7.h:279
SUA_CO_RESCO
#define SUA_CO_RESCO
Definition: sua.h:75
SUA_CO_CORE
#define SUA_CO_CORE
Definition: sua.h:70
osmo_ss7_as::proto
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:320
OSMO_SS7_AS_TMOD_LOADSHARE
@ OSMO_SS7_AS_TMOD_LOADSHARE
Definition: osmo_ss7.h:264
SUA_MSGC_MGMT
#define SUA_MSGC_MGMT
Definition: sua.h:31
XUA_ASP_E_ASPSM_ASPUP
@ XUA_ASP_E_ASPSM_ASPUP
Definition: xua_asp_fsm.h:19
osmo_sccp_gt::nai
uint32_t nai
Definition: sccp_sap.h:166
m3ua_ntfy_other_names
const struct value_string m3ua_ntfy_other_names[]
Definition: m3ua.c:94
OSMO_SS7_AS_TMOD_BCAST
@ OSMO_SS7_AS_TMOD_BCAST
Definition: osmo_ss7.h:263
xua_to_msg
struct msgb * xua_to_msg(const int version, struct xua_msg *msg)
Definition: xua_msg.c:203
osmo_ss7_asp_active
bool osmo_ss7_asp_active(const struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1656
relre_mand_ies
static const uint16_t relre_mand_ies[]
Definition: sua.c:162
osmo_ss7_asp::cfg
struct osmo_ss7_asp::@27 cfg
xua_snm_pc_available
void xua_snm_pc_available(struct osmo_ss7_as *as, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str, bool available)
Definition: xua_snm.c:169
osmo_ss7_as::routing_key
struct osmo_ss7_routing_key routing_key
Definition: osmo_ss7.h:321
SUA_VERSION
#define SUA_VERSION
Definition: sua.h:26
osmo_ss7_route_find_dpc_mask
struct osmo_ss7_route * osmo_ss7_route_find_dpc_mask(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask)
Find a SS7 route for given destination point code + mask in given table.
Definition: osmo_ss7.c:731
XUA_AS_S_DOWN
@ XUA_AS_S_DOWN
Definition: xua_as_fsm.h:6
SUA_CO_COIT
#define SUA_CO_COIT
Definition: sua.h:80
osmo_sccp_addr::ip
union osmo_sccp_addr::@29 ip
SUA_SNM_SCON
#define SUA_SNM_SCON
Definition: sua.h:46
sua_co_msgt_names
static const struct value_string sua_co_msgt_names[]
Definition: sua.c:183
m3ua_msg_class_asptm
const struct xua_msg_class m3ua_msg_class_asptm
Definition: m3ua.c:212
sua_rx_cl
static int sua_rx_cl(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:512
osmo_ss7_route
Definition: osmo_ss7.h:207
xua_dialect_sua
const struct xua_dialect xua_dialect_sua
Definition: sua.c:216
is_single_ipa_asp
static bool is_single_ipa_asp(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:207
SUA_ASPSM_UP
#define SUA_ASPSM_UP
Definition: sua.h:50
cldr_mand_ies
static const uint16_t cldr_mand_ies[]
Definition: sua.c:126
xua_msg_free
void xua_msg_free(struct xua_msg *msg)
Definition: xua_msg.c:56
SUA_IEI_TID
#define SUA_IEI_TID
Definition: sua.h:112
SCCP_MSG_SIZE
#define SCCP_MSG_SIZE
Definition: sua.c:61
xua_as_fsm_start
struct osmo_fsm_inst * xua_as_fsm_start(struct osmo_ss7_as *as, int log_level)
Start an AS FSM for a given Application Server.
Definition: xua_as_fsm.c:591
coit_mand_ies
static const uint16_t coit_mand_ies[]
Definition: sua.c:179
SUA_IEI_REG_RESULT
#define SUA_IEI_REG_RESULT
Definition: sua.h:92
ss7_internal.h
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_encode_notify
struct xua_msg * m3ua_encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: m3ua.c:381
OSMO_SS7_ASP_QUIRK_SNM_INACTIVE
#define OSMO_SS7_ASP_QUIRK_SNM_INACTIVE
Accept SSNM even if ASP is in AS-INACTIVE state.
Definition: osmo_ss7.h:446
SUA_ASPTM_INACTIVE_ACK
#define SUA_ASPTM_INACTIVE_ACK
Definition: sua.h:60
LOGPASP
#define LOGPASP(asp, subsys, level, fmt, args ...)
Definition: osmo_ss7.h:488
NOTIFY_PAR_P_ROUTE_CTX
#define NOTIFY_PAR_P_ROUTE_CTX
Definition: sigtran_sap.h:35
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:482
xua_snm_rx_dupu
void xua_snm_rx_dupu(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:424
coda_mand_ies
static const uint16_t coda_mand_ies[]
Definition: sua.c:148
osmo_xlm_prim_notify::status_type
uint16_t status_type
Definition: sigtran_sap.h:39
m3ua_err_names
const struct value_string m3ua_err_names[]
Definition: m3ua.c:56
xua_parameter_hdr::tag
uint16_t tag
Definition: xua_types.h:42
OSMO_SS7_AS_TMOD_OVERRIDE
@ OSMO_SS7_AS_TMOD_OVERRIDE
Definition: osmo_ss7.h:262
osmo_ss7_asp
Definition: osmo_ss7.h:387
SUA_IEI_S7_HOP_CTR
#define SUA_IEI_S7_HOP_CTR
Definition: sua.h:97
SUA_IEI_DIAG_INFO
#define SUA_IEI_DIAG_INFO
Definition: sua.h:84
OSMO_SS7_ASP_ROLE_ASP
@ OSMO_SS7_ASP_ROLE_ASP
Definition: osmo_ss7.h:380
xua_as_event
xua_as_event
Definition: xua_as_fsm.h:12
sua_encode_dava
static struct xua_msg * sua_encode_dava(const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *ssn, const uint32_t *smi, const char *info_string)
Definition: sua.c:806
SUA_MSGC_ASPSM
#define SUA_MSGC_ASPSM
Definition: sua.h:33
SUA_ERR_UNSUPP_MSG_CLASS
#define SUA_ERR_UNSUPP_MSG_CLASS
Definition: sua.h:142
OSMO_SCCP_RI_GT
@ OSMO_SCCP_RI_GT
Definition: sccp_sap.h:59
SUA_IEI_CORR_ID
#define SUA_IEI_CORR_ID
Definition: sua.h:91
xua_msg_dump
char * xua_msg_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:527
osmo_ss7_asp::asp_id_present
bool asp_id_present
Definition: osmo_ss7.h:407
SUA_ASPTM_INACTIVE
#define SUA_ASPTM_INACTIVE
Definition: sua.h:58
xua_common_hdr::msg_type
uint8_t msg_type
Definition: xua_types.h:35
xua_msg_class
Definition: xua_msg.h:48
sua_rx_snm_asp
static int sua_rx_snm_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:923
XUA_AS_S_INACTIVE
@ XUA_AS_S_INACTIVE
Definition: xua_as_fsm.h:7
SUA_ERR_MISSING_PARAM
#define SUA_ERR_MISSING_PARAM
Definition: sua.h:156
OSMO_SS7_AS_TMOD_ROUNDROBIN
@ OSMO_SS7_AS_TMOD_ROUNDROBIN
Definition: osmo_ss7.h:265
SUA_CO_CODA
#define SUA_CO_CODA
Definition: sua.h:78
XUA_ASP_S_DOWN
@ XUA_ASP_S_DOWN
Definition: xua_asp_fsm.h:4
osmo_ss7_routing_key::context
uint32_t context
Definition: osmo_ss7.h:254
xua_msg_part::len
uint16_t len
Definition: xua_msg.h:42
osmo_sccp_addr::gt
struct osmo_sccp_gt gt
Definition: sccp_sap.h:173
xua_as_transmit_msg
int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg)
Definition: xua_as_fsm.c:152
osmo_sccp_gt::gti
uint8_t gti
Definition: sccp_sap.h:163
SUA_CO_COERR
#define SUA_CO_COERR
Definition: sua.h:79
xua_msg
Definition: xua_msg.h:31
sua_addr_parse
int sua_addr_parse(struct osmo_sccp_addr *out, struct xua_msg *xua, uint16_t iei)
parse SCCP address from given xUA message IE
Definition: sua.c:500
osmo_sccp_addr::ri
enum osmo_sccp_routing_ind ri
Definition: sccp_sap.h:172
osmo_ss7_as::inst
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:303
OSMO_SCCP_RI_SSN_IP
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:61
xua_as_fsm_priv::t_r
struct osmo_timer_list t_r
Definition: xua_as_fsm.c:200
osmo_xlm_prim_notify::presence
uint32_t presence
Definition: sigtran_sap.h:38
SUA_MSGC_ASPTM
#define SUA_MSGC_ASPTM
Definition: sua.h:34
xua_as_event_names
static const struct value_string xua_as_event_names[]
Definition: xua_as_fsm.c:188
XUA_ASPAS_ASP_DOWN_IND
@ XUA_ASPAS_ASP_DOWN_IND
Definition: xua_as_fsm.h:14
xua_msg::mtp
struct osmo_mtp_transfer_param mtp
Definition: xua_msg.h:33
SUA_IEI_INFO_STRING
#define SUA_IEI_INFO_STRING
Definition: sua.h:82
SUA_IEI_SRC_REF
#define SUA_IEI_SRC_REF
Definition: sua.h:100
XUA_AS_S_ACTIVE
@ XUA_AS_S_ACTIVE
Definition: xua_as_fsm.h:8
xua_snm_rx_dava
void xua_snm_rx_dava(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:389
SUA_CO_RESRE
#define SUA_CO_RESRE
Definition: sua.h:76
xua_hdr_dump
char * xua_hdr_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:467
SUA_PORT
#define SUA_PORT
Definition: sua.h:28
SUA_MSGC_CO
#define SUA_MSGC_CO
Definition: sua.h:36
XUA_HDR
#define XUA_HDR(class, type)
Definition: xua_msg.h:25
osmo_sccp_addr::ssn
uint32_t ssn
Definition: sccp_sap.h:175