libosmo-sigtran
1.4.0
Osmocom SIGTRAN library
|
Go to the documentation of this file.
24 #include <osmocom/core/prim.h>
27 #include <netinet/in.h>
49 #define OSMO_SCCP_ADDR_T_GT 0x0001
50 #define OSMO_SCCP_ADDR_T_PC 0x0002
51 #define OSMO_SCCP_ADDR_T_SSN 0x0004
52 #define OSMO_SCCP_ADDR_T_IPv4 0x0008
53 #define OSMO_SCCP_ADDR_T_IPv6 0x0010
54 #define OSMO_SCCP_ADDR_T_MASK 0x001f
156 #define OSMO_SCCP_SSN_SMLC_BSSAP OSMO_SCCP_SSN_SMLC_BSSAP_LE
261 struct osmo_prim_hdr
oph;
274 #define msgb_scu_prim(msg) ((struct osmo_scu_prim *)(msg)->l1h)
struct osmo_scu_data_param data
Definition: sccp_sap.h:264
struct osmo_ss7_instance * ss7
Definition: sccp_internal.h:53
@ OSMO_SCCP_NPI_UNKNOWN
Definition: sccp_sap.h:84
Definition: sccp_internal.h:42
@ OSMO_SCCP_SSN_VLR
Definition: sccp_sap.h:113
@ OSMO_SCCP_SSN_ISUP
Definition: sccp_sap.h:109
@ OSMO_SCU_PRIM_N_DISCONNECT
Definition: sccp_sap.h:37
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
@ OSMO_SCCP_SSN_GMLC_MAP
Definition: sccp_sap.h:125
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
@ OSMO_SCU_PRIM_N_UNITDATA
Definition: sccp_sap.h:41
osmo_sccp_gti
Definition: sccp_sap.h:70
char * name
human-readable name of this user
Definition: sccp_internal.h:67
Definition: sccp_sap.h:236
struct osmo_scu_state_param state
Definition: sccp_sap.h:269
@ OSMO_SCU_PRIM_N_NOTICE
Definition: sccp_sap.h:42
Definition: sccp_internal.h:61
bool user_in_service
Definition: sccp_sap.h:248
@ OSMO_SCCP_NPI_E212_LAND
Definition: sccp_sap.h:90
Definition: sccp_sap.h:170
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
@ OSMO_SCCP_GTI_TT_NPL_ENC_NAI
Definition: sccp_sap.h:75
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
uint32_t importance
Definition: sccp_sap.h:240
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
uint32_t npi
Definition: sccp_sap.h:165
@ OSMO_SCCP_NAI_INTL
Definition: sccp_sap.h:101
@ OSMO_SCCP_NPI_PRIVATE
Definition: sccp_sap.h:92
@ OSMO_SCCP_NPI_X121_DATA
Definition: sccp_sap.h:87
Definition: sccp_sap.h:184
struct osmo_scu_pcstate_param pcstate
Definition: sccp_sap.h:270
Definition: sccp_sap.h:226
@ OSMO_SCU_PRIM_N_RESET
Definition: sccp_sap.h:38
uint32_t ssn_multiplicity_ind
Definition: sccp_sap.h:249
@ OSMO_SCCP_REM_SCCP_S_CONGESTED
Definition: sccp_sap.h:152
void osmo_sccp_vty_init(void)
Definition: sccp_vty.c:256
@ OSMO_SCU_PRIM_N_PCSTATE
Definition: sccp_sap.h:46
@ OSMO_SCCP_SSN_SGSN_MAP
Definition: sccp_sap.h:129
@ OSMO_SCU_PRIM_N_STATE
Definition: sccp_sap.h:45
uint32_t presence
Definition: sccp_sap.h:171
struct in_addr v4
Definition: sccp_sap.h:177
Definition: sccp_sap.h:209
Definition: sccp_sap.h:196
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
@ OSMO_SCCP_SSN_PCAP
Definition: sccp_sap.h:132
uint32_t cause
Definition: sccp_sap.h:212
osmo_sccp_routing_ind
Definition: sccp_sap.h:57
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
uint32_t affected_pc
Definition: sccp_sap.h:246
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
uint32_t sccp_class
Definition: sccp_sap.h:189
@ OSMO_SCCP_SSN_RES_INTL
Definition: sccp_sap.h:119
uint32_t conn_id
Definition: sccp_sap.h:222
@ OSMO_SCCP_SSN_RANAP
Definition: sccp_sap.h:123
@ OSMO_SCCP_SSN_MGMT
Definition: sccp_sap.h:108
@ OSMO_SCU_PRIM_N_COORD
Definition: sccp_sap.h:44
void osmo_sccp_instance_destroy(struct osmo_sccp_instance *inst)
Definition: sccp_user.c:252
struct osmo_scu_connect_param connect
Definition: sccp_sap.h:263
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:186
@ OSMO_SCCP_ORIG_UNDEFINED
Definition: sccp_sap.h:205
uint32_t importance
Definition: sccp_sap.h:198
@ OSMO_SCCP_REM_SCCP_S_UNEQUIPPED
Definition: sccp_sap.h:150
@ OSMO_SCCP_SSN_EIR
Definition: sccp_sap.h:115
uint32_t importance
Definition: sccp_sap.h:214
@ OSMO_SCCP_NPI_E214_ISDN_MOBILE
Definition: sccp_sap.h:91
@ OSMO_SCCP_NAI_UNKNOWN
Definition: sccp_sap.h:97
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
Definition: sccp_sap.h:245
struct in6_addr v6
Definition: sccp_sap.h:178
@ OSMO_SCCP_SSN_BISDN
Definition: sccp_sap.h:120
@ OSMO_SCCP_SSN_RNSAP
Definition: sccp_sap.h:124
@ OSMO_SCU_PRIM_N_CONNECT
Definition: sccp_sap.h:34
struct osmo_scu_unitdata_param unitdata
Definition: sccp_sap.h:267
struct osmo_prim_hdr oph
Definition: sccp_sap.h:261
Definition: osmo_ss7.h:72
char * osmo_scu_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:46
void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv)
Definition: sccp_user.c:158
@ OSMO_SCCP_RI_SSN_PC
Definition: sccp_sap.h:60
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
union osmo_scu_prim::@30 u
@ OSMO_SCCP_SP_S_INACCESSIBLE
Definition: sccp_sap.h:142
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
@ OSMO_SCCP_SSN_gsmSCF_MAP
Definition: sccp_sap.h:127
struct osmo_sccp_instance * inst
pointer back to SCCP instance
Definition: sccp_internal.h:65
@ OSMO_SCCP_NPI_E210_MARITIME
Definition: sccp_sap.h:89
void * priv
Definition: sccp_internal.h:54
uint8_t tt
Definition: sccp_sap.h:164
struct osmo_sccp_instance * sccp
Definition: osmo_ss7.h:91
@ OSMO_SCCP_SSN_ISDN_SS
Definition: sccp_sap.h:118
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
const char * osmo_sccp_name_by_addr(const struct osmo_sccp_addr *addr)
Reverse lookup the lookup-name of a specified SCCP address.
Definition: osmo_ss7_vty.c:1277
osmo_sccp_ssn
Definition: sccp_sap.h:106
osmo_sccp_rem_sccp_status
Definition: sccp_sap.h:147
@ OSMO_SCCP_SSN_CAP
Definition: sccp_sap.h:126
@ OSMO_SCCP_REM_SCCP_S_AVAILABLE
Definition: sccp_sap.h:148
osmo_sccp_nai
Definition: sccp_sap.h:96
char * name
Definition: osmo_ss7.h:95
void osmo_sccp_user_unbind(struct osmo_sccp_user *scu)
Unbind a given SCCP user.
Definition: sccp_user.c:148
@ OSMO_SCCP_SP_S_ACCESSIBLE
Definition: sccp_sap.h:144
@ OSMO_SCCP_GTI_NAI_ONLY
Definition: sccp_sap.h:72
@ OSMO_SCU_PRIM_N_EXPEDITED_DATA
Definition: sccp_sap.h:36
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
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
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:227
@ OSMO_SCCP_SSN_SMLC_BSSAP_LE
Definition: sccp_sap.h:135
struct osmo_ss7_instance * osmo_sccp_addr_by_name(struct osmo_sccp_addr *dest_addr, const char *name)
Lookup an SCCP address from the addressbook by its name.
Definition: osmo_ss7_vty.c:1259
@ OSMO_SCCP_ORIG_NS_PROVIDER
Definition: sccp_sap.h:203
Definition: sccp_sap.h:253
@ OSMO_SCCP_NAI_RES_NAT_USE
Definition: sccp_sap.h:99
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:211
@ OSMO_SCCP_SSN_SIWF_MAP
Definition: sccp_sap.h:128
@ OSMO_SCCP_ORIG_NS_USER
Definition: sccp_sap.h:204
@ OSMO_SCCP_NAI_SUBSCR
Definition: sccp_sap.h:98
struct osmo_scu_notice_param notice
Definition: sccp_sap.h:268
@ OSMO_SCCP_REM_SCCP_S_INACCESSIBLE
Definition: sccp_sap.h:151
static const char * osmo_sccp_ssn_name(enum osmo_sccp_ssn val)
Definition: sccp_sap.h:159
@ OSMO_SCCP_GTI_TT_NPL_ENC
Definition: sccp_sap.h:74
Definition: sccp_sap.h:219
@ OSMO_SCCP_SSN_HLR
Definition: sccp_sap.h:112
osmo_scu_prim_type
SCCP-User primitives as per Q.711.
Definition: sccp_sap.h:32
@ OSMO_SCCP_NPI_F69_TELEX
Definition: sccp_sap.h:88
char digits[32]
Definition: sccp_sap.h:167
@ OSMO_SCCP_SSN_OMAP
Definition: sccp_sap.h:110
@ OSMO_SCCP_SSN_MAP
Definition: sccp_sap.h:111
osmo_sccp_originator
Definition: sccp_sap.h:202
@ OSMO_SCCP_SP_S_CONGESTED
Definition: sccp_sap.h:143
Definition: sccp_sap.h:162
uint32_t return_option
Definition: sccp_sap.h:230
static const char * osmo_sccp_routing_ind_name(enum osmo_sccp_routing_ind val)
Definition: sccp_sap.h:65
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:228
enum osmo_sccp_originator originator
Definition: sccp_sap.h:220
const struct value_string osmo_sccp_ssn_names[]
Definition: sccp_sap.c:108
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
@ OSMO_SCU_PRIM_N_INFORM
Definition: sccp_sap.h:39
uint32_t cause
Definition: sccp_sap.h:221
uint32_t affected_ssn
Definition: sccp_sap.h:247
const struct value_string osmo_sccp_gti_names[]
Definition: sccp_sap.c:99
uint32_t nai
Definition: sccp_sap.h:166
static const char * osmo_sccp_gti_name(enum osmo_sccp_gti val)
Definition: sccp_sap.h:79
uint32_t cause
Definition: sccp_sap.h:239
enum osmo_sccp_sp_status sp_status
Definition: sccp_sap.h:256
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:185
union osmo_sccp_addr::@29 ip
struct osmo_scu_disconn_param disconnect
Definition: sccp_sap.h:265
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:238
@ OSMO_SCCP_SSN_BSSAP
Definition: sccp_sap.h:137
@ OSMO_SCCP_SSN_MSC_BSSAP_LE
Definition: sccp_sap.h:134
@ OSMO_SCCP_GTI_NO_GT
Definition: sccp_sap.h:71
uint32_t conn_id
Definition: sccp_sap.h:213
osmo_sccp_npi
Definition: sccp_sap.h:83
Definition: sccp_sap.h:260
@ OSMO_SCCP_SSN_BSC_BSSAP_LE
Definition: sccp_sap.h:133
struct osmo_scu_reset_param reset
Definition: sccp_sap.h:266
uint32_t conn_id
Definition: sccp_sap.h:191
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
@ OSMO_SCCP_NPI_GEERIC
Definition: sccp_sap.h:86
@ OSMO_SCCP_GTI_TT_ONLY
Definition: sccp_sap.h:73
@ OSMO_SCCP_NPI_E164_ISDN
Definition: sccp_sap.h:85
@ OSMO_SCCP_SSN_TC_TEST
Definition: sccp_sap.h:121
uint32_t affected_pc
Definition: sccp_sap.h:254
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
@ OSMO_SCCP_RI_GT
Definition: sccp_sap.h:59
@ OSMO_SCCP_SSN_BSS_OAM
Definition: sccp_sap.h:136
osmo_sccp_sp_status
Definition: sccp_sap.h:141
@ OSMO_SCCP_SSN_AUC
Definition: sccp_sap.h:116
@ OSMO_SCCP_SSN_GGSN_MAP
Definition: sccp_sap.h:130
void * osmo_sccp_user_get_priv(struct osmo_sccp_user *scu)
Definition: sccp_user.c:163
uint32_t pc
Definition: sccp_internal.h:71
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:237
struct osmo_sccp_gt gt
Definition: sccp_sap.h:173
uint8_t gti
Definition: sccp_sap.h:163
@ OSMO_SCU_PRIM_N_DATA
Definition: sccp_sap.h:35
@ OSMO_SCCP_NAI_NATL
Definition: sccp_sap.h:100
enum osmo_sccp_rem_sccp_status remote_sccp_status
Definition: sccp_sap.h:257
enum osmo_sccp_routing_ind ri
Definition: sccp_sap.h:172
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:61
@ OSMO_SCCP_SSN_MSC
Definition: sccp_sap.h:114
enum osmo_sccp_originator originator
Definition: sccp_sap.h:210
const struct value_string osmo_sccp_routing_ind_names[]
Definition: sccp_sap.c:91
@ OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN
Definition: sccp_sap.h:149
uint32_t restricted_importance_level
Definition: sccp_sap.h:255
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:187
uint32_t ssn
Definition: sccp_sap.h:175