3 #include <osmocom/core/fsm.h>
4 #include <osmocom/core/prim.h>
8 #define SCCP_STR "Signalling Connection Control Part\n"
43 struct llist_head
list;
47 struct llist_head
users;
62 struct llist_head
list;
73 struct llist_head
links;
105 struct xua_msg *xua, uint32_t cause);
113 struct xua_msg *xua, uint32_t cause);
129 bool default_if_unset);
void osmo_sccp_vty_write_cs7_node(struct vty *vty, const char *indent, struct osmo_sccp_instance *inst)
Definition: sccp_vty.c:227
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
int sccp_scrc_rx_scoc_conn_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:396
osmo_sccp_timer
Definition: sccp_internal.h:11
@ OSMO_SCCP_TIMER_REPEAT_REL
Definition: sccp_internal.h:16
@ OSMO_SCCP_TIMER_INT
Definition: sccp_internal.h:17
@ OSMO_SCCP_TIMERS_COUNT
Definition: sccp_internal.h:22
@ OSMO_SCCP_TIMER_GUARD
Definition: sccp_internal.h:18
@ OSMO_SCCP_TIMER_REASSEMBLY
Definition: sccp_internal.h:20
@ OSMO_SCCP_TIMER_REL
Definition: sccp_internal.h:15
@ OSMO_SCCP_TIMER_IAS
Definition: sccp_internal.h:13
@ OSMO_SCCP_TIMER_CONN_EST
Definition: sccp_internal.h:12
@ OSMO_SCCP_TIMER_RESET
Definition: sccp_internal.h:19
@ OSMO_SCCP_TIMER_IAR
Definition: sccp_internal.h:14
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
int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:445
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
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
static const char * osmo_sccp_timer_name(enum osmo_sccp_timer val)
Definition: sccp_internal.h:33
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
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 sccp_scrc_rx_sclc_msg(struct osmo_sccp_instance *inst, struct xua_msg *xua)
Definition: sccp_scrc.c:418
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
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
void sccp_scoc_show_connections(struct vty *vty, struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1821
static const char * osmo_sccp_timer_description(enum osmo_sccp_timer val)
Definition: sccp_internal.h:37
void sccp_scoc_flush_connections(struct osmo_sccp_instance *inst)
Definition: sccp_scoc.c:1786
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_fsm sccp_scoc_fsm
Definition: sccp_scoc.c:1289
const struct value_string osmo_sccp_timer_descriptions[]
Definition: sccp_scoc.c:248
const struct value_string osmo_sccp_timer_names[]
Definition: sccp_scoc.c:233
const struct osmo_sccp_timer_val osmo_sccp_timer_defaults[]
Definition: sccp_scoc.c:278
struct msgb * sccp_msgb_alloc(const char *name)
Definition: sua.c:63
Definition: sccp_internal.h:41
uint32_t next_id
Definition: sccp_internal.h:51
struct llist_head connections
Definition: sccp_internal.h:45
uint32_t route_ctx
Definition: sccp_internal.h:49
struct osmo_ss7_instance * ss7
Definition: sccp_internal.h:52
struct llist_head list
Definition: sccp_internal.h:43
struct osmo_sccp_timer_val timers[OSMO_SCCP_TIMERS_COUNT]
Definition: sccp_internal.h:57
void * priv
Definition: sccp_internal.h:53
struct osmo_ss7_user ss7_user
Definition: sccp_internal.h:55
struct llist_head users
Definition: sccp_internal.h:47
Definition: sccp_internal.h:25
uint32_t us
Definition: sccp_internal.h:27
uint32_t s
Definition: sccp_internal.h:26
Definition: sccp_internal.h:60
struct osmo_fsm_inst * as_fi
Definition: sccp_internal.h:80
struct osmo_sccp_instance * inst
pointer back to SCCP instance
Definition: sccp_internal.h:64
uint32_t pc
Definition: sccp_internal.h:70
struct llist_head links
Definition: sccp_internal.h:73
void * priv
Definition: sccp_internal.h:77
uint16_t ssn
SSN and/or point code to which we are bound.
Definition: sccp_internal.h:69
char * name
human-readable name of this user
Definition: sccp_internal.h:66
osmo_prim_cb prim_cb
Definition: sccp_internal.h:76
struct llist_head list
entry in list of sccp users of osmo_sccp_instance
Definition: sccp_internal.h:62
Definition: sccp_sap.h:229
Definition: osmo_ss7.h:71
Definition: osmo_ss7.h:121