libosmogsm
1.9.2
Osmocom GSM library
|
Go to the documentation of this file.
7 #define CONFIG_CRYPTO_INTERNAL
11 #define wpa_hexdump(x, args...)
12 #define wpa_hexdump_key(x, args...)
13 #define wpa_printf(x, args...)
15 #define os_memcpy(x, y, z) memcpy(x, y, z)
16 #define os_memcmp(x, y, z) memcmp(x, y, z)
17 #define os_memset(x, y, z) memset(x, y, z)
18 #define os_malloc(x) malloc(x)
19 #define os_free(x) free(x)
20 #define os_strlen(x) strlen(x)
22 #define forced_memzero(ptr, len) memset(ptr, 0, len);
36 #define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1]))
37 #define WPA_PUT_BE16(a, val) \
39 (a)[0] = ((u16) (val)) >> 8; \
40 (a)[1] = ((u16) (val)) & 0xff; \
43 #define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0]))
44 #define WPA_PUT_LE16(a, val) \
46 (a)[1] = ((u16) (val)) >> 8; \
47 (a)[0] = ((u16) (val)) & 0xff; \
50 #define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \
52 #define WPA_PUT_BE24(a, val) \
54 (a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \
55 (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
56 (a)[2] = (u8) (((u32) (val)) & 0xff); \
59 #define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \
60 (((u32) (a)[2]) << 8) | ((u32) (a)[3]))
61 #define WPA_PUT_BE32(a, val) \
63 (a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \
64 (a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \
65 (a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \
66 (a)[3] = (u8) (((u32) (val)) & 0xff); \
69 #define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \
70 (((u32) (a)[1]) << 8) | ((u32) (a)[0]))
71 #define WPA_PUT_LE32(a, val) \
73 (a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \
74 (a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \
75 (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
76 (a)[0] = (u8) (((u32) (val)) & 0xff); \
79 #define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \
80 (((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \
81 (((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \
82 (((u64) (a)[6]) << 8) | ((u64) (a)[7]))
83 #define WPA_PUT_BE64(a, val) \
85 (a)[0] = (u8) (((u64) (val)) >> 56); \
86 (a)[1] = (u8) (((u64) (val)) >> 48); \
87 (a)[2] = (u8) (((u64) (val)) >> 40); \
88 (a)[3] = (u8) (((u64) (val)) >> 32); \
89 (a)[4] = (u8) (((u64) (val)) >> 24); \
90 (a)[5] = (u8) (((u64) (val)) >> 16); \
91 (a)[6] = (u8) (((u64) (val)) >> 8); \
92 (a)[7] = (u8) (((u64) (val)) & 0xff); \
95 #define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \
96 (((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \
97 (((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \
98 (((u64) (a)[1]) << 8) | ((u64) (a)[0]))
struct osmo_routing_area_id rai
Definition: gsm23003.h:37
char * gsm48_pdisc_msgtype_name_c(const void *ctx, uint8_t pdisc, uint8_t msg_type)
Compose a string naming the message type for given protocol, in a dynamically-allocated buffer.
Definition: gsm48.c:1810
struct osmo_lac_and_ci_id lac_and_ci
Definition: gsm0808_utils.h:45
@ GSM48_REJECT_INVALID_MANDANTORY_INF
Definition: gsm_04_08.h:2030
struct msgb * gsm0808_create_vgcs_additional_info(const struct gsm0808_talker_identity *ti)
3GPP TS 48.008 §3.2.1.78 VGCS ADDITIONAL INFORMATION
Definition: gsm0808.c:2040
uint32_t osmo_gad_enc_lon(int32_t deg_1e6)
Encode a longitude value according to 3GPP TS 23.032.
Definition: gad.c:102
#define GSM48_IE_CHANMODE_7
Definition: gsm_04_08.h:1833
@ OSMO_GSM44068_CAUSE_RETRY_UPON_ENTRY_NEW_CALL
Definition: gsm_44_068.h:100
@ GSM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:272
void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, const struct osmo_cell_global_id *cgi)
Copy information from a CGI to form a Cell Identifier of the specified kind.
Definition: gsm0808_utils.c:1956
static const uint8_t tch_ahs_5_9_state[][2]
Definition: gsm0503_conv.c:1094
@ GSM411_RP_CAUSE_MO_SMS_REJECTED
Definition: gsm_04_11.h:71
@ NM_MT_CHG_HW_CONF
Definition: gsm_12_21.h:175
char * osmo_nri_ranges_to_str_c(void *ctx, const struct osmo_nri_ranges *nri_ranges)
Compose a human readable representation of a list of NRI ranges in a talloc buffer,...
Definition: gsm23236.c:422
#define GSM48_MT_CC_CALL_PROC
Definition: gsm_04_08.h:1686
static const struct value_string cc_msg_names[]
Definition: gsm48.c:270
@ OSMO_GSM44068_PRIO_LEVEL_B
Definition: gsm_44_068.h:61
@ GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER
Definition: gsm_08_08.h:797
Definition: gsm_25_415.h:95
int osmo_plugin_load_all(const char *directory)
uint8_t rac
Definition: gsm48.h:31
@ GSM0808_CAUSE_CALL_CONTROL
Definition: gsm_08_08.h:376
cbsp_channel_ind
Definition: gsm_48_049.h:114
@ NM_ATT_OPER_STATE
Definition: gsm_12_21.h:352
@ NM_NACK_NOTH_REPORT_EXIST
Definition: gsm_12_21.h:634
#define GSM48_MT_MM_AUTH_REJ
Definition: gsm_04_08.h:1662
#define GSM48_IE_MA_AFTER
Definition: gsm_04_08.h:1856
uint16_t cell_resel_off
Definition: gsm48_rest_octets.h:66
@ CELL_IDENT_UTRAN_RNC
Definition: gsm_08_08.h:26
struct msgb * gsm0808_create_layer3(struct msgb *msg_l3, uint16_t nc, uint16_t cc, int lac, uint16_t _ci) OSMO_DEPRECATED("Use gsm0808_create_layer3_2() instead
Create "Complete L3 Info" for A, legacy implementation.
Definition: gsm0808.c:129
static const uint8_t tch_ahs_6_7_term_state[]
Definition: gsm0503_conv.c:1063
const struct value_string gsm411_cp_state_names[]
Definition: gsm0411_smc.c:582
@ NM_MT_CHG_ADM_STATE_ACK
Definition: gsm_12_21.h:154
bool ucs2_treatment
Definition: gsm_04_08.h:78
struct msgb * gsm0808_create_uplink_request(const struct gsm0808_uplink_request *params)
Create BSSMAP (VGCS) UPLINK REQUEST message, 3GPP TS 48.008 3.2.1.57.
Definition: gsm0808.c:1793
#define GSM48_MT_CC_CONNECT_ACK
Definition: gsm_04_08.h:1688
int gsm411_smr_send(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.c:400
@ NM_ATT_MAIO
Definition: gsm_12_21.h:343
#define GSM48_MT_RR_DTM_REQUEST
Definition: gsm_04_08.h:1557
struct osmo_iuup_rfci rfci[IUUP_MAX_RFCIS]
Definition: iuup.h:68
uint8_t transaction_id
Definition: gsm0480.h:45
#define GSM48_MT_RR_SH_VGCS_RECON2
Definition: gsm_04_08.h:1648
@ GSM411_RPS_IDLE
Definition: gsm_04_11.h:19
static void encode_auth_info(struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_auth_vector *auth_vector)
Definition: gsup.c:626
@ GSM411_RP_CAUSE_MT_MEM_EXCEEDED
Definition: gsm_04_11.h:84
void osmo_csd_ubit_dump(FILE *outf, const ubit_t *fr, size_t in_len)
Print a encoded "CSD modififed V.110" frame in the same table-like structure as the spec.
Definition: gsm44021.c:272
int osmo_gsm48_range_enc_filter_arfcns(int *arfcns, const int size, const int f0, int *f0_included)
Definition: gsm48_arfcn_range_encode.c:305
@ CELL_IDENT_LAI
Definition: gsm_08_08.h:22
static int parse_ss(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:373
#define GSM48_MT_RR_SYSINFO_2bis
Definition: gsm_04_08.h:1606
static uint32_t _a5_12_clock(uint32_t r, uint32_t mask, uint32_t taps)
Compute the next LFSR state.
Definition: a5.c:149
int gsm0808_dec_call_id(uint32_t *ci, const uint8_t *elem, uint8_t len)
Decode Call Identifier IE (3GPP TS 48.008 3.2.2.105).
Definition: gsm0808_utils.c:2562
uint8_t ussd_data_len
Definition: gsm0480.h:88
@ NM_ATT_HW_CONFIG
Definition: gsm_12_21.h:338
#define GSM48_MT_CC_USER_INFO
Definition: gsm_04_08.h:1700
@ NM_ATT_IPACC_CODING_SCHEMES
Definition: gsm_12_21.h:450
@ GSM0808_SCT_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:551
@ BSSMAP_LE_IEI_RET_ERR_CAUSE
Definition: gsm_49_031.h:113
static const struct value_string gsm0808_bssap_names[]
Definition: gsm0808.c:2465
@ IUUP_FSM_ST_TrM_DATA_XFER_READY
Definition: iuup.c:143
uint8_t max_lapdm
Definition: gsm48_rest_octets.h:43
enum gsm0808_permitted_speech chosen_speech_version
Definition: gsm0808.h:242
bool last_eutran_plmn_id_present
Definition: gsm0808.h:145
#define GSM48_MT_CC_RETR
Definition: gsm_04_08.h:1704
static int cbsp_dec_keep_alive_compl(struct osmo_cbsp_keep_alive_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1176
static int c128v1_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_comp128v1.c:29
@ GSM48_CC_CAUSE_INC_BARRED_CUG
Definition: gsm_04_08.h:1983
@ OSMO_GSUP_ACCESS_POINT_NAME_IE
Definition: gsup.h:77
const struct value_string osmo_cbsp_cause_names[]
#define GSM48_MT_GMM_ATTACH_ACK
Definition: gsm_04_08_gprs.h:13
int ms_class_gmsk_dbm(enum gsm_band band, int class)
Convert power class to dBm according to GSM TS 05.05.
Definition: gsm_utils.c:509
#define GSM0480_OP_CODE_DEACTIVATE_SS
Definition: gsm_04_80.h:73
@ GA_RC_SYNC_INFO
Definition: gsm_44_318.h:63
@ OSMO_GSM44068_CAUSE_INVALID_TRANSACTION_ID
Definition: gsm_44_068.h:101
#define GSM_0480_ERROR_CODE_TAG
Definition: gsm_04_80.h:33
static const int tch_afs_10_2_puncture[]
Definition: gsm0503_conv.c:432
struct osmo_gsm48_si_pch_nch_info pch_nch_info
Definition: gsm48_rest_octets.h:52
static int parse_cell_id_lai_and_lac(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1236
@ NM_ATT_OSMO_NS_LINK_CFG
Definition: gsm_12_21.h:511
uint8_t len
Definition: gsm_04_11.h:2
static const struct value_string avail_names[]
Definition: abis_nm.c:648
@ NM_MT_CONN_TERR_SIGN_ACK
Definition: gsm_12_21.h:105
size_t qos_enc_len
length (in octets) of qos_enc
Definition: gsup.h:270
@ GSM48_RR_CAUSE_LOW_LEVEL_FAIL
Definition: gsm_04_08.h:1944
@ GSM411_CP_CAUSE_PROTOCOL_ERR
Definition: gsm_04_11.h:48
static int cbsp_dec_reset(struct osmo_cbsp_reset *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1093
#define A52_R4_CLKBIT2
Definition: a5.c:273
@ GSM0808_IE_VSTK_INFO
Definition: gsm_08_08.h:281
#define S(x)
Definition: iuup.c:109
int(* osmo_prim_cb)(struct osmo_prim_hdr *oph, void *ctx)
uint8_t ta
Definition: gsm_48_071.h:86
@ OSMO_GSM44068_IEI_CALL_STATE
Definition: gsm_44_068.h:34
enum gsm0808_lcls_control control
§3.2.2.117 Connection Status Control.
Definition: gsm0808_utils.h:228
3GPP TS 48.008 §3.2.1.57 (VGCS) UPLINK REQUEST
Definition: gsm0808.h:437
bool osmo_imsi_str_valid(const char *imsi)
Determine whether the given IMSI is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:56
@ OSMO_GSM44068_PRIO_LEVEL_4
Definition: gsm_44_068.h:56
static int osmo_bssmap_le_dec_conn_oriented_info(struct bssmap_le_conn_oriented_info *params, enum bssmap_le_msgt msgt, struct osmo_bssmap_le_err **err, void *err_ctx, const struct tlv_parsed *tp)
Definition: bssmap_le.c:645
#define GSM48_MT_RR_HANDO_INFO
Definition: gsm_04_08.h:1574
struct llist_head entries
Definition: gsm23236.h:37
int osmo_macaddr_parse(uint8_t *out, const char *in)
@ GSM48_REJECT_IMSI_UNKNOWN_IN_HLR
Definition: gsm_04_08.h:2014
@ BSS_MAP_MSG_VGCS_VBS_QUEUING_INDICATION
Definition: gsm_08_08.h:168
struct gsm48_classmark3::@37 ms_pos_method_cap
#define GSM48_MT_CC_DISCONNECT
Definition: gsm_04_08.h:1708
#define GSM48_MT_CC_CONG_CTRL
Definition: gsm_04_08.h:1712
uint8_t assoc_radio_cap_1
Definition: gsm_04_08.h:65
enum osmo_gsup_sms_sm_rp_oda_t sm_rp_oa_type
SM-RP-OA (see 3GPP TS 29.002, 7.6.8.2), Originating Address.
Definition: gsup.h:342
@ GAD_TYPE_ELL_POINT_UNC_ELLIPSE
Ellipsoid point with uncertainty ellipse.
Definition: gsm_23_032.h:38
@ GMM_CAUSE_NO_PDP_ACTIVATED
Definition: gsm_04_08_gprs.h:242
static void osmo_bsslap_ie_enc_cause(struct msgb *msg, enum bsslap_cause cause)
Definition: bsslap.c:121
@ GSM48_CC_CAUSE_NORM_CALL_CLEAR
Definition: gsm_04_08.h:1961
#define GSM48_IE_MOBILE_ID
Definition: gsm_04_08.h:1774
#define GSM0480_MTYPE_REGISTER
Definition: gsm_04_80.h:9
@ GSM0808_IE_KC_128
Definition: gsm_08_08.h:310
static bool gsm0808_cause_ext(enum gsm0808_cause cause)
Definition: gsm0808_utils.h:322
uint8_t code
Definition: gsm23003.h:97
@ GSM411_CPS_IDLE
Definition: gsm_04_11.h:11
#define GSM48_MT_RR_HANDO_CMD
Definition: gsm_04_08.h:1570
@ OSMO_GSM48_ARFCN_RANGE_128
Definition: gsm48_arfcn_range_encode.h:9
void _a5_2(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Generate a GSM A5/1 cipher stream.
Definition: a5.c:330
@ OSMO_GSM44068_CSTATE_U2nc
Definition: gsm_44_068.h:78
#define NM_IPAC_F_CHANT_TCHF_TCHH
Definition: gsm_12_21.h:811
@ NM_ATT_MAX_TA
Definition: gsm_12_21.h:347
const struct value_string sgsap_ismi_det_noneps_type_names[]
Definition: gsm29118.c:105
@ GSM48_CC_CAUSE_SERV_OPT_UNIMPL
Definition: gsm_04_08.h:1991
@ BSS_MAP_MSG_HANDOVER_FAILURE
Definition: gsm_08_08.h:90
static int cbsp_dec_reset_fail(struct osmo_cbsp_reset_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1133
@ OSMO_GSUP_AUTH_TUPLE_IE
Definition: gsup.h:67
static struct osmo_iuup_rnl_prim * tnl_to_rnl_data(struct osmo_iuup_tnl_prim *itp)
Definition: iuup.c:454
@ GSM411_CP_CAUSE_CONGESTION
Definition: gsm_04_11.h:41
const char * smc_state_names[]
Definition: gsm0411_smc.c:116
enum osmo_gsup_cancel_type cancel_type
Definition: gsup.h:306
#define GSM48_MT_MM_LOC_UPD_ACCEPT
Definition: gsm_04_08.h:1658
int osmo_auth_supported(enum osmo_auth_algo algo)
Determine if a given authentication algorithm is supported.
Definition: auth_core.c:115
char * osmo_gad_to_str_c(void *ctx, const struct osmo_gad *gad)
Return a human readable representation of GAD (location estimate) values.
Definition: gad.c:486
uint8_t gsm0808_enc_aoip_trasp_addr(struct msgb *msg, const struct sockaddr_storage *ss)
@ OSMO_GSUP_MSGT_PURGE_MS_RESULT
Definition: gsup.h:148
@ GSM0808_IE_GERAN_CLASSMARK
Definition: gsm_08_08.h:275
#define NM_IPAC_F_CHANM_SPEECH_AFS
Definition: gsm_12_21.h:816
static uint8_t iuup_get_pdu_type(const uint8_t *data)
Definition: iuup.c:178
@ NM_IPACC_TESTNO_BCCCH_MONITOR
Definition: gsm_12_21.h:724
@ OSMO_RAT_UTRAN_IU
Definition: gsm_utils.h:264
@ SGSAP_MSGT_UE_UNREACHABLE
Definition: gsm_29_118.h:36
struct msgb * gsm0808_create_handover_succeeded(void)
Create BSSMAP HANDOVER SUCCEEDED message, 3GPP TS 48.008 3.2.1.13.
Definition: gsm0808.c:1174
void gsm411_smc_clear(struct gsm411_smc_inst *inst)
Definition: gsm0411_smc.c:100
@ GSM0808_IE_TRACE_REFERENCE
Definition: gsm_08_08.h:232
struct msgb * gsm0808_create_handover_command(const struct gsm0808_handover_command *params)
Create BSSMAP HANDOVER COMMAND message, 3GPP TS 48.008 3.2.1.11.
Definition: gsm0808.c:1125
struct osmo_prim_hdr oph
Definition: iuup.h:106
Definition: gsm23003.h:22
@ GSM48_CC_CAUSE_IE_NOTEXIST
Definition: gsm_04_08.h:2000
@ NM_ATT_CCCH_L_T
Definition: gsm_12_21.h:328
static const int tch_afs_6_7_puncture[]
Definition: gsm0503_conv.c:622
@ BSSMAP_LE_IEI_CELL_ID
Definition: gsm_49_031.h:117
@ OSMO_GSM44068_CSTATE_U0p
Definition: gsm_44_068.h:73
void comp128(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v1 algorithm.
Definition: comp128.c:242
#define GSM48_IE_BA_LIST_PREF
Definition: gsm_04_08.h:1859
3GPP TS 48.008 §3.2.1.37 HANDOVER REQUIRED REJECT
Definition: gsm0808.h:172
#define ABIS_OM_MDISC_TRAU
Message Discriminator for TRAU management.
Definition: gsm_12_21.h:50
@ NM_ATT_IPACC_NS_CFG
Definition: gsm_12_21.h:442
struct msgb * abis_nm_fail_evt_vrep(enum abis_nm_event_type t, enum abis_nm_severity s, enum abis_nm_pcause_type ct, uint16_t cause_value, const char *fmt, va_list ap)
Pack 3GPP TS 12.21 § 8.8.2 Failure Event Report into msgb.
Definition: abis_nm.c:821
@ GSM_PCHAN_TCH_H
Definition: gsm_utils.h:221
struct osmo_gsm48_lsa_params lsa_params
Definition: gsm48_rest_octets.h:104
uint32_t n
Definition: iuup.c:116
uint8_t ch_indctr
Definition: gsm_08_08.h:741
@ BSSMAP_LE_MSGT_RESET_ACK
Definition: gsm_49_031.h:93
@ GSM0808_SCT_FR5
FR AMR-WB.
Definition: gsm_08_08.h:552
@ GSM411_RP_CAUSE_MO_REQ_FAC_NOTSUBSCR
Definition: gsm_04_11.h:80
@ GSM0808_AMR_MODE_7_95
Definition: gsm_08_08.h:710
static int encode_wperiod(uint32_t secs)
Definition: cbsp.c:122
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_STATUS
Definition: gsm_08_08.h:171
@ GSM48_BCAP_SV_HR
GSM HR V1 (GSM HR)
Definition: gsm_04_08.h:2217
@ BSSMAP_LE_IEI_MS_SYNC_ACC
Definition: gsm_49_031.h:129
uint8_t gsm0808_enc_vgcs_feature_flags(struct msgb *msg, const struct gsm0808_vgcs_feature_flags *ff)
Encode VGCS Feature Flags IE (3GPP TS 48.008 3.2.2.88).
Definition: gsm0808_utils.c:2297
@ NM_MT_CHG_ADM_STATE_REQ_ACK
Definition: gsm_12_21.h:157
#define GSM48_TMSI_LEN
Definition: gsm_04_08.h:2227
@ SGSAP_SGS_CAUSE_MSG_INCOMP_STATE
Definition: gsm_29_118.h:133
#define GSM48_MT_MM_AUTH_FAIL
Definition: gsm_04_08.h:1665
struct llist_head list
Definition: cbsp.h:60
#define GSM340_TP_VPF_ABSOLUTE
Definition: gsm_04_11.h:136
uint8_t rx_qual
Definition: meas_rep.h:11
const char * abis_nm_severity_name(uint8_t cause)
Get human-readable string for perceived OML severity.
Definition: abis_nm.c:250
@ BTS_FEAT_ETWS_PN
Definition: bts_features.h:26
static uint16_t tlvp_val16be(const struct tlv_parsed *tp, int pos)
Retrieve (possibly unaligned) TLV element and convert to host byte order.
Definition: tlv.h:639
@ NM_ATT_START_TIME
Definition: gsm_12_21.h:366
@ GSM0808_IE_DATA_IDENTITY
Definition: gsm_08_08.h:301
@ GSM0808_IE_SPEECH_VERSION
Definition: gsm_08_08.h:244
#define GSM48_MT_RR_APP_INFO
Definition: gsm_04_08.h:1639
@ GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE
Definition: gsm_08_08.h:393
int plan
Definition: mncc.h:35
struct osmo_cbsp_decoded * osmo_cbsp_decode(void *ctx, struct msgb *in)
Decode a CBSP message from wire formwat to pased structure.
Definition: cbsp.c:1262
#define GSM48_MT_RR_SYSINFO_4
Definition: gsm_04_08.h:1601
@ GSM_PCHAN_UNKNOWN
Definition: gsm_utils.h:225
gsm0808_lcls_config
Definition: gsm_08_08.h:781
const char * osmo_mnc_name(uint16_t mnc, bool mnc_3_digits)
Return MNC string as standardized 2- or 3-digit with leading zeros.
Definition: gsm23003.c:155
@ GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE
Definition: gsm_08_08.h:390
@ OSMO_GSUP_SESSION_STATE_NONE
Undefined session state.
Definition: gsup.h:241
@ SGSAP_SGS_CAUSE_MISSING_MAND_IE
Definition: gsm_29_118.h:134
static const uint8_t tch_ahs_6_7_output[][2]
Definition: gsm0503_conv.c:1056
@ GSM0808_CAUSE_CIRCUIT_POOL_MISMATCH
Definition: gsm_08_08.h:404
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE
Definition: gsm_08_08.h:93
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL
Definition: gsm_08_08.h:787
const struct osmo_conv_code gsm0503_tch_afs_7_95
TCH/AFS 7.95 kbits convolutional code: G4/G4 = 1 G5/G4 = 1 + D + D4 + D6 / 1 + D2 + D3 + D5 + D6 G6/G...
Definition: gsm0503_conv.c:540
#define GSM48_IE_MUL_RATE_CFG
Definition: gsm_04_08.h:1819
@ NM_OC_SITE_MANAGER
Definition: gsm_12_21.h:286
@ EGPRS_CPS_P3
Definition: gsm_44_060.h:216
uint8_t params[0]
Definition: gsm_08_58.h:8
#define GSM0480_OP_CODE_INTERROGATE_SS
Definition: gsm_04_80.h:74
@ GSM48_CMODE_SPEECH_V2_VAMOS
Same as GSM48_CMODE_SPEECH_EFR, in VAMOS mode.
Definition: gsm_04_08.h:797
@ DCS_NONE
Definition: gsm_04_11.h:113
static struct osmo_iuup_rnl_prim * irp_error_event_alloc_c(void *ctx, enum iuup_error_cause cause, enum iuup_error_distance distance)
Definition: iuup.c:494
enum gsm48_bcap_modem_type modem_type
Definition: mncc.h:29
@ NM_MT_BS11_CREATE_OBJ_NACK
Definition: gsm_12_21.h:204
#define NM_IPAC_F_GPRS_CODING_CS2
Definition: gsm_12_21.h:834
uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, uint8_t hsn, uint8_t maio, size_t n, const uint16_t *ma)
Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3.
Definition: gsm0502.c:230
static void new_rp_state(struct gsm411_smr_inst *inst, enum gsm411_rp_state state)
Definition: gsm0411_smr.c:141
const struct value_string gsm0808_lcls_config_names[]
Definition: gsm0808.c:2658
uint8_t gsm0808_enc_speech_codec_list(struct msgb *msg, const struct gsm0808_speech_codec_list *scl)
Deprecated: gsm0808_enc_speech_codec_list2() wrapper for backwards compatibility.
Definition: gsm0808_utils.c:439
static struct osmo_auth_impl milenage_alg
Definition: auth_milenage.c:182
@ GSM48_CC_CAUSE_ACC_INF_DISCARD
Definition: gsm_04_08.h:1978
uint8_t egprs_supported
Definition: gsm_44_060.h:185
#define OSMO_PRIM_HDR(oph)
static int osmo_bssmap_le_enc_conn_oriented_info(struct msgb *msg, const struct bssmap_le_conn_oriented_info *params)
Definition: bssmap_le.c:639
static int osmo_bsslap_ie_dec_cell_id(uint16_t *cell_id, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
Definition: bsslap.c:93
@ NM_OC_IPAC_E1_CHAN
Definition: gsm_12_21.h:295
@ SGSAP_IE_EUTRAN_CGI
Definition: gsm_29_118.h:72
static struct msgb * msgb_alloc_headroom(uint16_t size, uint16_t headroom, const char *name)
#define GSM48_MT_GMM_DETACH_ACK
Definition: gsm_04_08_gprs.h:17
static int cbsp_enc_load_query_compl(struct msgb *msg, const struct osmo_cbsp_load_query_complete *in)
Definition: cbsp.c:274
@ GSM411_RPS_WAIT_FOR_RETRANS_T
Definition: gsm_04_11.h:22
uint16_t new_serial_nr
Definition: cbsp.h:108
@ OSMO_EVT_CRIT_BOOT_FAIL
Definition: gsm_12_21.h:262
@ NM_ATT_TEST_DUR
Definition: gsm_12_21.h:369
const struct value_string * gprs_det_t_mt_strs
Definition: gsm_04_08_gprs.c:213
static int greatest_power_of_2_lesser_or_equal_to(int index)
Definition: gsm48_arfcn_range_encode.c:30
uint16_t abis_nm_put_sw_file(struct msgb *msg, const char *id, const char *ver, bool put_sw_desc)
Put given file ID/Version pair as 3GPP TS 52.021 §9.4.62 SW Description into msgb.
Definition: abis_nm.c:890
int osmo_gsm48_range_enc_1024(uint8_t *chan_list, int f0, int f0_incl, int *w)
Definition: gsm48_arfcn_range_encode.c:297
@ GSM48_REJECT_IMPLICITLY_DETACHED
Definition: gsm_04_08.h:2042
uint8_t sres[4]
Definition: gsm_04_08.h:806
char time[12]
Definition: ipaccess.h:9
static void msgb_put_cbsp_num_compl_list(struct msgb *msg, const struct osmo_cbsp_num_compl_list *cl)
Definition: cbsp.c:103
@ GMM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:244
size_t msisdn_enc_len
Definition: gsup.h:314
@ GSM_CAUSE_SERV_OPT_NOTSUPP
Definition: gsm_04_08_gprs.h:266
int osmo_gsm48_range_enc_filter_arfcns(int *arfcns, const int sze, const int f0, int *f0_included)
Definition: gsm48_arfcn_range_encode.c:305
#define BSSMAP_MSG_SIZE
Definition: gsm0808.h:31
uint8_t link_id
Definition: gsm_08_08.h:4
Definition: gsm_utils.c:782
@ SGSAP_EPS_LUT_IMSI_ATTACH
Definition: gsm_29_118.h:85
const struct value_string cbsp_category_names[]
Definition: gsm48049.c:77
@ CBSP_IEI_NUM_OF_PAGES
Definition: gsm_48_049.h:41
@ SGSAP_IE_NAS_MSG_CONTAINER
Definition: gsm_29_118.h:61
@ GSM_PCHAN_OSMO_DYN
Definition: gsm_utils.h:228
static const uint8_t rn_table[114]
Definition: gsm0502.c:205
@ IUUP_PROC_TIME_ALIGN
Definition: gsm_25_415.h:184
int osmo_routing_area_id_encode_msgb(struct msgb *msg, const struct osmo_routing_area_id *src)
Encode struct osmo_routing_area_id to a 3GPP TS 24.008 § 10.5.5.15 Routing area identification: appen...
Definition: gsm48.c:1395
bool data_transparent
Definition: gsm_08_08.h:749
@ GSM48_CC_CAUSE_INTERWORKING
Definition: gsm_04_08.h:2005
#define GSM48_MT_RR_DTM_ASS_FAIL
Definition: gsm_04_08.h:1555
@ OSMO_GSM44068_CAUSE_BUSY
Definition: gsm_44_068.h:91
@ GSM411_RPS_WAIT_FOR_RP_ACK
Definition: gsm_04_11.h:20
int gsm_7bit_encode_n(uint8_t *result, size_t n, const char *data, int *octets)
GSM 7-bit alphabet TS 03.38 6.2.1 Character packing.
Definition: gsm_utils.c:382
static int append_gprs_cell_opt(struct bitvec *bv, const struct osmo_gprs_cell_options *gco)
Definition: gsm48_rest_octets.c:1055
@ SGSAP_SERV_IND_CS_CALL
Definition: gsm_29_118.h:117
struct msgb * gsm0808_create_clear_command(uint8_t cause)
Create BSSMAP Clear Command message with BSSAP header before l3h and BSSMAP in l3h.
Definition: gsm0808.c:199
@ NM_SEVER_CRITICAL
Definition: gsm_12_21.h:583
const uint8_t * val
pointer to value
Definition: tlv.h:504
@ GSM48_BCAP_RRQ_DUAL_HR
Definition: gsm_04_08.h:2144
struct osmo_cbsp_write_replace write_replace
Definition: cbsp.h:273
enum gsm0808_cause cause_bssap
0 is a valid cause
Definition: gsup.h:380
static const uint8_t tch_afs_6_7_term_output[]
Definition: gsm0503_conv.c:617
struct gad_raw_polygon::@94 h
static const uint8_t tch_afs_7_95_term_output[]
Definition: gsm0503_conv.c:516
#define GSM48_MT_CC_MODIFY
Definition: gsm_04_08.h:1697
Definition: gsm_04_08.h:304
struct msgb * gsm0808_create_vgcs_vbs_assign_res(const struct gsm0808_vgcs_vbs_assign_res *params)
Create BSSMAP VGCS/VBS ASSIGNMENT RESULT message, 3GPP TS 48.008 3.2.1.54.
Definition: gsm0808.c:1677
int osmo_mobile_identity_to_str_buf(char *buf, size_t buflen, const struct osmo_mobile_identity *mi)
Return a human readable representation of a struct osmo_mobile_identity.
Definition: gsm48.c:1018
@ SGSAP_UE_EMM_MODE_CONNECTED
Definition: gsm_29_118.h:150
@ BSS_MAP_MSG_VGCS_SMS
Definition: gsm_08_08.h:179
const struct osmo_conv_code gsm0503_tch_ahs_7_4
TCH/AHS 7.4 kbits convolutional code.
Definition: gsm0503_conv.c:1038
#define GSM48_PDISC_NC_SS
Definition: gsm_04_08.h:1445
int32_t osmo_gad_dec_lat(uint32_t lat)
Decode a latitude value according to 3GPP TS 23.032.
Definition: gad.c:81
@ SGSAP_MSGT_ALERT_REQ
Definition: gsm_29_118.h:18
@ GSM48_RR_CAUSE_CHAN_MODE_UNACCT
Definition: gsm_04_08.h:1941
#define GSM48_IE_MSLOT_DESC
Definition: gsm_04_08.h:1825
@ GSM48_CC_CAUSE_USER_NOT_IN_CUG
Definition: gsm_04_08.h:1993
enum osmo_gprs_cs osmo_gprs_ul_cs_by_block_bytes(uint8_t block_size)
Return coding scheme for given (E)GPRS uplink block size.
Definition: gprs_rlc.c:186
bool thresh_lo_valid
Definition: sysinfo.h:66
Definition: gsm0411_smr.c:378
uint8_t t_avg_w
Definition: gsm_44_060.h:198
const struct tlv_definition * gsm0808_att_tlvdef(void)
Definition: gsm0808.c:2319
int gsm48_decode_bearer_cap(struct gsm_mncc_bearer_cap *bcap, const uint8_t *lv)
Decode TS 04.08 Bearer Capability IE (10.5.4.5)
Definition: gsm48_ie.c:185
@ GSM0808_FE_IE_DUAL_TRANSFER_MODE_INFORMATION
Definition: gsm_08_08.h:348
@ NM_CHANC_TCHFull
Definition: gsm_12_21.h:546
struct osmo_gcr_parsed gcr
§3.2.2.115 Global Call Reference.
Definition: gsm0808_utils.h:229
#define GSM48_MT_CC_ESTAB_CONF
Definition: gsm_04_08.h:1692
@ NM_MT_SET_RADIO_ATTR_ACK
Definition: gsm_12_21.h:128
#define GSM48_IE_HIGHL_COMPAT
Definition: gsm_04_08.h:1801
@ EGPRS_HDR_TYPE1
Definition: gsm_44_060.h:222
int gsm48_decode_ssversion(struct gsm_mncc_ssversion *ssv, const uint8_t *lv)
Decode TS 04.08 SS Version IE (10.5.4.24)
Definition: gsm48_ie.c:825
@ OSMO_GSM44068_CSTATE_U2wr_U6
Definition: gsm_44_068.h:74
@ NM_OPSTATE_NULL
Definition: gsm_12_21.h:541
char * osmo_cgi_name_c(const void *ctx, const struct osmo_cell_global_id *cgi)
Return MCC-MNC-LAC-CI as string, in a talloc-allocated output buffer.
Definition: gsm23003.c:321
@ NM_OC_BS11_ENVABTSE
Definition: gsm_12_21.h:305
uint8_t l3_info_len
Definition: gsm0808.h:232
int ipa_ccm_send_pong(int fd)
Definition: ipa.c:456
@ OSMO_GSM44068_PRIO_LEVEL_0
Definition: gsm_44_068.h:60
static uint16_t kasumi_FI(uint16_t I, uint16_t skey)
Definition: kasumi.c:26
const char * osmo_rai_name(const struct gprs_ra_id *rai)
Return MCC-MNC-LAC-RAC as string, in a static buffer.
Definition: gsm48.c:206
@ GA_MT_CSR_ACT_CHAN
Definition: gsm_44_318.h:35
int osmo_gsm48_rest_octets_si13_encode(uint8_t *data, const struct osmo_gsm48_si13_info *si13)
Definition: gsm48_rest_octets.c:1140
int bitvec_get_bit_high(struct bitvec *bv)
@ OSMO_GSUP_SOURCE_NAME_IE
Definition: gsup.h:113
@ BSSMAP_LE_IEI_RANDOM_ID
Definition: gsm_49_031.h:133
@ _NUM_BTS_FEAT
Definition: bts_features.h:39
#define GSM414_MT_OPEN_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:51
Definition: gsm_49_031.h:208
const char * name
Definition: gsm0411_smc.c:425
#define GSM48_MT_CC_START_DTMF
Definition: gsm_04_08.h:1716
static void iuup_fsm_null(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: iuup.c:645
@ GSM0808_IE_CIRCUIT_POOL_LIST
Definition: gsm_08_08.h:239
void gsm48_generate_lai2(struct gsm48_loc_area_id *lai48, const struct osmo_location_area_id *lai)
Encode TS 04.08 Location Area Identifier.
Definition: gsm48.c:1156
#define NM_IPAC_F_GPRS_CODING_CS1
ip.access support flags for NM_IPAC_EIE_GPRS_CODING (GPRS)
Definition: gsm_12_21.h:833
@ GSM0808_FE_IE_DOWNLINK_CELL_LOAD_INFORMATION
Definition: gsm_08_08.h:351
static int cbsp_dec_failure(struct osmo_cbsp_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1207
@ GSM48_CC_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_08.h:2002
uint8_t file_version_len
Definition: gsm_12_21.h:954
@ GSM_CAUSE_FEATURE_NOTSUPP
Definition: gsm_04_08_gprs.h:274
@ OSMO_GSUP_IMSI_IE
Definition: gsup.h:65
#define GSM23003_TMSI_NUM_BYTES
Definition: gsm_23_003.h:12
static const char * smr_state_names[]
Definition: gsm0411_smr.c:104
@ BSSMAP_LE_IEI_MLAT_TA
Definition: gsm_49_031.h:128
char * osmo_mobile_identity_to_str_c(void *ctx, const struct osmo_mobile_identity *mi)
Like osmo_mobile_identity_to_str_buf(), but return the string in a talloc buffer.
Definition: gsm48.c:1048
static bool append_eutran_neib_cell(struct bitvec *bv, const struct osmo_earfcn_si2q *e, size_t *e_offset, uint8_t budget)
Definition: gsm48_rest_octets.c:139
uint8_t len
Definition: gsm_04_11.h:105
uint8_t osmo_char2bcd(char c)
@ CBSP_MSGT_WRITE_REPLACE
Definition: gsm_48_049.h:51
static const uint8_t table_3[64]
Definition: comp128.c:130
const struct value_string gsm411_cp_cause_strs[]
Definition: gsm0411_smc.c:123
static void xor(uint8_t *out, const uint8_t *a, const uint8_t *b, size_t len)
Definition: auth_xor_2g.c:36
@ GSM0808_IE_OSMO_OSMUX_CID
Definition: gsm_08_08.h:337
int(* mn_recv)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.h:32
@ BSS_MAP_MSG_RESET_IP_RSRC
Definition: gsm_08_08.h:132
uint8_t t_avg_t
Definition: gsm_44_060.h:199
@ NM_OPSTATE_DISABLED
Definition: gsm_12_21.h:539
static const struct value_string gsm0808_cause_class_names[]
Definition: gsm0808.c:2585
@ BSSLAP_IEI_ENCR_KEY
Definition: gsm_48_071.h:70
@ CELL_IDENT_CI
Definition: gsm_08_08.h:20
int gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, uint16_t s15_s0)
Determine a GSM 04.08 AMR configuration struct from a set of speech codec configuration bits (S0-S15)
Definition: gsm0808_utils.c:1718
int ipa_ccm_tlv_to_unitdata(struct ipaccess_unit *ud, const struct tlv_parsed *tp)
Definition: ipa.c:270
@ GSM_MNCC_BCAP_FAX_G3
Definition: mncc.h:81
static int cbsp_enc_kill_fail(struct msgb *msg, const struct osmo_cbsp_kill_failure *in)
Definition: cbsp.c:251
static const uint8_t tch_ahs_5_15_term_state[]
Definition: gsm0503_conv.c:1151
static int osmo_bssmap_le_enc_perform_loc_req(struct msgb *msg, const struct bssmap_le_perform_loc_req *params)
Definition: bssmap_le.c:517
#define GSM48_MT_RR_SYSINFO_5ter
Definition: gsm_04_08.h:1610
@ NM_MT_ACTIVATE_SW_NACK
Definition: gsm_12_21.h:98
uint16_t lac
Definition: gsm_04_08.h:2234
@ GMM_CAUSE_NOT_AUTH_FOR_CSG
Definition: gsm_04_08_gprs.h:240
@ NM_ATT_POWER_THRESH
Definition: gsm_12_21.h:356
@ GSM0808_ALG_ID_A5_5
Definition: gsm_08_08.h:577
@ EGPRS_HDR_TYPE3
Definition: gsm_44_060.h:224
#define GSM48_IE_ALERT
Definition: gsm_04_08.h:1785
@ OSMO_GSUP_SESSION_STATE_BEGIN
Initiation of a new session.
Definition: gsup.h:243
#define GPRS_DET_T_MO_COMBINED
Definition: gsm_04_08_gprs.h:61
uint8_t ta
Definition: gsm_04_08.h:808
3GPP TS 48.008 §3.2.1.58 (VGCS) UPLINK REQUEST ACKNOWLEDGE
Definition: gsm0808.h:453
int gsm48_decode_callerid(struct gsm_mncc_number *callerid, const uint8_t *lv)
Decode TS 04.08 Caller ID.
Definition: gsm48_ie.c:461
int osmo_tmsi_nri_v_get(int16_t *nri_v, uint32_t tmsi, uint8_t nri_bitlen)
Retrieve the Network Resource Indicator bits from a TMSI or p-TMSI.
Definition: gsm23236.c:147
@ GSM411_RP_CAUSE_MO_CONGESTION
Definition: gsm_04_11.h:78
int gsm_7bit_decode_n(char *text, size_t n, const uint8_t *user_data, uint8_t septet_l)
Decode 7bit GSM Alphabet.
Definition: gsm_utils.c:262
int async
Definition: mncc.h:22
@ OSMO_GSUP_MSGT_MO_FORWARD_SM_REQUEST
Definition: gsup.h:166
@ OSMO_GSUP_MSGT_E_ABORT
Definition: gsup.h:198
static void decode_lai(const uint8_t *data, struct osmo_location_area_id *decoded)
Definition: gsm0808_utils.c:202
@ GSM0808_CAUSE_RELOCATION_TRIGGERED
Definition: gsm_08_08.h:385
static const uint8_t tch_axs_sid_update_state[][2]
Definition: gsm0503_conv.c:1266
@ NM_ATT_FILE_DATA
Definition: gsm_12_21.h:386
static const uint8_t tch_afs_7_4_state[][2]
Definition: gsm0503_conv.c:551
#define GSM0480_COMPIDTAG_INVOKE_ID
Definition: gsm_04_80.h:22
#define GSM48_LUPD_PERIODIC
Definition: gsm_04_08.h:1757
struct osmo_gad_ell_point_unc_circle ell_point_unc_circle
Definition: gad.h:154
@ GSM0808_IE_CHANNEL_TYPE
Definition: gsm_08_08.h:204
@ GSM0808_CAUSE_HANDOVER_SUCCESSFUL
Definition: gsm_08_08.h:378
int ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data)
Definition: ipa.c:237
struct llist_head list
Definition: cbsp.h:38
@ NM_MT_PERF_TEST
Definition: gsm_12_21.h:134
#define TCH_REPEAT_LENGTH
Definition: gsm0502.c:54
#define NM_IPAC_F_CHANM_SPEECH_HS
Definition: gsm_12_21.h:817
#define GSM48_MT_CC_MODIFY_COMPL
Definition: gsm_04_08.h:1698
@ OSMO_GSM44068_CAUSE_SERVICE_OPTION_OOO
Definition: gsm_44_068.h:98
uint8_t proto_discr
Definition: gsm_04_08.h:942
const struct value_string osmo_bssmap_le_iei_names[]
Definition: bssmap_le.c:844
@ NM_CHANC_BCCHComb
Definition: gsm_12_21.h:553
static const uint8_t tch_afs_7_4_term_state[]
Definition: gsm0503_conv.c:565
uint8_t thresh_hi
Definition: sysinfo.h:57
char * location1
Definition: ipa.h:21
@ GSM0808_IE_CELL_ID_LIST_SEG_EST_CELLS
Definition: gsm_08_08.h:293
@ GSM0808_IE_LOCATION_ESTIMATE
Definition: gsm_08_08.h:259
int osmo_routing_area_id_encode_buf(uint8_t *buf, size_t buflen, const struct osmo_routing_area_id *src)
Encode struct osmo_routing_area_id to a 3GPP TS 24.008 § 10.5.5.15 Routing area identification: write...
Definition: gsm48.c:1375
@ OSMO_GSUP_MESSAGE_CLASS_USSD
Definition: gsup.h:282
#define GSM_TDMA_FN_DIFF(a, b)
Return the minimum difference of two specified TDMA frame numbers (distance)
Definition: gsm0502.h:27
uint16_t mnc
Definition: gsm48.h:28
int radio
Definition: mncc.h:16
@ GSM48_CC_CAUSE_NONSE_USER_CLR
Definition: gsm_04_08.h:1968
@ GSM_CAUSE_SERV_OPT_TEMP_OOO
Definition: gsm_04_08_gprs.h:268
@ OSMO_GSUP_SM_RP_MMS_IE
Definition: gsup.h:105
struct gsm48_classmark3::@36 ms_meas_cap
@ GSM411_CP_CAUSE_MSGTYPE_NOTEXIST
Definition: gsm_04_11.h:45
const struct osmo_conv_code gsm0503_mcs9
EDGE MCS-9 data convolutional code: 612 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1530
int(* rout)(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:434
#define GSM48_MT_RR_ASS_COMPL
Definition: gsm_04_08.h:1568
uint8_t tighter_capability
Definition: gsm_04_08.h:214
int network
Definition: gsm0411_smr.h:18
@ GSM0808_FE_IE_UPLINK_CELL_LOAD_INFORMATION
Definition: gsm_08_08.h:352
static const int cs3_puncture[]
Definition: gsm0503_conv.c:296
const char * gsm0808_bssap_name(uint8_t msg_type)
Return string name of BSSAP Message Type.
Definition: gsm0808.c:2472
@ OSMO_GSUP_IMEI_IE
Definition: gsup.h:108
int osmo_auth_register(struct osmo_auth_impl *impl)
Register an authentication algorithm implementation with the core.
Definition: auth_core.c:77
#define A5_R3_TAPS
Definition: a5.c:113
static int gsm411_mnsms_rel_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:326
@ OSMO_GSM44068_MSGT_TERMINATION
Definition: gsm_44_068.h:45
static uint16_t osmo_rol16(uint16_t in, unsigned shift)
int gsm48_decode_facility(struct gsm_mncc_facility *facility, const uint8_t *lv)
Decode TS 04.08 Facility IE (10.5.4.15)
Definition: gsm48_ie.c:656
struct osmo_iuup_tnl_prim * retrans_itp
Definition: iuup.c:117
struct msgb * gsm0808_create_layer3_2(const struct msgb *msg_l3, const struct osmo_cell_global_id *cell, const struct gsm0808_speech_codec_list *scl)
Create "Complete L3 Info" for AoIP.
Definition: gsm0808.c:75
@ GSM_CAUSE_NSAPI_IN_USE
Definition: gsm_04_08_gprs.h:269
int(* rl_recv)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.h:19
@ GSM0808_IE_DECIPHERING_KEYS
Definition: gsm_08_08.h:266
#define OSMO_DEPRECATED(text)
uint8_t data[0]
Definition: gsm_04_08.h:944
const char * get_value_string(const struct value_string *vs, uint32_t val)
@ BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC
Definition: gsm_49_031.h:147
struct msgb * gsm0808_create_handover_request(const struct gsm0808_handover_request *params)
Create BSSMAP HANDOVER REQUEST message, 3GPP TS 48.008 3.2.1.8.
Definition: gsm0808.c:946
@ BSSLAP_IEI_MEAS_REP
Definition: gsm_48_071.h:59
int ipa_ccm_id_get_parse(struct tlv_parsed *dec, const uint8_t *buf, unsigned int len)
Parse the payload part of an IPA CCM ID GET, return tlv_parsed format.
Definition: ipa.c:163
uint8_t ss_code
GSM TS 04.80, section 4.4.3.9 "ss-Code" The ss-Code identifier refers to the code which identify a su...
Definition: gsm0480.h:68
#define OSMO_MAX_RAND_ID_LEN
Definition: gsm_utils.h:39
@ NM_MT_DISC_MDROP_LINK_ACK
Definition: gsm_12_21.h:121
@ IUUP_FSM_EVT_SSASAR_UNITDATA_IND
Definition: iuup.c:154
#define GSM48_LUPD_NORMAL
Definition: gsm_04_08.h:1756
int gsm_7bit_decode_n_ussd(char *text, size_t n, const uint8_t *user_data, uint8_t length)
Decode 7bit GSM Alphabet (USSD)
Definition: gsm_utils.c:268
static void msgb_put_cbsp_fail_list(struct msgb *msg, const struct llist_head *fl)
Definition: cbsp.c:64
const struct osmo_conv_code gsm0503_mcs8
EDGE MCS-8 data convolutional code: 564 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1515
@ NM_MT_BS11_BEGIN_DB_TX_NACK
Definition: gsm_12_21.h:198
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST
Definition: gsup.h:136
@ GMM_CAUSE_SEM_INCORR_MSG
Definition: gsm_04_08_gprs.h:243
uint8_t ta
Definition: gsm_48_071.h:92
uint16_t node
length (3-5 octets) of gsm29205_gcr::net
Definition: gsm29205.h:32
Definition: gsm_04_08.h:31
@ GSM48_CMSERV_VGCS
Definition: gsm_04_08.h:1738
@ NM_MT_DISC_TERR_TRAF
Definition: gsm_12_21.h:113
@ NM_ATT_SITE_INPUTS
Definition: gsm_12_21.h:362
static const struct nch_pos si1ro_nch_positions[]
Definition: gsm48_rest_octets.c:68
int osmo_pbit2ubit(ubit_t *out, const pbit_t *in, unsigned int num_bits)
static struct osmo_iuup_tnl_prim * itp_ctrl_ack_alloc(struct osmo_iuup_instance *iui, enum iuup_procedure proc_ind, uint8_t fn)
Definition: iuup.c:231
@ GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT
Definition: gsm_08_08.h:424
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCK
Definition: gsm_08_08.h:140
@ OSMO_GSM44068_CSTATE_U5
Definition: gsm_44_068.h:72
#define FACCH_F_REPEAT_LENGTH
Definition: gsm0502.c:55
const struct osmo_conv_code gsm0503_mcs3
EDGE MCS-3 data convolutional code: 316 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1376
@ GA_MT_RC_REGISTER_REQUEST
Definition: gsm_44_318.h:23
@ CBSP_MSGT_WRITE_REPLACE_COMPL
Definition: gsm_48_049.h:52
static LLIST_HEAD(osmo_auths)
const char * gsm48_rr_short_pd_msg_name(uint8_t msgtype)
return string representation of RR Message Type using the RR short protocol discriminator
Definition: gsm48.c:442
@ GMM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:249
static unsigned range1024_p(unsigned n)
Definition: gsm48_rest_octets.c:387
@ OSMO_AUTH_ALG_COMP128v1
Definition: auth.h:30
@ GSM_CAUSE_REACT_RQD
Definition: gsm_04_08_gprs.h:273
static void iuup_fsm_init_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
Definition: iuup.c:690
Definition: gsm23003.h:16
#define GSM411_SM_RL_REPORT_IND
Definition: gsm0411_smr.h:14
@ NM_ATT_VSWR_THRESH
Definition: gsm_12_21.h:372
@ GSM_CAUSE_SEM_INCORR_MSG
Definition: gsm_04_08_gprs.h:276
uint8_t cause
Definition: gsm_04_08.h:808
@ GPRS_ALGO_GEA4
Definition: gprs_cipher.h:18
@ FN_REMAP_FACCH_F
Definition: gsm0502.h:100
int gsm_7bit_encode_n_ussd(uint8_t *result, size_t n, const char *data, int *octets_written)
Encode a text string into GSM 03.38 encoded 7 bit characters (USSD encoding).
Definition: gsm_utils.c:426
const struct value_string * gprs_att_t_strs
Definition: gsm_04_08_gprs.c:182
@ GSM0808_IE_ENCRYPTION_INFORMATION
Definition: gsm_08_08.h:203
permanent (secret) subscriber auth data
Definition: auth.h:44
static const int tch_afs_7_4_puncture[]
Definition: gsm0503_conv.c:575
@ GA_MT_PSR_GPRS_SUSPEND_REQ
Definition: gsm_44_318.h:62
@ GSM48_CC_CAUSE_NO_CIRCUIT_CHAN
Definition: gsm_04_08.h:1974
uint8_t kc[8]
Kc for GSM encryption (A5)
Definition: auth.h:96
@ NM_ATT_SEVERITY
Definition: gsm_12_21.h:382
@ GSM0808_CAUSE_LSA_NOT_ALLOWED
Definition: gsm_08_08.h:407
@ BSSMAP_LE_IEI_CLASSMARK3_INFO
Definition: gsm_49_031.h:115
bool mnc_3_digits
Definition: gsm48.h:29
@ NM_ATT_IPACC_DST_IP
Definition: gsm_12_21.h:410
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:138
@ SGSAP_IE_TMSI
Definition: gsm_29_118.h:47
struct osmo_timer_list rp_timer
Definition: gsm0411_smr.h:25
@ T200_SACCH_TCH_SAPI0
Definition: gsm_12_21.h:652
struct msgb * gsm0480_gen_return_error(uint8_t invoke_id, uint8_t error_code)
Generate a ReturnError component (see section 3.6.1) and given error code (see section 3....
Definition: gsm0480.c:846
enum abis_nm_attr abis_nm_att_settable[]
Attributes that the BSC can set, not only get, according to Section 9.4.
Definition: abis_nm.c:441
char * osmo_lai_name_c(const void *ctx, const struct osmo_location_area_id *lai)
Return MCC-MNC-LAC as string, in a talloc-allocated output buffer.
Definition: gsm23003.c:238
@ GSM411_RP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:91
@ NM_MT_ESTABLISH_TEI
Definition: gsm_12_21.h:101
@ BSSLAP_IEI_LAC
Definition: gsm_48_071.h:65
bool tf
TFO (Inband Tandem Free Operation).
Definition: gsm_08_08.h:600
@ GSM0808_LCLS_STS_NOT_POSSIBLE_LS
Definition: gsm_08_08.h:804
@ GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED
Definition: gsm_08_08.h:419
uint8_t osmo_gad_enc_unc(uint32_t mm)
Encode an uncertainty circle value according to 3GPP TS 23.032.
Definition: gad.c:190
@ CBSP_IEI_CHANNEL_IND
Definition: gsm_48_049.h:40
@ OSMO_GSUP_MSGT_DELETE_DATA_REQUEST
Definition: gsup.h:154
void osmo_kdf_kasme(const uint8_t *ck, const uint8_t *ik, const uint8_t *plmn_id, const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme)
Definition: kdf.c:96
#define GSM48_MT_CC_STATUS_ENQ
Definition: gsm_04_08.h:1715
#define GSM48_MT_GMM_PTMSI_REALL_COMPL
Definition: gsm_04_08_gprs.h:25
Definition: gsm0411_smc.c:483
int gsm0808_dec_msisdn(char *msisdn, const char *elem, uint8_t len)
Decode MSISDN IE (3GPP TS 48.008 3.2.2.101).
Definition: gsm0808_utils.c:2404
const struct value_string gsm48_rr_msgtype_names[]
TS 04.08 RR Message Type names.
Definition: gsm48.c:1520
#define GSM411_MMSMS_DATA_REQ
Definition: gsm0411_smc.h:15
@ NM_CHANC_OSMO_DYN
Definition: gsm_12_21.h:566
bool dtm_enhancements_cap
Definition: gsm_04_08.h:181
@ NM_ATT_HW_DESC
Definition: gsm_12_21.h:339
#define GSM48_MT_RR_DTM_REJECT
Definition: gsm_04_08.h:1556
int(* rout)(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:382
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write Write running configuration to or terminal n Write to terminal n
struct osmo_cbsp_load_query_complete load_query_compl
Definition: cbsp.h:282
@ T200_SACCH_TCH_SAPI3
Definition: gsm_12_21.h:655
bssmap_le_msgt
Definition: gsm_49_031.h:83
uint32_t auth_types
bitmask of OSMO_AUTH_TYPE_*
Definition: auth.h:98
#define HMAC_FUNC(k, lk, s, sl, out)
Definition: kdf.c:32
@ SGSAP_MSGT_EPS_DET_ACK
Definition: gsm_29_118.h:23
static const struct smcdatastate smcdatastatelist[]
static void encode_pdp_info(struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_gsup_pdp_info *pdp_info)
Definition: gsup.c:587
@ GSM0808_LCLS_STS_NA
Definition: gsm_08_08.h:808
#define NM_IPAC_F_CHANM_SPEECH_AHS
Definition: gsm_12_21.h:818
@ NM_MT_SET_CHAN_ATTR
Definition: gsm_12_21.h:130
int type
Definition: gsm0411_smc.c:485
@ NM_MT_GET_ATTR
Definition: gsm_12_21.h:184
#define BSSAP_LE_MSG_SIZE
Definition: bssmap_le.c:39
@ GSM0808_IE_CHANNEL_NEEDED
Definition: gsm_08_08.h:229
#define GSM48_IE_NAME_SHORT
Definition: gsm_04_08.h:1776
bool corr_needed
§3.2.2.118 Correlation-Not-Needed.
Definition: gsm0808_utils.h:231
@ GSM0808_LCLS_CSC_NA
Definition: gsm_08_08.h:798
uint8_t cause
Definition: cbsp.h:74
uint8_t sms_value
Definition: gsm_04_08.h:83
const uint8_t abis_nm_t200_ms[]
3GPP TS 12.21 9.4.53 T200 values (in msec)
Definition: abis_nm.c:256
@ GSM48_CC_CAUSE_SERV_OPT_UNAVAIL
Definition: gsm_04_08.h:1986
#define GSM48_MT_MM_NULL
Definition: gsm_04_08.h:1679
uint8_t power_offset
Definition: gsm48_rest_octets.h:72
const char * osmo_cgi_ps_name2(const struct osmo_cell_global_id_ps *cgi_ps)
Same as osmo_cgi_ps_name(), but uses a different static buffer.
Definition: gsm23003.c:354
@ BSSMAP_LE_IEI_LCS_CLIENT_TYPE
Definition: gsm_49_031.h:106
@ OSMO_EVT_MAJ_RSL_FAIL
Definition: gsm_12_21.h:265
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR
Definition: gsup.h:137
@ GA_MT_RC_REGISTER_UPDATE_DL
Definition: gsm_44_318.h:29
@ OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_RESULT
Definition: gsup.h:184
@ GSM0808_CAUSE_REQ_A_IF_TYPE_UNAVAIL
Definition: gsm_08_08.h:409
#define GSM48_IE_SYNC_IND_HO
Definition: gsm_04_08.h:1824
@ IPAC_IDTAG_SWVERSION
Definition: ipaccess.h:67
@ NM_MT_SET_BTS_ATTR_ACK
Definition: gsm_12_21.h:125
int tuak_auts(const uint8_t *opc, const uint8_t *k, uint8_t k_len_bytes, const uint8_t *_rand, const uint8_t *auts, uint8_t *sqn)
tuak_auts - Milenage AUTS validation @opc: OPc = 256-bit operator variant algorithm configuration fie...
Definition: tuak.c:334
struct osmo_tdef_group * g
const struct value_string sgsap_iei_names[]
Definition: gsm29118.c:56
@ BSS_MAP_MSG_NOTIFICATION_DATA
Definition: gsm_08_08.h:180
uint8_t gsm0808_enc_cell_id(struct msgb *msg, const struct gsm0808_cell_id *ci)
Encode Cell Identifier IE (3GPP TS 48.008 3.2.2.17).
Definition: gsm0808_utils.c:1525
uint16_t old_serial_nr
Definition: cbsp.h:183
@ GSM0808_CAUSE_DTM_HO_SGSN_FAILURE
Definition: gsm_08_08.h:401
@ NM_ATT_IPACC_IP_IF_CFG
Definition: gsm_12_21.h:420
int gsm0808_dec_group_callref(struct gsm0808_group_callref *gc, const uint8_t *elem, uint8_t len)
Decode Group Call Reference IE (3GPP TS 48.008 3.2.2.55).
Definition: gsm0808_utils.c:2240
@ GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC
Definition: gsm_08_08.h:426
struct gsm48_classmark3::@45 gsm_750_assoc_radio_cap
gsm0808_lcls_status
Definition: gsm_08_08.h:802
int gprs_tlli_type(uint32_t tlli)
Determine GPRS TLLI Type (TS 23.003 Chapter 2.6)
Definition: gsm_utils.c:1004
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP
Definition: gsm_08_08.h:416
@ OSMO_GSUP_MSGT_E_FORWARD_ACCESS_SIGNALLING_REQUEST
Definition: gsup.h:195
const struct value_string gan_pdisc_vals[]
Definition: gan.c:75
@ CBSP_IEI_OLD_SERIAL_NR
Definition: gsm_48_049.h:24
static const uint8_t tch_axs_sid_update_term_output[]
Definition: gsm0503_conv.c:1285
enum osmo_gprs_cs osmo_gprs_dl_cs_by_block_bytes(uint8_t block_size)
Return coding scheme for given (E)GPRS downlink block size.
Definition: gprs_rlc.c:198
static const uint8_t tch_ahs_7_95_term_output[]
Definition: gsm0503_conv.c:973
int gsm48_encode_facility(struct msgb *msg, int lv_only, const struct gsm_mncc_facility *facility)
Encode TS 04.08 Facility IE (10.5.4.15)
Definition: gsm48_ie.c:674
uint8_t vamos_level
Definition: gsm_04_08.h:213
struct gsm48_hdr hdr
Definition: gsm_04_08.h:806
const char * name
Definition: gsm0411_smr.c:381
uint8_t proto
Definition: ipaccess.h:12
@ GSM48_REJECT_ILLEGAL_MS
Definition: gsm_04_08.h:2015
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:150
char * osmo_apn_qualify_from_imsi_buf(char *buf, size_t buf_len, const char *imsi, const char *ni, int have_3dig_mnc)
Definition: apn.c:57
static void append_uarfcns(struct bitvec *bv, const uint16_t *uarfcn_list, size_t *u_offset, size_t uarfcn_length, uint16_t *scramble_list, uint8_t budget)
Definition: gsm48_rest_octets.c:481
static struct msgb * create_simple_msg(enum sgsap_msg_type msg_type, const char *imsi)
Definition: gsm29118.c:235
@ OSMO_AUTH_ALG_XOR_2G
Definition: auth.h:35
int gsm0808_enc_speech_codec_list2(struct msgb *msg, const struct gsm0808_speech_codec_list *scl)
Encode TS 08.08 Speech Codec list.
Definition: gsm0808_utils.c:411
@ GSM0808_FE_IE_SOURCE_CELL_ID
Definition: gsm_08_08.h:359
static void iuup_fsm_init(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: iuup.c:702
@ NM_MT_SET_CHAN_ATTR_ACK
Definition: gsm_12_21.h:131
#define TALKER_IDENTITY_MAXLEN
Parsed representation of a Talker Identity IE (3GPP TS 48.008 3.2.2.91)
Definition: gsm0808_utils.h:173
struct osmo_cbsp_decoded * osmo_cbsp_decoded_alloc(void *ctx, enum cbsp_msg_type msg_type)
Dynamically allocate and initialize decoded CBSP structure.
Definition: cbsp.c:1455
void gsm48_mcc_mnc_to_bcd(uint8_t *bcd_dst, uint16_t mcc, uint16_t mnc)
Definition: gsm48.c:1112
@ BSSLAP_IEI_PACKET_CHAN_DESC
Definition: gsm_48_071.h:75
@ BSS_MAP_MSG_UNEQUIPPED_CIRCUIT
Definition: gsm_08_08.h:144
@ BSSMAP_LE_IEI_COVERAGE_CLASS
Definition: gsm_49_031.h:135
bool ctrl_ack_type_use_block
Definition: gsm_44_060.h:181
@ OSMO_GPRS_MCS8
Definition: gsm_44_060.h:240
@ GA_MT_CSR_PAGING_REQ
Definition: gsm_44_318.h:53
struct gsm341_ms_message::@28 page
char * gsm_fn_as_gsmtime_str(uint32_t fn)
Parse GSM Frame Number into printable string.
Definition: gsm_utils.c:878
static int cbsp_enc_restart(struct msgb *msg, const struct osmo_cbsp_restart *in)
Definition: cbsp.c:367
#define DEBUGP(ss, fmt, args...)
@ GA_MT_CSR_HO_ACCESS
Definition: gsm_44_318.h:46
#define GSM48_IE_REALTIME_DIFF
Definition: gsm_04_08.h:1862
void gsm0808_msgb_put_cell_id_u(struct msgb *msg, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u)
Definition: gsm0808_utils.c:1023
#define MAX_SMS_RETRY
Definition: gsm0411_smc.c:74
@ OSMO_GSUP_SUPPORTED_RAT_TYPES_IE
Definition: gsup.h:90
static __attribute__((constructor))
Definition: auth_xor_2g.c:76
#define GSM0480_OP_CODE_NOTIFY_SS
Definition: gsm_04_80.h:75
@ NM_OC_GPRS_CELL
Definition: gsm_12_21.h:309
const struct osmo_conv_code gsm0503_mcs7
EDGE MCS-7 data convolutional code: 468 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1500
3GPP TS 48.008 §3.2.1.8 HANDOVER REQUEST
Definition: gsm0808.h:181
@ CBSP_IEI_CELL_LIST
Definition: gsm_48_049.h:26
@ GSM0808_IE_REROUTE_REJ_CAUSE
Definition: gsm_08_08.h:313
union osmo_cbsp_write_replace::@0 u
#define GSM48_MT_MM_LOC_UPD_REJECT
Definition: gsm_04_08.h:1659
@ GSM0808_IE_RESOURCE_INDICATION_METHOD
Definition: gsm_08_08.h:221
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:112
gsm411_cp_state
Definition: gsm_04_11.h:10
@ GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER
Definition: gsm_08_08.h:796
#define GSM414_MT_ACT_EMMI_CMD
Definition: gsm_04_14.h:53
static int cbsp_enc_kill_compl(struct msgb *msg, const struct osmo_cbsp_kill_complete *in)
Definition: cbsp.c:237
struct msgb * gsm29118_create_reset_ack(struct gsm29118_reset_msg *params)
Definition: gsm29118.c:352
int gsm48_encode_connected(struct msgb *msg, const struct gsm_mncc_number *connected)
Encode TS 04.08 Connected Number IE (10.5.4.13)
Definition: gsm48_ie.c:635
#define IUUP_MSGB_SIZE
Definition: iuup.c:189
static int gsm411_send_release(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:187
@ BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED
Definition: gsm_49_031.h:171
static void osmo_prim_init(struct osmo_prim_hdr *oph, unsigned int sap, unsigned int primitive, enum osmo_prim_operation operation, struct msgb *msg)
static unsigned char * msgb_put(struct msgb *msgb, unsigned int len)
int osmo_gad_raw_read(union gad_raw *gad_raw, struct osmo_gad_err **err, void *err_ctx, const uint8_t *data, uint8_t len)
Read a GAD PDU and validate structure.
Definition: gad.c:350
int gsm0808_dec_cell_id_list2(struct gsm0808_cell_id_list2 *cil, const uint8_t *elem, uint8_t len)
Decode Cell Identifier List IE.
Definition: gsm0808_utils.c:1304
static struct osmo_auth_impl c128v1_alg
Definition: auth_comp128v1.c:40
int bitvec_set_bit(struct bitvec *bv, enum bit_value bit)
#define GSM48_MT_MM_LOC_UPD_REQUEST
Definition: gsm_04_08.h:1660
static const uint8_t * gen_opc_if_needed(const struct osmo_sub_auth_data2 *aud, uint8_t *gen_opc)
Definition: auth_tuak.c:35
@ BSS_MAP_MSG_RESET_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:128
@ IUUP_FSM_EVT_SSASAR_UNITDATA_REQ
Definition: iuup.c:153
void osmo_a5_1(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul) OSMO_DEPRECATED("Use generic osmo_a5() instead")
Definition: a5.c:262
const struct tlv_definition cbsp_att_tlvdef
Definition: gsm48049.c:84
int tlv_parse(struct tlv_parsed *dec, const struct tlv_definition *def, const uint8_t *buf, int buf_len, uint8_t lv_tag, uint8_t lv_tag2)
Parse an entire buffer of TLV encoded Information Elements.
Definition: tlv_parser.c:346
@ GSM0808_AMR_MODE_5_15
Definition: gsm_08_08.h:706
@ GSM48_DTX_MAY_BE_USED
Definition: gsm_04_08.h:1012
bool osmo_nri_v_matches_ranges(int16_t nri_v, const struct osmo_nri_ranges *nri_ranges)
Return true when the given NRI value appears in the list of NRI ranges.
Definition: gsm23236.c:80
@ OSMO_GSUP_SESSION_STATE_IE
Definition: gsup.h:94
@ GSM48_CC_CAUSE_INV_NR_FORMAT
Definition: gsm_04_08.h:1970
@ OSMO_GSM44068_CAUSE_IMEI_NOT_ACCEPTED
Definition: gsm_44_068.h:84
#define GSM48_IE_CHANMODE_2
Definition: gsm_04_08.h:1826
#define GSM48_IE_CELL_CH_DESC
Definition: gsm_04_08.h:1850
#define CB_SCH
Definition: gsm0502.c:265
uint8_t digits[3]
Definition: gsm_04_08.h:899
int osmo_a5(int n, const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Main method to generate a A5/x cipher stream.
Definition: a5.c:407
int osmo_bssmap_le_ie_dec_location_type(struct bssmap_le_location_type *lt, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Decode BSSMAP-LE Location Type IE value part.
Definition: bssmap_le.c:178
static const uint8_t tch_afs_7_95_output[][2]
Definition: gsm0503_conv.c:488
abis_nm_event_type
Event Type (Section 9.4.16)
Definition: gsm_12_21.h:572
@ NM_ATT_ADD_TEXT
Definition: gsm_12_21.h:319
@ BTS_FEAT_VAMOS
Definition: bts_features.h:31
@ GSM0808_IE_IMSI
Definition: gsm_08_08.h:201
const struct osmo_conv_code gsm0503_cs2_np
CS2 convolutional code (non-punctured): G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:337
@ OSMO_RAT_COUNT
Definition: gsm_utils.h:268
enum CELL_IDENT id_discr
Definition: cbsp.h:65
@ NM_ATT_IPACC_BVCI
Definition: gsm_12_21.h:440
static bool gsm0808_cell_id_u_match(enum CELL_IDENT discr1, const union gsm0808_cell_id_u *u1, enum CELL_IDENT discr2, const union gsm0808_cell_id_u *u2, bool exact_match)
Return true if the common information between the two Cell Identifiers match.
Definition: gsm0808_utils.c:1858
int osmo_nri_ranges_del(struct osmo_nri_ranges *nri_ranges, const struct osmo_nri_range *del)
Remove a range of NRI values from a list of nri_range structs.
Definition: gsm23236.c:347
@ GSM48_CC_CAUSE_PRE_EMPTION
Definition: gsm_04_08.h:1967
static int parse_process_uss_data(const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:652
int osmo_nri_ranges_to_str_buf(char *buf, size_t buflen, const struct osmo_nri_ranges *nri_ranges)
Compose a human readable representation of a list of NRI ranges in a buffer, like "23....
Definition: gsm23236.c:402
@ GSM48_CMODE_DATA_12k0
CSD: 12.0 kbit/s radio interface rate, 9.6 kbit/s services (TCH/F9.6)
Definition: gsm_04_08.h:788
@ NM_ATT_SW_CONFIG
Definition: gsm_12_21.h:380
static struct msgb * osmo_iuup_msgb_alloc_c(void *ctx, size_t size)
Definition: iuup.c:192
struct gad_raw_ell_point_alt_unc_ell ell_point_alt_unc_ell
Definition: gsm_23_032.h:246
@ OSMO_GSUP_MESSAGE_CLASS_INTER_MSC
Definition: gsup.h:283
#define OSMO_NRI_BITLEN_MIN
Definition: gsm23236.h:12
static int gsm0808_dec_gcr(struct osmo_gcr_parsed *gcr, const struct tlv_parsed *tp)
Decode BSSMAP Global Call Reference, 3GPP TS 29.205 Table B 2.1.9.1.
Definition: gsm0808_utils.c:654
static const uint8_t tch_afs_5_9_term_output[]
Definition: gsm0503_conv.c:701
struct msgb * msgb_copy_c(const void *ctx, const struct msgb *msg, const char *name)
#define GSM48_IE_CHANMODE_1
Definition: gsm_04_08.h:1851
@ BSS_MAP_MSG_UPLINK_RELEASE_INDICATION
Definition: gsm_08_08.h:174
uint8_t sres[4]
authentication result for GSM
Definition: auth.h:97
#define GSM48_MT_RR_SH_VGCS_SMS
Definition: gsm_04_08.h:1650
static struct fn_remap_table facch_f_remap_table
Definition: gsm0502.c:113
bool extended_earfcn_val_range
Definition: gsm_04_08.h:227
@ NM_MT_CHG_HW_CONF_NACK
Definition: gsm_12_21.h:177
#define GSM0480_OP_CODE_HOLD_MPTY
Definition: gsm_04_80.h:86
uint32_t u32
Definition: common.h:25
uint8_t assoc_radio_cap_2
Definition: gsm_04_08.h:66
@ OSMO_EVT_CRIT_SW_FATAL
Definition: gsm_12_21.h:259
static struct osmo_auth_impl c128v3_alg
Definition: auth_comp128v23.c:60
Definition: gsm_49_031.h:226
@ NM_ATT_IPACC_LOCATION
Definition: gsm_12_21.h:424
struct osmo_iuup_tnl_prim * osmo_iuup_tnl_prim_alloc(void *ctx, unsigned int primitive, unsigned int operation, unsigned int size)
Definition: iuup.c:219
uint16_t * old_serial_nr
Definition: cbsp.h:119
#define NM_IPAC_F_CHANT_BCCH_SDCCH4_CBCH
Definition: gsm_12_21.h:805
@ NM_MT_STOP_MEAS
Definition: gsm_12_21.h:181
enum abis_nm_msgtype abis_nm_reports[4]
unidirectional messages from BTS to BSC
Definition: abis_nm.c:44
@ GSM48_REJECT_GPRS_NOT_ALLOWED_IN_PLMN
Definition: gsm_04_08.h:2043
#define ARFCN_UPLINK
Definition: gsm_utils.h:165
#define GSM48_MT_GMM_STATUS
Definition: gsm_04_08_gprs.h:32
#define GSM_RESERVED_TMSI
Definition: gsm48.h:17
const struct value_string gsm0480_comp_type_names[]
Definition: gsm0480.c:36
const struct value_string osmo_bts_features_descs[]
Definition: bts_features.c:22
@ GSM0808_IE_CSG_IDENTIFIER
Definition: gsm_08_08.h:311
static int cbsp_enc_keep_alive(struct msgb *msg, const struct osmo_cbsp_keep_alive *in)
Definition: cbsp.c:349
int osmo_gsm48_rest_octets_si3_encode(uint8_t *data, const struct osmo_gsm48_si_ro_info *si3)
Definition: gsm48_rest_octets.c:650
@ NM_MT_STOP_TEST_NACK
Definition: gsm_12_21.h:143
@ SGSAP_IE_MME_NAME
Definition: gsm_29_118.h:53
uint8_t msg_ref
Definition: gsm_04_11.h:107
uint8_t si_change_field
Definition: gsm48_rest_octets.h:119
@ GSM48_REJECT_NETWORK_FAILURE
Definition: gsm_04_08.h:2022
struct msgb * gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause)
Create BSSMAP SAPI N Reject message.
Definition: gsm0808.c:470
struct msgb * gsm0808_create_handover_failure(const struct gsm0808_handover_failure *params)
Create BSSMAP HANDOVER FAILURE message, 3GPP TS 48.008 3.2.1.16.
Definition: gsm0808.c:1240
for(i=0;i< vector_active(cmdvec);i++) if((node
#define GSM23003_IMEI_NUM_DIGITS_NO_CHK
Definition: gsm_23_003.h:35
struct osmo_cbsp_loading_list loading_list
Definition: cbsp.h:161
@ NM_OC_BASEB_TRANSC
Definition: gsm_12_21.h:290
int gsm48_encode_ssversion(struct msgb *msg, const struct gsm_mncc_ssversion *ssv)
Encode TS 04.08 SS Version IE (10.5.4.24)
Definition: gsm48_ie.c:840
uint8_t data_rate
Definition: gsm_08_08.h:750
@ SGSAP_MSGT_RESET_ACK
Definition: gsm_29_118.h:27
static void _comp128_permutation(uint8_t *x, uint8_t *bits)
Definition: comp128.c:178
@ GA_MT_RC_DISCOVERY_ACCEPT
Definition: gsm_44_318.h:20
const struct value_string abis_nm_ipacc_rsl_feat_desc[]
Definition: abis_nm.c:797
#define PTR_ALIGNMENT_BYTES
Definition: iuup.c:190
@ CBSP_MSGT_ERROR_IND
Definition: gsm_48_049.h:71
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:122
@ GSM0808_SC_CFG_DEFAULT_AMR_6_70
Definition: gsm_08_08.h:675
@ GSM48_CMODE_DATA_14k5_29k0
Definition: gsm_04_08.h:775
static uint8_t put_old_bss_to_new_bss_information(struct msgb *msg, const struct gsm0808_old_bss_to_new_bss_info *i)
Definition: gsm0808.c:845
@ GSM48_CC_CAUSE_USER_NOTRESPOND
Definition: gsm_04_08.h:1963
int(* mn_send)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.h:21
bool present
Definition: gsm48_rest_octets.h:35
@ NM_MT_REST_EVENT_REP_ACK
Definition: gsm_12_21.h:151
osmo_auth_algo
Authentication Algorithm.
Definition: auth.h:28
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:176
@ GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP
Definition: gsm_08_08.h:324
@ GMM_CAUSE_CONGESTION
Definition: gsm_04_08_gprs.h:238
@ NM_ATT_FILE_VERSION
Definition: gsm_12_21.h:335
static unsigned int gsm0502_get_n_pag_blocks(const struct gsm48_control_channel_descr *chan_desc)
Definition: gsm0502.h:69
static int cbsp_decode_num_compl_list(struct osmo_cbsp_num_compl_list *cl, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:584
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:130
@ OSMO_GSUP_NUM_VECTORS_REQ_IE
Definition: gsup.h:110
@ CBSP_MSGT_MSG_STATUS_QUERY_COMPL
Definition: gsm_48_049.h:61
int osmo_auth_load(const char *path)
Load all available authentication plugins from the given path.
Definition: auth_core.c:98
bool present
Definition: gsm_04_08.h:69
@ BSSLAP_IEI_RRLP
Definition: gsm_48_071.h:62
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST
Definition: gsup.h:140
#define ALL_STATES
Definition: gsm_04_08.h:2114
Definition: gsm48_rest_octets.h:63
static int osmo_bsslap_ie_dec_ta(uint8_t *ta, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
Definition: bsslap.c:110
int gsm48_encode_keypad(struct msgb *msg, int keypad)
Encode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:738
#define GSM48_IE_NET_TIME_TZ
Definition: gsm_04_08.h:1778
Definition: gprs_cipher.h:31
void gsm_fn2gsmtime(struct gsm_time *time, uint32_t fn)
Parse GSM Frame Number into struct gsm_time.
Definition: gsm_utils.c:866
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:56
uint8_t bts_nr
BTS Number.
Definition: gsm_12_21.h:65
@ NM_MT_SET_BTS_ATTR_NACK
Definition: gsm_12_21.h:126
Definition: gsm23003.h:36
@ GSM411_RPS_WAIT_TO_TX_RP_ACK
Definition: gsm_04_11.h:21
Definition: gsm_utils.h:41
const struct tlv_definition gsm0808_old_bss_to_new_bss_info_att_tlvdef
Definition: gsm0808.c:2325
#define CHANNEL_TYPE_ELEMENT_MAXLEN
Definition: gsm0808_utils.c:38
gsm_band
Definition: gsm_utils.h:49
@ CBSP_MSGT_MSG_STATUS_QUERY
Definition: gsm_48_049.h:60
int osmo_gen_home_network_domain(char *out, const struct osmo_plmn_id *plmn)
Generate TS 23.003 Section 19.2 Home Network Realm/Domain (text form)
Definition: gsm23003.c:663
bool osmo_imei_str_valid(const char *imei, bool with_15th_digit)
Determine whether the given IMEI is valid according to 3GPP TS 23.003, Section 6.2....
Definition: gsm23003.c:80
Definition: gsm23003.h:28
@ OSMO_GSUP_MSGT_INSERT_DATA_RESULT
Definition: gsup.h:152
int nr_stop_bits
Definition: mncc.h:23
@ OSMO_GSUP_MESSAGE_CLASS_IE
Definition: gsup.h:74
Definition: ipaccess.h:16
static const uint8_t tch_ahs_5_15_state[][2]
Definition: gsm0503_conv.c:1137
const uint8_t * sm_rp_ui
SM-RP-UI (see 3GPP TS 29.002, 7.6.8.4), SMS TPDU.
Definition: gsup.h:346
int gsm48_decode_notify(int *notify, const uint8_t *v)
Decode TS 04.08 Notify IE (10.5.4.20)
Definition: gsm48_ie.c:693
@ GSM0808_CAUSE_CLASS_NORM0
Definition: gsm_08_08.h:434
@ SGSAP_IE_SERVICE_INDICATOR
Definition: gsm_29_118.h:68
#define GSM23003_IMEI_NUM_DIGITS
Definition: gsm_23_003.h:30
uint8_t mask
Definition: gsm48_ie.h:116
const char * osmo_sai_name2(const struct osmo_service_area_id *sai)
Same as osmo_cgi_name(), but uses a different static buffer.
Definition: gsm23003.c:398
#define NM_IPAC_F_RTP_FEAT_IR_8k
Definition: gsm_12_21.h:850
int osmo_lai_cmp(const struct osmo_location_area_id *a, const struct osmo_location_area_id *b)
Definition: gsm23003.c:596
write Write running configuration to or terminal n Write configuration to the copy running config startup config
@ OSMO_GSM44068_CAUSE_RESPONSE_TO_GET_STATUS
Definition: gsm_44_068.h:95
@ FN_REMAP_TCH_F
Definition: gsm0502.h:97
uint8_t sm_value
Definition: gsm_04_08.h:84
@ GSM0808_IE_ASSIGNMENT_REQUIREMENT
Definition: gsm_08_08.h:245
#define OSMO_EARFCN_INVALID
Definition: sysinfo.h:11
@ BSSMAP_LE_IEI_LCS_PRIORITY
Definition: gsm_49_031.h:98
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:121
struct msgb * gsm0808_create_ass2(const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec_list *scl, const uint32_t *ci, const uint8_t *kc, const struct osmo_lcls *lcls)
Create BSSMAP Assignment Request message, 3GPP TS 48.008 §3.2.1.1.
Definition: gsm0808.c:506
const char * osmo_mnc_name(uint16_t mnc, bool mnc_3_digits)
Return MNC string as standardized 2- or 3-digit with leading zeros.
Definition: gsm23003.c:155
#define TLVP_PRES_LEN(tp, tag, min_len)
Definition: tlv.h:560
struct msgb * gsm29118_create_eps_det_ack(const char *imsi)
Definition: gsm29118.c:267
uint8_t prio_acc_thr
Definition: gsm48_rest_octets.h:123
struct osmo_cbsp_write_replace_failure write_replace_fail
Definition: cbsp.h:275
@ GSM0808_IE_LCLS_BREAK_REQ
Definition: gsm_08_08.h:321
int osmo_gsm48_range_enc_256(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:279
const char * osmo_plmn_name(const struct osmo_plmn_id *plmn)
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros.
Definition: gsm23003.c:179
@ BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED
Definition: gsm_49_031.h:165
@ BSSLAP_IEI_CELL_ID_LIST
Definition: gsm_48_071.h:63
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:141
union gsm0808_cell_id_u id_list[GSM0808_CELL_ID_LIST2_MAXLEN]
Definition: gsm0808_utils.h:63
@ BSS_MAP_MSG_CLEAR_RQST
Definition: gsm_08_08.h:104
struct osmo_iuup_rnl_status::@9::@10 error_event
unsigned int perm_spch_len
Definition: gsm_08_08.h:746
@ OSMO_GSUP_CAUSE_IE
Definition: gsup.h:66
@ BSSLAP_MSGT_UTDOA_RESP
Definition: gsm_48_071.h:38
#define DEC_IE_OPTIONAL_FLAG(MSG_TYPE, IEI, DEC_FUN, DEC_FUN_ARG, PRESENCE_FLAG)
Definition: bssmap_le.c:121
int osmo_iuup_rnl_prim_down(struct osmo_iuup_instance *inst, struct osmo_iuup_rnl_prim *irp)
Definition: iuup.c:994
@ GSM0808_IE_LCS_CLIENT_TYPE
Definition: gsm_08_08.h:262
#define GSM48_MT_GMM_AUTH_CIPH_FAIL
Definition: gsm_04_08_gprs.h:29
uint16_t cell_id
Definition: gsm_48_071.h:85
GAD PDU in network-byte-order according to 3GPP TS 23.032 GAD: Universal Geographical Area Descriptio...
Definition: gsm_23_032.h:239
static const uint8_t tch_afs_6_7_state[][2]
Definition: gsm0503_conv.c:598
int osmo_shift_tlv(uint8_t **data, size_t *data_len, uint8_t *tag, uint8_t **value, size_t *value_len)
Extract TLV and advance data pointer + subtract length.
Definition: tlv_parser.c:572
#define GSM48_IE_CHDES_2_AFTER
Definition: gsm_04_08.h:1852
@ NM_ATT_IPACC_SEC_POSSIBLE
Definition: gsm_12_21.h:456
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:73
@ GSM48_REJECT_ROAMING_NOT_ALLOWED
Definition: gsm_04_08.h:2021
@ OSMO_GSM44068_CAUSE_APP_NOT_SUPPORTED_ON_PROTO
Definition: gsm_44_068.h:87
#define SMRDOWNSLLEN
Definition: gsm0411_smr.c:396
@ GSM0808_IE_TALKER_FLAG
Definition: gsm_08_08.h:246
struct gsm48_classmark3::@46 extended_dtm_gprs_multislot_cap
@ GSM0808_IE_LAYER_3_INFORMATION
Definition: gsm_08_08.h:216
@ GSM0808_PERM_FR2
GSM EFR.
Definition: gsm_08_08.h:495
@ NM_ATT_IPACC_NSVCI
Definition: gsm_12_21.h:441
char * gsm0808_channel_type_name_buf(char *buf, size_t buf_len, const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:2191
@ OSMO_GPRS_MCS3
Definition: gsm_44_060.h:235
#define GSM0480_OP_CODE_PROCESS_USS_REQ
Definition: gsm_04_80.h:80
char * osmo_rai_name2_c(const void *ctx, const struct osmo_routing_area_id *rai)
Return MCC-MNC-LAC-RAC as string, in a talloc-allocated output buffer.
Definition: gsm23003.c:275
#define GSM48_MT_RR_NOTIF_NCH
Definition: gsm_04_08.h:1588
@ OSMO_GSUP_HLR_NUMBER_IE
Definition: gsup.h:73
static int osmo_bssmap_le_ie_dec_imei(struct osmo_mobile_identity *imei, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:442
static int gsm411_rp_sendmsg(struct gsm411_smr_inst *inst, struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref, int mnsms_msg_type)
Definition: gsm0411_smr.c:155
int gsm0808_dec_channel_type(struct gsm0808_channel_type *ct, const uint8_t *elem, uint8_t len)
Decode TS 08.08 Channel Type IE.
Definition: gsm0808_utils.c:559
static const char * gsm0808_lcls_config_name(enum gsm0808_lcls_config val)
Definition: gsm0808.h:600
int type
Definition: mncc.h:34
enum cbsp_cell_id_cause cause
Definition: cbsp.h:237
enum bssmap_le_msgt osmo_bssmap_le_msgt(const uint8_t *data, uint8_t len)
Return the BSSMAP-LE msg_type from a BSSAP-LE PDU, e.g.
Definition: bssmap_le.c:483
void osmo_gsm48_rest_octets_si4_decode(struct osmo_gsm48_si_ro_info *si4, const uint8_t *data, int len)
Definition: gsm48_rest_octets.c:1265
@ NM_MT_BS11_DELETE_OBJ_NACK
Definition: gsm_12_21.h:207
#define GSM48_IE_FRQSHORT_AFTER
Definition: gsm_04_08.h:1818
@ GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED
Definition: gsm_08_08.h:387
void osmo_c4(uint8_t *ck, const uint8_t *kc)
Definition: auth_core.c:139
@ BSSMAP_LE_IEI_RET_ERR_REQ
Definition: gsm_49_031.h:112
int osmo_gen_mme_domain(char *out, const struct osmo_gummei *gummei)
Generate TS 23.003 Section 19.4.2.4 MME Domain (text form)
Definition: gsm23003.c:693
@ OSMO_CBSP_CAUSE_MISSING_MANDATORY_ELEMENT
Definition: cbsp.h:251
int gprs_cipher_register(struct gprs_cipher_impl *ciph)
Definition: gprs_cipher_core.c:51
@ IPAC_PROTO_IPACCESS
Definition: ipaccess.h:23
@ NM_MT_ESTABLISH_TEI_ACK
Definition: gsm_12_21.h:102
@ GSM48_CC_CAUSE_UNASSIGNED_NR
Definition: gsm_04_08.h:1957
uint8_t gsm0808_enc_cell_id_list(struct msgb *msg, const struct gsm0808_cell_id_list *cil)
DEPRECATED: Use gsm0808_enc_cell_id_list2 instead.
Definition: gsm0808_utils.c:1129
enum osmo_auth_algo algo
algorithm we implement
Definition: auth.h:104
char * abis_nm_dump_foh_buf(char *buf, size_t buf_len, const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:1030
uint8_t * meas_bw
Definition: sysinfo.h:53
@ IUUP_ERR_DIST_LOCAL
Definition: gsm_25_415.h:191
3GPP TS 48.008 §3.2.1.59 (VGCS) UPLINK REQUEST CONFIRM
Definition: gsm0808.h:465
static int32_t smod(int32_t n, int32_t m)
Definition: gsm48_ie.c:868
@ GSM48_DTX_SHALL_NOT_BE_USED
Definition: gsm_04_08.h:1014
#define NM_IPAC_F_CIPH_ALGO_A57
Definition: gsm_12_21.h:795
@ NM_MT_BS11_END_DB_TX_NACK
Definition: gsm_12_21.h:201
char * osmo_mcc_name_buf(char *buf, size_t buf_len, uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:94
uint8_t data_rate_allowed
Definition: gsm_08_08.h:752
#define GSM0808_SCT_EXT
Definition: gsm_08_08.h:564
const struct value_string gsm0808_chosen_enc_alg_names[]
Definition: gsm0808.c:2506
@ GSM48_RR_CAUSE_PREMPTIVE_REL
Definition: gsm_04_08.h:1938
uint16_t old_serial_nr
Definition: cbsp.h:137
@ BTS_FEAT_SPEECH_H_AMR
Definition: bts_features.h:25
osmo_bts_features
Definition: bts_features.h:11
static int range_encode(enum osmo_gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list)
Definition: gsm48_rest_octets.c:347
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:110
@ OSMO_GSUP_RAND_IE
Definition: gsup.h:80
#define BSSMAP_MSG_HEADROOM
Definition: gsm0808.h:32
#define GSM48_IE_CLASSMARK3
Definition: gsm_04_08.h:1846
uint8_t user_len
Definition: cbsp.h:32
@ GSM0808_PERM_HR6
OHR AMR.
Definition: gsm_08_08.h:503
@ NM_ATT_GET_ARI
Definition: gsm_12_21.h:383
#define NM_IPAC_F_CHANM_SPEECH_FS
ip.access support flags for NM_IPAC_EIE_CHAN_MODES (speech codecs)
Definition: gsm_12_21.h:814
@ CBSP_MSGT_KILL_COMPL
Definition: gsm_48_049.h:55
@ OSMO_GSM44068_CSTATE_U4
Definition: gsm_44_068.h:71
static int iuup_verify_pdu(const uint8_t *data, unsigned int len)
Definition: iuup.c:854
@ NM_MT_REST_EVENT_REP
Definition: gsm_12_21.h:150
gsm0808_cause_class
Definition: gsm_08_08.h:433
@ IUUP_ERR_CAUSE_INIT_FAILURE_REP_NACK
Definition: gsm_25_415.h:216
3GPP TS 48.008 §3.2.1.51 VGCS/VBS SETUP ACK
Definition: gsm0808.h:348
int osmo_mobile_identity_decode_from_l3_buf(struct osmo_mobile_identity *mi, const uint8_t *l3_data, size_t l3_len, bool allow_hex)
Extract Mobile Identity from a Complete Layer 3 message.
Definition: gsm48.c:872
@ GSM411_RP_CAUSE_INV_MAND_INF
Definition: gsm_04_11.h:88
enum cbsp_msg_type msg_type
Definition: cbsp.h:271
struct gad_raw_ell_point_alt ell_point_alt
Definition: gsm_23_032.h:245
struct osmo_cbsp_write_replace_complete write_replace_compl
Definition: cbsp.h:274
const char * abis_nm_nack_cause_name(uint8_t cause)
Get human-readable string for NACK cause.
Definition: abis_nm.c:217
int gsm48_decode_useruser(struct gsm_mncc_useruser *uu, const uint8_t *lv)
Decode TS 04.08 User-User IE (10.5.4.25)
Definition: gsm48_ie.c:779
#define GSM48_IE_GROUP_CIP_SEQ_HO
Definition: gsm_04_08.h:1821
@ SGSAP_MSGT_RELEASE_REQ
Definition: gsm_29_118.h:32
#define NM_IPAC_F_RTP_FEAT_IR_32k
Definition: gsm_12_21.h:852
struct msgb * gsm0808_create_common_id(const char *imsi, const struct osmo_plmn_id *selected_plmn_id, const struct osmo_plmn_id *last_used_eutran_plnm_id)
Create BSSMAP COMMON ID message, 3GPP TS 48.008 3.2.1.68.
Definition: gsm0808.c:1331
const uint8_t * data
Definition: gsup.h:297
unsigned int cycle
Definition: gsm0502.c:103
#define DEBUGPC(ss, fmt, args...)
static const uint8_t * gen_opc_if_needed(const struct osmo_sub_auth_data2 *aud, uint8_t *gen_opc)
Definition: auth_milenage.c:32
struct msgb * gsm0808_create_perform_location_response(const struct gsm0808_perform_location_response *params)
Definition: gsm0808.c:1453
struct msgb * gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, uint8_t chosen_channel, uint8_t chosen_encr_alg, uint8_t chosen_speech_version)
Same as gsm0808_create_handover_request_ack2() but with less parameters.
Definition: gsm0808.c:1108
@ OSMO_GSM48_ARFCN_RANGE_512
Definition: gsm48_arfcn_range_encode.h:11
static const struct value_string gsm0808_msgt_names[]
Definition: gsm0808.c:2356
@ GMM_CAUSE_MSC_TEMP_NOTREACH
Definition: gsm_04_08_gprs.h:234
@ BSSMAP_LE_IEI_SHORT_BSS_ID
Definition: gsm_49_031.h:132
#define GSM23003_IMEISV_NUM_DIGITS
Definition: gsm_23_003.h:32
static const int tch_ahs_4_75_puncture[]
Definition: gsm0503_conv.c:1242
@ GSM48_REJECT_INF_ELEME_NOT_IMPLEMENTED
Definition: gsm_04_08.h:2033
@ OSMO_GSUP_SMS_SM_RP_ODA_IMSI
Definition: gsup_sms.h:18
@ GSM0808_SC_CFG_AMR_7_40
Definition: gsm_08_08.h:693
@ CBSP_MSGT_RESET
Definition: gsm_48_049.h:66
uint64_t osmo_decode_big_endian(const uint8_t *data, size_t data_len)
static uint32_t _a5_12_parity(uint32_t x)
Computes parity of a 32-bit word.
Definition: a5.c:121
#define GSM48_MT_CC_FACILITY
Definition: gsm_04_08.h:1721
#define CB_IDLE
Definition: gsm0502.c:267
@ BSSLAP_IEI_ENH_MEAS_REP
Definition: gsm_48_071.h:64
@ GSM48_CC_CAUSE_DEST_OOO
Definition: gsm_04_08.h:1969
@ OSMO_GSUP_SESSION_STATE_END
Indication of the session end.
Definition: gsup.h:247
@ CBSP_MSGT_KEEP_ALIVE
Definition: gsm_48_049.h:72
#define GSM48_MT_RR_SH_APP_DATA
Definition: gsm_04_08.h:1654
const uint8_t * apn_enc
APN information, still in encoded form.
Definition: gsup.h:263
static const int tch_afs_4_75_puncture[]
Definition: gsm0503_conv.c:851
#define GSM48_MT_GMM_PTMSI_REALL_CMD
Definition: gsm_04_08_gprs.h:24
static int osmo_bssmap_le_ie_dec_imsi(struct osmo_mobile_identity *imsi, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:429
@ GSM0808_ALG_ID_A5_7
Definition: gsm_08_08.h:579
struct osmo_fsm_inst * osmo_fsm_inst_alloc(struct osmo_fsm *fsm, void *ctx, void *priv, int log_level, const char *id)
Definition: gsm0411_smc.h:29
@ NM_NACK_RES_NOTIMPL
Definition: gsm_12_21.h:618
int osmo_mobile_identity_encode_msgb(struct msgb *msg, const struct osmo_mobile_identity *mi, bool allow_hex)
Encode Mobile Identity type and BCD digits, appended to a msgb.
Definition: gsm48.c:852
#define TLVP_LEN(x, y)
Definition: tlv.h:557
Parsed representation of a Cell Identifier List Segment IE (3GPP TS 48.008 3.2.2.27a)
Definition: gsm0808_utils.h:145
@ GSM0808_IE_APP_DATA_INFO
Definition: gsm_08_08.h:302
int osmo_mobile_identity_encoded_len(const struct osmo_mobile_identity *mi, int *mi_digits)
Return the number of encoded Mobile Identity octets, without actually encoding.
Definition: gsm48.c:743
@ OSMO_GSUP_CN_DOMAIN_IE
Definition: gsup.h:89
@ BSSLAP_IEI_CHAN_DESC
Definition: gsm_48_071.h:58
struct osmo_gsm48_si_vbs_vgcs_options vbs_vgcs_options
Definition: gsm48_rest_octets.h:53
char * osmo_mi_name_buf(char *buf, size_t buf_len, const uint8_t *mi, uint8_t mi_len)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:554
int gsm0808_speech_codec_from_chan_type(struct gsm0808_speech_codec *sc, uint8_t perm_spch)
Extrapolate a speech codec field from a given permitted speech parameter (channel type).
Definition: gsm0808_utils.c:1612
uint8_t msg[0]
Definition: gsm_08_08.h:729
@ GSM48_CMODE_DATA_32k0
ECSD: 32.0 kbit/s radio interface rate, 32.0 kbit/s services (E-TCH/F32.0)
Definition: gsm_04_08.h:782
@ SGSAP_SGS_CAUSE_COND_IE_ERROR
Definition: gsm_29_118.h:136
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:193
@ GSM48_CC_CAUSE_REQ_FAC_NOTIMPL
Definition: gsm_04_08.h:1989
@ SGSAP_MSGT_ALERT_ACK
Definition: gsm_29_118.h:19
static const uint8_t ipa_id_ack_msg[]
Definition: ipa.c:64
@ NM_OC_GPRS_NSE
Definition: gsm_12_21.h:308
@ NM_MT_OPSTART_ACK
Definition: gsm_12_21.h:167
size_t sm_rp_oa_len
Definition: gsup.h:343
#define GPRS_ATT_T_ATT_WHILE_IMSI
Definition: gsm_04_08_gprs.h:52
#define llist_for_each_entry_safe(pos, n, head, member)
@ NM_ATT_OUTST_ALARM
Definition: gsm_12_21.h:385
@ GSM0808_CAUSE_BSS_NOT_EQUIPPED
Definition: gsm_08_08.h:396
static int mod(int data, int range)
Definition: gsm48_arfcn_range_encode.c:42
uint8_t gsm0808_enc_msisdn(struct msgb *msg, const char *msisdn)
Encode MSISDN IE (3GPP TS 48.008 3.2.2.101).
Definition: gsm0808_utils.c:2377
@ IPAC_MSGT_PING
Definition: ipaccess.h:46
uint16_t * msg_id
Definition: cbsp.h:238
@ BTS_FEAT_OML_ALERTS
Definition: bts_features.h:18
@ GSM48_CC_CAUSE_BEARER_CAP_UNAUTH
Definition: gsm_04_08.h:1984
static int parse_cell_id_lac_and_ci_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1187
@ GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL
Definition: gsm_08_08.h:438
int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand) OSMO_DEPRECATED_OUTSIDE("Use osmo_auth_gen_vec_auts2 instead")
Generate authentication vector and re-sync sequence.
Definition: auth_core.c:296
uint8_t bcast_msg_type
Definition: cbsp.h:232
union osmo_sub_auth_data::@111 u
uint16_t lac
Definition: gsm23003.h:54
@ GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID
Definition: gsm_08_08.h:328
static int tuak_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
Definition: auth_tuak.c:163
@ BSSLAP_MSGT_MS_POS_RESP
Definition: gsm_48_071.h:36
#define IP_V6_ADDR_LEN
Definition: gsm0808_utils.c:35
Definition: gsm_25_415.h:139
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:148
@ GSM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:282
@ BSS_MAP_MSG_COMMON_ID
Definition: gsm_08_08.h:118
uint8_t res_len
length (in bytes) of res: 4..16 bytes
Definition: auth.h:95
@ NM_ATT_HW_CONF_CHG
Definition: gsm_12_21.h:384
@ NM_ATT_IPACC_SNMP_CFG
Definition: gsm_12_21.h:430
uint8_t trx_nr
TRX Number.
Definition: gsm_12_21.h:66
@ GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY
Definition: gsm_08_08.h:429
uint8_t ts_nr
Timeslot Number.
Definition: gsm_12_21.h:67
@ OSMO_AUTH_ALG_XOR_3G
Definition: auth.h:33
int gsm48_encode_notify(struct msgb *msg, int notify)
Encode TS 04.08 Notify IE (10.5.4.20)
Definition: gsm48_ie.c:701
@ NM_OC_BS11_PWR_CTRL
Definition: gsm_12_21.h:300
#define GSM48_MT_GMM_ID_REQ
Definition: gsm_04_08_gprs.h:30
static const int tch_afs_5_9_puncture[]
Definition: gsm0503_conv.c:710
static int gsm411_mmsms_est_cnf(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:208
char * osmo_rai_name_buf(char *buf, size_t buf_len, const struct gprs_ra_id *rai)
Return MCC-MNC-LAC-RAC as string, in a caller-provided output buffer.
Definition: gsm48.c:194
int get_string_value(const struct value_string *vs, const char *str)
uint8_t gsm48_generate_mid(uint8_t *buf, const char *id, uint8_t mi_type)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:1260
@ TLV_TYPE_FIXED
fixed-length value-only
Definition: tlv.h:510
@ NM_CHANC_SDCCH
Definition: gsm_12_21.h:551
uint32_t states
Definition: gsm0411_smc.c:484
@ GSM_BAND_810
Definition: gsm_utils.h:57
@ NM_ATT_IPACC_TIMING_BUS
Definition: gsm_12_21.h:434
#define GSM48_IE_GROUP_CHDES
Definition: gsm_04_08.h:1858
Definition: gsm48_rest_octets.h:90
struct gsm341_ms_message::@26 serial
@ OSMO_GSM44068_PRIO_LEVEL_1
Definition: gsm_44_068.h:59
int osmo_bssap_le_pdu_to_str_buf(char *buf, size_t buflen, const struct bssap_le_pdu *bssap_le)
Return a human readable string describing a BSSAP-LE PDU.
Definition: bssmap_le.c:894
#define A5_R2_LEN
Definition: a5.c:102
Definition: gsm_04_08.h:603
@ GSM0808_IE_SNA_ACCESS_INFO
Definition: gsm_08_08.h:279
#define GSM411_MT_RP_DATA_MT
Definition: gsm_04_11.h:53
uint16_t len
length
Definition: tlv.h:503
int osmo_gsm48_range_enc_128(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:270
#define GSM48_MT_RR_PAG_REQ_1
Definition: gsm_04_08.h:1584
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a Message buffers
Definition: tlv.h:391
@ GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_UMTS
Definition: gsm_08_08.h:271
const struct value_string osmo_gsm44068_msg_type_names[]
Definition: gsm44068.c:34
static const uint8_t tch_afs_12_2_term_state[]
Definition: gsm0503_conv.c:372
uint8_t dl_advanced_rx_perf
Definition: gsm_04_08.h:180
#define GSM48_IE_CHANMODE_5
Definition: gsm_04_08.h:1831
const struct value_string osmo_gsm44068_priority_level_names[]
Definition: gsm44068.c:48
void osmo_nri_ranges_free(struct osmo_nri_ranges *nri_ranges)
Free a struct osmo_nri_ranges.
Definition: gsm23236.c:267
static const struct value_string rr_msg_type_short_names[]
Definition: gsm48.c:424
int osmo_gsm48_rest_octets_si4_encode(uint8_t *data, const struct osmo_gsm48_si_ro_info *si4, int len)
Definition: gsm48_rest_octets.c:711
@ GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL
Definition: gsm_08_08.h:381
bsslap_iei
Definition: gsm_48_071.h:55
@ OSMO_GSUP_CURRENT_RAT_TYPE_IE
Definition: gsup.h:91
uint8_t osmo_enc_gcr(struct msgb *msg, const struct osmo_gcr_parsed *g)
Create Global Call Reference.
Definition: gsm29205.c:40
@ SGSAP_MSGT_IMSI_DET_ACK
Definition: gsm_29_118.h:25
uint16_t arfcn_first
Definition: gsm_utils.c:783
Definition: gsm_48_071.h:106
@ OSMO_GSM44068_CAUSE_SERVICE_OPTION_NOT_SUBSCR
Definition: gsm_44_068.h:96
#define GSM48_IE_LOWL_COMPAT
Definition: gsm_04_08.h:1800
@ GSM411_CP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:47
@ GSM0808_AMR_MODE_6_70
Definition: gsm_08_08.h:708
#define GSM48_IE_REDIR_BCD
Definition: gsm_04_08.h:1798
#define GSM48_MT_CC_STATUS
Definition: gsm_04_08.h:1714
@ GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE
Definition: gsm_08_08.h:294
int gsm0808_cell_id_size(enum CELL_IDENT discr)
Definition: gsm0808_utils.c:938
static int cbsp_dec_msg_status_query_fail(struct osmo_cbsp_msg_status_query_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1056
@ GA_MT_CSR_PAGING_RESP
Definition: gsm_44_318.h:54
#define DEC_IE_OPTIONAL(MSG_TYPE, IEI, DEC_FUN, DEC_FUN_ARG)
Definition: bssmap_le.c:132
#define GSM48_MT_RR_PDCH_ASS_CMD
Definition: gsm_04_08.h:1578
Definition: gsm48_rest_octets.h:51
@ BSSLAP_IEI_CELL_ID
Definition: gsm_48_071.h:57
#define GSM414_MT_CLOSE_MSLOT_LOOP_ACK
Definition: gsm_04_14.h:38
#define GSM_MI_TYPE_TMSI
Definition: gsm_04_08.h:1771
struct msgb * msgb_alloc_c(const void *ctx, uint16_t size, const char *name)
@ TLLI_G_RNTI
Definition: gsm_utils.h:206
const struct osmo_conv_code gsm0503_tch_ahs_7_95
TCH/AHS 7.95 kbits convolutional code.
Definition: gsm0503_conv.c:991
int gsm0808_enc_kc128(struct msgb *msg, const uint8_t *kc128)
Encode TS 48.008 Kc128 IE.
Definition: gsm0808_utils.c:867
uint8_t where
Definition: gsm48_rest_octets.h:96
const char * osmo_cgi_name2(const struct osmo_cell_global_id *cgi)
Same as osmo_cgi_name(), but uses a different static buffer.
Definition: gsm23003.c:310
@ BSSMAP_LE_IEI_GEO_LOCATION
Definition: gsm_49_031.h:101
@ OSMO_EVT_MIN_PAG_TAB_FULL
Definition: gsm_12_21.h:269
uint8_t alpha
Definition: gsm_44_060.h:197
#define GSM48_MT_MM_AUTH_REQ
Definition: gsm_04_08.h:1663
struct gsm_rx_lev_qual sub
Definition: meas_rep.h:17
static int parse_cell_id_ci_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1218
static int msgb_tailroom(const struct msgb *msgb)
const uint8_t * pdp_charg_enc
PDP Charging Characteristics, still in encoded form.
Definition: gsup.h:273
#define SMRDATASLLEN
Definition: gsm0411_smr.c:459
struct msgb * gsm0808_create_classmark_request(void)
Create BSSMAP Classmark Request message.
Definition: gsm0808.c:429
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:475
const uint8_t * auts
Definition: gsup.h:317
static const uint8_t tch_afs_5_15_output[][2]
Definition: gsm0503_conv.c:746
@ GA_MT_RC_DEREGISTER
Definition: gsm_44_318.h:27
@ GSM0808_IE_LSA_INFORMATION
Definition: gsm_08_08.h:254
@ GA_PDISC_PSR
Definition: gsm_44_318.h:13
@ BSSMAP_LE_IEI_LCS_CAPABILITY
Definition: gsm_49_031.h:120
uint8_t num_blocks
Definition: gsm48_rest_octets.c:63
@ GSM0808_FE_IE_CURRENT_CHANNEL_TYPE_2
Definition: gsm_08_08.h:344
iuup_fsm_event
Definition: iuup.c:147
size_t data_len
Definition: gsup.h:298
const struct value_string cbsp_iei_names[]
Definition: gsm48049.c:49
char * osmo_plmn_name_buf(char *buf, size_t buf_len, const struct osmo_plmn_id *plmn)
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros.
Definition: gsm23003.c:167
#define OSMO_GCR_MIN_LEN
Definition: gsm29205.h:26
@ NM_MT_PERF_TEST_NACK
Definition: gsm_12_21.h:136
@ SGSAP_ID_EPS_T_UE_INITIATED
Definition: gsm_29_118.h:96
Structure for CPS coding and puncturing scheme (TS 44.060 10.4.8a)
Definition: gsm_44_060.h:206
@ GSM411_CP_CAUSE_SEMANT_INC_MSG
Definition: gsm_04_11.h:43
struct gad_raw_ell_point_unc_ellipse ell_point_unc_ellipse
Definition: gsm_23_032.h:243
@ GSM48_CC_CAUSE_MSGTYPE_INCOMPAT
Definition: gsm_04_08.h:1999
unsigned int sms_len
Definition: gsm0808_utils.h:191
#define IUUP_TIMER_INIT
Definition: iuup.c:111
@ EGPRS_CPS_P2
Definition: gsm_44_060.h:215
static uint8_t * msgb_tv16_put(struct msgb *msg, uint8_t tag, uint16_t val)
put (append) a TV16 field (network order) to the given msgb
Definition: tlv.h:411
static int osmo_bssmap_le_ie_dec_apdu(struct bsslap_pdu *bsslap, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *data, size_t len)
Definition: bssmap_le.c:383
void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf)
Parse TS 04.08 Routing Area Identifier.
Definition: gsm48.c:1409
@ GSM_CAUSE_UNKNOWN_PDP
Definition: gsm_04_08_gprs.h:262
@ NM_OC_BTS
Definition: gsm_12_21.h:287
enum osmo_gprs_nmo nmo
Definition: gsm_44_060.h:173
enum gsm48_bcap_user_rate user_rate
Definition: mncc.h:25
#define GSM23003_IMSI_MIN_DIGITS
Definition: gsm_23_003.h:7
abis_nm_pcause_type
Probable Cause Type (Section 9.4.43)
Definition: gsm_12_21.h:591
const char * gsm_band_name(enum gsm_band band)
Return string name of a given GSM Band.
Definition: gsm_utils.c:671
struct msgb * gsm0808_create_uplink_reject_cmd(const struct gsm0808_uplink_reject_cmd *params)
Create BSSMAP (VGCS) UPLINK REJECT COMMAND message, 3GPP TS 48.008 3.2.1.61.
Definition: gsm0808.c:1950
#define A5_R4_TAPS
Definition: a5.c:114
static int _range_enc_arfcns(enum osmo_gsm48_range range, const int *arfcns, int size, int *out, const int index)
Definition: gsm48_arfcn_range_encode.c:76
@ GSM0808_CAUSE_UPLINK_QUALITY
Definition: gsm_08_08.h:369
@ BSS_MAP_MSG_RESOURCE_RQST
Definition: gsm_08_08.h:149
Definition: gsm48_rest_octets.h:76
const uint8_t * imei_enc
Definition: gsup.h:355
@ GSM48_CMODE_DATA_29k0_14k5
Definition: gsm_04_08.h:769
@ BSS_MAP_MSG_BSS_INVOKE_TRACE
Definition: gsm_08_08.h:130
uint8_t gsm0808_enc_channel_type(struct msgb *msg, const struct gsm0808_channel_type *ct)
Encode TS 08.08 Channel Type IE.
Definition: gsm0808_utils.c:491
@ GSM411_CP_CAUSE_NET_FAIL
Definition: gsm_04_11.h:40
struct osmo_cbsp_reset_failure reset_fail
Definition: cbsp.h:293
static int cbsp_enc_keep_alive_compl(struct msgb *msg, const struct osmo_cbsp_keep_alive_complete *in)
Definition: cbsp.c:361
@ GSM_LCHAN_TCH_H
Definition: gsm_utils.h:239
@ GSM0808_CAUSE_CLASS_INVAL
Definition: gsm_08_08.h:439
struct msgb * osmo_cbsp_encode(void *ctx, const struct osmo_cbsp_decoded *in)
Encode a CBSP message from the decoded/parsed structure representation to binary PDU.
Definition: cbsp.c:402
@ OSMO_GSUP_SMS_SM_RP_ODA_NONE
Definition: gsup_sms.h:17
Definition: gsm_44_060.h:172
@ GSM48_CC_CAUSE_INCOMPAT_DEST
Definition: gsm_04_08.h:1994
#define NM_IPAC_F_RTP_FEAT_IR_64k
Definition: gsm_12_21.h:853
@ NM_ATT_INTERF_BOUND
Definition: gsm_12_21.h:341
@ NM_ATT_ADM_STATE
Definition: gsm_12_21.h:320
#define GSM48_IE_REV_C_SETUP
Definition: gsm_04_08.h:1807
int gsm0808_dec_speech_codec_list(struct gsm0808_speech_codec_list *scl, const uint8_t *elem, uint8_t len)
Decode TS 08.08 Speech Codec list IE.
Definition: gsm0808_utils.c:455
@ NM_ATT_CHAN_COMB
Definition: gsm_12_21.h:329
@ GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT
Definition: gsm_04_08.h:1949
#define GSM48_PDISC_MASK
Definition: gsm_04_08.h:1449
@ GSM48_CMSERV_LOC_SERV
Definition: gsm_04_08.h:1740
@ SGSAP_MSGT_LOC_UPD_REJ
Definition: gsm_29_118.h:16
@ NM_ATT_LDAVG_SLOTS
Definition: gsm_12_21.h:359
union osmo_iuup_rnl_prim::@14 u
lcs_cause
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former.
Definition: gsm_49_031.h:36
@ BSSMAP_LE_IEI_IMEI
Definition: gsm_49_031.h:123
#define NM_IPAC_F_FREQ_BAND_PGSM
ip.access support flags for NM_IPAC_EIE_FREQ_BANDS
Definition: gsm_12_21.h:779
int osmo_gad_dec(struct osmo_gad *gad, struct osmo_gad_err **err, void *err_ctx, const union gad_raw *gad_raw)
Decode GAD raw PDU to values with consistent units.
Definition: gad.c:394
@ GSM_PCHAN_TCH_F
Definition: gsm_utils.h:220
#define A5_R2_MASK
Definition: a5.c:107
struct gsm48_classmark3::@44 single_band_supp
uint8_t rac
Definition: gsm48_rest_octets.h:42
@ CBSP_MSGT_KILL_FAIL
Definition: gsm_48_049.h:56
@ GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE
Definition: gsm_08_08.h:392
static const uint8_t tch_afs_10_2_term_state[]
Definition: gsm0503_conv.c:422
#define GSM48_IE_SIGNAL
Definition: gsm_04_08.h:1791
struct osmo_location_area_id lai
Definition: gsm23003.h:29
#define CELL_ID_LIST_LAC_MAXLEN
Definition: gsm_08_08.h:767
@ GSM0808_IE_SELECTED_OPERATOR
Definition: gsm_08_08.h:331
int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match)
Find an index in a Cell Identifier list that matches a given single Cell Identifer.
Definition: gsm0808_utils.c:1936
@ GSM411_RP_CAUSE_MO_INTERWORKING
Definition: gsm_04_11.h:82
struct llist_head list
Definition: cbsp.h:66
@ NM_MT_LOAD_END
Definition: gsm_12_21.h:90
#define GSM414_MT_RESET_MS_POS_STORED
Definition: gsm_04_14.h:94
int gsm_septet_pack(uint8_t *result, const uint8_t *rdata, size_t septet_len, uint8_t padding)
GSM Default Alphabet 7bit to octet packing.
Definition: gsm_utils.c:324
uint8_t rac
Definition: gsm23003.h:24
@ TLV_TYPE_T
tag-only
Definition: tlv.h:511
@ IPAC_MSGT_ID_ACK
Definition: ipaccess.h:50
int osmo_auth_gen_vec_auts2(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
Generate authentication vector and re-sync sequence.
Definition: auth_core.c:261
struct gsm48_classmark2 classmark2
Definition: gsm_04_08.h:234
@ GA_MT_RC_REGISTER_ACCEPT
Definition: gsm_44_318.h:24
#define GSM48_IE_REDIR_SUB
Definition: gsm_04_08.h:1799
uint8_t mode_version
Definition: iuup.c:125
@ OSMO_GSUP_SM_RP_CAUSE_IE
Definition: gsup.h:104
#define GSM48_MT_CC_RETR_ACK
Definition: gsm_04_08.h:1705
int tlv_parse2(struct tlv_parsed *dec, int dec_multiples, const struct tlv_definition *def, const uint8_t *buf, int buf_len, uint8_t lv_tag, uint8_t lv_tag2)
Like tlv_parse(), but capable of decoding multiple occurences of the same IE.
Definition: tlv_parser.c:369
@ GSM0808_AMR_MODE_5_90
Definition: gsm_08_08.h:707
#define GSM48_MT_RR_INIT_REQ
Definition: gsm_04_08.h:1550
@ GSM0808_IE_LCLS_CORR_NOT_NEEDED
Definition: gsm_08_08.h:319
#define GSM0480_OP_CODE_REGISTER_PASSWORD
Definition: gsm_04_80.h:76
static unsigned char * msgb_push_tl(struct msgb *msgb, uint8_t tag)
@ GSM0808_FE_IE_CELL_LOAD_INFORMATION_GROUP
Definition: gsm_08_08.h:353
@ GSM0808_IE_CELL_ID_LIST_SEG_NE_CELLS
Definition: gsm_08_08.h:296
uint16_t freq_ul_first
Definition: gsm_utils.c:785
@ OSMO_GSM44068_CSTATE_U2r
Definition: gsm_44_068.h:75
@ GSM0808_LCLS_CSC_RELEASE_LCLS
Definition: gsm_08_08.h:795
const struct osmo_conv_code gsm0503_tch_axs_sid_update
TCH/AFS and TCH/AHS SID UPDATE convolutional code: G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4 G2/...
Definition: gsm0503_conv.c:1297
struct osmo_auth_vector auth_vectors[OSMO_GSUP_MAX_NUM_AUTH_INFO]
Definition: gsup.h:309
@ CELL_IDENT_LAC_AND_CI
Definition: gsm_08_08.h:19
@ GSM0808_CAUSE_PROCESSOR_OVERLOAD
Definition: gsm_08_08.h:395
static int gsm411_mnsms_error_ind_rx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:353
@ GSM0808_IE_MOBILE_IDENTITY
Definition: gsm_08_08.h:234
@ NM_MT_SET_RADIO_ATTR
Definition: gsm_12_21.h:127
Definition: gsm0411_smc.c:422
@ OSMO_GSUP_AUTS_IE
Definition: gsup.h:87
@ NM_CHANC_IPAC_TCHFull_PDCH
Definition: gsm_12_21.h:563
#define INIT_LLIST_HEAD(ptr)
bool present
Definition: gsm48_rest_octets.h:41
@ BTS_FEAT_HOPPING
Definition: bts_features.h:16
@ GSM0808_FE_IE_CELL_LOAD_INFORMATION
Definition: gsm_08_08.h:354
bool pi
PCMoIP: PCM over A-Interface via RTP/UPD/IP.
Definition: gsm_08_08.h:596
@ NM_MT_CONN_TERR_SIGN_NACK
Definition: gsm_12_21.h:106
int osmo_rai_cmp(const struct osmo_routing_area_id *a, const struct osmo_routing_area_id *b)
Definition: gsm23003.c:613
void osmo_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh)
Definition: kdf.c:133
uint16_t * old_serial_nr
Definition: cbsp.h:109
@ BSSLAP_MSGT_UTDOA_REQ
Definition: gsm_48_071.h:37
void abis_nm_debugp_foh(int ss, struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:1057
@ NM_MT_SW_ACTIVATED_REP
Definition: gsm_12_21.h:99
@ GSM_LCHAN_CBCH
Definition: gsm_utils.h:243
#define GSM48_MT_RR_SYSINFO_5bis
Definition: gsm_04_08.h:1609
static struct fn_remap_table tch_h0_remap_table
Definition: gsm0502.c:111
@ SGSAP_IE_IMSI_DET_EPS_TYPE
Definition: gsm_29_118.h:58
size_t osmo_strlcpy(char *dst, const char *src, size_t siz)
@ SGSAP_MSGT_MM_INFO_REQ
Definition: gsm_29_118.h:31
static __attribute__((constructor))
Definition: auth_milenage.c:190
@ OSMO_CBSP_CAUSE_CELL_BROADCAST_NOT_SUPPORTED
Definition: cbsp.h:255
#define SI2Q_MAX_LEN
Definition: gsm48_rest_octets.h:11
@ OSMO_GSM44068_PRIO_LEVEL_2
Definition: gsm_44_068.h:58
void gsm48_generate_lai(struct gsm48_loc_area_id *lai48, uint16_t mcc, uint16_t mnc, uint16_t lac)
Encode TS 04.08 Location Area Identifier, legacy implementation.
Definition: gsm48.c:1139
@ OSMO_CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED
Definition: cbsp.h:248
const struct value_string abis_nm_ipacc_chanm_desc[]
Definition: abis_nm.c:750
@ SGSAP_UE_EMM_MODE_IDLE
Definition: gsm_29_118.h:149
@ GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP
Definition: gsm_08_08.h:418
@ GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS
Definition: gsm_08_08.h:415
@ BSSLAP_IEI_TBF_START_TIME
Definition: gsm_48_071.h:78
@ GSM0808_PERM_FR5
FR AMR-WB.
Definition: gsm_08_08.h:498
@ SGSAP_MSGT_PAGING_REJ
Definition: gsm_29_118.h:9
#define GSM48_MT_RR_CLSM_CHG
Definition: gsm_04_08.h:1626
#define NM_IPAC_F_CHANT_TCHF_PDCHF
Definition: gsm_12_21.h:809
void comp128v1(const uint8_t *ki, const uint8_t *srand, uint8_t *sres, uint8_t *kc)
Perform COMP128v1 algorithm.
Definition: comp128.c:192
#define GSM48_MT_RR_SYSINFO_17
Definition: gsm_04_08.h:1615
@ T200_FACCH_H
Definition: gsm_12_21.h:651
gsm411_rp_state
Definition: gsm_04_11.h:18
enum osmo_gsup_imei_result imei_result
Definition: gsup.h:357
uint8_t cs_ps_srvcc_geran_eutra
Definition: gsm_04_08.h:219
@ BSSMAP_LE_MSGT_PERFORM_LOC_ABORT
Definition: gsm_49_031.h:86
uint16_t supported_versions_mask
Definition: iuup.h:64
int ipa_send(int fd, const void *msg, size_t msglen)
Definition: ipa.c:442
static const uint8_t tch_afs_10_2_term_output[]
Definition: gsm0503_conv.c:427
@ BSS_MAP_MSG_CIPHER_MODE_COMPLETE
Definition: gsm_08_08.h:154
@ OSMO_CBSP_CAUSE_CELL_MEMORY_EXCEEDED
Definition: cbsp.h:253
@ OSMO_GSM44068_CAUSE_CALL_CANNOT_BE_IDENTIFIED
Definition: gsm_44_068.h:99
uint8_t pfc_supported
Definition: gsm_44_060.h:188
static void append_selection_params(struct bitvec *bv, const struct osmo_gsm48_si_selection_params *sp)
Definition: gsm48_rest_octets.c:609
const struct osmo_conv_code gsm0503_xcch
xCCH convolutional code: 228 bits blocks, rate 1/2, k = 5 G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4
Definition: gsm0503_conv.c:80
uint8_t msg_type
Definition: gsm_04_11.h:106
uint8_t sms[SMS_TO_VGCS_MAXLEN]
Definition: gsm0808_utils.h:190
struct gsm48_classmark3::@34 r_support
int gea3(uint8_t *out, uint16_t len, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction direct)
Performs the GEA3 algorithm as in 3GPP TS 55.216 V6.2.0.
Definition: gea.c:51
@ GSM48_REJECT_MSG_TYPE_NOT_COMPATIBLE
Definition: gsm_04_08.h:2032
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:475
#define GSM48_MT_GMM_RA_UPD_REQ
Definition: gsm_04_08_gprs.h:19
struct msgb * gsm0808_create_clear_complete(void)
Create BSSMAP Clear Complete message.
Definition: gsm0808.c:179
@ NM_MT_ACTIVATE_SW_ACK
Definition: gsm_12_21.h:97
int osmo_mnc_from_str(const char *mnc_str, uint16_t *mnc, bool *mnc_3_digits)
Definition: gsm23003.c:527
@ GSM48_RR_CAUSE_FREQ_NOT_IMPL
Definition: gsm_04_08.h:1942
static int iuup_get_payload_offset(const uint8_t *iuup_pdu)
Definition: iuup.c:53
@ OSMO_GSUP_MSGT_DELETE_DATA_RESULT
Definition: gsup.h:156
bool gsm48_hdr_gmm_cipherable(const struct gsm48_hdr *hdr)
Checks is particular message is cipherable in A/Gb mode according to 3GPP TS 24.008 § 4....
Definition: gsm48.c:1090
@ GAD_TYPE_ELL_POINT_ALT
Ellipsoid point with altitude.
Definition: gsm_23_032.h:41
LCLS-related parameters from 3GPP TS 48.008.
Definition: gsm0808_utils.h:226
@ NM_ATT_MEAS_RES
Definition: gsm_12_21.h:387
bool si2quater_indicator
Definition: gsm48_rest_octets.h:102
#define GSM48_MT_RR_SYSINFO_2quater
Definition: gsm_04_08.h:1608
@ GSM_BAND_480
Definition: gsm_utils.h:55
const char * osmo_gummei_name(const struct osmo_gummei *gummei)
Return string representation of GUMMEI in static output buffer.
Definition: gsm23003.c:443
static struct osmo_iuup_tnl_prim * itp_copy_c(void *ctx, const struct osmo_iuup_tnl_prim *src_itp)
Definition: iuup.c:507
@ NM_IPACC_TESTNO_FREQ_SYNC
Definition: gsm_12_21.h:720
uint8_t data[82]
Definition: cbsp.h:33
int gsm48_generate_mid_from_tmsi(uint8_t *buf, uint32_t tmsi)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:1242
bool early_cm_restrict_3g
Definition: gsm48_rest_octets.h:101
#define A52_R4_CLKBIT1
Definition: a5.c:272
const char * gsm0808_cause_class_name(enum gsm0808_cause_class class)
Return string name of BSSMAP Cause Class name.
Definition: gsm0808.c:2598
uint32_t unc
Uncertainty circle radius in millimeters (m * 1e3), 0 .
Definition: gad.h:48
uint8_t method
Definition: gsm_04_08.h:89
int type
Definition: gsm0411_smr.c:380
Definition: gsm_08_08.h:740
struct osmo_sub_auth_data::@111::@113 gsm
struct osmo_cbsp_msg_status_query msg_status_query
Definition: cbsp.h:285
@ OSMO_GSUP_SESSION_ID_IE
Definition: gsup.h:93
@ GSM48_CC_CAUSE_SEMANTIC_INCORR
Definition: gsm_04_08.h:1996
#define GSM48_MT_RR_FREQ_REDEF
Definition: gsm_04_08.h:1624
@ GSM_PCHAN_CCCH
Definition: gsm_utils.h:218
#define GSM48_MT_CC_CONNECT
Definition: gsm_04_08.h:1687
@ OSMO_GPRS_CS2
Definition: gsm_44_060.h:230
#define GSM48_MT_RR_CHAN_REL
Definition: gsm_04_08.h:1580
@ CBSP_MSGT_RESTART
Definition: gsm_48_049.h:69
int gsm48_encode_cccap(struct msgb *msg, const struct gsm_mncc_cccap *ccap)
Encodoe TS 04.08 Call Control Capabilities (10.5.4.5a)
Definition: gsm48_ie.c:393
@ CBSP_MSGT_RESET_FAIL
Definition: gsm_48_049.h:68
@ GSM48_CC_CAUSE_NO_ROUTE
Definition: gsm_04_08.h:1958
#define GSM48_MT_RR_HANDO_FAIL
Definition: gsm_04_08.h:1572
const uint8_t * qos_enc
QoS information, still in encoded form.
Definition: gsup.h:268
uint32_t start
Definition: ipaccess.h:11
int gsm0808_enc_speech_codec2(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Encode TS 08.08 Speech Codec IE.
Definition: gsm0808_utils.c:296
uint8_t IPTI
Definition: iuup.h:50
static int osmo_bssmap_le_dec_perform_loc_abort(struct lcs_cause_ie *params, enum bssmap_le_msgt msgt, struct osmo_bssmap_le_err **err, void *err_ctx, const struct tlv_parsed *tp)
Definition: bssmap_le.c:628
const struct value_string abis_nm_msg_disc_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:598
@ GSM340_TYPE_ALPHA_NUMERIC
Definition: gsm_03_40.h:20
@ NM_EVT_ENV_FAIL
Definition: gsm_12_21.h:577
@ OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST
Definition: gsup.h:174
@ GSM0808_PERM_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:497
static int cbsp_enc_msg_status_query_fail(struct msgb *msg, const struct osmo_cbsp_msg_status_query_failure *in)
Definition: cbsp.c:313
char number[33]
Definition: mncc.h:38
@ SGSAP_IE_IMSI
Definition: gsm_29_118.h:45
@ GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20
Definition: gsm_08_08.h:690
bsslap_msgt
Definition: gsm_48_071.h:28
@ GSM_CAUSE_MISSING_APN
Definition: gsm_04_08_gprs.h:261
@ BSSLAP_IEI_CHAN_MODE
Definition: gsm_48_071.h:72
const uint8_t * sm_rp_mr
SM-RP-MR (see 3GPP TS 29.002, 7.6.1.1), Message Reference.
Definition: gsup.h:336
int gsm48_generate_mid_from_imsi(uint8_t *buf, const char *imsi)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:1292
static enum abis_nm_chan_comb chcomb4pchan[]
Definition: abis_nm.c:694
uint8_t obj_class
Object Class (abis_nm_obj_class)
Definition: gsm_12_21.h:73
#define GSM48_MT_RR_SYSINFO_1
Definition: gsm_04_08.h:1598
struct msgb * gsm0808_create_ass_compl2(uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec *sc, const struct gsm0808_speech_codec_list *scl, enum gsm0808_lcls_status lcls_bss_status)
Create BSSMAP Assignment Completed message as per 3GPP TS 48.008 §3.2.1.2.
Definition: gsm0808.c:597
struct msgb * gsm0808_create_lcls_notification(enum gsm0808_lcls_status status, bool break_req)
Create BSSMAP LCLS NOTIFICATION message (TS 48.008 3.2.1.93).
Definition: gsm0808.c:411
const uint8_t * sm_rp_cause
SM-RP-Cause value (1 oct.) as per GSM TS 04.11, section 8.2.5.4.
Definition: gsup.h:349
@ NM_ATT_IPACC_GPRS_PAGING_CFG
Definition: gsm_12_21.h:438
@ SGSAP_SGS_CAUSE_MT_CSFB_REJ_USER
Definition: gsm_29_118.h:139
@ GSM411_CP_CAUSE_INV_MAND_INF
Definition: gsm_04_11.h:44
@ IPAC_IDTAG_EQUIPVERS
Definition: ipaccess.h:66
@ GMM_CAUSE_IMEI_NOT_ACCEPTED
Definition: gsm_04_08_gprs.h:223
@ GSM0808_IE_CIRCUIT_POOL
Definition: gsm_08_08.h:238
uint8_t kc128[16]
Definition: gsm0808.h:66
static int cbsp_enc_error_ind(struct msgb *msg, const struct osmo_cbsp_error_ind *in)
Definition: cbsp.c:384
@ GSM0808_SCT_CSD
CSData (see also TS 26.103)
Definition: gsm_08_08.h:557
struct osmo_cbsp_load_query load_query
Definition: cbsp.h:281
enum osmo_gsup_session_state session_state
Session state osmo_gsup_session_state.
Definition: gsup.h:324
@ OSMO_RAT_EUTRAN_SGS
Definition: gsm_utils.h:265
size_t pdp_charg_enc_len
length (in octets) of pdp_charg_enc
Definition: gsup.h:275
int gsm0808_dec_talker_identity(struct gsm0808_talker_identity *ti, const uint8_t *elem, uint8_t len)
Decode Talker Identity IE (3GPP TS 48.008 3.2.2.91).
Definition: gsm0808_utils.c:2449
static uint32_t kasumi_FO(uint32_t I, const uint16_t *KOi1, const uint16_t *KOi2, const uint16_t *KOi3, const uint16_t *KIi1, const uint16_t *KIi2, const uint16_t *KIi3, unsigned i)
Definition: kasumi.c:90
uint8_t transaction_id
GSM TS 04.80, section 3.3 "Transaction identifier" See GSM TS 04.07, section 11.2....
Definition: gsm0480.h:95
char * osmo_rai_name2_buf(char *buf, size_t buf_len, const struct osmo_routing_area_id *rai)
Return MCC-MNC-LAC-RAC as string, in caller-provided output buffer.
Definition: gsm23003.c:252
@ NM_MT_CONN_TERR_TRAF_ACK
Definition: gsm_12_21.h:111
@ NM_ATT_PROB_CAUSE
Definition: gsm_12_21.h:357
bool present
Definition: gsm48_rest_octets.h:26
uint16_t cell_identity
Definition: gsm23003.h:38
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RQST
Definition: gsm_08_08.h:165
@ NM_ATT_WINDOW_SIZE
Definition: gsm_12_21.h:373
Definition: gsm_04_11.h:104
@ GPRS_SERVICE_T_PAGING_RESP
Definition: gsm_04_08_gprs.h:429
static const uint8_t tch_ahs_7_95_output[][2]
Definition: gsm0503_conv.c:961
@ SGSAP_IE_LCS_INDICATOR
Definition: gsm_29_118.h:66
static int f0_helper(int *sc, size_t length, uint8_t *chan_list)
Definition: gsm48_rest_octets.c:379
static __attribute__((assume_aligned(PTR_ALIGNMENT_BYTES)))
Definition: iuup.c:199
const uint8_t * l3_info
Definition: gsm0808.h:231
static void write_all_wn(uint8_t *chan_list, int bit_offs, int *w, int w_size, int w1_len)
Definition: gsm48_arfcn_range_encode.c:200
struct msgb * gsm0480_create_ussd_notify(int level, const char *text)
Definition: gsm0480.c:900
#define NM_IPAC_F_FREQ_BAND_PCS
Definition: gsm_12_21.h:783
#define NM_IPAC_F_RTP_FEAT_MULTIPLEX_SRTP
Definition: gsm_12_21.h:855
uint8_t used
Definition: iuup.h:46
@ GA_MT_CSR_CHAN_MODE_MOD
Definition: gsm_44_318.h:39
#define GSM48_MT_RR_VGCS_UPL_GRANT
Definition: gsm_04_08.h:1633
int osmo_gsup_encode(struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
Encode a GSUP message.
Definition: gsup.c:698
bool cause_bssap_set
whether cause_bssap is set
Definition: gsup.h:381
@ OSMO_GSM44068_CSTATE_U2ws
Definition: gsm_44_068.h:76
#define GSM411_ALLOC_SIZE
Definition: gsm0411_utils.c:47
@ NM_ATT_NACK_CAUSES
Definition: gsm_12_21.h:350
@ NM_NACK_PARAM_RANGE
Definition: gsm_12_21.h:613
@ IUUP_ERR_DIST_SECOND_FWD
Definition: gsm_25_415.h:193
@ BSSLAP_IEI_MR_CONFIG
Definition: gsm_48_071.h:73
uint8_t id
Definition: iuup.h:48
static const uint8_t tch_h24_output[][2]
Definition: gsm0503_conv.c:127
struct msgb * gsm29118_create_status(const char *imsi, enum sgsap_sgs_cause cause, const struct msgb *err_msg)
Definition: gsm29118.c:398
@ NM_MT_SET_ALARM_THRES
Definition: gsm_12_21.h:187
size_t hlr_enc_len
Definition: gsup.h:316
@ GSM48_CC_CAUSE_USER_BUSY
Definition: gsm_04_08.h:1962
uint8_t rr_cause
Definition: gsm_04_08.h:806
#define OSMO_NAME_C_IMPL(CTX, INITIAL_BUFSIZE, ON_ERROR, FUNC_BUF, FUNC_BUF_ARGS...)
@ NM_MT_SW_ACT_REQ_NACK
Definition: gsm_12_21.h:95
osmo_gprs_cs
Definition: gsm_44_060.h:227
int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id)
Definition: gsm0480.c:74
@ BSSMAP_LE_APDU_PROT_SMLCPP
Definition: gsm_49_031.h:143
static uint8_t osmo_bssmap_le_ie_enc_lcs_qos(struct msgb *msg, const struct osmo_bssmap_le_lcs_qos *qos)
Encode full BSSMAP-LE LCS QoS IE, including IEI tag and length.
Definition: bssmap_le.c:296
int32_t lon
Longitude in micro degrees (degrees * 1e6), -180'000'000 (W) .
Definition: gad.h:46
@ OSMO_GSUP_MSGT_CHECK_IMEI_RESULT
Definition: gsup.h:180
Definition: gsm0808_utils.h:174
static int cbsp_dec_write_repl_compl(struct osmo_cbsp_write_replace_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:721
const char * osmo_lai_name(const struct osmo_location_area_id *lai)
Return MCC-MNC-LAC as string, in a static buffer.
Definition: gsm23003.c:227
int16_t last
Last value of the NRI range, i.e.
Definition: gsm23236.h:25
@ GSM48_RR_CAUSE_MSG_TYPE_N
Definition: gsm_04_08.h:1948
int osmo_nri_v_validate(int16_t nri_v, uint8_t nri_bitlen)
Validate that the given NRI is valid for a given nri_bitlen range.
Definition: gsm23236.c:34
@ BSS_MAP_MSG_CHAN_MOD_RQST
Definition: gsm_08_08.h:81
uint8_t type
Definition: gsm_08_08.h:2
uint8_t mac_addr[6]
Definition: ipa.h:20
static int osmo_nri_parse(int16_t *dst, const char *str)
Parse a string to an NRI value, allowing both decimal and hexadecimal formats; useful for VTY config ...
Definition: gsm23236.c:433
int gsm48_decode_freq_list(struct gsm_sysinfo_freq *f, const uint8_t *cd, uint8_t len, uint8_t mask, uint8_t frqt)
Decode TS 04.08 Cell Channel Description IE (10.5.2.1b) and other frequency lists.
Definition: gsm48_ie.c:885
const struct value_string sgsap_ue_emm_mode_names[]
Definition: gsm29118.c:140
static int cbsp_dec_load_query_fail(struct osmo_cbsp_load_query_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:972
static const uint8_t tch_afs_5_15_term_output[]
Definition: gsm0503_conv.c:758
struct osmo_gsm48_si_ro_info::@8 scheduling
int16_t first
First value of the NRI range, i.e.
Definition: gsm23236.h:23
@ BSS_MAP_MSG_PERFORM_LOCATION_ABORT
Definition: gsm_08_08.h:117
@ NM_MT_LOAD_INIT_NACK
Definition: gsm_12_21.h:86
static uint8_t tlvp_val8(const struct tlv_parsed *tp, uint8_t tag, uint8_t default_val)
Obtain 1-byte TLV element.
Definition: tlv.h:600
@ NM_STATE_LOCKED
Definition: gsm_12_21.h:518
void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id)
Prepend a DTAP header to given Message Buffer.
Definition: gsm0808.c:1384
Definition: gsm_04_08.h:17
@ _NUM_OSMO_GPRS_CS
Definition: gsm_44_060.h:242
struct osmo_timer_list timer
Definition: iuup.c:118
@ NM_OC_BS11
Definition: gsm_12_21.h:303
@ GSM0808_IE_VGCS_FEATURE_FLAGS
Definition: gsm_08_08.h:285
@ NM_IPACC_TESTNO_BCCH_CHAN_USAGE
Definition: gsm_12_21.h:719
@ FN_REMAP_MAX
Definition: gsm0502.h:103
uint8_t length
Definition: gsm_08_08.h:3
@ GSM0808_IE_CELL_IDENTIFIER
Definition: gsm_08_08.h:198
Definition: gsm_49_031.h:159
const struct value_string gsm0808_lcls_control_names[]
Definition: gsm0808.c:2674
write Write running configuration to network
@ SGSAP_SERV_IND_SMS
Definition: gsm_29_118.h:118
@ GSM0808_CAUSE_REQUESTED_OPT_NOT_AUTHORISED
Definition: gsm_08_08.h:386
@ NM_ATT_OSMO_REDUCEPOWER
Definition: gsm_12_21.h:512
#define IPA_ALLOC_SIZE
Definition: ipa.c:52
#define GSM48_MT_CC_NOTIFY
Definition: gsm_04_08.h:1713
void gsm340_gen_scts(uint8_t *scts, time_t time)
Generate 03.40 TP-SCTS.
Definition: gsm0411_utils.c:91
const struct value_string abis_nm_ipacc_freq_band_desc[]
Definition: abis_nm.c:710
static const uint8_t tch_afs_7_95_state[][2]
Definition: gsm0503_conv.c:469
@ NM_ATT_IPACC_BSSGP_CFG
Definition: gsm_12_21.h:443
uint8_t num_rfci
Definition: iuup.h:65
void _a5_1(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Generate a GSM A5/1 cipher stream.
Definition: a5.c:209
@ GSM0808_IE_QUEUEING_INDICATOR
Definition: gsm_08_08.h:243
struct @30 dcs
Definition: gsm_23_041.h:5
static const struct value_string severity_names[]
Definition: abis_nm.c:239
@ BSSMAP_LE_IEI_REQ_GANSS_ASS_D
Definition: gsm_49_031.h:110
bool call_priority_present
Definition: gsm48_rest_octets.h:29
#define GSM48_MT_RR_CIPH_M_CMD
Definition: gsm_04_08.h:1560
@ GSM_LCHAN_PDTCH
Definition: gsm_utils.h:242
#define GSM0480_CTYPE_RETURN_ERROR
Definition: gsm_04_80.h:18
@ NM_MT_TEST_REP
Definition: gsm_12_21.h:137
char * osmo_lcls_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls)
Dump LCLS parameters (GCR excluded) into string for printing.
Definition: gsm0808_utils.c:724
@ OSMO_GSM44068_CAUSE_SEMANTICALLY_INCORRECT_MSG
Definition: gsm_44_068.h:102
#define GSM48_MT_CC_SETUP
Definition: gsm_04_08.h:1695
static int osmo_bsslap_ie_dec_chan_desc(struct gsm48_chan_desc *chan_desc, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
Definition: bsslap.c:146
const struct osmo_conv_code gsm0503_mcs7_ul_hdr
EDGE MCS-7 UL header convolutional code: 60 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1484
@ OSMO_AUTH_TYPE_GSM
Definition: auth.h:18
static uint8_t * msgb_lv_put(struct msgb *msg, uint8_t len, const uint8_t *val)
put (append) a LV field to a Message buffers
Definition: tlv.h:358
@ IUUP_FSM_EVT_IUUP_STATUS_IND
Definition: iuup.c:152
@ SGSAP_SGS_CAUSE_IMSI_IMPL_DET_NON_EPS
Definition: gsm_29_118.h:131
@ GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE
Definition: gsm_08_08.h:367
@ CBSP_IEI_NUM_BCAST_COMPL_LIST
Definition: gsm_48_049.h:30
@ GSM48_CMODE_DATA_6k0
CSD: 6.0 kbit/s radio interface rate, 4.8 kbit/s services (TCH/{F,H}4.8)
Definition: gsm_04_08.h:790
enum gprs_ciph_algo algo
Definition: gprs_cipher.h:33
@ BTS_FEAT_CCN
Definition: bts_features.h:30
static int cbsp_dec_keep_alive(struct osmo_cbsp_keep_alive *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1161
uint64_t _kasumi(uint64_t P, const uint16_t *KLi1, const uint16_t *KLi2, const uint16_t *KOi1, const uint16_t *KOi2, const uint16_t *KOi3, const uint16_t *KIi1, const uint16_t *KIi2, const uint16_t *KIi3)
Single iteration of KASUMI cipher.
Definition: kasumi.c:122
Entry in a TLV parser array.
Definition: tlv.h:502
int rc
Definition: bsslap.h:33
@ GMM_CAUSE_COND_IE_ERR
Definition: gsm_04_08_gprs.h:248
bool osmo_msisdn_str_valid(const char *msisdn)
Determine whether the given MSISDN is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:66
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:139
const struct value_string gsm48_cc_msgtype_names[]
TS 04.08 CC Message Type names.
Definition: gsm48.c:1643
iuup_error_distance
Definition: gsm_25_415.h:190
@ GA_MT_CSR_UL_QUAL_IND
Definition: gsm_44_318.h:48
struct osmo_iuup_rnl_data data
Definition: iuup.h:109
#define GSM48_IE_PROGR_IND
Definition: gsm_04_08.h:1787
#define GSM0480_OP_CODE_FORWARD_CHARGE_ADVICE
Definition: gsm_04_80.h:88
abis_nm_attr
OML Attributes / IEs (Section 9.4)
Definition: gsm_12_21.h:316
@ GSM0808_CAUSE_VGCS_VBS_CALL_NON_EXISTENT
Definition: gsm_08_08.h:428
uint16_t msg_id
Definition: cbsp.h:182
struct tlv_p_entry lv[256]
Definition: tlv.h:533
@ NM_MT_CONN_TERR_TRAF_NACK
Definition: gsm_12_21.h:112
int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset)
Parse the payload part of an IPA CCM ID GET, return tlv_parsed format.
Definition: ipa.c:116
#define GSM48_IE_GPRS_RESUMPT_HO
Definition: gsm_04_08.h:1823
Definition: gsm23003.h:101
@ GSM0808_IE_IMEI
Definition: gsm_08_08.h:283
This structure represents some meaningful parts of a decoded and/or to be encoded GSM 04....
Definition: gsm0480.h:57
@ GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1
Definition: gsm_08_08.h:222
char * osmo_gcr_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls)
Dump GCR struct into string for printing.
Definition: gsm0808_utils.c:760
@ NM_ATT_IPACC_OBJ_VERSION
Definition: gsm_12_21.h:437
const uint8_t * pdp_charg_enc
Definition: gsup.h:320
static void _a5_1_clock(uint32_t r[], int force)
GSM A5/1 Clocking function.
Definition: a5.c:168
#define GSM48_IE_FREQ_L_BEFORE
Definition: gsm_04_08.h:1838
@ GSM0808_IE_CAUSE
Definition: gsm_08_08.h:197
@ GSM48_BCAP_RRQ_FR_ONLY
Definition: gsm_04_08.h:2143
struct gsm48_classmark3::@42 gsm_1900_assoc_radio_cap
enum gsm411_cp_state cp_state
Definition: gsm0411_smc.h:37
@ GSM0808_FE_IE_EXTRA_INFORMATION
Definition: gsm_08_08.h:343
int32_t lat
Latitude in micro degrees (degrees * 1e6), -90'000'000 (S) .
Definition: gad.h:37
uint16_t msgb_length(const struct msgb *msg)
static int osmo_bssmap_le_enc_reset(struct msgb *msg, enum gsm0808_cause cause)
Definition: bssmap_le.c:493
@ GAD_TYPE_ELL_POINT_UNC_CIRCLE
Ellipsoid point with uncertainty circle.
Definition: gsm_23_032.h:36
struct osmo_sub_auth_data::@111::@112 umts
@ GSM0808_IE_REDIR_ATTEMPT_FLAG
Definition: gsm_08_08.h:312
@ IUUP_FSM_EVT_INIT_NACK
Definition: iuup.c:159
@ GSM48_REJECT_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:2025
static void llist_del(struct llist_head *entry)
Definition: gsm_04_08.h:62
@ SGSAP_SGS_CAUSE_IMSI_DET_NON_EPS
Definition: gsm_29_118.h:130
@ GMM_CAUSE_SMS_VIA_GPRS_IN_RA
Definition: gsm_04_08_gprs.h:241
struct gprs_cs_desc::@114 uplink
int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref)
Prefix Message buffers with a RP header.
Definition: gsm0411_utils.c:331
@ SGSAP_IE_TMSI_STATUS
Definition: gsm_29_118.h:51
@ CBSP_IEI_FAILURE_LIST
Definition: gsm_48_049.h:31
static struct fn_remap_table tch_h1_remap_table
Definition: gsm0502.c:112
@ GSM_BAND_450
Definition: gsm_utils.h:54
char * osmo_plmn_name_c(const void *ctx, const struct osmo_plmn_id *plmn)
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros, into a dynamically-a...
Definition: gsm23003.c:202
@ BSSAP_MSG_DTAP
Definition: gsm_08_08.h:39
@ BSS_MAP_MSG_HANDOVER_SUCCEEDED
Definition: gsm_08_08.h:89
struct msgb * gsm29118_create_release_req(const char *imsi, const uint8_t sgs_cause)
Definition: gsm29118.c:420
static struct osmo_fsm iuup_fsm
Definition: iuup.c:845
#define DEC_IE_MANDATORY(IEI, DEC_FUN, DEC_FUN_ARG)
@ OSMO_GSM44068_CSTATE_U1
Definition: gsm_44_068.h:68
int osmo_gsup_decode_an_apdu(struct osmo_gsup_message *gsup_msg, const uint8_t *data, size_t data_len)
Decode AN-apdu (see 3GPP TS 29.002 7.6.9.1).
Definition: gsup.c:276
Definition: gsm23003.h:59
#define SMC_LOG_STR
Definition: gsm0411_smc.c:76
#define MSISDN_MAXLEN
Parsed representation of a MSISDN IE (3GPP TS 48.008 3.2.2.101)
Definition: gsm0808_utils.h:223
uint8_t proto
Definition: ipaccess.h:3
#define GSM411_MNSMS_DATA_REQ
Definition: gsm0411_smc.h:22
static const uint8_t tch_ahs_6_7_term_output[]
Definition: gsm0503_conv.c:1068
static int parse_cell_id_sai_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1274
static int cbsp_decode_loading_list(struct osmo_cbsp_loading_list *ll, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:554
@ BSSLAP_IEI_RRLP_FLAG
Definition: gsm_48_071.h:61
@ GSM0808_SC_CFG_DEFAULT_AMR_4_75
Definition: gsm_08_08.h:672
const struct value_string * gsm48_gsm_cause_names
Definition: gsm_04_08_gprs.c:120
uint8_t data_pdu_type
Definition: iuup.h:61
#define GSM48_IE_MODE_SEC_CH
Definition: gsm_04_08.h:1853
static void c5_function(uint8_t *ik, const uint8_t *kc)
Definition: auth_core.c:127
#define GSM48_IE_FOLLOW_ON_PROC
Definition: gsm_04_08.h:1881
uint16_t trx_id
Definition: ipa.h:16
static int gsm411_mnsms_error_ind_tx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:342
@ OSMO_RAT_UNKNOWN
Definition: gsm_utils.h:262
int descr
Definition: mncc.h:59
#define EGPRS_CPS_TYPE1_TBL_SZ
Definition: gprs_rlc.c:19
const struct value_string osmo_lu_type_names[]
Definition: gsm48.c:1871
uint8_t thresh_lo
Definition: sysinfo.h:59
@ GSM0808_IE_SMS_TO_VGCS
Definition: gsm_08_08.h:290
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE
Definition: gsm_08_08.h:368
#define GSM23003_MSISDN_MAX_DIGITS
Definition: gsm_23_003.h:25
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL
Definition: gsm_08_08.h:783
uint8_t msg_ref
Definition: gsm_04_11.h:4
uint16_t osmo_crc16gen_compute_bits(const struct osmo_crc16gen_code *code, const ubit_t *in, int len)
char * osmo_mi_name_c(const void *ctx, const uint8_t *mi, uint8_t mi_len)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:606
#define GSM48_MT_GMM_AUTH_CIPH_REQ
Definition: gsm_04_08_gprs.h:26
int gsm0808_dec_speech_codec(struct gsm0808_speech_codec *sc, const uint8_t *elem, uint8_t len)
Decode TS 08.08 Speech Codec IE.
Definition: gsm0808_utils.c:332
@ BSS_MAP_MSG_VGCS_ADDL_INFO
Definition: gsm_08_08.h:178
static int encode_drx_timer(unsigned int drx)
Definition: gsm48_rest_octets.c:1010
int type
Definition: gsm0411_smc.c:424
char * osmo_cgi_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi)
Return MCC-MNC-LAC-CI as string, in caller-provided output buffer.
Definition: gsm23003.c:289
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:513
const char * gsm0808_cause_name(enum gsm0808_cause cause)
Return string name of BSSMAP Cause name.
Definition: gsm0808.c:2604
@ GAD_TYPE_ELL_POINT
Ellipsoid point.
Definition: gsm_23_032.h:34
void * transport_prim_priv
Definition: iuup.c:136
int proto
Definition: mncc.h:52
#define GSM0480_OP_CODE_SPLIT_MPTY
Definition: gsm_04_80.h:84
int32_t osmo_gad_dec_lon(uint32_t lon)
Decode a longitude value according to 3GPP TS 23.032.
Definition: gad.c:128
#define GSM411_TMR_TR1M
Definition: gsm_04_11.h:96
char * osmo_mnc_name_buf(char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits)
Return MNC string as standardized 2- or 3-digit with leading zeros.
Definition: gsm23003.c:130
@ GSM0808_CAUSE_INVALID_CSG_CELL
Definition: gsm_08_08.h:410
enum CELL_IDENT id_discr
Definition: cbsp.h:54
enum gsm0808_channel_type_asym_pref data_asym_pref
Definition: gsm_08_08.h:754
const struct tlv_definition gsm48_mm_att_tlvdef
TLV parser definitions for TS 04.08 MM.
Definition: gsm48.c:141
#define GSM48_IE_CHANMODE_4
Definition: gsm_04_08.h:1830
@ NM_NACK_REQ_NOT_GRANT
Definition: gsm_12_21.h:632
int ipa_ccm_send_id_ack(int fd)
Definition: ipa.c:461
uint8_t si13_position
Definition: gsm48_rest_octets.h:77
int gsm0808_dec_osmux_cid(uint8_t *cid, const uint8_t *elem, uint8_t len)
static int milenage_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
Definition: auth_milenage.c:151
@ NM_STATE_SHUTDOWN
Definition: gsm_12_21.h:520
#define GSM414_MT_OPEN_MSLOT_LOOP_ACK
Definition: gsm_04_14.h:52
struct osmo_cbsp_load_query_failure load_query_fail
Definition: cbsp.h:283
@ EGPRS_CPS_NONE
Definition: gsm_44_060.h:217
struct osmo_cell_global_id_ps global_ps
Definition: gsm0808_utils.h:51
uint8_t lon[3]
Definition: gsm_23_032.h:4
static int cbsp_dec_restart(struct osmo_cbsp_restart *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1183
@ CBSP_CATEG_NORMAL
Definition: gsm_48_049.h:80
@ NM_MT_CHANGEOVER_NACK
Definition: gsm_12_21.h:165
#define ARFCN_FLAG_MASK
Definition: gsm_utils.h:166
@ BTS_FEAT_CBCH
Definition: bts_features.h:20
bool add_pos_cap
Definition: gsm_04_08.h:206
uint16_t ci
Definition: gsm0808_utils.h:46
#define GSM48_IE_USER_USER
Definition: gsm_04_08.h:1802
#define GSM0480_OP_CODE_USS_REQUEST
Definition: gsm_04_80.h:81
int ipa_msg_recv(int fd, struct msgb **rmsg)
#define GSM23003_MSISDN_MIN_DIGITS
Definition: gsm_23_003.h:26
unsigned gprs_cipher_key_length(enum gprs_ciph_algo algo)
Obtain key lenght for given GPRS cipher.
Definition: gprs_cipher_core.c:99
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:149
#define GSM_MAX_USERUSER
Definition: mncc.h:9
@ NM_ATT_DEST
Definition: gsm_12_21.h:331
const struct osmo_conv_code gsm0503_mcs1_dl_hdr
EDGE MCS-1 DL header convolutional code: 42 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1314
struct gsm48_classmark3::@49 dtm_gprs_high_multislot_cap
@ BSS_MAP_MSG_RESUME
Definition: gsm_08_08.h:112
bool ue_prob
Definition: gsm0808.h:136
Definition: gsm_04_08.h:359
const struct value_string gsm411_rp_cause_strs[]
Definition: gsm0411_smr.c:112
char * equipvers
Definition: ipa.h:18
@ GSM48_BCAP_ITCAP_FAX_G3
Definition: gsm_04_08.h:2125
static struct fn_remap_table facch_h1_remap_table
Definition: gsm0502.c:115
static int gsm411_send_rp_error(struct gsm411_smr_inst *inst, uint8_t msg_ref, uint8_t cause)
Definition: gsm0411_smr.c:171
@ GSM0808_IE_GERAN_BSC_CONTAINER
Definition: gsm_08_08.h:276
@ OSMO_GSM44068_IEI_STATE_ATTRIBUTES
Definition: gsm_44_068.h:35
@ GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE
Definition: gsm_04_08.h:2041
uint8_t autn[16]
authentication nonce
Definition: auth.h:91
@ GSM0808_IE_DIAGNOSTIC
Definition: gsm_08_08.h:224
static const struct value_string nack_cause_names[]
Definition: abis_nm.c:178
@ GSM0808_AMR_MODE_4_75
Definition: gsm_08_08.h:705
#define GSM48_MT_RR_SH_MEAS_INFO
Definition: gsm_04_08.h:1646
const struct value_string gprs_service_t_strs_[]
String names of GMM Service Types.
Definition: gsm_04_08_gprs.c:216
static const int tch_afs_12_2_puncture[]
Definition: gsm0503_conv.c:382
@ BSSMAP_LE_POS_METHOD_MOBILE_ASSISTED_E_OTD
Definition: gsm_49_031.h:154
struct msgb * gsm0808_create_handover_performed(const struct gsm0808_handover_performed *params)
Create BSSMAP HANDOVER PERFORMED message, 3GPP TS 48.008 3.2.1.25.
Definition: gsm0808.c:1277
@ GSM0808_IE_LCLS_BSS_STATUS
Definition: gsm_08_08.h:320
#define GSM_MI_TYPE_IMEISV
Definition: gsm_04_08.h:1770
static int parse_cell_id_lac_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1257
@ GSM0808_IE_GPS_ASSISTANCE_DATA
Definition: gsm_08_08.h:265
int osmo_iuup_compute_header_crc(const uint8_t *iuup_pdu, unsigned int pdu_len)
Definition: iuup.c:94
uint8_t ch_rate_type
Definition: gsm_08_08.h:742
@ OSMO_GSUP_MSGT_E_CLOSE
Definition: gsup.h:197
#define GSM0480_OP_CODE_BUILD_MPTY
Definition: gsm_04_80.h:87
size_t sm_rp_da_len
Definition: gsup.h:339
const struct value_string abis_nm_msgtype_names[]
3GPP TS 52.021 §9.1 Message Types
Definition: abis_nm.c:267
@ GSM48_CC_CAUSE_RESOURCE_UNAVAIL
Definition: gsm_04_08.h:1980
#define GSM414_MT_GPRS_TEST_MODE_CMD
Definition: gsm_04_14.h:63
@ GSM_PCHAN_PDCH
Definition: gsm_utils.h:223
@ OSMO_GSUP_PDP_TYPE_IE
Definition: gsup.h:76
uint8_t opcode
GSM TS 04.80, section 3.6.4 "Operation code" See GSM0480_OP_CODE_* for possible values.
Definition: gsm0480.h:62
#define NM_IPAC_F_CHANT_SDCCH8
Definition: gsm_12_21.h:801
struct msgb * gsm0808_create_vgcs_vbs_assign_fail(const struct gsm0808_vgcs_vbs_assign_fail *params)
Create BSSMAP VGCS/VBS ASSIGNMENT FAILURE message, 3GPP TS 48.008 3.2.1.55.
Definition: gsm0808.c:1736
#define GSM_MI_TYPE_NONE
Definition: gsm_04_08.h:1767
@ OSMO_GSUP_MSGT_CHECK_IMEI_ERROR
Definition: gsup.h:179
@ GSM48_RR_CAUSE_SEMANT_INCORR
Definition: gsm_04_08.h:1946
static const uint8_t tch_afs_5_9_term_state[]
Definition: gsm0503_conv.c:692
void gsm48_encode_ra(struct gsm48_ra_id *out, const struct gprs_ra_id *raid)
Encode a 3GPP TS 24.008 § 10.5.5.15 Routing area identification.
Definition: gsm48.c:1436
uint16_t msg_id
Definition: cbsp.h:190
struct msgb * ipa_ccm_make_id_resp(const struct ipaccess_unit *dev, const uint8_t *ies_req, unsigned int num_ies_req)
Generate IPA CCM ID RESP based on list of IEs.
Definition: ipa.c:321
#define FACCH_H_REPEAT_LENGTH
Definition: gsm0502.c:56
uint16_t abis_nm_sw_desc_len(const struct abis_nm_sw_desc *sw, bool put_sw_descr)
Compute length of given 3GPP TS 52.021 §9.4.62 SW Description.
Definition: abis_nm.c:860
unsigned int perm_algo_len
Definition: gsm_08_08.h:762
static const struct value_string test_names[]
Definition: abis_nm.c:667
@ GSM411_RP_CAUSE_MO_FACILITY_REJ
Definition: gsm_04_11.h:74
#define GSM48_IE_BA_RANGE
Definition: gsm_04_08.h:1857
@ OSMO_GSUP_MESSAGE_CLASS_UNSET
Definition: gsup.h:279
@ GA_MT_CSR_REQUEST_ACCEPT
Definition: gsm_44_318.h:67
static int osmo_bssmap_le_dec_perform_loc_req(struct bssmap_le_perform_loc_req *params, enum bssmap_le_msgt msgt, struct osmo_bssmap_le_err **err, void *err_ctx, const struct tlv_parsed *tp)
Definition: bssmap_le.c:556
@ NM_MT_CHG_ADM_STATE_REQ
Definition: gsm_12_21.h:156
#define GSM23003_IMSI_MAX_DIGITS
Definition: gsm_23_003.h:6
3GPP TS 48.008 §3.2.1.59a (VGCS) UPLINK APPLICATION DATA
Definition: gsm0808.h:477
static unsigned int decode_t3192(unsigned int t3192)
Definition: gsm48_rest_octets.c:829
int64_t s64
Definition: common.h:28
int gsm48_decode_bcd_number2(char *output, size_t output_len, const uint8_t *bcd_lv, size_t input_len, size_t h_len)
Decode a 'called/calling/connect party BCD number' as in 10.5.4.7.
Definition: gsm48_ie.c:76
@ CBSP_MSGT_LOAD_QUERY
Definition: gsm_48_049.h:57
void gsm48_set_dtx(struct gsm48_cell_options *op, enum gsm48_dtx_mode full, enum gsm48_dtx_mode half, bool is_bcch)
Set DTX mode in Cell Options IE (3GPP TS 44.018)
Definition: gsm48.c:1204
uint16_t arfcn_last
Definition: gsm_utils.c:784
int osmo_csd_3k6_encode_frame(ubit_t *ra_bits, size_t ra_bits_size, const struct osmo_v110_decoded_frame *fr)
Definition: gsm44021.c:210
int gsm48_construct_ra(uint8_t *buf, const struct gprs_ra_id *raid)
Encode a TS 04.08 Routing Area Identifier.
Definition: gsm48.c:1457
@ GSM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:279
Definition of All 256 IE / TLV.
Definition: tlv.h:527
char * osmo_gummei_name_buf(char *buf, size_t buf_len, const struct osmo_gummei *gummei)
Return string representation of GUMMEI in caller-provided output buffer.
Definition: gsm23003.c:431
@ BTS_FEAT_ECSD
Definition: bts_features.h:15
@ IUUP_PDU_T_DATA_NOCRC
Definition: gsm_25_415.h:162
@ BSS_MAP_MSG_OVERLOAD
Definition: gsm_08_08.h:125
#define BSS_MAP_MSG_ASSIGMENT_COMPLETE
Definition: gsm_08_08.h:190
@ OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_RESULT
Definition: gsup.h:192
static const uint8_t table_1[256]
Definition: comp128.c:104
void osmo_kdf_kc128(const uint8_t *ck, const uint8_t *ik, uint8_t *kc128)
Definition: kdf.c:82
int osmo_gsm48_range_enc_determine_range(const int *arfcns, const int size, int *f0)
This implements the range determination as described in GSM 04.08 J4.
Definition: gsm48_arfcn_range_encode.c:165
@ OSMO_CBSP_CAUSE_CELL_ID_NOT_VALID
Definition: cbsp.h:249
@ OSMO_CBSP_CAUSE_PARAM_VALUE_INVALID
Definition: cbsp.h:247
int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
Generate 3G CK + IK from 2G authentication vector.
Definition: auth_core.c:153
uint8_t t3
Definition: gsm_utils.h:45
@ GSM0808_IE_CONFIG_EVO_INDI
Definition: gsm_08_08.h:250
static const uint8_t tch_axs_sid_update_output[][2]
Definition: gsm0503_conv.c:1273
@ BSSLAP_IEI_PWRUP_START_TIME
Definition: gsm_48_071.h:79
@ GSM0808_CAUSE_TRAFFIC_LOAD
Definition: gsm_08_08.h:399
@ BSSLAP_IEI_TLLI
Definition: gsm_48_071.h:76
enum gsm_band gsm_arfcn2band(uint16_t arfcn)
Resolve GSM band from ARFCN, aborts process on invalid ARFCN.
Definition: gsm_utils.c:772
struct osmo_gad_ell_point ell_point
Definition: gad.h:153
static const uint8_t tch_afs_12_2_state[][2]
Definition: gsm0503_conv.c:358
osmo_prim_cb transport_prim_cb
Definition: iuup.c:135
@ OSMO_GPRS_CS1
Definition: gsm_44_060.h:229
@ GSM48_CMODE_DATA_29k0_43k5
Definition: gsm_04_08.h:777
static unsigned char * msgb_push(struct msgb *msgb, unsigned int len)
@ GSM411_RP_CAUSE_MO_RES_UNAVAIL
Definition: gsm_04_11.h:79
@ SGSAP_MSGT_SERVICE_REQ
Definition: gsm_29_118.h:11
uint8_t rac
Definition: gsm_04_08.h:2235
struct msgb * gsm0808_create_uplink_release_ind(const struct gsm0808_uplink_release_ind *params)
Create BSSMAP (VGCS) UPLINK RELEASE INDICATION message, 3GPP TS 48.008 3.2.1.60.
Definition: gsm0808.c:1924
@ OSMO_GSM44068_MSGT_TERMINATION_REJECT
Definition: gsm_44_068.h:47
@ BTS_FEAT_SPEECH_F_AMR
Definition: bts_features.h:24
struct msgb * gsm0808_create_perform_location_abort(const struct lcs_cause_ie *lcs_cause)
Definition: gsm0808.c:1500
@ OSMO_GSUP_SMS_SM_RP_ODA_NULL
Special value for noSM-RP-DA and noSM-RP-OA.
Definition: gsup_sms.h:22
@ GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:278
@ CBSP_MSGT_LOAD_QUERY_FAIL
Definition: gsm_48_049.h:59
sgsap_sgs_cause
Definition: gsm_29_118.h:126
Definition: gsm_04_08.h:249
static const uint8_t tch_ahs_4_75_term_state[]
Definition: gsm0503_conv.c:1224
#define GSM48_IE_CHANMODE_8
Definition: gsm_04_08.h:1834
@ NM_IPACC_TESTNO_SYSINFO_MONITOR
Definition: gsm_12_21.h:723
@ GA_MT_CSR_HO_CMD
Definition: gsm_44_318.h:50
enum osmo_gsup_access_network_protocol access_network_proto
Definition: gsup.h:296
#define GSM411_MMSMS_REL_IND
Definition: gsm0411_smc.h:14
const struct value_string * gsm48_gmm_cause_names
Definition: gsm_04_08_gprs.c:80
#define NM_IPAC_F_CHANM_CSD_T_1200_75
ip.access support flags for NM_IPAC_EIE_CHAN_MODES (CSD transparent)
Definition: gsm_12_21.h:824
@ GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB
Definition: gsm_08_08.h:661
@ GSM_CAUSE_ACT_REJ_UNSPEC
Definition: gsm_04_08_gprs.h:265
@ SGSAP_IE_SGS_CAUSE
Definition: gsm_29_118.h:52
struct osmo_timer_list cp_timer
Definition: gsm0411_smc.h:38
enum CELL_IDENT id_discr
Definition: cbsp.h:42
uint32_t gsm_rfn2fn(uint16_t rfn, uint32_t curr_fn)
Definition: gsm_utils.c:929
Definition: gsm_08_08.h:724
struct msgb * gsm0808_create_cipher2(const struct gsm0808_cipher_mode_command *cmc)
Create BSSMAP Cipher Mode Command message.
Definition: gsm0808.c:255
#define GSM411_TMR_TR2M
Definition: gsm_04_11.h:98
uint8_t field
Definition: gsm0808.h:142
int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts, u8 *sqn)
milenage_auts - Milenage AUTS validation @opc: OPc = 128-bit operator variant algorithm configuration...
Definition: milenage.c:217
@ GSM_LCHAN_TCH_F
Definition: gsm_utils.h:238
uint8_t mode
Definition: gsm_04_08.h:690
@ GSM48_CMODE_SPEECH_V5
Speech: FR AMR-WB (TCH/WFS)
Definition: gsm_04_08.h:762
char * osmo_apn_qualify_from_imsi_c(const void *ctx, const char *imsi, const char *ni, int have_3dig_mnc)
Definition: apn.c:81
#define GSM48_IE_F_CH_SEQ_BEFORE
Definition: gsm_04_08.h:1844
@ OSMO_GPRS_MCS5
Definition: gsm_44_060.h:237
#define GSM48_MT_MM_ID_RESP
Definition: gsm_04_08.h:1667
struct osmo_gsup_pdp_info pdp_infos[OSMO_GSUP_MAX_NUM_PDP_INFO]
Definition: gsup.h:311
int osmo_gsm48_classmark_supports_a5(const struct osmo_gsm48_classmark *cm, uint8_t a5)
Determine if the given Classmark (1/2/3) value permits a given A5/n cipher.
Definition: gsm48.c:2001
@ OSMO_GSM44068_CAUSE_RR_CONNECTION_ABORTED
Definition: gsm_44_068.h:88
#define GSM0480_OP_CODE_PROCESS_USS_DATA
Definition: gsm_04_80.h:78
bool umts_1_28_mcps_tdd_rat_cap
Definition: gsm_04_08.h:153
#define GSM0480_OP_CODE_RETRIEVE_MPTY
Definition: gsm_04_80.h:85
uint32_t drx_timer_max
Definition: gsm_44_060.h:178
@ GA_MT_CSR_RELEASE_COMPL
Definition: gsm_44_318.h:43
int osmo_gsm48_range_enc_find_index(enum osmo_gsm48_range range, const int *freqs, const int size)
Determine at which index to split the ARFCNs to create an equally size partition for the given range.
Definition: gsm48_arfcn_range_encode.c:55
3GPP TS 48.008 3.2.2.104 Speech Codec.
Definition: gsm_08_08.h:592
uint8_t data[0]
Definition: gsm_03_41.h:52
#define NM_IPAC_F_FREQ_BAND_EGSM
Definition: gsm_12_21.h:780
@ NM_ATT_MANUF_ID
Definition: gsm_12_21.h:346
@ GSM0808_IE_CS_TO_PS_SRVCC
Definition: gsm_08_08.h:323
struct msgb * gsm29118_create_alert_req(const char *imsi)
Definition: gsm29118.c:246
parsed/decoded PDP context information
Definition: gsup.h:256
const struct value_string osmo_gsm44068_cause_names[]
Definition: gsm44068.c:59
uint8_t key[ENCRY_INFO_KEY_MAXLEN]
Definition: gsm_08_08.h:763
@ NM_MT_LOAD_SEG
Definition: gsm_12_21.h:87
#define GSM411_MMSMS_DATA_IND
Definition: gsm0411_smc.h:16
@ NM_ATT_RF_MAXPOWR_R
Definition: gsm_12_21.h:361
#define GSM48_MT_RR_CELL_CHG_ORDER
Definition: gsm_04_08.h:1577
@ IPAC_IDTAG_SERNR
Definition: ipaccess.h:62
const struct value_string gprs_det_t_mo_strs_[]
String names of GMM MO Detach Types according to 10.5.5.5.
Definition: gsm_04_08_gprs.c:196
static const uint8_t gsm0502_tch_h0_traffic_block_map[3][4]
Definition: gsm0502.c:64
unsigned int gsm0502_calc_paging_group(const struct gsm48_control_channel_descr *chan_desc, uint64_t imsi)
Definition: gsm0502.c:37
unsigned int key_len
Definition: gsm_08_08.h:764
#define GSM48_MT_RR_SH_VGCS_NEIGH
Definition: gsm_04_08.h:1653
int rxlev2dbm(uint8_t rxlev)
Convert TS 05.08 RxLev to dBm (TS 05.08 Chapter 8.1.4)
Definition: gsm_utils.c:647
const char * osmo_mi_name(const uint8_t *mi, uint8_t mi_len)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:592
@ NM_ATT_HSN
Definition: gsm_12_21.h:337
int tuak_opc_gen(uint8_t *opc, const uint8_t *k, uint8_t k_len_bytes, const uint8_t *op)
Definition: tuak.c:351
@ GSM0808_IE_VELOCITY_ESTIMATE
Definition: gsm_08_08.h:284
#define GSM48_IE_FREQ_L_AFTER
Definition: gsm_04_08.h:1820
#define GSM0480_OP_CODE_GET_PASSWORD
Definition: gsm_04_80.h:77
struct gsm48_classmark3::@51 t_gsm_810_assoc_radio_cap
@ BTS_FEAT_SPEECH_H_V1
Definition: bts_features.h:22
@ GSM0808_IE_CSFB_INDICATION
Definition: gsm_08_08.h:322
struct osmo_cbsp_kill_complete kill_compl
Definition: cbsp.h:278
static int msgb_sgsap_name_put(struct msgb *msg, enum sgsap_iei iei, const char *name)
Definition: gsm29118.c:193
#define GSM48_MT_CC_START_DTMF_ACK
Definition: gsm_04_08.h:1719
@ IUUP_ERR_CAUSE_INIT_FAILURE_NET_TMR
Definition: gsm_25_415.h:215
static int decode_auth_info(uint8_t *data, size_t data_len, struct osmo_auth_vector *auth_vector)
Definition: gsup.c:178
@ GSM0808_FE_IE_GPRS_SUSPEND_INFORMATION
Definition: gsm_08_08.h:346
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:184
@ GSM0808_IE_SEND_SEQ_NUM
Definition: gsm_08_08.h:314
#define GSM48_MT_GMM_ATTACH_REJ
Definition: gsm_04_08_gprs.h:15
static int abis_nm_get_sw_desc(struct abis_nm_sw_desc *sw, const uint8_t *buf, size_t length)
Parse single 3GPP TS 52.021 §9.4.62 SW Description from buffer.
Definition: abis_nm.c:934
@ GSM48_CMSERV_EMERGENCY
Definition: gsm_04_08.h:1735
#define OSMO_MILENAGE_IND_BITLEN_MAX
Definition: auth.h:13
@ SGSAP_MSGT_UL_UD
Definition: gsm_29_118.h:13
@ BTS_FEAT_GPRS
Definition: bts_features.h:13
@ GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS
Definition: gsm_08_08.h:420
@ GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO
Definition: gsm_08_08.h:277
int cp_max_retr
Definition: gsm0411_smc.h:42
struct msgb * abis_nm_fail_evt_rep(enum abis_nm_event_type t, enum abis_nm_severity s, enum abis_nm_pcause_type ct, uint16_t cause_value, const char *fmt,...)
Pack 3GPP TS 12.21 § 8.8.2 Failure Event Report into msgb.
Definition: abis_nm.c:805
@ GSM411_RP_CAUSE_SEMANT_INC_MSG
Definition: gsm_04_11.h:87
int osmo_gsm48_range_enc_512(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:288
uint8_t res[16]
authentication result
Definition: auth.h:94
bool kc128_present
Definition: gsm0808.h:65
char * osmo_sai_name_c(const void *ctx, const struct osmo_service_area_id *sai)
Return MCC-MNC-LAC-SAC as string, in a talloc-allocated output buffer.
Definition: gsm23003.c:409
#define NM_IPAC_F_CIPH_ALGO_A52
Definition: gsm_12_21.h:790
static unsigned int msgb_l3len(const struct msgb *msgb)
static const uint8_t gsm0502_tch_h1_traffic_block_map[3][4]
Definition: gsm0502.c:70
static unsigned int gsm0502_get_paging_group(uint64_t imsi, unsigned int bs_cc_chans, int n_pag_blocks)
Definition: gsm0502.h:87
@ OSMO_GSUP_CAUSE_BSSAP_IE
Definition: gsup.h:117
uint16_t abis_nm_put_sw_desc(struct msgb *msg, const struct abis_nm_sw_desc *sw, bool put_sw_descr)
Put given 3GPP TS 52.021 §9.4.62 SW Description into msgb.
Definition: abis_nm.c:872
@ GSM0808_SC_CFG_AMR_4_75
Definition: gsm_08_08.h:689
#define NM_IPAC_F_CHANM_CSD_NT_14k4
Definition: gsm_12_21.h:822
const struct osmo_conv_code gsm0503_mcs5
EDGE MCS-5 data convolutional code: 468 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1438
uint8_t net[5]
Definition: gsm29205.h:30
void osmo_iuup_instance_set_user_prim_cb(struct osmo_iuup_instance *iui, osmo_prim_cb func, void *priv)
Definition: iuup.c:1050
#define NM_IPAC_F_FREQ_BAND_450
Definition: gsm_12_21.h:786
@ NM_MT_DISC_MDROP_LINK_NACK
Definition: gsm_12_21.h:122
#define NM_IPAC_F_RSL_FEAT_PHYSICAL_CONTEXT
ip.access support flags for NM_IPAC_EIE_RSL_FEATURES
Definition: gsm_12_21.h:858
void osmo_fsm_inst_free(struct osmo_fsm_inst *fi)
uint8_t file_id[UINT8_MAX]
Definition: gsm_12_21.h:950
#define IPA_STRING_MAX
Definition: ipa.c:314
@ SGSAP_MSGT_SERVICE_ABORT_REQ
Definition: gsm_29_118.h:28
const struct value_string gsm48_reject_value_names[]
Definition: gsm48.c:1818
int speech_ctm
Definition: mncc.h:17
@ OSMO_GPRS_MCS2
Definition: gsm_44_060.h:234
@ GA_MT_CSR_HO_FAIL
Definition: gsm_44_318.h:51
@ GA_PDISC_CSR
Definition: gsm_44_318.h:12
#define NM_IPAC_F_CHANM_CSD_T_2k4
Definition: gsm_12_21.h:827
@ GSM0808_IE_PAGING_INFO
Definition: gsm_08_08.h:282
#define GSM48_IE_PRIORITY_LEV_HO
Definition: gsm_04_08.h:1875
int gsm48_encode_signal(struct msgb *msg, int signal)
Encode TS 04.08 Signal IE (10.5.4.23)
Definition: gsm48_ie.c:717
uint8_t invoke_id
GSM TS 04.80, section 3.6.3 "Component ID tag" The term Component ID refers to the Invoke ID or the L...
Definition: gsm0480.h:101
int cp_retx
Definition: gsm0411_smc.h:41
bool e_utra_mult_band_ind_supp
Definition: gsm_04_08.h:225
@ GSM48_CMODE_SPEECH_V4
Speech: OFR AMR-WB (O-TCH/WFS) or OHR AMR-WB (O-TCH/WHS)
Definition: gsm_04_08.h:760
#define GSM48_MT_RR_TALKER_IND
Definition: gsm_04_08.h:1637
@ GSM0808_CHAN_DATA
Definition: gsm_08_08.h:447
@ GSM0808_IE_PRIORITY
Definition: gsm_08_08.h:199
@ EGPRS_CPS_P1
Definition: gsm_44_060.h:214
#define NM_IPAC_F_FREQ_BAND_850
Definition: gsm_12_21.h:784
@ OSMO_GSM44068_CAUSE_MESSAGE_TYPE_NON_EXISTENT
Definition: gsm_44_068.h:104
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK
Definition: gsm_08_08.h:185
uint16_t mcc
Definition: gsm48.h:27
@ GSM0808_IE_PS_REGISTERED_OPERATOR
Definition: gsm_08_08.h:332
int osmo_mobile_identity_encode_buf(uint8_t *buf, size_t buflen, const struct osmo_mobile_identity *mi, bool allow_hex)
Encode Mobile Identity from uint32_t (TMSI) or digits string (all others) (3GPP TS 24....
Definition: gsm48.c:790
#define GSM48_IE_MOB_OVSERV_DIF
Definition: gsm_04_08.h:1860
static const uint8_t tch_afs_4_75_term_output[]
Definition: gsm0503_conv.c:842
#define GSM48_IE_EXTENDED_TSC_SET
Definition: gsm_04_08.h:1855
char * osmo_cgi_ps_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id_ps *cgi_ps)
Return MCC-MNC-LAC-RAC-CI as string, in caller-provided output buffer.
Definition: gsm23003.c:333
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL
Definition: gsm_08_08.h:785
#define GSM411_MMSMS_REL_REQ
Definition: gsm0411_smc.h:13
@ BSSLAP_IEI_SERVING_CELL_ID
Definition: gsm_48_071.h:69
#define A51_R1_CLKBIT
Definition: a5.c:159
@ GSM48_CC_CAUSE_REQ_FAC_NOT_SUBSC
Definition: gsm_04_08.h:1982
struct msgb * gsm0808_create_clear_rqst(uint8_t cause)
Create BSSMAP Clear Request message.
Definition: gsm0808.c:746
struct osmo_fsm_inst * fi
Definition: iuup.c:123
@ GSM0808_SC_CFG_DEFAULT_AMR_7_40
Definition: gsm_08_08.h:676
static const struct value_string event_type_names[]
Definition: abis_nm.c:223
@ OSMO_GSM44068_CAUSE_NET_WANTS_TO_MAINTAIN_CALL
Definition: gsm_44_068.h:94
@ GSM0808_IE_VSTK_RAND_INFO
Definition: gsm_08_08.h:280
@ NM_ATT_IPACC_NS_LINK_CFG
Definition: gsm_12_21.h:444
@ OSMO_GPRS_MCS6
Definition: gsm_44_060.h:238
int osmo_cbsp_recv_buffered(void *ctx, int fd, struct msgb **rmsg, struct msgb **tmp_msg)
struct msgb * gsm0808_create_handover_request_ack2(const struct gsm0808_handover_request_ack *params)
Create BSSMAP HANDOVER REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.10.
Definition: gsm0808.c:1055
static struct gsm_freq_range gsm_ranges[]
Definition: gsm_utils.c:790
@ NM_NACK_TEST_NOTINIT
Definition: gsm_12_21.h:624
bool gprs_ms_net_cap_gea_supported(const uint8_t *ms_net_cap, uint8_t cap_len, enum gprs_ciph_algo gea)
Check if MS supports particular version of GEA by inspecting MS network capability IE specified in 3G...
Definition: gsm_04_08_gprs.c:130
Definition: ipaccess.h:10
@ NM_MT_REST_EVENT_REP_NACK
Definition: gsm_12_21.h:152
CELL_IDENT
Definition: gsm_08_08.h:17
@ NM_MT_PERF_TEST_ACK
Definition: gsm_12_21.h:135
@ GA_MT_CSR_CIPH_MODE_COMPL
Definition: gsm_44_318.h:33
static int osmo_bssmap_le_ie_enc_apdu(struct msgb *msg, const struct bsslap_pdu *bsslap)
Definition: bssmap_le.c:368
@ FN_REMAP_TCH_H0
Definition: gsm0502.h:98
@ BSS_MAP_MSG_PERFORM_LOCATION_RQST
Definition: gsm_08_08.h:114
uint8_t value
Definition: gsm_04_08.h:103
uint8_t mult_band_supp
Definition: gsm_04_08.h:64
@ OSMO_GPRS_MCS4
Definition: gsm_44_060.h:236
#define NM_IPAC_F_CIPH_ALGO_A58
Definition: gsm_12_21.h:796
@ GSM0808_IE_TRANSACTIONID
Definition: gsm_08_08.h:233
int milenage_opc_gen(u8 *opc, const u8 *k, const u8 *op)
Definition: milenage.c:327
@ NM_MT_DISC_TERR_SIGN
Definition: gsm_12_21.h:107
@ BSS_MAP_MSG_HANDOVER_CMD
Definition: gsm_08_08.h:87
#define GSM48_MT_RR_PART_REL_COMP
Definition: gsm_04_08.h:1582
#define A52_R4_CLKBIT0
Definition: a5.c:271
uint8_t gsm0808_enc_cell_id_list2(struct msgb *msg, const struct gsm0808_cell_id_list2 *cil)
Encode TS 08.08 Cell Identifier List IE.
Definition: gsm0808_utils.c:1087
@ NM_ATT_BTS_AIR_TIMER
Definition: gsm_12_21.h:326
@ NM_ATT_IPACC_TIB_CONTROL
Definition: gsm_12_21.h:448
size_t supported_rat_types_len
Definition: gsup.h:388
const char abis_nm_osmo_magic[12]
Definition: abis_nm.c:41
int osmo_gen_mme_group_domain(char *out, uint16_t mmegi, const struct osmo_plmn_id *plmn)
Generate TS 23.003 Section 19.4.2.4 MME Group Domain (text form)
Definition: gsm23003.c:727
#define GSM48_IE_CHANMODE_6
Definition: gsm_04_08.h:1832
int comp128v2(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v2 algorithm.
Definition: comp128v23.c:167
static const int tch_f144_puncture[]
Definition: gsm0503_conv.c:199
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED
Definition: gsm_49_031.h:166
#define GPRS_DET_T_MO_GPRS
Definition: gsm_04_08_gprs.h:59
@ SGSAP_IE_GLOBAL_CN_ID
Definition: gsm_29_118.h:55
#define osmo_fsm_inst_dispatch(fi, event, data)
@ GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE
Definition: gsm_08_08.h:403
uint16_t msg_id
Definition: cbsp.h:107
int gsm0808_chan_type_to_speech_codec(uint8_t perm_spch)
Convert the representation of the permitted speech codec identifier that is used in struct gsm0808_ch...
Definition: gsm0808_utils.c:1574
#define GSM48_MT_RR_PAG_RESP
Definition: gsm_04_08.h:1587
#define GSM48_MT_CC_PROGRESS
Definition: gsm_04_08.h:1690
int gsm_7bit_decode_ussd(char *text, const uint8_t *user_data, uint8_t length)
Definition: gsm_utils.c:1054
static int gsm411_mmsms_cp_ack(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:255
@ SGSAP_SGS_CAUSE_INVALID_MAND_IE
Definition: gsm_29_118.h:135
@ SGSAP_MSGT_UE_ACT_IND
Definition: gsm_29_118.h:21
static struct osmo_iuup_tnl_prim * rnl_to_tnl_data(struct osmo_iuup_instance *iui, struct osmo_iuup_rnl_prim *irp)
Definition: iuup.c:400
struct msgb * gsm29118_create_reset_ind(struct gsm29118_reset_msg *params)
Definition: gsm29118.c:374
bool single_slot_dtm
Definition: gsm_04_08.h:136
uint16_t temp_offs
Definition: gsm48_rest_octets.h:65
@ GSM0808_CAUSE_O_AND_M_INTERVENTION
Definition: gsm_08_08.h:374
@ GSM48_CC_CAUSE_PROTO_ERR
Definition: gsm_04_08.h:2004
#define OSMO_STRLCPY_ARRAY(array, src)
@ OSMO_EVT_MAJ_UNSUP_ATTR
Definition: gsm_12_21.h:266
uint8_t mslot_class
Definition: gsm_04_08.h:75
@ GSM48_CMSERV_MO_CALL_PACKET
Definition: gsm_04_08.h:1734
@ IPAC_MSGT_ID_RESP
Definition: ipaccess.h:49
@ GSM0808_CAUSE_CLASS_RES_UNAVAIL
Definition: gsm_08_08.h:436
@ OSMO_EVT_WARN_SW_WARN
Definition: gsm_12_21.h:271
uint16_t msg_id
Definition: gsm_03_41.h:14
gsm0808_cause
Definition: gsm_08_08.h:366
uint8_t present
Definition: gsm48_rest_octets.h:73
#define DEC_ERR(RC, MSG_TYPE, IEI, CAUSE, fmt, args...)
Definition: bsslap.c:67
const struct osmo_conv_code gsm0503_tch_afs_7_4
TCH/AFS 7.4 kbits convolutional code: G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4 G2/G3 = 1 + D2 +...
Definition: gsm0503_conv.c:587
struct bsslap_ta_layer3 ta_layer3
Definition: gsm_48_071.h:114
@ NM_ATT_TEST_REPORT
Definition: gsm_12_21.h:371
bool paging_channel_restructuring
Definition: gsm48_rest_octets.h:27
bool current_channel_type_2_present
Definition: gsm0808.h:139
int osmo_mobile_identity_decode_from_l3(struct osmo_mobile_identity *mi, struct msgb *msg, bool allow_hex)
Extract Mobile Identity from a Complete Layer 3 message.
Definition: gsm48.c:1006
static int osmo_bssmap_le_ie_dec_lcs_client_type(enum bssmap_le_lcs_client_type *client_type, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:237
int gsm0808_cell_id_list_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id_list2 *cil)
Return a human readable representation of the Cell Identifier List, like "LAC[2]:{123,...
Definition: gsm0808_utils.c:2141
int gsm0480_extract_ie_by_tag(const struct gsm48_hdr *hdr, uint16_t msg_len, uint8_t **ie, uint16_t *ie_len, uint8_t ie_tag)
Get pointer to the IE of a given type.
Definition: gsm0480.c:241
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:194
static int cbsp_dec_reset_compl(struct osmo_cbsp_reset_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1113
#define GSM0480_CTYPE_RETURN_RESULT
Definition: gsm_04_80.h:17
int osmo_parse_home_network_domain(struct osmo_plmn_id *out, const char *in)
Parse a TS 23.003 Section 19.2 Home Network Realm/Domain (text form) into a osmo_plmn_id.
Definition: gsm23003.c:676
@ SGSAP_SGS_CAUSE_SEMANT_INCORR_MSG
Definition: gsm_29_118.h:137
const char * osmo_sai_name(const struct osmo_service_area_id *sai)
Return MCC-MNC-LAC-SAC as string, in a static buffer.
Definition: gsm23003.c:387
#define GSM_0480_SEQUENCE_TAG
Definition: gsm_04_80.h:29
@ GSM_CAUSE_AUTH_FAILED
Definition: gsm_04_08_gprs.h:263
enum gsm48_chan_mode gsm48_chan_mode_to_vamos(enum gsm48_chan_mode mode)
Translate GSM48_CMODE_SPEECH_* to its corresponding GSM48_CMODE_SPEECH_*_VAMOS mode.
Definition: gsm48.c:481
Definition: gsm_44_060.h:196
const struct value_string gsm_chan_t_names[]
Definition: gsm48.c:519
uint16_t lac
Definition: gsm0808_utils.h:48
struct osmo_plmn_id last_eutran_plmn_id
Definition: gsm0808.h:146
uint8_t net_ctrl_ord
Definition: gsm48_rest_octets.h:122
static int gsm411_mnsms_abort_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:401
struct gad_raw_ha_ell_point_alt_unc_ell ha_ell_point_alt_unc_ell
Definition: gsm_23_032.h:249
@ BSS_MAP_MSG_CIPHER_MODE_CMD
Definition: gsm_08_08.h:152
#define IUUP_TIMER_RC
Definition: iuup.c:113
@ GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING
Definition: gsm_08_08.h:421
#define GSM48_MT_RR_ASS_FAIL
Definition: gsm_04_08.h:1569
@ BSS_MAP_MSG_VGCS_VBS_AREA_CELL_INFO
Definition: gsm_08_08.h:172
@ GA_MT_CSR_CM_CHANGE
Definition: gsm_44_318.h:61
@ SGSAP_IE_MO_FALLBACK_VALUE
Definition: gsm_29_118.h:76
@ GSM48_DTX_SHALL_BE_USED
Definition: gsm_04_08.h:1013
@ IPAC_IDTAG_IPADDR
Definition: ipaccess.h:68
char * osmo_sai_name_buf(char *buf, size_t buf_len, const struct osmo_service_area_id *sai)
Return MCC-MNC-LAC-SAC as string, in caller-provided output buffer.
Definition: gsm23003.c:377
@ GSM0808_ALG_ID_A5_0
Definition: gsm_08_08.h:572
@ NM_ATT_IPACC_HEARTB_TOUT
Definition: gsm_12_21.h:452
@ NM_MT_REP_OUTST_ALARMS
Definition: gsm_12_21.h:159
@ OSMO_GSUP_MESSAGE_CLASS_SUBSCRIBER_MANAGEMENT
Definition: gsup.h:280
static const uint8_t tch_f48_output[][2]
Definition: gsm0503_conv.c:156
@ NM_ATT_IPACC_SEC_OML_CFG
Definition: gsm_12_21.h:419
uint16_t penalty_time
Definition: gsm48_rest_octets.h:64
#define GSM411_MMSMS_EST_IND
Definition: gsm0411_smc.h:11
struct gsm48_classmark3::@40 gsm_400_bands_supp
char * serno
Definition: ipa.h:23
@ NM_MT_CHANGEOVER_ACK
Definition: gsm_12_21.h:164
#define GSM0480_COMPIDTAG_LINKED_ID
Definition: gsm_04_80.h:23
@ OSMO_GSM48_ARFCN_RANGE_256
Definition: gsm48_arfcn_range_encode.h:10
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:224
static void append_gprs_ind(struct bitvec *bv, const struct osmo_gsm48_si3_gprs_ind *gi)
Definition: gsm48_rest_octets.c:636
static const struct tlv_definition osmo_bsslap_tlvdef
Definition: bsslap.c:36
struct llist_head fail_list
Definition: cbsp.h:120
@ IUUP_FSM_EVT_IUUP_STATUS_REQ
Definition: iuup.c:151
@ NM_NACK_OBJINST_UNKN
Definition: gsm_12_21.h:610
@ GA_MT_RC_REGISTER_UPDATE_UL
Definition: gsm_44_318.h:28
@ DCS_7BIT_DEFAULT
Definition: gsm_04_11.h:114
@ CBSP_IEI_WARN_SEC_INFO
Definition: gsm_48_049.h:39
void osmo_panic(const char *fmt,...)
static int xor_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
Definition: auth_xor.c:131
Definition: gsm48_rest_octets.h:71
@ SGSAP_ID_NONEPS_T_EXPLICIT_UE_NONEPS
Definition: gsm_29_118.h:106
@ GSM48_REJECT_MSG_TYPE_NOT_IMPLEMENTED
Definition: gsm_04_08.h:2031
Definition: gsm48_ie.h:114
const struct osmo_conv_code gsm0503_tch_afs_10_2
TCH/AFS 10.2 kbits convolutional code: G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4 G2/G3 = 1 + D2 ...
Definition: gsm0503_conv.c:458
@ GAD_TYPE_ELL_POINT_ALT_UNC_ELL
Ellipsoid point with altitude and uncertainty ellipsoid.
Definition: gsm_23_032.h:43
@ NM_MT_STOP_TEST
Definition: gsm_12_21.h:141
int osmo_tmsi_nri_v_set(uint32_t *tmsi, int16_t nri_v, uint8_t nri_bitlen)
Write Network Resource Indicator bits into a TMSI or p-TMSI.
Definition: gsm23236.c:176
@ SAP_IUUP_TNL
Definition: prim.h:22
uint8_t present
Definition: gsm48_rest_octets.h:97
3GPP TS 48.008 §3.2.1.61 (VGCS) UPLINK REJECT COMMAND
Definition: gsm0808.h:494
@ GSM48_CMODE_DATA_3k6
CSD: 3.6 kbit/s radio interface rate, 2.4 kbit/s and less services (TCH/{F,H}2.4)
Definition: gsm_04_08.h:792
bool prec
Definition: gsm0808.h:134
@ GSM_LCHAN_CCCH
Definition: gsm_utils.h:241
int osmo_cgi_ps_cmp(const struct osmo_cell_global_id_ps *a, const struct osmo_cell_global_id_ps *b)
Definition: gsm23003.c:647
#define GPRS_ATT_T_ATTACH
Definition: gsm_04_08_gprs.h:51
int osmo_gsm48_si1ro_nch_pos_encode(uint8_t num_blocks, uint8_t first_block)
Encode the 5-bit 'NCH position' field within SI1 Rest Octets.
Definition: gsm48_rest_octets.c:125
unsigned int id_list_len
Definition: gsm_08_08.h:777
uint8_t chosen_encr_alg
For A5/N set chosen_encr_alg = N+1, e.g.
Definition: gsm0808.h:239
int transfer
Definition: mncc.h:13
#define NM_IPAC_F_GPRS_CODING_MCS2
Definition: gsm_12_21.h:839
@ NM_NACK_FILE_NOTAVAIL
Definition: gsm_12_21.h:630
int gsm_arfcn2band_rc(uint16_t arfcn, enum gsm_band *band)
Resolve GSM band from ARFCN.
Definition: gsm_utils.c:730
void msgb_free(struct msgb *m)
@ GMM_CAUSE_NO_GPRS_PLMN
Definition: gsm_04_08_gprs.h:232
@ GSM48_RR_CAUSE_ABNORMAL_TIMER
Definition: gsm_04_08.h:1936
@ GSM48_RR_CAUSE_LEAVE_GROUP_CA
Definition: gsm_04_08.h:1943
#define RSL_BCCH_CCCH_CONF_1_C
Definition: gsm_08_58.h:722
static const uint8_t ipa_pong_msg[]
Definition: ipa.c:60
struct msgb * gsm0480_create_ussd_release_complete(void)
Deprecated, use gsm0480_create_release_complete() instead.
Definition: gsm0480.c:920
#define ASN1_OCTET_STRING_TAG
Definition: gsm_04_80.h:118
#define GSM48_MT_RR_IMM_ASS
Definition: gsm_04_08.h:1552
@ DCS_8BIT_DATA
Definition: gsm_04_11.h:116
@ OSMO_GSUP_MESSAGE_CLASS_SMS
Definition: gsup.h:281
@ GSM0808_IE_LSA_IDENTIFIER_LIST
Definition: gsm_08_08.h:253
@ GSM48_CMSERV_SMS
Definition: gsm_04_08.h:1736
@ GSM_CAUSE_DEACT_REGULAR
Definition: gsm_04_08_gprs.h:270
#define GSM48_MT_RR_HANDO_COMPL
Definition: gsm_04_08.h:1571
uint8_t n_avg_i
Definition: gsm_44_060.h:201
@ GA_MT_CSR_REQUEST
Definition: gsm_44_318.h:66
@ GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP
Definition: gsm_08_08.h:806
@ GSM0808_CAUSE_CLASS_INTW
Definition: gsm_08_08.h:441
const struct value_string osmo_sub_auth_type_names[]
Definition: auth_core.c:347
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC
Definition: gsm_49_031.h:170
const char * abis_nm_event_type_name(uint8_t cause)
Get human-readable string for OML event type.
Definition: abis_nm.c:233
@ OSMO_IUUP_RNL_STATUS
Definition: iuup.h:29
#define GSM48_IE_REPEAT_CIR
Definition: gsm_04_08.h:1808
int gsm_septets2octets(uint8_t *result, const uint8_t *rdata, uint8_t septet_len, uint8_t padding)
Backwards compatibility wrapper for gsm_septets_pack(), deprecated.
Definition: gsm_utils.c:371
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:500
@ BSSMAP_LE_IEI_POSITIONING_DATA
Definition: gsm_49_031.h:102
bool geran_feature_package
Definition: gsm_04_08.h:154
@ BSSLAP_IEI_POLLING_REPETITION
Definition: gsm_48_071.h:74
static const uint8_t table_4[32]
Definition: comp128.c:135
const char * gsm48_mi_type_name(uint8_t mi)
return string representation of Mobile Identity Type
Definition: gsm48.c:541
@ OSMO_GSUP_SRES_IE
Definition: gsup.h:81
size_t apn_enc_len
length (in octets) of apn_enc
Definition: gsup.h:265
@ BTS_FEAT_IPV6_NSVC
Definition: bts_features.h:28
#define GSM48_MT_RR_SH_UL_FREE
Definition: gsm_04_08.h:1644
@ NM_MT_STOP_EVENT_REP
Definition: gsm_12_21.h:147
#define GSM48_MT_GMM_INFO
Definition: gsm_04_08_gprs.h:33
#define GSM48_IE_MORE_DATA
Definition: gsm_04_08.h:1804
@ OSMO_GSM44068_IEI_SMS_INDICATIONS
Definition: gsm_44_068.h:37
@ CBSP_MSGT_KILL
Definition: gsm_48_049.h:54
struct msgb * gsm29118_msgb_alloc(void)
Definition: gsm29118.c:185
@ NM_MT_CHG_ADM_STATE_NACK
Definition: gsm_12_21.h:155
#define GSM0480_USSD_OCTET_STRING_LEN
According to the GSM 04.80 (version 5.0.0) specification Annex A "Expanded ASN.1 Module "SS-Protocol"...
Definition: gsm0480.h:25
#define GSM48_MT_RR_MEAS_REP
Definition: gsm_04_08.h:1625
@ BSS_MAP_MSG_VGCS_VBS_SETUP_REFUSE
Definition: gsm_08_08.h:164
@ BSS_MAP_MSG_LSA_INFORMATION
Definition: gsm_08_08.h:115
@ OSMO_GSM44068_PRIO_LEVEL_A
Definition: gsm_44_068.h:62
@ NM_CHANC_BCCH_CBCH
Definition: gsm_12_21.h:556
@ GSM411_RP_CAUSE_MO_CALL_BARRED
Definition: gsm_04_11.h:70
const uint8_t * destination_name
For messages routed via another GSUP entity (via HLR), the IPA name of the entity that should ultimat...
Definition: gsup.h:370
int osmo_gsm48_range_enc_128(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:270
uint16_t old_serial_nr
Definition: cbsp.h:146
@ NM_ATT_IPACC_IN_SERV_TIME
Definition: gsm_12_21.h:422
@ OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT
Definition: gsup.h:172
@ GSM0808_FE_IE_TARGET_CELL_RADIO_INFORMATION
Definition: gsm_08_08.h:345
static int osmo_bssmap_le_enc_perform_loc_resp(struct msgb *msg, const struct bssmap_le_perform_loc_resp *params)
Definition: bssmap_le.c:584
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:61
Definition: gsm_25_415.h:13
uint8_t use_egprs_p_ch_req
Definition: gsm_44_060.h:186
#define GSM0480_OP_CODE_REGISTER_SS
Definition: gsm_04_80.h:70
@ CBSP_IEI_MSG_CONTENT
Definition: gsm_48_049.h:23
uint8_t first_block
Definition: gsm48_rest_octets.c:64
@ GSM_CAUSE_OPER_DET_BARR
Definition: gsm_04_08_gprs.h:257
#define SMCDOWNSLLEN
Definition: gsm0411_smc.c:450
Definition: bssmap_le.h:42
static const struct value_string rr_msg_names[]
Definition: gsm48.c:316
osmo_gsup_message_type
GSUP message type Make sure that new messages follow this scheme:
Definition: gsup.h:135
#define GSM48_PDISC_SMS
Definition: gsm_04_08.h:1443
@ SGSAP_MSGT_MO_CSFB_IND
Definition: gsm_29_118.h:29
#define GSM48_PDISC_CC
Definition: gsm_04_08.h:1437
struct osmo_gsm48_si3_gprs_ind gprs_ind
Definition: gsm48_rest_octets.h:99
#define GSM48_MT_MM_CM_SERV_ACC
Definition: gsm_04_08.h:1671
struct osmo_location_area_id lai
Definition: gsm23003.h:60
int gsm0502_fn2ccch_block(uint32_t fn)
Calculate CCCH block number from the given TDMA frame number.
Definition: gsm0502.c:294
@ IUUP_FSM_EVT_INIT
Definition: iuup.c:157
@ NM_OC_CHANNEL
Definition: gsm_12_21.h:289
@ GA_MT_CSR_CIPH_MODE_CMD
Definition: gsm_44_318.h:32
@ GSM_PCHAN_SDCCH8_SACCH8C_CBCH
Definition: gsm_utils.h:227
uint16_t cell_id
Definition: gsm48_rest_octets.h:105
#define NM_IPAC_F_CHANM_CSD_T_4k8
Definition: gsm_12_21.h:828
@ GSM0808_SC_CFG_DEFAULT_AMR_5_90
Definition: gsm_08_08.h:674
@ IUUP_AN_NACK
Definition: gsm_25_415.h:170
uint8_t osmo_bssmap_le_ie_enc_location_type(struct msgb *msg, const struct bssmap_le_location_type *location_type)
Encode full BSSMAP-LE Location Type IE, including IEI tag and length.
Definition: bssmap_le.c:147
void osmo_auth_c2(uint8_t sres[4], const uint8_t *res, size_t res_len, uint8_t sres_deriv_func)
Derive GSM SRES from UMTS [X]RES (auth function c2 from 3GPP TS 33.103 Section 6.8....
Definition: auth_core.c:373
int present
Definition: mncc.h:36
#define GSM48_LUPD_RESERVED
Definition: gsm_04_08.h:1759
static const uint8_t table_0[512]
Definition: comp128.c:71
void gsm48_decode_lai2(const struct gsm48_loc_area_id *lai, struct osmo_location_area_id *decoded)
Decode TS 04.08 Location Area Identifier.
Definition: gsm48.c:1187
static int iuup_fsm_timer_cb(struct osmo_fsm_inst *fi)
Definition: iuup.c:774
@ GSM_LCHAN_NONE
Definition: gsm_utils.h:236
char * osmo_hexdump_c(const void *ctx, const unsigned char *buf, int len)
struct llist_head fail_list
Definition: cbsp.h:192
@ BTS_FEAT_HSCSD
Definition: bts_features.h:12
#define CB_BCCH
Definition: gsm0502.c:266
static int parse_process_uss_req(const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:686
const struct value_string osmo_gad_type_names[]
Definition: gad.c:36
@ BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED
Definition: gsm_49_031.h:172
@ NM_ATT_OVERL_PERIOD
Definition: gsm_12_21.h:353
void osmo_cbsp_init_struct(struct osmo_cbsp_decoded *cbsp, enum cbsp_msg_type msg_type)
Definition: cbsp.c:1381
static int osmo_bsslap_ie_dec_cause(enum bsslap_cause *cause, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
Definition: bsslap.c:127
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE_REVERSION
Definition: gsm_08_08.h:377
char * osmo_lai_name_buf(char *buf, size_t buf_len, const struct osmo_location_area_id *lai)
Return MCC-MNC-LAC as string, in caller-provided output buffer.
Definition: gsm23003.c:216
static const struct smrdatastate smrdatastatelist[]
@ GSM0808_PERM_HR2
(deprecated)
Definition: gsm_08_08.h:500
const char * osmo_mcc_name_c(const void *ctx, uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros, into a talloc-allocated buffer.
Definition: gsm23003.c:115
@ GSM48_CC_CAUSE_BEARERSERV_UNIMPL
Definition: gsm_04_08.h:1987
@ SGSAP_IE_EPS_LU_TYPE
Definition: gsm_29_118.h:54
static int cbsp_dec_msg_status_query_compl(struct osmo_cbsp_msg_status_query_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1029
@ CBSP_IEI_RR_LOADING_LIST
Definition: gsm_48_049.h:32
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE
Definition: gsm_08_08.h:194
@ GSM48_CMODE_SPEECH_EFR
Speech: EFR (TCH/EFS)
Definition: gsm_04_08.h:756
@ TLLI_RESERVED
Definition: gsm_utils.h:205
@ GMM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:247
@ BSS_MAP_MSG_SUSPEND
Definition: gsm_08_08.h:111
static void _comp128_compression_round(uint8_t *x, int n, const uint8_t *tbl)
Definition: comp128.c:144
@ OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR
Definition: gsup.h:159
const struct osmo_conv_code gsm0503_rach
RACH convolutional code.
Definition: gsm0503_conv.c:232
#define GSM48_MT_RR_CHAN_MODE_MODIF
Definition: gsm_04_08.h:1621
bool osmo_nri_range_overlaps_ranges(const struct osmo_nri_range *range, const struct osmo_nri_ranges *nri_ranges)
Return true when the given NRI range has at least one NRI value that appears in a list of other NRI r...
Definition: gsm23236.c:239
@ BTS_FEAT_VGCS
Definition: bts_features.h:38
int osmo_gad_raw_write(struct msgb *msg, const union gad_raw *gad_raw)
Append a GAD PDU to the msgb.
Definition: gad.c:327
int gsm48_encode_calling(struct msgb *msg, const struct gsm_mncc_number *calling)
Encode TS 04.08 Calling Number IE (10.5.4.9)
Definition: gsm48_ie.c:621
struct bsslap_reset reset
Definition: gsm_48_071.h:112
char * osmo_mnc_name_c(const void *ctx, uint16_t mnc, bool mnc_3_digits)
Return MNC string as standardized 2- or 3-digit with leading zeros, into a talloc-allocated buffer.
Definition: gsm23003.c:142
#define GSM414_MT_TEST_INTERFACE
Definition: gsm_04_14.h:56
static bool nri_range_touches(const struct osmo_nri_range *a, const struct osmo_nri_range *b)
Return true if the ranges overlap or are directly adjacent to each other.
Definition: gsm23236.c:59
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:514
@ NM_MT_ACTIVATE_SW
Definition: gsm_12_21.h:96
@ OSMO_GSUP_MSGT_MO_FORWARD_SM_ERROR
Definition: gsup.h:167
void osmo_auth_c3(uint8_t kc[], const uint8_t ck[], const uint8_t ik[])
Definition: auth_core.c:360
@ BTS_FEAT_ACCH_TEMP_OVP
Definition: bts_features.h:35
const struct value_string sgsap_ismi_det_eps_type_names[]
Definition: gsm29118.c:98
uint8_t ta
Definition: gsm_48_071.h:99
uint8_t ik[OSMO_A5_MAX_KEY_LEN_BYTES]
integrity key
Definition: auth.h:93
#define IUUP_MSGB_HEADROOM_MIN_REQUIRED
Definition: iuup.c:191
@ GA_MT_CSR_STATUS
Definition: gsm_44_318.h:58
bool e_utra_fdd_supp
Definition: gsm_04_08.h:207
@ GSM_BAND_900
Definition: gsm_utils.h:51
@ GMM_CAUSE_ILLEGAL_MS
Definition: gsm_04_08_gprs.h:222
@ SGSAP_IE_UE_TIMEZONE
Definition: gsm_29_118.h:69
gprs_cipher_direction
Definition: gprs_cipher.h:23
#define GSM48_MT_CC_ALERTING
Definition: gsm_04_08.h:1684
#define GSM48_MT_RR_SYSINFO_2
Definition: gsm_04_08.h:1599
@ IUUP_AN_PROCEDURE
Definition: gsm_25_415.h:168
@ NM_NACK_TEST_NOSUCH
Definition: gsm_12_21.h:626
const struct value_string gan_msgt_vals[]
Definition: gan.c:29
const struct osmo_conv_code gsm0503_mcs2
EDGE MCS-2 data convolutional code: 244 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1361
const struct value_string gsm0480_op_code_names[]
Definition: gsm0480.c:44
#define GSM48_PDISC_MM
Definition: gsm_04_08.h:1440
const struct value_string gsm48_mm_msgtype_names[]
TS 04.08 MM Message Type names.
Definition: gsm48.c:1613
bool prio_resel_supp
Definition: gsm_04_08.h:210
static const uint8_t tch_ahs_5_9_term_state[]
Definition: gsm0503_conv.c:1108
#define GSM48_MT_RR_CLSM_ENQ
Definition: gsm_04_08.h:1627
@ GSM48_RR_CAUSE_HNDOVER_IMP
Definition: gsm_04_08.h:1940
uint32_t states
Definition: gsm0411_smr.c:379
#define GSM48_MT_CC_STOP_DTMF
Definition: gsm_04_08.h:1717
@ BSSMAP_LE_IEI_REQ_GPS_ASS_D
Definition: gsm_49_031.h:109
static int gsm411_mnsms_data_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:310
@ NM_STATE_UNLOCKED
Definition: gsm_12_21.h:519
@ OSMO_GSM44068_IEI_MOBILE_IDENTITY
Definition: gsm_44_068.h:32
cbsp_msg_type
Definition: gsm_48_049.h:50
bool lcs
Definition: gsm0808.h:135
@ GSM411_CPS_MM_ESTABLISHED
Definition: gsm_04_11.h:14
@ GSM48_CC_CAUSE_NORMAL_UNSPEC
Definition: gsm_04_08.h:1973
@ GSM0808_SC_CFG_AMR_7_95
Definition: gsm_08_08.h:694
@ NM_NACK_ATTRID_NOTSUPP
Definition: gsm_12_21.h:612
struct gad_raw_polygon::@95 point[15]
OML FOM header.
Definition: gsm_12_21.h:71
struct tlv_def def[256]
Definition: tlv.h:528
void osmo_iuup_instance_set_transport_prim_cb(struct osmo_iuup_instance *iui, osmo_prim_cb func, void *priv)
Definition: iuup.c:1055
uint32_t gprs_cipher_gen_input_i(uint32_t iov_i, uint32_t lfn, uint32_t oc)
Definition: gprs_cipher_core.c:131
@ BSSMAP_LE_LOC_INFO_ASSIST_TARGET_MS
Definition: gsm_49_031.h:148
@ GSM48_REJECT_CONDTIONAL_IE_ERROR
Definition: gsm_04_08.h:2034
const uint8_t * rand
Definition: gsup.h:318
@ GSM0808_IE_LSA_IDENTIFIER
Definition: gsm_08_08.h:252
#define GSM411_MT_RP_ERROR_MT
Definition: gsm_04_11.h:57
static int gsm411_mnsms_est_ind(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:241
#define GSM48_IE_VGCS_TARGET
Definition: gsm_04_08.h:1816
@ OSMO_GSUP_MSGT_PROC_SS_REQUEST
Definition: gsup.h:162
struct msgb * gsm0808_create_vgcs_vbs_assign_req(const struct gsm0808_vgcs_vbs_assign_req *params)
Create BSSMAP VGCS/VBS ASSIGNMENT REQUEST message, 3GPP TS 48.008 3.2.1.53.
Definition: gsm0808.c:1596
static const uint8_t tch_afs_12_2_term_output[]
Definition: gsm0503_conv.c:377
@ OSMO_GSM44068_CAUSE_PROTOCOL_ERROR
Definition: gsm_44_068.h:108
@ OSMO_RAT_GERAN_A
Definition: gsm_utils.h:263
@ BSSMAP_LE_MSGT_PERFORM_LOC_RESP
Definition: gsm_49_031.h:85
@ IUUP_PDU_T_DATA_CRC
Definition: gsm_25_415.h:161
@ NM_ATT_IPACC_DST_IP_PORT
Definition: gsm_12_21.h:411
@ SGSAP_MSGT_LOC_UPD_REQ
Definition: gsm_29_118.h:14
int pcp
Definition: mncc.h:74
@ OSMO_GSUP_MSGT_DELETE_DATA_ERROR
Definition: gsup.h:155
@ NM_ATT_ABIS_CHANNEL
Definition: gsm_12_21.h:317
uint8_t mi[0]
Definition: gsm_04_08.h:1222
int ipa_msg_recv_buffered(int fd, struct msgb **rmsg, struct msgb **tmp_msg)
uint8_t num_bcast_info
Definition: cbsp.h:51
uint32_t states
Definition: gsm0411_smc.c:423
static struct gprs_cipher_impl gea4_impl
Definition: gprs_gea.c:37
osmo_static_assert(ARRAY_SIZE(osmo_bts_features_descs)==_NUM_BTS_FEAT+1, _bts_features_descs)
@ GSM0808_IE_TALKER_PRIORITY
Definition: gsm_08_08.h:286
int network
Definition: gsm0411_smc.h:31
@ BSS_MAP_MSG_LOAD_INDICATION
Definition: gsm_08_08.h:159
@ GA_MT_CSR_DL_DIRECT_XFER
Definition: gsm_44_318.h:57
static __attribute__((constructor))
Definition: auth_tuak.c:202
@ BSS_MAP_MSG_CLASSMARK_RQST
Definition: gsm_08_08.h:157
@ TLLI_AUXILIARY
Definition: gsm_utils.h:204
enum abis_nm_msgtype abis_nm_sw_load_msgs[9]
messages related to software load
Definition: abis_nm.c:59
@ SGSAP_MSGT_STATUS
Definition: gsm_29_118.h:34
bool repeated_acch_capability
Definition: gsm_04_08.h:193
@ CBSP_IEI_WARNING_PERIOD
Definition: gsm_48_049.h:45
@ OSMO_GSUP_MSGT_E_PROCESS_ACCESS_SIGNALLING_REQUEST
Definition: gsup.h:194
#define GSM48_MT_RR_DTM_ASS_CMD
Definition: gsm_04_08.h:1575
bool ciphering_mode_setting_cap
Definition: gsm_04_08.h:205
static unsigned char * msgb_pull_to_l3(struct msgb *msg)
int gsm48_number_of_paging_subchannels(const struct gsm48_control_channel_descr *chan_desc)
Determine number of paging sub-channels.
Definition: gsm48.c:1490
@ NM_MT_CHG_ADM_STATE
Definition: gsm_12_21.h:153
bool mod_cap
Definition: gsm_04_08.h:99
@ GSM0808_IE_LSA_ACCESS_CTRL_SUPPR
Definition: gsm_08_08.h:256
uint8_t iei
Definition: gsm_08_58.h:4
uint16_t t1
Definition: gsm_utils.h:43
@ NM_ATT_IPACC_NV_FLAGS
Definition: gsm_12_21.h:416
@ OSMO_AUTH_ALG_COMP128v2
Definition: auth.h:31
uint16_t freq_dl_offset
Definition: gsm_utils.c:786
static const uint8_t tch_ahs_5_9_output[][2]
Definition: gsm0503_conv.c:1101
struct gad_raw_ha_ell_point_unc_ell ha_ell_point_unc_ell
Definition: gsm_23_032.h:248
void osmo_timer_schedule(struct osmo_timer_list *timer, int seconds, int microseconds)
#define A5_R4_MASK
Definition: a5.c:109
@ GSM0808_SC_CFG_AMR_5_90
Definition: gsm_08_08.h:691
int(* mm_send)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type)
Definition: gsm0411_smc.h:34
@ NM_ATT_MANUF_STATE
Definition: gsm_12_21.h:344
bool osmo_gcr_eq(const struct osmo_gcr_parsed *gcr1, const struct osmo_gcr_parsed *gcr2)
Compare two GCR structs.
Definition: gsm29205.c:98
#define GSM0480_IE_FACILITY
Definition: gsm_04_80.h:12
@ GSM48_REJECT_CONGESTION
Definition: gsm_04_08.h:2024
int gsm0808_enc_lcs_cause(struct msgb *msg, const struct lcs_cause_ie *lcs_cause)
Definition: gsm0808.c:1490
static const struct egprs_cps egprs_cps_table_type2[EGPRS_CPS_TYPE2_TBL_SZ]
Definition: gprs_rlc.c:60
#define GSM48_MT_RR_PACKET_NOTIF
Definition: gsm_04_08.h:1591
@ CBSP_IEI_NEW_SERIAL_NR
Definition: gsm_48_049.h:25
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR
Definition: gsup.h:141
int gsm0808_dec_assign_req(enum gsm0808_assignment_requirement *ar, const uint8_t *elem, uint8_t len)
Decode Assignment Requirements IE (3GPP TS 48.008 3.2.2.52).
Definition: gsm0808_utils.c:2490
@ SGSAP_IE_REJECT_CAUSE
Definition: gsm_29_118.h:57
int cp_tc1
Definition: gsm0411_smc.h:43
@ GSM_BAND_1900
Definition: gsm_utils.h:53
@ GSM48_REJECT_IMEI_NOT_ACCEPTED
Definition: gsm_04_08.h:2017
static struct osmo_iuup_rnl_prim * irp_init_ind_alloc(struct osmo_iuup_instance *iui)
Definition: iuup.c:384
@ CELL_IDENT_WHOLE_GLOBAL
Definition: gsm_08_08.h:18
struct gsm48_classmark3::@35 hscsd_mult_slot_cap
const char * osmo_auth_alg_name(enum osmo_auth_algo alg)
Get human-readable name of authentication algorithm.
Definition: auth_core.c:336
int gsm48_decode_bcd_number(char *output, int output_len, const uint8_t *bcd_lv, int h_len) OSMO_DEPRECATED_OUTSIDE("Use gsm48_decode_bcd_number2() for improved bounds checking")
Like gsm48_decode_bcd_number2() but with less airtight bounds checking.
Definition: gsm48_ie.c:51
@ GSM411_CPS_WAIT_CP_ACK
Definition: gsm_04_11.h:13
#define GSM48_MT_MM_STATUS
Definition: gsm_04_08.h:1680
@ NM_ATT_CONN_FAIL_CRIT
Definition: gsm_12_21.h:330
void osmo_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb)
Definition: kdf.c:120
const struct osmo_conv_code gsm0503_tch_f96
TCH/F9.6 convolutional code: 240 bits blocks, rate 1/2, k = 5 G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:190
@ GSM48_CC_CAUSE_REQ_CHAN_UNAVAIL
Definition: gsm_04_08.h:1979
@ GSM0808_IE_RETURN_ERROR_RQST
Definition: gsm_08_08.h:267
@ GMM_CAUSE_MAC_FAIL
Definition: gsm_04_08_gprs.h:236
@ NM_NACK_PHYSCFG_NOTPERFORM
Definition: gsm_12_21.h:623
@ OSMO_GSM44068_CSTATE_U2sr
Definition: gsm_44_068.h:77
void osmo_iuup_instance_free(struct osmo_iuup_instance *iui)
Definition: iuup.c:1039
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:210
#define GSM411_MMSMS_EST_CNF
Definition: gsm0411_smc.h:12
@ NM_MT_SEND_TEST_REP_NACK
Definition: gsm_12_21.h:140
@ OSMO_GSUP_MSGT_PURGE_MS_REQUEST
Definition: gsup.h:146
bool er_band_support
Definition: gsm_04_08.h:223
struct gsm48_classmark1 classmark1
Definition: gsm_04_08.h:232
@ DLCI_SAPI_SMS
Definition: gsm_08_08.h:68
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:199
struct osmo_cbsp_write_replace::@0::@2 emergency
uint8_t rand[16]
random challenge
Definition: auth.h:90
void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src)
Overwrite dst with the Classmark information present in src.
Definition: gsm48.c:1976
@ NM_NACK_MEAS_NOTSUPP
Definition: gsm_12_21.h:635
int osmo_get_rand_id(uint8_t *out, size_t len)
Generate random identifier We use /dev/urandom (default when GRND_RANDOM flag is not set).
Definition: gsm_utils.c:452
#define GSM48_MT_GMM_RA_UPD_REJ
Definition: gsm_04_08_gprs.h:22
@ BSSMAP_LE_IEI_GANSS_LOCATION_TYPE
Definition: gsm_49_031.h:100
#define GSM411_MNSMS_ABORT_REQ
Definition: gsm0411_smc.h:21
static __attribute__((constructor))
Definition: gsm0502.c:138
const struct value_string * gprs_upd_t_strs
Definition: gsm_04_08_gprs.c:193
bool gcr_available
Definition: gsm0808_utils.h:230
static bool is_n_digits(const char *str, int min_digits, int max_digits)
Definition: gsm23003.c:32
const uint8_t * sm_rp_oa
Definition: gsup.h:344
struct osmo_cbsp_msg_status_query_complete msg_status_query_compl
Definition: cbsp.h:286
uint16_t new_serial_nr
Definition: cbsp.h:118
@ NM_ATT_ADD_INFO
Definition: gsm_12_21.h:318
@ NM_ATT_PHYS_CONF
Definition: gsm_12_21.h:354
gsm0808_assignment_requirement
Definition: gsm0808_utils.h:97
@ GSM0808_IE_NETWORK_ELEMENT_IDENTITY
Definition: gsm_08_08.h:264
@ NM_ATT_IPACC_CGI
Definition: gsm_12_21.h:435
@ LCS_CAUSE_UNSPECIFIED
Definition: gsm_49_031.h:37
@ GSM0808_IE_CELL_ID_LIST_SEGMENT
Definition: gsm_08_08.h:289
static void cell_id_to_cgi(struct osmo_cell_global_id *dst, enum CELL_IDENT discr, const union gsm0808_cell_id_u *u)
Definition: gsm0808_utils.c:893
@ NM_OC_BS11_BTSE
Definition: gsm_12_21.h:301
int cp_type
Definition: gsm0411_smc.c:485
@ GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE
Definition: gsm_08_08.h:414
struct llist_head list
Definition: cbsp.h:31
@ NM_CHANC_mainBCCH
Definition: gsm_12_21.h:552
@ GSM_MNCC_BCAP_SPEECH
Definition: mncc.h:78
#define NM_IPAC_F_CHANT_TCHH
Definition: gsm_12_21.h:800
#define GSM48_MT_CC_RELEASE
Definition: gsm_04_08.h:1709
struct msgb * gsm411_msgb_alloc(void)
Allocate a message buffer for use as TS 04.11 message.
Definition: gsm0411_utils.c:52
@ OSMO_GSUP_AN_APDU_IE
Definition: gsup.h:115
@ SGSAP_IE_CHAN_NEEDED
Definition: gsm_29_118.h:49
const uint8_t * hlr_enc
Definition: gsup.h:315
uint8_t recovery_ind
Definition: cbsp.h:226
@ GSM0808_IE_SERVICE_HANDOVER
Definition: gsm_08_08.h:270
enum gsmtap_um_voice_type __attribute__
@ BSSMAP_LE_IEI_MLAT_METHOD
Definition: gsm_49_031.h:127
static const int tch_f96_puncture[]
Definition: gsm0503_conv.c:178
uint32_t n_max
Definition: iuup.h:43
const struct tlv_definition cbsp_att_tlvdef
Definition: gsm48049.c:84
struct osmo_location_area_id lac
Definition: gsm23003.h:23
@ GSM0808_CAUSE_TRAFFIC
Definition: gsm_08_08.h:382
const struct osmo_conv_code gsm0503_tch_hr
TCH/H convolutional code.
Definition: gsm0503_conv.c:945
@ GSM_CAUSE_INSUFF_RSRC
Definition: gsm_04_08_gprs.h:260
uint8_t fqc
Definition: iuup.h:79
Definition: gsm_23_032.h:68
const char * gsm0808_channel_type_name(const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:2199
@ NM_ATT_RACH_B_THRESH
Definition: gsm_12_21.h:358
#define GSM48_MT_MM_TMSI_REALL_CMD
Definition: gsm_04_08.h:1668
struct osmo_gsm48_si_selection_params selection_params
Definition: gsm48_rest_octets.h:91
static uint8_t * msgb_tlv_put(struct msgb *msg, uint8_t tag, uint8_t len, const uint8_t *val)
put (append) a TLV field to a Message buffers
Definition: tlv.h:366
@ GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED
Definition: gsm_08_08.h:412
const char * osmo_bts_feature_name(enum osmo_bts_features feature)
return description string of a BTS feature (osmo_bts_features_descs).
Definition: bts_features.c:58
int gsm48_decode_connected(struct gsm_mncc_number *connected, const uint8_t *lv)
Decode TS 04.08 Connected Number IE (10.5.4.13)
Definition: gsm48_ie.c:628
@ OSMO_GSM44068_CAUSE_REQUESTED_SERVICE_NOT_SUB
Definition: gsm_44_068.h:97
@ NM_NACK_SPEC_IMPL_NOTSUPP
Definition: gsm_12_21.h:615
@ SAP_IUUP_RNL
Definition: prim.h:23
static const int tch_ahs_7_4_puncture[]
Definition: gsm0503_conv.c:1026
static const uint8_t tch_afs_10_2_state[][2]
Definition: gsm0503_conv.c:408
@ SGSAP_MSGT_ALERT_REJ
Definition: gsm_29_118.h:20
int osmo_int_to_float_str_buf(char *buf, size_t buflen, int64_t val, unsigned int precision)
uint16_t gsm_arfcn2freq10(uint16_t arfcn, int uplink)
Convert an ARFCN to the frequency in MHz * 10.
Definition: gsm_utils.c:807
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former.
Definition: gsm_49_031.h:56
enum abis_nm_msgtype abis_nm_nacks[33]
All NACKs (negative acknowledgements.
Definition: abis_nm.c:73
char * osmo_dump_gsmtime(const struct gsm_time *tm)
Definition: gsm_utils.c:914
bool IPTIs_present
Definition: iuup.h:67
struct llist_head fail_list
Definition: cbsp.h:231
@ NM_ATT_INTAVE_PARAM
Definition: gsm_12_21.h:340
uint8_t max_txpwr
Definition: gsm48_rest_octets.h:48
@ NM_OC_IPAC_E1_TRUNK
Definition: gsm_12_21.h:293
static int osmo_bssmap_le_dec_perform_loc_resp(struct bssmap_le_perform_loc_resp *params, enum bssmap_le_msgt msgt, struct osmo_bssmap_le_err **err, void *err_ctx, const struct tlv_parsed *tp)
Definition: bssmap_le.c:604
enum osmo_gsup_message_class message_class
Indicate the message class to trivially dispatch incoming GSUP messages to the right code paths.
Definition: gsup.h:362
@ GSM0808_LCLS_CSC_DO_NOT_CONNECT
Definition: gsm_08_08.h:794
@ BSS_MAP_MSG_MSC_INVOKE_TRACE
Definition: gsm_08_08.h:129
int osmo_gsm48_range_enc_arfcns(enum osmo_gsm48_range range, const int *arfcns, int size, int *out, const int index)
Range encode the ARFCN list.
Definition: gsm48_arfcn_range_encode.c:132
@ BSSMAP_LE_IEI_PKT_MEAS_REP
Definition: gsm_49_031.h:121
@ NM_CHANC_IPAC_PDCH
Definition: gsm_12_21.h:562
union gsm0808_cell_id_u id
Definition: gsm0808_utils.h:57
static unsigned int msgb_l1len(const struct msgb *msgb)
#define GSM48_IE_CALLED_BCD
Definition: gsm_04_08.h:1796
@ NM_MT_LOAD_END_NACK
Definition: gsm_12_21.h:92
int dtmf
Definition: mncc.h:73
Definition: gsm_49_031.h:64
static void osmo_bsslap_ie_enc_cell_id(struct msgb *msg, uint16_t cell_id)
Definition: bsslap.c:87
DEPRECATED: This definition of the cell identifier list is insufficient.
Definition: gsm_08_08.h:774
@ OSMO_IUUP_RNL_DATA
Definition: iuup.h:28
enum gsm48_bcap_transp transp
Definition: mncc.h:28
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS
Definition: gsm_49_031.h:169
char * gsm0808_cell_id_list_name_c(const void *ctx, const struct gsm0808_cell_id_list2 *cil)
Definition: gsm0808_utils.c:2179
uint8_t * ss_info
ASN.1 encoded MAP payload for Supplementary Services.
Definition: gsup.h:330
@ GA_MT_RC_REGISTER_REJECT
Definition: gsm_44_318.h:26
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT
Definition: gsup.h:142
int osmo_gsm48_rest_octets_si1_encode(uint8_t *data, uint8_t *nch_pos, int is1800_net)
Definition: gsm48_rest_octets.c:38
const char * osmo_cgi_ps_name(const struct osmo_cell_global_id_ps *cgi_ps)
Return MCC-MNC-LAC-RAC-CI as string, in a static buffer.
Definition: gsm23003.c:343
uint32_t t_ms
Definition: iuup.h:42
const char * gsm0808_diagnostics_octet_location_str(uint8_t pointer)
Definition: gsm0808.c:2625
static int parse_ss_info_elements(const uint8_t *ss_ie, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:430
int osmo_gsup_sms_decode_sm_rp_da(struct osmo_gsup_message *gsup_msg, uint8_t *data, size_t data_len)
Decode SM-RP-DA IE (see 7.6.8.1), Destination Address.
Definition: gsup_sms.c:90
static const uint8_t tch_afs_10_2_output[][2]
Definition: gsm0503_conv.c:415
static const uint8_t tch_afs_7_95_term_state[]
Definition: gsm0503_conv.c:507
@ OSMO_GSUP_CHARG_CHAR_IE
Definition: gsup.h:79
@ OSMO_GSUP_PDP_CONTEXT_ID_IE
Definition: gsup.h:75
uint8_t mi_len
Definition: gsm_04_08.h:1221
@ GA_MT_CSR_REQUEST_REJECT
Definition: gsm_44_318.h:68
int osmo_auth_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand) OSMO_DEPRECATED_OUTSIDE("Use osmo_auth_gen_vec2 instead")
Generate authentication vector.
Definition: auth_core.c:217
@ NM_ATT_SITE_OUTPUTS
Definition: gsm_12_21.h:363
@ OSMO_GSUP_MSGT_AUTH_FAIL_REPORT
Definition: gsup.h:144
static int parse_ss_return_result(const uint8_t *rr_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:602
@ GSM0808_IE_RETURN_ERROR_CAUSE
Definition: gsm_08_08.h:268
@ IUUP_PROC_RATE_CTRL
Definition: gsm_25_415.h:183
static int cbsp_dec_write_repl_fail(struct osmo_cbsp_write_replace_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:762
const uint8_t * sm_rp_mms
SM-RP-MMS (More Messages to Send), section 7.6.8.7.
Definition: gsup.h:351
@ OSMO_GPRS_MCS1
Definition: gsm_44_060.h:233
@ OSMO_GSM44068_CAUSE_IE_NON_EXISTENT
Definition: gsm_44_068.h:106
#define GSM48_MT_RR_UPLINK_RELEASE
Definition: gsm_04_08.h:1634
Parsed representation of a Cell Identifier List IE (3GPP TS 48.008 3.2.2.27).
Definition: gsm0808_utils.h:61
@ NM_ATT_IPACC_CUR_SW_CFG
Definition: gsm_12_21.h:433
@ GSM48_CMODE_SPEECH_V1
Speech: FR (TCH/FS) or HR (TCH/HS)
Definition: gsm_04_08.h:754
#define GSM48_MT_RR_PART_REL
Definition: gsm_04_08.h:1581
bool gsm0808_cell_ids_match(const struct gsm0808_cell_id *id1, const struct gsm0808_cell_id *id2, bool exact_match)
Return true if the common information between the two Cell Identifiers match.
Definition: gsm0808_utils.c:1919
static void append_earfcn(struct bitvec *bv, const struct osmo_earfcn_si2q *e, size_t *e_offset, uint8_t budget)
Definition: gsm48_rest_octets.c:241
@ GSM48_REJECT_IMSI_UNKNOWN_IN_VLR
Definition: gsm_04_08.h:2016
@ BSSMAP_LE_IEI_LCS_QoS
Definition: gsm_49_031.h:97
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:516
struct gsm48_system_information_type_header header
Definition: gsm_04_08.h:806
const struct tlv_definition abis_nm_att_tlvdef_ipa
GSM A-bis OML IPA TLV parser definition.
Definition: abis_nm.c:470
int gsm48_encode_callerid(struct msgb *msg, int ie, int max_len, const struct gsm_mncc_number *callerid)
Encode TS 04.08 Caller ID IE.
Definition: gsm48_ie.c:493
@ GSM48_CMODE_SPEECH_V3_VAMOS
Same as GSM48_CMODE_SPEECH_AMR, in VAMOS mode.
Definition: gsm_04_08.h:799
void gsm48_mcc_mnc_from_bcd(uint8_t *bcd_src, uint16_t *mcc, uint16_t *mnc)
Definition: gsm48.c:1125
@ NM_NACK_FILE_NOTACTIVATE
Definition: gsm_12_21.h:631
@ SGSAP_MSGT_PAGING_REQ
Definition: gsm_29_118.h:8
@ GSM0808_CAUSE_CLASS_NORM1
Definition: gsm_08_08.h:435
char * swversion
Definition: ipa.h:19
@ GSM48_RR_CAUSE_NO_CELL_ALLOC_A
Definition: gsm_04_08.h:1951
uint8_t gsm0808_enc_cell_id_list_segment(struct msgb *msg, uint8_t ie_type, const struct gsm0808_cell_id_list_segment *ci)
Encode Cell Identifier List Segment IE (3GPP TS 48.008 3.2.2.27a).
Definition: gsm0808_utils.c:2508
struct llist_head list
Definition: cbsp.h:48
#define NM_IPAC_F_CIPH_ALGO_A55
Definition: gsm_12_21.h:793
@ GSM_PCHAN_CCCH_SDCCH4_CBCH
Definition: gsm_utils.h:226
#define GSM48_IE_CH_DESC_1_BEFORE
Definition: gsm_04_08.h:1840
char * osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni)
Definition: apn.c:44
@ GSM48_RR_CAUSE_ABNORMAL_UNSPEC
Definition: gsm_04_08.h:1934
@ BSS_MAP_MSG_COMPLETE_LAYER_3
Definition: gsm_08_08.h:156
#define GSM48_IE_LSA_IDENT
Definition: gsm_04_08.h:1779
static int gsm411_mmsms_cp_error(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:357
@ CBSP_MSGT_SET_DRX_COMPL
Definition: gsm_48_049.h:64
@ IUUP_PROC_ERR_EVENT
Definition: gsm_25_415.h:185
@ NM_ATT_TEST_NO
Definition: gsm_12_21.h:370
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM
Definition: gsm_49_031.h:168
@ NM_ATT_AUTON_REPORT
Definition: gsm_12_21.h:322
static uint32_t kasumi_FL(uint32_t I, const uint16_t *KLi1, const uint16_t *KLi2, unsigned i)
Definition: kasumi.c:109
@ GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_CDMA2000
Definition: gsm_08_08.h:272
@ SGSAP_SGS_CAUSE_IMSI_DET_EPS
Definition: gsm_29_118.h:127
@ GSM0808_AMR_MODE_12_2
Definition: gsm_08_08.h:712
#define ENCRY_INFO_PERM_ALGO_MAXLEN
Definition: gsm_08_08.h:759
@ GSM0808_IE_SPEECH_CODEC
Definition: gsm_08_08.h:306
@ GAD_TYPE_HA_ELL_POINT_UNC_ELLIPSE
High accuracy ellipsoid point with uncertainty ellipse.
Definition: gsm_23_032.h:47
@ GSM0808_IE_TRACE_TYPE
Definition: gsm_08_08.h:230
struct msgb * gsm0808_create_handover_detect(void)
Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40.
Definition: gsm0808.c:1155
abis_nm_chan_comb
Definition: gsm_12_21.h:545
static const struct smcdownstate smcdownstatelist[]
@ GSM0808_CAUSE_DISTANCE
Definition: gsm_08_08.h:373
uint8_t invoke_id
Definition: gsm0480.h:46
static int encode_t3192(unsigned int t3192)
Definition: gsm48_rest_octets.c:986
unsigned long gsm340_validity_period(uint8_t sms_vpf, uint8_t *sms_vp)
decode validity period.
Definition: gsm0411_utils.c:213
@ NM_NACK_FILE_INCOMPLETE
Definition: gsm_12_21.h:629
struct msgb * gsm29118_create_imsi_det_ack(const char *imsi)
Definition: gsm29118.c:275
#define OSMO_STRBUF_APPEND(STRBUF, func, args...)
uint16_t * old_serial_nr
Definition: cbsp.h:82
uint64_t u64
Definition: common.h:24
bool geran_feature_package_2
Definition: gsm_04_08.h:170
#define GSM48_IE_CHANMODE_3
Definition: gsm_04_08.h:1829
#define ASN1_IA5_STRING_TAG
Definition: gsm_04_80.h:123
#define NM_IPAC_F_CHANM_CSD_T_9k6
Definition: gsm_12_21.h:829
uint8_t gsm411_unbcdify(uint8_t value)
Turn semi-octet representation into int: 0x89 => 98.
Definition: gsm0411_utils.c:74
int gsm48_encode_more(struct msgb *msg)
Encode TS 04.08 More Data IE (10.5.4.19)
Definition: gsm48_ie.c:858
@ GSM0808_CAUSE_SWITCH_CIRCUIT_POOL
Definition: gsm_08_08.h:405
@ GSM_PCHAN_CCCH_SDCCH4
Definition: gsm_utils.h:219
@ OSMO_GSM44068_CAUSE_SERVICE_NOT_AUTHORIZED
Definition: gsm_44_068.h:86
@ GSM0808_IE_INTERFERENCE_BAND_TO_USE
Definition: gsm_08_08.h:213
static const char * osmo_gad_type_name(enum gad_type val)
Definition: gad.h:172
const char * osmo_lai_name(const struct osmo_location_area_id *lai)
Return MCC-MNC-LAC as string, in a static buffer.
Definition: gsm23003.c:227
@ OSMO_GSUP_MSGT_E_PREPARE_SUBSEQUENT_HANDOVER_RESULT
Definition: gsup.h:188
static const uint8_t tch_afs_4_75_output[][2]
Definition: gsm0503_conv.c:814
@ OSMO_CBSP_CAUSE_PARAM_NOT_RECOGNISED
Definition: cbsp.h:246
#define APN_MAXLEN
Definition: apn.h:11
int gprs_cipher_load(const char *path)
Definition: gprs_cipher_core.c:67
static const uint8_t mcs_output[][2]
Definition: gsm0503_conv.c:55
uint8_t qrxlm
Definition: sysinfo.h:63
@ BSSMAP_LE_POS_METHOD_OMITTED
Definition: gsm_49_031.h:153
@ NM_ATT_IPACC_RLC_CFG_3
Definition: gsm_12_21.h:454
#define GSM23003_HOME_NETWORK_DOMAIN_LEN
Definition: gsm_23_003.h:39
@ OSMO_CBSP_CAUSE_BSC_MEMORY_EXCEEDED
Definition: cbsp.h:254
int gsm411_push_cp_header(struct msgb *msg, uint8_t proto, uint8_t trans, uint8_t msg_type)
Prefix Message buffers with a 04.08/04.11 CP header.
Definition: gsm0411_utils.c:352
static const uint8_t gsm0502_tch_f_facch_block_map[3][8]
Definition: gsm0502.c:76
uint16_t lac
Definition: gsm23003.h:18
@ NM_ATT_EVENT_TYPE
Definition: gsm_12_21.h:333
@ GSM0808_IE_VGCS_VBS_CELL_STATUS
Definition: gsm_08_08.h:292
const struct value_string gsm48_chan_mode_names[]
Definition: gsm48.c:447
const struct value_string gprs_upd_t_strs_[]
String names of GPRS Location Update Types.
Definition: gsm_04_08_gprs.c:185
#define SMR_LOG_STR
Definition: gsm0411_smr.c:66
const char * osmo_plmn_name2(const struct osmo_plmn_id *plmn)
Same as osmo_plmn_name(), but returning in a different static buffer.
Definition: gsm23003.c:190
@ BSS_MAP_MSG_CONNECTIONLESS_INFORMATION
Definition: gsm_08_08.h:131
#define GSM48_IE_CH_DESC_2_BEFORE
Definition: gsm_04_08.h:1842
static const uint8_t mcs_state[][2]
Definition: gsm0503_conv.c:36
@ OSMO_GSUP_CANCEL_TYPE_IE
Definition: gsup.h:70
@ GA_MT_CSR_UL_DIRECT_XFER
Definition: gsm_44_318.h:56
struct llist_head list
Definition: cbsp.h:43
@ NM_OC_BS11_ADJC
Definition: gsm_12_21.h:298
int gsm48_encode_progress(struct msgb *msg, int lv_only, const struct gsm_mncc_progress *p)
Encode TS 04.08 Progress IE (10.5.4.21)
Definition: gsm48_ie.c:762
@ IUUP_FSM_EVT_IUUP_CONFIG_REQ
Definition: iuup.c:148
osmo_gsup_iei
Information Element Identifiers for GSUP IEs.
Definition: gsup.h:64
@ GSM0808_AMR_MODE_10_2
Definition: gsm_08_08.h:711
#define GSM48_MI_SIZE
Definition: gsm_04_08.h:2229
@ GSM0808_IE_SELECTED_PLMN_ID
Definition: gsm_08_08.h:327
@ OSMO_EVT_CRIT_RTP_TOUT
Definition: gsm_12_21.h:261
@ GSM0808_IE_ATTACH_INDICATOR
Definition: gsm_08_08.h:330
#define A5_R3_MASK
Definition: a5.c:108
@ GSM0808_CAUSE_DTM_HO_PS_ALLOC_FAILURE
Definition: gsm_08_08.h:402
#define gsm48_push_l3hdr_tid(msg, pdisc, tid, msg_type)
Definition: gsm48.h:127
enum osmo_auth_algo algo
Definition: auth.h:46
uint8_t type14_fn
Definition: iuup.c:137
#define NM_IPAC_F_CHANT_BCH
Definition: gsm_12_21.h:804
enum gad_type type
Definition: gad.h:151
struct msgb * ipa_ccm_make_id_resp_from_req(const struct ipaccess_unit *dev, const uint8_t *data, unsigned int len)
Generate IPA CCM ID RESP based on requets payload.
Definition: ipa.c:403
const struct osmo_conv_code gsm0503_tch_ahs_5_9
TCH/AHS 5.9 kbits convolutional code.
Definition: gsm0503_conv.c:1126
static void new_cp_state(struct gsm411_smc_inst *inst, enum gsm411_cp_state state)
Definition: gsm0411_smc.c:137
@ BSSMAP_LE_IEI_SHORT_ID_SET
Definition: gsm_49_031.h:130
@ GSM0808_ALG_ID_A5_2
Definition: gsm_08_08.h:574
#define NM_IPAC_F_CIPH_ALGO_A53
Definition: gsm_12_21.h:791
#define GSM48_MT_RR_CFG_CHG_ACK
Definition: gsm_04_08.h:1564
static const char * osmo_bssmap_le_msgt_name(enum bssmap_le_msgt val)
Definition: bssmap_le.h:52
@ BSSMAP_LE_MSGT_CONN_ORIENTED_INFO
Definition: gsm_49_031.h:90
uint32_t osmo_gad_dec_unc(uint8_t unc)
Decode an uncertainty circle value according to 3GPP TS 23.032.
Definition: gad.c:178
int osmo_gad_raw_to_str_buf(char *buf, size_t buflen, const union gad_raw *raw)
Return a human readable representation of a raw GAD PDU.
Definition: gad.c:415
static uint32_t decode_wperiod(uint8_t in)
Definition: cbsp.c:614
static int cbsp_enc_reset(struct msgb *msg, const struct osmo_cbsp_reset *in)
Definition: cbsp.c:326
#define GSM48_MT_CC_CALL_CONF
Definition: gsm_04_08.h:1685
struct msgb * gsm29118_create_service_abort_req(const char *imsi)
Definition: gsm29118.c:433
#define GSM48_MT_RR_CHAN_MODE_MODIF_ACK
Definition: gsm_04_08.h:1623
const __thread char * osmo_cbsp_errstr
Definition: cbsp.c:33
#define APPEND_CELL_ID_U(DISCR, U)
Definition: gsm0808_utils.c:2089
const struct osmo_conv_code gsm0503_tch_f48
TCH/F4.8 convolutional code: 148 bits blocks, rate 1/3, k = 5 G1 = 1 + D + D3 + D4 G2 = 1 + D2 + D4 G...
Definition: gsm0503_conv.c:170
@ CBSP_MSGT_FAILURE
Definition: gsm_48_049.h:70
@ SGSAP_EPS_LUT_NORMAL
Definition: gsm_29_118.h:86
char * osmo_bssap_le_pdu_to_str_c(void *ctx, const struct bssap_le_pdu *bssap_le)
Return a human readable string describing a BSSAP-LE PDU.
Definition: bssmap_le.c:932
struct msgb * gsm0808_create_handover_required(const struct gsm0808_handover_required *params)
Create BSSMAP HANDOVER REQUIRED message.
Definition: gsm0808.c:886
static int cbsp_enc_load_query_fail(struct msgb *msg, const struct osmo_cbsp_load_query_failure *in)
Definition: cbsp.c:282
struct gsm48_chan_desc chan_desc
Definition: gsm_48_071.h:100
static void msgb_sgsap_imsi_put(struct msgb *msg, const char *imsi)
Definition: gsm29118.c:216
int ipa_ccm_rcvmsg_bts_base(struct msgb *msg, struct osmo_fd *bfd)
Definition: ipa.c:510
@ NM_MT_DISC_MDROP_LINK
Definition: gsm_12_21.h:120
@ GSM0808_IE_CS_TO_PS_SRVCC_IND
Definition: gsm_08_08.h:325
struct msgb * gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext)
Create BSSMAP Cipher Mode Reject message.
Definition: gsm0808.c:339
@ GSM48_REJECT_ILLEGAL_ME
Definition: gsm_04_08.h:2018
struct msgb * gsm0808_create_paging2(const char *imsi, const uint32_t *tmsi, const struct gsm0808_cell_id_list2 *cil, const uint8_t *chan_needed)
Create BSSMAP PAGING message.
Definition: gsm0808.c:768
struct msgb * gsm29118_create_lu_ack(const char *imsi, const struct osmo_location_area_id *lai, const uint8_t *new_id, unsigned int new_id_len)
8.9 SGsAP-LOCATION-UPDATE-ACCEPT.
Definition: gsm29118.c:286
@ BSS_MAP_MSG_REROUTE_COMPLETE
Definition: gsm_08_08.h:120
static __thread char dbuf[256]
Definition: gsm0808_utils.c:717
uint16_t lac
Definition: gsm_04_08.h:900
@ NM_MT_GET_ATTR_NACK
Definition: gsm_12_21.h:186
#define GSM48_IE_CONN_BCD
Definition: gsm_04_08.h:1792
@ GSM0808_IE_OMCID
Definition: gsm_08_08.h:235
@ OSMO_GSUP_PDP_INFO_COMPL_IE
Definition: gsup.h:68
char * gsm48_pdisc_msgtype_name_buf(char *buf, size_t buf_len, uint8_t pdisc, uint8_t msg_type)
Compose a string naming the message type for given protocol, in a caller-provided buffer.
Definition: gsm48.c:1756
const struct value_string gsm0808_lcls_status_names[]
Definition: gsm0808.c:2684
uint16_t cbq
Definition: gsm48_rest_octets.h:67
@ NM_ATT_IPACC_ALM_THRESH_LIST
Definition: gsm_12_21.h:446
uint16_t * old_serial_nr
Definition: cbsp.h:240
@ GAD_TYPE_HA_ELL_POINT_ALT_UNC_ELL
High accuracy ellipsoid point with altitude and uncertainty ellipsoid.
Definition: gsm_23_032.h:49
static int cbsp_enc_write_repl_fail(struct msgb *msg, const struct osmo_cbsp_write_replace_failure *in)
Definition: cbsp.c:208
uint16_t msg_id
Definition: cbsp.h:136
#define GPRS_DET_T_MO_IMSI
Definition: gsm_04_08_gprs.h:60
struct llist_head entry
Definition: gsm23236.h:20
uint8_t cr[5]
Node ID.
Definition: gsm29205.h:33
@ BSS_MAP_MSG_INT_HANDOVER_REQUIRED
Definition: gsm_08_08.h:96
#define GSM48_MT_RR_SYSINFO_19
Definition: gsm_04_08.h:1618
@ GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION_EXTENDED_E_ARFCNS
Definition: gsm_08_08.h:360
const char * osmo_sai_name(const struct osmo_service_area_id *sai)
Return MCC-MNC-LAC-SAC as string, in a static buffer.
Definition: gsm23003.c:387
@ OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST
Definition: gsup.h:170
uint8_t gmsk_multislot_power_prof
Definition: gsm_04_08.h:171
@ BTS_FEAT_MULTI_TSC
Definition: bts_features.h:17
@ NM_ATT_NY1
Definition: gsm_12_21.h:351
parsed/decoded GSUP protocol message
Definition: gsup.h:302
int osmo_bcd2str(char *dst, size_t dst_size, const uint8_t *bcd, int start_nibble, int end_nibble, bool allow_hex)
static int gsm411_send_abort(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:197
@ CBSP_IEI_RECOVERY_IND
Definition: gsm_48_049.h:35
@ BSS_MAP_MSG_PERFORM_LOCATION_RESPONSE
Definition: gsm_08_08.h:116
const struct osmo_conv_code gsm0503_tch_f144
TCH/F14.4 convolutional code: 290 bits blocks, rate 1/2, k = 5 G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:220
@ OSMO_AUTH_ALG_TUAK
Definition: auth.h:36
@ GSM0808_LCLS_CSC_CONNECT
Definition: gsm_08_08.h:793
static int xor_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_xor.c:45
@ GSM48_CC_CAUSE_USER_ALERTING_NA
Definition: gsm_04_08.h:1964
#define GSM48_MT_RR_IMM_ASS_EXT
Definition: gsm_04_08.h:1553
@ GSM0808_ALG_ID_A5_3
Definition: gsm_08_08.h:575
@ BSSLAP_MSGT_MS_POS_CMD
Definition: gsm_48_071.h:35
static const uint8_t tch_ahs_5_9_term_output[]
Definition: gsm0503_conv.c:1113
struct llist_head fail_list
Definition: cbsp.h:209
struct bssmap_le_perform_loc_resp perform_loc_resp
Definition: gsm_49_031.h:220
#define ABIS_NM_MSG_SIZE
Definition: gsm_12_21.h:42
static int gsm411_rl_data_req(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:219
@ NM_MT_SET_ALARM_THRES_ACK
Definition: gsm_12_21.h:188
struct msgb * gsm0808_create_vgcs_vbs_area_cell_info(const struct gsm0808_vgcs_vbs_area_cell_info *params)
Create BSSMAP VGCS/VBS AREA CELL INFO message, 3GPP TS 48.008 3.2.1.79.
Definition: gsm0808.c:2062
@ BSS_MAP_MSG_HANDOVER_DETECT
Definition: gsm_08_08.h:95
bool e_utra_wb_rsrq_meas_supp
Definition: gsm_04_08.h:222
@ GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG
Definition: gsm_08_08.h:388
static uint8_t osmo_bssmap_le_ie_enc_lcs_client_type(struct msgb *msg, enum bssmap_le_lcs_client_type client_type)
Encode full BSSMAP-LE LCS Client Type IE, including IEI tag and length.
Definition: bssmap_le.c:227
static uint8_t _a5_2_get_output(uint32_t r[])
GSM A5/2 Output function.
Definition: a5.c:307
uint8_t mi_len
Definition: gsm_04_08.h:807
@ NM_PCAUSE_T_MANUF
Definition: gsm_12_21.h:594
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:104
int gsm48_encode_bcd_number(uint8_t *bcd_lv, uint8_t max_len, int h_len, const char *input)
convert a ASCII phone number to 'called/calling/connect party BCD number'
Definition: gsm48_ie.c:149
struct msgb * gsm0480_create_release_complete(uint8_t trans_id)
Create a GSM 04.80 Release complete (see 2.5) message, prefixed by GSM 04.08 L3 header with a given t...
Definition: gsm0480.c:941
uint8_t cipher_response_mode
3GPP TS 48.008 3.2.2.34 Cipher Response Mode: 0 - IMEISV must not be included by the Mobile Station; ...
Definition: gsm0808.h:63
@ BTS_FEAT_PAGING_COORDINATION
Definition: bts_features.h:27
struct gprs_cs_desc::@114 downlink
bool cause_rr_set
whether cause_rr is set
Definition: gsup.h:378
static uint8_t gsm0808_enc_gcr(struct msgb *msg, const struct osmo_gcr_parsed *g)
Create BSSMAP Global Call Reference, 3GPP TS 48.008 §3.2.2.115.
Definition: gsm0808_utils.c:638
static struct osmo_auth_impl xor2g_alg
Definition: auth_xor_2g.c:69
@ GSM48_CMODE_DATA_14k5
CSD: 14.5 kbit/s radio interface rate, 14.4 kbit/s services (TCH/F14.4)
Definition: gsm_04_08.h:786
#define NM_IPAC_F_FREQ_BAND_480
Definition: gsm_12_21.h:785
static const struct value_string rr_cause_names[]
Definition: gsm48.c:158
struct msgb * gsm29118_create_paging_req(struct gsm29118_paging_req *params)
Definition: gsm29118.c:331
static int osmo_bssmap_le_ie_dec_cell_id(struct gsm0808_cell_id *cell_id, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:416
uint8_t file_id_len
Definition: gsm_12_21.h:951
@ GSM0808_IE_OSMO_OSMUX_SUPPORT
Definition: gsm_08_08.h:336
uint8_t classmark3_len
Definition: gsm_04_08.h:235
@ CBSP_MSGT_MSG_STATUS_QUERY_FAIL
Definition: gsm_48_049.h:62
@ GSM0808_CAUSE_EQUIPMENT_FAILURE
Definition: gsm_08_08.h:391
@ GSM411_RP_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_11.h:90
static const char * cc_state_names[32]
Definition: gsm48.c:226
struct osmo_gsm48_si_power_offset power_offset
Definition: gsm48_rest_octets.h:92
@ SGSAP_IE_ERR_MSG
Definition: gsm_29_118.h:63
static int osmo_bssmap_le_ie_dec_lcs_qos(struct osmo_bssmap_le_lcs_qos *qos, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:303
@ NM_ATT_TSC
Definition: gsm_12_21.h:379
@ BTS_FEAT_ACCH_REP
Definition: bts_features.h:29
struct gsm48_classmark3::@43 dtm_gprs_multislot_cap
#define GSM0480_OP_CODE_ERASE_SS
Definition: gsm_04_80.h:71
struct osmo_cbsp_reset reset
Definition: cbsp.h:291
uint8_t data[0]
Definition: bssmap_le.c:458
static const uint8_t tch_afs_5_9_state[][2]
Definition: gsm0503_conv.c:654
@ BSSMAP_LE_IEI_RANDOM_ID_SET
Definition: gsm_49_031.h:131
struct gad_raw_head h
type = GAD_TYPE_ELL_POINT
Definition: gsm_23_032.h:2
enum gsm48_gsm_cause cause_sm
Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157.
Definition: gsup.h:384
@ GSM0808_IE_SPEECH_CODEC_LIST
Definition: gsm_08_08.h:305
gprs_ciph_algo
Definition: gprs_cipher.h:13
@ BSSLAP_MSGT_TA_RESPONSE
Definition: gsm_48_071.h:30
@ BSSLAP_IEI_CIPH_MODE_SET
Definition: gsm_48_071.h:71
@ GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED
Definition: gsm_04_08.h:2028
static void msgb_put_cbsp_cell_list(struct msgb *msg, const struct osmo_cbsp_cell_list *cl)
Definition: cbsp.c:46
@ NM_MT_REINIT_NACK
Definition: gsm_12_21.h:171
int gsm48_mi_to_string(char *string, int str_len, const uint8_t *mi, int mi_len)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:1310
static void osmo_bsslap_ie_enc_chan_desc(struct msgb *msg, const struct gsm48_chan_desc *chan_desc)
Definition: bsslap.c:138
static bool iuup_rx_initialization(struct osmo_iuup_instance *iui, struct osmo_iuup_tnl_prim *itp)
Definition: iuup.c:528
struct msgb * gsm0808_create_ass_fail(uint8_t cause, const uint8_t *rr_cause, const struct gsm0808_speech_codec_list *scl)
Create BSSMAP Assignment Failure message.
Definition: gsm0808.c:698
@ GA_MT_RC_KEEPALIVE
Definition: gsm_44_318.h:59
uint16_t old_serial_nr
Definition: cbsp.h:129
@ NM_EVT_EQUIP_FAIL
Definition: gsm_12_21.h:576
int gsm0480_decode_ss_request(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:350
uint8_t assoc_radio_cap
Definition: gsm_04_08.h:116
@ GSM0808_PERM_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:502
uint8_t cause_rr
0 is a valid cause
Definition: gsup.h:377
#define GSM411_MT_RP_ACK_MT
Definition: gsm_04_11.h:55
@ OSMO_GSUP_MSGT_READY_FOR_SM_ERROR
Definition: gsup.h:175
@ TLLI_LOCAL
Definition: gsm_utils.h:201
@ GSM48_REJECT_MSG_NOT_COMPATIBLE
Definition: gsm_04_08.h:2035
static struct osmo_auth_impl xor_alg
Definition: auth_xor.c:178
#define fn_remap_table_from_traffic_block_map(table, map, rows, cols, repeat)
Definition: gsm0502.c:126
@ NM_MT_DISC_TERR_SIGN_ACK
Definition: gsm_12_21.h:108
int osmo_gsup_encode_an_apdu(struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
Encode AN-apdu (see 3GPP TS 29.002 7.6.9.1).
Definition: gsup.c:669
@ NM_ATT_ARFCN_LIST
Definition: gsm_12_21.h:321
@ GSM0808_IE_CALL_ID
Definition: gsm_08_08.h:307
struct osmo_cbsp_restart restart
Definition: cbsp.h:295
int gsm0808_cell_id_u_name(char *buf, size_t buflen, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u)
Print a human readable name of the cell identifier to the char buffer.
Definition: gsm0808_utils.c:1821
@ GSM0808_CAUSE_PREEMPTION
Definition: gsm_08_08.h:400
#define GSM48_MT_RR_UPLINK_FREE
Definition: gsm_04_08.h:1635
Definition: bssmap_le.h:32
uint8_t u8
Definition: common.h:27
@ SGSAP_SGS_CAUSE_IMSI_UNKNOWN
Definition: gsm_29_118.h:129
#define GSM411_MNSMS_REL_REQ
Definition: gsm0411_smc.h:27
@ GSM48_CC_CAUSE_RESP_STATUS_INQ
Definition: gsm_04_08.h:1972
@ BTS_FEAT_ABIS_OSMO_PCU
Definition: bts_features.h:32
static int asc_to_bcd(const char asc)
convert a single ASCII character to call-control BCD
Definition: gsm48_ie.c:126
enum bsslap_cause abort
Definition: gsm_48_071.h:113
@ OSMO_CBSP_CAUSE_LAI_OR_LAC_NOT_VALID
Definition: cbsp.h:261
@ NM_NACK_CAPACITY_RESTR
Definition: gsm_12_21.h:622
bool extra_information_present
Definition: gsm0808.h:132
enum osmo_gsup_cn_domain cn_domain
Definition: gsup.h:319
static unsigned long gsm340_vp_relative(uint8_t *sms_vp)
Definition: gsm0411_utils.c:150
@ BSSMAP_LE_MSGT_PERFORM_LOC_INFO
Definition: gsm_49_031.h:87
static const uint8_t tch_ahs_7_4_output[][2]
Definition: gsm0503_conv.c:1009
#define TLVP_PRESENT(x, y)
Definition: tlv.h:556
@ OSMO_CGI_PART_CI
Definition: gsm23003.h:47
@ NM_NACK_ATTRLIST_INCONSISTENT
Definition: gsm_12_21.h:614
@ NM_CHANC_TCHHalf
Definition: gsm_12_21.h:547
char * osmo_rai_name_c(const void *ctx, const struct gprs_ra_id *rai)
Return MCC-MNC-LAC-RAC as string, in dynamically-allocated output buffer.
Definition: gsm48.c:217
#define GSM48_MT_RR_UPLINK_BUSY
Definition: gsm_04_08.h:1636
int osmo_csd_3k6_decode_frame(struct osmo_v110_decoded_frame *fr, const ubit_t *ra_bits, size_t n_bits)
Decode a 36-bit GSM 3k6kbit/s CSD frame present as 36 ubits into a struct osmo_v110_decoded_frame.
Definition: gsm44021.c:119
#define ABIS_OM_MDISC_MMI
Message Discriminator for Man Machine Interface.
Definition: gsm_12_21.h:48
struct osmo_sub_auth_data2::@108::@109 umts
int rsl_ccch_conf_to_bs_cc_chans(int ccch_conf)
Definition: rsl.c:483
@ GSM48_CMODE_SPEECH_V1_VAMOS
Same as GSM48_CMODE_SPEECH_V1, in VAMOS mode.
Definition: gsm_04_08.h:795
void ipa_prepend_header(struct msgb *msg, int proto)
Definition: ipa.c:543
static uint32_t table_uncertainty_1e3[128]
Definition: gad.c:158
@ SGSAP_ID_NONEPS_T_COMBINED_UE_EPS_NONEPS
Definition: gsm_29_118.h:107
@ BSS_MAP_MSG_UPLINK_REJECT_CMD
Definition: gsm_08_08.h:175
static __attribute__((constructor))
Definition: auth_comp128v23.c:67
@ NM_NACK_WAIT
Definition: gsm_12_21.h:633
#define GSM48_MT_CC_START_DTMF_REJ
Definition: gsm_04_08.h:1720
uint8_t bep_period
Definition: gsm_44_060.h:187
@ GMM_CAUSE_GSM_AUTH_UNACCEPT
Definition: gsm_04_08_gprs.h:239
bssmap_le_lcs_client_type
Definition: gsm_49_031.h:164
#define GSM_MI_TYPE_MASK
Definition: gsm_04_08.h:1766
uint32_t gsm0502_fn_remap(uint32_t fn, enum gsm0502_fn_remap_channel channel)
Calculate the frame number of the beginning of a block.
Definition: gsm0502.c:177
@ GSM48_CC_CAUSE_CALL_REJECTED
Definition: gsm_04_08.h:1965
@ OSMO_GSUP_SM_RP_OA_IE
Definition: gsup.h:102
uint8_t seq_last
Definition: gsm0808_utils.h:146
@ NM_OC_IPAC_CLK_MODULE
Definition: gsm_12_21.h:296
const struct osmo_conv_code gsm0503_mcs6
EDGE MCS-6 data convolutional code: 612 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1453
#define GSM414_MT_EGPRS_ST_RB_LOOP_CMD
Definition: gsm_04_14.h:82
#define DEC_ERR(RC, MSG_TYPE, IEI, CAUSE, fmt, args...)
Definition: bssmap_le.c:106
#define GSM0480_CTYPE_INVOKE
Definition: gsm_04_80.h:16
osmo_prim_cb user_prim_cb
Definition: iuup.c:133
int osmo_gsm48_range_enc_arfcns(enum osmo_gsm48_range rng, const int *arfcns, int sze, int *out, int idx)
Range encode the ARFCN list.
Definition: gsm48_arfcn_range_encode.c:132
struct msgb * gsm0808_create_vgcs_vbs_assign_stat(const struct gsm0808_vgcs_vbs_assign_stat *params)
Create BSSMAP VGCS/VBS ASSIGNMENT STATUS message, 3GPP TS 48.008 3.2.1.80.
Definition: gsm0808.c:2088
@ GSM_LCHAN_SDCCH
Definition: gsm_utils.h:237
static uint8_t * msgb_tl16v_put(struct msgb *msg, uint8_t tag, uint16_t len, const uint8_t *val)
put (append) a TL16V field to Message buffers
Definition: tlv.h:250
@ TLLI_RAND_G_RNTI
Definition: gsm_utils.h:207
bool utra_csg_cells_rep
Definition: gsm_04_08.h:211
const struct value_string osmo_gsm44068_msg_type_names[]
Definition: gsm44068.c:34
@ BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:86
#define GSM48_MT_CC_MODIFY_REJECT
Definition: gsm_04_08.h:1699
#define GSM48_MT_RR_CFG_CHG_REJ
Definition: gsm_04_08.h:1565
int osmo_auth_gen_vec2(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Generate authentication vector.
Definition: auth_core.c:186
@ BSS_MAP_MSG_CONFUSION
Definition: gsm_08_08.h:108
@ NM_ATT_IPACC_SUPP_FEATURES
Definition: gsm_12_21.h:449
@ SGSAP_SGS_CAUSE_IMSI_DET_EPS_NONEPS
Definition: gsm_29_118.h:128
const struct value_string abis_nm_adm_state_names[]
Human-readable names for OML administrative state.
Definition: abis_nm.c:686
struct gsm48_classmark3::@43::@54 dtm_egprs_multislot_cap
@ NM_MT_CONN_MDROP_LINK_NACK
Definition: gsm_12_21.h:119
@ SGSAP_IE_MOBILE_ID
Definition: gsm_29_118.h:56
const char * gsm0808_cell_id_name(const struct gsm0808_cell_id *cid)
Return a human readable representation of a Cell Identifier, like "LAC:123" or "CGI:001-01-42-23".
Definition: gsm0808_utils.c:2105
@ GSM48_CC_CAUSE_RECOVERY_TIMER
Definition: gsm_04_08.h:2003
@ OSMO_CBSP_CAUSE_EXT_CHAN_NOT_SUPPORTED
Definition: cbsp.h:258
@ OSMO_GSM44068_CSTATE_U2sl_U2
Definition: gsm_44_068.h:69
3GPP TS 48.008 §3.2.1.50 VGCS/VBS SETUP
Definition: gsm0808.h:336
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL
Definition: gsm_08_08.h:184
#define GSM48_PDISC_PDSS2
Definition: gsm_04_08.h:1438
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition: gsm0808_utils.h:55
@ GSM0808_SCT_FR3
FR AMR.
Definition: gsm_08_08.h:550
const struct value_string cbsp_msg_type_names[]
Definition: gsm48049.c:22
int gsm0808_dec_cell_id_list(struct gsm0808_cell_id_list *cil, const uint8_t *elem, uint8_t len)
DEPRECATED: Use gsm0808_dec_cell_id_list2 instead.
Definition: gsm0808_utils.c:1371
@ NM_NACK_INCORR_STRUCT
Definition: gsm_12_21.h:604
static const char * osmo_bsslap_msgt_name(enum bsslap_msgt val)
Definition: bsslap.h:41
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT
Definition: gsup.h:138
static const uint8_t tch_f24_state[][2]
Definition: gsm0503_conv.c:88
if(vty->type==VTY_SHELL_SERV)
static const struct value_string gsm0808_cause_names[]
Definition: gsm0808.c:2518
@ OSMO_GSM44068_PRIO_LEVEL_3
Definition: gsm_44_068.h:57
@ GSM0808_CAUSE_DOWNLINK_QUALITY
Definition: gsm_08_08.h:371
@ GSM_LCHAN_UNKNOWN
Definition: gsm_utils.h:240
@ NM_ATT_LIST_REQ_ATTR
Definition: gsm_12_21.h:342
@ GSM0808_CAUSE_INVALID_CELL
Definition: gsm_08_08.h:398
static int osmo_nri_parse_range(struct osmo_nri_range *nri_range, const char *first_str, const char *last_str)
Parse string arguments to a struct osmo_nri_range; useful for VTY config implementations.
Definition: gsm23236.c:454
enum bsslap_cause cause
Definition: gsm_48_071.h:101
uint8_t proto
Definition: ipaccess.h:17
#define GPRS_UPD_T_RA_LA_IMSI_ATT
Definition: gsm_04_08_gprs.h:73
@ GSM48_CMSERV_VBS
Definition: gsm_04_08.h:1739
@ NM_MT_CHG_HW_CONF_ACK
Definition: gsm_12_21.h:176
@ GSM0808_CAUSE_UPLINK_STRENGTH
Definition: gsm_08_08.h:370
@ NM_ATT_IPACC_UNIT_NAME
Definition: gsm_12_21.h:429
#define BSSAP_LE_DEC_ERR(RC, fmt, args...)
static void append_power_offset(struct bitvec *bv, const struct osmo_gsm48_si_power_offset *po)
Definition: gsm48_rest_octets.c:624
struct osmo_cbsp_keep_alive_complete keep_alive_compl
Definition: cbsp.h:302
uint8_t psk8_multislot_power_prof
Definition: gsm_04_08.h:172
@ NM_MT_DISC_TERR_TRAF_NACK
Definition: gsm_12_21.h:115
static int gsm411_send_report(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:209
@ GSM0808_IE_TMSI
Definition: gsm_08_08.h:202
@ BSSMAP_LE_IEI_LCS_CAUSE
Definition: gsm_49_031.h:105
int gsm_septet_encode(uint8_t *result, const char *data)
Encode a ASCII characterrs as 7-bit GSM alphabet (TS 03.38)
Definition: gsm_utils.c:289
void gsm411_smr_clear(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:96
#define NM_IPAC_F_CHANM_CSD_T_600
Definition: gsm_12_21.h:825
3GPP TS 3GPP TS 29.018 8.14 SGsAP-PAGING-REQUEST.
Definition: gsm29118.h:30
#define GSM414_MT_CLOSE_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:26
const struct value_string gsm0808_permitted_speech_names[]
Definition: gsm0808.c:2492
uint16_t cell_id
Definition: gsm_48_071.h:98
const struct osmo_conv_code gsm0503_cs2
CS2 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:287
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:39
const struct value_string osmo_bsslap_iei_names[]
Definition: bsslap.c:295
@ NM_MT_CONN_TERR_SIGN
Definition: gsm_12_21.h:104
uint8_t pc_meas_chan
Definition: gsm_44_060.h:200
@ GA_MT_CSR_ACT_CHAN_FAIL
Definition: gsm_44_318.h:38
static int xor2g_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_xor_2g.c:45
uint16_t msg_id
Definition: cbsp.h:174
@ OSMO_GSUP_MSGT_ROUTING_ERROR
Definition: gsup.h:200
@ GMM_CAUSE_GPRS_OTHER_NOTALLOWED
Definition: gsm_04_08_gprs.h:226
int osmo_bssap_le_dec(struct bssap_le_pdu *pdu, struct osmo_bssap_le_err **err, void *err_ctx, struct msgb *msg)
Decode BSSAP-LE PDU (3GPP TS 49.031).
Definition: bssmap_le.c:784
#define GSM48_IE_CAUSE
Definition: gsm_04_08.h:1783
static int enc_speech_codec(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Definition: gsm0808_utils.c:214
enum CELL_IDENT id_discr
Definition: cbsp.h:72
@ GSM48_RR_CAUSE_ABNORMAL_UNACCT
Definition: gsm_04_08.h:1935
#define GSM0480_OP_CODE_USS_NOTIFY
Definition: gsm_04_80.h:82
static const struct smrdownstate smrdownstatelist[]
#define GSM411_MNSMS_EST_REQ
Definition: gsm0411_smc.h:24
@ GMM_CAUSE_NO_SUIT_CELL_IN_LA
Definition: gsm_04_08_gprs.h:233
@ SGSAP_IE_VLR_NAME
Definition: gsm_29_118.h:46
Definition: gsm_04_08.h:992
static const char * osmo_rat_type_name(enum osmo_rat_type val)
Definition: gsm_utils.h:272
static int cbsp_decode_fail_list(struct llist_head *fl, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:530
struct msgb * gsm0808_create_uplink_request_ack(const struct gsm0808_uplink_request_ack *params)
Create BSSMAP (VGCS) UPLINK REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.58.
Definition: gsm0808.c:1834
static const uint8_t xcch_output[][2]
Definition: gsm0503_conv.c:29
int ipa_ccm_rcvmsg_base(struct msgb *msg, struct osmo_fd *bfd)
Definition: ipa.c:472
const struct value_string gsm48_pdisc_names[]
TS 04.08 Protocol Descriptor names.
Definition: gsm48.c:1501
int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str)
Convert a dot-separated string into an encoded APN.
Definition: apn.c:133
struct gsm48_classmark3::@48 t_gsm_400_bands_supp
uint16_t mnc
Definition: gsm23003.h:11
#define GSM48_MT_RR_IMM_ASS_REJ
Definition: gsm_04_08.h:1554
static bool nri_range_overlaps_range(const struct osmo_nri_range *a, const struct osmo_nri_range *b)
Return true if the ranges overlap, i.e.
Definition: gsm23236.c:52
@ GSM0808_IE_CALL_ID_LIST
Definition: gsm_08_08.h:308
@ GSM0808_IE_POSITIONING_DATA
Definition: gsm_08_08.h:260
static void msgb_push_u8(struct msgb *msg, uint8_t word)
static const uint8_t tch_afs_7_4_term_output[]
Definition: gsm0503_conv.c:570
int gsm48_generate_mid_from_tmsi *(uint8_t *buf, uint32_t tmsi) OSMO_DEPRECATED_OUTSIDE("Instead us l)
Definition: gsm48.h:58
@ NM_ATT_AVAIL_STATUS
Definition: gsm_12_21.h:323
static struct fn_remap_table facch_h0_remap_table
Definition: gsm0502.c:114
@ OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_REQUEST
Definition: gsup.h:190
@ BSS_MAP_MSG_HANDOVER_RQST
Definition: gsm_08_08.h:84
@ SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS
Definition: gsm_29_118.h:108
@ OSMO_IUUP_RNL_CONFIG
Definition: iuup.h:27
#define GSM48_PDISC_MM_GPRS
Definition: gsm_04_08.h:1442
@ BSS_MAP_MSG_UPLINK_RQST
Definition: gsm_08_08.h:169
const struct value_string sgsap_sgs_cause_names[]
Definition: gsm29118.c:121
@ GSM48_REJECT_SERVICES_NOT_ALLOWED
Definition: gsm_04_08.h:2040
struct msgb * gsm0808_create_uplink_seized_cmd(const struct gsm0808_uplink_seized_cmd *params)
Create BSSMAP (VGCS) UPLINK SEIZED COMMAND message, 3GPP TS 48.008 3.2.1.62.
Definition: gsm0808.c:2006
bool extended_tsc_set_cap_supp
Definition: gsm_04_08.h:226
@ IUUP_FSM_EVT_IUUP_DATA_REQ
Definition: iuup.c:149
3GPP TS 48.008 §3.2.1.54 VGCS/VBS ASSIGNMENT RESULT
Definition: gsm0808.h:397
static const char * gsm48_pdisc_name(uint8_t val)
Definition: gsm_04_08.h:1455
#define GSM48_MT_CC_START_CC
Definition: gsm_04_08.h:1694
@ T200_SACCH_SDCCH
Definition: gsm_12_21.h:653
@ GSM48_REJECT_LOC_NOT_ALLOWED
Definition: gsm_04_08.h:2020
static int append_utran_fdd_length(uint16_t u, const int *sc, size_t sc_len, size_t length)
Definition: gsm48_rest_octets.c:412
@ GSM48_CC_CAUSE_BEARER_CA_UNAVAIL
Definition: gsm_04_08.h:1985
static int msgb_trim(struct msgb *msg, int len)
const struct tlv_definition gsm48_rr_att_tlvdef
TLV parser definitions for TS 04.08 RR.
Definition: gsm48.c:95
uint8_t ra_colour
Definition: gsm48_rest_octets.h:78
uint8_t gsm0808_enc_talker_identity(struct msgb *msg, const struct gsm0808_talker_identity *ti)
Encode Talker Identity IE (3GPP TS 48.008 3.2.2.91).
Definition: gsm0808_utils.c:2421
#define GSM411_SM_RL_DATA_REQ
Definition: gsm0411_smr.h:9
struct osmo_gsm48_si_gprs_ms_txpwr_max_ccch gprs_ms_txpwr_max_ccch
Definition: gsm48_rest_octets.h:56
int coding
Definition: mncc.h:57
bool ccn_active
Definition: gsm_44_060.h:191
@ OSMO_GSUP_MSGT_E_PREPARE_SUBSEQUENT_HANDOVER_REQUEST
Definition: gsup.h:186
static const uint8_t table0[256]
Definition: comp128v23.c:35
@ OSMO_GSM44068_CAUSE_NORMAL_CALL_CLEARING
Definition: gsm_44_068.h:89
uint8_t load[2]
Definition: cbsp.h:62
@ BSSAP_LE_MSG_DISCR_BSSMAP_LE
Definition: gsm_49_031.h:80
int(* gen_vec_auts)(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
callback for generating auth vectors + re-sync
Definition: auth.h:114
@ GSM48_CC_CAUSE_FACILITY_REJ
Definition: gsm_04_08.h:1971
char * osmo_dump_gsmtime_buf(char *buf, size_t buf_len, const struct gsm_time *tm)
Definition: gsm_utils.c:906
@ OSMO_GSUP_MSGT_INSERT_DATA_REQUEST
Definition: gsup.h:150
@ GSM0808_IE_RR_CAUSE
Definition: gsm_08_08.h:214
int gsm_7bit_encode(uint8_t *result, const char *data)
Definition: gsm_utils.c:1060
#define OSMO_GSUP_MAX_NUM_PDP_INFO
Maximum nubmer of PDP inside osmo_gsup_message.
Definition: gsup.h:54
@ NM_NACK_BTSNR_UNKN
Definition: gsm_12_21.h:608
#define GPRS_ATT_T_COMBINED
Definition: gsm_04_08_gprs.h:53
#define NM_IPAC_F_CHANM_CSD_T_1k2
Definition: gsm_12_21.h:826
@ NM_MT_REINIT_ACK
Definition: gsm_12_21.h:170
struct gsm_rx_lev_qual full
Definition: meas_rep.h:16
const char * gsm0808_cell_id_list_name(const struct gsm0808_cell_id_list2 *cil)
Return a human-readable representation of cil in a static buffer.
Definition: gsm0808_utils.c:2172
static unsigned int msgb_l2len(const struct msgb *msgb)
@ GSM0808_IE_CONNECTION_RELEASE_RQSTED
Definition: gsm_08_08.h:247
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:143
@ BSS_MAP_MSG_RESET_IP_RSRC_ACK
Definition: gsm_08_08.h:133
@ NM_ATT_IPACC_NSEI
Definition: gsm_12_21.h:439
uint8_t seq_number
Definition: gsm0808_utils.h:147
struct osmo_cbsp_failure failure
Definition: cbsp.h:297
@ IUUP_ERR_CAUSE_UNEXPECTED_VALUE
Definition: gsm_25_415.h:213
@ T200_FACCH_F
Definition: gsm_12_21.h:650
int egprs_get_cps(struct egprs_cps *cps, uint8_t type, uint8_t bits)
Definition: gprs_rlc.c:91
struct gsm0808_encrypt_info ei
Definition: gsm0808.h:55
@ NM_ATT_IPACC_IML_SSL_STATE
Definition: gsm_12_21.h:457
int osmo_gprs_ul_block_size_bits(enum osmo_gprs_cs cs)
Return size of (E)GPRS uplink block for given coding scheme in bits.
Definition: gprs_rlc.c:146
@ OSMO_GSUP_MSISDN_IE
Definition: gsup.h:72
const struct value_string sgsap_service_ind_names[]
Definition: gsm29118.c:115
@ GSM0808_FE_IE_D_RNTI
Definition: gsm_08_08.h:357
int osmo_gsup_sms_encode_sm_rp_oa(struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
Encode SM-RP-OA IE (see 7.6.8.2), Originating Address.
Definition: gsup_sms.c:152
int osmo_gsup_sms_encode_sm_rp_da(struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
Encode SM-RP-DA IE (see 7.6.8.1), Destination Address.
Definition: gsup_sms.c:42
@ NM_MT_REP_OUTST_ALARMS_NACK
Definition: gsm_12_21.h:161
#define GSM48_PDISC_GROUP_CC
Definition: gsm_04_08.h:1434
@ SGSAP_IE_EMLPP_PRIORITY
Definition: gsm_29_118.h:50
#define GSM48_MT_RR_EXT_MEAS_REP
Definition: gsm_04_08.h:1628
@ OSMO_GSM44068_IEI_TALKER_PRIORITY
Definition: gsm_44_068.h:36
static const uint8_t tch_afs_4_75_state[][2]
Definition: gsm0503_conv.c:795
void osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data)
struct osmo_cbsp_loading_list loading_list
Definition: cbsp.h:169
uint8_t classmark2_len
Definition: gsm_04_08.h:233
@ CBSP_IEI_REP_PERIOD
Definition: gsm_48_049.h:28
struct iuup_pdutype14_hdr hdr
Definition: gsm_25_415.h:140
enum gsm411_rp_state rp_state
Definition: gsm0411_smr.h:24
@ OSMO_GSUP_IMEI_RESULT_IE
Definition: gsup.h:109
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_FAILURE
Definition: gsm_08_08.h:167
@ GSM0808_IE_TOTAL_RESOURCE_ACCESSIBLE
Definition: gsm_08_08.h:227
struct gad_raw_ell_point_unc_circle ell_point_unc_circle
Definition: gsm_23_032.h:242
int gsm48_encode_redirecting(struct msgb *msg, const struct gsm_mncc_number *redirecting)
Encode TS 04.08 Redirecting Number IE (10.5.4.21b)
Definition: gsm48_ie.c:649
static const struct tlv_definition bss_att_tlvdef
Definition: gsm0808.c:2177
int ipa_ccm_send_id_req(int fd)
Definition: ipa.c:466
uint16_t mcc
Definition: gsm23003.h:10
struct osmo_plmn_id plmn
Definition: gsm23003.h:102
const struct osmo_conv_code gsm0503_tch_afs_6_7
TCH/AFS 6.7 kbits convolutional code: G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4 G2/G3 = 1 + D2 +...
Definition: gsm0503_conv.c:643
@ GSM0808_FE_IE_INTER_RAT_HANDOVER_INFO
Definition: gsm_08_08.h:349
struct osmo_iuup_rnl_prim * osmo_iuup_rnl_prim_alloc(void *ctx, unsigned int primitive, unsigned int operation, unsigned int size)
Definition: iuup.c:208
struct bssmap_le_perform_loc_req perform_loc_req
Definition: gsm_49_031.h:219
static __thread char namebuf[255]
@ CBSP_MSGT_SET_DRX_FAIL
Definition: gsm_48_049.h:65
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:131
@ CBSP_IEI_EMERG_IND
Definition: gsm_48_049.h:37
char * osmo_lcls_dump(const struct osmo_lcls *lcls)
Dump LCLS parameters (GCR excluded) into static string buffer for printing.
Definition: gsm0808_utils.c:742
const struct value_string gsm48_gsm_cause_names_[]
10.5.6.6 SM Cause / Table 10.5.157
Definition: gsm_04_08_gprs.c:83
#define GSM48_MT_RR_IS_TO_UTRAN_HANDO
Definition: gsm_04_08.h:1594
@ CBSP_IEI_SCHEDULE_PERIOD
Definition: gsm_48_049.h:42
static const uint8_t tch_ahs_4_75_term_output[]
Definition: gsm0503_conv.c:1233
enum osmo_rat_type current_rat_type
Definition: gsup.h:386
#define GSM48_MT_CC_RETR_REJ
Definition: gsm_04_08.h:1706
@ OSMO_GSM44068_MSGT_IMMEDIATE_SETUP_2
Definition: gsm_44_068.h:51
@ GSM0808_FE_IE_PS_INDICATION
Definition: gsm_08_08.h:355
static void to_bcd(uint8_t *bcd, uint16_t val)
Definition: gsm23003.c:416
#define TLVP_VAL_MINLEN(_tp, tag, min_len)
Like TLVP_VAL(), but enforcing a minimum val length.
Definition: tlv.h:590
@ GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL
Definition: gsm_08_08.h:384
#define GPRS_UPD_T_RA
Definition: gsm_04_08_gprs.h:71
@ GA_CSR_UTRAN_CM_CHG
Definition: gsm_44_318.h:64
struct bssmap_le_conn_oriented_info conn_oriented_info
Definition: gsm_49_031.h:222
static int gsm_septet_lookup(uint8_t ch)
Definition: gsm_utils.c:175
3GPP TS 48.008 §3.2.1.53 VGCS/VBS ASSIGNMENT REQUEST
Definition: gsm0808.h:358
#define OSMO_VALUE_STRING(x)
const struct osmo_conv_code gsm0503_tch_afs_4_75
TCH/AFS 4.75 kbits convolutional code: G4/G6 = 1 + D2 + D3 + D5 + D6 / 1 + D + D2 + D3 + D4 + D6 G4/G...
Definition: gsm0503_conv.c:870
int osmo_gsm48_rest_octets_si13_decode(struct osmo_gsm48_si13_info *si13, const uint8_t *data)
Decode SI13 Rest Octests (04.08 Chapter 10.5.2.37b).
Definition: gsm48_rest_octets.c:900
uint8_t ussd_data[GSM0480_USSD_OCTET_STRING_LEN]
Represents the data of either an INVOKE, either a RETURN_RESULT component 'as is'.
Definition: gsm0480.h:87
int osmo_lcs_cause_dec(struct lcs_cause_ie *lcs_cause, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *data, uint8_t len)
Decode the value part of 3GPP TS 49.031 10.13 LCS Cause, without IEI and len.
Definition: bssmap_le.c:346
const struct osmo_crc16gen_code iuup_data_crc_code
Definition: iuup.c:46
bool e_utra_meas_rep_supp
Definition: gsm_04_08.h:209
@ GSM0808_IE_OLD_LAI
Definition: gsm_08_08.h:329
@ GSM0808_CHAN_SPEECH_CTM_TEXT_TELEPHONY
Definition: gsm_08_08.h:449
const struct tlv_definition abis_nm_osmo_att_tlvdef
org.osmocom GSM A-bis OML TLV parser definition
Definition: abis_nm.c:590
Definition: gsm48_rest_octets.h:115
@ BSS_MAP_MSG_RESOURCE_INDICATION
Definition: gsm_08_08.h:150
@ GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS
Definition: gsm_08_08.h:295
@ BSSLAP_MSGT_TA_REQUEST
Definition: gsm_48_071.h:29
@ NM_MT_LOAD_SEG_ACK
Definition: gsm_12_21.h:88
#define osmo_fsm_inst_state_chg(fi, new_state, timeout_secs, T)
@ GSM0800_IE_INTER_SYSTEM_INFO
Definition: gsm_08_08.h:278
bool active
Definition: iuup.h:58
size_t sm_rp_ui_len
Definition: gsup.h:347
uint32_t abis_nm_get_sw_desc_len(const uint8_t *buf, size_t len)
Get length of first 3GPP TS 52.021 §9.4.62 SW Description from buffer.
Definition: abis_nm.c:908
int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len, struct ussd_request *req)
Definition: gsm0480.c:313
@ OSMO_GSUP_PDP_INFO_IE
Definition: gsup.h:69
@ GSM0808_IE_DOWNLINK_DTX_FLAG
Definition: gsm_08_08.h:218
int gprs_cipher_supported(enum gprs_ciph_algo algo)
Definition: gprs_cipher_core.c:111
@ OSMO_AUTH_TYPE_NONE
Definition: auth.h:17
char * gsm0808_channel_type_name_c(const void *ctx, const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:2205
#define CB_FCCH
Definition: gsm0502.c:264
uint8_t r_gsm_assoc_radio_cap
Definition: gsm_04_08.h:70
@ GSM48_CMODE_DATA_43k5
ECSD: 43.5 kbit/s radio interface rate, 43.2 kbit/s services (E-TCH/F43.2)
Definition: gsm_04_08.h:780
#define GSM340_TP_VPF_RELATIVE
Definition: gsm_04_11.h:134
@ GSM0808_IE_EMERGENCY_SET_INDICATION
Definition: gsm_08_08.h:287
bool e_utra_tdd_supp
Definition: gsm_04_08.h:208
#define GSM48_IE_CC_CAP
Definition: gsm_04_08.h:1784
@ IUUP_FSM_ST_NULL
Definition: iuup.c:141
enum osmo_gsup_sms_sm_rp_oda_t sm_rp_da_type
SM-RP-DA (see 3GPP TS 29.002, 7.6.8.1), Destination Address.
Definition: gsup.h:338
@ GSM48_REJECT_INCORRECT_MESSAGE
Definition: gsm_04_08.h:2029
@ OSMO_GSUP_FREEZE_PTMSI_IE
Definition: gsup.h:71
const struct value_string * gprs_service_t_strs
Definition: gsm_04_08_gprs.c:225
uint16_t old_serial_nr
Definition: cbsp.h:191
#define GSM48_MT_RR_SH_SI10ter
Definition: gsm_04_08.h:1652
const struct osmo_conv_code gsm0503_rach_ext
Extended RACH (11 bit) convolutional code.
Definition: gsm0503_conv.c:247
@ NM_ATT_GSM_TIME
Definition: gsm_12_21.h:336
3GPP TS 48.008 §3.2.1.60 (VGCS) UPLINK RELEASE INDICATION
Definition: gsm0808.h:485
uint8_t present
Definition: gsm48_rest_octets.h:79
@ SGSAP_IE_TMSI_BASED_NRI_CONT
Definition: gsm_29_118.h:75
#define OSMO_GSUP_MAX_NUM_AUTH_INFO
Maximum number of auth info inside osmo_gsup_message.
Definition: gsup.h:56
#define GSM48_MT_CC_HOLD_REJ
Definition: gsm_04_08.h:1703
@ IUUP_FSM_EVT_IUUP_UNITDATA_REQ
Definition: iuup.c:155
iuup_fsm_state
Definition: iuup.c:140
uint16_t u16
Definition: common.h:26
@ OSMO_GPRS_CS4
Definition: gsm_44_060.h:232
Definition: gsm_25_415.h:109
@ GSM411_RP_CAUSE_PROTOCOL_ERR
Definition: gsm_04_11.h:92
uint16_t * arfcn
Definition: sysinfo.h:50
uint8_t dbm2rxlev(int dbm)
Convert RF signal level in dBm to TS 05.08 RxLev (TS 05.08 Chapter 8.1.4)
Definition: gsm_utils.c:658
@ GSM_CAUSE_LLC_SNDCP_FAIL
Definition: gsm_04_08_gprs.h:259
@ GA_MT_RC_REGISTER_REDIRECT
Definition: gsm_44_318.h:25
struct llist_head fail_list
Definition: cbsp.h:167
@ GSM0808_IE_LCS_QOS
Definition: gsm_08_08.h:255
char * location2
Definition: ipa.h:22
@ BSS_MAP_MSG_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:139
@ GSM0808_PERM_FR3
FR AMR.
Definition: gsm_08_08.h:496
static int osmo_bssmap_le_dec(struct bssmap_le_pdu *pdu, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *data, size_t len)
Decode BSSMAP-LE PDU (3GPP TS 49.031).
Definition: bssmap_le.c:707
static size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e)
Definition: gsm48_rest_octets.c:525
#define DEC_ERR_NO_RETURN(RC, MSG_TYPE, IEI, CAUSE, fmt, args...)
Definition: bssmap_le.c:87
@ GSM48_REJECT_MSC_TMP_NOT_REACHABLE
Definition: gsm_04_08.h:2044
static int cbsp_dec_write_repl(struct osmo_cbsp_write_replace *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:638
@ NM_NACK_TEST_NOTSUPP
Definition: gsm_12_21.h:621
enum gsm48_bcap_sig_access sig_access
Definition: mncc.h:21
uint8_t gsm0808_enc_lcls(struct msgb *msg, const struct osmo_lcls *lcls)
Add LCLS parameters to a given msgb, 3GPP TS 48.008 §3.2.2.115 - 3.2.2.120.
Definition: gsm0808_utils.c:672
int ms_pwr_dbm(enum gsm_band band, uint8_t lvl)
Convert TS 05.05 power level to absolute dBm value.
Definition: gsm_utils.c:606
uint8_t id_discr
Definition: gsm_08_08.h:775
int gsm0808_dec_kc128(uint8_t *kc128, const uint8_t *elem, uint8_t len)
Decode TS 48.008 Kc128 IE.
Definition: gsm0808_utils.c:879
struct msgb * gsm0808_create_lcls_conn_ctrl(enum gsm0808_lcls_config config, enum gsm0808_lcls_control control)
Create BSSMAP LCLS CONNECT CONTROL message (TS 48.008 3.2.1.91).
Definition: gsm0808.c:367
void gsm411_smr_init(struct gsm411_smr_inst *inst, uint64_t id, int network, int(*rl_recv)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg), int(*mn_send)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg))
Definition: gsm0411_smr.c:76
const char * gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type)
Compose a string naming the message type for given protocol, in a static buffer.
Definition: gsm48.c:1796
@ OSMO_GSUP_MSGT_READY_FOR_SM_RESULT
Definition: gsup.h:176
@ BSSMAP_LE_IEI_APDU
Definition: gsm_49_031.h:107
static struct osmo_auth_impl c128v2_alg
Definition: auth_comp128v23.c:42
static void retransmit_initialization(struct osmo_iuup_instance *iui)
Definition: iuup.c:518
@ GSM48_RR_CAUSE_CALL_CLEARED
Definition: gsm_04_08.h:1945
@ NM_MT_SET_SITE_OUT_ACK
Definition: gsm_12_21.h:173
struct msgb * gsm0808_create_vgcs_vbs_setup(const struct gsm0808_vgcs_vbs_setup *params)
Create BSSMAP VGCS/VBS SETUP message, 3GPP TS 48.008 3.2.1.50.
Definition: gsm0808.c:1521
uint8_t gsm_get_octet_len(const uint8_t sept_len)
Compute number of octets from number of septets.
Definition: gsm_utils.c:189
Definition: gsm_25_415.h:83
@ OSMO_GSM44068_CAUSE_ILLEGAL_MS
Definition: gsm_44_068.h:83
@ GSM411_RP_CAUSE_MO_OP_DET_BARR
Definition: gsm_04_11.h:69
@ NM_ATT_IPACC_UPTIME
Definition: gsm_12_21.h:453
enum bssmap_le_positioning_method positioning_method
Definition: gsm_49_031.h:161
#define GSM_RFN_MODULUS
Definition: gsm_utils.h:192
int osmo_gad_enc(union gad_raw *gad_raw, const struct osmo_gad *gad)
Write GAD values with consistent units to raw GAD PDU representation.
Definition: gad.c:376
bool umts_tdd_rat_cap
Definition: gsm_04_08.h:130
@ BSSLAP_IEI_TFI
Definition: gsm_48_071.h:77
uint8_t file_version[UINT8_MAX]
Definition: gsm_12_21.h:953
#define GSM48_MT_GMM_AUTH_CIPH_RESP
Definition: gsm_04_08_gprs.h:27
@ GSM48_REJECT_PROTOCOL_ERROR
Definition: gsm_04_08.h:2036
static void msgb_sgsap_lai_put(struct msgb *msg, const struct osmo_location_area_id *lai)
Definition: gsm29118.c:227
int(* gen_vec)(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
callback for generate authentication vectors
Definition: auth.h:109
int gsm_7bit_encode_n_ussd(uint8_t *result, size_t n, const char *data, int *octets)
Encode according to GSM 7-bit alphabet (TS 03.38 6.2.1) for USSD.
Definition: gsm_utils.c:426
@ GSM0808_IE_CHOSEN_CHANNEL
Definition: gsm_08_08.h:226
#define GSM48_MT_GMM_ATTACH_REQ
Definition: gsm_04_08_gprs.h:12
#define GSM_MI_ODD
Definition: gsm_04_08.h:1772
static struct msgb * msgb_alloc_headroom_c(const void *ctx, uint16_t size, uint16_t headroom, const char *name)
int osmo_lcs_cause_enc(struct msgb *msg, const struct lcs_cause_ie *lcs_cause)
Encode the value part of 3GPP TS 49.031 10.13 LCS Cause, without IEI and len.
Definition: bssmap_le.c:328
@ NM_ATT_IPACC_PRIM_OML_FB_TOUT
Definition: gsm_12_21.h:432
3GPP TS 3GPP TS 29.018 8.15 SGsAP-RESET-ACK and 8.16 SGsAP-RESET-INDICATION.
Definition: gsm29118.h:40
@ BSSLAP_MSGT_RESET
Definition: gsm_48_071.h:32
@ GSM48_CC_CAUSE_INVAL_MAND_INF
Definition: gsm_04_08.h:1997
struct msgb * gsm0808_create_vgcs_queuing_ind(void)
Create BSSMAP VGCS/VBS QUEUING INDICATION message, 3GPP TS 48.008 3.2.1.56.
Definition: gsm0808.c:1776
int gsm48_encode_useruser(struct msgb *msg, int lv_only, const struct gsm_mncc_useruser *uu)
Encode TS 04.08 User-User IE (10.5.4.25)
Definition: gsm48_ie.c:805
@ OSMO_GSM44068_PRIO_NORMAL
Definition: gsm_44_068.h:121
@ GSM48_CMODE_SIGN
Signalling only (TCH/F or TCH/H)
Definition: gsm_04_08.h:752
int osmo_nri_v_limit_by_ranges(int16_t *nri_v, const struct osmo_nri_ranges *nri_ranges, uint32_t nri_bitlen)
Modulo and shift the given NRI value so that it becomes a value present in a list of NRI ranges.
Definition: gsm23236.c:99
@ GSM0808_SC_CFG_AMR_12_2
Definition: gsm_08_08.h:696
Definition: gsm0808.h:258
Parsed representation of Global Call Reference, 3GPP TS 29.205 Table B 2.1.9.1.
Definition: gsm29205.h:29
static const struct value_string iuup_fsm_event_names[]
Definition: iuup.c:162
@ BSSMAP_LE_IEI_NET_ELEM_ID
Definition: gsm_49_031.h:108
static unsigned int llist_count(const struct llist_head *head)
static uint8_t osmo_bssmap_le_ie_enc_lcs_priority(struct msgb *msg, uint8_t priority)
Encode full BSSMAP-LE LCS Priority IE, including IEI tag and length.
Definition: bssmap_le.c:269
static int cbsp_enc_write_repl(struct msgb *msg, const struct osmo_cbsp_write_replace *in)
Definition: cbsp.c:145
static const struct value_string nack_names[]
Definition: abis_nm.c:109
bool data_rate_allowed_is_set
Definition: gsm_08_08.h:751
@ OSMO_EVT_MAJ_UKWN_MSG
Definition: gsm_12_21.h:264
int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str)
Convert a dot-separated string into an encoded APN.
Definition: apn.c:133
uint8_t bss_paging_coordination
Definition: gsm_44_060.h:190
@ GSM0808_IE_CS_REGISTERED_OPERATOR
Definition: gsm_08_08.h:333
@ NM_ATT_IPACC_PAGING_CFG
Definition: gsm_12_21.h:425
@ BSSAP_MSG_BSS_MANAGEMENT
Definition: gsm_08_08.h:38
@ GSM0808_LCLS_STS_NO_LONGER_LS
Definition: gsm_08_08.h:805
@ OSMO_GSM44068_MSGT_SET_PARAMETER
Definition: gsm_44_068.h:50
#define GSM_TDMA_FN_SUM(a, b)
Return the sum of two specified TDMA frame numbers (summation)
Definition: gsm0502.h:21
@ NM_MT_MEAS_RES_RESP
Definition: gsm_12_21.h:180
struct msgb * gsm0480_create_unstructuredSS_Notify(int alertPattern, const char *text)
Definition: gsm0480.c:96
@ BSSMAP_LE_MSGT_CONN_LESS_INFO
Definition: gsm_49_031.h:91
#define ABIS_NM_MSG_HEADROOM
Definition: gsm_12_21.h:43
@ OSMO_GSUP_SMS_SM_RP_ODA_MSISDN
Definition: gsup_sms.h:19
const struct value_string abis_nm_att_names[]
3GPP TS 52.021 §9.4 Attributes and Parameters
Definition: abis_nm.c:370
const char * osmo_cgi_name(const struct osmo_cell_global_id *cgi)
Return MCC-MNC-LAC-CI as string, in a static buffer.
Definition: gsm23003.c:299
const struct osmo_crc8gen_code iuup_hdr_crc_code
Definition: iuup.c:38
Definition: gsm48_rest_octets.h:82
@ GMM_CAUSE_ILLEGAL_ME
Definition: gsm_04_08_gprs.h:224
@ GA_MT_RC_DISCOVERY_REQUEST
Definition: gsm_44_318.h:19
static void decode_gprs_pwr_ctrl_pars(struct osmo_gprs_power_ctrl_pars *pcp, struct bitvec *bv)
Definition: gsm48_rest_octets.c:887
struct msgb * gsm0808_create_uplink_app_data(const struct gsm0808_uplink_app_data *params)
Create BSSMAP (VGCS) UPLINK APPLICATION DATA message, 3GPP TS 48.008 3.2.1.59a.
Definition: gsm0808.c:1894
static int cbsp_dec_load_query_compl(struct osmo_cbsp_load_query_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:949
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR
Definition: gsm_08_08.h:659
@ BSS_MAP_MSG_QUEUING_INDICATION
Definition: gsm_08_08.h:155
const char * abis_nm_nack_name(uint8_t nack)
Get human-readable string for OML NACK message type.
Definition: abis_nm.c:148
#define BSSAP_LE_MSG_HEADROOM
Definition: bssmap_le.c:40
int osmo_gsup_get_err_msg_type(enum osmo_gsup_message_type type_in) OSMO_DEPRECATED("Use OSMO_GSUP_TO_MSGT_ERROR() instead")
return the error message type corresponding to type_in.
Definition: gsup.c:120
bool band_indicator_1900
Definition: gsm48_rest_octets.h:55
@ OSMO_GSUP_SS_INFO_IE
Supplementary Services payload.
Definition: gsup.h:97
@ BSSLAP_IEI_LONG_ENCR_KEY
Definition: gsm_48_071.h:80
#define OSMO_MOD_FLR(x, y)
@ OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_ERROR
Definition: gsup.h:183
bool geran_net_sharing
Definition: gsm_04_08.h:221
int osmo_mobile_identity_cmp(const struct osmo_mobile_identity *a, const struct osmo_mobile_identity *b)
Compare two osmo_mobile_identity structs, returning typical cmp() result.
Definition: gsm48.c:1058
@ GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP
Definition: gsm_08_08.h:417
const struct value_string sgsap_eps_lu_type_names[]
Definition: gsm29118.c:92
@ BSS_MAP_MSG_HANDOVER_PERFORMED
Definition: gsm_08_08.h:91
@ GSM48_CMODE_SPEECH_V6
Speech: OHR AMR (O-TCH/AHS)
Definition: gsm_04_08.h:764
@ GSM0808_SC_CFG_DEFAULT_AMR_5_15
Definition: gsm_08_08.h:673
@ GA_MT_CSR_CM_ENQ
Definition: gsm_44_318.h:60
#define GSM48_MT_RR_PACKET_ASS
Definition: gsm_04_08.h:1558
int osmo_cgi_cmp(const struct osmo_cell_global_id *a, const struct osmo_cell_global_id *b)
Definition: gsm23003.c:630
#define OSMO_NRI_BITLEN_MAX
Definition: gsm23236.h:13
static const uint8_t xcch_state[][2]
Definition: gsm0503_conv.c:22
@ BSS_MAP_MSG_BLOCK
Definition: gsm_08_08.h:136
#define NM_IPAC_F_CHANM_CSD_NT_4k8
ip.access support flags for NM_IPAC_EIE_CHAN_MODES (CSD non-transparent)
Definition: gsm_12_21.h:820
const struct value_string osmo_gsm44068_call_state_names[]
Definition: gsm44068.c:89
uint16_t * new_serial_nr
Definition: cbsp.h:239
#define llist_for_each_entry(pos, head, member)
struct msgb * gsm0808_create_notification_data(const struct gsm0808_notification_data *parms)
Create BSSMAP (VGCS/VBS) NOTIFICATION DATA message, 3GPP TS 48.008 3.2.1.82.
Definition: gsm0808.c:2146
@ NM_MT_SET_RADIO_ATTR_NACK
Definition: gsm_12_21.h:129
#define GSM48_MT_RR_GPRS_SUSP_REQ
Definition: gsm_04_08.h:1630
static __attribute__((constructor))
Definition: auth_xor.c:186
@ BSSMAP_LE_MSGT_RESET
Definition: gsm_49_031.h:92
enum gsm48_bcap_ra rate_adaption
Definition: mncc.h:20
uint8_t ussd_text[GSM0480_USSD_OCTET_STRING_LEN]
A rudiment of deprecated 'ussd_request' structure.
Definition: gsm0480.h:77
uint16_t num_compl
Definition: cbsp.h:50
uint8_t * osmo_encode_big_endian(uint64_t value, size_t data_len)
@ _OSMO_AUTH_ALG_NUM
Definition: auth.h:37
const struct value_string osmo_gsup_session_state_names[]
Definition: gsup.c:109
#define GSM48_IE_CTS_PERMISSION
Definition: gsm_04_08.h:1882
@ SGSAP_IE_CLI
Definition: gsm_29_118.h:64
int rc
Definition: gad.h:166
uint8_t talker_id[TALKER_IDENTITY_MAXLEN]
Definition: gsm0808_utils.h:175
#define GSM48_IE_RR_PACKET_DL
Definition: gsm_04_08.h:1849
@ CELL_IDENT_LAC
Definition: gsm_08_08.h:23
@ OSMO_GPRS_CS3
Definition: gsm_44_060.h:231
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL
Definition: gsm_08_08.h:408
enum osmo_rat_type supported_rat_types[8]
arbitrary choice
Definition: gsup.h:387
int osmo_gad_to_str_buf(char *buf, size_t buflen, const struct osmo_gad *gad)
Return a human readable representation of GAD (location estimate) values.
Definition: gad.c:443
int osmo_gprs_dl_block_size_bytes(enum osmo_gprs_cs cs)
Return size of (E)GPRS downlink block for given coding scheme in bytes.
Definition: gprs_rlc.c:174
#define DEC_ERR(RC, TYPE, fmt, args...)
Definition: gad.c:248
char * osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni)
Definition: apn.c:36
uint16_t ci
Definition: gsm23003.h:55
int ipa_ccm_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len)
Parse the payload part of an IPA CCM ID GET, return tlv_parsed format.
Definition: ipa.c:102
@ NM_MT_STOP_EVENT_REP_NACK
Definition: gsm_12_21.h:149
#define GSM48_PDISC_EXTEND
Definition: gsm_04_08.h:1447
#define GSM48_IE_BEARER_CAP
Definition: gsm_04_08.h:1782
const struct osmo_conv_code gsm0503_cs3_np
CS3 convolutional code (non-punctured): G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:350
@ GSM0808_IE_RESOURCE_AVAILABLE
Definition: gsm_08_08.h:196
@ BSSMAP_LE_POS_METHOD_MOBILE_BASED_E_OTD
Definition: gsm_49_031.h:155
@ GSM0808_IE_FORWARD_INDICATOR
Definition: gsm_08_08.h:236
@ GMM_CAUSE_PLMN_NOTALLOWED
Definition: gsm_04_08_gprs.h:229
sgsap_iei
Definition: gsm_29_118.h:44
@ GPRS_ALGO_GEA3
Definition: gprs_cipher.h:17
@ GSM0808_IE_GANSS_ASSISTANCE_DATA
Definition: gsm_08_08.h:297
@ CBSP_IEI_KEEP_ALIVE_REP_PERIOD
Definition: gsm_48_049.h:46
char info[GSM_MAX_SSVERSION]
Definition: mncc.h:69
3GPP TS 52.021 §9.4.62 SW Description
Definition: gsm_12_21.h:949
uint32_t gprs_tmsi2tlli(uint32_t p_tmsi, enum gprs_tlli_type type)
Determine TLLI from P-TMSI.
Definition: gsm_utils.c:1026
uint8_t rfci
Definition: iuup.h:77
struct msgb * gsm0808_create_assignment_completed(uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode)
Create BSSMAP Assignment Completed message.
Definition: gsm0808.c:684
@ OSMO_GSUP_DESTINATION_NAME_IE
Definition: gsup.h:114
struct osmo_iuup_rnl_config_timer t_init
Definition: iuup.h:71
#define ARFCN_PCS
Definition: gsm_utils.h:164
static int cbsp_dec_kill(struct osmo_cbsp_kill *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:813
@ NM_MT_SET_SITE_OUT
Definition: gsm_12_21.h:172
#define GSM48_IE_NOTIFY
Definition: gsm_04_08.h:1789
static const uint8_t tch_hr_output[][2]
Definition: gsm0503_conv.c:911
enum bssmap_le_location_information location_information
Definition: gsm_49_031.h:160
@ NM_MT_STATECHG_EVENT_REP
Definition: gsm_12_21.h:145
const char * gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer)
Definition: gsm0808.c:2644
@ GSM_BAND_850
Definition: gsm_utils.h:50
static const int tch_ahs_7_95_puncture[]
Definition: gsm0503_conv.c:978
bool offset_required
Definition: gsm_04_08.h:186
uint16_t gsm_freq102arfcn(uint16_t freq10, int uplink)
Convert a Frequency in MHz * 10 to ARFCN.
Definition: gsm_utils.c:834
struct msgb * gsm0480_create_ussd_resp(uint8_t invoke_id, uint8_t trans_id, const char *text)
Legacy helper: Generate USSD response including FACILITY IE + L3 header.
Definition: gsm0480.c:821
enum gsm48_gmm_cause cause
Definition: gsup.h:305
@ GSM411_RP_CAUSE_INV_TRANS_REF
Definition: gsm_04_11.h:86
static void msgb_put_u16(struct msgb *msgb, uint16_t word)
@ GSM48_CMODE_DATA_43k5_29k0
Definition: gsm_04_08.h:771
#define GSM48_MT_RR_SYSINFO_8
Definition: gsm_04_08.h:1597
#define A5_R3_LEN
Definition: a5.c:103
const struct value_string gsm0808_speech_codec_type_names[]
Definition: gsm0808.c:2477
int gsm_7bit_decode_n_hdr(char *text, size_t n, const uint8_t *user_data, uint8_t septet_l, uint8_t ud_hdr_ind)
TS 03.38 7-bit Character unpacking (6.2.1)
Definition: gsm_utils.c:204
#define GSM48_MT_CC_EMERG_SETUP
Definition: gsm_04_08.h:1689
static uint8_t iuup_get_hdr_crc(const uint8_t *data)
Definition: iuup.c:183
@ SGSAP_MSGT_DL_UD
Definition: gsm_29_118.h:12
@ GSM0808_IE_LAYER_3_HEADER_INFORMATION
Definition: gsm_08_08.h:200
size_t num_auth_vectors
Definition: gsup.h:310
@ BSSMAP_LE_IEI_SEGMENTATION
Definition: gsm_49_031.h:114
const struct value_string * gprs_det_t_mo_strs
Definition: gsm_04_08_gprs.c:203
static struct gprs_cipher_impl * selected_ciphers[_GPRS_ALGO_NUM]
Definition: gprs_cipher_core.c:39
@ OSMO_GPRS_MCS9
Definition: gsm_44_060.h:241
#define GSM48_MT_MM_TMSI_REALL_COMPL
Definition: gsm_04_08.h:1669
static const uint8_t gsm0502_tch_h0_facch_block_map[3][6]
Definition: gsm0502.c:82
#define NM_IPAC_F_CHANT_BCCH
Definition: gsm_12_21.h:802
int len
Definition: mncc.h:63
static uint16_t gsm_fn2rfn(uint32_t fn)
Definition: gsm_utils.h:194
@ BSS_MAP_MSG_PAGING
Definition: gsm_08_08.h:151
#define APN_GPRS_FMT
Definition: apn.c:32
@ NM_IPACC_TESTNO_TX_BEACON
Definition: gsm_12_21.h:722
ubit_t d_bits[MAX_D_BITS]
@ OSMO_GSUP_SM_ALERT_RSN_IE
Definition: gsup.h:106
struct osmo_gprs_cell_options::@101 ext_info
@ SGSAP_MSGT_IMSI_DET_IND
Definition: gsm_29_118.h:24
static void llist_add(struct llist_head *_new, struct llist_head *head)
@ GSM0808_IE_EXTENDED_RESOURCE_INDICATOR
Definition: gsm_08_08.h:206
#define GSM0480_OPERATION_CODE
Definition: gsm_04_80.h:26
int gsm48_decode_progress(struct gsm_mncc_progress *progress, const uint8_t *lv)
Decode TS 04.08 Progress IE (10.5.4.21)
Definition: gsm48_ie.c:746
@ NM_NACK_PHYSCFG_NOTRESTORE
Definition: gsm_12_21.h:625
int gsm48_decode_calling(struct gsm_mncc_number *calling, const uint8_t *lv)
Decode TS 04.08 Calling Number IE (10.5.4.9)
Definition: gsm48_ie.c:614
static int gsm411_mmsms_cp_data(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:286
int osmo_gprs_dl_block_size_bits(enum osmo_gprs_cs cs)
Return size of (E)GPRS downlink block for given coding scheme in bits.
Definition: gprs_rlc.c:154
#define GSM48_MT_CC_ESTAB
Definition: gsm_04_08.h:1691
struct msgb * gsm0808_create_vgcs_sms(const struct gsm0808_sms_to_vgcs *sms)
3GPP TS 48.008 §3.2.1.81 VGCS SMS
Definition: gsm0808.c:2127
#define NM_IPAC_F_CIPH_ALGO_A51
ip.access support flags for NM_IPAC_EIE_CIPH_ALGOS
Definition: gsm_12_21.h:789
@ GMM_CAUSE_IMSI_UNKNOWN
Definition: gsm_04_08_gprs.h:221
Definition: gsm_49_031.h:214
3GPP TS 48.008 §3.2.2.5.8 Old BSS to New BSS information
Definition: gsm0808.h:131
@ GSM0808_PERM_HR1
GSM HR.
Definition: gsm_08_08.h:499
static int auth_data2auth_data2(struct osmo_sub_auth_data2 *out, const struct osmo_sub_auth_data *in)
Definition: auth_core.c:40
uint32_t osmo_gad_enc_lat(int32_t deg_1e6)
Encode a latitude value according to 3GPP TS 23.032.
Definition: gad.c:55
@ BTS_FEAT_DYN_TS_SDCCH8
Definition: bts_features.h:34
uint16_t sac
Definition: gsm23003.h:61
struct osmo_cbsp_keep_alive keep_alive
Definition: cbsp.h:301
enum gsm48_bcap_parity parity
Definition: mncc.h:26
const struct osmo_conv_code gsm0503_cs3
CS3 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:323
@ BSS_MAP_MSG_CHANGE_CIRCUIT
Definition: gsm_08_08.h:145
@ GMM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:250
@ GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE
Definition: gsm_08_08.h:423
@ OSMO_CGI_PART_LAC
Definition: gsm23003.h:46
@ BSS_MAP_MSG_CONNECTION_ORIENTED_INFORMATION
Definition: gsm_08_08.h:113
static int parse_ss_facility(const uint8_t *ss_facility, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:418
int gsm48_encode_cause(struct msgb *msg, int lv_only, const struct gsm_mncc_cause *cause)
Encode TS 04.08 Cause IE (10.5.4.11)
Definition: gsm48_ie.c:574
@ NM_NACK_FREQ_NOTAVAIL
Definition: gsm_12_21.h:620
bool osmo_gsm48_classmark_is_r99(const struct osmo_gsm48_classmark *cm)
Return true if any of Classmark 1 or Classmark 2 are present and indicate R99 capability.
Definition: gsm48.c:1906
@ GAD_TYPE_POLYGON
Definition: gsm_23_032.h:39
static __attribute__((constructor))
Definition: auth_comp128v1.c:47
const char * gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid)
Like gsm0808_cell_id_name() but uses a different static buffer.
Definition: gsm0808_utils.c:2115
#define IP_PORT_LEN
Definition: gsm0808_utils.c:36
@ BTS_FEAT_AGCH_PCH_PROP
Definition: bts_features.h:19
void * user_prim_priv
Definition: iuup.c:134
#define GSM48_MT_RR_PAG_REQ_2
Definition: gsm_04_08.h:1585
int gsm_7bit_decode(char *text, const uint8_t *user_data, uint8_t septet_l)
Definition: gsm_utils.c:1045
#define GPRS_UPD_T_PERIODIC
Definition: gsm_04_08_gprs.h:74
#define NM_IPAC_F_GPRS_CODING_MCS8
Definition: gsm_12_21.h:845
#define NM_IPAC_F_GPRS_CODING_MCS9
Definition: gsm_12_21.h:846
size_t source_name_len
Number of bytes in source_name.
Definition: gsup.h:367
char * osmo_lcls_dump_c(void *ctx, const struct osmo_lcls *lcls)
Definition: gsm0808_utils.c:747
@ GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL
Definition: gsm_08_08.h:411
@ OSMO_CBSP_CAUSE_CELL_BROADCAST_NOT_OPERATIONAL
Definition: cbsp.h:256
#define GSM48_MT_RR_SH_SI10
Definition: gsm_04_08.h:1642
#define GSM48_IE_TIMING_ADVANCE
Definition: gsm_04_08.h:1865
const struct value_string abis_nm_ipacc_ciph_algo_desc[]
Definition: abis_nm.c:722
@ NM_ATT_IPACC_SSL_CFG
Definition: gsm_12_21.h:455
int gsm48_encode_bearer_cap(struct msgb *msg, int lv_only, const struct gsm_mncc_bearer_cap *bcap)
Encode TS 04.08 Bearer Capability IE (10.5.4.5)
Definition: gsm48_ie.c:315
@ OSMO_EVT_EXT_ALARM
Definition: gsm_12_21.h:273
@ BTS_FEAT_EGPRS
Definition: bts_features.h:14
struct gsm48_classmark3::@46::@55 extended_dtm_egprs_multislot_cap
@ SGSAP_SGS_CAUSE_MSG_UNKNOWN
Definition: gsm_29_118.h:138
char imsi[OSMO_IMSI_BUF_SIZE]
Definition: gsup.h:304
struct msgb * gsm0480_gen_ussd_resp_7bit(uint8_t invoke_id, const char *text)
Generate a USSD ReturnResult component containing a string in default GSM alphabet.
Definition: gsm0480.c:774
uint8_t bits
Definition: gsm_44_060.h:207
@ GSM0808_SCT_HR6
OHR AMR.
Definition: gsm_08_08.h:556
@ BSS_MAP_MSG_INT_HANDOVER_ENQUIRY
Definition: gsm_08_08.h:99
@ NM_SEVER_INDETERMINATE
Definition: gsm_12_21.h:587
uint16_t pdp_type
Type of PDP context.
Definition: gsup.h:260
static int cbsp_enc_reset_fail(struct msgb *msg, const struct osmo_cbsp_reset_failure *in)
Definition: cbsp.c:340
@ NM_ATT_TEI
Definition: gsm_12_21.h:368
int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type, uint8_t plan, const char *number)
generate a TPDU address field compliant with 03.40 sec.
Definition: gsm0411_utils.c:297
void osmo_gsm48_rest_octets_si3_decode(struct osmo_gsm48_si_ro_info *si3, const uint8_t *data)
Decode SI3 Rest Octests (Chapter 10.5.2.34 / Table 10.4.72).
Definition: gsm48_rest_octets.c:1190
struct msgb * gsm0808_create_reset(void)
Create BSSMAP RESET message.
Definition: gsm0808.c:147
@ GSM0808_CAUSE_MS_NOT_EQUIPPED
Definition: gsm_08_08.h:397
@ BSS_MAP_MSG_CLEAR_COMPLETE
Definition: gsm_08_08.h:103
@ OSMO_GSM44068_CSTATE_U3
Definition: gsm_44_068.h:70
@ NM_ATT_FILE_ID
Definition: gsm_12_21.h:334
@ NM_ATT_IPACC_STREAM_ID
Definition: gsm_12_21.h:415
const struct value_string gprs_det_t_mt_strs_[]
String names of GMM MT Detach Types according to 10.5.5.5.
Definition: gsm_04_08_gprs.c:206
@ BSSLAP_MSGT_TA_LAYER3
Definition: gsm_48_071.h:34
#define ASN1_NULL_TYPE_TAG
Definition: gsm_04_80.h:119
static void _a5_2_clock(uint32_t r[], int force)
GSM A5/2 Clocking function.
Definition: a5.c:280
int gsm0808_dec_cell_id(struct gsm0808_cell_id *ci, const uint8_t *elem, uint8_t len)
Decode Cell Identifier IE (3GPP TS 48.008 3.2.2.17).
Definition: gsm0808_utils.c:1550
@ BSSMAP_LE_IEI_IMSI
Definition: gsm_49_031.h:119
gprs_tlli_type
Definition: gsm_utils.h:200
#define GSM48_LUPD_IMSI_ATT
Definition: gsm_04_08.h:1758
struct msgb * gsm0480_gen_reject(int invoke_id, uint8_t problem_tag, uint8_t problem_code)
Generate a Reject component (see section 3.6.1) and given error code (see section 3....
Definition: gsm0480.c:876
@ GSM0808_IE_OLD_BSS_TO_NEW_BSS_INFORMATION
Definition: gsm_08_08.h:251
@ GSM48_REJECT_PLMN_NOT_ALLOWED
Definition: gsm_04_08.h:2019
void msgb_reset(struct msgb *msg)
static const uint8_t tch_afs_6_7_output[][2]
Definition: gsm0503_conv.c:605
int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp)
Definition: gsm0808_utils.c:1806
const struct osmo_conv_code gsm0503_tch_afs_12_2
TCH/AFS 12.2 kbits convolutional code: 250 bits block, rate 1/2, punctured G0/G0 = 1 G1/G0 = 1 + D + ...
Definition: gsm0503_conv.c:397
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RESULT
Definition: gsm_08_08.h:166
@ GSM0808_IE_LCLS_CONFIG
Definition: gsm_08_08.h:317
@ NM_MT_SEND_TEST_REP_ACK
Definition: gsm_12_21.h:139
Definition: meas_rep.h:15
@ OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST
Definition: gsup.h:158
char * osmo_dump_gsmtime_c(const void *ctx, const struct gsm_time *tm)
Definition: gsm_utils.c:920
#define GSM48_IE_UTC
Definition: gsm_04_08.h:1777
int gsm0480_parse_facility_ie(const uint8_t *facility_ie, uint16_t length, struct ss_request *req)
Parse the components of a given Facility IE.
Definition: gsm0480.c:478
const char * abis_nm_dump_foh(const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:1039
Definition: gsm0502.c:102
@ GSM0808_FE_IE_CDMA2000_CAPABILITY_INFORMATION
Definition: gsm_08_08.h:350
@ NM_IPACC_TESTNO_CHAN_USAGE
Definition: gsm_12_21.h:718
@ GSM48_BCAP_SV_FR
GSM FR V1 (GSM FR)
Definition: gsm_04_08.h:2216
char osmo_luhn(const char *in, int in_len)
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:241
uint8_t type
See enum gsm0808_speech_codec_type.
Definition: gsm_08_08.h:602
#define NM_IPAC_F_GPRS_CODING_MCS1
ip.access support flags for NM_IPAC_EIE_GPRS_CODING (EGPRS)
Definition: gsm_12_21.h:838
@ NM_MT_ESTABLISH_TEI_NACK
Definition: gsm_12_21.h:103
@ NM_NACK_OBJCLASS_INVAL
Definition: gsm_12_21.h:606
const struct value_string osmo_cm_service_type_names[]
Definition: gsm48.c:1879
int osmo_cgi_cmp(const struct osmo_cell_global_id *a, const struct osmo_cell_global_id *b)
Definition: gsm23003.c:630
Definition: gsm_04_08.h:501
@ GSM411_RP_CAUSE_MO_TEMP_FAIL
Definition: gsm_04_11.h:77
#define GSM0480_OP_CODE_FORWARD_CHECK_SS_IND
Definition: gsm_04_80.h:79
@ GSM48_CMODE_SPEECH_AMR
Speech: AMR (TCH/AFS or TCH/AHS)
Definition: gsm_04_08.h:758
struct llist_head list
Definition: cbsp.h:55
char * osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len)
Convert an encoded APN into a dot-separated string.
Definition: apn.c:98
char * osmo_apn_qualify_from_imsi(const char *imsi, const char *ni, int have_3dig_mnc)
Definition: apn.c:75
#define GSM48_MT_MM_CM_SERV_ABORT
Definition: gsm_04_08.h:1673
iuup_procedure
Definition: gsm_25_415.h:181
struct msgb * gsm29118_create_mm_info_req(const char *imsi, const uint8_t *mm_info, uint8_t mm_info_len)
Definition: gsm29118.c:319
int osmo_nri_range_validate(const struct osmo_nri_range *range, uint8_t nri_bitlen)
Validate that the given NRI range is valid for a given nri_bitlen range.
Definition: gsm23236.c:220
uint16_t msg_id
Definition: gsm_03_41.h:33
@ OSMO_GPRS_MCS7
Definition: gsm_44_060.h:239
struct msgb * gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id)
Create BSSMAP Cipher Mode Complete message.
Definition: gsm0808.c:290
@ BSSMAP_LE_MSGT_ASSIST_INFO_RESP
Definition: gsm_49_031.h:89
#define GSM_7BIT_LEGACY_MAX_BUFFER_SIZE
Definition: gsm_utils.h:253
Definition: gsm_25_415.h:59
@ OSMO_GSUP_CK_IE
Definition: gsup.h:85
@ BSS_MAP_MSG_INT_HANDOVER_CMD
Definition: gsm_08_08.h:98
static const int tch_afs_7_95_puncture[]
Definition: gsm0503_conv.c:525
@ NM_MT_CHG_ADM_STATE_REQ_NACK
Definition: gsm_12_21.h:158
@ NM_SEVER_WARNING
Definition: gsm_12_21.h:586
const struct osmo_conv_code gsm0503_tch_h24
TCH/H2.4 convolutional code: 72 bits blocks, rate 1/3, k = 5 G1 = 1 + D + D3 + D4 G2 = 1 + D2 + D4 G3...
Definition: gsm0503_conv.c:141
static int gsm411_mmsms_rel_ind(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:378
Definition: gsm_04_08.h:1219
@ CBSP_IEI_DCS
Definition: gsm_48_049.h:34
enum bssmap_le_msgt msg_type
Definition: gsm_49_031.h:215
static int tuak_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_tuak.c:50
@ GSM0808_SCT_FR1
GSM FR.
Definition: gsm_08_08.h:548
static int cbsp_enc_msg_status_query(struct msgb *msg, const struct osmo_cbsp_msg_status_query *in)
Definition: cbsp.c:292
int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid)
Overwrite parts of cgi with values from a Cell Identifier.
Definition: gsm0808_utils.c:2018
uint8_t nln_sacch
Definition: gsm48_rest_octets.h:28
#define GSM48_MT_MM_AUTH_RESP
Definition: gsm_04_08.h:1664
struct msgb * gsm0808_create_vgcs_vbs_setup_ack(const struct gsm0808_vgcs_vbs_setup_ack *params)
Create BSSMAP VGCS/VBS SETUP ACK message, 3GPP TS 48.008 3.2.1.51.
Definition: gsm0808.c:1551
#define NM_IPAC_F_CIPH_ALGO_A54
Definition: gsm_12_21.h:792
static const char * idtag_names[]
Definition: ipa.c:81
static int append_lsa_params(struct bitvec *bv, const struct osmo_gsm48_lsa_params *lsa_params)
Definition: gsm48_rest_octets.c:703
@ GSM0808_IE_RESPONSE_RQST
Definition: gsm_08_08.h:220
Definition: gsm0808.h:230
@ GSM0808_IE_CLASSMARK_INFORMATION_T3
Definition: gsm_08_08.h:212
@ BSS_MAP_MSG_UPLINK_RQST_CONFIRMATION
Definition: gsm_08_08.h:173
int osmo_gsm48_range_enc_1024(uint8_t *chan_list, int f0, int f0_included, int *w)
Definition: gsm48_arfcn_range_encode.c:297
static const struct egprs_cps egprs_cps_table_type3[EGPRS_CPS_TYPE3_TBL_SZ]
Definition: gprs_rlc.c:72
@ GA_MT_RC_DISCOVERY_REJECT
Definition: gsm_44_318.h:21
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_ENQUIRE
Definition: gsm_08_08.h:92
unsigned int priority
Definition: gprs_cipher.h:35
@ GSM48_BCAP_ITCAP_UNR_DIG_INF
Definition: gsm_04_08.h:2123
char info[GSM_MAX_USERUSER+1]
Definition: mncc.h:53
static int cbsp_enc_msg_status_query_compl(struct msgb *msg, const struct osmo_cbsp_msg_status_query_complete *in)
Definition: cbsp.c:302
@ OSMO_GSUP_MSGT_PROC_SS_RESULT
Definition: gsup.h:164
iuup_error_cause
Definition: gsm_25_415.h:199
#define OSMO_EARFCN_MEAS_INVALID
Definition: sysinfo.h:12
#define GSM48_PDISC_RR
Definition: gsm_04_08.h:1441
static struct fn_remap_table tch_f_remap_table
Definition: gsm0502.c:110
@ GA_MT_CSR_HO_COMPL
Definition: gsm_44_318.h:47
@ NM_ATT_MDROP_NEXT
Definition: gsm_12_21.h:349
@ BSSLAP_IEI_CONCUR_POS_PROC_F
Definition: gsm_48_071.h:81
#define GSM48_IE_NET_DST
Definition: gsm_04_08.h:1780
void _a5_4(const uint8_t *ck, uint32_t fn, ubit_t *dl, ubit_t *ul, bool fn_correct)
Generate a GSM A5/4 cipher stream.
Definition: a5.c:60
@ GSM48_REJECT_GPRS_NOT_ALLOWED
Definition: gsm_04_08.h:2039
struct msgb * cp_msg
Definition: gsm0411_smc.h:39
@ BSS_MAP_MSG_UPLINK_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:170
#define NM_IPAC_F_GPRS_CODING_CS4
Definition: gsm_12_21.h:836
#define GSM48_PDISC_BCAST_CC
Definition: gsm_04_08.h:1435
#define GSM48_MT_CC_HOLD_ACK
Definition: gsm_04_08.h:1702
struct osmo_service_area_id sai
Definition: gsm0808_utils.h:49
bssmap_le_apdu_proto
Definition: gsm_49_031.h:139
@ NM_PCAUSE_T_GSM
Definition: gsm_12_21.h:593
int gsm48_decode_keypad(int *keypad, const uint8_t *lv)
Decode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:725
@ BSSMAP_LE_IEI_SHORT_ID
Definition: gsm_49_031.h:134
uint16_t msg_id
Definition: cbsp.h:145
static void cp_timer_expired(void *data)
Definition: gsm0411_smc.c:222
@ OSMO_GSUP_SMS_SM_RP_ODA_SMSC_ADDR
Definition: gsup_sms.h:20
@ GSM0808_IE_NUMBER_OF_MSS
Definition: gsm_08_08.h:207
#define GSM411_MMSMS_EST_REQ
Definition: gsm0411_smc.h:10
#define GSM48_MT_RR_ASS_CMD
Definition: gsm_04_08.h:1567
int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t rf_power_cap)
Decode power class from Classmark1/2 RF power capability field.
Definition: gsm48.c:2044
#define CELL_IDENT_LAI_AND_LAC
Definition: gsm_08_08.h:34
@ BSSMAP_LE_APDU_PROT_BSSLAP
Definition: gsm_49_031.h:141
ubit_t e_bits[MAX_E_BITS]
int gsm48_decode_classmark3(struct gsm48_classmark3 *classmark3_out, const uint8_t *classmark3, size_t classmark3_len)
Decode 3GPP TS 24.008 Mobile Station Classmark 3 (10.5.1.7).
Definition: gsm48_ie.c:1325
static void llist_add_tail(struct llist_head *_new, struct llist_head *head)
#define SBIT(a)
Definition: gsm_04_08.h:2113
@ NM_MT_CONN_MDROP_LINK
Definition: gsm_12_21.h:117
@ OSMO_GSM44068_MSGT_CONNECT
Definition: gsm_44_068.h:44
Definition: gsm_03_41.h:20
@ GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC
Definition: gsm_08_08.h:427
@ CBSP_IEI_MSG_ID
Definition: gsm_48_049.h:36
@ GSM48_CMODE_DATA_14k5_43k5
Definition: gsm_04_08.h:773
#define GSM0480_IE_SS_VERSION
Definition: gsm_04_80.h:13
@ GMM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:246
int osmo_shift_v_fixed(uint8_t **data, size_t *data_len, size_t len, uint8_t **value)
Advance the data pointer, subtract length and assign value pointer.
Definition: tlv_parser.c:478
@ SGSAP_IE_LAI
Definition: gsm_29_118.h:48
@ GSM0808_IE_GROUP_CALL_REFERENCE
Definition: gsm_08_08.h:248
@ GSM0808_CAUSE_CLASS_SRV_OPT_NA
Definition: gsm_08_08.h:437
const struct value_string abis_nm_ipacc_rtp_feat_desc[]
Definition: abis_nm.c:786
static const uint8_t table1[256]
Definition: comp128v23.c:52
static void xor(uint8_t *out, const uint8_t *a, const uint8_t *b, size_t len)
Definition: auth_xor.c:36
@ GSM0808_ALG_ID_A5_6
Definition: gsm_08_08.h:578
uint64_t id
Definition: gsm0411_smr.h:17
const struct value_string sgsap_msg_type_names[]
Definition: gsm29118.c:27
ubit_t s_bits[MAX_S_BITS]
ubit_t x_bits[MAX_X_BITS]
@ GMM_CAUSE_GPRS_NOTALLOWED
Definition: gsm_04_08_gprs.h:225
@ GSM0808_SCT_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:555
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:123
@ OSMO_GSUP_SM_RP_MR_IE
Definition: gsup.h:100
@ NM_ATT_IPACC_RLC_CFG
Definition: gsm_12_21.h:445
void osmo_a5_2(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul) OSMO_DEPRECATED("Use generic osmo_a5() instead")
Definition: a5.c:390
#define OSMO_GSM48_RANGE_ENC_MAX_ARFCNS
Definition: gsm48_arfcn_range_encode.h:15
enum osmo_sub_auth_type type
Definition: auth.h:69
@ GSM0808_SCT_HR1
GSM_HR.
Definition: gsm_08_08.h:553
static void nri_ranges_add_entry_sorted(struct osmo_nri_ranges *nri_ranges, struct osmo_nri_range *add)
Insert a new struct osmo_nri_range in an osmo_nri_ranges list, so that it remains sorted by 'first' v...
Definition: gsm23236.c:274
size_t destination_name_len
Number of bytes in destination_name.
Definition: gsup.h:372
const struct osmo_conv_code gsm0503_tch_ahs_4_75
TCH/AHS 4.75 kbits convolutional code.
Definition: gsm0503_conv.c:1255
int gsm_7bit_encode_ussd(uint8_t *result, const char *data, int *octets)
Definition: gsm_utils.c:1067
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE_LIST
Definition: gsm_08_08.h:223
@ BSSMAP_LE_IEI_CAUSE
Definition: gsm_49_031.h:116
Definition: gsm_04_08.h:483
#define OSMO_PRIM(prim, op)
gsm_phys_chan_config
Definition: gsm_utils.h:216
#define GSM48_MT_RR_SH_VGCS_INFO
Definition: gsm_04_08.h:1649
#define GPRS_DET_T_MT_REATT_NOTREQ
Definition: gsm_04_08_gprs.h:64
3GPP TS 48.008 §3.2.1.55 VGCS/VBS ASSIGNMENT FAILURE
Definition: gsm0808.h:422
uint8_t ck[OSMO_A5_MAX_KEY_LEN_BYTES]
ciphering key
Definition: auth.h:92
#define NM_IPAC_F_CIPH_ALGO_A56
Definition: gsm_12_21.h:794
const char * name
Definition: gsm0411_smc.c:486
static const uint8_t tch_ahs_7_4_term_output[]
Definition: gsm0503_conv.c:1021
@ SGSAP_IE_LCS_CLIENT_ID
Definition: gsm_29_118.h:65
@ BSS_MAP_MSG_REROUTE_CMD
Definition: gsm_08_08.h:119
const struct value_string osmo_gsup_message_class_names[]
Definition: gsup.c:908
@ NM_MT_SET_ALARM_THRES_NACK
Definition: gsm_12_21.h:189
@ OSMO_GSUP_MSGT_PURGE_MS_ERROR
Definition: gsup.h:147
#define GSM0480_OP_CODE_ACTIVATE_SS
Definition: gsm_04_80.h:72
#define GSM411_MT_RP_ACK_MO
Definition: gsm_04_11.h:54
Definition: gsm_04_08.h:922
#define GSM48_IE_CIP_MODE_SET_HO
Definition: gsm_04_08.h:1822
unsigned int id_bits
Definition: gsm0808_utils.h:176
struct osmo_cbsp_write_replace::@0::@1 cbs
@ IUUP_ERR_CAUSE_UNEXPECTED_RFCI
Definition: gsm_25_415.h:212
static const uint8_t tch_ahs_5_15_output[][2]
Definition: gsm0503_conv.c:1144
3GPP TS 48.008 §3.2.1.9 HANDOVER REQUIRED
Definition: gsm0808.h:153
bool osmo_str_startswith(const char *str, const char *startswith_str)
struct gsm48_classmark3::@39::@52 rf_pwr_cap_1
@ NM_NACK_ATTRID_INVAL
Definition: gsm_12_21.h:611
static struct osmo_iuup_tnl_prim * tnp_ctrl_init_alloc(struct osmo_iuup_instance *iui)
Definition: iuup.c:281
#define NM_IPAC_F_RSL_FEAT_RTP_PT2
Definition: gsm_12_21.h:860
@ NM_ATT_IPACC_PRIM_OML_CFG_LIST
Definition: gsm_12_21.h:431
@ BSSMAP_LE_IEI_MTA_ACC_SEC_RQD
Definition: gsm_49_031.h:136
struct msgb * gsm0808_create_reset_ack(void)
Create BSSMAP RESET ACK message.
Definition: gsm0808.c:164
@ T200_SDCCH
Definition: gsm_12_21.h:649
Definition: gsm_04_08.h:1019
char text[MAX_LEN_USSD_STRING+1]
Definition: gsm0480.h:44
int gprs_cipher_run(uint8_t *out, uint16_t len, enum gprs_ciph_algo algo, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction dir)
Definition: gprs_cipher_core.c:78
bool mnc_3_digits
Definition: gsm23003.h:12
Definition: gsm0808_utils.h:189
@ NM_NACK_TEST_NOSTOP
Definition: gsm_12_21.h:627
int gsm411_smc_send(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.c:454
@ OSMO_GSM44068_MSGT_TERMINATION_REQUEST
Definition: gsm_44_068.h:46
#define GSM48_IE_LOCATION_AREA
Definition: gsm_04_08.h:1876
struct msgb * gsm29118_create_lu_rej(const char *imsi, uint8_t rej_cause, const struct osmo_location_area_id *lai)
Definition: gsm29118.c:303
struct gad_raw_ell_point ell_point
Definition: gsm_23_032.h:241
const char * osmo_cgi_ps_name(const struct osmo_cell_global_id_ps *cgi_ps)
Return MCC-MNC-LAC-RAC-CI as string, in a static buffer.
Definition: gsm23003.c:343
@ GSM48_CC_CAUSE_CHAN_UNACCEPT
Definition: gsm_04_08.h:1959
@ OSMO_CBSP_CAUSE_UNSPECIFIED_ERROR
Definition: cbsp.h:260
enum osmo_gsup_message_type message_type
Definition: gsup.h:303
static LLIST_HEAD(gprs_ciphers)
const struct tlv_definition gsm48_att_tlvdef
TLV parser definitions for TS 04.08 CC.
Definition: gsm48.c:53
@ BSSMAP_LE_IEI_CHOSEN_CHAN
Definition: gsm_49_031.h:118
enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs)
determine coding alphabet dependent on GSM 03.38 Section 4 DCS
Definition: gsm0411_utils.c:253
char * logmsg
Definition: gad.h:168
static int cbsp_enc_write_repl_compl(struct msgb *msg, const struct osmo_cbsp_write_replace_complete *in)
Definition: cbsp.c:191
enum gsm0808_cause reset
Definition: gsm_49_031.h:217
char * osmo_gcr_dump(const struct osmo_lcls *lcls)
Dump GCR struct into static string buffer for printing.
Definition: gsm0808_utils.c:779
const uint8_t gsm0808_amr_modes_from_cfg[2][16]
Definition: gsm0808.c:2724
struct msgb * gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause)
Create BSSMAP Assignment Failure message.
Definition: gsm0808.c:737
#define GPRS_DET_T_MT_REATT_REQ
Definition: gsm_04_08_gprs.h:63
int location
Definition: mncc.h:58
size_t num_pdp_infos
Definition: gsup.h:312
static int osmo_bssmap_le_ie_dec_lcs_priority(uint8_t *priority, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:279
static int osmo_gad_dec_ell_point_unc_circle(struct osmo_gad_ell_point_unc_circle *v, struct osmo_gad_err **err, void *err_ctx, const struct gad_raw_ell_point_unc_circle *raw)
Definition: gad.c:277
#define IP_V4_ADDR_LEN
Definition: gsm0808_utils.c:34
char * unit_name
Definition: ipa.h:17
int have_info
Definition: gsup.h:258
@ GSM0808_IE_EMLPP_PRIORITY
Definition: gsm_08_08.h:249
@ BSS_MAP_MSG_CLASSMARK_UPDATE
Definition: gsm_08_08.h:153
static const uint8_t tch_ahs_4_75_output[][2]
Definition: gsm0503_conv.c:1205
uint16_t lac
Definition: gsm_04_08.h:807
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:185
uint8_t spgc_ccch_sup
Definition: gsm48_rest_octets.h:121
static bool nri_v_matches_range(const struct osmo_nri_range *range, int16_t nri_v)
Match NRI value against a list NRI ranges.
Definition: gsm23236.c:46
@ GSM411_RP_CAUSE_MO_UNIDENTIFIED_SUBSCR
Definition: gsm_04_11.h:73
char * osmo_gad_raw_to_str_c(void *ctx, const union gad_raw *raw)
Return a human readable representation of a raw GAD PDU.
Definition: gad.c:432
uint16_t bts_id
Definition: ipa.h:15
const uint8_t * source_name
For messages routed via another GSUP entity (via HLR), the IPA name of the entity that sent this mess...
Definition: gsup.h:365
int gsm48_decode_cccap(struct gsm_mncc_cccap *ccap, const uint8_t *lv)
Decode TS 04.08 Call Control Capabilities IE (10.5.4.5a)
Definition: gsm48_ie.c:375
static const uint8_t tch_hr_state[][2]
Definition: gsm0503_conv.c:892
static int osmo_bssmap_le_dec_reset(enum gsm0808_cause *cause, enum bssmap_le_msgt msgt, struct osmo_bssmap_le_err **err, void *err_ctx, const struct tlv_parsed *tp)
Definition: bssmap_le.c:500
@ OSMO_GSUP_IK_IE
Definition: gsup.h:84
uint16_t subflow_sizes[IUUP_MAX_SUBFLOWS]
Definition: iuup.h:50
@ GSM0808_IE_CIPHER_RESPONSE_MODE
Definition: gsm_08_08.h:228
const char * osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm)
Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3.
Definition: gsm48.c:1949
enum osmo_gsup_sms_sm_alert_rsn_t sm_alert_rsn
Alert reason (see 3GPP TS 29.002, 7.6.8.8)
Definition: gsup.h:353
@ GSM48_CC_CAUSE_MSGTYPE_NOTEXIST
Definition: gsm_04_08.h:1998
#define GSM48_MT_RR_UTRAN_CLSM_CHG
Definition: gsm_04_08.h:1592
#define GSM48_MT_RR_SH_SI10bis
Definition: gsm_04_08.h:1651
#define R(x, n)
Definition: sha256-internal.c:76
int osmo_routing_area_id_decode(struct osmo_routing_area_id *dst, const uint8_t *ra_data, size_t ra_data_len)
Decode to struct osmo_routing_area_id from a 3GPP TS 24.008 § 10.5.5.15 Routing area identification.
Definition: gsm48.c:1355
@ FN_REMAP_TCH_H1
Definition: gsm0502.h:99
bool si2ter_indicator
Definition: gsm48_rest_octets.h:93
struct gsm0808_cell_id_list2 cil
Definition: gsm0808_utils.h:148
@ GSM0808_SC_CFG_DEFAULT_AMR_7_95
Definition: gsm_08_08.h:677
@ GSM0808_IE_TIME_INDICATION
Definition: gsm_08_08.h:240
uint8_t cm2_len
Definition: gsm_04_08.h:806
@ SGSAP_MSGT_RESET_IND
Definition: gsm_29_118.h:26
@ GSM0808_IE_GANSS_LOCATION_TYPE
Definition: gsm_08_08.h:299
Definition: gsm_08_08.h:760
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:49
@ NM_MT_SEND_TEST_REP
Definition: gsm_12_21.h:138
#define OSMO_GSUP_TO_MSGT_ERROR(msgt)
Definition: gsup.h:209
#define GSM48_MT_MM_ABORT
Definition: gsm_04_08.h:1677
void osmo_kdf_nas(uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas)
Definition: kdf.c:146
@ GSM0808_CAUSE_DTM_HO_INVALID_PS_IND
Definition: gsm_08_08.h:425
int osmo_tmsi_nri_v_limit_by_ranges(uint32_t *tmsi, const struct osmo_nri_ranges *nri_ranges, uint8_t nri_bitlen)
Apply osmo_nri_v_limit_by_ranges() in-place on the NRI value included in a TMSI.
Definition: gsm23236.c:201
#define GPRS_UPD_T_RA_LA
Definition: gsm_04_08_gprs.h:72
#define GSM411_MT_CP_DATA
Definition: gsm_04_11.h:29
#define GSM48_MT_GMM_AUTH_CIPH_REJ
Definition: gsm_04_08_gprs.h:28
int gsm0808_cell_id_list_add(struct gsm0808_cell_id_list2 *dst, const struct gsm0808_cell_id_list2 *src)
Append entries from one Cell Identifier List to another.
Definition: gsm0808_utils.c:1457
const struct value_string osmo_gsup_message_type_names[]
Definition: gsup.c:39
int32_t lon
Longitude in micro degrees (degrees * 1e6), -180'000'000 (W) .
Definition: gad.h:39
void osmo_timer_del(struct osmo_timer_list *timer)
void milenage_generate(const u8 *opc, const u8 *amf, const u8 *k, const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len)
milenage_generate - Generate AKA AUTN,IK,CK,RES @opc: OPc = 128-bit operator variant algorithm config...
Definition: milenage.c:182
int cp_rel
Definition: gsm0411_smc.h:40
@ FN_REMAP_FACCH_H0
Definition: gsm0502.h:101
int osmo_fsm_register(struct osmo_fsm *fsm)
struct gsm48_classmark3::@38 ecsd_multislot_cap
bool present
Definition: gsm48_rest_octets.h:47
#define A51_R2_CLKBIT
Definition: a5.c:160
@ GSM0808_IE_RESOURCE_SITUATION
Definition: gsm_08_08.h:241
#define NM_IPAC_F_FREQ_BAND_DCS
Definition: gsm_12_21.h:782
uint32_t t3168
Definition: gsm_44_060.h:175
static int cbsp_dec_error_ind(struct osmo_cbsp_error_ind *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1230
struct llist_head list
Definition: cbsp.h:71
struct msgb * gsm0480_create_notifySS(const char *text)
Definition: gsm0480.c:137
@ OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST
Definition: gsup.h:178
void gsm411_smc_init(struct gsm411_smc_inst *inst, uint64_t id, int network, int(*mn_recv)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg), int(*mm_send)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type))
Definition: gsm0411_smc.c:79
uint8_t lat[3]
Definition: gsm_23_032.h:3
static unsigned long gsm340_vp_relative_semioctet(uint8_t *sms_vp)
Definition: gsm0411_utils.c:200
int osmo_plmn_cmp(const struct osmo_plmn_id *a, const struct osmo_plmn_id *b)
Definition: gsm23003.c:580
@ NM_NACK_MSGINCONSIST_PHYSCFG
Definition: gsm_12_21.h:628
@ NM_MT_LOAD_ABORT
Definition: gsm_12_21.h:89
@ GSM48_BCAP_RRQ_DUAL_FR
Definition: gsm_04_08.h:2145
int(* rout)(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:426
@ GSM48_CC_CAUSE_ACM_GE_ACM_MAX
Definition: gsm_04_08.h:1988
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL
Definition: gsm_08_08.h:786
#define GSM48_MT_RR_IS_TO_CDMA2K_HANDO
Definition: gsm_04_08.h:1595
struct msgb * ipa_msg_alloc(int headroom)
Definition: ipa.c:709
static struct fn_remap_table * fn_remap_table_ptr[FN_REMAP_MAX]
Definition: gsm0502.c:116
struct osmo_timer_nt rc
Definition: iuup.c:130
@ GSM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:283
@ SGSAP_SGS_CAUSE_UE_UNREACHABLE
Definition: gsm_29_118.h:132
int gsm0808_dec_priority(struct gsm0808_priority *pri, const uint8_t *elem, uint8_t len)
Decode Priority IE (3GPP TS 48.008 3.2.2.18).
Definition: gsm0808_utils.c:2280
@ NM_NACK_CANT_PERFORM
Definition: gsm_12_21.h:616
static struct gprs_cipher_impl gea3_impl
Definition: gprs_gea.c:30
bool pt
PCMoTDM: PCM over A-Interface with TDM as transport.
Definition: gsm_08_08.h:598
static const uint8_t * _comp128_table[5]
Definition: comp128.c:140
@ NM_MT_CONN_MDROP_LINK_ACK
Definition: gsm_12_21.h:118
#define GSM48_MT_RR_DTM_INFO
Definition: gsm_04_08.h:1631
@ GSM0808_IE_TRIGGERID
Definition: gsm_08_08.h:231
@ GSM0808_PERM_HR3
HR AMR.
Definition: gsm_08_08.h:501
static const uint8_t tch_ahs_4_75_state[][2]
Definition: gsm0503_conv.c:1186
@ BSS_MAP_MSG_RESET
Definition: gsm_08_08.h:123
@ NM_MT_SET_BTS_ATTR
Definition: gsm_12_21.h:124
@ SGSAP_MSGT_TMSI_REALL_CMPL
Definition: gsm_29_118.h:17
#define GSM48_IE_REPEAT_SEQ
Definition: gsm_04_08.h:1809
struct msgb * gsm0808_create_perform_location_request(const struct gsm0808_perform_location_request *params)
Definition: gsm0808.c:1419
#define GSM48_IE_CLIR_INVOC
Definition: gsm_04_08.h:1806
#define IUUP_MAX_RFCIS
Definition: iuup.h:33
struct msgb * gsm0808_create_uplink_release_cmd(const enum gsm0808_cause cause)
3GPP TS 48.008 §3.2.1.62 (VGCS) UPLINK RELEASE COMMAND
Definition: gsm0808.c:1984
uint8_t net_len
Network ID, ITU-T Q.1902.3.
Definition: gsm29205.h:31
#define LOGPFSML(fi, level, fmt, args...)
int osmo_gsm48_si1ro_nch_pos_decode(uint8_t value, uint8_t *num_blocks, uint8_t *first_block)
Decode the 5-bit 'NCH position' field within SI1 Rest Octets.
Definition: gsm48_rest_octets.c:110
unsigned int present
Definition: gsm48_rest_octets.h:87
uint8_t gsm0808_enc_priority(struct msgb *msg, const struct gsm0808_priority *pri)
Encode Priority IE (3GPP TS 48.008 3.2.2.18).
Definition: gsm0808_utils.c:2257
@ NM_SEVER_CEASED
Definition: gsm_12_21.h:582
@ GSM0808_IE_CHOSEN_ENCR_ALG
Definition: gsm_08_08.h:237
@ GSM0808_IE_CN_TO_MS_TRANSP_INFO
Definition: gsm_08_08.h:326
struct msgb * gsm0808_create_cipher_reject(enum gsm0808_cause cause)
Create BSSMAP Cipher Mode Reject message.
Definition: gsm0808.c:319
uint8_t len
Definition: gsm_08_08.h:726
uint8_t bcch_change_mark
Definition: gsm48_rest_octets.h:118
static const uint8_t tch_afs_7_4_output[][2]
Definition: gsm0503_conv.c:558
bool early_cm_ctrl
Definition: gsm48_rest_octets.h:94
int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc, uint16_t *mnc, uint16_t *lac)
Decode TS 04.08 Location Area Identifier, legacy implementation.
Definition: gsm48.c:1171
@ GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID
Definition: gsm_08_08.h:362
uint8_t msg_type
Definition: gsm_04_08.h:943
@ NM_OC_IPAC_E1_PORT
Definition: gsm_12_21.h:294
int osmo_gsup_decode(const uint8_t *data, size_t data_len, struct osmo_gsup_message *gsup_msg)
Decode (parse) a GSUP message.
Definition: gsup.c:296
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:83
@ GSM48_RR_CAUSE_COND_IE_ERROR
Definition: gsm_04_08.h:1950
void tuak_generate(const uint8_t *opc, const uint8_t *amf, const uint8_t *k, uint8_t k_len_bytes, const uint8_t *sqn, const uint8_t *_rand, uint8_t *autn, uint8_t *ik, uint8_t *ck, uint8_t *res, size_t *res_len)
tuak_generate - Generate AKA AUTN,IK,CK,RES @opc: OPc = 256-bit operator variant algorithm configurat...
Definition: tuak.c:300
static __thread char apn_strbuf[APN_MAXLEN+1]
Definition: apn.c:34
@ NM_ATT_POWER_CLASS
Definition: gsm_12_21.h:355
struct osmo_iuup_rnl_status status
Definition: iuup.h:110
#define GSM411_MT_RP_DATA_MO
Definition: gsm_04_11.h:52
@ BSSMAP_LE_LOC_INFO_BC_DECIPHER_KEYS
Definition: gsm_49_031.h:149
#define GSM414_MT_ACT_EMMI_ACK
Definition: gsm_04_14.h:54
@ OSMO_EVT_PCU_VERS
Definition: gsm_12_21.h:274
@ NM_MT_SW_ACT_REQ_ACK
Definition: gsm_12_21.h:94
@ GSM0808_IE_LAYER_3_MESSAGE_CONTENTS
Definition: gsm_08_08.h:225
@ GSM48_CC_CAUSE_SWITCH_CONG
Definition: gsm_04_08.h:1977
3GPP TS 48.008 §3.2.1.82 (VGCS/VBS) NOTIFICATION DATA
Definition: gsm0808.h:563
#define GSM48_MT_CC_RELEASE_COMPL
Definition: gsm_04_08.h:1710
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:177
@ OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST
Definition: gsup.h:182
@ GSM0808_IE_DLCI
Definition: gsm_08_08.h:217
#define GSM411_TMR_TC1A_SEC
Definition: gsm_04_11.h:101
int gsm48_encode_called(struct msgb *msg, const struct gsm_mncc_number *called)
Encode TS 04.08 Called Party IE (10.5.4.7)
Definition: gsm48_ie.c:436
const struct value_string osmo_bsslap_msgt_names[]
Definition: bsslap.c:281
Packed representation of a Group Call Reference IE (3GPP TS 48.008 3.2.2.55)
Definition: gsm0808_utils.h:121
static int cbsp_dec_load_query(struct osmo_cbsp_load_query *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:927
@ GSM0808_IE_LCS_PRIORITY
Definition: gsm_08_08.h:257
bsslap_cause
Definition: gsm_48_071.h:41
@ OSMO_GSM44068_MSGT_STATUS
Definition: gsm_44_068.h:48
static const uint8_t tch_afs_5_15_term_state[]
Definition: gsm0503_conv.c:753
struct osmo_iuup_rnl_status::@9::@11 initialization
@ OSMO_GSM44068_CAUSE_NETWORK_FAILURE
Definition: gsm_44_068.h:90
int osmo_bsslap_dec(struct bsslap_pdu *pdu, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
Decode BSSLAP PDU (3GPP TS 48.071).
Definition: bsslap.c:212
#define GSM414_MT_CLOSE_TCH_LOOP_CMD
Definition: gsm_04_14.h:11
struct gsm48_classmark3::@47 high_multislot_cap
gsm48_dtx_mode
Definition: gsm_04_08.h:1011
int gsm_7bit_decode_n_ussd(char *decoded, size_t n, const uint8_t *user_data, uint8_t length)
Decode a sequence of 7 bit characters (USSD encoding).
Definition: gsm_utils.c:268
static uint8_t * msgb_tlv1_push(struct msgb *msg, uint8_t tag, uint8_t val)
push 1-byte tagged value
Definition: tlv.h:437
struct msgb * osmo_cbsp_msgb_alloc(void *ctx, const char *name)
Definition: cbsp.c:35
static const struct osmo_fsm_state iuup_fsm_states[]
Definition: iuup.c:801
@ GSM0808_CHAN_SPEECH
Definition: gsm_08_08.h:446
const char * abis_nm_test_name(uint8_t test)
Get human-readable string for OML test.
Definition: abis_nm.c:680
int gsm411_smc_recv(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type)
Definition: gsm0411_smc.c:528
@ OSMO_EVT_MAJ_NET_CONGEST
Definition: gsm_12_21.h:267
#define GSM48_MT_MM_CM_SERV_PROMPT
Definition: gsm_04_08.h:1675
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL
Definition: gsm_08_08.h:784
static const struct tlv_definition osmo_bssmap_le_tlvdef
Definition: bssmap_le.c:42
@ GSM0808_CAUSE_BETTER_CELL
Definition: gsm_08_08.h:379
@ IUUP_PDU_T_CONTROL
Definition: gsm_25_415.h:163
#define GSM411_ALLOC_HEADROOM
Definition: gsm0411_utils.c:48
@ _GPRS_ALGO_NUM
Definition: gprs_cipher.h:19
static const int tch_afs_5_15_puncture[]
Definition: gsm0503_conv.c:763
const struct value_string gsm48_gmm_cause_names_[]
10.5.5.14 GPRS MM Cause / Table 10.5.147
Definition: gsm_04_08_gprs.c:38
const struct osmo_conv_code gsm0503_tch_f24
TCH/F2.4 convolutional code: 72 bits blocks, rate 1/6, k = 5 G1 = 1 + D + D3 + D4 G2 = 1 + D2 + D4 G3...
Definition: gsm0503_conv.c:112
#define GSM0808_CELL_ID_LIST2_MAXLEN
(225-1)/2 is the maximum number of elements in a cell identifier list.
Definition: gsm0808_utils.h:38
@ GSM411_CP_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_11.h:46
@ GPRS_ALGO_GEA0
Definition: gprs_cipher.h:14
@ BTS_FEAT_OSMUX
Definition: bts_features.h:36
#define GSM48_IE_START_TIME
Definition: gsm_04_08.h:1863
@ GSM0808_CAUSE_DOWNLINK_STRENGTH
Definition: gsm_08_08.h:372
@ NM_MT_OPSTART_NACK
Definition: gsm_12_21.h:168
@ OSMO_CBSP_CAUSE_INCOMPATIBLE_DRX_PARAM
Definition: cbsp.h:257
bool gsm48_ra_equal(const struct gprs_ra_id *raid1, const struct gprs_ra_id *raid2)
Compare a TS 04.08 Routing Area Identifier.
Definition: gsm48.c:1468
int comp128v3(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v3 algorithm.
Definition: comp128v23.c:115
@ GSM0808_SC_CFG_DEFAULT_FR_AMR
Definition: gsm_08_08.h:657
void bitvec_zero(struct bitvec *bv)
@ GSM48_RR_CAUSE_NORMAL
Definition: gsm_04_08.h:1933
static unsigned long gsm340_vp_absolute(uint8_t *sms_vp)
Definition: gsm0411_utils.c:169
@ NM_MT_START_MEAS
Definition: gsm_12_21.h:182
const struct value_string gsm48_cc_cause_names[]
TS 04.08 10.5..4.11 Call Control Cause Values.
Definition: gsm48.c:1686
const char * osmo_cgi_name(const struct osmo_cell_global_id *cgi)
Return MCC-MNC-LAC-CI as string, in a static buffer.
Definition: gsm23003.c:299
@ GMM_CAUSE_IMPL_DETACHED
Definition: gsm_04_08_gprs.h:228
int gsm0808_dec_cell_id_list_segment(struct gsm0808_cell_id_list_segment *ci, const uint8_t *elem, uint8_t len)
Decode Cell Identifier List Segment IE (3GPP TS 48.008 3.2.2.27a).
Definition: gsm0808_utils.c:2537
int ipa_ccm_id_resp_parse(struct tlv_parsed *dec, const uint8_t *buf, unsigned int len)
Parse the payload part of an IPA CCM ID RESP, return tlv_parsed format.
Definition: ipa.c:204
@ GSM48_CMODE_DATA_29k0
ECSD: 29.0 kbit/s radio interface rate, 28.8 kbit/s services (E-TCH/F28.8)
Definition: gsm_04_08.h:784
@ OSMO_EVT_CRIT_PROC_STOP
Definition: gsm_12_21.h:260
@ TLLI_RANDOM
Definition: gsm_utils.h:203
@ GA_MT_RC_CELL_BCAST_INFO
Definition: gsm_44_318.h:30
const struct value_string gprs_msgt_gmm_names[]
String names of GMM message types.
Definition: gsm_04_08_gprs.c:150
@ OSMO_GSM44068_PRIO_PRIVILEGED
Definition: gsm_44_068.h:122
@ CBSP_MSGT_WRITE_REPLACE_FAIL
Definition: gsm_48_049.h:53
uint16_t old_serial_nr
Definition: cbsp.h:175
static const char * gsm0808_cell_id_discr_name(enum CELL_IDENT id_discr)
Definition: gsm0808_utils.h:241
uint8_t bits
Definition: gprs_rlc.c:123
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan)
Obtain OML Channel Combination for phnsical channel config.
Definition: abis_nm.c:1011
static int osmo_gad_raw_len(const union gad_raw *gad_raw)
Definition: gad.c:292
@ BTS_FEAT_BCCH_POWER_RED
Definition: bts_features.h:33
#define GSM48_IE_AUX_STATUS
Definition: gsm_04_08.h:1788
int gea4(uint8_t *out, uint16_t len, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction direct)
Performs the GEA4 algorithm as in 3GPP TS 55.226 V9.0.0.
Definition: gea.c:37
@ GSM48_CC_CAUSE_INVAL_TRANS_NET
Definition: gsm_04_08.h:1995
#define EGPRS_CPS_TYPE3_TBL_SZ
Definition: gprs_rlc.c:21
#define NM_IPAC_F_RTP_FEAT_IR_16k
Definition: gsm_12_21.h:851
uint8_t dtm_supported
Definition: gsm_44_060.h:189
uint8_t prio
Definition: sysinfo.h:61
#define GSM48_MT_RR_SYSINFO_3
Definition: gsm_04_08.h:1600
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:111
#define NM_IPAC_F_CHANT_PDCHF
ip.access support flags for NM_IPAC_EIE_CHAN_TYPES (2nd octet)
Definition: gsm_12_21.h:808
uint8_t * msgb_data(const struct msgb *msg)
#define GSM48_MT_RR_SYSINFO_13
Definition: gsm_04_08.h:1612
@ T200_SDCCH_SAPI3
Definition: gsm_12_21.h:654
uint8_t t2
Definition: gsm_utils.h:44
const struct value_string abis_nm_ipacc_chant_desc[]
Definition: abis_nm.c:734
int gsm_7bit_encode_n(uint8_t *result, size_t n, const char *data, int *octets_written)
Encode a text string into GSM 03.38 encoded 7 bit characters.
Definition: gsm_utils.c:382
@ GSM0808_ALG_ID_A5_1
Definition: gsm_08_08.h:573
static int osmo_bssmap_le_enc_perform_loc_abort(struct msgb *msg, const struct lcs_cause_ie *params)
Definition: bssmap_le.c:618
#define GSM48_MT_RR_CFG_CHG_CMD
Definition: gsm_04_08.h:1563
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:156
@ NM_ATT_T200
Definition: gsm_12_21.h:367
@ CELL_IDENT_UTRAN_LAC_RNC
Definition: gsm_08_08.h:27
static int append_gprs_mobile_alloc(struct bitvec *bv)
Definition: gsm48_rest_octets.c:956
bool osmo_gsm48_classmark2_is_r99(const struct gsm48_classmark2 *cm2, uint8_t cm2_len)
Definition: gsm48.c:1895
@ GSM0808_IE_SEGMENTATION
Definition: gsm_08_08.h:269
@ GSM0808_IE_LCLS_CONN_STATUS_CTRL
Definition: gsm_08_08.h:318
@ GSM_MNCC_BCAP_UNR_DIG
Definition: mncc.h:79
@ GSM48_RR_CAUSE_INVALID_MAND_INF
Definition: gsm_04_08.h:1947
uint8_t gsm411_bcdify(uint8_t value)
Turn int into semi-octet representation: 98 => 0x89.
Definition: gsm0411_utils.c:61
@ GSM0808_CAUSE_GERAN_IU_MODE_FAILURE
Definition: gsm_08_08.h:413
@ SGSAP_ID_EPS_T_NETWORK_INITIATED
Definition: gsm_29_118.h:95
Packed representation of a Priority IE (GGPP TS 48.008 3.2.2.18)
Definition: gsm0808_utils.h:68
@ CBSP_MSGT_SET_DRX
Definition: gsm_48_049.h:63
struct osmo_iuup_instance * osmo_iuup_instance_alloc(void *ctx, const char *id)
Definition: iuup.c:1022
#define GSM48_MT_GMM_ID_RESP
Definition: gsm_04_08_gprs.h:31
static const int tch_ahs_5_15_puncture[]
Definition: gsm0503_conv.c:1161
#define GSM_MAX_FN
Definition: gsm_utils.h:35
@ BSS_MAP_MSG_SAPI_N_REJECT
Definition: gsm_08_08.h:107
#define GSM48_MT_RR_CIPH_M_COMPL
Definition: gsm_04_08.h:1561
static int gsm411_mmsms_send_msg(struct gsm411_smc_inst *inst)
Definition: gsm0411_smc.c:184
static const uint8_t table_2[128]
Definition: comp128.c:121
#define GPRS_DET_T_MT_IMSI
Definition: gsm_04_08_gprs.h:65
#define GSM48_PDISC_SM_GPRS
Definition: gsm_04_08.h:1444
uint64_t id
Definition: gsm0411_smc.h:30
static uint8_t gsm48_hdr_pdisc(const struct gsm48_hdr *hdr)
Definition: gsm_04_08.h:1460
const char * gsm0808_bssmap_name(uint8_t msg_type)
Return string name of BSSMAP Message Type.
Definition: gsm0808.c:2460
@ OSMO_GSM44068_CAUSE_IE_NOT_COMPAT
Definition: gsm_44_068.h:107
void ipa_prepend_header_ext(struct msgb *msg, int proto)
Definition: ipa.c:534
const char * gsm48_cc_msg_name(uint8_t msgtype)
return string representation of CC Message Type
Definition: gsm48.c:310
@ GSM0808_AMR_MODE_7_40
Definition: gsm_08_08.h:709
#define EGPRS_CPS_TYPE2_TBL_SZ
Definition: gprs_rlc.c:20
#define GSM_MAX_FACILITY
Definition: mncc.h:7
static unsigned char gsm_7bit_alphabet[]
Definition: gsm_utils.c:154
@ GSM0808_SCT_FR2
GSM EFR.
Definition: gsm_08_08.h:549
@ NM_OC_GPRS_NSVC
Definition: gsm_12_21.h:310
struct gsm48_loc_area_id lai
Definition: gsm_04_08.h:808
@ NM_MT_SET_SITE_OUT_NACK
Definition: gsm_12_21.h:174
int gsm0480_wrap_facility(struct msgb *msg)
Definition: gsm0480.c:89
static const uint8_t tch_axs_sid_update_term_state[]
Definition: gsm0503_conv.c:1280
static const uint8_t tch_afs_5_15_state[][2]
Definition: gsm0503_conv.c:739
@ IUUP_FSM_EVT_IUUP_DATA_IND
Definition: iuup.c:150
static const uint8_t tch_ahs_7_4_state[][2]
Definition: gsm0503_conv.c:1002
3GPP TS 48.008 §3.2.1.80 VGCS/VBS ASSIGNMENT STATUS
Definition: gsm0808.h:537
@ GA_MT_CSR_ACT_CHAN_ACK
Definition: gsm_44_318.h:36
struct osmo_cbsp_kill_failure kill_fail
Definition: cbsp.h:279
struct osmo_location_area_id lai_and_lac
Definition: gsm0808_utils.h:47
uint8_t cs_ps_srvcc_geran_utra
Definition: gsm_04_08.h:218
size_t ss_info_len
Definition: gsup.h:331
struct gsm0808_old_bss_to_new_bss_info::@6 extra_information
@ SGSAP_IE_IMEISV
Definition: gsm_29_118.h:60
const struct value_string abis_nm_obj_class_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:607
void bitvec_add_range1024(struct bitvec *bv, const struct gsm48_range_1024 *r)
append range1024 encoded data to bit vector
Definition: gsm_utils.c:970
#define NM_IPAC_F_GPRS_CODING_MCS6
Definition: gsm_12_21.h:843
@ OSMO_CGI_PART_PLMN
Definition: gsm23003.h:45
@ OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT
Definition: gsup.h:160
@ GSM411_RP_CAUSE_MO_REQ_FAC_NOTIMPL
Definition: gsm_04_11.h:81
int gsm0808_decode_cell_id_u(union gsm0808_cell_id_u *out, enum CELL_IDENT discr, const uint8_t *buf, unsigned int len)
Decode a single GSM 08.08 Cell ID list element payload.
Definition: gsm0808_utils.c:968
Definition: gprs_rlc.c:120
struct bssmap_le_pdu bssmap_le
Definition: gsm_49_031.h:229
uint8_t bcast_msg_type
Definition: cbsp.h:225
static const int rach_ext_puncture[]
Definition: gsm0503_conv.c:240
@ FN_REMAP_FACCH_H1
Definition: gsm0502.h:102
static uint8_t _a5_1_get_output(uint32_t r[])
GSM A5/1 Output function.
Definition: a5.c:193
@ BTS_FEAT_VBS
Definition: bts_features.h:37
#define IUUP_TIMER_TA
Definition: iuup.c:112
uint8_t digits[3]
Definition: gsm_04_08.h:2233
static const uint8_t tch_f48_state[][2]
Definition: gsm0503_conv.c:149
@ GSM0808_IE_REROUTE_COMPL_OUTCOME
Definition: gsm_08_08.h:315
#define A5_R2_TAPS
Definition: a5.c:112
uint8_t gsm0808_enc_encrypt_info(struct msgb *msg, const struct gsm0808_encrypt_info *ei)
Encode TS 08.08 Encryption Information IE.
Definition: gsm0808_utils.c:789
static const char * gsm0808_lcls_control_name(enum gsm0808_lcls_control val)
Definition: gsm0808.h:603
@ GPRS_SERVICE_T_MBMS_MC_SERV
Definition: gsm_04_08_gprs.h:430
@ OSMO_AUTH_ALG_MILENAGE
Definition: auth.h:34
static const int cs2_puncture[]
Definition: gsm0503_conv.c:267
@ IUUP_AN_ACK
Definition: gsm_25_415.h:169
@ BSS_MAP_MSG_UPLINK_APP_DATA
Definition: gsm_08_08.h:181
#define GSM48_MT_MM_IMSI_DETACH_IND
Definition: gsm_04_08.h:1657
static const uint8_t tch_ahs_5_15_term_output[]
Definition: gsm0503_conv.c:1156
@ BSS_MAP_MSG_INT_HANDOVER_REQUIRED_REJ
Definition: gsm_08_08.h:97
@ GSM48_CC_CAUSE_NUMBER_CHANGED
Definition: gsm_04_08.h:1966
@ GSM_CAUSE_REQ_SERV_OPT_NOTSUB
Definition: gsm_04_08_gprs.h:267
int gsm0808_dec_vgcs_feature_flags(struct gsm0808_vgcs_feature_flags *ff, const uint8_t *elem, uint8_t len)
Decode VGCS Feature Flags IE (3GPP TS 48.008 3.2.2.88).
Definition: gsm0808_utils.c:2320
bool osmo_gsm48_classmark1_is_r99(const struct gsm48_classmark1 *cm1)
Definition: gsm48.c:1890
const uint8_t * sm_rp_da
Definition: gsup.h:340
Definition: gsm0808.h:298
@ CELL_IDENT_BSS
Definition: gsm_08_08.h:24
int type
Definition: gsm0411_smr.c:432
struct msgb * gsm0808_create_sapi_reject(uint8_t link_id) OSMO_DEPRECATED("Use gsm0808_create_sapi_reject_cause() instead")
Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped").
Definition: gsm0808.c:491
#define NM_IPAC_F_CHANT_TCHF
ip.access support flags for NM_IPAC_EIE_CHAN_TYPES (1st octet)
Definition: gsm_12_21.h:799
#define GSM_MI_TYPE_IMEI
Definition: gsm_04_08.h:1769
@ NM_PCAUSE_T_X721
Definition: gsm_12_21.h:592
@ BSSLAP_MSGT_REJECT
Definition: gsm_48_071.h:31
#define GSM48_MT_CC_HOLD
Definition: gsm_04_08.h:1701
struct msgb * gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode)
Superseded by gsm0808_create_cipher2() to include Kc128.
Definition: gsm0808.c:241
@ GSM_PCHAN_TCH_F_PDCH
Definition: gsm_utils.h:224
@ OSMO_CBSP_CAUSE_UNRECOGNISED_MESSAGE
Definition: cbsp.h:250
@ LCS_CAUSE_POS_METH_FAILURE
Definition: gsm_49_031.h:42
@ NM_OC_BS11_RACK
Definition: gsm_12_21.h:302
const struct osmo_conv_code gsm0503_tch_afs_5_9
TCH/AFS 5.9 kbits convolutional code: 124 bits G4/G6 = 1 + D2 + D3 + D5 + D6 / 1 + D + D2 + D3 + D4 +...
Definition: gsm0503_conv.c:728
@ NM_MT_LOAD_END_ACK
Definition: gsm_12_21.h:91
union osmo_iuup_rnl_status::@9 u
@ OSMO_AUTH_ALG_NONE
Definition: auth.h:29
@ NM_ATT_IPACC_REVOC_DATE
Definition: gsm_12_21.h:458
@ NM_IPACC_TESTNO_BCCH_INFO
Definition: gsm_12_21.h:721
static struct osmo_iuup_tnl_prim * tnp_ctrl_nack_alloc(struct osmo_iuup_instance *iui, enum iuup_procedure proc_ind, enum iuup_error_cause error_cause, uint8_t fn)
Definition: iuup.c:255
osmo_gsm48_range
Definition: gsm48_arfcn_range_encode.h:7
const struct value_string abis_nm_pcause_type_names[]
Definition: abis_nm.c:170
@ NM_MT_MEAS_RES_REQ
Definition: gsm_12_21.h:179
@ BSS_MAP_MSG_CLEAR_CMD
Definition: gsm_08_08.h:102
struct gad_raw_head h
Definition: gsm_23_032.h:240
int osmo_csd_12k_6k_decode_frame(struct osmo_v110_decoded_frame *fr, const ubit_t *ra_bits, size_t n_bits)
Decode a 60-bit GSM 12kbit/s CSD frame present as 60 ubits into a struct osmo_v110_decoded_frame.
Definition: gsm44021.c:27
#define GSM340_TP_VPF_ENHANCED
Definition: gsm_04_11.h:135
#define GSM48_IE_RR_PACKET_UL
Definition: gsm_04_08.h:1848
@ BSS_MAP_MSG_CHANGE_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:146
@ GPRS_ALGO_GEA1
Definition: gprs_cipher.h:15
gsm0808_lcls_control
Definition: gsm_08_08.h:792
static int append_utran_fdd(struct bitvec *bv, uint16_t u, int *sc, size_t length)
Definition: gsm48_rest_octets.c:427
@ IPAC_IDTAG_LOCATION2
Definition: ipaccess.h:65
#define BSS_MAP_MSG_ASSIGMENT_FAILURE
Definition: gsm_08_08.h:191
static void _comp128_compression(uint8_t *x)
Definition: comp128.c:160
int osmo_bsslap_enc(struct msgb *msg, const struct bsslap_pdu *pdu)
Encode BSSLAP PDU and append to msgb (3GPP TS 48.071).
Definition: bsslap.c:163
const struct value_string gsm0406_dlci_sapi_names[]
Definition: gsm0808.c:2350
@ DLCI_SAPI_RR_MM_CC
Definition: gsm_08_08.h:67
struct lcs_cause_ie perform_loc_abort
Definition: gsm_49_031.h:221
Definition: gsm48_rest_octets.c:62
#define LOGP(ss, level, fmt, args...)
#define APPEND_STR(fmt, args...)
Definition: gsm0808_utils.c:2088
@ OSMO_GPRS_CS_NONE
Definition: gsm_44_060.h:228
int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit)
static const uint8_t ipa_id_req_msg[]
Definition: ipa.c:68
int coding
Definition: mncc.h:15
int osmo_mnc_cmp(uint16_t a_mnc, bool a_mnc_3_digits, uint16_t b_mnc, bool b_mnc_3_digits)
Definition: gsm23003.c:564
@ BSS_MAP_MSG_UPLINK_RELEASE_CMD
Definition: gsm_08_08.h:176
@ OSMO_CBSP_CAUSE_MSG_REF_ALREADY_USED
Definition: cbsp.h:259
@ NM_MT_REP_OUTST_ALARMS_ACK
Definition: gsm_12_21.h:160
@ GMM_CAUSE_ROAMING_NOTALLOWED
Definition: gsm_04_08_gprs.h:231
bool sel_ciph_dl_sacch
Definition: gsm_04_08.h:216
@ OSMO_GSM44068_IEI_USER_USER
Definition: gsm_44_068.h:33
@ NM_ATT_IPACC_RLC_CFG_2
Definition: gsm_12_21.h:451
@ BSSMAP_LE_IEI_CELL_ID_LIST
Definition: gsm_49_031.h:122
@ NM_MT_DISC_TERR_SIGN_NACK
Definition: gsm_12_21.h:109
bool transparent
Definition: iuup.h:55
#define NM_IPAC_F_CHANM_CSD_T_14k4
Definition: gsm_12_21.h:830
#define GSM0464_CIPH_MAX_BLOCK
Definition: gprs_cipher.h:10
#define GSM0480_MTYPE_RELEASE_COMPLETE
Definition: gsm_04_80.h:7
@ GSM0808_SC_CFG_DEFAULT_AMR_10_2
Definition: gsm_08_08.h:678
@ GSM0808_IE_GLOBAL_CALL_REF
Definition: gsm_08_08.h:316
static int llist_empty(const struct llist_head *head)
int gsm48_decode_signal(int *signal, const uint8_t *v)
Decode TS 04.08 Signal IE (10.5.4.23)
Definition: gsm48_ie.c:709
@ BSSLAP_IEI_TA
Definition: gsm_48_071.h:56
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:168
const char * ipa_ccm_idtag_name(uint8_t tag)
Definition: ipa.c:93
struct osmo_cbsp_kill kill
Definition: cbsp.h:277
@ GSM0808_LCLS_STS_LOCALLY_SWITCHED
Definition: gsm_08_08.h:807
@ GSM0808_IE_CELL_IDENTIFIER_LIST
Definition: gsm_08_08.h:219
uint16_t group_id
Definition: gsm23003.h:96
@ GA_MT_CSR_ACT_CHAN_COMPL
Definition: gsm_44_318.h:37
@ GSM0808_CAUSE_RESPONSE_TO_MSC_INVOCATION
Definition: gsm_08_08.h:375
static const uint8_t tch_ahs_7_95_state[][2]
Definition: gsm0503_conv.c:954
unsigned int id_list_len
Definition: gsm0808_utils.h:64
@ GSM48_REJECT_SYNCH_FAILURE
Definition: gsm_04_08.h:2023
@ OSMO_GSM44068_MSGT_IMMEDIATE_SETUP
Definition: gsm_44_068.h:42
@ GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE
Definition: gsm_08_08.h:406
static void iuup_fsm_smpsdu_data(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: iuup.c:740
struct gsm48_classmark3::@50 gsm_710_assoc_radio_cap
static const int tch_ahs_6_7_puncture[]
Definition: gsm0503_conv.c:1073
#define GSM_TDMA_FN_SUB(a, b)
Return the difference of two specified TDMA frame numbers (subtraction)
Definition: gsm0502.h:24
int(* rout)(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:487
static const int tch_hr_puncture[]
Definition: gsm0503_conv.c:930
@ SGSAP_IE_SS_CODE
Definition: gsm_29_118.h:67
@ BSSLAP_IEI_DELTA_TIMER
Definition: gsm_48_071.h:68
@ NM_MT_SW_ACT_REQ
Definition: gsm_12_21.h:93
static uint8_t * msgb_tv_push(struct msgb *msg, uint8_t tag, uint8_t val)
push (prepend) a TV field to a Message buffers
Definition: tlv.h:444
#define OSMO_STRBUF_PRINTF(STRBUF, fmt, args...)
static uint32_t osmo_a5_fn_count(uint32_t fn)
Converts a frame number into the 22 bit number used in A5/x.
Definition: a5.h:33
#define GSM48_MT_MM_CM_REEST_REQ
Definition: gsm_04_08.h:1676
@ GSM48_CC_CAUSE_COND_IE_ERR
Definition: gsm_04_08.h:2001
static unsigned long gsm340_vp_relative_integer(uint8_t *sms_vp)
Definition: gsm0411_utils.c:185
uint8_t osmo_crc8gen_compute_bits(const struct osmo_crc8gen_code *code, const ubit_t *in, int len)
uint32_t fn
Definition: gsm_utils.h:42
static int cbsp_enc_failure(struct msgb *msg, const struct osmo_cbsp_failure *in)
Definition: cbsp.c:376
#define GSM48_IE_CALLING_BCD
Definition: gsm_04_08.h:1794
@ GSM0808_CAUSE_CCCH_OVERLOAD
Definition: gsm_08_08.h:394
char * osmo_apn_qualify_c(const void *ctx, unsigned int mcc, unsigned int mnc, const char *ni)
Definition: apn.c:49
uint16_t present
Definition: gsm48_rest_octets.h:68
@ OSMO_GSM44068_CAUSE_ILLEGAL_ME
Definition: gsm_44_068.h:85
@ GSM0808_PERM_FR1
GSM FR.
Definition: gsm_08_08.h:494
enum osmo_sub_auth_type type
Definition: auth.h:45
@ CBSP_IEI_CAUSE
Definition: gsm_48_049.h:33
const struct tlv_definition abis_nm_att_tlvdef
GSM A-bis OML TLV parser definition.
Definition: abis_nm.c:519
bool classmark1_set
Definition: gsm_04_08.h:231
@ OSMO_GSUP_SM_RP_DA_IE
Definition: gsup.h:101
static const uint8_t tch_ahs_7_95_term_state[]
Definition: gsm0503_conv.c:968
uint8_t ext_info_present
Definition: gsm_44_060.h:183
#define GSM48_IE_NAME_LONG
Definition: gsm_04_08.h:1775
#define GSM411_MNSMS_EST_IND
Definition: gsm0411_smc.h:25
#define NM_IPAC_F_GPRS_CODING_CS3
Definition: gsm_12_21.h:835
unsigned int context_id
Definition: gsup.h:257
int osmo_nri_ranges_vty_del(const char **message, struct osmo_nri_range *removed_range, struct osmo_nri_ranges *nri_ranges, int argc, const char **argv)
VTY implementation for removing an NRI range from a list of ranges.
Definition: gsm23236.c:523
union osmo_sub_auth_data2::@108 u
enum abis_nm_msgtype abis_nm_no_ack_nack[3]
messages without ACK/NACK
Definition: abis_nm.c:52
@ SGSAP_IE_MS_CLASSMARK2
Definition: gsm_29_118.h:70
@ NM_NACK_OBJCLASS_NOTSUPP
Definition: gsm_12_21.h:607
struct msgb * gsm0808_create_uplink_request_cnf(const struct gsm0808_uplink_request_cnf *params)
Create BSSMAP (VGCS) UPLINK CONFIRM message, 3GPP TS 48.008 3.2.1.59.
Definition: gsm0808.c:1865
#define GSM48_MT_MM_CM_SERV_REQ
Definition: gsm_04_08.h:1674
int gsm0808_dec_encrypt_info(struct gsm0808_encrypt_info *ei, const uint8_t *elem, uint8_t len)
Decode TS 08.08 Encryption Information IE.
Definition: gsm0808_utils.c:828
@ BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT
Definition: gsm_08_08.h:94
#define NM_IPAC_F_RTP_FEAT_MULTIPLEX_RTP
Definition: gsm_12_21.h:854
@ GSM48_RR_CAUSE_PROT_ERROR_UNSPC
Definition: gsm_04_08.h:1952
@ GSM_BAND_750
Definition: gsm_utils.h:56
@ GSM48_CC_CAUSE_INVAL_TRANS_ID
Definition: gsm_04_08.h:1992
struct msgb * gsm0808_create_lcls_conn_ctrl_ack(enum gsm0808_lcls_status status)
Create BSSMAP LCLS CONNECT CONTROL ACK message (TS 48.008 3.2.1.92).
Definition: gsm0808.c:393
@ NM_SEVER_MAJOR
Definition: gsm_12_21.h:584
uint8_t gsm0808_enc_speech_codec(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Deprecated: gsm0808_enc_speech_codec2() wrapper for backwards compatibility.
Definition: gsm0808_utils.c:316
static const uint8_t gsm0502_tch_h1_facch_block_map[3][6]
Definition: gsm0502.c:88
#define GSM48_IE_FRQSHORT_BEFORE
Definition: gsm_04_08.h:1827
3GPP TS 48.008 §3.2.1.79 VGCS/VBS AREA CELL INFO
Definition: gsm0808.h:528
Definition: gsm0808_utils.h:211
const struct value_string abis_mm_event_cause_names[]
Definition: abis_nm.c:154
@ BSS_MAP_MSG_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:137
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:140
uint8_t mi[0]
Definition: gsm_04_08.h:808
struct msgb * osmo_bssap_le_enc(const struct bssap_le_pdu *pdu)
Encode BSSAP-LE PDU returned in new msgb (3GPP TS 49.031).
Definition: bssmap_le.c:753
#define GSM_RFN_THRESHOLD
Definition: gsm_utils.c:928
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:500
@ GSM411_RP_CAUSE_MO_UNKNOWN_SUBSCR
Definition: gsm_04_11.h:75
@ GPRS_SERVICE_T_DATA
Definition: gsm_04_08_gprs.h:428
@ CBSP_MSGT_LOAD_QUERY_COMPL
Definition: gsm_48_049.h:58
@ GSM0808_SC_CFG_AMR_10_2
Definition: gsm_08_08.h:695
@ CBSP_IEI_NUM_OF_RES_SLOTS
Definition: gsm_48_049.h:43
const struct osmo_conv_code gsm0503_mcs4
EDGE MCS-4 data convolutional code: 372 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1391
int osmo_nri_ranges_vty_add(const char **message, struct osmo_nri_range *added_range, struct osmo_nri_ranges *nri_ranges, int argc, const char **argv, uint8_t nri_bitlen)
VTY implementation for adding an NRI range to a list of ranges.
Definition: gsm23236.c:487
uint16_t lac
Definition: gsm48.h:30
int osmo_iuup_compute_payload_crc(const uint8_t *iuup_pdu, unsigned int pdu_len)
Definition: iuup.c:67
@ NM_ATT_SPEC_PROB
Definition: gsm_12_21.h:365
#define GSM48_MT_MM_ID_REQ
Definition: gsm_04_08.h:1666
@ CELL_IDENT_NO_CELL
Definition: gsm_08_08.h:21
@ NM_ATT_IPACC_FREQ_CTRL
Definition: gsm_12_21.h:417
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:162
union osmo_cbsp_decoded::@3 u
@ GSM_PCHAN_SDCCH8_SACCH8C
Definition: gsm_utils.h:222
static int cbsp_dec_msg_status_query(struct osmo_cbsp_msg_status_query *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1002
@ GMM_CAUSE_MS_ID_NOT_DERIVED
Definition: gsm_04_08_gprs.h:227
@ OSMO_GSM44068_CSTATE_U0
Definition: gsm_44_068.h:67
static uint8_t * msgb_tl_put(struct msgb *msg, uint8_t tag)
put (append) a TL fields to a Message buffers
Definition: tlv.h:399
static const uint8_t tch_ahs_6_7_state[][2]
Definition: gsm0503_conv.c:1049
int gsm48_decode_cause(struct gsm_mncc_cause *cause, const uint8_t *lv)
Decode TS 04.08 Cause IE (10.5.4.11)
Definition: gsm48_ie.c:527
#define NM_IPAC_F_GPRS_CODING_MCS5
Definition: gsm_12_21.h:842
@ OSMO_GSUP_RES_IE
Definition: gsup.h:88
@ IPAC_IDTAG_UNITNAME
Definition: ipaccess.h:63
#define GSM48_MT_RR_PAG_REQ_3
Definition: gsm_04_08.h:1586
unsigned int len
Definition: gsm0502.c:104
char * osmo_hexdump_nospc(const unsigned char *buf, int len)
@ CBSP_IEI_NUM_BCAST_REQ
Definition: gsm_48_049.h:29
char info[GSM_MAX_FACILITY]
Definition: mncc.h:64
static int cbsp_enc_kill(struct msgb *msg, const struct osmo_cbsp_kill *in)
Definition: cbsp.c:226
struct msgb * gsm0808_create_paging(const char *imsi, const uint32_t *tmsi, const struct gsm0808_cell_id_list *cil, const uint8_t *chan_needed) OSMO_DEPRECATED("use gsm0808_create_paging2 instead")
DEPRECATED: Use gsm0808_create_paging2 instead.
Definition: gsm0808.c:826
struct gsm48_classmark2 cm2
Definition: gsm_04_08.h:807
@ NM_ATT_BCCH_ARFCN
Definition: gsm_12_21.h:324
@ GMM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:235
#define GSM48_MT_RR_SYSINFO_20
Definition: gsm_04_08.h:1619
static void osmo_bsslap_ie_enc_ta(struct msgb *msg, uint8_t ta)
Definition: bsslap.c:104
struct osmo_gprs_cell_options cell_opts
Definition: gsm48_rest_octets.h:116
struct osmo_mme_id mme
Definition: gsm23003.h:103
#define NM_IPAC_F_FREQ_BAND_RGSM
Definition: gsm_12_21.h:781
enum bssap_le_msg_discr discr
Definition: gsm_49_031.h:227
int osmo_dec_gcr(struct osmo_gcr_parsed *gcr, const uint8_t *elem, uint8_t len)
Decode Global Call Reference, 3GPP TS 29.205 Table B 2.1.9.1.
Definition: gsm29205.c:66
@ NM_ATT_BSIC
Definition: gsm_12_21.h:325
static int parse_ss_for_bs_req(const uint8_t *ss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:742
#define GSM48_MT_GMM_RA_UPD_COMPL
Definition: gsm_04_08_gprs.h:21
@ SGSAP_IE_ADDL_PAGING_INDICATORS
Definition: gsm_29_118.h:74
static const int ccch_block_table[51]
Definition: gsm0502.c:270
static int osmo_gad_enc_ell_point_unc_circle(struct gad_raw_ell_point_unc_circle *raw, const struct osmo_gad_ell_point_unc_circle *v)
Definition: gad.c:262
#define GSM48_IE_MA_BEFORE
Definition: gsm_04_08.h:1847
const struct value_string gsm48_nc_ss_msgtype_names[]
TS 04.80, section 3.4 Messages for supplementary services control.
Definition: gsm48.c:1740
@ GSM0808_ALG_ID_A5_4
Definition: gsm_08_08.h:576
@ GSM411_RP_CAUSE_MO_DEST_OUT_OF_ORDER
Definition: gsm_04_11.h:72
Definition: gsm_04_08.h:898
#define GSM48_IE_CALLING_SUB
Definition: gsm_04_08.h:1795
@ GSM0808_IE_AOIP_TRASP_ADDR
Definition: gsm_08_08.h:304
@ SGSAP_ID_EPS_T_EPS_NOT_ALLOWED
Definition: gsm_29_118.h:97
@ NM_ATT_IPACC_MONIT_VAL_LIST
Definition: gsm_12_21.h:447
char * osmo_hexdump(const unsigned char *buf, int len)
@ GSM0808_IE_APP_DATA
Definition: gsm_08_08.h:300
enum gsm0808_lcls_config config
§3.2.2.116 Configuration.
Definition: gsm0808_utils.h:227
Definition: gsm_25_415.h:145
@ NM_STATE_NULL
Definition: gsm_12_21.h:521
@ NM_ATT_MEAS_TYPE
Definition: gsm_12_21.h:388
@ GSM_CAUSE_INVALID_TRANS_ID
Definition: gsm_04_08_gprs.h:275
A list of struct osmo_nri_range.
Definition: gsm23236.h:35
const struct osmo_conv_code gsm0503_mcs5_ul_hdr
EDGE MCS-5 UL header convolutional code: 51 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1422
@ OSMO_GSUP_CAUSE_RR_IE
Definition: gsup.h:116
time_t gsm340_scts(uint8_t *scts)
Decode 03.40 TP-SCTS (into utc/gmt timestamp)
Definition: gsm0411_utils.c:112
@ NM_EVT_COMM_FAIL
Definition: gsm_12_21.h:573
@ SGSAP_MSGT_LOC_UPD_ACK
Definition: gsm_29_118.h:15
@ CBSP_CATEG_BACKGROUND
Definition: gsm_48_049.h:79
#define GSM48_MT_RR_SYSINFO_5
Definition: gsm_04_08.h:1602
uint8_t gsm0808_enc_group_callref(struct msgb *msg, const struct gsm0808_group_callref *gc)
Encode Group Call Reference IE (3GPP TS 48.008 3.2.2.55).
Definition: gsm0808_utils.c:2217
const struct osmo_conv_code gsm0503_mcs5_dl_hdr
EDGE MCS-5 DL header convolutional code: 39 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1406
bool umts_fdd_rat_cap
Definition: gsm_04_08.h:129
struct osmo_plmn_id plmn
Definition: gsm23003.h:17
int ms_pwr_ctl_lvl(enum gsm_band band, unsigned int dbm)
determine power control level for given dBm value, as indicated by the tables in chapter 4....
Definition: gsm_utils.c:554
@ GSM0808_IE_GANSS_POSITIONING_DATA
Definition: gsm_08_08.h:298
struct gsm48_hdr * gsm48_push_l3hdr(struct msgb *msg, uint8_t pdisc, uint8_t msg_type)
Wrap a given msg with gsm48_hdr structure.
Definition: gsm48.c:1859
uint8_t gsm0808_enc_data_identity(struct msgb *msg, const struct gsm0808_data_identity *ai)
Encode Data Identity IE (3GPP TS 48.008 3.2.2.99).
Definition: gsm0808_utils.c:2337
uint8_t bytes
Definition: gprs_rlc.c:122
@ NM_OC_BS11_HANDOVER
Definition: gsm_12_21.h:299
static const uint8_t tch_afs_4_75_term_state[]
Definition: gsm0503_conv.c:833
@ GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION
Definition: gsm_08_08.h:358
static void msgb_put_u8(struct msgb *msgb, uint8_t word)
static const struct egprs_cps egprs_cps_table_type1[EGPRS_CPS_TYPE1_TBL_SZ]
Definition: gprs_rlc.c:24
@ GSM_CAUSE_QOS_NOT_ACCEPTED
Definition: gsm_04_08_gprs.h:271
@ GSM0808_SC_CFG_AMR_6_70
Definition: gsm_08_08.h:692
static const uint8_t tch_afs_12_2_output[][2]
Definition: gsm0503_conv.c:365
int bitvec_set_uint(struct bitvec *bv, unsigned int ui, unsigned int num_bits)
#define NM_IPAC_F_CHANT_TCHH_PDCHH
Definition: gsm_12_21.h:810
@ CBSP_IEI_CATEGORY
Definition: gsm_48_049.h:27
@ OSMO_GSUP_CAUSE_SM_IE
Definition: gsup.h:118
#define NM_IPAC_F_CHANM_SPEECH_EFS
Definition: gsm_12_21.h:815
struct gsm48_classmark3::@39::@53 rf_pwr_cap_2
@ OSMO_GSUP_SM_RP_UI_IE
Definition: gsup.h:103
int speech_ver[8]
Definition: mncc.h:18
static struct osmo_auth_impl * selected_auths[_OSMO_AUTH_ALG_NUM]
Definition: auth_core.c:68
const struct value_string osmo_rat_type_names[]
Definition: gsm_utils.c:1080
int osmo_match_shift_tlv(uint8_t **data, size_t *data_len, uint8_t tag, uint8_t **value, size_t *value_len)
Verify TLV header and advance data / subtract length.
Definition: tlv_parser.c:544
@ NM_MT_LOAD_INIT
Definition: gsm_12_21.h:84
@ GSM_PCHAN_NONE
Definition: gsm_utils.h:217
3GPP TS 48.008 §3.2.1.63 (VGCS) UPLINK SEIZED COMMAND
Definition: gsm0808.h:511
@ GSM48_CC_CAUSE_NETWORK_OOO
Definition: gsm_04_08.h:1975
@ GSM0808_SC_CFG_DEFAULT_HR_AMR
Definition: gsm_08_08.h:658
@ NM_OC_RADIO_CARRIER
Definition: gsm_12_21.h:288
@ NM_ATT_RAD_SUBC
Definition: gsm_12_21.h:360
int gsm48_decode_called(struct gsm_mncc_number *called, const uint8_t *lv)
Decode TS 04.08 Called Party BCD Number IE (10.5.4.7)
Definition: gsm48_ie.c:414
#define GSM0480_OP_CODE_FORWARD_CUG_INFO
Definition: gsm_04_80.h:83
struct osmo_cbsp_reset_complete reset_compl
Definition: cbsp.h:292
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB
Definition: gsm_08_08.h:662
const char * abis_nm_avail_name(uint8_t avail)
Get human-readable string for OML Availability State.
Definition: abis_nm.c:662
sgsap_msg_type
Definition: gsm_29_118.h:6
@ BSSMAP_LE_MSGT_PERFORM_LOC_REQ
Definition: gsm_49_031.h:84
@ GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:245
#define ABIS_OM_MDISC_MANUF
Message Discriminator for Manufacturer Specific Messages.
Definition: gsm_12_21.h:52
uint8_t msg_type
Definition: gsm_04_08.h:808
struct osmo_gsup_an_apdu an_apdu
inter-MSC AN-APDU.
Definition: gsup.h:375
struct gad_raw_polygon polygon
Definition: gsm_23_032.h:244
int32_t s32
Definition: common.h:29
struct osmo_cell_global_id global
Definition: gsm0808_utils.h:44
int osmo_gprs_ul_block_size_bytes(enum osmo_gprs_cs cs)
Return size of (E)GPRS uplink block for given coding scheme in bytes.
Definition: gprs_rlc.c:162
static uint32_t _a5_12_majority(uint32_t v1, uint32_t v2, uint32_t v3)
Compute majority bit from 3 taps.
Definition: a5.c:137
@ GPRS_SERVICE_T_SIGNALLING
Definition: gsm_04_08_gprs.h:427
static void _comp128v23_internal(uint8_t *output, const uint8_t *kxor, const uint8_t *rand)
Definition: comp128v23.c:73
int osmo_str2bcd(uint8_t *dst, size_t dst_size, const char *digits, int start_nibble, int end_nibble, bool allow_hex)
@ CBSP_MSGT_KEEP_ALIVE_COMPL
Definition: gsm_48_049.h:73
const char * osmo_rai_name2(const struct osmo_routing_area_id *rai)
Return MCC-MNC-LAC-RAC as string, in a static buffer.
Definition: gsm23003.c:264
static int cbsp_dec_kill_fail(struct osmo_cbsp_kill_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:880
struct bsslap_ta_response ta_response
Definition: gsm_48_071.h:110
int mode
Definition: mncc.h:14
One range of NRI values.
Definition: gsm23236.h:19
@ GSM0808_IE_LCS_CAUSE
Definition: gsm_08_08.h:261
@ GSM411_RP_CAUSE_MO_NUM_UNASSIGNED
Definition: gsm_04_11.h:68
int osmo_gsup_sms_decode_sm_rp_oa(struct osmo_gsup_message *gsup_msg, uint8_t *data, size_t data_len)
Decode SM-RP-OA IE (see 7.6.8.2), Originating Address.
Definition: gsup_sms.c:199
struct gsm_mncc_bearer_cap::@22 data
static int parse_cell_id_global_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed)
Definition: gsm0808_utils.c:1161
int osmo_gsm48_rest_octets_si6_encode(uint8_t *data, const struct osmo_gsm48_si6_ro_info *in)
Definition: gsm48_rest_octets.c:773
static const char bcd_num_digits[]
Definition: gsm48_ie.c:41
static void iuup_fsm_trm_data(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: iuup.c:667
@ GSM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:277
struct msgb * gsm0808_create_ass(const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec_list *scl, const uint32_t *ci)
Create BSSMAP Assignment Request message, 3GPP TS 48.008 §3.2.1.1.
Definition: gsm0808.c:578
char * abis_nm_dump_foh_c(void *ctx, const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:1045
@ DCS_UCS2
Definition: gsm_04_11.h:115
uint16_t flags
Definition: gsm_utils.c:787
bool data_asym_pref_is_set
Definition: gsm_08_08.h:753
@ GPRS_ALGO_GEA2
Definition: gprs_cipher.h:16
char * osmo_gsm48_classmark_a5_name_c(const void *ctx, const struct osmo_gsm48_classmark *cm)
Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3.
Definition: gsm48.c:1961
static const uint8_t tch_h24_state[][2]
Definition: gsm0503_conv.c:120
@ NM_MT_CHANGEOVER
Definition: gsm_12_21.h:163
@ OSMO_GSM44068_CAUSE_MESSAGE_TYPE_NOT_COMPAT
Definition: gsm_44_068.h:105
@ BSSMAP_LE_MSGT_ASSIST_INFO_REQ
Definition: gsm_49_031.h:88
int8_t s8
Definition: common.h:31
@ OSMO_GSM48_ARFCN_RANGE_INVALID
Definition: gsm48_arfcn_range_encode.h:8
const struct value_string osmo_bssmap_le_msgt_names[]
Definition: bssmap_le.c:830
enum bsslap_cause reject
Definition: gsm_48_071.h:111
@ GSM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:280
size_t pdp_charg_enc_len
Definition: gsup.h:321
@ CBSP_MSGT_RESET_COMPL
Definition: gsm_48_049.h:67
abis_nm_msgtype
OML Message Type (Section 9.1)
Definition: gsm_12_21.h:82
@ GSM0808_SCT_HR3
HR_AMR.
Definition: gsm_08_08.h:554
@ GSM0808_IE_LOCATION_TYPE
Definition: gsm_08_08.h:258
bool cdma200_rat_cap
Definition: gsm_04_08.h:131
@ NM_NACK_MSGTYPE_INVAL
Definition: gsm_12_21.h:605
struct gsm48_classmark3::@49::@56 dtm_egprs_high_multislot_cap
int gsm_7bit_encode_oct(uint8_t *result, const char *data, int *octets)
Definition: gsm_utils.c:1073
#define GSM414_MT_OPEN_LOOP_CMD
Definition: gsm_04_14.h:23
bool nln_status_sacch
Definition: gsm48_rest_octets.h:31
static const uint8_t tch_afs_5_9_output[][2]
Definition: gsm0503_conv.c:673
@ GSM0808_IE_CLASSMARK_INFORMATION_T2
Definition: gsm_08_08.h:211
@ GSM_CAUSE_ACT_REJ_GGSN
Definition: gsm_04_08_gprs.h:264
@ BTS_FEAT_SPEECH_F_EFR
Definition: bts_features.h:23
int osmo_mobile_identity_decode(struct osmo_mobile_identity *mi, const uint8_t *mi_data, uint8_t mi_len, bool allow_hex)
Extract Mobile Identity from encoded bytes (3GPP TS 24.008 10.5.1.4).
Definition: gsm48.c:636
uint32_t bs_cv_max
Definition: gsm_44_060.h:179
Packed representation of a VGCS Feature Flags IE (3GPP TS 48.008 3.2.2.88)
Definition: gsm0808_utils.h:82
@ BSSMAP_LE_IEI_LOCATION_TYPE
Definition: gsm_49_031.h:99
@ OSMO_GSM44068_PRIO_EMERGENCY
Definition: gsm_44_068.h:123
#define gsm48_hdr_msg_type
Definition: gsm_04_08.h:1547
Definition: gsm0411_smr.h:16
@ NM_MT_CONN_TERR_TRAF
Definition: gsm_12_21.h:110
@ CELL_IDENT_SAI
Definition: gsm_08_08.h:28
uint8_t num_subflows
Definition: iuup.h:66
@ GSM0808_IE_TALKER_IDENTITY
Definition: gsm_08_08.h:288
int bitvec_get_uint(struct bitvec *bv, unsigned int num_bits)
static int parse_ss_invoke(const uint8_t *invoke_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:533
struct llist_head list
Definition: auth.h:103
@ BSS_MAP_MSG_CIPHER_MODE_REJECT
Definition: gsm_08_08.h:158
static int gsm411_mnsms_data_ind_tx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:292
enum iuup_procedure procedure
Definition: iuup.h:83
uint8_t mode
Definition: gsm0808.h:141
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
Obtain physical channel config for OML Channel Combination.
Definition: abis_nm.c:1020
struct osmo_cbsp_error_ind error_ind
Definition: cbsp.h:299
uint8_t ra_id[6]
Definition: gsm_04_08.h:807
const struct tlv_definition osmo_gsm44068_att_tlvdef
Definition: gsm44068.c:112
static int try_adding_uarfcn(struct bitvec *bv, uint16_t *scramble_list, size_t uarfcn_length, size_t *u_offset, uint16_t uarfcn, uint8_t num_sc, uint8_t start_pos, uint8_t budget)
Definition: gsm48_rest_octets.c:454
int pdp_info_compl
Definition: gsup.h:307
const struct value_string gprs_cipher_names[]
Definition: gprs_cipher_core.c:41
@ IPAC_IDTAG_MACADDR
Definition: ipaccess.h:69
@ GSM48_RR_CAUSE_ABNORMAL_NOACT
Definition: gsm_04_08.h:1937
#define GSM411_MT_CP_ACK
Definition: gsm_04_11.h:30
char * logmsg
Definition: bssmap_le.h:39
bool qrxlm_valid
Definition: sysinfo.h:70
@ GSM48_REJECT_RQD_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:2026
@ GSM48_CC_CAUSE_OP_DET_BARRING
Definition: gsm_04_08.h:1960
#define GSM48_IE_CALLED_SUB
Definition: gsm_04_08.h:1797
uint16_t cfg
For examples, see enum gsm0808_speech_codec_defaults.
Definition: gsm_08_08.h:604
int gsm0808_dec_aoip_trasp_addr(struct sockaddr_storage *ss, const uint8_t *elem, uint8_t len)
@ GSM_CAUSE_MBMS_CAP_INSUF
Definition: gsm_04_08_gprs.h:258
struct bsslap_pdu apdu
Definition: gsm_49_031.h:209
const struct osmo_conv_code gsm0503_tch_ahs_6_7
TCH/AHS 6.7 kbits convolutional code.
Definition: gsm0503_conv.c:1083
const struct value_string gsm0808_cell_id_discr_names[]
value_string[] for enum CELL_IDENT.
Definition: gsm0808_utils.c:2062
@ GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL
Definition: gsm_08_08.h:383
uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause)
@ NM_NACK_MEAS_NOTSTART
Definition: gsm_12_21.h:636
@ LCS_CAUSE_DATA_MISSING_IN_REQ
Definition: gsm_49_031.h:40
@ NM_MT_GET_ATTR_RESP
Definition: gsm_12_21.h:185
#define SMCDATASLLEN
Definition: gsm0411_smc.c:522
@ IPAC_IDTAG_LOCATION1
Definition: ipaccess.h:64
char * gsm0808_cell_id_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id *cid)
Definition: gsm0808_utils.c:2091
bool inband_notifications
Definition: gsm48_rest_octets.h:36
@ NM_MT_STOP_EVENT_REP_ACK
Definition: gsm_12_21.h:148
static int decode_pdp_info(uint8_t *data, size_t data_len, struct osmo_gsup_pdp_info *pdp_info)
Definition: gsup.c:125
static int gsm411_mnsms_est_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:163
Definition: gsm_25_415.h:37
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:204
#define SGS_MME_NAME_LEN
Definition: gsm_29_118.h:178
@ BSSLAP_IEI_FREQ_LIST
Definition: gsm_48_071.h:66
Definition: gsm_04_08.h:420
@ GSM48_CMODE_SPEECH_V5_VAMOS
Speech: GSM48_CMODE_SPEECH_V5, in VAMOS mode.
Definition: gsm_04_08.h:801
uint16_t new_serial_nr
Definition: cbsp.h:81
@ BSSMAP_LE_POS_METHOD_ASSISTED_GPS
Definition: gsm_49_031.h:156
int len
Definition: mncc.h:68
unsigned int priority
priority value (resp.
Definition: auth.h:106
#define GSM48_MT_CC_STOP_DTMF_ACK
Definition: gsm_04_08.h:1718
uint8_t call_priority
Definition: gsm48_rest_octets.h:30
@ OSMO_GSM44068_MSGT_SETUP
Definition: gsm_44_068.h:43
struct msgb * gsm0480_msgb_alloc_name(const char *name)
Definition: gsm0480.c:765
static void nri_range_extend(struct osmo_nri_range *target, const struct osmo_nri_range *add)
Grow target range to also span range 'add'.
Definition: gsm23236.c:69
@ GSM0808_FE_IE_MULTIRATE_CONFIGURATION_INFORMATION
Definition: gsm_08_08.h:347
Definition: gsm_04_08.h:230
@ GSM0808_IE_MSISDN
Definition: gsm_08_08.h:303
@ NM_ATT_IPACC_RAC
Definition: gsm_12_21.h:436
#define DEC_IE_MANDATORY(MSG_TYPE, IEI, DEC_FUN, DEC_FUN_ARG)
Definition: bssmap_le.c:111
uint32_t states
Definition: gsm0411_smr.c:431
@ NM_OPSTATE_ENABLED
Definition: gsm_12_21.h:540
@ OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR
Definition: gsup.h:171
uint16_t len
Definition: ipaccess.h:11
@ OSMO_GSUP_PDP_QOS_IE
Definition: gsup.h:78
Definition: gsm0411_smr.c:430
#define GSM48_MT_RR_SYSINFO_6
Definition: gsm_04_08.h:1603
@ OSMO_AUTH_ALG_COMP128v3
Definition: auth.h:32
struct gsm48_classmark3::@39 psk8_struct
static int c128v2_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_comp128v23.c:31
@ OSMO_GSUP_MSGT_E_PREPARE_SUBSEQUENT_HANDOVER_ERROR
Definition: gsup.h:187
struct gsm341_ms_message::@27 dcs
@ BSS_MAP_MSG_UNBLOCK
Definition: gsm_08_08.h:138
struct osmo_timer_nt ta
Definition: iuup.c:129
static const uint8_t tch_f24_output[][2]
Definition: gsm0503_conv.c:95
int rc
Definition: bssmap_le.h:33
@ OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_ERROR
Definition: gsup.h:191
struct osmo_timer_nt init
Definition: iuup.c:128
#define GSM48_MT_RR_SH_MEAS_REP
Definition: gsm_04_08.h:1645
struct osmo_cbsp_msg_status_query_failure msg_status_query_fail
Definition: cbsp.h:287
@ SGSAP_SGS_CAUSE_UE_TEMP_UNREACHABLE
Definition: gsm_29_118.h:140
const struct value_string gsm414_msgt_names[]
Definition: gsm0414.c:6
@ BSS_MAP_MSG_RESET_ACKNOWLEDGE
Definition: gsm_08_08.h:124
static void rp_timer_expired(void *data)
Definition: gsm0411_smr.c:363
struct gsm341_ms_message * gsm0341_build_msg(void *ctx, uint8_t geo_scope, uint8_t msg_code, uint8_t update, uint16_t msg_id, uint8_t dcs, uint8_t page_total, uint8_t page_cur, uint8_t *data, uint8_t len)
Encode a 3GPP TS 03.41 SMS-CB message.
Definition: gsm0341.c:46
gsm48_chan_mode
10.5.2.6 Channel Mode value
Definition: gsm_04_08.h:750
enum osmo_auth_algo algo
Definition: auth.h:70
@ BSSMAP_LE_APDU_PROT_LLP
Definition: gsm_49_031.h:142
@ GPRS_SERVICE_T_MBMS_BC_SERV
Definition: gsm_04_08_gprs.h:431
@ GSM_BAND_1800
Definition: gsm_utils.h:52
const char * rr_cause_name(uint8_t cause)
return string representation of RR Cause value
Definition: gsm48.c:183
#define GSM48_MT_GMM_DETACH_REQ
Definition: gsm_04_08_gprs.h:16
char * logmsg
Definition: bsslap.h:37
const struct value_string osmo_gsm44068_talker_priority_names[]
Definition: gsm44068.c:105
@ BSS_MAP_MSG_RESET_CIRCUIT
Definition: gsm_08_08.h:127
struct gad_raw_ell_arc ell_arc
Definition: gsm_23_032.h:247
@ GSM0808_SC_CFG_DEFAULT_FR_AMR_WB
Definition: gsm_08_08.h:660
@ GSM48_RR_CAUSE_UTRAN_CFG_UNK
Definition: gsm_04_08.h:1939
uint8_t distance[8]
Definition: gsm0502.c:106
#define A5_R1_MASK
Definition: a5.c:106
struct gsm0808_old_bss_to_new_bss_info::@7 current_channel_type_2
#define GSM0480_CTYPE_REJECT
Definition: gsm_04_80.h:19
@ CBSP_CATEG_HIGH_PRIO
Definition: gsm_48_049.h:78
@ GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER
Definition: gsm_04_08.h:2027
uint8_t gsm0808_enc_assign_req(struct msgb *msg, const enum gsm0808_assignment_requirement ar)
Encode Assignment Requirements IE (3GPP TS 48.008 3.2.2.52).
Definition: gsm0808_utils.c:2471
static int cbsp_enc_reset_compl(struct msgb *msg, const struct osmo_cbsp_reset_complete *in)
Definition: cbsp.c:333
Definition: gsm23003.h:53
@ NM_MT_REINIT
Definition: gsm_12_21.h:169
@ GSM0808_SC_CFG_DEFAULT_AMR_12_2
Definition: gsm_08_08.h:679
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCK
Definition: gsm_08_08.h:142
@ GSM0808_CAUSE_CLASS_PERR
Definition: gsm_08_08.h:440
@ GSM_CAUSE_COND_IE_ERR
Definition: gsm_04_08_gprs.h:281
const struct osmo_conv_code gsm0503_mcs7_dl_hdr
EDGE MCS-7 DL header convolutional code: 51 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1468
@ GSM411_CP_CAUSE_INV_TRANS_ID
Definition: gsm_04_11.h:42
@ IPAC_IDTAG_UNIT
Definition: ipaccess.h:70
struct gsm0808_speech_codec codec[SPEECH_CODEC_MAXLEN]
Definition: gsm_08_08.h:725
#define GSM411_SM_RL_REPORT_REQ
Definition: gsm0411_smr.h:13
struct osmo_nri_ranges * osmo_nri_ranges_alloc(void *ctx)
Allocate an empty struct osmo_nri_ranges (list of struct osmo_nri_range).
Definition: gsm23236.c:255
uint8_t frame_nr
Definition: iuup.h:78
void _kasumi_key_expand(const uint8_t *key, uint16_t *KLi1, uint16_t *KLi2, uint16_t *KOi1, uint16_t *KOi2, uint16_t *KOi3, uint16_t *KIi1, uint16_t *KIi2, uint16_t *KIi3)
Expand key into set of subkeys - see TS 135 202 for details.
Definition: kasumi.c:134
int gsm0808_dec_data_identity(struct gsm0808_data_identity *ti, const uint8_t *elem, uint8_t len)
Decode Data Identity IE (3GPP TS 48.008 3.2.2.99).
Definition: gsm0808_utils.c:2360
struct llist_head fail_list
Definition: cbsp.h:147
static const uint8_t tch_afs_6_7_term_state[]
Definition: gsm0503_conv.c:612
#define A5_R1_LEN
Definition: a5.c:101
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:155
@ GSM0808_IE_CURRENT_CHANNEL_TYPE_1
Definition: gsm_08_08.h:242
static int gsm411_rl_report_req(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:230
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:62
static const uint8_t tch_ahs_7_4_term_state[]
Definition: gsm0503_conv.c:1016
int screen
Definition: mncc.h:37
@ NM_OC_BS11_TEST
Definition: gsm_12_21.h:304
static uint8_t * msgb_tv_fixed_put(struct msgb *msg, uint8_t tag, unsigned int len, const uint8_t *val)
put (append) a TVfixed field to a Message buffers
Definition: tlv.h:382
@ GSM48_CC_CAUSE_QOS_UNAVAIL
Definition: gsm_04_08.h:1981
const struct value_string gprs_att_t_strs_[]
String names of GPRS Attach types according to 10.5.5.2.
Definition: gsm_04_08_gprs.c:175
int osmo_csd_12k_6k_encode_frame(ubit_t *ra_bits, size_t ra_bits_size, const struct osmo_v110_decoded_frame *fr)
Definition: gsm44021.c:77
static __attribute__((constructor))
Definition: gprs_gea.c:44
@ BSSLAP_IEI_CAUSE
Definition: gsm_48_071.h:60
@ GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT
Definition: gsm_08_08.h:389
#define LOGPC(ss, level, fmt, args...)
@ IPAC_MSGT_ID_GET
Definition: ipaccess.h:48
char * osmo_gummei_name_c(const void *ctx, const struct osmo_gummei *gummei)
Return string representation of GUMMEI in static output buffer.
Definition: gsm23003.c:455
@ IUUP_PROC_INIT
Definition: gsm_25_415.h:182
#define A51_R3_CLKBIT
Definition: a5.c:161
const uint8_t * msisdn_enc
Definition: gsup.h:313
#define GSM48_IE_FACILITY
Definition: gsm_04_08.h:1786
const struct value_string osmo_bts_features_names[]
Definition: bts_features.c:63
@ NM_ATT_CCCH_L_I_P
Definition: gsm_12_21.h:327
@ GSM0808_CHAN_SIGN
Definition: gsm_08_08.h:448
uint32_t gprs_cipher_gen_input_ui(uint32_t iov_ui, uint8_t sapi, uint32_t lfn, uint32_t oc)
Definition: gprs_cipher_core.c:123
#define GSM48_MT_RR_SYSINFO_18
Definition: gsm_04_08.h:1617
#define GSM48_MT_RR_CDMA2K_CLSM_CHG
Definition: gsm_04_08.h:1593
struct llist_head list
Definition: gprs_cipher.h:32
const struct osmo_conv_code gsm0503_tch_ahs_5_15
TCH/AHS 5.15 kbits convolutional code.
Definition: gsm0503_conv.c:1175
@ GA_MT_CSR_HO_INFO
Definition: gsm_44_318.h:49
@ GMM_CAUSE_SYNC_FAIL
Definition: gsm_04_08_gprs.h:237
#define GSM48_MT_RR_NOTIF_RESP
Definition: gsm_04_08.h:1590
#define GSM48_IE_SS_VERS
Definition: gsm_04_08.h:1803
#define GSM48_MT_RR_SYSINFO_9
Definition: gsm_04_08.h:1611
@ OSMO_GSM44068_CAUSE_INVALID_MANDATORY_INFO
Definition: gsm_44_068.h:103
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE
Definition: gsm_49_031.h:167
#define GSM340_TP_VPF_NONE
Definition: gsm_04_11.h:133
int osmo_nri_ranges_add(struct osmo_nri_ranges *nri_ranges, const struct osmo_nri_range *add)
Add a range of NRI values to a list of nri_range structs.
Definition: gsm23236.c:296
#define GSM411_MT_RP_ERROR_MO
Definition: gsm_04_11.h:56
@ GSM48_CMODE_DATA_43k5_14k5
Definition: gsm_04_08.h:767
@ CBSP_IEI_WARN_TYPE
Definition: gsm_48_049.h:38
@ GSM411_CPS_MM_CONN_PENDING
Definition: gsm_04_11.h:12
const struct osmo_conv_code gsm0503_sch
SCH convolutional code.
Definition: gsm0503_conv.c:259
@ NM_MT_OPSTART
Definition: gsm_12_21.h:166
@ OSMO_AUTH_TYPE_UMTS
Definition: auth.h:19
uint8_t perm_algo[ENCRY_INFO_PERM_ALGO_MAXLEN]
Definition: gsm_08_08.h:761
@ GSM0808_CAUSE_DIRECTED_RETRY
Definition: gsm_08_08.h:380
uint16_t msg_id
Definition: cbsp.h:128
@ OSMO_GSUP_MSGT_MO_FORWARD_SM_RESULT
Definition: gsup.h:168
const struct value_string gsm411_rp_state_names[]
Definition: gsm0411_smr.c:496
@ GA_PDISC_RC
Definition: gsm_44_318.h:11
uint8_t rx_lev
Definition: meas_rep.h:10
@ BSS_MAP_MSG_HANDOVER_COMPLETE
Definition: gsm_08_08.h:88
abis_nm_severity
Perceived Severity (Section: 9.4.63)
Definition: gsm_12_21.h:581
#define ABIS_OM_MDISC_FOM
Message Discriminator for Formatted Object Messages.
Definition: gsm_12_21.h:46
#define GSM411_MT_RP_SMMA_MO
Definition: gsm_04_11.h:58
#define GSM48_MT_RR_SH_FACCH
Definition: gsm_04_08.h:1643
char * osmo_cgi_ps_name_c(const void *ctx, const struct osmo_cell_global_id_ps *cgi_ps)
Return MCC-MNC-LAC-RAC-CI as string, in a talloc-allocated output buffer.
Definition: gsm23003.c:365
@ GSM48_CMSERV_SUP_SERV
Definition: gsm_04_08.h:1737
@ NM_MT_DISC_TERR_TRAF_ACK
Definition: gsm_12_21.h:114
@ NM_MT_LOAD_INIT_ACK
Definition: gsm_12_21.h:85
enum gsm48_chan_mode gsm48_chan_mode_to_non_vamos(enum gsm48_chan_mode mode)
Translate GSM48_CMODE_SPEECH_*_VAMOS to its corresponding GSM48_CMODE_SPEECH_* non-vamos mode.
Definition: gsm48.c:503
int32_t lat
Latitude in micro degrees (degrees * 1e6), -90'000'000 (S) .
Definition: gad.h:44
const struct osmo_conv_code gsm0503_mcs1
EDGE MCS-1 data convolutional code: 196 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G7 = ...
Definition: gsm0503_conv.c:1346
@ IPAC_MSGT_PONG
Definition: ipaccess.h:47
#define GSM48_MT_CC_RECALL
Definition: gsm_04_08.h:1693
size_t length
Definition: sysinfo.h:55
@ GSM48_CC_CAUSE_RESTR_BCAP_AVAIL
Definition: gsm_04_08.h:1990
#define GSM48_MT_MM_INFO
Definition: gsm_04_08.h:1681
@ BSS_MAP_MSG_UPLINK_SEIZED_CMD
Definition: gsm_08_08.h:177
struct gsm48_classmark3::@41 gsm_850_assoc_radio_cap
@ IUUP_FSM_ST_INIT
Definition: iuup.c:142
@ BSS_MAP_MSG_HANDOVER_REQUIRED
Definition: gsm_08_08.h:85
@ BSS_MAP_MSG_LCLS_NOTIFICATION
Definition: gsm_08_08.h:186
#define GSM48_IE_CLIR_SUPP
Definition: gsm_04_08.h:1805
const struct tlv_definition sgsap_ie_tlvdef
Definition: gsm29118.c:146
@ NM_OC_BS11_BPORT
Definition: gsm_12_21.h:306
struct msgb * gsm0808_create_layer3_aoip(const struct msgb *msg_l3, uint16_t nc, uint16_t cc, int lac, uint16_t _ci, const struct gsm0808_speech_codec_list *scl) OSMO_DEPRECATED("Use gsm0808_create_layer3_2() instead
Create "Complete L3 Info" for AoIP, legacy implementation.
Definition: gsm0808.c:52
struct msgb * gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len, const uint8_t *cm3, uint8_t cm3_len)
Create BSSMAP Classmark Update message.
Definition: gsm0808.c:447
int abis_nm_get_sw_conf(const uint8_t *buf, size_t buf_len, struct abis_nm_sw_desc *sw, uint16_t sw_len)
Parse 3GPP TS 52.021 §9.4.61 SW Configuration from buffer.
Definition: abis_nm.c:991
@ GSM0808_CAUSE_INCORRECT_VALUE
Definition: gsm_08_08.h:422
#define GSM_MI_TYPE_IMSI
Definition: gsm_04_08.h:1768
#define NM_IPAC_F_CHANM_CSD_NT_9k6
Definition: gsm_12_21.h:821
static const int tch_ahs_5_9_puncture[]
Definition: gsm0503_conv.c:1118
static const uint8_t gsm0502_tch_f_traffic_block_map[3][8]
Definition: gsm0502.c:58
@ GA_MT_CSR_CLEAR_REQ
Definition: gsm_44_318.h:44
@ BTS_FEAT_SPEECH_F_V1
Definition: bts_features.h:21
@ GSM0808_LCLS_STS_NOT_YET_LS
Definition: gsm_08_08.h:803
static void msgb_put_cbsp_loading_list(struct msgb *msg, const struct osmo_cbsp_loading_list *ll)
Definition: cbsp.c:83
const char * name
Definition: gsm0411_smr.c:433
int gsm411_smr_recv(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.c:465
int osmo_gsm48_range_enc_256(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:279
AccessNetworkSignalInfo as in 3GPP TS 29.002.
Definition: gsup.h:294
int freeze_ptmsi
Definition: gsup.h:308
@ SGSAP_IE_TAI
Definition: gsm_29_118.h:71
uint8_t blockend[8]
Definition: gsm0502.c:105
static int osmo_bssmap_le_enc(struct msgb *msg, const struct bssmap_le_pdu *pdu)
Encode BSSMAP-LE PDU and add to msgb (3GPP TS 49.031).
Definition: bssmap_le.c:662
@ GSM48_CC_CAUSE_TEMP_FAILURE
Definition: gsm_04_08.h:1976
#define GSM48_MT_RR_SYSINFO_16
Definition: gsm_04_08.h:1614
enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp)
Parse Cause TLV 3GPP TS 08.08 §3.2.2.5.
Definition: gsm0808.c:2609
int osmo_iuup_tnl_prim_up(struct osmo_iuup_instance *inst, struct osmo_iuup_tnl_prim *itp)
Definition: iuup.c:904
#define GSM414_MT_CLOSE_TCH_LOOP_ACK
Definition: gsm_04_14.h:22
@ OSMO_GSUP_MSGT_PROC_SS_ERROR
Definition: gsup.h:163
result of the TLV parser
Definition: tlv.h:532
Definition: gsm0808.h:275
struct gsm48_chan_desc chan_desc
Definition: gsm_04_08.h:689
#define GSM48_MT_GMM_RA_UPD_ACK
Definition: gsm_04_08_gprs.h:20
void _kasumi_kgcore(uint8_t CA, uint8_t cb, uint32_t cc, uint8_t cd, const uint8_t *ck, uint8_t *co, uint16_t cl)
Implementation of the KGCORE algorithm (used by A5/3, A5/4, GEA3, GEA4 and ECSD)
Definition: kasumi.c:159
static int gsm411_tx_cp_error(struct gsm411_smc_inst *inst, uint8_t cause)
Definition: gsm0411_smc.c:146
@ OSMO_IUUP_TNL_UNITDATA
Definition: iuup.h:14
@ IUUP_FSM_ST_SMpSDU_DATA_XFER_READY
Definition: iuup.c:144
#define NM_IPAC_F_RSL_FEAT_DYN_PDCH_ACT
Definition: gsm_12_21.h:859
@ GSM0808_IE_PERIODICITY
Definition: gsm_08_08.h:205
@ SGSAP_IE_MM_INFO
Definition: gsm_29_118.h:62
@ BSSMAP_LE_IEI_BSS_MLAT_CAP
Definition: gsm_49_031.h:124
const char abis_nm_ipa_magic[13]
Definition: abis_nm.c:40
static int cbsp_dec_kill_compl(struct osmo_cbsp_kill_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:842
char * osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm)
Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3.
Definition: gsm48.c:1917
@ NM_ATT_SOURCE
Definition: gsm_12_21.h:364
Definition: gsm_04_08.h:941
#define NM_IPAC_F_GPRS_CODING_MCS4
Definition: gsm_12_21.h:841
uint8_t rac
Definition: gsm48_rest_octets.h:120
static int decode_gprs_cell_opt(struct osmo_gprs_cell_options *gco, struct bitvec *bv)
Definition: gsm48_rest_octets.c:845
uint8_t perm_spch[CH_TYPE_PERM_SPCH_MAXLEN]
Definition: gsm_08_08.h:745
static int c128v3_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_comp128v23.c:49
static int cbsp_enc_load_query(struct msgb *msg, const struct osmo_cbsp_load_query *in)
Definition: cbsp.c:266
const char * gsm48_rr_msg_name(uint8_t msgtype)
return string representation of RR Message Type
Definition: gsm48.c:418
@ GSM0808_IE_A_IF_SEL_FOR_RESET
Definition: gsm_08_08.h:309
@ BSS_MAP_MSG_VGCS_VBS_SETUP
Definition: gsm_08_08.h:162
#define GSM48_PDISC_LOC
Definition: gsm_04_08.h:1446
size_t gsm0858_rsl_ul_meas_enc(const struct gsm_meas_rep_unidir *mru, bool dtxd_used, uint8_t *buf)
Build the RSL uplink measurement IE (3GPP TS 08.58 § 9.3.25)
Definition: gsm_utils.c:494
uint16_t id_list_lac[CELL_ID_LIST_LAC_MAXLEN]
Definition: gsm_08_08.h:776
@ NM_MT_SET_CHAN_ATTR_NACK
Definition: gsm_12_21.h:132
#define BSS_MAP_MSG_ASSIGMENT_RQST
Definition: gsm_08_08.h:189
@ NM_ATT_MANUF_THRESH
Definition: gsm_12_21.h:345
uint32_t gsm_gsmtime2fn(const struct gsm_time *time)
Encode decoded gsm_time to Frame Number.
Definition: gsm_utils.c:889
#define GSM411_MNSMS_ERROR_IND
Definition: gsm0411_smc.h:26
uint8_t break_ind
Definition: gsm48_rest_octets.h:106
int osmo_gsm48_rest_octets_si2quater_encode(uint8_t *data, uint8_t si2q_index, uint8_t si2q_count, const uint16_t *uarfcn_list, size_t *u_offset, size_t uarfcn_length, uint16_t *scramble_list, struct osmo_earfcn_si2q *si2quater_neigh_list, size_t *e_offset)
Definition: gsm48_rest_octets.c:540
@ IUUP_FSM_EVT_LAST_INIT_ACK
Definition: iuup.c:158
const struct osmo_conv_code gsm0503_mcs1_ul_hdr
EDGE MCS-1 UL header convolutional code: 45 bits blocks, rate 1/3, k = 7 G4 = 1 + D2 + D3 + D5 + D6 G...
Definition: gsm0503_conv.c:1330
struct osmo_timer_list timer
@ SGSAP_MSGT_EPS_DET_IND
Definition: gsm_29_118.h:22
@ NM_EVT_QOS_FAIL
Definition: gsm_12_21.h:574
size_t imei_enc_len
Definition: gsup.h:356
static int milenage_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
Definition: auth_milenage.c:46
@ NM_SEVER_MINOR
Definition: gsm_12_21.h:585
#define GSM_MAX_SSVERSION
Definition: mncc.h:8
struct msgb * gsm0808_create_handover_required_reject(const struct gsm0808_handover_required_reject *params)
Create BSSMAP HANDOVER REQUIRED REJECT message.
Definition: gsm0808.c:922
#define GSM414_MT_DEACT_EMMI_CMD
Definition: gsm_04_14.h:55
const struct osmo_fd * fd
@ OSMO_GSM48_ARFCN_RANGE_1024
Definition: gsm48_arfcn_range_encode.h:12
bool is_cbs
Definition: cbsp.h:85
#define GSM48_MT_RR_SH_VGCS_RECON
Definition: gsm_04_08.h:1647
@ BSSMAP_LE_IEI_GANSS_POS_DATA
Definition: gsm_49_031.h:103
uint8_t a5_bits
Definition: gsm_04_08.h:63
#define GSM48_MT_RR_EXT_MEAS_REP_ORD
Definition: gsm_04_08.h:1629
#define GSM48_MT_RR_SYSINFO_7
Definition: gsm_04_08.h:1604
struct msgb * gsm0808_create_clear_command2(uint8_t cause, bool csfb_ind)
Create BSSMAP Clear Command message.
Definition: gsm0808.c:217
static void append_gprs_pwr_ctrl_pars(struct bitvec *bv, const struct osmo_gprs_power_ctrl_pars *pcp)
Definition: gsm48_rest_octets.c:1129
static void _comp128_bitsfrombytes(uint8_t *x, uint8_t *bits)
Definition: comp128.c:168
uint8_t repetition_period
Definition: cbsp.h:215
@ BSSMAP_LE_IEI_BTS_RX_ACC_LVL
Definition: gsm_49_031.h:126
@ NM_NACK_RES_NOTAVAIL
Definition: gsm_12_21.h:619
static int cbsp_decode_cell_list(struct osmo_cbsp_cell_list *cl, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:506
#define GSM48_IE_CONN_SUB
Definition: gsm_04_08.h:1793
@ GSM0808_IE_VGCS_TALKER_MODE
Definition: gsm_08_08.h:291
#define A5_R1_TAPS
Definition: a5.c:111
int osmo_parse_mme_domain(struct osmo_gummei *out, const char *in)
Parse a TS 23.003 Section 19.4.2.4 MME Domain (text form) into a osmo_gummei.
Definition: gsm23003.c:707
#define NM_IPAC_F_GPRS_CODING_MCS3
Definition: gsm_12_21.h:840
enum osmo_auth_algo osmo_auth_alg_parse(const char *name)
Parse human-readable name of authentication algorithm.
Definition: auth_core.c:342
static uint8_t * msgb_tv_put(struct msgb *msg, uint8_t tag, uint8_t val)
put (append) a TV field to a Message buffers
Definition: tlv.h:374
enum bsslap_msgt msg_type
Definition: gsm_48_071.h:107
@ OSMO_GSM44068_CAUSE_CONGESTION
Definition: gsm_44_068.h:92
@ EGPRS_HDR_TYPE2
Definition: gsm_44_060.h:223
@ NM_ATT_IPACC_IP_GW_CFG
Definition: gsm_12_21.h:421
uint8_t chosen_channel
Definition: gsm0808.h:235
char * gsm0808_cell_id_name_c(const void *ctx, const struct gsm0808_cell_id *cid)
Definition: gsm0808_utils.c:2121
uint8_t classmark3[14]
Definition: gsm_04_08.h:236
static unsigned long gsm340_vp_default(void)
Definition: gsm0411_utils.c:141
#define ENOTSUP
Definition: a5.c:40
#define GSM48_IE_KPD_FACILITY
Definition: gsm_04_08.h:1790
static struct osmo_auth_impl tuak_alg
Definition: auth_tuak.c:194
@ BSSMAP_LE_IEI_CELL_INFO_LIST
Definition: gsm_49_031.h:125
@ BSSMAP_LE_IEI_DECIPH_KEYS
Definition: gsm_49_031.h:111
@ NM_CHANC_SDCCH_CBCH
Definition: gsm_12_21.h:557
@ OSMO_CBSP_CAUSE_BSC_CAPACITY_EXCEEDED
Definition: cbsp.h:252
@ GSM0808_LCLS_CFG_BOTH_WAY
Definition: gsm_08_08.h:782
uint8_t ussd_data_dcs
Definition: gsm0480.h:89
bool inband_pagings
Definition: gsm48_rest_octets.h:37
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:104
static __thread char str_buff[512]
Char buffer to return strings from functions.
Definition: gsm0808.c:41
uint32_t tlli
Definition: gsm_04_08.h:806
@ GSM0808_LCLS_CFG_NA
Definition: gsm_08_08.h:788
struct msgb * gsm29118_create_dl_ud(const char *imsi, struct msgb *nas_msg)
Definition: gsm29118.c:255
@ NM_NACK_TRXNR_UNKN
Definition: gsm_12_21.h:609
@ OSMO_GSM44068_MSGT_GET_STATUS
Definition: gsm_44_068.h:49
@ GA_MT_CSR_CHAN_MODE_MOD_ACK
Definition: gsm_44_318.h:40
@ BSSLAP_MSGT_ABORT
Definition: gsm_48_071.h:33
@ NM_ATT_MDROP_LINK
Definition: gsm_12_21.h:348
@ GSM0808_IE_APDU
Definition: gsm_08_08.h:263
static const struct value_string mi_type_names[]
Definition: gsm48.c:531
struct msgb * gsm0808_create_dtap(struct msgb *msg, uint8_t link_id)
Create BSSMAP DTAP message.
Definition: gsm0808.c:1396
@ CELL_IDENT_WHOLE_GLOBAL_PS
Definition: gsm_08_08.h:31
#define NM_IPAC_F_CHANT_SDCCH8_CBCH
Definition: gsm_12_21.h:806
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:512
@ OSMO_GSM44068_CAUSE_USER_NOT_ORIGINATOR
Definition: gsm_44_068.h:93
bool fi
Full IP: AoIP with compressed speech via RTP/UDP/IP.
Definition: gsm_08_08.h:594
@ NM_ATT_IPACC_UNIT_ID
Definition: gsm_12_21.h:427
bool utra_mult_band_ind_supp
Definition: gsm_04_08.h:224
@ GA_MT_CSR_RELEASE
Definition: gsm_44_318.h:42
#define TLVP_VAL(x, y)
Definition: tlv.h:558
gsm0502_fn_remap_channel
Definition: gsm0502.h:96
uint16_t site_id
Definition: ipa.h:14
const char * abis_nm_opstate_name(uint8_t os)
Get human-readable string for OML Operational State.
Definition: abis_nm.c:633
@ SGSAP_IE_UE_EMM_MODE
Definition: gsm_29_118.h:73
const char * gsm48_cc_state_name(uint8_t state)
return string representation of CC State
Definition: gsm48.c:262
@ GSM411_RP_CAUSE_MSGTYPE_NOTEXIST
Definition: gsm_04_11.h:89
#define GSM48_MT_RR_NOTIF_FACCH
Definition: gsm_04_08.h:1589
@ NM_ATT_SW_DESCR
Definition: gsm_12_21.h:381
const struct osmo_conv_code gsm0503_tch_fr
TCH/F convolutional code.
Definition: gsm0503_conv.c:884
int osmo_str_to_int(int *result, const char *str, int base, int min_val, int max_val)
struct msgb * gsm0808_create_ass_compl(uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec *sc, const struct gsm0808_speech_codec_list *scl)
Create BSSMAP Assignment Completed message.
Definition: gsm0808.c:668
#define GSM411_MT_CP_ERROR
Definition: gsm_04_11.h:31
@ OSMO_GSUP_KC_IE
Definition: gsup.h:82
#define NM_IPAC_F_RTP_FEAT_COMPR_CONTROL
ip.access support flags for NM_IPAC_EIE_RTP_FEATURES
Definition: gsm_12_21.h:849
#define GSM411_MNSMS_DATA_IND
Definition: gsm0411_smc.h:23
#define TLVP_GET(_tp, tag)
Return pointer to a TLV element if it is present.
Definition: tlv.h:573
struct msgb * gsm0808_create_vgcs_vbs_setup_refuse(enum gsm0808_cause cause)
3GPP TS 48.008 §3.2.1.52 VGCS/VBS SETUP REFUSE
Definition: gsm0808.c:1574
@ IUUP_FSM_EVT_IUUP_UNITDATA_IND
Definition: iuup.c:156
int16_t s16
Definition: common.h:30
struct msgb * gsm0808_create_handover_complete(const struct gsm0808_handover_complete *params)
Create BSSMAP HANDOVER COMPLETE message, 3GPP TS 48.008 3.2.1.12.
Definition: gsm0808.c:1193
uint16_t gsm0808_sc_cfg_from_gsm48_mr_cfg(const struct gsm48_multi_rate_conf *cfg, bool fr)
Determine a set of AMR speech codec configuration bits (S0-S15) from a given GSM 04....
Definition: gsm0808_utils.c:1665
#define GSM48_IE_F_CH_SEQ_AFTER
Definition: gsm_04_08.h:1854
static unsigned int decode_drx_timer(unsigned int drx)
Definition: gsm48_rest_octets.c:838
int gsm0808_dec_lcls(struct osmo_lcls *lcls, const struct tlv_parsed *tp)
Decode LCLS parameters to a given msgb, 3GPP TS 48.008 §3.2.2.115 - 3.2.2.120.
Definition: gsm0808_utils.c:705
struct osmo_sub_auth_data2::@108::@110 gsm
const struct osmo_conv_code gsm0503_tch_afs_5_15
TCH/AFS 5.15 kbits convolutional code: G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4 G1/G3 = 1 + D +...
Definition: gsm0503_conv.c:784
Definition: gsm_04_08.h:869
static const struct value_string auth_alg_vals[]
Definition: auth_core.c:323
int osmo_gsm48_range_enc_512(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:288
int(* run)(uint8_t *out, uint16_t len, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction direction)
Definition: gprs_cipher.h:40
@ BSSLAP_IEI_MS_POWER
Definition: gsm_48_071.h:67
struct osmo_iuup_rnl_config config
Definition: iuup.h:108
#define GSM48_MT_RR_SYSINFO_2ter
Definition: gsm_04_08.h:1607
uint16_t msg_id
Definition: cbsp.h:117
Definition: gsm_04_08.h:2232
@ NM_MT_STOP_TEST_ACK
Definition: gsm_12_21.h:142
struct osmo_gsm48_si_dtm_support dtm_support
Definition: gsm48_rest_octets.h:54
@ SGSAP_IE_IMSI_DET_NONEPS_TYPE
Definition: gsm_29_118.h:59
#define NM_IPAC_F_CHANT_BCCH_SDCCH4
Definition: gsm_12_21.h:803
#define GSM48_MT_MM_CM_SERV_REJ
Definition: gsm_04_08.h:1672
Instead of this, use either struct gsm0808_cell_id or gsm0808_cell_id_list2.
Definition: gsm0808_utils.h:43
int gsm48_decode_redirecting(struct gsm_mncc_number *redirecting, const uint8_t *lv)
Decode TS 04.08 Redirecting Number IE (10.5.4.21b)
Definition: gsm48_ie.c:642
@ OSMO_GSUP_MSGT_INSERT_DATA_ERROR
Definition: gsup.h:151
uint32_t t3192
Definition: gsm_44_060.h:177
int nr_data_bits
Definition: mncc.h:24
@ CBSP_IEI_BCAST_MSG_TYPE
Definition: gsm_48_049.h:44
const struct value_string abis_nm_ipacc_gprs_coding_desc[]
Definition: abis_nm.c:769
struct osmo_gprs_power_ctrl_pars pwr_ctrl_pars
Definition: gsm48_rest_octets.h:117
uint32_t session_id
Unique session identifier and origination flag.
Definition: gsup.h:327
@ CELL_IDENT_UTRAN_PLMN_LAC_RNC
Definition: gsm_08_08.h:25
@ GAD_TYPE_ELL_ARC
Ellipsoid arc.
Definition: gsm_23_032.h:45
#define NM_IPAC_F_GPRS_CODING_MCS7
Definition: gsm_12_21.h:844
enum gsm_band gsm_band_parse(const char *mhz)
Parse string name of a GSM band.
Definition: gsm_utils.c:695
@ BSSMAP_LE_IEI_VELOCITY_DATA
Definition: gsm_49_031.h:104
@ GMM_CAUSE_LA_NOTALLOWED
Definition: gsm_04_08_gprs.h:230
@ OSMO_GSUP_SESSION_STATE_CONTINUE
Communication of an existing session.
Definition: gsup.h:245
#define GSM48_MT_GMM_ATTACH_COMPL
Definition: gsm_04_08_gprs.h:14
bool cipher_response_mode_present
3GPP TS 48.008 3.2.2.34 Cipher Response Mode, optional IE
Definition: gsm0808.h:58
struct abis_om_obj_inst obj_inst
Object Instance.
Definition: gsm_12_21.h:74
bssmap_le_iei
Definition: gsm_49_031.h:96
void gsm0808_cell_id_to_list(struct gsm0808_cell_id_list2 *dst, const struct gsm0808_cell_id *src)
Convert a single Cell Identifier to a Cell Identifier List with one entry.
Definition: gsm0808_utils.c:1494
@ GSM0808_FE_IE_DTM_HANDOVER_COMMAND_INDICATION
Definition: gsm_08_08.h:356
@ BSS_MAP_MSG_VGCS_VBS_SETUP_ACK
Definition: gsm_08_08.h:163
void _a5_3(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul, bool fn_correct)
Generate a GSM A5/3 cipher stream.
Definition: a5.c:89
#define GSM48_PDISC_PDSS1
Definition: gsm_04_08.h:1436
bool extended_meas_cap
Definition: gsm_04_08.h:79
@ NM_EVT_PROC_FAIL
Definition: gsm_12_21.h:575
@ TLLI_FOREIGN
Definition: gsm_utils.h:202
bool prio_valid
Definition: sysinfo.h:68
static void write_orig_arfcn(uint8_t *chan_list, int f0)
Definition: gsm48_arfcn_range_encode.c:193
const struct value_string gsm0808_amr_mode_names[]
Definition: gsm0808.c:2779
struct osmo_iuup_instance::@115 timer
struct osmo_prim_hdr oph
Definition: iuup.h:16
@ GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER
Definition: gsm_04_11.h:76
#define GSM411_SM_RL_DATA_IND
Definition: gsm0411_smr.h:10
#define GSM0480_MTYPE_FACILITY
Definition: gsm_04_80.h:8
@ GSM0808_FE_IE_VGCS_TALKER_MODE
Definition: gsm_08_08.h:361
uint16_t msg_id
Definition: cbsp.h:80
@ OSMO_GSUP_AUTN_IE
Definition: gsup.h:86
static int osmo_bssmap_le_ie_dec_gad(union gad_raw *gad, enum bssmap_le_msgt msgt, enum bssmap_le_iei iei, struct osmo_bssmap_le_err **err, void *err_ctx, const uint8_t *elem, uint8_t len)
Definition: bssmap_le.c:455
enum gsm48_bcap_interm_rate interm_rate
Definition: mncc.h:27
#define GSM48_MT_RR_ADD_ASS
Definition: gsm_04_08.h:1551
#define OSMO_GSUP_PDP_TYPE_SIZE
Definition: gsup.h:61
@ NM_MT_FAILURE_EVENT_REP
Definition: gsm_12_21.h:146
void _kasumi_kgcore(uint8_t CA, uint8_t cb, uint32_t cc, uint8_t cd, const uint8_t *ck, uint8_t *co, uint16_t cl)
Implementation of the KGCORE algorithm (used by A5/3, A5/4, GEA3, GEA4 and ECSD)
Definition: kasumi.c:159
uint16_t cell_identity
Definition: gsm23003.h:30
struct osmo_iuup_rnl_config config
Definition: iuup.c:122
static bool same_cell_id_list_entries(const struct gsm0808_cell_id_list2 *a, int ai, const struct gsm0808_cell_id_list2 *b, int bi)
Definition: gsm0808_utils.c:1411
sms_alphabet
Definition: gsm_04_11.h:112
#define GSM48_MT_RR_STATUS
Definition: gsm_04_08.h:1622