libosmo-sigtran
1.5.0.17-d51a
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:357
osmo_prim_cb prim_cb
Definition: osmo_ss7.h:132
@ S_CONN_PEND_IN
Definition: sccp_scoc.c:128
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:353
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:1164
uint8_t network_indicator
Definition: osmo_ss7.h:101
@ 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:832
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:465
uint8_t smi
Definition: sccp_scmg.h:3
@ SCOC_E_RCOC_CREF_IND
Definition: sccp_scoc.c:150
static const uint8_t cause_map_cref[]
Definition: sccp_scoc.c:1301
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:486
@ 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:428
@ 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
#define CS7_STR
Definition: xua_internal.h:92
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:272
uint8_t smi
Definition: sccp_scmg.h:18
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:219
@ 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:300
@ 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:0
@ OSMO_SCCP_SSN_GMLC_MAP
Definition: sccp_sap.h:125
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:1824
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:1207
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:312
@ OSMO_SS7_ASP_PROT_IPA
Definition: osmo_ss7.h:281
struct osmo_sccp_user * user
Definition: sccp_scoc.c:80
struct osmo_timer_list t_rep_rel
Definition: sccp_scoc.c:119
const struct value_string osmo_sccp_gti_names[]
Definition: sccp_sap.c:99
char * name
human-readable name of this user
Definition: sccp_internal.h:67
#define SUA_CO_RELCO
Definition: sua.h:74
#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:1419
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
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:2224
@ OSMO_SCU_PRIM_N_NOTICE
Definition: sccp_sap.h:42
#define SUA_CO_COREF
Definition: sua.h:72
Definition: sccp_internal.h:61
Definition: sccp_sap.h:170
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
@ OSMO_SCCP_GTI_TT_NPL_ENC_NAI
Definition: sccp_sap.h:75
@ SCCP_SCMG_MSGT_SSA
Definition: sccp_scmg.h:6
static struct sccp_connection * conn_find_by_id(struct osmo_sccp_instance *inst, uint32_t id)
Definition: sccp_scoc.c:448
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
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:1037
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
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
#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:496
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
@ 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
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:98
uint32_t dpc
Definition: m3ua.h:1
bool simple_client_allocated
Were we allocated by "simple client" support?
Definition: osmo_ss7.h:417
@ 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:1455
@ OSMO_SCU_PRIM_N_STATE
Definition: sccp_sap.h:45
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:1789
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:1780
uint32_t importance
Definition: sccp_scoc.c:99
Definition: sccp_sap.h:209
@ OSMO_SS7_ASP_PROT_M3UA
Definition: osmo_ss7.h:280
union osmo_mtp_prim::@18 u
Definition: sccp_sap.h:196
#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:1551
@ 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:453
const char * osmo_ss7_pointcode_print2(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:306
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:970
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:1623
@ SCCP_SCMG_MSGT_SST
Definition: sccp_scmg.h:8
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
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
Definition: sccp_scmg.h:14
int osmo_ss7_asp_restart(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1588
@ OSMO_SCCP_SSN_RES_INTL
Definition: sccp_sap.h:119
void * priv
Definition: osmo_ss7.h:134
#define SUA_IEI_SRC_ADDR
Definition: sua.h:98
#define SUA_CAUSE_T_RELEASE
Definition: sua.h:136
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:257
@ SCOC_E_RCOC_ERROR_IND
Definition: sccp_scoc.c:156
const struct value_string osmo_sccp_pnc_names[]
Definition: sccp_types.c:29
Definition: osmo_ss7.h:501
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:1702
@ OSMO_SCCP_SSN_MGMT
Definition: sccp_sap.h:108
@ MTP_SAP_USER
Definition: sigtran_sap.h:10
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:1316
struct osmo_ss7_asp_peer local
Definition: osmo_ss7.h:434
struct osmo_prim_hdr oph
Definition: mtp_sap.h:57
@ OSMO_SCU_PRIM_N_COORD
Definition: sccp_sap.h:44
static void conn_destroy(struct sccp_connection *conn)
Definition: sccp_scoc.c:513
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:287
static void rel_tmr_cb(void *data)
Definition: sccp_scoc.c:350
static int scrc_node_4(struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t return_cause)
Definition: sccp_scrc.c:248
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:1044
static LLIST_HEAD(sccp_instances)
osmo_ss7_asp_protocol
Definition: osmo_ss7.h:277
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:381
uint32_t s
Definition: sccp_internal.h:27
@ OSMO_SCCP_TIMER_REASSEMBLY
Definition: sccp_internal.h:21
@ OSMO_XLM_PRIM_M_NOTIFY
Definition: sigtran_sap.h:20
@ OSMO_SCCP_SSN_EIR
Definition: sccp_sap.h:115
#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:164
uint32_t importance
Definition: sccp_sap.h:214
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:2157
bool osmo_ss7_xua_server_set_default_local_hosts(struct osmo_xua_server *oxs)
Definition: osmo_ss7.c:2269
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
uint8_t data[0]
Definition: xua_types.h:5
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:140
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:51
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
struct osmo_scu_unitdata_param unitdata
Definition: sccp_sap.h:267
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
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
#define OSMO_SCCP_ADDR_T_GT
Definition: sccp_sap.h:49
Definition: osmo_ss7.h:73
#define SUA_IEI_SEGMENTATION
Definition: sua.h:118
char * name
Definition: osmo_ss7.h:191
#define SUA_MSGC_CL
Definition: sua.h:35
@ SCOC_E_T_IAR_EXP
Definition: sccp_scoc.c:159
void sccp_scoc_flush_connections(struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1789
char * osmo_sccp_addr_dump(const struct osmo_sccp_addr *addr)
Definition: sccp_helpers.c:288
const char * osmo_ss7_pointcode_print(const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: osmo_ss7.c:298
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:723
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:1479
char * osmo_scu_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:46
static bool dpc_accessible(struct osmo_sccp_instance *inst, uint32_t pc)
Definition: sccp_scrc.c:59
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:1515
static const char * osmo_ss7_asp_protocol_name(enum osmo_ss7_asp_protocol mode)
Definition: osmo_ss7.h:288
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:1558
@ 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:335
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
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:915
#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:1591
@ SS7_AS_CTR_RX_MSU_TOTAL
Definition: ss7_internal.h:12
static struct msgb * scu_msgb_alloc(void)
Definition: sccp_scoc.c:526
@ 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:1123
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
void * priv
Definition: sccp_internal.h:54
int sccp_scrc_rx_scoc_conn_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:396
struct osmo_sccp_instance * sccp
Definition: osmo_ss7.h:92
@ OSMO_SCCP_SSN_ISDN_SS
Definition: sccp_sap.h:118
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
static int translate(struct osmo_sccp_instance *inst, const struct osmo_sccp_addr *called, struct osmo_sccp_addr *translated)
Definition: sccp_scrc.c:175
#define INIT_TIMER(x, fn, priv)
Definition: sccp_scoc.c:459
struct msgb * sccp_msgb_alloc(const char *name)
Definition: sua.c:64
@ OSMO_SCCP_SSN_CAP
Definition: sccp_sap.h:126
@ 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:1005
#define SUA_CO_RELRE
Definition: sua.h:73
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:128
@ SCCP_SCMG_MSGT_SOG
Definition: sccp_scmg.h:10
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:1379
@ OSMO_XLM_PRIM_M_RK_REG
Definition: sigtran_sap.h:30
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:426
@ OSMO_XLM_PRIM_M_AS_INACTIVE
Definition: sigtran_sap.h:27
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:81
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:181
@ 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
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:1780
char * name
Definition: osmo_ss7.h:318
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
@ OSMO_XLM_PRIM_M_ASP_DOWN
Definition: sigtran_sap.h:23
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:227
@ SCOC_E_SCU_N_CONN_RESP
Definition: sccp_scoc.c:140
Definition: sccp_sap.h:253
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:691
static const struct osmo_fsm_state sccp_scoc_states[]
Definition: sccp_scoc.c:1204
@ 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
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:211
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
static int xua_gen_relre_and_send(struct sccp_connection *conn, uint32_t cause, struct osmo_scu_prim *prim)
Definition: sccp_scoc.c:555
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:128
void osmo_ss7_route_destroy(struct osmo_ss7_route *rt)
Destroy a given SS7 route.
Definition: osmo_ss7.c:841
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
static const struct xua_msg_event_map sua_scoc_event_map[]
Definition: sccp_scoc.c:201
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:431
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:709
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
@ 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:35
@ 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
struct llist_head asp_list
list of osmo_ss7_asp
Definition: osmo_ss7.h:81
@ 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
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:744
static struct osmo_sccp_user * sccp_find_user(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scoc.c:1351
struct osmo_ss7_route_table * rtable_system
Definition: osmo_ss7.h:90
#define OSMO_SS7_PC_INVALID
Definition: osmo_ss7.h:34
#define INST_STR
Definition: xua_internal.h:94
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:2283
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 xua_msg_add_u32(struct xua_msg *xua, uint16_t iei, uint32_t val)
Definition: xua_msg.c:280
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
struct xua_msg * xua_msg_alloc(void)
Definition: xua_msg.c:44
@ SCOC_E_RCOC_OTHER_NPDU
Definition: sccp_scoc.c:155
struct llist_head as_list
list of osmo_ss7_as
Definition: osmo_ss7.h:79
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:370
@ OSMO_SCCP_SSN_OMAP
Definition: sccp_sap.h:110
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:465
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:752
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:368
@ OSMO_SCCP_SSN_MAP
Definition: sccp_sap.h:111
struct osmo_ss7_linkset::@22 cfg
@ SS7_AS_CTR_TX_MSU_TOTAL
Definition: ss7_internal.h:13
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
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
void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv)
Definition: sccp_user.c:159
static struct xua_msg * gen_coerr(uint32_t route_ctx, uint32_t dest_ref, uint32_t err_cause)
Definition: sccp_scoc.c:1405
#define SUA_IEI_CAUSE
Definition: sua.h:102
bool is_server
Definition: osmo_ss7.h:430
Definition: sccp_sap.h:162
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
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
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:1240
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:140
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:512
@ OSMO_SCCP_TIMER_CONN_EST
Definition: sccp_internal.h:13
@ OSMO_SCU_PRIM_N_INFORM
Definition: sccp_sap.h:39
@ 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:130
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
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:2179
@ OSMO_XLM_PRIM_M_ERROR
Definition: sigtran_sap.h:21
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:2300
@ OSMO_SS7_ASP_PROT_SUA
Definition: osmo_ss7.h:279
#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:221
#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:302
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:320
@ 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:1623
@ OSMO_SCCP_TIMER_INT
Definition: sccp_internal.h:18
@ 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 osmo_sccp_timer_val osmo_sccp_timer_defaults[]
Definition: sccp_scoc.c:278
uint32_t cause
Definition: sccp_sap.h:239
static void vty_show_connection(struct vty *vty, struct sccp_connection *conn)
Definition: sccp_scoc.c:1799
struct osmo_ss7_asp::@27 cfg
@ OSMO_SCCP_TIMER_GUARD
Definition: sccp_internal.h:19
struct osmo_ss7_routing_key routing_key
Definition: osmo_ss7.h:321
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
@ 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:731
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:1292
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
#define SUA_CO_COIT
Definition: sua.h:80
union osmo_sccp_addr::@29 ip
char * host[OSMO_SOCK_MAX_ADDRS]
Definition: osmo_ss7.h:367
struct osmo_scu_disconn_param disconnect
Definition: sccp_sap.h:265
struct xua_msg * osmo_sccp_to_xua(struct msgb *msg)
convert SCCP message to a SUA message
Definition: sccp2sua.c:1409
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:93
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:238
@ OSMO_SCCP_SSN_BSSAP
Definition: sccp_sap.h:137
ss7_as_ctr
Definition: ss7_internal.h:11
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:453
@ OSMO_SCCP_SSN_MSC_BSSAP_LE
Definition: sccp_sap.h:134
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:703
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:993
@ 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:207
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
static struct xua_msg * gen_relco(uint32_t route_ctx, uint32_t dest_ref, uint32_t src_ref)
Definition: sccp_scoc.c:1441
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
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:292
uint32_t conn_id
Definition: sccp_sap.h:213
static void conn_tmr_cb(void *data)
Definition: sccp_scoc.c:371
bool osmo_ss7_asp_set_default_peer_hosts(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1305
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:814
uint8_t ssc_congestion_lvl[0]
Definition: sccp_scmg.h:20
Definition: sccp_sap.h:260
@ 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:149
void osmo_ss7_instance_destroy(struct osmo_ss7_instance *inst)
Destroy a SS7 Instance.
Definition: osmo_ss7.c:411
struct osmo_timer_list t_ias
Definition: sccp_scoc.c:113
@ SCOC_E_RCOC_DT2_IND
Definition: sccp_scoc.c:153
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:1824
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:217
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:417
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:374
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
@ S_ACTIVE
Definition: sccp_scoc.c:130
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:1379
static void ensure_opc_in_calling_ssn(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:444
static void show_user(struct vty *vty, struct osmo_sccp_user *user)
Definition: sccp_vty.c:43
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:1723
@ OSMO_XLM_PRIM_M_ASP_UP
Definition: sigtran_sap.h:22
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:173
@ 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
@ 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:822
@ OSMO_SCCP_SSN_TC_TEST
Definition: sccp_sap.h:121
struct llist_head list
Definition: sccp_internal.h:44
uint32_t affected_pc
Definition: sccp_sap.h:254
Definition: osmo_ss7.h:387
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
@ OSMO_SS7_ASP_ROLE_ASP
Definition: osmo_ss7.h:380
@ MTP_UNAVAIL_C_INACC_REM_USER
Definition: mtp.h:31
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:574
@ 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
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:532
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:253
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 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
@ OSMO_SCCP_SSN_GGSN_MAP
Definition: sccp_sap.h:130
#define SUA_CO_CODA
Definition: sua.h:78
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:1513
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:472
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
bool role_set_by_vty
Definition: osmo_ss7.h:432
void osmo_ss7_as_destroy(struct osmo_ss7_as *as)
Destroy given Application Server.
Definition: osmo_ss7.c:1097
int osmo_ss7_asp_protocol_port(enum osmo_ss7_asp_protocol prot)
Definition: osmo_ss7.c:337
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:173
struct osmo_ss7_asp_peer remote
Definition: osmo_ss7.h:435
static void scoc_fsm_idle_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)
Definition: sccp_scoc.c:884
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:500
struct llist_head list
entry in osmo_ss7_instance::asp_list
Definition: osmo_ss7.h:389
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:890
const struct xua_dialect xua_dialect_sua
Definition: sua.c:216
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:303
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:61
@ OSMO_SCCP_SSN_MSC
Definition: sccp_sap.h:114
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:51
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:1326
@ 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:1493
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:95
uint8_t affected_ssn
Definition: sccp_scmg.h:16
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
@ 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:753
uint8_t msg_type
Definition: sccp_scmg.h:15
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:682
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:1481
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:1525
@ MTP_UNAVAIL_C_UNKNOWN
Definition: mtp.h:29
bool osmo_ss7_asp_set_default_peer_hosts(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1305
#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