libosmo-sigtran  1.6.0
Osmocom SIGTRAN library
sccp_sap.h
Go to the documentation of this file.
1 #pragma once
2 
3 /* SCCP User SAP description */
4 
5 /* (C) 2015-2017 by Harald Welte <laforge@gnumonks.org>
6  * All Rights Reserved
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #include <stdint.h>
24 #include <osmocom/core/prim.h>
26 
27 #include <netinet/in.h>
28 
29 /* detailed coding of primitives at the SAP_SCCP_USER */
30 
33  /* connection oriented, 6.1.1 */
40  /* connectionless, 6.2.2 */
43  /* management */
47 };
48 
49 #define OSMO_SCCP_ADDR_T_GT 0x0001 /* global title */
50 #define OSMO_SCCP_ADDR_T_PC 0x0002 /* signalling point code */
51 #define OSMO_SCCP_ADDR_T_SSN 0x0004 /* subsystem number */
52 #define OSMO_SCCP_ADDR_T_IPv4 0x0008
53 #define OSMO_SCCP_ADDR_T_IPv6 0x0010
54 #define OSMO_SCCP_ADDR_T_MASK 0x001f
55 
56 /* Q.713 3.4.1 + RFC 3868 3.10.2.3 */
62 };
63 
64 extern const struct value_string osmo_sccp_routing_ind_names[];
65 static inline const char *osmo_sccp_routing_ind_name(enum osmo_sccp_routing_ind val)
66 { return get_value_string(osmo_sccp_routing_ind_names, val); }
67 
68 
69 /* Q.713 3.4.1 + RFC 3868 3.10.2.3 */
76 };
77 
78 extern const struct value_string osmo_sccp_gti_names[];
79 static inline const char *osmo_sccp_gti_name(enum osmo_sccp_gti val)
80 { return get_value_string(osmo_sccp_gti_names, val); }
81 
82 /* RFC 3868 3.10.2.3 */
93 };
94 
95 /* Q.713 3.4.2.3.1 + RFC 3868 3.10.2.3 */
102  /* 5.. 255: Spare */
103 };
104 
105 /* Q.713 3.4.2.2 */
107  /* globally standardised for GSM/UMTS: 1-31 */
117  /* Q.713 */
122  /* national network SSN for wihin and between GSM/UMTS: 129-150 */
131  /* national network SSN within GSM/UMTS: 32-128 + 151-254 */
138 };
139 
140 /* Q.711 6.3.2.2.5 Signalling point status */
145 };
146 /* Q.711 6.3.2.2.6 Remote SCCP status */
153 };
154 
155 /* legacy shim for name change */
156 #define OSMO_SCCP_SSN_SMLC_BSSAP OSMO_SCCP_SSN_SMLC_BSSAP_LE
157 
158 extern const struct value_string osmo_sccp_ssn_names[];
159 static inline const char *osmo_sccp_ssn_name(enum osmo_sccp_ssn val)
160 { return get_value_string(osmo_sccp_ssn_names, val); }
161 
162 struct osmo_sccp_gt {
163  uint8_t gti;
164  uint8_t tt;
165  uint32_t npi;
166  uint32_t nai;
167  char digits[32];
168 };
169 
171  uint32_t presence;
173  struct osmo_sccp_gt gt;
174  uint32_t pc;
175  uint32_t ssn;
176  union {
177  struct in_addr v4;
178  struct in6_addr v6;
179  } ip;
180  /* we don't do hostnames */
181 };
182 
183 /* OSMO_SCU_PRIM_N_CONNECT */
188  //struct osmo_sccp_qos_pars qos_pars;
189  uint32_t sccp_class;
190  uint32_t importance;
191  uint32_t conn_id;
192  /* user data */
193 };
194 
195 /* OSMO_SCU_PRIM_N_DATA / OSMO_SCU_PRIM_N_EXPEDITED_DATA */
197  uint32_t conn_id;
198  uint32_t importance;
199  /* user data */
200 };
201 
206 };
207 
208 /* OSMO_SCU_PRIM_N_DISCONNECT */
212  uint32_t cause;
213  uint32_t conn_id;
214  uint32_t importance;
215  /* user data */
216 };
217 
218 /* OSMO_SCU_PRIM_N_RESET */
221  uint32_t cause;
222  uint32_t conn_id;
223 };
224 
225 /* OSMO_SCU_PRIM_N_UNITDATA */
230  uint32_t return_option;
231  uint32_t importance;
232  /* user data */
233 };
234 
235 /* OSMO_SCU_PRIM_N_NOTICE */
239  uint32_t cause;
240  uint32_t importance;
241  /* user data */
242 };
243 
244 /* OSMO_SCU_PRIM_N_STATE */
246  uint32_t affected_pc;
247  uint32_t affected_ssn;
248  bool user_in_service; /* true: UIS; false: UOS */
250 };
251 
252 /* OSMO_ASCU_PRIM_N_PCSTATE */
254  uint32_t affected_pc;
258 };
259 
261  struct osmo_prim_hdr oph;
262  union {
271  } u;
272 };
273 
274 #define msgb_scu_prim(msg) ((struct osmo_scu_prim *)(msg)->l1h)
275 
276 char *osmo_scu_prim_name(struct osmo_prim_hdr *oph);
277 
278 struct osmo_ss7_instance;
279 struct osmo_sccp_instance;
280 struct osmo_sccp_user;
281 
282 void osmo_sccp_vty_init(void);
283 
287 struct osmo_sccp_instance *osmo_sccp_get_sccp(const struct osmo_sccp_user *scu);
288 
289 void osmo_sccp_user_unbind(struct osmo_sccp_user *scu);
290 void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv);
291 void *osmo_sccp_user_get_priv(struct osmo_sccp_user *scu);
292 
294  osmo_prim_cb prim_cb, uint16_t ssn, uint32_t pc);
295 
296 struct osmo_sccp_user *osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name,
297  osmo_prim_cb prim_cb, uint16_t ssn);
298 struct osmo_sccp_user *osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc);
299 
300 int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph);
301 int osmo_sccp_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph);
302 
303 struct osmo_ss7_instance *osmo_sccp_addr_by_name(struct osmo_sccp_addr *dest_addr, const char *name);
304 int osmo_sccp_addr_by_name_local(struct osmo_sccp_addr *dest_addr, const char *name,
305  const struct osmo_ss7_instance *inst);
306 
307 const char *osmo_sccp_name_by_addr(const struct osmo_sccp_addr *addr);
308 
309 void osmo_sccp_local_addr_by_instance(struct osmo_sccp_addr *dest_addr,
310  const struct osmo_sccp_instance *inst,
311  uint32_t ssn);
312 
313 bool osmo_sccp_check_addr(struct osmo_sccp_addr *addr, uint32_t presence);
314 int osmo_sccp_addr_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b, uint32_t presence_criteria);
315 int osmo_sccp_addr_ri_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b);
316 int osmo_sccp_gt_cmp(const struct osmo_sccp_gt *a, const struct osmo_sccp_gt *b);
317 
318 const char *osmo_sccp_user_name(struct osmo_sccp_user *scu);
osmo_scu_prim::data
struct osmo_scu_data_param data
Definition: sccp_sap.h:264
osmo_sccp_instance::ss7
struct osmo_ss7_instance * ss7
Definition: sccp_internal.h:53
OSMO_SCCP_NPI_UNKNOWN
@ OSMO_SCCP_NPI_UNKNOWN
Definition: sccp_sap.h:84
osmo_sccp_instance
Definition: sccp_internal.h:42
OSMO_SCCP_SSN_VLR
@ OSMO_SCCP_SSN_VLR
Definition: sccp_sap.h:113
OSMO_SCCP_SSN_ISUP
@ OSMO_SCCP_SSN_ISUP
Definition: sccp_sap.h:109
osmo_sccp_addr_by_name_local
int osmo_sccp_addr_by_name_local(struct osmo_sccp_addr *dest_addr, const char *name, const struct osmo_ss7_instance *inst)
Lookup an SCCP address from the addressbook of a specific instance by its name.
Definition: osmo_ss7_vty.c:1360
OSMO_SCU_PRIM_N_DISCONNECT
@ OSMO_SCU_PRIM_N_DISCONNECT
Definition: sccp_sap.h:37
osmo_sccp_instance_create
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
OSMO_SCCP_SSN_GMLC_MAP
@ OSMO_SCCP_SSN_GMLC_MAP
Definition: sccp_sap.h:125
osmo_sccp_user_name
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
OSMO_SCU_PRIM_N_UNITDATA
@ OSMO_SCU_PRIM_N_UNITDATA
Definition: sccp_sap.h:41
osmo_sccp_gti
osmo_sccp_gti
Definition: sccp_sap.h:70
osmo_sccp_user::name
char * name
human-readable name of this user
Definition: sccp_internal.h:67
osmo_scu_notice_param
Definition: sccp_sap.h:236
osmo_scu_prim::state
struct osmo_scu_state_param state
Definition: sccp_sap.h:269
OSMO_SCU_PRIM_N_NOTICE
@ OSMO_SCU_PRIM_N_NOTICE
Definition: sccp_sap.h:42
osmo_sccp_user
Definition: sccp_internal.h:61
osmo_scu_state_param::user_in_service
bool user_in_service
Definition: sccp_sap.h:248
OSMO_SCCP_NPI_E212_LAND
@ OSMO_SCCP_NPI_E212_LAND
Definition: sccp_sap.h:90
osmo_sccp_addr
Definition: sccp_sap.h:170
osmo_sccp_check_addr
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
OSMO_SCCP_GTI_TT_NPL_ENC_NAI
@ OSMO_SCCP_GTI_TT_NPL_ENC_NAI
Definition: sccp_sap.h:75
osmo_sccp_user::ssn
uint16_t ssn
SSN and/or point code to which we are bound.
Definition: sccp_internal.h:70
osmo_scu_unitdata_param::in_sequence_control
uint32_t in_sequence_control
Definition: sccp_sap.h:229
osmo_scu_notice_param::importance
uint32_t importance
Definition: sccp_sap.h:240
osmo_sccp_addr::pc
uint32_t pc
Definition: sccp_sap.h:174
osmo_scu_connect_param::importance
uint32_t importance
Definition: sccp_sap.h:190
osmo_scu_data_param::conn_id
uint32_t conn_id
Definition: sccp_sap.h:197
osmo_sccp_gt::npi
uint32_t npi
Definition: sccp_sap.h:165
OSMO_SCCP_NAI_INTL
@ OSMO_SCCP_NAI_INTL
Definition: sccp_sap.h:101
OSMO_SCCP_NPI_PRIVATE
@ OSMO_SCCP_NPI_PRIVATE
Definition: sccp_sap.h:92
OSMO_SCCP_NPI_X121_DATA
@ OSMO_SCCP_NPI_X121_DATA
Definition: sccp_sap.h:87
osmo_scu_connect_param
Definition: sccp_sap.h:184
osmo_scu_prim::pcstate
struct osmo_scu_pcstate_param pcstate
Definition: sccp_sap.h:270
osmo_scu_unitdata_param
Definition: sccp_sap.h:226
OSMO_SCU_PRIM_N_RESET
@ OSMO_SCU_PRIM_N_RESET
Definition: sccp_sap.h:38
osmo_scu_state_param::ssn_multiplicity_ind
uint32_t ssn_multiplicity_ind
Definition: sccp_sap.h:249
OSMO_SCCP_REM_SCCP_S_CONGESTED
@ OSMO_SCCP_REM_SCCP_S_CONGESTED
Definition: sccp_sap.h:152
osmo_sccp_vty_init
void osmo_sccp_vty_init(void)
Definition: sccp_vty.c:256
OSMO_SCU_PRIM_N_PCSTATE
@ OSMO_SCU_PRIM_N_PCSTATE
Definition: sccp_sap.h:46
OSMO_SCCP_SSN_SGSN_MAP
@ OSMO_SCCP_SSN_SGSN_MAP
Definition: sccp_sap.h:129
OSMO_SCU_PRIM_N_STATE
@ OSMO_SCU_PRIM_N_STATE
Definition: sccp_sap.h:45
osmo_sccp_addr::presence
uint32_t presence
Definition: sccp_sap.h:171
osmo_sccp_addr::v4
struct in_addr v4
Definition: sccp_sap.h:177
osmo_scu_disconn_param
Definition: sccp_sap.h:209
osmo_scu_data_param
Definition: sccp_sap.h:196
osmo_sccp_user::prim_cb
osmo_prim_cb prim_cb
Definition: sccp_internal.h:77
osmo_scu_unitdata_param::importance
uint32_t importance
Definition: sccp_sap.h:231
OSMO_SCCP_RI_NONE
@ OSMO_SCCP_RI_NONE
Definition: sccp_sap.h:58
OSMO_SCCP_SSN_PCAP
@ OSMO_SCCP_SSN_PCAP
Definition: sccp_sap.h:132
osmo_scu_disconn_param::cause
uint32_t cause
Definition: sccp_sap.h:212
osmo_sccp_routing_ind
osmo_sccp_routing_ind
Definition: sccp_sap.h:57
osmo_sccp_gt_cmp
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
osmo_scu_state_param::affected_pc
uint32_t affected_pc
Definition: sccp_sap.h:246
osmo_sccp_addr_cmp
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_scu_connect_param::sccp_class
uint32_t sccp_class
Definition: sccp_sap.h:189
OSMO_SCCP_SSN_RES_INTL
@ OSMO_SCCP_SSN_RES_INTL
Definition: sccp_sap.h:119
osmo_scu_reset_param::conn_id
uint32_t conn_id
Definition: sccp_sap.h:222
OSMO_SCCP_SSN_RANAP
@ OSMO_SCCP_SSN_RANAP
Definition: sccp_sap.h:123
OSMO_SCCP_SSN_MGMT
@ OSMO_SCCP_SSN_MGMT
Definition: sccp_sap.h:108
OSMO_SCU_PRIM_N_COORD
@ OSMO_SCU_PRIM_N_COORD
Definition: sccp_sap.h:44
osmo_sccp_instance_destroy
void osmo_sccp_instance_destroy(struct osmo_sccp_instance *inst)
Definition: sccp_user.c:253
osmo_scu_prim::connect
struct osmo_scu_connect_param connect
Definition: sccp_sap.h:263
sigtran_sap.h
osmo_scu_connect_param::calling_addr
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:186
OSMO_SCCP_ORIG_UNDEFINED
@ OSMO_SCCP_ORIG_UNDEFINED
Definition: sccp_sap.h:205
osmo_scu_data_param::importance
uint32_t importance
Definition: sccp_sap.h:198
OSMO_SCCP_REM_SCCP_S_UNEQUIPPED
@ OSMO_SCCP_REM_SCCP_S_UNEQUIPPED
Definition: sccp_sap.h:150
OSMO_SCCP_SSN_EIR
@ OSMO_SCCP_SSN_EIR
Definition: sccp_sap.h:115
osmo_scu_disconn_param::importance
uint32_t importance
Definition: sccp_sap.h:214
OSMO_SCCP_NPI_E214_ISDN_MOBILE
@ OSMO_SCCP_NPI_E214_ISDN_MOBILE
Definition: sccp_sap.h:91
OSMO_SCCP_NAI_UNKNOWN
@ OSMO_SCCP_NAI_UNKNOWN
Definition: sccp_sap.h:97
osmo_sccp_addr_ri_cmp
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
osmo_scu_state_param
Definition: sccp_sap.h:245
osmo_sccp_addr::v6
struct in6_addr v6
Definition: sccp_sap.h:178
OSMO_SCCP_SSN_BISDN
@ OSMO_SCCP_SSN_BISDN
Definition: sccp_sap.h:120
OSMO_SCCP_SSN_RNSAP
@ OSMO_SCCP_SSN_RNSAP
Definition: sccp_sap.h:124
OSMO_SCU_PRIM_N_CONNECT
@ OSMO_SCU_PRIM_N_CONNECT
Definition: sccp_sap.h:34
osmo_scu_prim::unitdata
struct osmo_scu_unitdata_param unitdata
Definition: sccp_sap.h:267
osmo_scu_prim::oph
struct osmo_prim_hdr oph
Definition: sccp_sap.h:261
osmo_ss7_instance
Definition: osmo_ss7.h:73
osmo_scu_prim_name
char * osmo_scu_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:46
osmo_sccp_user_set_priv
void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv)
Definition: sccp_user.c:159
OSMO_SCCP_RI_SSN_PC
@ OSMO_SCCP_RI_SSN_PC
Definition: sccp_sap.h:60
osmo_sccp_local_addr_by_instance
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
osmo_scu_prim::u
union osmo_scu_prim::@30 u
OSMO_SCCP_SP_S_INACCESSIBLE
@ OSMO_SCCP_SP_S_INACCESSIBLE
Definition: sccp_sap.h:142
osmo_sccp_get_sccp
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
OSMO_SCCP_SSN_gsmSCF_MAP
@ OSMO_SCCP_SSN_gsmSCF_MAP
Definition: sccp_sap.h:127
osmo_sccp_user::inst
struct osmo_sccp_instance * inst
pointer back to SCCP instance
Definition: sccp_internal.h:65
OSMO_SCCP_NPI_E210_MARITIME
@ OSMO_SCCP_NPI_E210_MARITIME
Definition: sccp_sap.h:89
osmo_sccp_instance::priv
void * priv
Definition: sccp_internal.h:54
osmo_sccp_gt::tt
uint8_t tt
Definition: sccp_sap.h:164
osmo_ss7_instance::sccp
struct osmo_sccp_instance * sccp
Definition: osmo_ss7.h:92
OSMO_SCCP_SSN_ISDN_SS
@ OSMO_SCCP_SSN_ISDN_SS
Definition: sccp_sap.h:118
osmo_sccp_get_ss7
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_name_by_addr
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:1378
osmo_sccp_ssn
osmo_sccp_ssn
Definition: sccp_sap.h:106
osmo_sccp_rem_sccp_status
osmo_sccp_rem_sccp_status
Definition: sccp_sap.h:147
OSMO_SCCP_SSN_CAP
@ OSMO_SCCP_SSN_CAP
Definition: sccp_sap.h:126
OSMO_SCCP_REM_SCCP_S_AVAILABLE
@ OSMO_SCCP_REM_SCCP_S_AVAILABLE
Definition: sccp_sap.h:148
osmo_sccp_nai
osmo_sccp_nai
Definition: sccp_sap.h:96
osmo_ss7_instance::name
char * name
Definition: osmo_ss7.h:96
osmo_sccp_user_unbind
void osmo_sccp_user_unbind(struct osmo_sccp_user *scu)
Unbind a given SCCP user.
Definition: sccp_user.c:149
OSMO_SCCP_SP_S_ACCESSIBLE
@ OSMO_SCCP_SP_S_ACCESSIBLE
Definition: sccp_sap.h:144
OSMO_SCCP_GTI_NAI_ONLY
@ OSMO_SCCP_GTI_NAI_ONLY
Definition: sccp_sap.h:72
OSMO_SCU_PRIM_N_EXPEDITED_DATA
@ OSMO_SCU_PRIM_N_EXPEDITED_DATA
Definition: sccp_sap.h:36
osmo_sccp_user_sap_down
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
osmo_sccp_user_find
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
osmo_scu_unitdata_param::called_addr
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:227
OSMO_SCCP_SSN_SMLC_BSSAP_LE
@ OSMO_SCCP_SSN_SMLC_BSSAP_LE
Definition: sccp_sap.h:135
osmo_sccp_addr_by_name
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:1338
OSMO_SCCP_ORIG_NS_PROVIDER
@ OSMO_SCCP_ORIG_NS_PROVIDER
Definition: sccp_sap.h:203
osmo_scu_pcstate_param
Definition: sccp_sap.h:253
OSMO_SCCP_NAI_RES_NAT_USE
@ OSMO_SCCP_NAI_RES_NAT_USE
Definition: sccp_sap.h:99
osmo_scu_disconn_param::responding_addr
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:211
OSMO_SCCP_SSN_SIWF_MAP
@ OSMO_SCCP_SSN_SIWF_MAP
Definition: sccp_sap.h:128
OSMO_SCCP_ORIG_NS_USER
@ OSMO_SCCP_ORIG_NS_USER
Definition: sccp_sap.h:204
OSMO_SCCP_NAI_SUBSCR
@ OSMO_SCCP_NAI_SUBSCR
Definition: sccp_sap.h:98
osmo_scu_prim::notice
struct osmo_scu_notice_param notice
Definition: sccp_sap.h:268
OSMO_SCCP_REM_SCCP_S_INACCESSIBLE
@ OSMO_SCCP_REM_SCCP_S_INACCESSIBLE
Definition: sccp_sap.h:151
osmo_sccp_ssn_name
static const char * osmo_sccp_ssn_name(enum osmo_sccp_ssn val)
Definition: sccp_sap.h:159
OSMO_SCCP_GTI_TT_NPL_ENC
@ OSMO_SCCP_GTI_TT_NPL_ENC
Definition: sccp_sap.h:74
osmo_scu_reset_param
Definition: sccp_sap.h:219
OSMO_SCCP_SSN_HLR
@ OSMO_SCCP_SSN_HLR
Definition: sccp_sap.h:112
osmo_scu_prim_type
osmo_scu_prim_type
SCCP-User primitives as per Q.711.
Definition: sccp_sap.h:32
OSMO_SCCP_NPI_F69_TELEX
@ OSMO_SCCP_NPI_F69_TELEX
Definition: sccp_sap.h:88
osmo_sccp_gt::digits
char digits[32]
Definition: sccp_sap.h:167
OSMO_SCCP_SSN_OMAP
@ OSMO_SCCP_SSN_OMAP
Definition: sccp_sap.h:110
OSMO_SCCP_SSN_MAP
@ OSMO_SCCP_SSN_MAP
Definition: sccp_sap.h:111
osmo_sccp_originator
osmo_sccp_originator
Definition: sccp_sap.h:202
OSMO_SCCP_SP_S_CONGESTED
@ OSMO_SCCP_SP_S_CONGESTED
Definition: sccp_sap.h:143
osmo_sccp_gt
Definition: sccp_sap.h:162
osmo_scu_unitdata_param::return_option
uint32_t return_option
Definition: sccp_sap.h:230
osmo_sccp_routing_ind_name
static const char * osmo_sccp_routing_ind_name(enum osmo_sccp_routing_ind val)
Definition: sccp_sap.h:65
osmo_scu_unitdata_param::calling_addr
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:228
osmo_scu_reset_param::originator
enum osmo_sccp_originator originator
Definition: sccp_sap.h:220
osmo_sccp_ssn_names
const struct value_string osmo_sccp_ssn_names[]
Definition: sccp_sap.c:108
osmo_sccp_user_bind
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
OSMO_SCU_PRIM_N_INFORM
@ OSMO_SCU_PRIM_N_INFORM
Definition: sccp_sap.h:39
osmo_scu_reset_param::cause
uint32_t cause
Definition: sccp_sap.h:221
osmo_scu_state_param::affected_ssn
uint32_t affected_ssn
Definition: sccp_sap.h:247
osmo_sccp_gti_names
const struct value_string osmo_sccp_gti_names[]
Definition: sccp_sap.c:99
osmo_sccp_gt::nai
uint32_t nai
Definition: sccp_sap.h:166
osmo_sccp_gti_name
static const char * osmo_sccp_gti_name(enum osmo_sccp_gti val)
Definition: sccp_sap.h:79
osmo_scu_notice_param::cause
uint32_t cause
Definition: sccp_sap.h:239
osmo_scu_pcstate_param::sp_status
enum osmo_sccp_sp_status sp_status
Definition: sccp_sap.h:256
osmo_scu_connect_param::called_addr
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:185
osmo_sccp_addr::ip
union osmo_sccp_addr::@29 ip
osmo_scu_prim::disconnect
struct osmo_scu_disconn_param disconnect
Definition: sccp_sap.h:265
osmo_scu_notice_param::calling_addr
struct osmo_sccp_addr calling_addr
Definition: sccp_sap.h:238
OSMO_SCCP_SSN_BSSAP
@ OSMO_SCCP_SSN_BSSAP
Definition: sccp_sap.h:137
OSMO_SCCP_SSN_MSC_BSSAP_LE
@ OSMO_SCCP_SSN_MSC_BSSAP_LE
Definition: sccp_sap.h:134
OSMO_SCCP_GTI_NO_GT
@ OSMO_SCCP_GTI_NO_GT
Definition: sccp_sap.h:71
osmo_scu_disconn_param::conn_id
uint32_t conn_id
Definition: sccp_sap.h:213
osmo_sccp_npi
osmo_sccp_npi
Definition: sccp_sap.h:83
osmo_scu_prim
Definition: sccp_sap.h:260
OSMO_SCCP_SSN_BSC_BSSAP_LE
@ OSMO_SCCP_SSN_BSC_BSSAP_LE
Definition: sccp_sap.h:133
osmo_scu_prim::reset
struct osmo_scu_reset_param reset
Definition: sccp_sap.h:266
osmo_scu_connect_param::conn_id
uint32_t conn_id
Definition: sccp_sap.h:191
osmo_sccp_user_sap_down_nofree
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_SCCP_NPI_GEERIC
@ OSMO_SCCP_NPI_GEERIC
Definition: sccp_sap.h:86
OSMO_SCCP_GTI_TT_ONLY
@ OSMO_SCCP_GTI_TT_ONLY
Definition: sccp_sap.h:73
OSMO_SCCP_NPI_E164_ISDN
@ OSMO_SCCP_NPI_E164_ISDN
Definition: sccp_sap.h:85
OSMO_SCCP_SSN_TC_TEST
@ OSMO_SCCP_SSN_TC_TEST
Definition: sccp_sap.h:121
osmo_scu_pcstate_param::affected_pc
uint32_t affected_pc
Definition: sccp_sap.h:254
osmo_sccp_user_bind_pc
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
OSMO_SCCP_RI_GT
@ OSMO_SCCP_RI_GT
Definition: sccp_sap.h:59
OSMO_SCCP_SSN_BSS_OAM
@ OSMO_SCCP_SSN_BSS_OAM
Definition: sccp_sap.h:136
osmo_sccp_sp_status
osmo_sccp_sp_status
Definition: sccp_sap.h:141
OSMO_SCCP_SSN_AUC
@ OSMO_SCCP_SSN_AUC
Definition: sccp_sap.h:116
OSMO_SCCP_SSN_GGSN_MAP
@ OSMO_SCCP_SSN_GGSN_MAP
Definition: sccp_sap.h:130
osmo_sccp_user_get_priv
void * osmo_sccp_user_get_priv(struct osmo_sccp_user *scu)
Definition: sccp_user.c:164
osmo_sccp_user::pc
uint32_t pc
Definition: sccp_internal.h:71
osmo_scu_notice_param::called_addr
struct osmo_sccp_addr called_addr
Definition: sccp_sap.h:237
osmo_sccp_addr::gt
struct osmo_sccp_gt gt
Definition: sccp_sap.h:173
osmo_sccp_gt::gti
uint8_t gti
Definition: sccp_sap.h:163
OSMO_SCU_PRIM_N_DATA
@ OSMO_SCU_PRIM_N_DATA
Definition: sccp_sap.h:35
OSMO_SCCP_NAI_NATL
@ OSMO_SCCP_NAI_NATL
Definition: sccp_sap.h:100
osmo_scu_pcstate_param::remote_sccp_status
enum osmo_sccp_rem_sccp_status remote_sccp_status
Definition: sccp_sap.h:257
osmo_sccp_addr::ri
enum osmo_sccp_routing_ind ri
Definition: sccp_sap.h:172
OSMO_SCCP_RI_SSN_IP
@ OSMO_SCCP_RI_SSN_IP
Definition: sccp_sap.h:61
OSMO_SCCP_SSN_MSC
@ OSMO_SCCP_SSN_MSC
Definition: sccp_sap.h:114
osmo_scu_disconn_param::originator
enum osmo_sccp_originator originator
Definition: sccp_sap.h:210
osmo_sccp_routing_ind_names
const struct value_string osmo_sccp_routing_ind_names[]
Definition: sccp_sap.c:91
OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN
@ OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN
Definition: sccp_sap.h:149
osmo_scu_pcstate_param::restricted_importance_level
uint32_t restricted_importance_level
Definition: sccp_sap.h:255
osmo_scu_connect_param::responding_addr
struct osmo_sccp_addr responding_addr
Definition: sccp_sap.h:187
osmo_sccp_addr::ssn
uint32_t ssn
Definition: sccp_sap.h:175