libosmo-sigtran
1.4.0
Osmocom SIGTRAN library
|
struct osmo_scu_data_param data
Definition: sccp_sap.h:264
int osmo_sccp_addr_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b, uint32_t presence_criteria)
Compare two SCCP addresses by given presence criteria.
Definition: sccp_user.c:356
osmo_prim_cb prim_cb
Definition: osmo_ss7.h:130
@ S_CONN_PEND_IN
Definition: sccp_scoc.c:128
static const struct xua_msg_class msg_class_cl
Definition: sua.c:134
struct osmo_ss7_instance * ss7
Definition: sccp_internal.h:53
struct osmo_ss7_instance * osmo_ss7_instance_find(uint32_t id)
Find a SS7 Instance with given ID.
Definition: osmo_ss7.c:342
static int scmg_prim_cb(struct osmo_prim_hdr *oph, void *_scu)
Definition: sccp_scmg.c:272
Definition: sccp_internal.h:42
@ SCOC_E_T_IAS_EXP
Definition: sccp_scoc.c:160
uint32_t dpc
Definition: mtp_sap.h:38
@ S_RESET_OUT
Definition: sccp_scoc.c:133
static void scoc_fsm_disconn_pend(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:1161
uint8_t network_indicator
Definition: osmo_ss7.h:100
@ OSMO_SCCP_SSN_VLR
Definition: sccp_sap.h:113
@ OSMO_SCCP_TIMER_IAS
Definition: sccp_internal.h:14
struct osmo_sccp_instance * osmo_sccp_get_sccp(const struct osmo_sccp_user *scu)
get the SCCP instance that is related to the given sccp user
Definition: sccp_user.c:823
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:445
uint8_t smi
Definition: sccp_scmg.h:5
#define SUA_IEI_DEREG_RESULT
Definition: sua.h:93
static const uint16_t resre_mand_ies[]
Definition: sua.c:168
Definition: xua_types.h:41
@ SCOC_E_RCOC_CREF_IND
Definition: sccp_scoc.c:150
static const uint8_t cause_map_cref[]
Definition: sccp_scoc.c:1298
struct osmo_sccp_instance * osmo_sccp_simple_client_on_ss7_id(void *ctx, uint32_t ss7_id, const char *name, uint32_t default_pc, enum osmo_ss7_asp_protocol prot, int default_local_port, const char *default_local_ip, int default_remote_port, const char *default_remote_ip)
request an sccp client instance
Definition: sccp_user.c:485
@ OSMO_SCCP_SSN_ISUP
Definition: sccp_sap.h:109
#define SUA_CO_COAK
Definition: sua.h:71
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:420
@ OSMO_XLM_PRIM_M_ASP_STATUS
Definition: sigtran_sap.h:18
static const char * osmo_sccp_timer_val_name(const struct osmo_sccp_timer_val *val)
Definition: sccp_vty.c:168
static const uint16_t core_mand_ies[]
Definition: sua.c:150
#define CS7_STR
Definition: xua_internal.h:83
void osmo_sccp_local_addr_by_instance(struct osmo_sccp_addr *dest_addr, const struct osmo_sccp_instance *inst, uint32_t ssn)
derive a basic local SCCP-Address from a given SCCP instance.
Definition: sccp_user.c:271
struct osmo_fsm xua_as_fsm
Definition: xua_as_fsm.c:504
uint8_t smi
Definition: sccp_scmg.h:18
uint8_t data[0]
Definition: xua_types.h:37
uint16_t status_info
Definition: sigtran_sap.h:40
void sccp_scmg_rx_ssn_prohibited(struct osmo_sccp_instance *inst, uint32_t dpc, uint32_t ssn, uint32_t smi)
Definition: sccp_scmg.c:58
struct osmo_ss7_as * as
pointer to Application Server
Definition: osmo_ss7.h:217
@ OSMO_SCU_PRIM_N_DISCONNECT
Definition: sccp_sap.h:37
struct osmo_timer_list t_conn
Definition: sccp_scoc.c:110
@ OSMO_XLM_PRIM_M_SCTP_RELEASE
Definition: sigtran_sap.h:15
mtp_unavail_cause
Definition: mtp.h:28
Definition: osmo_ss7.h:298
char * info_string
Definition: sigtran_sap.h:43
@ SCOC_E_SCU_N_DISC_REQ
Definition: sccp_scoc.c:141
struct osmo_timer_list t_iar
Definition: sccp_scoc.c:114
void * priv
Definition: sccp_internal.h:78
const struct value_string osmo_sccp_timer_names[]
Definition: sccp_scoc.c:233
uint8_t msg_type
Definition: sccp_scmg.h:2
@ OSMO_SCCP_SSN_GMLC_MAP
Definition: sccp_sap.h:125
static bool check_any_other_asp_not_down(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp_cmp)
Definition: xua_as_fsm.c:206
static void conn_restart_rx_inact_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:384
void sccp_scoc_show_connections(struct vty *vty, struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1821
int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *const *hosts, size_t host_cnt)
Set (copy) addresses for a given ASP peer.
Definition: osmo_ss7.c:1130
struct osmo_ss7_instance::@20 cfg
static void conn_stop_release_timers(struct sccp_connection *conn)
Definition: sccp_scoc.c:422
@ OSMO_SCU_PRIM_N_UNITDATA
Definition: sccp_sap.h:41
bool simple_client_allocated
Were we allocated by "simple client" support?
Definition: osmo_ss7.h:310
int xua_as_transmit_msg_broadcast(struct osmo_ss7_as *as, struct msgb *msg)
Definition: xua_as_fsm.c:131
struct xua_as_fsm_priv::@33 recovery
#define M3UA_NOTIFY_T_STATCHG
Definition: m3ua.h:107
#define SUA_IEI_DRN
Definition: sua.h:111
@ OSMO_SS7_ASP_PROT_IPA
Definition: osmo_ss7.h:279
struct osmo_sccp_user * user
Definition: sccp_scoc.c:80
struct osmo_timer_list t_rep_rel
Definition: sccp_scoc.c:119
@ XUA_AS_E_TRANSFER_REQ
Definition: xua_as_fsm.h:17
@ XUA_ASPAS_ASP_ACTIVE_IND
Definition: xua_as_fsm.h:15
const struct value_string osmo_sccp_gti_names[]
Definition: sccp_sap.c:99
struct osmo_fsm_inst * fi
AS FSM.
Definition: osmo_ss7.h:304
char * name
human-readable name of this user
Definition: sccp_internal.h:67
#define SUA_CO_RELCO
Definition: sua.h:74
#define SUA_ERR_INVAL_STREAM_ID
Definition: sua.h:147
#define SUA_CL_CLDR
Definition: sua.h:68
static void tx_coerr_from_xua(struct osmo_sccp_instance *inst, struct xua_msg *in, uint32_t err_cause)
Definition: sccp_scoc.c:1416
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:302
Definition: sccp_sap.h:236
struct osmo_scu_state_param state
Definition: sccp_sap.h:269
int osmo_ss7_xua_server_bind(struct osmo_xua_server *xs)
Set the xUA server to bind/listen to the currently configured ip/port.
Definition: osmo_ss7.c:2098
@ OSMO_SCU_PRIM_N_NOTICE
Definition: sccp_sap.h:42
#define SUA_CO_COREF
Definition: sua.h:72
Definition: sccp_internal.h:61
const struct xua_msg_class m3ua_msg_class_snm
Definition: m3ua.c:175
Definition: sccp_sap.h:170
@ XUA_ASP_E_ASPSM_BEAT
Definition: xua_asp_fsm.h:28
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:771
@ OSMO_SCCP_GTI_TT_NPL_ENC_NAI
Definition: sccp_sap.h:75
@ SCCP_SCMG_MSGT_SSA
Definition: sccp_scmg.h:6
#define M3UA_NOTIFY_I_AS_INACT
Definition: m3ua.h:111
static struct sccp_connection * conn_find_by_id(struct osmo_sccp_instance *inst, uint32_t id)
Definition: sccp_scoc.c:448
static const struct xua_msg_event_map sua_aspxm_map[]
Definition: sua.c:634
void sccp_lbcs_local_bcast_state(struct osmo_sccp_instance *inst, const struct osmo_scu_state_param *state)
Definition: sccp_lbcs.c:55
uint16_t ssn
SSN and/or point code to which we are bound.
Definition: sccp_internal.h:70
uint32_t in_sequence_control
Definition: sccp_sap.h:229
#define SUA_CO_CODT
Definition: sua.h:77
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:827
int sccp_sclc_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_sclc.c:123
Definition: sccp_scoc.c:72
uint32_t importance
Definition: sccp_sap.h:240
static void scoc_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:1034
uint32_t pc
Definition: sccp_sap.h:174
uint32_t importance
Definition: sccp_sap.h:190
uint32_t conn_id
Definition: sccp_sap.h:197
char * osmo_scu_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:46
#define OSMO_SCCP_ADDR_T_PC
Definition: sccp_sap.h:50
#define SUA_MGMT_ERR
Definition: sua.h:40
uint32_t npi
Definition: sccp_sap.h:165
DEFUN(show_sccp_users, show_sccp_users_cmd, "show cs7 instance <0-15> sccp users", SHOW_STR CS7_STR INST_STR INST_STR SCCP_STR "Show List of SCCP Users registered\n")
Definition: sccp_vty.c:55
#define SUA_IEI_ROUTE_CTX
Definition: sua.h:83
@ S_IDLE
Definition: sccp_scoc.c:127
int sccp_scrc_rx_sclc_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:418
static int sua_rx_mgmt_ntfy(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:588
struct osmo_ss7_as * as
Definition: xua_as_fsm.c:198
#define OSMO_SCCP_SSN_SMLC_BSSAP
Definition: sccp_sap.h:156
Definition: sccp_sap.h:184
int osmo_ss7_user_unregister(struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user)
Unregister a MTP user for a given service indicator.
Definition: osmo_ss7.c:485
const struct osmo_sccp_timer_val * osmo_sccp_timer_get(const struct osmo_sccp_instance *inst, enum osmo_sccp_timer timer, bool default_if_unset)
Definition: sccp_scoc.c:297
@ OSMO_SCCP_TIMER_IAR
Definition: sccp_internal.h:15
int sccp_scrc_rx_scoc_conn_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:396
struct osmo_scu_pcstate_param pcstate
Definition: sccp_sap.h:270
Definition: sccp_sap.h:226
static void t_r_callback(void *_fi)
Definition: xua_as_fsm.c:278
#define SUA_IEI_CONG_LEVEL
Definition: sua.h:119
#define SUA_ASPSM_UP_ACK
Definition: sua.h:53
static struct msgb * sua_to_msg(struct xua_msg *xua)
Definition: sua.c:263
@ SCOC_E_RCOC_CC_IND
Definition: sccp_scoc.c:151
struct osmo_fsm_inst * fi
Definition: sccp_scoc.c:107
@ OSMO_SCU_PRIM_N_RESET
Definition: sccp_sap.h:38
#define SUA_ASPTM_ACTIVE
Definition: sua.h:57
static const uint16_t coerr_mand_ies[]
Definition: sua.c:175
void sccp_lbcs_local_bcast_state(struct osmo_sccp_instance *inst, const struct osmo_scu_state_param *state)
Definition: sccp_lbcs.c:55
uint32_t primary_pc
Definition: osmo_ss7.h:97
uint32_t dpc
Definition: m3ua.h:3
static int as_notify_all_asp(struct osmo_ss7_as *as, struct osmo_xlm_prim_notify *npar)
Definition: xua_as_fsm.c:38
bool simple_client_allocated
Were we allocated by "simple client" support?
Definition: osmo_ss7.h:412
@ OSMO_SCU_PRIM_N_PCSTATE
Definition: sccp_sap.h:46
@ OSMO_SCCP_SSN_SGSN_MAP
Definition: sccp_sap.h:129
static void tx_relco_from_xua(struct osmo_sccp_instance *inst, struct xua_msg *in)
Definition: sccp_scoc.c:1452
@ OSMO_SCU_PRIM_N_STATE
Definition: sccp_sap.h:45
static struct msgb * encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: xua_as_fsm.c:30
uint32_t presence
Definition: sccp_sap.h:171
@ S_RESET_IN
Definition: sccp_scoc.c:132
void sccp_scoc_flush_connections(struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1786
struct in_addr v4
Definition: sccp_sap.h:177
int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_scoc.c:1777
uint32_t importance
Definition: sccp_scoc.c:99
Definition: sccp_sap.h:209
@ OSMO_SS7_ASP_PROT_M3UA
Definition: osmo_ss7.h:278
union osmo_mtp_prim::@18 u
void xua_snm_rx_daud(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_snm.c:261
Definition: sccp_sap.h:196
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:247
#define SUA_IEI_DATA
Definition: sua.h:107
osmo_prim_cb prim_cb
Definition: sccp_internal.h:77
uint32_t importance
Definition: sccp_sap.h:231
@ OSMO_SCCP_RI_NONE
Definition: sccp_sap.h:58
void osmo_ss7_asp_destroy(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1402
@ XUA_ASP_E_ASPTM_ASPIA
Definition: xua_asp_fsm.h:25
@ OSMO_SCCP_SSN_PCAP
Definition: sccp_sap.h:132
const char * osmo_sccp_user_name(struct osmo_sccp_user *scu)
Compose a human readable string to describe the SCCP user's connection.
Definition: sccp_user.c:452
const char * osmo_ss7_pointcode_print2(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:295
uint32_t cause
Definition: sccp_sap.h:212
struct osmo_ss7_as * osmo_ss7_as_find_by_proto(struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto)
Find Application Server (AS) by given protocol.
Definition: osmo_ss7.c:920
const struct xua_msg_class m3ua_msg_class_rkm
Definition: m3ua.c:259
#define SUA_RI_SSN_PC
Definition: sua.h:129
void sccp_scoc_rx_from_scrc(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Main entrance function for primitives from the SCRC (Routing Control)
Definition: sccp_scoc.c:1620
Definition: xua_as_fsm.c:197
@ SCCP_SCMG_MSGT_SST
Definition: sccp_scmg.h:8
static void xua_as_fsm_down(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:284
static int sua_rx_mgmt_err(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:575
char * osmo_xlm_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:81
static int scmg_rx(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *scmg)
Definition: sccp_scmg.c:250
@ OSMO_XLM_PRIM_M_RK_DEREG
Definition: sigtran_sap.h:31
#define SUA_ASPSM_BEAT_ACK
Definition: sua.h:55
uint32_t affected_pc
Definition: sccp_sap.h:246
uint32_t sccp_class
Definition: sccp_sap.h:189
const struct value_string osmo_scu_prim_names[]
Definition: sccp_sap.c:28
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:859
Definition: sccp_scmg.h:14
int osmo_ss7_asp_restart(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1438
@ OSMO_SCCP_SSN_RES_INTL
Definition: sccp_sap.h:119
void * priv
Definition: osmo_ss7.h:132
#define SUA_IEI_SRC_ADDR
Definition: sua.h:98
#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT
Definition: m3ua.h:116
Definition: sigtran_sap.h:37
#define SUA_CAUSE_T_RELEASE
Definition: sua.h:136
struct llist_head queued_msgs
Definition: xua_as_fsm.c:201
#define SUA_RI_GT
Definition: sua.h:128
#define SUA_IEI_IPv6
Definition: sua.h:126
static void xua_as_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:377
static const struct osmo_prim_event_map scu_scoc_event_map[]
Definition: sccp_scoc.c:214
@ SCCP_SCMG_MSGT_SSC
Definition: sccp_scmg.h:11
uint32_t conn_id
Definition: sccp_sap.h:222
@ OSMO_SCCP_SSN_RANAP
Definition: sccp_sap.h:123
@ SCOC_E_RCOC_REL_COMPL_IND
Definition: sccp_scoc.c:149
uint32_t pc
Definition: osmo_ss7.h:255
@ SCOC_E_RCOC_ERROR_IND
Definition: sccp_scoc.c:156
enum osmo_ss7_as_traffic_mode mode
Definition: osmo_ss7.h:317
@ XUA_ASP_S_INACTIVE
Definition: xua_asp_fsm.h:5
static struct xua_msg * sua_gen_error_msg(uint32_t err_code, struct msgb *msg)
Definition: sua.c:246
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:334
const struct value_string osmo_sccp_pnc_names[]
Definition: sccp_types.c:29
#define SUA_IEI_HOST
Definition: sua.h:125
Definition: osmo_ss7.h:485
static int scmg_rx_ssa(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *ssa)
Definition: sccp_scmg.c:204
static uint32_t scu_prim_conn_id(const struct osmo_scu_prim *prim)
Definition: sccp_scoc.c:1699
@ OSMO_SCCP_SSN_MGMT
Definition: sccp_sap.h:108
@ MTP_SAP_USER
Definition: sigtran_sap.h:10
static const uint16_t coref_mand_ies[]
Definition: sua.c:158
uint32_t xua_msg_get_u32(const struct xua_msg *xua, uint16_t iei)
Definition: xua_msg.c:292
static uint8_t get_cref_cause_for_ret(uint8_t ret_cause)
Definition: sccp_scoc.c:1313
struct osmo_ss7_asp_peer local
Definition: osmo_ss7.h:426
struct osmo_prim_hdr oph
Definition: mtp_sap.h:57
@ OSMO_SCU_PRIM_N_COORD
Definition: sccp_sap.h:44
#define SUA_IEI_USER_CAUSE
Definition: sua.h:108
static void conn_destroy(struct sccp_connection *conn)
Definition: sccp_scoc.c:510
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:1974
struct osmo_scu_connect_param connect
Definition: sccp_sap.h:263
int osmo_ss7_user_mtp_xfer_req(struct osmo_ss7_instance *inst, struct osmo_mtp_prim *omp)
Definition: osmo_ss7_hmrt.c:284
static void rel_tmr_cb(void *data)
Definition: sccp_scoc.c:350
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:517
static int scrc_node_4(struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t return_cause)
Definition: sccp_scrc.c:248
static int sua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:936
uint8_t * dat
Definition: xua_msg.h:43
Definition: sccp_internal.h:26
static void conn_start_rep_rel_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:410
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:186
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:988
static LLIST_HEAD(sccp_instances)
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:385
@ XUA_ASP_E_ASPSM_ASPDN_ACK
Definition: xua_asp_fsm.h:24
osmo_ss7_asp_protocol
Definition: osmo_ss7.h:275
struct osmo_ss7_as::@25 cfg
#define SUA_CL_CLDT
Definition: sua.h:67
@ S_WAIT_CONN_CONF
Definition: sccp_scoc.c:135
@ OSMO_SCCP_ORIG_UNDEFINED
Definition: sccp_sap.h:205
uint32_t importance
Definition: sccp_sap.h:198
@ OSMO_SS7_ASP_ROLE_SG
Definition: osmo_ss7.h:376
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
Definition: xua_as_fsm.h:16
uint32_t s
Definition: sccp_internal.h:27
@ OSMO_SCCP_TIMER_REASSEMBLY
Definition: sccp_internal.h:21
uint8_t version
Definition: xua_types.h:32
@ OSMO_XLM_PRIM_M_NOTIFY
Definition: sigtran_sap.h:20
@ OSMO_SCCP_SSN_EIR
Definition: sccp_sap.h:115
xua_as_state
Definition: xua_as_fsm.h:5
#define SUA_IEI_IMPORTANCE
Definition: sua.h:114
@ SCOC_E_RCOC_IT_IND
Definition: sccp_scoc.c:154
void * osmo_sccp_user_get_priv(struct osmo_sccp_user *scu)
Definition: sccp_user.c:163
uint32_t importance
Definition: sccp_sap.h:214
static int sua_tx_xua_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:286
struct osmo_ss7_route::@23 dest
#define OSMO_SCCP_ADDR_T_IPv4
Definition: sccp_sap.h:52
@ S_DISCONN_PEND
Definition: sccp_scoc.c:131
#define SUA_IEI_SEQ_CTRL
Definition: sua.h:117
#define SUA_IEI_DEST_REF
Definition: sua.h:101
Definition: sccp_sap.h:245
#define SUA_IEI_PROTO_CLASS
Definition: sua.h:116
struct osmo_xua_server * osmo_ss7_xua_server_find(struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port)
Definition: osmo_ss7.c:2031
#define SUA_IEI_GT
Definition: sua.h:121
static void conn_start_connect_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:430
struct in6_addr v6
Definition: sccp_sap.h:178
static int sclc_rx_cldr(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_sclc.c:206
@ OSMO_SCCP_SSN_BISDN
Definition: sccp_sap.h:120
@ OSMO_SCCP_SSN_RNSAP
Definition: sccp_sap.h:124
static struct osmo_ss7_asp * xua_as_select_asp_override(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:98
uint8_t data[0]
Definition: xua_types.h:7
struct osmo_sccp_user * osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn)
Bind a given SCCP User to a given SSN (at any PC)
Definition: sccp_user.c:139
DEFUN_ATTR(sccp_timer, sccp_timer_cmd, NULL, NULL, CMD_ATTR_IMMEDIATE)
Definition: sccp_vty.c:146
uint16_t affected_pc
Definition: sccp_scmg.h:17
static void conn_start_inact_timers(struct sccp_connection *conn)
Definition: sccp_scoc.c:390
@ OSMO_SCU_PRIM_N_CONNECT
Definition: sccp_sap.h:34
struct osmo_sccp_user * sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc)
Find a SCCP User registered for given PC+SSN or SSN only First search all users with a valid PC for a...
Definition: sccp_user.c:50
#define SUA_ASPSM_BEAT
Definition: sua.h:52
sccp_scoc_event
Definition: sccp_scoc.c:137
static int scrc_local_out_common(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:356
#define OSMO_SCCP_ADDR_T_SSN
Definition: sccp_sap.h:51
static int sua_rx_co(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:539
@ XUA_ASP_E_ASPTM_ASPAC_ACK
Definition: xua_asp_fsm.h:22
#define M3UA_VERSION
Definition: m3ua.h:24
struct osmo_scu_unitdata_param unitdata
Definition: sccp_sap.h:267
int m3ua_decode_notify(struct osmo_xlm_prim_notify *npar, void *ctx, const struct xua_msg *xua)
Definition: m3ua.c:409
const struct xua_msg_class m3ua_msg_class_aspsm
Definition: m3ua.c:198
sccp_connection_state
Definition: sccp_scoc.c:124
static int scrc_node_6(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:312
static const char * sccp_scmg_msgt_name(enum sccp_scmg_msg_type msgt)
Definition: sccp_scmg.h:24
static int sua_rx_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:647
struct osmo_prim_hdr oph
Definition: sccp_sap.h:261
static void conn_restart_tx_inact_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:378
int sccp_scmg_init(struct osmo_sccp_instance *inst)
Definition: sccp_scmg.c:308
uint32_t opc
Definition: mtp_sap.h:37
static int gen_mtp_transfer_req_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:113
static const uint16_t resco_mand_ies[]
Definition: sua.c:172
#define M3UA_NOTIFY_I_AS_PEND
Definition: m3ua.h:113
#define OSMO_SCCP_ADDR_T_GT
Definition: sccp_sap.h:49
Definition: osmo_ss7.h:72
#define SUA_IEI_SEGMENTATION
Definition: sua.h:118
struct osmo_ss7_asp * asps[16]
Definition: osmo_ss7.h:329
const struct value_string m3ua_ntfy_stchg_names[]
Definition: m3ua.c:85
char * name
Definition: osmo_ss7.h:189
#define SUA_MSGC_CL
Definition: sua.h:35
@ SCOC_E_T_IAR_EXP
Definition: sccp_scoc.c:159
struct osmo_fsm xua_as_fsm
Definition: xua_as_fsm.c:504
#define SUA_SNM_DUPU
Definition: sua.h:47
void sccp_scoc_flush_connections(struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1786
char * osmo_sccp_addr_dump(const struct osmo_sccp_addr *addr)
Definition: sccp_helpers.c:288
#define SUA_SNM_DRST
Definition: sua.h:48
const char * osmo_ss7_pointcode_print(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:287
static void scu_gen_encode_and_send(struct sccp_connection *conn, uint32_t event, struct xua_msg *xua, unsigned int primitive, enum osmo_prim_operation operation)
Definition: sccp_scoc.c:720
@ XUA_AS_S_PENDING
Definition: xua_as_fsm.h:9
const struct value_string osmo_sccp_timer_names[]
Definition: sccp_scoc.c:233
static struct xua_msg * gen_rlsd(uint32_t route_ctx, uint32_t dest_ref, uint32_t src_ref)
Definition: sccp_scoc.c:1476
char * osmo_scu_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:46
static void xua_as_fsm_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:354
static bool dpc_accessible(struct osmo_sccp_instance *inst, uint32_t pc)
Definition: sccp_scrc.c:59
@ XUA_ASP_E_ASPTM_ASPIA_ACK
Definition: xua_asp_fsm.h:26
static struct xua_msg * gen_ret_msg(struct osmo_sccp_instance *inst, const struct xua_msg *xua_in, uint32_t ret_cause)
Definition: sccp_sclc.c:282
@ SCCP_SCMG_MSGT_SSP
Definition: sccp_scmg.h:7
static bool sccp_available(struct osmo_sccp_instance *inst, const struct osmo_sccp_addr *addr)
Definition: sccp_scrc.c:65
@ OSMO_XLM_PRIM_M_AS_ACTIVE
Definition: sigtran_sap.h:26
void osmo_sccp_vty_init(void)
Definition: sccp_vty.c:256
@ SCOC_E_RCOC_ROUT_FAIL_IND
Definition: sccp_scoc.c:147
@ SCOC_E_RCOC_DT1_IND
Definition: sccp_scoc.c:152
@ OSMO_SCCP_RI_SSN_PC
Definition: sccp_sap.h:60
struct msgb * osmo_sua_to_sccp(struct xua_msg *xua)
convert parsed SUA message to SCCP message
Definition: sccp2sua.c:1413
static const uint16_t cldt_mand_ies[]
Definition: sua.c:121
static const char * osmo_ss7_asp_protocol_name(enum osmo_ss7_asp_protocol mode)
Definition: osmo_ss7.h:286
#define SUA_SNM_DUNA
Definition: sua.h:43
static void sccp_scoc_rx_inval_src_ref(struct sccp_connection *conn, struct xua_msg *xua, uint32_t inval_src_ref)
Definition: sccp_scoc.c:1555
#define SUA_ERR_UNSUPP_MSG_TYPE
Definition: sua.h:143
const struct value_string m3ua_ntfy_type_names[]
Definition: m3ua.c:79
static struct osmo_ss7_asp * xua_as_select_asp_roundrobin(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:112
@ OSMO_XLM_PRIM_M_ASP_INACTIVE
Definition: sigtran_sap.h:25
int osmo_sccp_gt_cmp(const struct osmo_sccp_gt *a, const struct osmo_sccp_gt *b)
Compare two SCCP Global Titles.
Definition: sccp_user.c:334
union osmo_scu_prim::@30 u
@ OSMO_SCCP_TIMERS_COUNT
Definition: sccp_internal.h:23
@ OSMO_SCCP_SP_S_INACCESSIBLE
Definition: sccp_sap.h:142
struct xua_msg_part * xua_msg_find_tag(const struct xua_msg *msg, uint16_t tag)
Definition: xua_msg.c:86
@ S_CONN_PEND_OUT
Definition: sccp_scoc.c:129
static const struct value_string scoc_event_names[]
Definition: sccp_scoc.c:169
bool mode_set_by_vty
Definition: osmo_ss7.h:319
static int sclc_rx_cldt(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_sclc.c:157
static struct sccp_connection * conn_create_id(struct osmo_sccp_user *user, uint32_t conn_id)
Definition: sccp_scoc.c:462
struct osmo_xua_server::@28 cfg
static void scoc_fsm_conn_pend_out(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:912
#define SUA_IEI_MSG_PRIO
Definition: sua.h:115
static void sccp_scoc_rx_inval_opc(struct sccp_connection *conn, struct xua_msg *xua)
Definition: sccp_scoc.c:1588
static struct msgb * scu_msgb_alloc(void)
Definition: sccp_scoc.c:523
@ OSMO_SCCP_SSN_gsmSCF_MAP
Definition: sccp_sap.h:127
bool osmo_ss7_as_has_asp(const struct osmo_ss7_as *as, const struct osmo_ss7_asp *asp)
Determine if given AS contains ASP.
Definition: osmo_ss7.c:1066
static int xua_gen_encode_and_send(struct osmo_sccp_user *scu, uint32_t event, struct osmo_scu_prim *prim, int msg_type)
Definition: sccp_sclc.c:103
struct osmo_sccp_instance * inst
pointer back to SCCP instance
Definition: sccp_internal.h:65
#define SUA_ASPSM_DOWN_ACK
Definition: sua.h:54
uint16_t len
Definition: xua_types.h:43
void * priv
Definition: sccp_internal.h:54
uint8_t tt
Definition: sccp_sap.h:164
@ XUA_ASP_E_ASPSM_ASPDN
Definition: xua_asp_fsm.h:23
static const struct value_string sua_iei_names[]
Definition: sua.c:80
int sccp_scrc_rx_scoc_conn_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:396
const char * name
Definition: xua_msg.h:56
#define SUA_IEI_SSN
Definition: sua.h:123
struct osmo_sccp_instance * sccp
Definition: osmo_ss7.h:91
static const uint16_t coak_mand_ies[]
Definition: sua.c:154
@ OSMO_SCCP_SSN_ISDN_SS
Definition: sccp_sap.h:118
int event
Definition: xua_msg.h:66
static void tx_inact_tmr_cb(void *data)
Definition: sccp_scoc.c:336
const struct osmo_sccp_timer_val osmo_sccp_timer_defaults[]
Definition: sccp_scoc.c:278
const struct xua_msg_class m3ua_msg_class_mgmt
Definition: m3ua.c:229
static int translate(struct osmo_sccp_instance *inst, const struct osmo_sccp_addr *called, struct osmo_sccp_addr *translated)
Definition: sccp_scrc.c:175
Definition: xua_types.h:31
#define INIT_TIMER(x, fn, priv)
Definition: sccp_scoc.c:459
struct msgb * sccp_msgb_alloc(const char *name)
Definition: sua.c:63
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
@ OSMO_SCCP_SSN_CAP
Definition: sccp_sap.h:126
#define SUA_IEI_ERR_CODE
Definition: sua.h:87
@ OSMO_XLM_PRIM_M_SCTP_RESTART
Definition: sigtran_sap.h:16
struct osmo_sccp_addr called_addr
Definition: sccp_scoc.c:87
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
@ OSMO_XLM_PRIM_M_SCTP_ESTABLISH
Definition: sigtran_sap.h:14
@ OSMO_SCCP_REM_SCCP_S_AVAILABLE
Definition: sccp_sap.h:148
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:955
#define SUA_CO_RELRE
Definition: sua.h:73
@ XUA_ASP_E_ASPTM_ASPAC
Definition: xua_asp_fsm.h:21
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:126
@ SCCP_SCMG_MSGT_SOG
Definition: sccp_scmg.h:10
struct msgb * sccp_msgb_alloc(const char *name)
Definition: sua.c:63
#define NOTIFY_PAR_P_ASP_ID
Definition: sigtran_sap.h:34
#define SUA_ASPTM_ACTIVE_ACK
Definition: sua.h:59
void sccp_scoc_rx_scrc_rout_fail(struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t cause)
SCOC: Receive SCRC Routing Failure.
Definition: sccp_scoc.c:1376
#define SCCP_MSG_HEADROOM
Definition: sua.c:61
@ OSMO_XLM_PRIM_M_RK_REG
Definition: sigtran_sap.h:30
static const uint16_t codt_mand_ies[]
Definition: sua.c:144
uint8_t sio
Definition: mtp_sap.h:40
static struct xua_msg * xua_gen_msg_cl(uint32_t event, struct osmo_scu_prim *prim, int msg_type)
Definition: sccp_sclc.c:65
#define MTP_SIO(service, net_ind)
Definition: mtp_sap.h:34
#define SCU_MSGB_SIZE
Definition: sccp_scoc.c:65
char * name
Definition: osmo_ss7.h:418
@ OSMO_XLM_PRIM_M_AS_INACTIVE
Definition: sigtran_sap.h:27
int sua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process SUA message received from socket
Definition: sua.c:670
struct osmo_sccp_user * osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc)
Find a SCCP User registered for given PC+SSN or SSN only.
Definition: sccp_user.c:80
void sccp_scmg_rx_mtp_resume(struct osmo_sccp_instance *inst, uint32_t dpc)
brief MTP -> SNM (MTP-RESUME.ind) - ability of providing the MTP service Q.714 5.2....
Definition: sccp_scmg.c:102
static int mtp_user_prim_cb(struct osmo_prim_hdr *oph, void *ctx)
Definition: sccp_user.c:180
#define SUA_ASPSM_DOWN
Definition: sua.h:51
#define SUA_IEI_CREDIT
Definition: sua.h:106
@ _NUM_OSMO_SS7_ASP_TMOD
Definition: osmo_ss7.h:264
@ OSMO_SCCP_SP_S_ACCESSIBLE
Definition: sccp_sap.h:144
@ OSMO_SCCP_GTI_NAI_ONLY
Definition: sccp_sap.h:72
@ MTP_SI_SCCP
Definition: mtp.h:10
@ OSMO_SCU_PRIM_N_EXPEDITED_DATA
Definition: sccp_sap.h:36
@ SCOC_E_SCU_N_DATA_REQ
Definition: sccp_scoc.c:142
static void conn_start_rel_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:404
static int get_local_role(struct osmo_ss7_as *as)
Definition: xua_as_fsm.c:79
int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_scoc.c:1777
char * name
Definition: osmo_ss7.h:313
void sccp_scmg_rx_ssn_allowed(struct osmo_sccp_instance *inst, uint32_t dpc, uint32_t ssn, uint32_t smi)
Definition: sccp_scmg.c:40
static struct xua_msg * sua_gen_error(uint32_t err_code)
Definition: sua.c:235
@ OSMO_XLM_PRIM_M_ASP_DOWN
Definition: sigtran_sap.h:23
#define MAND_IES(msgt, ies)
Definition: sua.c:119
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:227
#define SUA_SNM_DAVA
Definition: sua.h:44
#define SUA_IEI_RX_SEQ_NR
Definition: sua.h:104
void xua_snm_rx_duna(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:306
static void xua_as_fsm_pending(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_as_fsm.c:412
@ SCOC_E_SCU_N_CONN_RESP
Definition: sccp_scoc.c:140
Definition: sccp_sap.h:253
uint8_t last_asp_idx_sent
Definition: osmo_ss7.h:330
static int xua_gen_encode_and_send(struct sccp_connection *conn, uint32_t event, struct osmo_scu_prim *prim, int msg_type)
Definition: sccp_scoc.c:688
static const uint16_t relco_mand_ies[]
Definition: sua.c:165
static const struct osmo_fsm_state sccp_scoc_states[]
Definition: sccp_scoc.c:1201
@ OSMO_SCCP_TIMER_RESET
Definition: sccp_internal.h:20
uint8_t msg_class
Definition: xua_types.h:34
struct xua_common_hdr hdr
Definition: xua_msg.h:32
static int scrc_node_12(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:193
#define SUA_IEI_ROUTING_KEY
Definition: sua.h:110
static int sua_rx_snm_sg(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:923
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:211
#define SUA_MSGC_RKM
Definition: sua.h:37
uint8_t sls
Definition: mtp_sap.h:39
const struct value_string sccp_scmg_msgt_names[]
Definition: sccp_scmg.c:158
@ OSMO_SCCP_SSN_SIWF_MAP
Definition: sccp_sap.h:128
@ XUA_ASP_E_ASPSM_BEAT_ACK
Definition: xua_asp_fsm.h:29
static void xua_as_fsm_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)
Definition: xua_as_fsm.c:299
#define SUA_IEI_IPv4
Definition: sua.h:124
static int xua_gen_relre_and_send(struct sccp_connection *conn, uint32_t cause, struct osmo_scu_prim *prim)
Definition: sccp_scoc.c:552
struct osmo_sccp_user * osmo_sccp_user_bind_pc(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn, uint32_t pc)
Bind a given SCCP User to a given SSN+PC.
Definition: sccp_user.c:127
void osmo_ss7_route_destroy(struct osmo_ss7_route *rt)
Destroy a given SS7 route.
Definition: osmo_ss7.c:810
const struct value_string osmo_xlm_prim_names[]
Definition: sccp_sap.c:59
static char prim_name_buf[128]
Definition: sccp_sap.c:44
@ OSMO_MTP_PRIM_TRANSFER
Definition: mtp_sap.h:28
#define SUA_IEI_PC
Definition: sua.h:122
static const struct xua_msg_event_map sua_scoc_event_map[]
Definition: sccp_scoc.c:201
@ XUA_ASPAS_ASP_INACTIVE_IND
Definition: xua_as_fsm.h:13
int xua_msg_add_sccp_addr(struct xua_msg *xua, uint16_t iei, const struct osmo_sccp_addr *addr)
Definition: xua_msg.c:371
static bool sua_is_connectionless(struct xua_msg *xua)
Definition: sccp_scrc.c:42
struct osmo_scu_notice_param notice
Definition: sccp_sap.h:268
enum osmo_ss7_asp_role role
Definition: osmo_ss7.h:423
static void write_sccp_timers(struct vty *vty, const char *indent, struct osmo_sccp_instance *inst, bool default_if_unset)
Definition: sccp_vty.c:213
@ SCOC_E_CONN_TMR_EXP
Definition: sccp_scoc.c:162
static struct osmo_scu_prim * scu_prim_alloc(unsigned int primitive, enum osmo_prim_operation operation)
Definition: sccp_scoc.c:706
#define SUA_ERR_INVALID_VERSION
Definition: sua.h:141
static const struct osmo_fsm_state xua_as_fsm_states[]
Definition: xua_as_fsm.c:456
#define SUA_IEI_NET_APPEARANCE
Definition: sua.h:109
#define SUA_IEI_ASP_CAPA
Definition: sua.h:105
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
Definition: xua_asp_fsm.h:6
@ OSMO_SCCP_GTI_TT_NPL_ENC
Definition: sccp_sap.h:74
static bool osmo_ss7_pc_is_valid(uint32_t pc)
Definition: osmo_ss7.h:34
struct osmo_fsm_inst * fi
ASP FSM.
Definition: osmo_ss7.h:388
#define SUA_RI_SSN_IP
Definition: sua.h:131
#define M3UA_NOTIFY_T_OTHER
Definition: m3ua.h:108
@ SCOC_E_RCOC_RLSD_IND
Definition: sccp_scoc.c:148
void sccp_lbcs_local_bcast_pcstate(struct osmo_sccp_instance *inst, const struct osmo_scu_pcstate_param *pcstate)
Definition: sccp_lbcs.c:39
const struct value_string osmo_sccp_routing_ind_names[]
Definition: sccp_sap.c:91
#define SUA_IEI_AFFECTED_PC
Definition: sua.h:90
#define M3UA_NOTIFY_I_AS_ACT
Definition: m3ua.h:112
struct llist_head asp_list
list of osmo_ss7_asp
Definition: osmo_ss7.h:80
@ OSMO_SCCP_SSN_HLR
Definition: sccp_sap.h:112
static void gen_sccp_timer_cmd_strs(struct cmd_element *cmd)
Definition: sccp_vty.c:176
#define SUA_ERR_PARAM_FIELD_ERR
Definition: sua.h:152
uint32_t asp_id
Definition: sigtran_sap.h:41
struct osmo_sccp_instance * osmo_sccp_simple_server(void *ctx, uint32_t pc, enum osmo_ss7_asp_protocol prot, int local_port, const char *local_ip)
Definition: sccp_user.c:735
static struct osmo_sccp_user * sccp_find_user(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scoc.c:1348
struct osmo_ss7_route_table * rtable_system
Definition: osmo_ss7.h:89
#define OSMO_SS7_PC_INVALID
Definition: osmo_ss7.h:33
#define INST_STR
Definition: xua_internal.h:85
uint32_t release_cause
Definition: sccp_scoc.c:101
@ SCOC_E_T_INT_EXP
Definition: sccp_scoc.c:165
#define SUA_IEI_DEST_ADDR
Definition: sua.h:99
void osmo_ss7_xua_server_destroy(struct osmo_xua_server *xs)
Definition: osmo_ss7.c:2143
static int scrc_node_2(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:203
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:371
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:881
static bool check_any_other_asp_in_active(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp_cmp)
Definition: xua_as_fsm.c:226
int xua_msg_add_u32(struct xua_msg *xua, uint16_t iei, uint32_t val)
Definition: xua_msg.c:280
uint32_t recovery_timeout_msec
Definition: osmo_ss7.h:322
static const char * osmo_sccp_timer_name(enum osmo_sccp_timer val)
Definition: sccp_internal.h:34
struct osmo_sccp_instance * inst
Definition: sccp_scoc.c:78
static void int_tmr_cb(void *data)
Definition: sccp_scoc.c:357
char digits[32]
Definition: sccp_sap.h:167
static const struct xua_msg_class msg_class_co
Definition: sua.c:196
struct xua_msg * xua_msg_alloc(void)
Definition: xua_msg.c:44
@ SCOC_E_RCOC_OTHER_NPDU
Definition: sccp_scoc.c:155
static void xua_as_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
Definition: xua_as_fsm.c:449
struct llist_head as_list
list of osmo_ss7_as
Definition: osmo_ss7.h:78
@ XUA_ASP_E_ASPSM_ASPUP_ACK
Definition: xua_asp_fsm.h:20
uint32_t asp_id
Definition: osmo_ss7.h:401
struct osmo_ss7_instance * osmo_ss7_instance_find_or_create(void *ctx, uint32_t id)
Find or create a SS7 Instance.
Definition: osmo_ss7.c:359
@ OSMO_SCCP_SSN_OMAP
Definition: sccp_sap.h:110
#define SUA_MGMT_NTFY
Definition: sua.h:41
#define SUA_IEI_SMI
Definition: sua.h:113
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:445
struct osmo_ss7_route * osmo_ss7_route_lookup(struct osmo_ss7_instance *inst, uint32_t dpc)
Find a SS7 route for given destination point code in given SS7.
Definition: osmo_ss7.c:735
char * osmo_sccp_addr_name(const struct osmo_ss7_instance *ss7, const struct osmo_sccp_addr *addr)
Definition: sccp_helpers.c:371
static void sccp_timer_schedule(const struct sccp_connection *conn, struct osmo_timer_list *timer, enum osmo_sccp_timer timer_name)
Definition: sccp_scoc.c:327
size_t host_cnt
Definition: osmo_ss7.h:363
@ OSMO_SCCP_SSN_MAP
Definition: sccp_sap.h:111
struct osmo_ss7_linkset::@22 cfg
static int scmg_rx_ssp(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *ssp)
Definition: sccp_scmg.c:222
#define SUA_MSGC_SNM
Definition: sua.h:32
static int sua_rx_mgmt(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:621
static int scrc_translate_node_9(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:262
@ OSMO_XLM_PRIM_M_AS_DOWN
Definition: sigtran_sap.h:28
#define SUA_PPID
Definition: sua.h:27
void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv)
Definition: sccp_user.c:158
static struct xua_msg * gen_coerr(uint32_t route_ctx, uint32_t dest_ref, uint32_t err_cause)
Definition: sccp_scoc.c:1402
#define SUA_IEI_CAUSE
Definition: sua.h:102
bool is_server
Definition: osmo_ss7.h:422
Definition: sccp_sap.h:162
#define MSEC_TO_S_US(x)
Definition: xua_as_fsm.c:186
void osmo_sccp_vty_write_cs7_node(struct vty *vty, const char *indent, struct osmo_sccp_instance *inst)
Definition: sccp_vty.c:227
uint32_t return_option
Definition: sccp_sap.h:230
@ OSMO_XLM_PRIM_M_AS_STATUS
Definition: sigtran_sap.h:19
void sccp_scmg_rx_mtp_pause(struct osmo_sccp_instance *inst, uint32_t dpc)
brief MTP -> SNM (MTP-PAUSE.ind) - inability to providing MTP service Q.714 5.2.2
Definition: sccp_scmg.c:79
void osmo_sccp_make_addr_pc_ssn(struct osmo_sccp_addr *addr, uint32_t pc, uint32_t ssn)
Definition: sccp_helpers.c:44
#define SUA_SNM_DAUD
Definition: sua.h:45
#define S(x)
Definition: xua_as_fsm.c:184
void sccp_scmg_rx_mtp_status(struct osmo_sccp_instance *inst, uint32_t dpc, enum mtp_unavail_cause cause)
Definition: sccp_scmg.c:125
struct osmo_mtp_transfer_param transfer
Definition: mtp_sap.h:59
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:228
#define SUA_ERR_UNEXPECTED_MSG
Definition: sua.h:145
int osmo_ss7_asp_peer_add_host(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *host)
Append (copy) address to a given ASP peer.
Definition: osmo_ss7.c:1163
uint32_t conn_id
Definition: sccp_scoc.c:91
uint32_t route_ctx
Definition: sccp_internal.h:50
struct osmo_sccp_user * osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn)
Bind a given SCCP User to a given SSN (at any PC)
Definition: sccp_user.c:139
int xua_msg_add_data(struct xua_msg *msg, uint16_t tag, uint16_t len, const uint8_t *dat)
Definition: xua_msg.c:61
uint32_t xua_msg_part_get_u32(const struct xua_msg_part *part)
Definition: xua_msg.c:286
struct osmo_ss7_asp_peer local
Definition: osmo_ss7.h:496
@ OSMO_SCCP_TIMER_CONN_EST
Definition: sccp_internal.h:13
@ OSMO_SCU_PRIM_N_INFORM
Definition: sccp_sap.h:39
uint16_t tag
Definition: xua_msg.h:41
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:773
@ SCCP_SAP_USER
Definition: sigtran_sap.h:7
void sccp_sclc_rx_scrc_rout_fail(struct osmo_sccp_instance *inst, struct xua_msg *xua_in, uint32_t cause)
SCRC -> SCLC (Routing Failure.
Definition: sccp_sclc.c:332
uint32_t us
Definition: sccp_internal.h:28
const char * name
Definition: osmo_ss7.h:128
struct llist_head list
entry in list of sccp users of osmo_sccp_instance
Definition: sccp_internal.h:63
static void rx_inact_tmr_cb(void *data)
Definition: sccp_scoc.c:343
#define SUA_IEI_SEQ_NR
Definition: sua.h:103
static const struct value_string sua_cl_msgt_names[]
Definition: sua.c:129
struct osmo_xua_server * osmo_ss7_xua_server_create(struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port, const char *local_host)
create a new xUA server configured with given ip/port
Definition: osmo_ss7.c:2053
@ OSMO_XLM_PRIM_M_ERROR
Definition: sigtran_sap.h:21
bool mode_set_by_peer
Definition: osmo_ss7.h:321
#define SUA_RI_HOST
Definition: sua.h:130
struct osmo_timer_list t_rel
Definition: sccp_scoc.c:117
bool osmo_ss7_pc_is_local(struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:2160
@ OSMO_SS7_ASP_PROT_SUA
Definition: osmo_ss7.h:277
#define SUA_CO_RESCO
Definition: sua.h:75
struct osmo_sccp_instance * osmo_sccp_instance_create(struct osmo_ss7_instance *ss7, void *priv)
create a SCCP Instance and register it as user with SS7 inst
Definition: sccp_user.c:220
#define SUA_CO_CORE
Definition: sua.h:70
#define SCCP_STR
Definition: sccp_internal.h:9
struct llist_head list
entry in 'ref osmo_ss7_instance.as_list
Definition: osmo_ss7.h:300
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:315
@ OSMO_SS7_AS_TMOD_LOADSHARE
Definition: osmo_ss7.h:262
@ S_BOTHWAY_RESET
Definition: sccp_scoc.c:134
void sccp_scoc_rx_from_scrc(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Main entrance function for primitives from the SCRC (Routing Control)
Definition: sccp_scoc.c:1620
@ OSMO_SCCP_TIMER_INT
Definition: sccp_internal.h:18
#define SUA_MSGC_MGMT
Definition: sua.h:31
@ XUA_ASP_E_ASPSM_ASPUP
Definition: xua_asp_fsm.h:19
@ OSMO_XLM_PRIM_M_ASP_ACTIVE
Definition: sigtran_sap.h:24
uint32_t remote_pc
Definition: sccp_scoc.c:83
uint32_t nai
Definition: sccp_sap.h:166
const struct value_string m3ua_ntfy_other_names[]
Definition: m3ua.c:93
@ OSMO_SS7_AS_TMOD_BCAST
Definition: osmo_ss7.h:261
const struct osmo_sccp_timer_val osmo_sccp_timer_defaults[]
Definition: sccp_scoc.c:278
struct msgb * xua_to_msg(const int version, struct xua_msg *msg)
Definition: xua_msg.c:203
bool osmo_ss7_asp_active(const struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1506
uint32_t cause
Definition: sccp_sap.h:239
static const uint16_t relre_mand_ies[]
Definition: sua.c:161
static void vty_show_connection(struct vty *vty, struct sccp_connection *conn)
Definition: sccp_scoc.c:1796
struct osmo_ss7_asp::@27 cfg
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:151
@ OSMO_SCCP_TIMER_GUARD
Definition: sccp_internal.h:19
struct osmo_ss7_routing_key routing_key
Definition: osmo_ss7.h:316
static bool sua_is_cr(struct xua_msg *xua)
Definition: sccp_scrc.c:50
@ SCOC_E_RCOC_CONN_IND
Definition: sccp_scoc.c:146
uint32_t sccp_class
Definition: sccp_scoc.c:100
int sccp_scrc_rx_sclc_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:418
#define SUA_VERSION
Definition: sua.h:26
@ SCOC_E_T_REL_EXP
Definition: sccp_scoc.c:164
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:717
struct osmo_sccp_addr calling_addr
Definition: sccp_scoc.c:86
@ OSMO_XLM_PRIM_M_SCTP_STATUS
Definition: sigtran_sap.h:17
struct osmo_fsm sccp_scoc_fsm
Definition: sccp_scoc.c:1289
static int sua2sccp_tx_m3ua(struct osmo_sccp_instance *inst, struct xua_msg *sua)
Definition: sccp_scrc.c:72
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:185
static int scrc_node_7(struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called)
Definition: sccp_scrc.c:226
@ XUA_AS_S_DOWN
Definition: xua_as_fsm.h:6
#define SUA_CO_COIT
Definition: sua.h:80
union osmo_sccp_addr::@29 ip
char * host[OSMO_SOCK_MAX_ADDRS]
Definition: osmo_ss7.h:362
struct osmo_scu_disconn_param disconnect
Definition: sccp_sap.h:265
#define SUA_SNM_SCON
Definition: sua.h:46
struct xua_msg * osmo_sccp_to_xua(struct msgb *msg)
convert SCCP message to a SUA message
Definition: sccp2sua.c:1315
static const struct value_string sua_co_msgt_names[]
Definition: sua.c:182
static struct osmo_sccp_user * sccp_user_bind_pc(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn, uint32_t pc)
Bind a SCCP User to a given Point Code.
Definition: sccp_user.c:92
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:238
@ OSMO_SCCP_SSN_BSSAP
Definition: sccp_sap.h:137
const struct xua_msg_class m3ua_msg_class_asptm
Definition: m3ua.c:211
struct osmo_sccp_instance * osmo_ss7_ensure_sccp(struct osmo_ss7_instance *inst)
Allocate an SCCP instance, if not present yet.
Definition: osmo_ss7.c:442
@ OSMO_SCCP_SSN_MSC_BSSAP_LE
Definition: sccp_sap.h:134
static int sua_rx_cl(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:511
struct osmo_sccp_instance * osmo_sccp_simple_server_on_ss7_id(void *ctx, uint32_t ss7_id, uint32_t pc, enum osmo_ss7_asp_protocol prot, int local_port, const char *local_ip)
Definition: sccp_user.c:694
static void rep_rel_tmr_cb(void *data)
Definition: sccp_scoc.c:364
static void scoc_fsm_wait_conn_conf(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:990
@ OSMO_SCCP_GTI_NO_GT
Definition: sccp_sap.h:71
struct osmo_sccp_timer_val timers[OSMO_SCCP_TIMERS_COUNT]
Definition: sccp_internal.h:58
Definition: osmo_ss7.h:205
const struct xua_dialect xua_dialect_sua
Definition: sua.c:215
static struct sccp_connection * conn_create(struct osmo_sccp_user *user)
Definition: sccp_scoc.c:497
void sccp_sclc_rx_scrc_rout_fail(struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t cause)
SCRC -> SCLC (Routing Failure.
Definition: sccp_sclc.c:332
#define SUA_ASPSM_UP
Definition: sua.h:50
static struct xua_msg * gen_relco(uint32_t route_ctx, uint32_t dest_ref, uint32_t src_ref)
Definition: sccp_scoc.c:1438
int sccp_sclc_rx_from_scrc(struct osmo_sccp_instance *inst, struct xua_msg *xua)
SCRC -> SCLC (connectionless message)
Definition: sccp_sclc.c:256
@ OSMO_SCCP_TIMER_REPEAT_REL
Definition: sccp_internal.h:17
static const uint16_t cldr_mand_ies[]
Definition: sua.c:125
bool osmo_sccp_check_addr(struct osmo_sccp_addr *addr, uint32_t presence)
check whether a given SCCP-Address is consistent.
Definition: sccp_user.c:291
uint32_t conn_id
Definition: sccp_sap.h:213
static void conn_tmr_cb(void *data)
Definition: sccp_scoc.c:371
void xua_msg_free(struct xua_msg *msg)
Definition: xua_msg.c:56
static void scoc_fsm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:811
uint8_t ssc_congestion_lvl[0]
Definition: sccp_scmg.h:20
Definition: sccp_sap.h:260
#define SUA_IEI_TID
Definition: sua.h:112
#define SCCP_MSG_SIZE
Definition: sua.c:60
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:517
@ OSMO_SCCP_SSN_BSC_BSSAP_LE
Definition: sccp_sap.h:133
void osmo_sccp_user_unbind(struct osmo_sccp_user *scu)
Unbind a given SCCP user.
Definition: sccp_user.c:148
static const uint16_t coit_mand_ies[]
Definition: sua.c:178
void osmo_ss7_instance_destroy(struct osmo_ss7_instance *inst)
Destroy a SS7 Instance.
Definition: osmo_ss7.c:400
struct osmo_timer_list t_ias
Definition: sccp_scoc.c:113
@ SCOC_E_RCOC_DT2_IND
Definition: sccp_scoc.c:153
#define SUA_IEI_REG_RESULT
Definition: sua.h:92
static void conn_stop_inact_timers(struct sccp_connection *conn)
Definition: sccp_scoc.c:397
void sccp_scoc_show_connections(struct vty *vty, struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1821
const char * name
Definition: xua_msg.h:49
struct osmo_scu_reset_param reset
Definition: sccp_sap.h:266
bool incoming
Definition: sccp_scoc.c:104
#define OSMO_SCCP_ADDR_T_IPv6
Definition: sccp_sap.h:53
struct osmo_ss7_linkset * linkset
pointer to linkset (destination) of route
Definition: osmo_ss7.h:215
struct xua_msg * m3ua_encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: m3ua.c:380
int osmo_sccp_addr_ri_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b)
Compare the routing information of two SCCP addresses.
Definition: sccp_user.c:416
int sccp_sclc_rx_from_scrc(struct osmo_sccp_instance *inst, struct xua_msg *xua)
SCRC -> SCLC (connectionless message)
Definition: sccp_sclc.c:256
int osmo_ss7_asp_use_default_lm(struct osmo_ss7_asp *asp, int log_level)
Definition: xua_default_lm_fsm.c:367
#define SUA_ASPTM_INACTIVE_ACK
Definition: sua.h:60
uint32_t remote_ref
Definition: sccp_scoc.c:97
#define S(x)
Definition: sccp_scoc.c:64
static int sccp_scmg_tx(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, uint8_t msg_type, uint8_t ssn, uint16_t pc, uint8_t smi, uint8_t *ssc_cong_lvl)
Definition: sccp_scmg.c:168
uint32_t conn_id
Definition: sccp_sap.h:191
#define LOGPASP(asp, subsys, level, fmt, args ...)
Definition: osmo_ss7.h:472
@ S_ACTIVE
Definition: sccp_scoc.c:130
#define NOTIFY_PAR_P_ROUTE_CTX
Definition: sigtran_sap.h:35
void sccp_scoc_rx_scrc_rout_fail(struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t return_cause)
SCOC: Receive SCRC Routing Failure.
Definition: sccp_scoc.c:1376
int xua_dialect_check_all_mand_ies(const struct xua_dialect *dialect, struct xua_msg *xua)
Definition: xua_msg.c:482
static void show_user(struct vty *vty, struct osmo_sccp_user *user)
Definition: sccp_vty.c:43
void xua_snm_rx_dupu(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:376
int osmo_sccp_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_scoc.c:1720
static const uint16_t coda_mand_ies[]
Definition: sua.c:147
uint16_t status_type
Definition: sigtran_sap.h:39
@ OSMO_XLM_PRIM_M_ASP_UP
Definition: sigtran_sap.h:22
const struct value_string m3ua_err_names[]
Definition: m3ua.c:55
int sccp_user_prim_up(struct osmo_sccp_user *scu, struct osmo_scu_prim *prim)
Send a SCCP User SAP Primitive up to the User.
Definition: sccp_user.c:172
@ OSMO_SCCP_GTI_TT_ONLY
Definition: sccp_sap.h:73
static void conn_stop_connect_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:436
uint16_t tag
Definition: xua_types.h:42
@ SCOC_E_T_REP_REL_EXP
Definition: sccp_scoc.c:166
struct osmo_ss7_instance * osmo_sccp_get_ss7(const struct osmo_sccp_instance *sccp)
get the SS7 instance that is related to the given SCCP instance
Definition: sccp_user.c:813
@ OSMO_SCCP_SSN_TC_TEST
Definition: sccp_sap.h:121
@ OSMO_SS7_AS_TMOD_OVERRIDE
Definition: osmo_ss7.h:260
struct llist_head list
Definition: sccp_internal.h:44
uint32_t affected_pc
Definition: sccp_sap.h:254
Definition: osmo_ss7.h:382
int sccp_sclc_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_sclc.c:123
#define SUA_IEI_S7_HOP_CTR
Definition: sua.h:97
struct llist_head connections
Definition: sccp_internal.h:46
#define SUA_IEI_DIAG_INFO
Definition: sua.h:84
@ OSMO_SS7_ASP_ROLE_ASP
Definition: osmo_ss7.h:375
xua_as_event
Definition: xua_as_fsm.h:12
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:801
#define SUA_MSGC_ASPSM
Definition: sua.h:33
@ MTP_UNAVAIL_C_INACC_REM_USER
Definition: mtp.h:31
#define SUA_ERR_UNSUPP_MSG_CLASS
Definition: sua.h:142
static struct xua_msg * xua_gen_msg_co(struct sccp_connection *conn, uint32_t event, struct osmo_scu_prim *prim, int msg_type)
Definition: sccp_scoc.c:571
@ OSMO_SCCP_RI_GT
Definition: sccp_sap.h:59
#define SUA_IEI_CORR_ID
Definition: sua.h:91
int sccp_scmg_init(struct osmo_sccp_instance *inst)
Definition: sccp_scmg.c:308
@ OSMO_SCCP_SSN_BSS_OAM
Definition: sccp_sap.h:136
char * xua_msg_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:527
static const char * osmo_sccp_timer_description(enum osmo_sccp_timer val)
Definition: sccp_internal.h:38
bool asp_id_present
Definition: osmo_ss7.h:402
struct osmo_ss7_user ss7_user
Definition: sccp_internal.h:56
@ MTP_UNAVAIL_C_UNEQUIP_REM_USER
Definition: mtp.h:30
void sccp_lbcs_local_bcast_pcstate(struct osmo_sccp_instance *inst, const struct osmo_scu_pcstate_param *pcstate)
Definition: sccp_lbcs.c:39
static struct xua_msg * xua_gen_relre(struct sccp_connection *conn, uint32_t cause, struct osmo_scu_prim *prim)
Definition: sccp_scoc.c:529
int sccp_sclc_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph)
Main entrance function for primitives from SCCP User.
Definition: sccp_sclc.c:147
void osmo_sccp_instance_destroy(struct osmo_sccp_instance *inst)
Definition: sccp_user.c:252
#define SUA_ASPTM_INACTIVE
Definition: sua.h:58
const struct value_string osmo_sccp_ssn_names[]
Definition: sccp_sap.c:108
uint8_t msg_type
Definition: xua_types.h:35
@ OSMO_SCCP_SSN_AUC
Definition: sccp_sap.h:116
struct llist_head list
Definition: sccp_scoc.c:76
#define SUA_CAUSE_T_REFUSAL
Definition: sua.h:135
static int sua_rx_snm_asp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: sua.c:889
static int scmg_rx_sst(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *sst)
Definition: sccp_scmg.c:231
@ XUA_AS_S_INACTIVE
Definition: xua_as_fsm.h:7
#define SUA_ERR_MISSING_PARAM
Definition: sua.h:156
@ OSMO_SS7_AS_TMOD_ROUNDROBIN
Definition: osmo_ss7.h:263
@ OSMO_SCCP_SSN_GGSN_MAP
Definition: sccp_sap.h:130
#define SUA_CO_CODA
Definition: sua.h:78
@ XUA_ASP_S_DOWN
Definition: xua_asp_fsm.h:4
struct osmo_ss7_asp * osmo_ss7_asp_find_or_create(struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto)
Definition: osmo_ss7.c:1370
uint32_t context
Definition: osmo_ss7.h:252
int osmo_ss7_user_register(struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user)
Register a MTP user for a given service indicator.
Definition: osmo_ss7.c:461
osmo_static_assert(ARRAY_SIZE(osmo_sccp_timer_defaults)==OSMO_SCCP_TIMERS_COUNT, assert_osmo_sccp_timers_count)
uint32_t pc
Definition: sccp_internal.h:71
uint16_t len
Definition: xua_msg.h:42
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:237
@ OSMO_SCCP_TIMER_REL
Definition: sccp_internal.h:16
void osmo_ss7_as_destroy(struct osmo_ss7_as *as)
Destroy given Application Server.
Definition: osmo_ss7.c:1041
int osmo_ss7_asp_protocol_port(enum osmo_ss7_asp_protocol prot)
Definition: osmo_ss7.c:326
struct osmo_sccp_gt gt
Definition: sccp_sap.h:173
int sccp_user_prim_up(struct osmo_sccp_user *scut, struct osmo_scu_prim *prim)
Send a SCCP User SAP Primitive up to the User.
Definition: sccp_user.c:172
struct osmo_ss7_asp_peer remote
Definition: osmo_ss7.h:427
static void scoc_fsm_idle_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)
Definition: sccp_scoc.c:881
int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg)
Definition: xua_as_fsm.c:152
uint8_t gti
Definition: sccp_sap.h:163
#define SUA_CO_COERR
Definition: sua.h:79
osmo_sccp_timer
Definition: sccp_internal.h:12
@ SCOC_E_SCU_N_EXP_DATA_REQ
Definition: sccp_scoc.c:143
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:499
struct llist_head list
entry in osmo_ss7_instance::asp_list
Definition: osmo_ss7.h:384
uint32_t next_id
Definition: sccp_internal.h:52
@ OSMO_SCU_PRIM_N_DATA
Definition: sccp_sap.h:35
enum osmo_sccp_routing_ind ri
Definition: sccp_sap.h:172
static void scoc_fsm_conn_pend_in(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: sccp_scoc.c:887
const struct xua_dialect xua_dialect_sua
Definition: sua.c:215
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:301
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:61
struct osmo_timer_list t_r
Definition: xua_as_fsm.c:200
uint32_t presence
Definition: sigtran_sap.h:38
@ OSMO_SCCP_SSN_MSC
Definition: sccp_sap.h:114
#define SUA_MSGC_ASPTM
Definition: sua.h:34
struct osmo_sccp_user * sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc)
Find a SCCP User registered for given PC+SSN or SSN only First search all users with a valid PC for a...
Definition: sccp_user.c:50
static struct xua_msg * gen_coref_without_conn(struct osmo_sccp_instance *inst, struct xua_msg *xua_in, uint32_t ref_cause)
Definition: sccp_scoc.c:1323
@ SCCP_SCMG_MSGT_SOR
Definition: sccp_scmg.h:9
enum osmo_sccp_originator originator
Definition: sccp_sap.h:210
struct osmo_timer_list t_int
Definition: sccp_scoc.c:118
const struct value_string osmo_sccp_timer_descriptions[]
Definition: sccp_scoc.c:248
static void tx_rlsd_from_xua_twoway(struct sccp_connection *conn, struct xua_msg *in)
Definition: sccp_scoc.c:1490
const struct osmo_sccp_timer_val * osmo_sccp_timer_get(const struct osmo_sccp_instance *inst, enum osmo_sccp_timer timer, bool default_if_unset)
Definition: sccp_scoc.c:297
int xua_msg_free_tag(struct xua_msg *xua, uint16_t tag)
Definition: xua_msg.c:97
uint32_t id
Definition: osmo_ss7.h:94
static const struct value_string xua_as_event_names[]
Definition: xua_as_fsm.c:188
uint8_t affected_ssn
Definition: sccp_scmg.h:16
@ XUA_ASPAS_ASP_DOWN_IND
Definition: xua_as_fsm.h:14
struct osmo_mtp_transfer_param mtp
Definition: xua_msg.h:33
const struct value_string osmo_sccp_msg_type_names[]
Definition: sccp_types.c:4
#define SUA_IEI_INFO_STRING
Definition: sua.h:82
@ OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN
Definition: sccp_sap.h:149
#define SUA_IEI_SRC_REF
Definition: sua.h:100
struct osmo_sccp_instance * osmo_sccp_simple_server_add_clnt(struct osmo_sccp_instance *inst, enum osmo_ss7_asp_protocol prot, const char *name, uint32_t pc, int local_port, int remote_port, const char *remote_ip)
Definition: sccp_user.c:744
uint8_t msg_type
Definition: sccp_scmg.h:15
@ XUA_AS_S_ACTIVE
Definition: xua_as_fsm.h:8
void xua_snm_rx_dava(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:341
struct llist_head users
Definition: sccp_internal.h:48
#define SUA_CAUSE_T_ERROR
Definition: sua.h:138
#define SUA_CAUSE_T_RETURN
Definition: sua.h:134
#define SUA_CO_RESRE
Definition: sua.h:76
char * xua_hdr_dump(struct xua_msg *xua, const struct xua_dialect *dialect)
Definition: xua_msg.c:467
struct osmo_sccp_instance * osmo_sccp_simple_client(void *ctx, const char *name, uint32_t default_pc, enum osmo_ss7_asp_protocol prot, int default_local_port, const char *default_local_ip, int default_remote_port, const char *default_remote_ip)
request an sccp client instance
Definition: sccp_user.c:673
struct osmo_ss7_asp * osmo_ss7_asp_find_by_proto(struct osmo_ss7_as *as, enum osmo_ss7_asp_protocol proto)
Find an ASP that matches the given protocol.
Definition: osmo_ss7.c:1338
static void conn_start_int_timer(struct sccp_connection *conn)
Definition: sccp_scoc.c:416
static void sccp_scoc_rx_unass_local_ref(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scoc.c:1522
@ MTP_UNAVAIL_C_UNKNOWN
Definition: mtp.h:29
#define SUA_PORT
Definition: sua.h:28
#define SUA_MSGC_CO
Definition: sua.h:36
@ SCOC_E_SCU_N_CONN_REQ
Definition: sccp_scoc.c:139
#define XUA_HDR(class, type)
Definition: xua_msg.h:25
uint32_t ssn
Definition: sccp_sap.h:175