libosmogsm
1.4.0
Osmocom GSM library
|
static const struct l2downstate l2downstatelist[]
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:1621
struct osmo_lac_and_ci_id lac_and_ci
Definition: gsm0808_utils.h:43
@ GSM48_REJECT_INVALID_MANDANTORY_INF
Definition: gsm_04_08.h:1729
#define GSM48_IE_CHANMODE_7
Definition: gsm_04_08.h:1537
@ GSM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:258
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:1753
static const uint8_t tch_ahs_5_9_state[][2]
Definition: gsm0503_conv.c:957
@ GSM411_RP_CAUSE_MO_SMS_REJECTED
Definition: gsm_04_11.h:71
@ NM_MT_CHG_HW_CONF
Definition: gsm_12_21.h:178
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:426
#define GSM48_MT_CC_CALL_PROC
Definition: gsm_04_08.h:1394
static const struct value_string cc_msg_names[]
Definition: gsm48.c:269
@ PRIM_DL_REL
DL-RLEEASE.
Definition: lapd_core.h:25
@ GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER
Definition: gsm_08_08.h:653
int osmo_plugin_load_all(const char *directory)
uint8_t rac
Definition: gsm48.h:29
@ GSM0808_CAUSE_CALL_CONTROL
Definition: gsm_08_08.h:366
cbsp_channel_ind
Definition: gsm_48_049.h:114
@ NM_ATT_OPER_STATE
Definition: gsm_12_21.h:355
@ NM_NACK_NOTH_REPORT_EXIST
Definition: gsm_12_21.h:633
#define GSM48_MT_MM_AUTH_REJ
Definition: gsm_04_08.h:1370
#define GSM48_IE_MA_AFTER
Definition: gsm_04_08.h:1559
uint16_t cell_resel_off
Definition: gsm48_rest_octets.h:63
@ 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:123
static const uint8_t tch_ahs_6_7_term_state[]
Definition: gsm0503_conv.c:926
const struct value_string gsm411_cp_state_names[]
Definition: gsm0411_smc.c:582
@ NM_MT_CHG_ADM_STATE_ACK
Definition: gsm_12_21.h:157
#define GSM48_MT_CC_CONNECT_ACK
Definition: gsm_04_08.h:1396
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:346
#define GSM48_MT_RR_DTM_REQUEST
Definition: gsm_04_08.h:1280
uint8_t transaction_id
Definition: gsm0480.h:45
@ 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
struct gsm0808_old_bss_to_new_bss_info::@4 extra_information
int osmo_gsm48_range_enc_filter_arfcns(int *arfcns, const int size, const int f0, int *f0_included)
Definition: gsm48_arfcn_range_encode.c:301
@ 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:377
#define GSM48_MT_RR_SYSINFO_2bis
Definition: gsm_04_08.h:1329
static uint32_t _a5_12_clock(uint32_t r, uint32_t mask, uint32_t taps)
Compute the next LFSR state.
Definition: a5.c:153
@ PRIM_DL_EST
DL-ESTABLISH.
Definition: lapd_core.h:24
uint8_t ussd_data_len
Definition: gsm0480.h:88
@ NM_ATT_HW_CONFIG
Definition: gsm_12_21.h:341
#define GSM48_MT_CC_USER_INFO
Definition: gsm_04_08.h:1408
@ NM_ATT_IPACC_CODING_SCHEMES
Definition: gsm_12_21.h:453
@ GSM0808_SCT_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:503
#define GSM48_IE_GPRS_RESUMPT
Definition: gsm_04_08.h:1571
static const struct value_string gsm0808_bssap_names[]
Definition: gsm0808.c:1584
uint16_t cause
Definition: gsm0808.h:152
uint8_t max_lapdm
Definition: gsm48_rest_octets.h:40
enum gsm0808_permitted_speech chosen_speech_version
Definition: gsm0808.h:216
#define GSM48_MT_CC_RETR
Definition: gsm_04_08.h:1412
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:1091
@ GSM48_CC_CAUSE_INC_BARRED_CUG
Definition: gsm_04_08.h:1682
@ OSMO_GSUP_ACCESS_POINT_NAME_IE
Definition: gsup.h:77
#define GSM48_MT_GMM_ATTACH_ACK
Definition: gsm_04_08_gprs.h:14
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:505
#define GSM0480_OP_CODE_DEACTIVATE_SS
Definition: gsm_04_80.h:73
@ GA_RC_SYNC_INFO
Definition: gsm_44_318.h:63
@ LAPD_STATE_TIMER_RECOV
Definition: lapd_core.h:84
int lapdm_channel_set_mode(struct lapdm_channel *lc, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm channel.
Definition: lapdm.c:1453
#define GSM_0480_ERROR_CODE_TAG
Definition: gsm_04_80.h:33
static const int tch_afs_10_2_puncture[]
Definition: gsm0503_conv.c:295
struct osmo_gsm48_si_pch_nch_info pch_nch_info
Definition: gsm48_rest_octets.h:49
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:1022
@ NM_ATT_OSMO_NS_LINK_CFG
Definition: gsm_12_21.h:514
uint8_t len
Definition: gsm_04_11.h:0
static const struct value_string avail_names[]
Definition: abis_nm.c:644
@ NM_MT_CONN_TERR_SIGN_ACK
Definition: gsm_12_21.h:108
size_t qos_enc_len
length (in octets) of qos_enc
Definition: gsup.h:270
@ 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:1026
struct gprs_cs_desc::@74 uplink
#define A52_R4_CLKBIT2
Definition: a5.c:277
int(* osmo_prim_cb)(struct osmo_prim_hdr *oph, void *ctx)
enum gsm0808_lcls_control control
§3.2.2.117 Connection Status Control.
Definition: gsm0808_utils.h:65
#define os_memset(x, y, z)
Definition: common.h:14
bool osmo_imsi_str_valid(const char *imsi)
Determine whether the given IMSI is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:60
static int lapd_rx_s(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1234
#define GSM48_MT_RR_HANDO_INFO
Definition: gsm_04_08.h:1297
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:1713
out_cb_bits_t out_cb_bits
callback to be called once we have received out_bitbuf_size bits
Definition: i460_mux.h:54
@ BSS_MAP_MSG_VGCS_VBS_QUEUING_INDICATION
Definition: gsm_08_08.h:164
#define GSM48_MT_CC_DISCONNECT
Definition: gsm_04_08.h:1416
#define GSM48_MT_CC_CONG_CTRL
Definition: gsm_04_08.h:1420
uint8_t resp
Definition: lapd_core.h:117
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
@ GMM_CAUSE_NO_PDP_ACTIVATED
Definition: gsm_04_08_gprs.h:228
@ LAPDm_FMT_B4
Definition: lapdm.c:114
@ GSM48_CC_CAUSE_NORM_CALL_CLEAR
Definition: gsm_04_08.h:1660
#define GSM48_IE_MOBILE_ID
Definition: gsm_04_08.h:1482
#define GSM0480_MTYPE_REGISTER
Definition: gsm_04_80.h:9
@ GSM0808_IE_KC_128
Definition: gsm_08_08.h:303
static bool gsm0808_cause_ext(enum gsm0808_cause cause)
Definition: gsm0808_utils.h:152
uint8_t code
Definition: gsm23003.h:88
@ GSM411_CPS_IDLE
Definition: gsm_04_11.h:11
#define GSM48_MT_RR_HANDO_CMD
Definition: gsm_04_08.h:1293
@ 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:334
@ NM_ATT_MAX_TA
Definition: gsm_12_21.h:350
const struct value_string sgsap_ismi_det_noneps_type_names[]
Definition: gsm29118.c:109
@ GSM48_CC_CAUSE_SERV_OPT_UNIMPL
Definition: gsm_04_08.h:1690
@ BSS_MAP_MSG_HANDOVER_FAILURE
Definition: gsm_08_08.h:86
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:1056
@ OSMO_GSUP_AUTH_TUPLE_IE
Definition: gsup.h:67
#define MDL_CAUSE_UFRM_INC_PARAM
Definition: lapd_core.h:40
@ 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:1366
int osmo_auth_supported(enum osmo_auth_algo algo)
Determine if a given authentication algorithm is supported.
Definition: auth_core.c:90
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
int last_tx_dequeue
last entity that was dequeued
Definition: lapdm.h:53
@ GSM0808_IE_GERAN_CLASSMARK
Definition: gsm_08_08.h:268
@ NM_IPACC_TESTNO_BCCCH_MONITOR
Definition: gsm_12_21.h:723
@ OSMO_RAT_UTRAN_IU
Definition: gsm_utils.h:247
@ SGSAP_MSGT_UE_UNREACHABLE
Definition: gsm_29_118.h:36
void gsm411_smc_clear(struct gsm411_smc_inst *inst)
Definition: gsm0411_smc.c:100
@ GSM0808_IE_TRACE_REFERENCE
Definition: gsm_08_08.h:225
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:1057
@ GSM48_CC_CAUSE_IE_NOTEXIST
Definition: gsm_04_08.h:1699
@ NM_ATT_CCCH_L_T
Definition: gsm_12_21.h:331
static const int tch_afs_6_7_puncture[]
Definition: gsm0503_conv.c:485
void comp128(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v1 algorithm.
Definition: comp128.c:246
#define GSM48_IE_BA_LIST_PREF
Definition: gsm_04_08.h:1562
3GPP TS 48.008 §3.2.1.37 HANDOVER REQUIRED REJECT
Definition: gsm0808.h:151
#define ABIS_OM_MDISC_TRAU
Message Discriminator for TRAU management.
Definition: gsm_12_21.h:53
@ NM_ATT_IPACC_NS_CFG
Definition: gsm_12_21.h:445
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:723
@ GSM_PCHAN_TCH_H
Definition: gsm_utils.h:206
struct osmo_gsm48_lsa_params lsa_params
Definition: gsm48_rest_octets.h:101
uint8_t ch_indctr
Definition: gsm_08_08.h:607
@ GSM0808_SCT_FR5
FR AMR-WB.
Definition: gsm_08_08.h:504
@ GSM411_RP_CAUSE_MO_REQ_FAC_NOTSUBSCR
Definition: gsm_04_11.h:80
static int encode_wperiod(uint32_t secs)
Definition: cbsp.c:125
@ NM_MT_CHG_ADM_STATE_REQ_ACK
Definition: gsm_12_21.h:160
#define GSM48_TMSI_LEN
Definition: gsm_04_08.h:1926
@ SGSAP_SGS_CAUSE_MSG_INCOMP_STATE
Definition: gsm_29_118.h:133
#define GSM48_MT_MM_AUTH_FAIL
Definition: gsm_04_08.h:1373
struct llist_head list
Definition: cbsp.h:64
#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:594
@ NM_ATT_START_TIME
Definition: gsm_12_21.h:369
@ GSM0808_IE_DATA_IDENTITY
Definition: gsm_08_08.h:294
@ GSM0808_IE_SPEECH_VERSION
Definition: gsm_08_08.h:237
#define GSM48_MT_RR_APP_INFO
Definition: gsm_04_08.h:1362
@ GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE
Definition: gsm_08_08.h:383
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:1169
#define GSM48_MT_RR_SYSINFO_4
Definition: gsm_04_08.h:1324
gsm_chan_t
Definition: gsm_utils.h:218
@ RSL_IE_ACCESS_DELAY
Definition: gsm_08_58.h:286
@ GSM_PCHAN_UNKNOWN
Definition: gsm_utils.h:210
gsm0808_lcls_config
Definition: gsm_08_08.h:637
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:159
@ GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE
Definition: gsm_08_08.h:380
@ OSMO_GSUP_SESSION_STATE_NONE
Undefined session state.
Definition: gsup.h:241
uint32_t fn
GSM Frame Number at time of RA.
Definition: l1sap.h:64
@ 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:919
@ GSM0808_CAUSE_CIRCUIT_POOL_MISMATCH
Definition: gsm_08_08.h:394
union osmo_dlsap_prim::@15 u
request-specific data
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE
Definition: gsm_08_08.h:89
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL
Definition: gsm_08_08.h:643
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:403
#define GSM48_IE_MUL_RATE_CFG
Definition: gsm_04_08.h:1527
@ NM_OC_SITE_MANAGER
Definition: gsm_12_21.h:289
#define LAPDm_CTRL_is_U(ctrl)
Definition: lapdm.c:72
#define GSM0480_OP_CODE_INTERROGATE_SS
Definition: gsm_04_80.h:74
@ DCS_NONE
Definition: gsm_04_11.h:113
enum gsm48_bcap_modem_type modem_type
Definition: mncc.h:29
bool current_channel_type_1_present
Definition: gsm0808.h:136
#define TE42(i)
Definition: aes_i.h:84
@ NM_MT_BS11_CREATE_OBJ_NACK
Definition: gsm_12_21.h:207
Definition: gsm_04_08.h:522
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:1776
int send_out
how much was sent from send_buffer
Definition: lapd_core.h:159
static struct osmo_auth_impl milenage_alg
Definition: auth_milenage.c:171
@ GSM48_CC_CAUSE_ACC_INF_DISCARD
Definition: gsm_04_08.h:1677
#define OSMO_PRIM_HDR(oph)
void * tall_lapd_ctx
Definition: lapd_core.c:257
@ SGSAP_IE_EUTRAN_CGI
Definition: gsm_29_118.h:72
#define GSM48_MT_GMM_DETACH_ACK
Definition: gsm_04_08_gprs.h:18
char vlr_name[SGS_VLR_NAME_MAXLEN+1]
Definition: gsm29118.h:36
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:112
@ OSMO_EVT_CRIT_BOOT_FAIL
Definition: gsm_12_21.h:265
@ NM_ATT_TEST_DUR
Definition: gsm_12_21.h:372
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:792
@ LAPDm_FMT_Bbis
Definition: lapdm.c:112
int osmo_gsm48_range_enc_1024(uint8_t *chan_list, int f0, int f0_incl, int *w)
Definition: gsm48_arfcn_range_encode.c:293
#define LAPD_U_UI
Definition: lapd_core.c:92
@ GSM48_REJECT_IMPLICITLY_DETACHED
Definition: gsm_04_08.h:1741
uint8_t sres[4]
Definition: gsm_04_08.h:0
char time[12]
Definition: ipaccess.h:7
static void msgb_put_cbsp_num_compl_list(struct msgb *msg, const struct osmo_cbsp_num_compl_list *cl)
Definition: cbsp.c:106
void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
Definition: aes-internal-enc.c:114
#define LAPD_U_SABM
Definition: lapdm.c:51
@ GMM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:230
size_t msisdn_enc_len
Definition: gsup.h:314
@ GSM_CAUSE_SERV_OPT_NOTSUPP
Definition: gsm_04_08_gprs.h:252
int osmo_gsm48_range_enc_filter_arfcns(int *arfcns, const int sze, const int f0, int *f0_included)
Definition: gsm48_arfcn_range_encode.c:301
#define BSSMAP_MSG_SIZE
Definition: gsm0808.h:33
uint8_t link_id
Definition: gsm_08_08.h:2
Definition: i460_mux.h:76
Definition: gsm_utils.c:778
@ 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
static const uint8_t rn_table[114]
Definition: gsm0502.c:208
@ GSM48_CC_CAUSE_INTERWORKING
Definition: gsm_04_08.h:1704
#define GSM48_MT_RR_DTM_ASS_FAIL
Definition: gsm_04_08.h:1278
@ 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:378
static int append_gprs_cell_opt(struct bitvec *bv, const struct osmo_gprs_cell_options *gco)
Definition: gsm48_rest_octets.c:821
@ 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:193
@ NM_SEVER_CRITICAL
Definition: gsm_12_21.h:582
const uint8_t * val
pointer to value
Definition: tlv.h:459
struct osmo_cbsp_write_replace write_replace
Definition: cbsp.h:253
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:480
static const uint8_t tch_afs_7_95_term_output[]
Definition: gsm0503_conv.c:379
#define GSM48_MT_CC_MODIFY
Definition: gsm_04_08.h:1405
Definition: gsm_04_08.h:135
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:909
@ SGSAP_UE_EMM_MODE_CONNECTED
Definition: gsm_29_118.h:150
int osmo_i460_mux_out(struct osmo_i460_timeslot *ts, uint8_t *out, size_t out_len)
Data from E1 timeslot into de-multiplexer.
Definition: i460_mux.c:275
const struct osmo_conv_code gsm0503_tch_ahs_7_4
TCH/AHS 7.4 kbits convolutional code.
Definition: gsm0503_conv.c:901
#define GSM48_PDISC_NC_SS
Definition: gsm_04_08.h:1171
@ SGSAP_MSGT_ALERT_REQ
Definition: gsm_29_118.h:18
@ GSM48_RR_CAUSE_CHAN_MODE_UNACCT
Definition: gsm_04_08.h:1642
#define GSM48_IE_MSLOT_DESC
Definition: gsm_04_08.h:1529
#define rsl_tlv_parse(dec, buf, len)
Parse RSL TLV structure using tlv_parse.
Definition: rsl.h:19
@ GSM48_CC_CAUSE_USER_NOT_IN_CUG
Definition: gsm_04_08.h:1692
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:187
bool thresh_lo_valid
Definition: sysinfo.h:66
struct osmo_location_area_id lai
Definition: gsm29118.h:40
Definition: gsm0411_smr.c:378
const struct tlv_definition * gsm0808_att_tlvdef(void)
Definition: gsm0808.c:1467
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:188
@ NM_CHANC_TCHFull
Definition: gsm_12_21.h:547
struct osmo_gcr_parsed gcr
§3.2.2.115 Global Call Reference.
Definition: gsm0808_utils.h:66
#define GSM48_MT_CC_ESTAB_CONF
Definition: gsm_04_08.h:1400
@ NM_MT_SET_RADIO_ATTR_ACK
Definition: gsm_12_21.h:131
#define TE443(i)
Definition: aes_i.h:89
#define GSM48_IE_HIGHL_COMPAT
Definition: gsm_04_08.h:1509
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:809
@ NM_OPSTATE_NULL
Definition: gsm_12_21.h:542
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:288
@ NM_OC_BS11_ENVABTSE
Definition: gsm_12_21.h:308
uint8_t l3_info_len
Definition: gsm0808.h:206
@ GSM_MNCC_BCAP_SPEECH
Definition: mncc.h:78
static void rijndaelEncrypt(const u32 rk[], const u8 pt[16], u8 ct[16])
Definition: aes-internal-enc.c:33
int use_sabme
use SABME instead of SABM
Definition: lapd_core.h:137
void lapdm_channel_set_flags(struct lapdm_channel *lc, unsigned int flags)
Set the flags of all LAPDm entities in a LAPDm channel.
Definition: lapdm.c:1508
int ipa_ccm_send_pong(int fd)
Definition: ipa.c:441
static uint16_t kasumi_FI(uint16_t I, uint16_t skey)
Definition: kasumi.c:30
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:205
@ 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:906
GSM TS 03.41 definitions also TS 23.041.
int bitvec_get_bit_high(struct bitvec *bv)
int osmo_ubit2pbit(pbit_t *out, const ubit_t *in, unsigned int num_bits)
@ OSMO_GSUP_SOURCE_NAME_IE
Definition: gsup.h:113
#define GSM414_MT_OPEN_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:51
const char * name
Definition: gsm0411_smc.c:425
#define GSM48_MT_CC_START_DTMF
Definition: gsm_04_08.h:1424
@ GSM0808_IE_CIRCUIT_POOL_LIST
Definition: gsm_08_08.h:232
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:1047
static int cbsp_dec_failure(struct osmo_cbsp_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1118
@ GSM48_CC_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_08.h:1701
uint8_t file_version_len
Definition: gsm_12_21.h:798
@ LAPD_MODE_NETWORK
behave like network
Definition: lapd_core.h:71
@ GSM_CAUSE_FEATURE_NOTSUPP
Definition: gsm_04_08_gprs.h:260
#define RLL_CAUSE_SABM_INFO_NOTALL
Definition: gsm_08_58.h:519
@ 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
static int rslms_rx_rll_udata_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1032
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:939
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:62
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:134
int length
Definition: lapd_core.h:111
const struct value_string gsm411_cp_cause_strs[]
Definition: gsm0411_smc.c:123
@ GSM0808_IE_OSMO_OSMUX_CID
Definition: gsm_08_08.h:330
int(* mn_recv)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.h:32
char imsi[GSM48_MI_SIZE]
Definition: gsm29118.h:35
@ BSS_MAP_MSG_RESET_IP_RSRC
Definition: gsm_08_08.h:128
@ NM_OPSTATE_DISABLED
Definition: gsm_12_21.h:540
static const struct value_string gsm0808_cause_class_names[]
Definition: gsm0808.c:1703
@ 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:1478
@ RSL_MT_REL_CONF
Definition: gsm_08_58.h:148
int more
Definition: lapd_core.h:122
int ipa_ccm_tlv_to_unitdata(struct ipaccess_unit *ud, const struct tlv_parsed *tp)
Definition: ipa.c:260
@ PRIM_DL_SUSP
DL-SUSPEND.
Definition: lapd_core.h:26
static int cbsp_enc_kill_fail(struct msgb *msg, const struct osmo_cbsp_kill_failure *in)
Definition: cbsp.c:251
#define LAPDM_ENT_F_POLLING_ONLY
Definition: lapdm.h:47
static const uint8_t tch_ahs_5_15_term_state[]
Definition: gsm0503_conv.c:1014
#define GSM48_MT_RR_SYSINFO_5ter
Definition: gsm_04_08.h:1333
@ NM_MT_ACTIVATE_SW_NACK
Definition: gsm_12_21.h:101
#define LAPD_HEADROOM
Definition: lapd_core.c:106
uint16_t lac
Definition: gsm_04_08.h:1933
@ GMM_CAUSE_NOT_AUTH_FOR_CSG
Definition: gsm_04_08_gprs.h:226
@ NM_ATT_POWER_THRESH
Definition: gsm_12_21.h:359
primitive header for PH-SAP primitives
Definition: l1sap.h:158
@ GSM0808_ALG_ID_A5_5
Definition: gsm_08_08.h:523
#define GSM48_IE_ALERT
Definition: gsm_04_08.h:1493
@ 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:62
int gsm48_decode_callerid(struct gsm_mncc_number *callerid, const uint8_t *lv)
Decode TS 04.08 Caller ID.
Definition: gsm48_ie.c:445
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:151
@ 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:265
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:197
@ GSM0808_CAUSE_RELOCATION_TRIGGERED
Definition: gsm_08_08.h:375
static const uint8_t tch_axs_sid_update_state[][2]
Definition: gsm0503_conv.c:1129
@ NM_ATT_FILE_DATA
Definition: gsm_12_21.h:389
static const uint8_t tch_afs_7_4_state[][2]
Definition: gsm0503_conv.c:414
#define GSM0480_COMPIDTAG_INVOKE_ID
Definition: gsm_04_80.h:22
#define GSM48_LUPD_PERIODIC
Definition: gsm_04_08.h:1465
@ GSM0808_IE_CHANNEL_TYPE
Definition: gsm_08_08.h:197
@ GSM0808_CAUSE_HANDOVER_SUCCESSFUL
Definition: gsm_08_08.h:368
@ LAPDM_MODE_MS
behave like a MS (mobile phone)
Definition: lapdm.h:13
#define TE421(i)
Definition: aes_i.h:87
int ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data)
Definition: ipa.c:227
struct llist_head list
Definition: cbsp.h:42
@ NM_MT_PERF_TEST
Definition: gsm_12_21.h:137
#define TCH_REPEAT_LENGTH
Definition: gsm0502.c:54
ITU-T I.460 sub-channel multiplexer + demultiplexer.
#define GSM48_MT_CC_MODIFY_COMPL
Definition: gsm_04_08.h:1406
enum lapdm_mode mode
are we in BTS mode or MS mode
Definition: lapdm.h:55
uint8_t proto_discr
Definition: gsm_04_08.h:723
@ NM_CHANC_BCCHComb
Definition: gsm_12_21.h:554
static const uint8_t tch_afs_7_4_term_state[]
Definition: gsm0503_conv.c:428
uint8_t thresh_hi
Definition: sysinfo.h:57
void * aes_decrypt_init(const u8 *key, size_t len)
char * location1
Definition: ipa.h:21
@ GSM0808_IE_CELL_ID_LIST_SEG_EST_CELLS
Definition: gsm_08_08.h:286
@ GSM0808_IE_LOCATION_ESTIMATE
Definition: gsm_08_08.h:252
@ OSMO_GSUP_MESSAGE_CLASS_USSD
Definition: gsup.h:282
uint16_t mnc
Definition: gsm48.h:26
int radio
Definition: mncc.h:16
@ GSM48_CC_CAUSE_NONSE_USER_CLR
Definition: gsm_04_08.h:1667
@ GSM_CAUSE_SERV_OPT_TEMP_OOO
Definition: gsm_04_08_gprs.h:254
@ OSMO_GSUP_SM_RP_MMS_IE
Definition: gsup.h:105
@ 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:1393
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:1291
int network
Definition: gsm0411_smr.h:18
static const int cs3_puncture[]
Definition: gsm0503_conv.c:159
const char * gsm0808_bssap_name(uint8_t msg_type)
Return string name of BSSAP Message Type.
Definition: gsm0808.c:1591
@ OSMO_GSUP_IMEI_IE
Definition: gsup.h:108
const uint8_t * l3_info
Definition: gsm0808.h:229
int osmo_auth_register(struct osmo_auth_impl *impl)
Register an authentication algorithm implementation with the core.
Definition: auth_core.c:52
#define A5_R3_TAPS
Definition: a5.c:117
static int gsm411_mnsms_rel_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:326
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:640
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:255
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:259
#define OSMO_DEPRECATED(text)
uint8_t data[0]
Definition: gsm_04_08.h:725
static int rsl_rll_error(uint8_t cause, struct lapdm_msg_ctx *mctx)
Definition: lapdm.c:546
const char * get_value_string(const struct value_string *vs, uint32_t val)
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:901
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:110
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:159
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:42
@ NM_MT_DISC_MDROP_LINK_ACK
Definition: gsm_12_21.h:124
#define GSM48_LUPD_NORMAL
Definition: gsm_04_08.h:1464
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:271
static void msgb_put_cbsp_fail_list(struct msgb *msg, const struct llist_head *fl)
Definition: cbsp.c:67
uint8_t tx_power
Definition: lapdm.h:68
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:1378
@ NM_MT_BS11_BEGIN_DB_TX_NACK
Definition: gsm_12_21.h:201
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST
Definition: gsup.h:136
@ GMM_CAUSE_SEM_INCORR_MSG
Definition: gsm_04_08_gprs.h:229
uint16_t node
length (3-5 octets) of gsm29205_gcr::net
Definition: gsm29205.h:36
Definition: gsm_04_08.h:31
@ GSM48_CMSERV_VGCS
Definition: gsm_04_08.h:1446
@ NM_MT_DISC_TERR_TRAF
Definition: gsm_12_21.h:116
uint8_t supports_egprs_11bit_rach
@ NM_ATT_SITE_INPUTS
Definition: gsm_12_21.h:365
static int alloc_bitbuf(void *ctx, struct osmo_i460_subchan *schan, size_t num_bits)
Definition: i460_mux.c:294
int osmo_pbit2ubit(ubit_t *out, const pbit_t *in, unsigned int num_bits)
@ GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT
Definition: gsm_08_08.h:414
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCK
Definition: gsm_08_08.h:136
#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:1239
@ 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)
uint8_t ra
Random Access.
Definition: l1sap.h:44
@ RSL_MT_SUSP_CONF
Definition: gsm_08_58.h:153
@ GMM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:235
static unsigned range1024_p(unsigned n)
Definition: gsm48_rest_octets.c:281
@ OSMO_AUTH_ALG_COMP128v1
Definition: auth.h:30
@ GSM_CAUSE_REACT_RQD
Definition: gsm_04_08_gprs.h:259
Definition: gsm23003.h:16
#define GSM411_SM_RL_REPORT_IND
Definition: gsm0411_smr.h:14
@ NM_ATT_VSWR_THRESH
Definition: gsm_12_21.h:375
@ GSM_CAUSE_SEM_INCORR_MSG
Definition: gsm_04_08_gprs.h:262
uint8_t cause
Definition: gsm_04_08.h:2
@ GPRS_ALGO_GEA4
Definition: gprs_cipher.h:18
@ PRIM_PH_RACH
PH-RANDOM_ACCESS.
Definition: l1sap.h:10
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:422
const struct value_string * gprs_att_t_strs
Definition: gsm_04_08_gprs.c:182
@ GSM0808_IE_ENCRYPTION_INFORMATION
Definition: gsm_08_08.h:196
static const int tch_afs_7_4_puncture[]
Definition: gsm0503_conv.c:438
@ GA_MT_PSR_GPRS_SUSPEND_REQ
Definition: gsm_44_318.h:62
@ GSM48_CC_CAUSE_NO_CIRCUIT_CHAN
Definition: gsm_04_08.h:1673
uint8_t kc[8]
Kc for GSM encryption (A5)
Definition: auth.h:67
#define LAPDm_CTRL_S(nr, s, p)
Definition: lapdm.c:67
@ NM_ATT_SEVERITY
Definition: gsm_12_21.h:385
@ GSM0808_CAUSE_LSA_NOT_ALLOWED
Definition: gsm_08_08.h:397
bool mnc_3_digits
Definition: gsm48.h:27
@ NM_ATT_IPACC_DST_IP
Definition: gsm_12_21.h:413
struct osmo_prim_hdr oph
generic primitive header
Definition: l1sap.h:159
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:142
@ 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:651
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:850
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
struct lapdm_entity lapdm_dcch
Dedicated Control Channel.
Definition: lapdm.h:76
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:242
@ GSM411_RP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:91
@ NM_MT_ESTABLISH_TEI
Definition: gsm_12_21.h:104
bool tf
Definition: gsm_08_08.h:541
#define LAPDm_U_UI
Definition: lapdm.c:86
description of a sub-channel; passed by caller
Definition: i460_mux.h:81
@ GSM0808_LCLS_STS_NOT_POSSIBLE_LS
Definition: gsm_08_08.h:660
@ GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED
Definition: gsm_08_08.h:409
@ CBSP_IEI_CHANNEL_IND
Definition: gsm_48_049.h:40
@ OSMO_GSUP_MSGT_DELETE_DATA_REQUEST
Definition: gsup.h:154
#define GSM48_MT_CC_STATUS_ENQ
Definition: gsm_04_08.h:1423
#define GSM48_MT_GMM_PTMSI_REALL_COMPL
Definition: gsm_04_08_gprs.h:26
Definition: gsm0411_smc.c:483
const struct value_string gsm48_rr_msgtype_names[]
TS 04.08 RR Message Type names.
Definition: gsm48.c:1335
#define GSM411_MMSMS_DATA_REQ
Definition: gsm0411_smc.h:15
@ NM_ATT_HW_DESC
Definition: gsm_12_21.h:342
#define GSM48_MT_RR_DTM_REJECT
Definition: gsm_04_08.h:1279
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:262
@ T200_SACCH_TCH_SAPI3
Definition: gsm_12_21.h:654
uint32_t auth_types
bitmask of OSMO_AUTH_TYPE_*
Definition: auth.h:69
#define MDL_CAUSE_UNSOL_DM_RESP
Definition: lapd_core.h:36
@ 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:664
int lapdm_fmt
Definition: lapdm.h:22
@ NM_MT_SET_CHAN_ATTR
Definition: gsm_12_21.h:133
int type
Definition: gsm0411_smc.c:485
@ NM_MT_GET_ATTR
Definition: gsm_12_21.h:187
@ GSM0808_IE_CHANNEL_NEEDED
Definition: gsm_08_08.h:222
#define GSM48_IE_NAME_SHORT
Definition: gsm_04_08.h:1484
bool corr_needed
§3.2.2.118 Correlation-Not-Needed.
Definition: gsm0808_utils.h:68
@ GSM0808_LCLS_CSC_NA
Definition: gsm_08_08.h:654
uint8_t cause
Definition: cbsp.h:78
const uint8_t abis_nm_t200_ms[]
3GPP TS 12.21 9.4.53 T200 values (in msec)
Definition: abis_nm.c:256
Definition: lapd_core.c:2078
@ GSM48_CC_CAUSE_SERV_OPT_UNAVAIL
Definition: gsm_04_08.h:1685
#define GSM48_MT_MM_NULL
Definition: gsm_04_08.h:1387
uint8_t power_offset
Definition: gsm48_rest_octets.h:69
@ OSMO_EVT_MAJ_RSL_FAIL
Definition: gsm_12_21.h:268
@ 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:399
static int lapd_res_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1933
@ IPAC_IDTAG_SWVERSION
Definition: ipaccess.h:61
@ GSM_MNCC_BCAP_UNR_DIG
Definition: mncc.h:79
@ NM_MT_SET_BTS_ATTR_ACK
Definition: gsm_12_21.h:128
struct osmo_tdef_group * g
const struct value_string sgsap_iei_names[]
Definition: gsm29118.c:60
@ BSS_MAP_MSG_NOTIFICATION_DATA
Definition: gsm_08_08.h:173
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:1282
const u32 Te0[256]
Definition: aes-internal.c:74
uint16_t old_serial_nr
Definition: cbsp.h:187
@ GSM0808_CAUSE_DTM_HO_SGSN_FAILURE
Definition: gsm_08_08.h:391
@ NM_ATT_IPACC_IP_IF_CFG
Definition: gsm_12_21.h:423
@ GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC
Definition: gsm_08_08.h:416
gsm0808_lcls_status
Definition: gsm_08_08.h:658
int gprs_tlli_type(uint32_t tlli)
Determine GPRS TLLI Type (TS 23.003 Chapter 2.6)
Definition: gsm_utils.c:950
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP
Definition: gsm_08_08.h:406
@ 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
@ RSL_MT_REL_REQ
Definition: gsm_08_58.h:147
lapdm_format
Definition: lapdm.c:109
static const uint8_t tch_axs_sid_update_term_output[]
Definition: gsm0503_conv.c:1148
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:199
static int l2_ph_data_ind(struct msgb *msg, struct lapdm_entity *le, uint8_t chan_nr, uint8_t link_id)
Definition: lapdm.c:705
static const uint8_t tch_ahs_7_95_term_output[]
Definition: gsm0503_conv.c:836
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:658
uint8_t n_send
Definition: lapd_core.h:107
const char * name
Definition: gsm0411_smr.c:381
bool rr_cause_present
Definition: gsm0808.h:246
uint8_t proto
Definition: ipaccess.h:12
@ GSM48_REJECT_ILLEGAL_MS
Definition: gsm_04_08.h:1714
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:154
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:375
static struct msgb * create_simple_msg(enum sgsap_msg_type msg_type, const char *imsi)
Definition: gsm29118.c:239
@ NM_MT_SET_CHAN_ATTR_ACK
Definition: gsm_12_21.h:134
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:1361
#define os_malloc(x)
Definition: common.h:15
void gsm48_mcc_mnc_to_bcd(uint8_t *bcd_dst, uint16_t mcc, uint16_t mnc)
Definition: gsm48.c:1003
@ BSS_MAP_MSG_UNEQUIPPED_CIRCUIT
Definition: gsm_08_08.h:140
bool ctrl_ack_type_use_block
@ GA_MT_CSR_PAGING_REQ
Definition: gsm_44_318.h:53
char * gsm_fn_as_gsmtime_str(uint32_t fn)
Parse GSM Frame Number into printable string.
Definition: gsm_utils.c:874
void lapdm_channel_reset(struct lapdm_channel *lc)
Reset a LAPDm channel with all its entities.
Definition: lapdm.c:1495
enum lapd_mode mode
current mode of link
Definition: lapd_core.h:136
static int cbsp_enc_restart(struct msgb *msg, const struct osmo_cbsp_restart *in)
Definition: cbsp.c:362
#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:1565
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:838
static void subchan_reset(struct osmo_i460_subchan *schan, bool first_time)
Definition: i460_mux.c:321
@ GSM_MNCC_BCAP_FAX_G3
Definition: mncc.h:81
#define MAX_SMS_RETRY
Definition: gsm0411_smc.c:74
void * aes_encrypt_init(const u8 *key, size_t len)
Definition: aes-internal-enc.c:101
@ OSMO_GSUP_SUPPORTED_RAT_TYPES_IE
Definition: gsup.h:90
@ LAPD_STATE_IDLE
Definition: lapd_core.h:80
#define GSM0480_OP_CODE_NOTIFY_SS
Definition: gsm_04_80.h:75
@ NM_OC_GPRS_CELL
Definition: gsm_12_21.h:312
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:1363
struct lapd_cr_ent rem2loc
Definition: lapd_core.h:134
3GPP TS 48.008 §3.2.1.8 HANDOVER REQUEST
Definition: gsm0808.h:160
void * user_data
Definition: i460_mux.h:65
@ CBSP_IEI_CELL_LIST
Definition: gsm_48_049.h:26
@ GSM0808_IE_REROUTE_REJ_CAUSE
Definition: gsm_08_08.h:306
union osmo_cbsp_write_replace::@0 u
#define GSM48_MT_MM_LOC_UPD_REJECT
Definition: gsm_04_08.h:1367
@ GSM0808_IE_RESOURCE_INDICATION_METHOD
Definition: gsm_08_08.h:214
struct gsm341_ms_message::@24 page
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:116
gsm411_cp_state
Definition: gsm_04_11.h:10
@ GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER
Definition: gsm_08_08.h:652
#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:356
static int lapdm_rx_not_permitted(const struct lapdm_entity *le, const struct lapd_msg_ctx *lctx)
Definition: lapdm.c:672
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:619
static int gsm411_send_release(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:187
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)
static int lapd_data_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1739
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:1065
static struct osmo_auth_impl c128v1_alg
Definition: auth_comp128v1.c:43
int bitvec_set_bit(struct bitvec *bv, enum bit_value bit)
#define GSM48_MT_MM_LOC_UPD_REQUEST
Definition: gsm_04_08.h:1368
@ BSS_MAP_MSG_RESET_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:124
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:266
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:334
struct osmo_i460_schan_desc::@8 mux
@ GSM48_DTX_MAY_BE_USED
Definition: gsm_04_08.h:779
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:84
@ OSMO_GSUP_SESSION_STATE_IE
Definition: gsup.h:94
@ GSM48_CC_CAUSE_INV_NR_FORMAT
Definition: gsm_04_08.h:1669
#define GSM48_IE_CHANMODE_2
Definition: gsm_04_08.h:1530
#define GSM48_IE_CELL_CH_DESC
Definition: gsm_04_08.h:1554
uint8_t digits[3]
Definition: gsm_04_08.h:680
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:411
static const uint8_t tch_afs_7_95_output[][2]
Definition: gsm0503_conv.c:351
abis_nm_event_type
Event Type (Section 9.4.16)
Definition: gsm_12_21.h:571
@ NM_ATT_ADD_TEXT
Definition: gsm_12_21.h:322
bool call_id_present
Definition: gsm0808.h:189
@ GSM0808_IE_IMSI
Definition: gsm_08_08.h:194
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:200
@ OSMO_RAT_COUNT
Definition: gsm_utils.h:251
enum CELL_IDENT id_discr
Definition: cbsp.h:69
@ NM_ATT_IPACC_BVCI
Definition: gsm_12_21.h:443
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:1655
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:351
@ GSM48_CC_CAUSE_PRE_EMPTION
Definition: gsm_04_08.h:1666
static int parse_process_uss_data(const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:656
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:406
@ GSM48_CMODE_DATA_12k0
Definition: gsm_04_08.h:580
@ NM_ATT_SW_CONFIG
Definition: gsm_12_21.h:383
@ 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:562
static const uint8_t tch_afs_5_9_term_output[]
Definition: gsm0503_conv.c:564
#define GSM48_IE_CHANMODE_1
Definition: gsm_04_08.h:1555
@ BSS_MAP_MSG_UPLINK_RELEASE_INDICATION
Definition: gsm_08_08.h:168
uint8_t sres[4]
authentication result for GSM
Definition: auth.h:68
int n200
Definition: lapd_core.h:139
static struct fn_remap_table facch_f_remap_table
Definition: gsm0502.c:113
@ NM_MT_CHG_HW_CONF_NACK
Definition: gsm_12_21.h:180
#define GSM0480_OP_CODE_HOLD_MPTY
Definition: gsm_04_80.h:86
uint8_t sapi
Definition: lapd_core.h:101
@ OSMO_EVT_CRIT_SW_FATAL
Definition: gsm_12_21.h:262
static struct osmo_auth_impl c128v3_alg
Definition: auth_comp128v23.c:62
bool lcls_bss_status_present
Definition: gsm0808.h:260
@ NM_ATT_IPACC_LOCATION
Definition: gsm_12_21.h:427
#define MDL_CAUSE_IFRM_INC_MBITS
Definition: lapd_core.h:42
uint16_t * old_serial_nr
Definition: cbsp.h:123
@ NM_MT_STOP_MEAS
Definition: gsm_12_21.h:184
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:1742
#define ARFCN_UPLINK
Definition: gsm_utils.h:158
#define GSM48_MT_GMM_STATUS
Definition: gsm_04_08_gprs.h:33
#define GSM_RESERVED_TMSI
Definition: gsm48.h:17
const struct value_string gsm0480_comp_type_names[]
Definition: gsm0480.c:40
const struct value_string osmo_bts_features_descs[]
Definition: bts_features.c:26
@ GSM0808_IE_CSG_IDENTIFIER
Definition: gsm_08_08.h:304
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:540
@ NM_MT_STOP_TEST_NACK
Definition: gsm_12_21.h:146
@ 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:116
@ GSM48_REJECT_NETWORK_FAILURE
Definition: gsm_04_08.h:1721
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:1164
#define GSM23003_IMEI_NUM_DIGITS_NO_CHK
Definition: gsm_23_003.h:35
struct osmo_cbsp_loading_list loading_list
Definition: cbsp.h:165
@ NM_OC_BASEB_TRANSC
Definition: gsm_12_21.h:293
struct osmo_timer_list t200
T200 timer.
Definition: lapd_core.h:153
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:824
@ SGSAP_MSGT_RESET_ACK
Definition: gsm_29_118.h:27
static void _comp128_permutation(uint8_t *x, uint8_t *bits)
Definition: comp128.c:182
@ GA_MT_RC_DISCOVERY_ACCEPT
Definition: gsm_44_318.h:20
int lapd_recv_dlsap(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2137
@ CBSP_MSGT_ERROR_IND
Definition: gsm_48_049.h:71
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:126
@ GSM0808_SC_CFG_DEFAULT_AMR_6_70
Definition: gsm_08_08.h:576
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:805
@ GSM48_CC_CAUSE_USER_NOTRESPOND
Definition: gsm_04_08.h:1662
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:32
@ NM_MT_REST_EVENT_REP_ACK
Definition: gsm_12_21.h:154
osmo_auth_algo
Authentication Algorithm.
Definition: auth.h:28
#define MDL_CAUSE_SABM_MF
Definition: lapd_core.h:45
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:180
@ GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP
Definition: gsm_08_08.h:317
@ GMM_CAUSE_CONGESTION
Definition: gsm_04_08_gprs.h:224
@ NM_ATT_FILE_VERSION
Definition: gsm_12_21.h:338
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:579
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:134
#define PUTU32(ct, st)
Definition: aes_i.h:115
@ OSMO_GSUP_NUM_VECTORS_REQ_IE
Definition: gsup.h:110
uint16_t cause
Definition: gsm0808.h:133
@ 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:73
void osmo_i460_mux_enqueue(struct osmo_i460_subchan *schan, struct msgb *msg)
enqueue a to-be-transmitted message buffer containing unpacked bits
Definition: i460_mux.c:166
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST
Definition: gsup.h:140
#define ALL_STATES
Definition: gsm_04_08.h:1813
Definition: gsm48_rest_octets.h:60
static void lapd_t203_cb(void *data)
Definition: lapd_core.c:715
int gsm48_encode_keypad(struct msgb *msg, int keypad)
Encode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:722
#define GSM48_IE_NET_TIME_TZ
Definition: gsm_04_08.h:1486
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:862
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:51
uint8_t bts_nr
BTS Number.
Definition: gsm_12_21.h:68
@ NM_MT_SET_BTS_ATTR_NACK
Definition: gsm_12_21.h:129
#define GSM48_IE_CIP_MODE_SET
Definition: gsm_04_08.h:1570
@ GSM411_RPS_WAIT_TO_TX_RP_ACK
Definition: gsm_04_11.h:21
Definition: gsm_utils.h:44
#define CHANNEL_TYPE_ELEMENT_MAXLEN
Definition: gsm0808_utils.c:38
gsm_band
Definition: gsm_utils.h:52
@ 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:508
union osmo_phsap_prim::@14 u
request-specific data
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:84
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:1000
@ RSL_MT_SUSP_REQ
Definition: gsm_08_58.h:152
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:677
@ GSM0808_CAUSE_CLASS_NORM0
Definition: gsm_08_08.h:424
@ 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
#define SBIT(a)
Definition: lapd_core.c:109
int osmo_lai_cmp(const struct osmo_location_area_id *a, const struct osmo_location_area_id *b)
Definition: gsm23003.c:475
write Write running configuration to or terminal n Write configuration to the copy running config startup config
@ GSM0808_IE_ASSIGNMENT_REQUIREMENT
Definition: gsm_08_08.h:238
static int rslms_sendmsg(struct msgb *msg, struct lapdm_entity *le)
Definition: lapdm.c:344
#define OSMO_EARFCN_INVALID
Definition: sysinfo.h:11
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:125
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:474
static int osmo_i460_subchan_count(struct osmo_i460_timeslot *ts)
Definition: i460_mux.c:32
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:159
#define TLVP_PRES_LEN(tp, tag, min_len)
Definition: tlv.h:515
struct msgb * gsm29118_create_eps_det_ack(const char *imsi)
Definition: gsm29118.c:271
int seq_err_cond
condition of sequence error
Definition: lapd_core.h:148
uint8_t prio_acc_thr
Definition: gsm48_rest_octets.h:120
struct osmo_cbsp_write_replace_failure write_replace_fail
Definition: cbsp.h:255
@ GSM0808_IE_LCLS_BREAK_REQ
Definition: gsm_08_08.h:314
int osmo_gsm48_range_enc_256(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:275
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:183
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:137
union gsm0808_cell_id_u id_list[GSM0808_CELL_ID_LIST2_MAXLEN]
Definition: gsm0808_utils.h:58
@ BSS_MAP_MSG_CLEAR_RQST
Definition: gsm_08_08.h:100
uint8_t ta_ind
Definition: lapdm.h:25
unsigned int perm_spch_len
Definition: gsm_08_08.h:610
@ OSMO_GSUP_CAUSE_IE
Definition: gsup.h:66
static struct msgb * msgb_alloc_headroom(int size, int headroom, const char *name)
void lapd_dl_exit(struct lapd_datalink *dl)
Definition: lapd_core.c:361
#define GSM48_MT_GMM_AUTH_CIPH_FAIL
Definition: gsm_04_08_gprs.h:30
static const uint8_t tch_afs_6_7_state[][2]
Definition: gsm0503_conv.c:461
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:560
#define GSM48_IE_CHDES_2_AFTER
Definition: gsm_04_08.h:1556
@ NM_ATT_IPACC_SEC_POSSIBLE
Definition: gsm_12_21.h:459
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:77
@ GSM48_REJECT_ROAMING_NOT_ALLOWED
Definition: gsm_04_08.h:1720
#define SMRDOWNSLLEN
Definition: gsm0411_smr.c:396
@ GSM0808_IE_TALKER_FLAG
Definition: gsm_08_08.h:239
@ GSM0808_IE_LAYER_3_INFORMATION
Definition: gsm_08_08.h:209
@ GSM0808_PERM_FR2
GSM EFR.
Definition: gsm_08_08.h:483
@ NM_ATT_IPACC_NSVCI
Definition: gsm_12_21.h:444
char * gsm0808_channel_type_name_buf(char *buf, size_t buf_len, const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:1963
#define GSM0480_OP_CODE_PROCESS_USS_REQ
Definition: gsm_04_80.h:80
#define GSM48_MT_RR_NOTIF_NCH
Definition: gsm_04_08.h:1311
@ OSMO_GSUP_HLR_NUMBER_IE
Definition: gsup.h:73
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:509
static const char * gsm0808_lcls_config_name(enum gsm0808_lcls_config val)
Definition: gsm0808.h:332
@ RSL_MT_DATA_IND
Definition: gsm_08_58.h:142
int type
Definition: mncc.h:34
enum cbsp_cell_id_cause cause
Definition: cbsp.h:241
@ NM_MT_BS11_DELETE_OBJ_NACK
Definition: gsm_12_21.h:210
#define GSM48_IE_FRQSHORT_AFTER
Definition: gsm_04_08.h:1526
@ GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED
Definition: gsm_08_08.h:377
void osmo_c4(uint8_t *ck, const uint8_t *kc)
Definition: auth_core.c:114
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:538
int gprs_cipher_register(struct gprs_cipher_impl *ciph)
Definition: gprs_cipher_core.c:55
@ LAPD_MODE_USER
behave like user
Definition: lapd_core.h:70
@ IPAC_PROTO_IPACCESS
Definition: ipaccess.h:23
@ NM_MT_ESTABLISH_TEI_ACK
Definition: gsm_12_21.h:105
@ LAPD_FORM_UKN
Definition: lapd_core.h:89
@ GSM48_CC_CAUSE_UNASSIGNED_NR
Definition: gsm_04_08.h:1656
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:912
enum osmo_auth_algo algo
algorithm we implement
Definition: auth.h:75
char * abis_nm_dump_foh_buf(char *buf, size_t buf_len, const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:932
uint8_t * meas_bw
Definition: sysinfo.h:53
#define LAPDm_CTRL_is_S(ctrl)
Definition: lapdm.c:71
uint8_t tx_power_ind
Definition: lapdm.h:26
uint8_t format
Definition: lapd_core.h:105
static int32_t smod(int32_t n, int32_t m)
Definition: gsm48_ie.c:852
@ GSM48_DTX_SHALL_NOT_BE_USED
Definition: gsm_04_08.h:781
uint8_t s_u
Definition: lapd_core.h:109
@ NM_MT_BS11_END_DB_TX_NACK
Definition: gsm_12_21.h:204
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:98
static int milenage_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Definition: auth_milenage.c:49
const struct value_string gsm0808_chosen_enc_alg_names[]
Definition: gsm0808.c:1624
@ GSM48_RR_CAUSE_PREMPTIVE_REL
Definition: gsm_04_08.h:1640
uint16_t old_serial_nr
Definition: cbsp.h:141
@ BTS_FEAT_SPEECH_H_AMR
Definition: bts_features.h:25
void lapdm_channel_exit(struct lapdm_channel *lc)
Definition: lapdm.c:309
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:241
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:114
@ OSMO_GSUP_RAND_IE
Definition: gsup.h:80
#define BSSMAP_MSG_HEADROOM
Definition: gsm0808.h:34
#define GSM48_IE_CLASSMARK3
Definition: gsm_04_08.h:1550
uint8_t user_len
Definition: cbsp.h:36
@ GSM0808_PERM_HR6
OHR AMR.
Definition: gsm_08_08.h:491
@ NM_ATT_GET_ARI
Definition: gsm_12_21.h:386
static int set_lapdm_context(struct lapdm_datalink *dl, uint8_t chan_nr, uint8_t link_id, int n201, uint8_t sapi)
Definition: lapdm.c:962
static int milenage_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)
Definition: auth_milenage.c:147
@ CBSP_MSGT_KILL_COMPL
Definition: gsm_48_049.h:55
bool old_bss_to_new_bss_info_present
Pass either old_bss_to_new_bss_info or old_bss_to_new_bss_info_raw.
Definition: gsm0808.h:176
enum gsm0808_permitted_speech speech_version_used
Definition: gsm0808.h:140
@ NM_MT_REST_EVENT_REP
Definition: gsm_12_21.h:153
gsm0808_cause_class
Definition: gsm_08_08.h:423
@ GSM411_RP_CAUSE_INV_MAND_INF
Definition: gsm_04_11.h:88
enum cbsp_msg_type msg_type
Definition: cbsp.h:251
struct osmo_cbsp_write_replace_complete write_replace_compl
Definition: cbsp.h:254
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:763
struct llist_head tx_queue
frames to L1
Definition: lapd_core.h:156
@ SGSAP_MSGT_RELEASE_REQ
Definition: gsm_29_118.h:32
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:1243
const uint8_t * data
Definition: gsup.h:297
unsigned int cycle
Definition: gsm0502.c:103
#define DEBUGPC(ss, fmt, args...)
enum gsm0808_cause cause
Definition: gsm0808.h:166
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:1040
@ OSMO_GSM48_ARFCN_RANGE_512
Definition: gsm48_arfcn_range_encode.h:11
static const struct value_string gsm0808_msgt_names[]
Definition: gsm0808.c:1478
@ GMM_CAUSE_MSC_TEMP_NOTREACH
Definition: gsm_04_08_gprs.h:220
#define GSM23003_IMEISV_NUM_DIGITS
Definition: gsm_23_003.h:32
static const int tch_ahs_4_75_puncture[]
Definition: gsm0503_conv.c:1105
@ GSM48_REJECT_INF_ELEME_NOT_IMPLEMENTED
Definition: gsm_04_08.h:1732
@ RSL_IE_REQ_REFERENCE
Definition: gsm_08_58.h:288
struct lapdm_msg_ctx mctx
context of established connection
Definition: lapdm.h:32
@ OSMO_GSUP_SMS_SM_RP_ODA_IMSI
Definition: gsup_sms.h:18
@ GSM0808_SC_CFG_AMR_7_40
Definition: gsm_08_08.h:591
@ 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:125
#define GSM48_MT_CC_FACILITY
Definition: gsm_04_08.h:1429
uint8_t acc_delay
Delay in bit periods.
Definition: l1sap.h:63
@ GSM48_CC_CAUSE_DEST_OOO
Definition: gsm_04_08.h:1668
uint32_t call_id
Definition: gsm0808.h:190
@ OSMO_GSUP_SESSION_STATE_END
Indication of the session end.
Definition: gsup.h:247
struct lapd_cr_ent loc2rem
filled-in once we set the lapd_mode above
Definition: lapd_core.h:133
@ CBSP_MSGT_KEEP_ALIVE
Definition: gsm_48_049.h:72
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:714
#define GSM48_MT_GMM_PTMSI_REALL_CMD
Definition: gsm_04_08_gprs.h:25
@ LAPD_STATE_ASS_TEI_WAIT
Definition: lapd_core.h:78
@ GSM0808_ALG_ID_A5_7
Definition: gsm_08_08.h:525
Definition: gsm0411_smc.h:29
@ NM_NACK_RES_NOTIMPL
Definition: gsm_12_21.h:617
static uint8_t msgb_pull_u8(struct msgb *msgb)
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:771
#define TLVP_LEN(x, y)
Definition: tlv.h:512
void * l3_ctx
context for layer3 instance
Definition: lapdm.h:59
@ GSM0808_IE_APP_DATA_INFO
Definition: gsm_08_08.h:295
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:662
@ OSMO_GSUP_CN_DOMAIN_IE
Definition: gsup.h:89
#define N201_Bbis
Definition: lapdm.c:92
struct osmo_gsm48_si_vbs_vgcs_options vbs_vgcs_options
Definition: gsm48_rest_octets.h:50
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:470
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:1372
uint8_t msg[0]
Definition: gsm_08_08.h:8
@ PRIM_DL_UNIT_DATA
DL-UNIT-DATA.
Definition: lapd_core.h:22
@ SGSAP_SGS_CAUSE_COND_IE_ERROR
Definition: gsm_29_118.h:136
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:197
@ GSM48_CC_CAUSE_REQ_FAC_NOTIMPL
Definition: gsm_04_08.h:1688
@ 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:311
@ NM_MT_OPSTART_ACK
Definition: gsm_12_21.h:170
size_t sm_rp_oa_len
Definition: gsup.h:343
#define GPRS_ATT_T_ATT_WHILE_IMSI
Definition: gsm_04_08_gprs.h:53
#define llist_for_each_entry_safe(pos, n, head, member)
@ NM_ATT_OUTST_ALARM
Definition: gsm_12_21.h:388
@ GSM0808_CAUSE_BSS_NOT_EQUIPPED
Definition: gsm_08_08.h:386
static int mod(int data, int range)
Definition: gsm48_arfcn_range_encode.c:42
int lapd_set_mode(struct lapd_datalink *dl, enum lapd_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapd_core.c:377
void gsm_fn2gsmtime(struct gsm_time *time, uint32_t fn)
Parse GSM Frame Number into struct gsm_time.
Definition: gsm_utils.c:862
@ IPAC_MSGT_PING
Definition: ipaccess.h:45
uint16_t * msg_id
Definition: cbsp.h:242
@ BTS_FEAT_OML_ALERTS
Definition: bts_features.h:18
@ GSM48_CC_CAUSE_BEARER_CAP_UNAUTH
Definition: gsm_04_08.h:1683
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:973
@ GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL
Definition: gsm_08_08.h:428
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)
Generate authentication vector and re-sync sequence.
Definition: auth_core.c:190
uint8_t bcast_msg_type
Definition: cbsp.h:236
uint16_t lac
Definition: gsm23003.h:45
@ GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID
Definition: gsm_08_08.h:321
#define IP_V6_ADDR_LEN
Definition: gsm0808_utils.c:35
uint8_t bit_offset
Definition: i460_mux.h:71
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:152
@ GSM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:268
@ BSS_MAP_MSG_COMMON_ID
Definition: gsm_08_08.h:114
uint8_t res_len
length (in bytes) of res
Definition: auth.h:66
@ NM_ATT_HW_CONF_CHG
Definition: gsm_12_21.h:387
#define GSM48_IE_SYNC_IND
Definition: gsm_04_08.h:1572
@ NM_ATT_IPACC_SNMP_CFG
Definition: gsm_12_21.h:433
uint8_t trx_nr
TRX Number.
Definition: gsm_12_21.h:69
@ GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY
Definition: gsm_08_08.h:419
uint8_t ts_nr
Timeslot Number.
Definition: gsm_12_21.h:70
int gsm48_encode_notify(struct msgb *msg, int notify)
Encode TS 04.08 Notify IE (10.5.4.20)
Definition: gsm48_ie.c:685
@ NM_OC_BS11_PWR_CTRL
Definition: gsm_12_21.h:303
#define GSM48_MT_GMM_ID_REQ
Definition: gsm_04_08_gprs.h:31
static const int tch_afs_5_9_puncture[]
Definition: gsm0503_conv.c:573
static int gsm411_mmsms_est_cnf(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:208
void aes_encrypt_deinit(void *ctx)
Definition: aes-internal-enc.c:120
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:193
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:1151
@ TLV_TYPE_FIXED
fixed-length value-only
Definition: tlv.h:465
@ NM_CHANC_SDCCH
Definition: gsm_12_21.h:552
static void lapd_dl_newstate(struct lapd_datalink *dl, uint32_t state)
Definition: lapd_core.c:236
uint32_t states
Definition: gsm0411_smc.c:484
@ GSM_BAND_810
Definition: gsm_utils.h:60
@ NM_ATT_IPACC_TIMING_BUS
Definition: gsm_12_21.h:437
#define GSM48_IE_GROUP_CHDES
Definition: gsm_04_08.h:1561
static int lapd_send_rnr(struct lapd_msg_ctx *lctx, uint8_t f_bit, uint8_t cmd)
Definition: lapd_core.c:500
Definition: gsm48_rest_octets.h:87
#define A5_R2_LEN
Definition: a5.c:106
Definition: gsm_04_08.h:428
@ GSM0808_IE_SNA_ACCESS_INFO
Definition: gsm_08_08.h:272
int lapdm_phsap_dequeue_prim(struct lapdm_entity *le, struct osmo_phsap_prim *pp)
dequeue a msg that's pending transmission via L1 and wrap it into a osmo_phsap_prim
Definition: lapdm.c:423
#define GSM411_MT_RP_DATA_MT
Definition: gsm_04_11.h:53
uint16_t len
length
Definition: tlv.h:458
int osmo_gsm48_range_enc_128(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:266
#define GSM48_MT_RR_PAG_REQ_1
Definition: gsm_04_08.h:1307
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a Message buffers
Definition: tlv.h:366
@ GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_UMTS
Definition: gsm_08_08.h:264
static const uint8_t tch_afs_12_2_term_state[]
Definition: gsm0503_conv.c:235
#define GSM48_IE_CHANMODE_5
Definition: gsm_04_08.h:1535
struct osmo_prim_hdr oph
generic primitive header
Definition: lapd_core.h:61
static void demux_subchan_append_bit(struct osmo_i460_subchan *schan, uint8_t bit)
Definition: i460_mux.c:61
void osmo_nri_ranges_free(struct osmo_nri_ranges *nri_ranges)
Free a struct osmo_nri_ranges.
Definition: gsm23236.c:271
#define N200_TR_FACCH_HR
Definition: lapdm.c:105
void lapd_dl_reset(struct lapd_datalink *dl)
Definition: lapd_core.c:340
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:600
@ GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL
Definition: gsm_08_08.h:371
static void osmo_talloc_replace_string(void *ctx, char **dst, const char *newstr)
@ OSMO_GSUP_CURRENT_RAT_TYPE_IE
Definition: gsup.h:91
uint8_t osmo_enc_gcr(struct msgb *msg, const struct osmo_gcr_parsed *g) OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE
Create Global Call Reference.
Definition: gsm29205.c:44
@ SGSAP_MSGT_IMSI_DET_ACK
Definition: gsm_29_118.h:25
uint8_t * out_bitbuf
bit-buffer for output bits
Definition: i460_mux.h:48
uint16_t arfcn_first
Definition: gsm_utils.c:779
#define GSM48_IE_LOWL_COMPAT
Definition: gsm_04_08.h:1508
@ GSM411_CP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:47
#define GSM48_IE_REDIR_BCD
Definition: gsm_04_08.h:1506
#define GSM48_MT_CC_STATUS
Definition: gsm_04_08.h:1422
@ GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE
Definition: gsm_08_08.h:287
int gsm0808_cell_id_size(enum CELL_IDENT discr)
Definition: gsm0808_utils.c:771
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:995
@ GA_MT_CSR_PAGING_RESP
Definition: gsm_44_318.h:54
#define GSM48_MT_RR_PDCH_ASS_CMD
Definition: gsm_04_08.h:1301
Definition: gsm48_rest_octets.h:48
#define GSM414_MT_CLOSE_MSLOT_LOOP_ACK
Definition: gsm_04_14.h:38
#define GSM_MI_TYPE_TMSI
Definition: gsm_04_08.h:1479
@ TLLI_G_RNTI
Definition: gsm_utils.h:191
const struct osmo_conv_code gsm0503_tch_ahs_7_95
TCH/AHS 7.95 kbits convolutional code.
Definition: gsm0503_conv.c:854
uint8_t where
Definition: gsm48_rest_octets.h:93
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:277
@ OSMO_EVT_MIN_PAG_TAB_FULL
Definition: gsm_12_21.h:272
#define GSM48_MT_MM_AUTH_REQ
Definition: gsm_04_08.h:1371
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:1004
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
const struct sockaddr_storage * aoip_transport_layer
Definition: gsm0808.h:185
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:353
const uint8_t * auts
Definition: gsup.h:317
unsigned int flags
Definition: lapdm.h:56
static int tx_ph_data_enqueue(struct lapdm_datalink *dl, struct msgb *msg, uint8_t chan_nr, uint8_t link_id, uint8_t pad)
Definition: lapdm.c:356
static int rslms_rx_rll(struct msgb *msg, struct lapdm_channel *lc)
Definition: lapdm.c:1273
static const uint8_t tch_afs_5_15_output[][2]
Definition: gsm0503_conv.c:609
@ GA_MT_RC_DEREGISTER
Definition: gsm_44_318.h:27
@ GSM0808_IE_LSA_INFORMATION
Definition: gsm_08_08.h:247
@ GA_PDISC_PSR
Definition: gsm_44_318.h:13
@ GSM0808_FE_IE_CURRENT_CHANNEL_TYPE_2
Definition: gsm_08_08.h:336
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:171
#define OSMO_GCR_MIN_LEN
Definition: gsm29205.h:30
@ NM_MT_PERF_TEST_NACK
Definition: gsm_12_21.h:139
@ SGSAP_ID_EPS_T_UE_INITIATED
Definition: gsm_29_118.h:96
@ GSM411_CP_CAUSE_SEMANT_INC_MSG
Definition: gsm_04_11.h:43
@ FN_REMAP_FACCH_H0
Definition: gsm0502.h:68
@ GSM48_CC_CAUSE_MSGTYPE_INCOMPAT
Definition: gsm_04_08.h:1698
static uint8_t * msgb_tv16_put(struct msgb *msg, uint8_t tag, uint16_t val)
put (append) a TV16 field to a Message buffers
Definition: tlv.h:386
void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf)
Parse TS 04.08 Routing Area Identifier.
Definition: gsm48.c:1243
@ GSM_CAUSE_UNKNOWN_PDP
Definition: gsm_04_08_gprs.h:248
@ NM_OC_BTS
Definition: gsm_12_21.h:290
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:590
const char * gsm_band_name(enum gsm_band band)
Return string name of a given GSM Band.
Definition: gsm_utils.c:667
#define LAPD_S_RR
Definition: lapd_core.c:97
#define A5_R4_TAPS
Definition: a5.c:118
#define LAPD_U_DM
Definition: lapd_core.c:91
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:359
@ BSS_MAP_MSG_RESOURCE_RQST
Definition: gsm_08_08.h:145
Definition: gsm48_rest_octets.h:73
const uint8_t * imei_enc
Definition: gsup.h:355
@ BSS_MAP_MSG_BSS_INVOKE_TRACE
Definition: gsm_08_08.h:126
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:466
@ GSM411_CP_CAUSE_NET_FAIL
Definition: gsm_04_11.h:40
struct osmo_cbsp_reset_failure reset_fail
Definition: cbsp.h:273
static int cbsp_enc_keep_alive_compl(struct msgb *msg, const struct osmo_cbsp_keep_alive_complete *in)
Definition: cbsp.c:356
@ GSM_LCHAN_TCH_H
Definition: gsm_utils.h:222
@ GSM0808_CAUSE_CLASS_INVAL
Definition: gsm_08_08.h:429
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:397
@ OSMO_GSUP_SMS_SM_RP_ODA_NONE
Definition: gsup_sms.h:17
@ GSM48_CC_CAUSE_INCOMPAT_DEST
Definition: gsm_04_08.h:1693
@ NM_ATT_INTERF_BOUND
Definition: gsm_12_21.h:344
@ NM_ATT_ADM_STATE
Definition: gsm_12_21.h:323
#define GSM48_IE_REV_C_SETUP
Definition: gsm_04_08.h:1515
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:429
@ NM_ATT_CHAN_COMB
Definition: gsm_12_21.h:332
@ GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT
Definition: gsm_04_08.h:1648
#define GSM48_PDISC_MASK
Definition: gsm_04_08.h:1175
@ GSM48_CMSERV_LOC_SERV
Definition: gsm_04_08.h:1448
@ SGSAP_MSGT_LOC_UPD_REJ
Definition: gsm_29_118.h:16
struct msgb * lapd_msgb_alloc(int length, const char *name)
Definition: lapd_core.c:119
@ NM_ATT_LDAVG_SLOTS
Definition: gsm_12_21.h:362
uint8_t chosen_encr_alg
Definition: gsm0808.h:255
static const uint8_t * gen_opc_if_needed(const struct osmo_sub_auth_data *aud, uint8_t *gen_opc)
Definition: auth_milenage.c:35
@ GSM_PCHAN_TCH_F
Definition: gsm_utils.h:205
#define A5_R2_MASK
Definition: a5.c:111
uint8_t rac
Definition: gsm48_rest_octets.h:39
#define MDL_CAUSE_FRM_UNIMPL
Definition: lapd_core.h:44
@ CBSP_MSGT_KILL_FAIL
Definition: gsm_48_049.h:56
@ GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE
Definition: gsm_08_08.h:382
static const uint8_t tch_afs_10_2_term_state[]
Definition: gsm0503_conv.c:285
#define GSM48_IE_SIGNAL
Definition: gsm_04_08.h:1499
struct osmo_location_area_id lai
Definition: gsm23003.h:29
#define CELL_ID_LIST_LAC_MAXLEN
Definition: gsm_08_08.h:623
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:1733
@ GSM411_RP_CAUSE_MO_INTERWORKING
Definition: gsm_04_11.h:82
struct llist_head list
Definition: cbsp.h:70
@ NM_MT_LOAD_END
Definition: gsm_12_21.h:93
#define GSM414_MT_RESET_MS_POS_STORED
Definition: gsm_04_14.h:94
@ TLV_TYPE_T
tag-only
Definition: tlv.h:466
@ NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH
Definition: gsm_12_21.h:567
@ IPAC_MSGT_ID_ACK
Definition: ipaccess.h:49
struct gsm48_classmark2 classmark2
Definition: gsm_04_08.h:65
static int update_pending_frames(struct lapd_msg_ctx *lctx)
Definition: lapdm.c:652
@ GA_MT_RC_REGISTER_ACCEPT
Definition: gsm_44_318.h:24
#define GSM48_IE_REDIR_SUB
Definition: gsm_04_08.h:1507
@ OSMO_GSUP_SM_RP_CAUSE_IE
Definition: gsup.h:104
#define GSM48_MT_CC_RETR_ACK
Definition: gsm_04_08.h:1413
#define MDL_CAUSE_T200_EXPIRED
Definition: lapd_core.h:33
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:357
size_t new_bss_to_old_bss_info_raw_len
Definition: gsm0808.h:235
int maxf
maximum frame size (after defragmentation)
Definition: lapd_core.h:141
#define GSM48_MT_RR_INIT_REQ
Definition: gsm_04_08.h:1273
struct osmo_gsm48_classmark classmark_information
Definition: gsm0808.h:163
@ GSM0808_IE_LCLS_CORR_NOT_NEEDED
Definition: gsm_08_08.h:312
#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_IE_CELL_ID_LIST_SEG_NE_CELLS
Definition: gsm_08_08.h:289
uint16_t freq_ul_first
Definition: gsm_utils.c:781
@ GSM0808_LCLS_CSC_RELEASE_LCLS
Definition: gsm_08_08.h:651
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:1160
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:385
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:227
@ NM_MT_SET_RADIO_ATTR
Definition: gsm_12_21.h:130
Definition: gsm0411_smc.c:422
@ OSMO_GSUP_AUTS_IE
Definition: gsup.h:87
@ RSL_MT_REL_IND
Definition: gsm_08_58.h:149
@ NM_CHANC_IPAC_TCHFull_PDCH
Definition: gsm_12_21.h:564
int lapdm_rslms_recvmsg(struct msgb *msg, struct lapdm_channel *lc)
Receive a RSLms Message buffers from Layer 3.
Definition: lapdm.c:1398
#define INIT_LLIST_HEAD(ptr)
bool present
Definition: gsm48_rest_octets.h:38
@ BTS_FEAT_HOPPING
Definition: bts_features.h:16
bool pi
Definition: gsm_08_08.h:539
@ NM_MT_CONN_TERR_SIGN_NACK
Definition: gsm_12_21.h:109
uint16_t * old_serial_nr
Definition: cbsp.h:113
void abis_nm_debugp_foh(int ss, struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:959
const u8 Td4s[256]
Definition: aes-internal.c:745
@ NM_MT_SW_ACTIVATED_REP
Definition: gsm_12_21.h:102
@ GSM_LCHAN_CBCH
Definition: gsm_utils.h:226
#define GSM48_MT_RR_SYSINFO_5bis
Definition: gsm_04_08.h:1332
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:179
#define SI2Q_MAX_LEN
Definition: gsm48_rest_octets.h:11
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:1030
@ SGSAP_UE_EMM_MODE_IDLE
Definition: gsm_29_118.h:149
@ GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP
Definition: gsm_08_08.h:408
@ GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS
Definition: gsm_08_08.h:405
@ GSM0808_PERM_FR5
FR AMR-WB.
Definition: gsm_08_08.h:486
@ SGSAP_MSGT_PAGING_REJ
Definition: gsm_29_118.h:9
#define GSM48_MT_RR_CLSM_CHG
Definition: gsm_04_08.h:1349
@ PRIM_MPH_INFO
MPH-INFO.
Definition: l1sap.h:14
void comp128v1(const uint8_t *ki, const uint8_t *srand, uint8_t *sres, uint8_t *kc)
Perform COMP128v1 algorithm.
Definition: comp128.c:196
#define GSM48_MT_RR_SYSINFO_17
Definition: gsm_04_08.h:1338
@ T200_FACCH_H
Definition: gsm_12_21.h:650
gsm411_rp_state
Definition: gsm_04_11.h:18
enum osmo_gsup_imei_result imei_result
Definition: gsup.h:357
int ipa_send(int fd, const void *msg, size_t msglen)
Definition: ipa.c:427
static const uint8_t tch_afs_10_2_term_output[]
Definition: gsm0503_conv.c:290
uint16_t ra
Random Access.
Definition: l1sap.h:62
@ BSS_MAP_MSG_CIPHER_MODE_COMPLETE
Definition: gsm_08_08.h:150
static void append_selection_params(struct bitvec *bv, const struct osmo_gsm48_si_selection_params *sp)
Definition: gsm48_rest_octets.c:502
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:84
uint8_t msg_type
Definition: gsm_04_11.h:106
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:55
@ GSM48_REJECT_MSG_TYPE_NOT_COMPATIBLE
Definition: gsm_04_08.h:1731
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:353
#define GSM48_MT_GMM_RA_UPD_REQ
Definition: gsm_04_08_gprs.h:20
static bool osmo_i460_has_single_64k_schan(struct osmo_i460_timeslot *ts)
Definition: i460_mux.c:45
struct msgb * gsm0808_create_clear_complete(void)
Create BSSMAP Clear Complete message.
Definition: gsm0808.c:173
@ NM_MT_ACTIVATE_SW_ACK
Definition: gsm_12_21.h:100
int osmo_mnc_from_str(const char *mnc_str, uint16_t *mnc, bool *mnc_3_digits)
Definition: gsm23003.c:407
@ GSM48_RR_CAUSE_FREQ_NOT_IMPL
Definition: gsm_04_08.h:1643
@ 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:981
uint8_t chosen_encryption_algorithm_serving
Definition: gsm0808.h:173
LCLS-related parameters from 3GPP TS 48.008.
Definition: gsm0808_utils.h:63
uint8_t u8
Definition: common.h:18
@ NM_ATT_MEAS_RES
Definition: gsm_12_21.h:390
bool si2quater_indicator
Definition: gsm48_rest_octets.h:99
#define GSM48_MT_RR_SYSINFO_2quater
Definition: gsm_04_08.h:1331
@ GSM_BAND_480
Definition: gsm_utils.h:58
const char * osmo_gummei_name(const struct osmo_gummei *gummei)
Return string representation of GUMMEI in static output buffer.
Definition: gsm23003.c:321
@ NM_IPACC_TESTNO_FREQ_SYNC
Definition: gsm_12_21.h:719
uint8_t data[82]
Definition: cbsp.h:37
int gsm48_generate_mid_from_tmsi(uint8_t *buf, uint32_t tmsi)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:1133
bool early_cm_restrict_3g
Definition: gsm48_rest_octets.h:98
#define A52_R4_CLKBIT1
Definition: a5.c:276
const char * gsm0808_cause_class_name(enum gsm0808_cause_class class)
Return string name of BSSMAP Cause Class name.
Definition: gsm0808.c:1716
int type
Definition: gsm0411_smr.c:380
Definition: gsm_08_08.h:606
#define container_of(ptr, type, member)
struct osmo_cbsp_msg_status_query msg_status_query
Definition: cbsp.h:265
@ OSMO_GSUP_SESSION_ID_IE
Definition: gsup.h:93
@ GSM48_CC_CAUSE_SEMANTIC_INCORR
Definition: gsm_04_08.h:1695
#define GSM48_MT_RR_FREQ_REDEF
Definition: gsm_04_08.h:1347
@ GSM_PCHAN_CCCH
Definition: gsm_utils.h:203
#define GSM48_MT_CC_CONNECT
Definition: gsm_04_08.h:1395
#define GSM48_MT_RR_CHAN_REL
Definition: gsm_04_08.h:1303
@ 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:377
@ CBSP_MSGT_RESET_FAIL
Definition: gsm_48_049.h:68
@ GSM48_CC_CAUSE_NO_ROUTE
Definition: gsm_04_08.h:1657
#define GSM48_MT_RR_HANDO_FAIL
Definition: gsm_04_08.h:1295
Definition: i460_mux.h:46
const uint8_t * qos_enc
QoS information, still in encoded form.
Definition: gsup.h:268
const struct value_string abis_nm_msg_disc_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:598
@ NM_EVT_ENV_FAIL
Definition: gsm_12_21.h:576
@ OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST
Definition: gsup.h:174
@ GSM0808_PERM_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:485
out_cb_bytes_t out_cb_bytes
out_cb_bytes call-back function called whenever we received num_bits.
Definition: i460_mux.h:95
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:588
@ GSM_CAUSE_MISSING_APN
Definition: gsm_04_08_gprs.h:247
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:1183
static enum abis_nm_chan_comb chcomb4pchan[]
Definition: abis_nm.c:690
uint8_t obj_class
Object Class (abis_nm_obj_class)
Definition: gsm_12_21.h:76
#define GSM48_MT_RR_SYSINFO_1
Definition: gsm_04_08.h:1321
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:572
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:390
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:441
@ 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
struct osmo_timer_list t203
T203 timer.
Definition: lapd_core.h:154
@ IPAC_IDTAG_EQUIPVERS
Definition: ipaccess.h:60
@ GMM_CAUSE_IMEI_NOT_ACCEPTED
Definition: gsm_04_08_gprs.h:209
unsigned int out_bitbuf_size
size of out_bitbuf in bytes
Definition: i460_mux.h:50
@ GSM0808_IE_CIRCUIT_POOL
Definition: gsm_08_08.h:231
static int cbsp_enc_error_ind(struct msgb *msg, const struct osmo_cbsp_error_ind *in)
Definition: cbsp.c:379
static uint8_t sub_mod(uint8_t x, uint8_t y, uint8_t m)
Definition: lapd_core.c:142
@ GSM0808_SCT_CSD
CSData (see also TS 26.103)
Definition: gsm_08_08.h:509
struct osmo_cbsp_load_query load_query
Definition: cbsp.h:261
static uint8_t * msgb_tv16_push(struct msgb *msg, uint8_t tag, uint16_t val)
push (prepend) a TV16 field to a Message buffers
Definition: tlv.h:418
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:248
size_t pdp_charg_enc_len
length (in octets) of pdp_charg_enc
Definition: gsup.h:275
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:94
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
@ NM_MT_CONN_TERR_TRAF_ACK
Definition: gsm_12_21.h:114
@ NM_ATT_PROB_CAUSE
Definition: gsm_12_21.h:360
bool present
Definition: gsm48_rest_octets.h:23
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RQST
Definition: gsm_08_08.h:161
uint8_t rr_cause
Definition: gsm0808.h:272
@ NM_ATT_WINDOW_SIZE
Definition: gsm_12_21.h:376
Definition: gsm_04_11.h:104
@ GPRS_SERVICE_T_PAGING_RESP
Definition: gsm_04_08_gprs.h:414
static const uint8_t tch_ahs_7_95_output[][2]
Definition: gsm0503_conv.c:824
@ SGSAP_IE_LCS_INDICATOR
Definition: gsm_29_118.h:66
size_t num_bits
Definition: i460_mux.h:86
static int f0_helper(int *sc, size_t length, uint8_t *chan_list)
Definition: gsm48_rest_octets.c:273
const uint8_t * l3_info
Definition: gsm0808.h:205
struct gsm48_req_ref req_ref
Definition: gsm_04_08.h:5
@ PRIM_PH_RTS
PH-RTS.
Definition: l1sap.h:13
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:196
struct msgb * gsm0480_create_ussd_notify(int level, const char *text)
Definition: gsm0480.c:904
@ GA_MT_CSR_CHAN_MODE_MOD
Definition: gsm_44_318.h:39
#define GSM48_MT_RR_VGCS_UPL_GRANT
Definition: gsm_04_08.h:1356
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
#define GSM411_ALLOC_SIZE
Definition: gsm0411_utils.c:47
int lapdm_phsap_up(struct osmo_prim_hdr *oph, struct lapdm_entity *le)
Receive a PH-SAP primitive from L1.
Definition: lapdm.c:898
@ NM_ATT_NACK_CAUSES
Definition: gsm_12_21.h:353
@ NM_NACK_PARAM_RANGE
Definition: gsm_12_21.h:612
struct gsm0808_cell_id cell_identifier_serving
Definition: gsm0808.h:164
const char * rsl_msg_name(uint8_t err)
Get human-readable string for RSL Message Type.
Definition: rsl.c:401
struct msgb * gsm29118_create_status(const char *imsi, enum sgsap_sgs_cause cause, const struct msgb *err_msg)
Definition: gsm29118.c:402
@ NM_MT_SET_ALARM_THRES
Definition: gsm_12_21.h:190
size_t hlr_enc_len
Definition: gsup.h:316
@ GSM48_CC_CAUSE_USER_BUSY
Definition: gsm_04_08.h:1661
#define OSMO_NAME_C_IMPL(CTX, INITIAL_BUFSIZE, ON_ERROR, FUNC_BUF, FUNC_BUF_ARGS...)
uint8_t rr_cause
Definition: gsm_04_08.h:0
@ NM_MT_SW_ACT_REQ_NACK
Definition: gsm_12_21.h:98
bool chosen_encr_alg_present
Definition: gsm0808.h:254
int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id)
Definition: gsm0480.c:78
@ OSMO_GSUP_MSGT_CHECK_IMEI_RESULT
Definition: gsup.h:180
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:712
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:231
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:1647
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:38
@ BSS_MAP_MSG_CHAN_MOD_RQST
Definition: gsm_08_08.h:77
uint8_t type
Definition: gsm_08_08.h:0
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:437
const struct value_string sgsap_ue_emm_mode_names[]
Definition: gsm29118.c:144
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:923
static const uint8_t tch_afs_5_15_term_output[]
Definition: gsm0503_conv.c:621
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:113
@ NM_MT_LOAD_INIT_NACK
Definition: gsm_12_21.h:89
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:555
@ NM_STATE_LOCKED
Definition: gsm_12_21.h:521
void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id)
Prepend a DTAP header to given Message Buffer.
Definition: gsm0808.c:1296
Definition: gsm_04_08.h:17
@ OSMO_I460_RATE_32k
Definition: i460_mux.h:34
struct msgb * gsm0808_create_handover_succeeded()
Create BSSMAP HANDOVER SUCCEEDED message, 3GPP TS 48.008 3.2.1.13.
Definition: gsm0808.c:1106
@ NM_OC_BS11
Definition: gsm_12_21.h:306
void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) OSMO_DEPRECATED("Use lapdm_entity_init3() instead")
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:162
@ GSM0808_IE_VGCS_FEATURE_FLAGS
Definition: gsm_08_08.h:278
@ NM_IPACC_TESTNO_BCCH_CHAN_USAGE
Definition: gsm_12_21.h:718
const char * name
Definition: lapd_core.c:2081
uint8_t length
Definition: gsm_08_08.h:1
@ GSM0808_IE_CELL_IDENTIFIER
Definition: gsm_08_08.h:191
RSL common header.
Definition: gsm_08_58.h:75
int(* send_dlsap)(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.h:127
const struct value_string gsm0808_lcls_control_names[]
Definition: gsm0808.c:1792
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:376
@ NM_ATT_OSMO_REDUCEPOWER
Definition: gsm_12_21.h:515
#define IPA_ALLOC_SIZE
Definition: ipa.c:52
#define GSM48_MT_CC_NOTIFY
Definition: gsm_04_08.h:1421
void gsm340_gen_scts(uint8_t *scts, time_t time)
Generate 03.40 TP-SCTS.
Definition: gsm0411_utils.c:91
static const uint8_t tch_afs_7_95_state[][2]
Definition: gsm0503_conv.c:332
@ NM_ATT_IPACC_BSSGP_CFG
Definition: gsm_12_21.h:446
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:213
@ GSM0808_IE_QUEUEING_INDICATOR
Definition: gsm_08_08.h:236
struct @26 dcs
Definition: gsm_23_041.h:3
static const struct value_string severity_names[]
Definition: abis_nm.c:239
static int rslms_rx_rll_data_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1098
bool call_priority_present
Definition: gsm48_rest_octets.h:26
#define GSM48_MT_RR_CIPH_M_CMD
Definition: gsm_04_08.h:1283
static int l2_ph_chan_conf(struct msgb *msg, struct lapdm_entity *le, uint32_t frame_nr)
Definition: lapdm.c:1249
@ GSM_LCHAN_PDTCH
Definition: gsm_utils.h:225
#define GSM0480_CTYPE_RETURN_ERROR
Definition: gsm_04_80.h:18
@ NM_MT_TEST_REP
Definition: gsm_12_21.h:140
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:632
#define GSM48_MT_CC_SETUP
Definition: gsm_04_08.h:1403
Definitions according to 3GPP TS 44.318 6.8.0 Release 6.
#define GETU32(pt)
Definition: aes_i.h:113
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:1347
@ 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:333
@ 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:357
@ CBSP_IEI_NUM_BCAST_COMPL_LIST
Definition: gsm_48_049.h:30
@ GSM48_CMODE_DATA_6k0
Definition: gsm_04_08.h:581
const struct sockaddr_storage * aoip_transport_layer
Definition: gsm0808.h:221
enum gprs_ciph_algo algo
Definition: gprs_cipher.h:33
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:1078
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:126
@ GMM_CAUSE_COND_IE_ERR
Definition: gsm_04_08_gprs.h:234
bool osmo_msisdn_str_valid(const char *msisdn)
Determine whether the given MSISDN is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:70
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:143
const struct value_string gsm48_cc_msgtype_names[]
TS 04.08 CC Message Type names.
Definition: gsm48.c:1458
@ GA_MT_CSR_UL_QUAL_IND
Definition: gsm_44_318.h:48
#define GSM48_IE_PROGR_IND
Definition: gsm_04_08.h:1495
#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:319
@ GSM0808_CAUSE_VGCS_VBS_CALL_NON_EXISTENT
Definition: gsm_08_08.h:418
uint16_t msg_id
Definition: cbsp.h:186
struct tlv_p_entry lv[256]
Definition: tlv.h:488
@ NM_MT_CONN_TERR_TRAF_NACK
Definition: gsm_12_21.h:115
static int l2_ph_rach_ind(struct lapdm_entity *le, uint8_t ra, uint32_t fn, uint8_t acc_delay)
Definition: lapdm.c:866
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
Definition: gsm23003.h:92
@ GSM0808_IE_IMEI
Definition: gsm_08_08.h:276
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:215
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:668
@ NM_ATT_IPACC_OBJ_VERSION
Definition: gsm_12_21.h:440
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:172
#define GSM48_IE_FREQ_L_BEFORE
Definition: gsm_04_08.h:1542
@ GSM0808_IE_CAUSE
Definition: gsm_08_08.h:190
enum gsm411_cp_state cp_state
Definition: gsm0411_smc.h:37
@ GSM0808_FE_IE_EXTRA_INFORMATION
Definition: gsm_08_08.h:335
uint16_t msgb_length(const struct msgb *msg)
the two lapdm_entities that form a GSM logical channel (ACCH + DCCH)
Definition: lapdm.h:72
@ GSM0808_IE_REDIR_ATTEMPT_FLAG
Definition: gsm_08_08.h:305
@ GSM48_REJECT_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:1724
static void llist_del(struct llist_head *entry)
@ 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:227
@ DL_SAPI0
SAPI 0.
Definition: lapdm.h:39
char mme_name[SGS_MME_NAME_LEN+1]
Definition: gsm29118.h:48
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:57
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:206
@ BSSAP_MSG_DTAP
Definition: gsm_08_08.h:35
@ BSS_MAP_MSG_HANDOVER_SUCCEEDED
Definition: gsm_08_08.h:85
struct msgb * gsm29118_create_release_req(const char *imsi, const uint8_t sgs_cause)
Definition: gsm29118.c:424
#define LOGDL(dl, level, fmt, args...)
Definition: lapd_core.h:17
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
#define SMC_LOG_STR
Definition: gsm0411_smc.c:76
uint8_t proto
Definition: ipaccess.h:1
#define GSM411_MNSMS_DATA_REQ
Definition: gsm0411_smc.h:22
primitive header for LAPD DL-SAP primitives
Definition: lapd_core.h:60
static const uint8_t tch_ahs_6_7_term_output[]
Definition: gsm0503_conv.c:931
struct dl_rel_req_param rel_req
Definition: lapd_core.h:64
uint8_t link_id
Link Identifier (Like RSL)
Definition: l1sap.h:76
static int cbsp_decode_loading_list(struct osmo_cbsp_loading_list *ll, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:549
@ GSM0808_SC_CFG_DEFAULT_AMR_4_75
Definition: gsm_08_08.h:573
const struct value_string * gsm48_gsm_cause_names
Definition: gsm_04_08_gprs.c:120
static int lapd_send_resend(struct lapd_datalink *dl)
Definition: lapd_core.c:544
#define GSM48_IE_MODE_SEC_CH
Definition: gsm_04_08.h:1557
static void c5_function(uint8_t *ik, const uint8_t *kc)
Definition: auth_core.c:102
#define GSM48_IE_FOLLOW_ON_PROC
Definition: gsm_04_08.h:1583
uint16_t trx_id
Definition: ipa.h:16
struct osmo_i460_subchan_mux mux
Definition: i460_mux.h:73
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:245
int descr
Definition: mncc.h:59
#define EGPRS_CPS_TYPE1_TBL_SZ
Definition: gprs_rlc.c:20
const struct value_string osmo_lu_type_names[]
Definition: gsm48.c:1682
uint8_t thresh_lo
Definition: sysinfo.h:59
@ GSM0808_IE_SMS_TO_VGCS
Definition: gsm_08_08.h:283
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE
Definition: gsm_08_08.h:358
#define GSM23003_MSISDN_MAX_DIGITS
Definition: gsm_23_003.h:25
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL
Definition: gsm_08_08.h:639
uint8_t msg_ref
Definition: gsm_04_11.h:2
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:522
#define GSM48_MT_GMM_AUTH_CIPH_REQ
Definition: gsm_04_08_gprs.h:27
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:316
@ OSMO_AUTH_ALG_XOR
Definition: auth.h:33
#define RLL_CAUSE_FRM_UNIMPL
Definition: gsm_08_58.h:517
@ BSS_MAP_MSG_VGCS_ADDL_INFO
Definition: gsm_08_08.h:172
static int encode_drx_timer(unsigned int drx)
Definition: gsm48_rest_octets.c:776
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:256
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:468
const char * gsm0808_cause_name(enum gsm0808_cause cause)
Return string name of BSSMAP Cause name.
Definition: gsm0808.c:1722
int proto
Definition: mncc.h:52
#define GSM0480_OP_CODE_SPLIT_MPTY
Definition: gsm_04_80.h:84
#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:134
@ GSM0808_CAUSE_INVALID_CSG_CELL
Definition: gsm_08_08.h:400
enum CELL_IDENT id_discr
Definition: cbsp.h:58
const struct tlv_definition gsm48_mm_att_tlvdef
TLV parser definitions for TS 04.08 MM.
Definition: gsm48.c:143
#define GSM48_IE_CHANMODE_4
Definition: gsm_04_08.h:1534
@ NM_NACK_REQ_NOT_GRANT
Definition: gsm_12_21.h:631
int ipa_ccm_send_id_ack(int fd)
Definition: ipa.c:446
uint8_t si13_position
Definition: gsm48_rest_octets.h:74
int gsm0808_dec_osmux_cid(uint8_t *cid, const uint8_t *elem, uint8_t len)
enum osmo_prim_operation operation
@ NM_STATE_SHUTDOWN
Definition: gsm_12_21.h:523
#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:263
static int cbsp_dec_restart(struct osmo_cbsp_restart *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:1098
static int rslms_rx_com_chan(struct msgb *msg, struct lapdm_channel *lc)
Definition: lapdm.c:1370
@ CBSP_CATEG_NORMAL
Definition: gsm_48_049.h:80
@ NM_MT_CHANGEOVER_NACK
Definition: gsm_12_21.h:168
#define ARFCN_FLAG_MASK
Definition: gsm_utils.h:159
@ BTS_FEAT_CBCH
Definition: bts_features.h:20
uint16_t ci
Definition: gsm0808_utils.h:44
#define GSM48_IE_USER_USER
Definition: gsm_04_08.h:1510
#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:103
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:153
#define GSM_MAX_USERUSER
Definition: mncc.h:9
@ NM_ATT_DEST
Definition: gsm_12_21.h:334
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:1177
@ BSS_MAP_MSG_RESUME
Definition: gsm_08_08.h:108
bool ue_prob
Definition: gsm0808.h:118
Definition: gsm_04_08.h:190
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:1824
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:269
@ GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE
Definition: gsm_04_08.h:1740
uint8_t autn[16]
authentication nonce
Definition: auth.h:62
@ GSM0808_IE_DIAGNOSTIC
Definition: gsm_08_08.h:217
static const struct value_string nack_cause_names[]
Definition: abis_nm.c:178
int lapdm_channel_init3(struct lapdm_channel *lc, enum lapdm_mode mode, const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t, const char *name_pfx)
initialize a LAPDm channel and all its channels
Definition: lapdm.c:262
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:245
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:1195
@ GSM0808_IE_LCLS_BSS_STATUS
Definition: gsm_08_08.h:313
#define GSM_MI_TYPE_IMEISV
Definition: gsm_04_08.h:1478
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:1043
@ GSM0808_IE_GPS_ASSISTANCE_DATA
Definition: gsm_08_08.h:258
uint8_t ch_rate_type
Definition: gsm_08_08.h:608
@ 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:1679
#define GSM414_MT_GPRS_TEST_MODE_CMD
Definition: gsm_04_14.h:63
@ GSM_PCHAN_PDCH
Definition: gsm_utils.h:208
@ 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 GSM_MI_TYPE_NONE
Definition: gsm_04_08.h:1475
@ OSMO_GSUP_MSGT_CHECK_IMEI_ERROR
Definition: gsup.h:179
@ GSM48_RR_CAUSE_SEMANT_INCORR
Definition: gsm_04_08.h:1645
static const uint8_t tch_afs_5_9_term_state[]
Definition: gsm0503_conv.c:555
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:1270
uint16_t msg_id
Definition: cbsp.h:194
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:311
#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:762
unsigned int perm_algo_len
Definition: gsm_08_08.h:618
static const struct value_string test_names[]
Definition: abis_nm.c:663
uint8_t range_hist
range of history buffer 2..2^n
Definition: lapd_core.h:161
@ GSM411_RP_CAUSE_MO_FACILITY_REJ
Definition: gsm_04_11.h:74
#define GSM48_IE_BA_RANGE
Definition: gsm_04_08.h:1560
@ OSMO_GSUP_MESSAGE_CLASS_UNSET
Definition: gsup.h:279
uint32_t gsm_gsmtime2fn(struct gsm_time *time)
Encode decoded gsm_time to Frame Number.
Definition: gsm_utils.c:885
@ GA_MT_CSR_REQUEST_ACCEPT
Definition: gsm_44_318.h:67
@ NM_MT_CHG_ADM_STATE_REQ
Definition: gsm_12_21.h:159
#define GSM23003_IMSI_MAX_DIGITS
Definition: gsm_23_003.h:6
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:79
@ 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:1095
uint8_t own_busy
receiver busy on our side
Definition: lapd_core.h:149
uint16_t arfcn_last
Definition: gsm_utils.c:780
int gsm48_construct_ra(uint8_t *buf, const struct gprs_ra_id *raid)
Encode a TS 04.08 Routing Area Identifier.
Definition: gsm48.c:1291
uint8_t serv_ind
Definition: gsm29118.h:37
@ GSM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:265
Definition of All 256 IE / TLV.
Definition: tlv.h:482
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:309
@ BTS_FEAT_ECSD
Definition: bts_features.h:15
static int l2_ph_data_conf(struct msgb *msg, struct lapdm_entity *le)
Definition: lapdm.c:458
@ BSS_MAP_MSG_OVERLOAD
Definition: gsm_08_08.h:121
#define BSS_MAP_MSG_ASSIGMENT_COMPLETE
Definition: gsm_08_08.h:183
@ OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_RESULT
Definition: gsup.h:192
static const uint8_t table_1[256]
Definition: comp128.c:108
#define LAPDm_CTRL_S_BITS(ctrl)
Definition: lapdm.c:77
#define LAPDM_ENT_F_EMPTY_FRAME
Definition: lapdm.h:46
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
int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
Generate 3G CK + IK from 2G authentication vector.
Definition: auth_core.c:128
uint8_t t3
Definition: gsm_utils.h:48
@ GSM0808_IE_CONFIG_EVO_INDI
Definition: gsm_08_08.h:243
static const uint8_t tch_axs_sid_update_output[][2]
Definition: gsm0503_conv.c:1136
@ GSM0808_CAUSE_TRAFFIC_LOAD
Definition: gsm_08_08.h:389
enum gsm_band gsm_arfcn2band(uint16_t arfcn)
Resolve GSM band from ARFCN, aborts process on invalid ARFCN.
Definition: gsm_utils.c:768
static const uint8_t tch_afs_12_2_state[][2]
Definition: gsm0503_conv.c:221
static unsigned char * msgb_push(struct msgb *msgb, unsigned int len)
@ GSM411_RP_CAUSE_MO_RES_UNAVAIL
Definition: gsm_04_11.h:79
uint32_t state
LAPD state (lapd_state)
Definition: lapd_core.h:147
@ SGSAP_MSGT_SERVICE_REQ
Definition: gsm_29_118.h:11
uint8_t rac
Definition: gsm_04_08.h:1934
@ BTS_FEAT_SPEECH_F_AMR
Definition: bts_features.h:24
@ 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:264
@ CBSP_MSGT_LOAD_QUERY_FAIL
Definition: gsm_48_049.h:59
sgsap_sgs_cause
Definition: gsm_29_118.h:126
void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
Definition: gsm_04_08.h:80
static const uint8_t tch_ahs_4_75_term_state[]
Definition: gsm0503_conv.c:1087
struct msgb * cont_res
buffer to store content resolution data on network side, to detect multiple phones on same channel
Definition: lapd_core.h:163
#define GSM48_IE_CHANMODE_8
Definition: gsm_04_08.h:1538
@ NM_IPACC_TESTNO_SYSINFO_MONITOR
Definition: gsm_12_21.h:722
@ 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
@ GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB
Definition: gsm_08_08.h:565
@ GSM_CAUSE_ACT_REJ_UNSPEC
Definition: gsm_04_08_gprs.h:251
@ 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:46
Definition: gsm_08_08.h:599
#define GSM411_TMR_TR2M
Definition: gsm_04_11.h:98
uint8_t field
Definition: gsm0808.h:124
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:221
uint8_t mode
Definition: gsm_04_08.h:1
Definition: gsm_08_58.h:82
char * osmo_apn_qualify_from_imsi_c(const void *ctx, const char *imsi, const char *ni, int have_3dig_mnc)
Definition: apn.c:81
@ PRIM_PH_EMPTY_FRAME
PH-EMPTY_FRAME.
Definition: l1sap.h:12
#define GSM48_IE_F_CH_SEQ_BEFORE
Definition: gsm_04_08.h:1548
#define GSM48_MT_MM_ID_RESP
Definition: gsm_04_08.h:1375
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:1812
#define GSM0480_OP_CODE_PROCESS_USS_DATA
Definition: gsm_04_80.h:78
#define GSM0480_OP_CODE_RETRIEVE_MPTY
Definition: gsm_04_80.h:85
@ 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:537
uint8_t data[0]
Definition: gsm_03_41.h:52
@ NM_ATT_MANUF_ID
Definition: gsm_12_21.h:349
void rijndaelKeySetupEnc(u32 rk[], const u8 cipherKey[])
Expand the cipher key into the encryption key schedule.
Definition: aes-internal.c:789
@ OSMO_I460_RATE_NONE
Definition: i460_mux.h:32
@ GSM0808_IE_CS_TO_PS_SRVCC
Definition: gsm_08_08.h:316
struct msgb * gsm29118_create_alert_req(const char *imsi)
Definition: gsm29118.c:250
parsed/decoded PDP context information
Definition: gsup.h:256
uint8_t key[ENCRY_INFO_KEY_MAXLEN]
Definition: gsm_08_08.h:619
@ NM_MT_LOAD_SEG
Definition: gsm_12_21.h:90
#define GSM411_MMSMS_DATA_IND
Definition: gsm0411_smc.h:16
@ NM_ATT_RF_MAXPOWR_R
Definition: gsm_12_21.h:364
#define GSM48_MT_RR_CELL_CHG_ORDER
Definition: gsm_04_08.h:1300
@ IPAC_IDTAG_SERNR
Definition: ipaccess.h:56
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 key_len
Definition: gsm_08_08.h:620
int rxlev2dbm(uint8_t rxlev)
Convert TS 05.08 RxLev to dBm (TS 05.08 Chapter 8.1.4)
Definition: gsm_utils.c:643
const char * osmo_mi_name(const uint8_t *mi, uint8_t mi_len)
Deprecated, see osmo_mobile_identity instead.
Definition: gsm48.c:508
@ NM_ATT_HSN
Definition: gsm_12_21.h:340
@ GSM0808_IE_VELOCITY_ESTIMATE
Definition: gsm_08_08.h:277
uint8_t ta
Timing Advance.
Definition: l1sap.h:45
#define GSM48_IE_FREQ_L_AFTER
Definition: gsm_04_08.h:1528
#define GSM0480_OP_CODE_GET_PASSWORD
Definition: gsm_04_80.h:77
@ BTS_FEAT_SPEECH_H_V1
Definition: bts_features.h:22
@ GSM0808_IE_CSFB_INDICATION
Definition: gsm_08_08.h:315
struct osmo_cbsp_kill_complete kill_compl
Definition: cbsp.h:258
#define MDL_CAUSE_SFRM_INC_PARAM
Definition: lapd_core.h:41
static int msgb_sgsap_name_put(struct msgb *msg, enum sgsap_iei iei, const char *name)
Definition: gsm29118.c:197
#define GSM48_MT_CC_START_DTMF_ACK
Definition: gsm_04_08.h:1427
static int decode_auth_info(uint8_t *data, size_t data_len, struct osmo_auth_vector *auth_vector)
Definition: gsup.c:178
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:188
@ GSM0808_IE_SEND_SEQ_NUM
Definition: gsm_08_08.h:307
#define GSM48_MT_GMM_ATTACH_REJ
Definition: gsm_04_08_gprs.h:16
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:836
@ GSM48_CMSERV_EMERGENCY
Definition: gsm_04_08.h:1443
#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:410
@ GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO
Definition: gsm_08_08.h:270
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:707
@ 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:284
uint8_t res[16]
authentication result
Definition: auth.h:65
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
@ 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:774
@ GSM0808_SC_CFG_AMR_4_75
Definition: gsm_08_08.h:587
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:1301
uint8_t net[5]
Definition: gsm29205.h:34
@ NM_MT_DISC_MDROP_LINK_NACK
Definition: gsm_12_21.h:125
uint8_t file_id[UINT8_MAX]
Definition: gsm_12_21.h:794
#define IPA_STRING_MAX
Definition: ipa.c:304
static int rslms_rx_chan_rqd(struct lapdm_channel *lc, struct msgb *msg)
Definition: lapdm.c:1209
@ SGSAP_MSGT_SERVICE_ABORT_REQ
Definition: gsm_29_118.h:28
const struct value_string gsm48_reject_value_names[]
Definition: gsm48.c:1629
int speech_ctm
Definition: mncc.h:17
@ GA_MT_CSR_HO_FAIL
Definition: gsm_44_318.h:51
@ GA_PDISC_CSR
Definition: gsm_44_318.h:12
int t203_usec
retry timer (default 10 secs)
Definition: lapd_core.h:152
@ GSM0808_IE_PAGING_INFO
Definition: gsm_08_08.h:275
int gsm48_encode_signal(struct msgb *msg, int signal)
Encode TS 04.08 Signal IE (10.5.4.23)
Definition: gsm48_ie.c:701
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
#define GSM48_MT_RR_TALKER_IND
Definition: gsm_04_08.h:1360
@ GSM0808_IE_PRIORITY
Definition: gsm_08_08.h:192
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK
Definition: gsm_08_08.h:178
uint16_t mcc
Definition: gsm48.h:25
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:709
#define GSM48_IE_MOB_OVSERV_DIF
Definition: gsm_04_08.h:1563
static const uint8_t tch_afs_4_75_term_output[]
Definition: gsm0503_conv.c:705
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL
Definition: gsm_08_08.h:641
#define GSM411_MMSMS_REL_REQ
Definition: gsm0411_smc.h:13
#define A51_R1_CLKBIT
Definition: a5.c:163
@ GSM48_CC_CAUSE_REQ_FAC_NOT_SUBSC
Definition: gsm_04_08.h:1681
struct msgb * gsm0808_create_clear_rqst(uint8_t cause)
Create BSSMAP Clear Request message.
Definition: gsm0808.c:706
@ LAPDM_MODE_BTS
behave like a BTS (network)
Definition: lapdm.h:14
@ GSM0808_SC_CFG_DEFAULT_AMR_7_40
Definition: gsm_08_08.h:577
static const struct value_string event_type_names[]
Definition: abis_nm.c:223
@ GSM0808_IE_VSTK_RAND_INFO
Definition: gsm_08_08.h:273
@ NM_ATT_IPACC_NS_LINK_CFG
Definition: gsm_12_21.h:447
int osmo_cbsp_recv_buffered(void *ctx, int fd, struct msgb **rmsg, struct msgb **tmp_msg)
void rsl_rll_push_l3(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent)
Wrap msgb in L3 Info IE and push a RSL RLL header.
Definition: rsl.c:544
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:1001
LAPD datalink.
Definition: lapd_core.h:126
static struct gsm_freq_range gsm_ranges[]
Definition: gsm_utils.c:786
@ NM_NACK_TEST_NOTINIT
Definition: gsm_12_21.h:623
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:155
CELL_IDENT
Definition: gsm_08_08.h:17
@ NM_MT_PERF_TEST_ACK
Definition: gsm_12_21.h:138
size_t gsm0858_rsl_ul_meas_enc(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:490
@ GA_MT_CSR_CIPH_MODE_COMPL
Definition: gsm_44_318.h:33
@ BSS_MAP_MSG_PERFORM_LOCATION_RQST
Definition: gsm_08_08.h:110
@ GSM0808_IE_TRANSACTIONID
Definition: gsm_08_08.h:226
int milenage_opc_gen(u8 *opc, const u8 *k, const u8 *op)
Definition: milenage.c:333
@ NM_MT_DISC_TERR_SIGN
Definition: gsm_12_21.h:110
@ BSS_MAP_MSG_HANDOVER_CMD
Definition: gsm_08_08.h:83
#define GSM48_MT_RR_PART_REL_COMP
Definition: gsm_04_08.h:1305
#define A52_R4_CLKBIT0
Definition: a5.c:275
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:882
@ NM_ATT_BTS_AIR_TIMER
Definition: gsm_12_21.h:329
const u8 rcons[]
Definition: aes-internal.c:779
@ NM_ATT_IPACC_TIB_CONTROL
Definition: gsm_12_21.h:451
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:572
#define N201_AB_SACCH
Definition: lapdm.c:89
#define GSM48_IE_CHANMODE_6
Definition: gsm_04_08.h:1536
int comp128v2(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v2 algorithm.
Definition: comp128v23.c:171
#define GPRS_DET_T_MO_GPRS
Definition: gsm_04_08_gprs.h:60
@ SGSAP_IE_GLOBAL_CN_ID
Definition: gsm_29_118.h:55
@ GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE
Definition: gsm_08_08.h:393
uint16_t msg_id
Definition: cbsp.h:111
uint8_t mode
release mode
Definition: lapd_core.h:56
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:1334
#define GSM48_MT_RR_PAG_RESP
Definition: gsm_04_08.h:1310
#define GSM48_MT_CC_PROGRESS
Definition: gsm_04_08.h:1398
int gsm_7bit_decode_ussd(char *text, const uint8_t *user_data, uint8_t length)
Definition: gsm_utils.c:1000
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
struct msgb * gsm29118_create_reset_ind(struct gsm29118_reset_msg *params)
Definition: gsm29118.c:378
uint16_t temp_offs
Definition: gsm48_rest_octets.h:62
@ GSM0808_CAUSE_O_AND_M_INTERVENTION
Definition: gsm_08_08.h:364
@ GSM48_CC_CAUSE_PROTO_ERR
Definition: gsm_04_08.h:1703
#define OSMO_STRLCPY_ARRAY(array, src)
@ OSMO_EVT_MAJ_UNSUP_ATTR
Definition: gsm_12_21.h:269
@ GSM48_CMSERV_MO_CALL_PACKET
Definition: gsm_04_08.h:1442
@ IPAC_MSGT_ID_RESP
Definition: ipaccess.h:48
@ GSM0808_CAUSE_CLASS_RES_UNAVAIL
Definition: gsm_08_08.h:426
@ OSMO_EVT_WARN_SW_WARN
Definition: gsm_12_21.h:274
gsm0808_cause
Definition: gsm_08_08.h:356
uint16_t msg_id
Definition: gsm_03_41.h:12
uint8_t present
Definition: gsm48_rest_octets.h:70
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:450
@ NM_ATT_TEST_REPORT
Definition: gsm_12_21.h:374
bool paging_channel_restructuring
Definition: gsm48_rest_octets.h:24
bool current_channel_type_2_present
Definition: gsm0808.h:121
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:790
#define N200_TR_FACCH_FR
Definition: lapdm.c:103
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:1913
@ RSL_MT_RECON_REQ
Definition: gsm_08_58.h:155
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:245
struct osmo_cbsp_num_compl_list num_compl_list
Definition: cbsp.h:198
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:1041
#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:521
uint8_t rr_cause
Definition: gsm0808.h:247
@ SGSAP_SGS_CAUSE_SEMANT_INCORR_MSG
Definition: gsm_29_118.h:137
#define GSM_0480_SEQUENCE_TAG
Definition: gsm_04_80.h:29
struct gsm0808_speech_codec speech_codec_chosen
Definition: gsm0808.h:219
@ GSM_CAUSE_AUTH_FAILED
Definition: gsm_04_08_gprs.h:249
uint8_t cmd
Definition: lapd_core.h:116
enum gsm0808_lcls_status lcls_bss_status
Definition: gsm0808.h:261
const struct value_string gsm_chan_t_names[]
Definition: gsm48.c:435
#define LAPD_U_SABM
Definition: lapd_core.c:89
uint16_t lac
Definition: gsm0808_utils.h:46
uint8_t net_ctrl_ord
Definition: gsm48_rest_octets.h:119
static int gsm411_mnsms_abort_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:401
@ BSS_MAP_MSG_CIPHER_MODE_CMD
Definition: gsm_08_08.h:148
int lapd_ph_data_ind(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1635
@ GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING
Definition: gsm_08_08.h:411
#define GSM48_MT_RR_ASS_FAIL
Definition: gsm_04_08.h:1292
@ 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:780
@ IPAC_IDTAG_IPADDR
Definition: ipaccess.h:62
@ GSM0808_ALG_ID_A5_0
Definition: gsm_08_08.h:518
@ NM_ATT_IPACC_HEARTB_TOUT
Definition: gsm_12_21.h:455
@ NM_MT_REP_OUTST_ALARMS
Definition: gsm_12_21.h:162
@ OSMO_GSUP_MESSAGE_CLASS_SUBSCRIBER_MANAGEMENT
Definition: gsup.h:280
@ NM_ATT_IPACC_SEC_OML_CFG
Definition: gsm_12_21.h:422
void lapd_dl_init2(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf, const char *name)
Initialize LAPD datalink instance and allocate history.
Definition: lapd_core.c:265
uint16_t penalty_time
Definition: gsm48_rest_octets.h:61
#define GSM411_MMSMS_EST_IND
Definition: gsm0411_smc.h:11
char * serno
Definition: ipa.h:23
@ NM_MT_CHANGEOVER_ACK
Definition: gsm_12_21.h:167
#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:228
static void append_gprs_ind(struct bitvec *bv, const struct osmo_gsm48_si3_gprs_ind *gi)
Definition: gsm48_rest_octets.c:527
struct llist_head fail_list
Definition: cbsp.h:124
@ LAPD_STATE_TEI_UNASS
Definition: lapd_core.h:77
@ NM_NACK_OBJINST_UNKN
Definition: gsm_12_21.h:609
@ 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,...)
Definition: gsm48_rest_octets.h:68
@ SGSAP_ID_NONEPS_T_EXPLICIT_UE_NONEPS
Definition: gsm_29_118.h:106
@ GSM48_REJECT_MSG_TYPE_NOT_IMPLEMENTED
Definition: gsm_04_08.h:1730
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:321
@ NM_MT_STOP_TEST
Definition: gsm_12_21.h:144
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:180
uint8_t present
Definition: gsm48_rest_octets.h:94
@ GSM48_CMODE_DATA_3k6
Definition: gsm_04_08.h:582
bool prec
Definition: gsm0808.h:116
@ LAPD_STATE_NULL
Definition: lapd_core.h:76
@ GSM_LCHAN_CCCH
Definition: gsm_utils.h:224
#define GPRS_ATT_T_ATTACH
Definition: gsm_04_08_gprs.h:52
unsigned int id_list_len
Definition: gsm_08_08.h:633
uint8_t chosen_encr_alg
For A5/N set chosen_encr_alg = N+1, e.g.
Definition: gsm0808.h:213
int transfer
Definition: mncc.h:13
@ NM_NACK_FILE_NOTAVAIL
Definition: gsm_12_21.h:629
int gsm_arfcn2band_rc(uint16_t arfcn, enum gsm_band *band)
Resolve GSM band from ARFCN.
Definition: gsm_utils.c:726
void msgb_free(struct msgb *m)
@ GMM_CAUSE_NO_GPRS_PLMN
Definition: gsm_04_08_gprs.h:218
@ GSM48_RR_CAUSE_ABNORMAL_TIMER
Definition: gsm_04_08.h:1638
static unsigned int gsm0502_get_n_pag_blocks(struct gsm48_control_channel_descr *chan_desc)
Definition: gsm0502.h:36
#define RSL_BCCH_CCCH_CONF_1_C
Definition: gsm_08_58.h:633
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:924
#define ASN1_OCTET_STRING_TAG
Definition: gsm_04_80.h:118
static int get_n200_dcch(enum gsm_chan_t chan_t)
Definition: lapdm.c:210
#define GSM48_MT_RR_IMM_ASS
Definition: gsm_04_08.h:1275
@ 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:246
@ GSM48_CMSERV_SMS
Definition: gsm_04_08.h:1444
@ GSM_CAUSE_DEACT_REGULAR
Definition: gsm_04_08_gprs.h:256
#define GSM48_MT_RR_HANDO_COMPL
Definition: gsm_04_08.h:1294
@ PRIM_MDL_ERROR
MDL-ERROR.
Definition: lapd_core.h:29
@ GA_MT_CSR_REQUEST
Definition: gsm_44_318.h:66
@ GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP
Definition: gsm_08_08.h:662
@ GSM0808_CAUSE_CLASS_INTW
Definition: gsm_08_08.h:431
const struct value_string osmo_sub_auth_type_names[]
Definition: auth_core.c:232
const char * abis_nm_event_type_name(uint8_t cause)
Get human-readable string for OML event type.
Definition: abis_nm.c:233
#define GSM48_IE_REPEAT_CIR
Definition: gsm_04_08.h:1516
int gsm_septets2octets(uint8_t *result, const uint8_t *rdata, uint8_t septet_len, uint8_t padding)
GSM Default Alphabet 7bit to octet packing.
Definition: gsm_utils.c:327
@ FN_REMAP_TCH_H0
Definition: gsm0502.h:65
in_cb_queue_empty_t in_cb_queue_empty
Definition: i460_mux.h:64
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:380
bool old_bss_to_new_bss_info_present
Definition: gsm0808.h:142
static const uint8_t table_4[32]
Definition: comp128.c:139
const char * gsm48_mi_type_name(uint8_t mi)
return string representation of Mobile Identity Type
Definition: gsm48.c:457
@ 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
@ NM_MT_STOP_EVENT_REP
Definition: gsm_12_21.h:150
#define GSM48_MT_GMM_INFO
Definition: gsm_04_08_gprs.h:34
#define GSM48_IE_MORE_DATA
Definition: gsm_04_08.h:1512
@ CBSP_MSGT_KILL
Definition: gsm_48_049.h:54
static void lapdm_pad_msgb(struct msgb *msg, uint8_t n201)
Definition: lapdm.c:328
struct msgb * gsm29118_msgb_alloc(void)
Definition: gsm29118.c:189
@ NM_MT_CHG_ADM_STATE_NACK
Definition: gsm_12_21.h:158
#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:1348
@ BSS_MAP_MSG_VGCS_VBS_SETUP_REFUSE
Definition: gsm_08_08.h:160
@ BSS_MAP_MSG_LSA_INFORMATION
Definition: gsm_08_08.h:111
@ NM_CHANC_BCCH_CBCH
Definition: gsm_12_21.h:557
@ 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:266
uint16_t old_serial_nr
Definition: cbsp.h:150
@ NM_ATT_IPACC_IN_SERV_TIME
Definition: gsm_12_21.h:425
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:116
@ FN_REMAP_MAX
Definition: gsm0502.h:70
#define LAPD_S_REJ
Definition: lapd_core.c:99
@ OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT
Definition: gsup.h:172
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:65
uint8_t use_egprs_p_ch_req
#define GSM0480_OP_CODE_REGISTER_SS
Definition: gsm_04_80.h:70
@ CBSP_IEI_MSG_CONTENT
Definition: gsm_48_049.h:23
@ GSM_CAUSE_OPER_DET_BARR
Definition: gsm_04_08_gprs.h:243
#define SMCDOWNSLLEN
Definition: gsm0411_smc.c:450
static const struct value_string rr_msg_names[]
Definition: gsm48.c:315
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:1169
@ SGSAP_MSGT_MO_CSFB_IND
Definition: gsm_29_118.h:29
#define GSM48_PDISC_CC
Definition: gsm_04_08.h:1163
struct osmo_gsm48_si3_gprs_ind gprs_ind
Definition: gsm48_rest_octets.h:96
#define GSM48_MT_MM_CM_SERV_ACC
Definition: gsm_04_08.h:1379
@ NM_OC_CHANNEL
Definition: gsm_12_21.h:292
@ GA_MT_CSR_CIPH_MODE_CMD
Definition: gsm_44_318.h:32
@ GSM_PCHAN_SDCCH8_SACCH8C_CBCH
Definition: gsm_utils.h:212
uint16_t cell_id
Definition: gsm48_rest_octets.h:102
@ GSM0808_SC_CFG_DEFAULT_AMR_5_90
Definition: gsm_08_08.h:575
void lapdm_channel_set_l1(struct lapdm_channel *lc, osmo_prim_cb cb, void *ctx)
Set the L1 callback and context of a LAPDm channel.
Definition: lapdm.c:1465
int present
Definition: mncc.h:36
#define GSM48_LUPD_RESERVED
Definition: gsm_04_08.h:1467
#define LAPD_U_DISC
Definition: lapd_core.c:93
static const uint8_t table_0[512]
Definition: comp128.c:75
@ PRIM_PH_CONN
PH-CONNECT.
Definition: l1sap.h:11
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:1078
@ GSM_LCHAN_NONE
Definition: gsm_utils.h:219
struct llist_head fail_list
Definition: cbsp.h:196
uint8_t peer_busy
receiver busy on remote side
Definition: lapd_core.h:150
@ BTS_FEAT_HSCSD
Definition: bts_features.h:12
static int parse_process_uss_req(const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:690
@ NM_ATT_OVERL_PERIOD
Definition: gsm_12_21.h:356
void osmo_cbsp_init_struct(struct osmo_cbsp_decoded *cbsp, enum cbsp_msg_type msg_type)
Definition: cbsp.c:1287
#define CR_USER2NET_RESP
Definition: lapd_core.c:102
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE_REVERSION
Definition: gsm_08_08.h:367
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:220
static const struct smrdatastate smrdatastatelist[]
@ GSM0808_PERM_HR2
(deprecated)
Definition: gsm_08_08.h:488
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:119
@ GSM48_CC_CAUSE_BEARERSERV_UNIMPL
Definition: gsm_04_08.h:1686
@ 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:972
@ CBSP_IEI_RR_LOADING_LIST
Definition: gsm_48_049.h:32
static int lapd_est_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1681
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE
Definition: gsm_08_08.h:187
@ GSM48_CMODE_SPEECH_EFR
Definition: gsm_04_08.h:577
@ TLLI_RESERVED
Definition: gsm_utils.h:190
@ GMM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:233
@ BSS_MAP_MSG_SUSPEND
Definition: gsm_08_08.h:107
static void _comp128_compression_round(uint8_t *x, int n, const uint8_t *tbl)
Definition: comp128.c:148
@ OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR
Definition: gsup.h:159
const struct osmo_conv_code gsm0503_rach
RACH convolutional code.
Definition: gsm0503_conv.c:95
#define GSM48_MT_RR_CHAN_MODE_MODIF
Definition: gsm_04_08.h:1344
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:243
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:605
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:146
#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:63
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:469
@ NM_MT_ACTIVATE_SW
Definition: gsm_12_21.h:99
#define LAPDm_ADDR_SAPI(addr)
Definition: lapdm.c:61
@ 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:245
const struct value_string sgsap_ismi_det_eps_type_names[]
Definition: gsm29118.c:102
@ GSM340_TYPE_ALPHA_NUMERIC
Definition: gsm_03_40.h:20
uint8_t ik[OSMO_A5_MAX_KEY_LEN_BYTES]
integrity key
Definition: auth.h:64
@ GA_MT_CSR_STATUS
Definition: gsm_44_318.h:58
@ GSM_BAND_900
Definition: gsm_utils.h:54
@ GMM_CAUSE_ILLEGAL_MS
Definition: gsm_04_08_gprs.h:208
@ 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:1392
#define GSM48_MT_RR_SYSINFO_2
Definition: gsm_04_08.h:1322
@ NM_NACK_TEST_NOSUCH
Definition: gsm_12_21.h:625
const struct value_string gan_msgt_vals[]
Definition: gan.c:29
uint8_t l3_info_len
Definition: gsm0808.h:230
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:1224
#define LAPD_U_FRMR
Definition: lapd_core.c:95
const struct value_string gsm0480_op_code_names[]
Definition: gsm0480.c:48
#define GSM48_PDISC_MM
Definition: gsm_04_08.h:1166
const struct value_string gsm48_mm_msgtype_names[]
TS 04.08 MM Message Type names.
Definition: gsm48.c:1428
static const uint8_t tch_ahs_5_9_term_state[]
Definition: gsm0503_conv.c:971
#define GSM48_MT_RR_CLSM_ENQ
Definition: gsm_04_08.h:1350
@ GSM48_RR_CAUSE_HNDOVER_IMP
Definition: gsm_04_08.h:1641
uint32_t states
Definition: gsm0411_smr.c:379
void rsl_init_cchan_hdr(struct abis_rsl_cchan_hdr *ch, uint8_t msg_type)
Initialize a RSL Common Channel header.
Definition: rsl.c:59
#define GSM48_MT_CC_STOP_DTMF
Definition: gsm_04_08.h:1425
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:522
cbsp_msg_type
Definition: gsm_48_049.h:50
bool lcs
Definition: gsm0808.h:117
@ GSM411_CPS_MM_ESTABLISHED
Definition: gsm_04_11.h:14
@ GSM48_CC_CAUSE_NORMAL_UNSPEC
Definition: gsm_04_08.h:1672
@ GSM0808_SC_CFG_AMR_7_95
Definition: gsm_08_08.h:592
@ NM_NACK_ATTRID_NOTSUPP
Definition: gsm_12_21.h:611
OML FOM header.
Definition: gsm_12_21.h:74
@ _NR_DL_SAPI
Definition: lapdm.h:41
struct tlv_def def[256]
Definition: tlv.h:483
uint32_t gprs_cipher_gen_input_i(uint32_t iov_i, uint32_t lfn, uint32_t oc)
Definition: gprs_cipher_core.c:135
@ GSM48_REJECT_CONDTIONAL_IE_ERROR
Definition: gsm_04_08.h:1733
const uint8_t * rand
Definition: gsup.h:318
@ GSM0808_IE_LSA_IDENTIFIER
Definition: gsm_08_08.h:245
void lapdm_channel_set_l3(struct lapdm_channel *lc, lapdm_cb_t cb, void *ctx)
Set the L3 callback and context of a LAPDm channel.
Definition: lapdm.c:1474
#define GSM411_MT_RP_ERROR_MT
Definition: gsm_04_11.h:57
osmo_prim_cb l1_prim_cb
callback for sending prims to L1
Definition: lapdm.h:61
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:1524
@ OSMO_GSUP_MSGT_PROC_SS_REQUEST
Definition: gsup.h:162
static const uint8_t tch_afs_12_2_term_output[]
Definition: gsm0503_conv.c:240
@ OSMO_RAT_GERAN_A
Definition: gsm_utils.h:246
struct ph_data_param data
Definition: l1sap.h:161
@ NM_ATT_IPACC_DST_IP_PORT
Definition: gsm_12_21.h:414
@ SGSAP_MSGT_LOC_UPD_REQ
Definition: gsm_29_118.h:14
GSM TS 04.80 definitions (Supplementary Services Specification, Formats and Coding).
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:320
uint8_t mi[0]
Definition: gsm_04_08.h:968
int ipa_msg_recv_buffered(int fd, struct msgb **rmsg, struct msgb **tmp_msg)
uint8_t num_bcast_info
Definition: cbsp.h:55
uint32_t states
Definition: gsm0411_smc.c:423
static struct gprs_cipher_impl gea4_impl
Definition: gprs_gea.c:41
@ GSM0808_IE_TALKER_PRIORITY
Definition: gsm_08_08.h:279
int network
Definition: gsm0411_smc.h:31
@ BSS_MAP_MSG_LOAD_INDICATION
Definition: gsm_08_08.h:155
uint8_t p_f
Definition: lapd_core.h:106
@ GA_MT_CSR_DL_DIRECT_XFER
Definition: gsm_44_318.h:57
@ BSS_MAP_MSG_CLASSMARK_RQST
Definition: gsm_08_08.h:153
@ TLLI_AUXILIARY
Definition: gsm_utils.h:189
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
@ 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:1298
#define MDL_CAUSE_UNSOL_DM_RESP_MF
Definition: lapd_core.h:37
struct osmo_i460_subchan * osmo_i460_subchan_add(void *ctx, struct osmo_i460_timeslot *ts, const struct osmo_i460_schan_desc *chd)
add a new sub-channel to the given timeslot
Definition: i460_mux.c:358
static unsigned char * msgb_pull_to_l3(struct msgb *msg)
@ NM_MT_CHG_ADM_STATE
Definition: gsm_12_21.h:156
@ GSM0808_IE_LSA_ACCESS_CTRL_SUPPR
Definition: gsm_08_08.h:249
uint8_t iei
Definition: gsm_08_58.h:2
uint16_t t1
Definition: gsm_utils.h:46
int n200_est_rel
number of retranmissions
Definition: lapd_core.h:139
@ NM_ATT_IPACC_NV_FLAGS
Definition: gsm_12_21.h:419
@ OSMO_AUTH_ALG_COMP128v2
Definition: auth.h:31
uint16_t freq_dl_offset
Definition: gsm_utils.c:782
static const uint8_t tch_ahs_5_9_output[][2]
Definition: gsm0503_conv.c:964
void osmo_timer_schedule(struct osmo_timer_list *timer, int seconds, int microseconds)
static struct msgb * msgb_alloc_headroom_c(const void *ctx, int size, int headroom, const char *name)
#define A5_R4_MASK
Definition: a5.c:113
@ GSM0808_SC_CFG_AMR_5_90
Definition: gsm_08_08.h:589
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:347
bool osmo_gcr_eq(const struct osmo_gcr_parsed *gcr1, const struct osmo_gcr_parsed *gcr2)
Compare two GCR structs.
Definition: gsm29205.c:102
#define GSM0480_IE_FACILITY
Definition: gsm_04_80.h:12
Definition: lapd_core.h:120
@ GSM48_REJECT_CONGESTION
Definition: gsm_04_08.h:1723
static const struct egprs_cps egprs_cps_table_type2[EGPRS_CPS_TYPE2_TBL_SZ]
Definition: gprs_rlc.c:61
#define GSM48_MT_RR_PACKET_NOTIF
Definition: gsm_04_08.h:1314
@ CBSP_IEI_NEW_SERIAL_NR
Definition: gsm_48_049.h:25
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR
Definition: gsup.h:141
@ 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:56
@ GSM48_REJECT_IMEI_NOT_ACCEPTED
Definition: gsm_04_08.h:1716
@ CELL_IDENT_WHOLE_GLOBAL
Definition: gsm_08_08.h:18
const char * osmo_auth_alg_name(enum osmo_auth_algo alg)
Get human-readable name of authentication algorithm.
Definition: auth_core.c:221
int gsm48_decode_bcd_number(char *output, int output_len, const uint8_t *bcd_lv, int h_len)
Like gsm48_decode_bcd_number2() but with less airtight bounds checking.
Definition: gsm48_ie.c:54
@ GSM411_CPS_WAIT_CP_ACK
Definition: gsm_04_11.h:13
#define GSM48_MT_MM_STATUS
Definition: gsm_04_08.h:1388
@ NM_ATT_CONN_FAIL_CRIT
Definition: gsm_12_21.h:333
@ GSM48_CC_CAUSE_REQ_CHAN_UNAVAIL
Definition: gsm_04_08.h:1678
@ GSM0808_IE_RETURN_ERROR_RQST
Definition: gsm_08_08.h:260
GSM utility functions, e.g.
@ GMM_CAUSE_MAC_FAIL
Definition: gsm_04_08_gprs.h:222
@ NM_NACK_PHYSCFG_NOTPERFORM
Definition: gsm_12_21.h:622
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:214
#define GSM411_MMSMS_EST_CNF
Definition: gsm0411_smc.h:12
@ NM_MT_SEND_TEST_REP_NACK
Definition: gsm_12_21.h:143
@ OSMO_GSUP_MSGT_PURGE_MS_REQUEST
Definition: gsup.h:146
struct gsm48_classmark1 classmark1
Definition: gsm_04_08.h:63
@ DLCI_SAPI_SMS
Definition: gsm_08_08.h:64
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:203
struct osmo_cbsp_write_replace::@0::@2 emergency
uint8_t rand[16]
random challenge
Definition: auth.h:61
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:1787
@ NM_NACK_MEAS_NOTSUPP
Definition: gsm_12_21.h:634
#define GSM48_IE_GROUP_CIP_SEQ
Definition: gsm_04_08.h:1569
#define LAPD_S_RNR
Definition: lapd_core.c:98
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:448
#define GSM48_MT_GMM_RA_UPD_REJ
Definition: gsm_04_08_gprs.h:23
#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:67
static bool is_n_digits(const char *str, int min_digits, int max_digits)
Definition: gsm23003.c:36
bool speech_codec_chosen_present
Definition: gsm0808.h:249
const uint8_t * sm_rp_oa
Definition: gsup.h:344
struct osmo_cbsp_msg_status_query_complete msg_status_query_compl
Definition: cbsp.h:266
uint16_t new_serial_nr
Definition: cbsp.h:122
@ NM_ATT_ADD_INFO
Definition: gsm_12_21.h:321
@ NM_ATT_PHYS_CONF
Definition: gsm_12_21.h:357
@ GSM0808_IE_NETWORK_ELEMENT_IDENTITY
Definition: gsm_08_08.h:257
@ NM_ATT_IPACC_CGI
Definition: gsm_12_21.h:438
@ GSM0808_IE_CELL_ID_LIST_SEGMENT
Definition: gsm_08_08.h:282
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:1608
uint8_t gsm0808_enc_speech_codec_list(struct msgb *msg, const struct gsm0808_speech_codec_list *scl)
Encode TS 08.08 Speech Codec list.
Definition: gsm0808_utils.c:396
@ NM_OC_BS11_BTSE
Definition: gsm_12_21.h:304
int cp_type
Definition: gsm0411_smc.c:485
@ GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE
Definition: gsm_08_08.h:404
struct llist_head list
Definition: cbsp.h:35
@ NM_CHANC_mainBCCH
Definition: gsm_12_21.h:553
#define GSM48_MT_CC_RELEASE
Definition: gsm_04_08.h:1417
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:230
@ GSM0808_IE_SERVICE_HANDOVER
Definition: gsm_08_08.h:263
enum gsmtap_um_voice_type __attribute__
const struct tlv_definition cbsp_att_tlvdef
Definition: gsm48049.c:84
int(* send_ph_data_req)(struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapd_core.h:129
@ GSM0808_CAUSE_TRAFFIC
Definition: gsm_08_08.h:372
const struct osmo_conv_code gsm0503_tch_hr
TCH/H convolutional code.
Definition: gsm0503_conv.c:808
@ GSM_CAUSE_INSUFF_RSRC
Definition: gsm_04_08_gprs.h:246
const char * gsm0808_channel_type_name(const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:1971
@ NM_ATT_RACH_B_THRESH
Definition: gsm_12_21.h:361
#define GSM48_MT_MM_TMSI_REALL_CMD
Definition: gsm_04_08.h:1376
struct osmo_gsm48_si_selection_params selection_params
Definition: gsm48_rest_octets.h:88
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:341
@ GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED
Definition: gsm_08_08.h:402
const char * osmo_bts_feature_name(enum osmo_bts_features feature)
return string representation of a BTS feature
Definition: bts_features.c:48
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:612
int tx_pending
currently a pending frame not confirmed by L1
Definition: lapdm.h:54
@ NM_NACK_SPEC_IMPL_NOTSUPP
Definition: gsm_12_21.h:614
uint8_t link_id
Definition: lapdm.h:24
static const int tch_ahs_7_4_puncture[]
Definition: gsm0503_conv.c:889
static const uint8_t tch_afs_10_2_state[][2]
Definition: gsm0503_conv.c:271
@ SGSAP_MSGT_ALERT_REJ
Definition: gsm_29_118.h:20
uint16_t gsm_arfcn2freq10(uint16_t arfcn, int uplink)
Convert an ARFCN to the frequency in MHz * 10.
Definition: gsm_utils.c:803
struct msgb * rsl_rll_simple(uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent)
Create msgb with RSL RLL header.
Definition: rsl.c:565
@ RSL_MT_DATA_REQ
Definition: gsm_08_58.h:141
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:899
struct llist_head fail_list
Definition: cbsp.h:235
@ NM_ATT_INTAVE_PARAM
Definition: gsm_12_21.h:343
uint8_t max_txpwr
Definition: gsm48_rest_octets.h:45
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:650
@ BSS_MAP_MSG_MSC_INVOKE_TRACE
Definition: gsm_08_08.h:125
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
@ NM_CHANC_IPAC_PDCH
Definition: gsm_12_21.h:563
union gsm0808_cell_id_u id
Definition: gsm0808_utils.h:52
static unsigned int msgb_l1len(const struct msgb *msgb)
#define GSM48_IE_CALLED_BCD
Definition: gsm_04_08.h:1504
@ NM_MT_LOAD_END_NACK
Definition: gsm_12_21.h:95
int dtmf
Definition: mncc.h:73
DEPRECATED: This definition of the cell identifier list is insufficient.
Definition: gsm_08_08.h:630
enum gsm48_bcap_transp transp
Definition: mncc.h:28
char * gsm0808_cell_id_list_name_c(const void *ctx, const struct gsm0808_cell_id_list2 *cil)
Definition: gsm0808_utils.c:1951
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 * gsm0808_diagnostics_octet_location_str(uint8_t pointer)
Definition: gsm0808.c:1743
static int parse_ss_info_elements(const uint8_t *ss_ie, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:434
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:278
@ RSL_IE_RLM_CAUSE
Definition: gsm_08_58.h:291
static const uint8_t tch_afs_7_95_term_state[]
Definition: gsm0503_conv.c:370
@ 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:967
@ GA_MT_CSR_REQUEST_REJECT
Definition: gsm_44_318.h:68
#define LAPDm_CTRL_U(u, p)
Definition: lapdm.c:68
int osmo_auth_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Generate authentication vector.
Definition: auth_core.c:156
@ NM_ATT_SITE_OUTPUTS
Definition: gsm_12_21.h:366
@ 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:606
@ GSM0808_IE_RETURN_ERROR_CAUSE
Definition: gsm_08_08.h:261
bool lai_present
Definition: gsm29118.h:39
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:747
void aes_encrypt_deinit(void *ctx)
Definition: aes-internal-enc.c:120
const uint8_t * sm_rp_mms
SM-RP-MMS (More Messages to Send), section 7.6.8.7.
Definition: gsup.h:351
#define ABIS_RSL_MDISC_RLL
Definition: gsm_08_58.h:122
void * l1_ctx
context for layer1 instance
Definition: lapdm.h:58
#define GSM48_MT_RR_UPLINK_RELEASE
Definition: gsm_04_08.h:1357
Parsed representation of a Cell Identifier List IE (3GPP TS 48.008 3.2.2.27).
Definition: gsm0808_utils.h:56
@ NM_ATT_IPACC_CUR_SW_CFG
Definition: gsm_12_21.h:436
@ GSM48_CMODE_SPEECH_V1
Definition: gsm_04_08.h:576
#define GSM48_MT_RR_PART_REL
Definition: gsm_04_08.h:1304
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:1716
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:160
@ GSM48_REJECT_IMSI_UNKNOWN_IN_VLR
Definition: gsm_04_08.h:1715
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:471
struct gsm48_system_information_type_header header
Definition: gsm_04_08.h:0
const struct tlv_definition abis_nm_att_tlvdef_ipa
GSM A-bis OML IPA TLV parser definition.
Definition: abis_nm.c:470
uint8_t gsm0808_enc_speech_codec(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Encode TS 08.08 Speech Codec IE.
Definition: gsm0808_utils.c:291
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:477
static int xor_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)
Definition: auth_xor.c:131
#define MDL_CAUSE_UNSOL_SPRV_RESP
Definition: lapd_core.h:38
void gsm48_mcc_mnc_from_bcd(uint8_t *bcd_src, uint16_t *mcc, uint16_t *mnc)
Definition: gsm48.c:1016
@ NM_NACK_FILE_NOTACTIVATE
Definition: gsm_12_21.h:630
@ SGSAP_MSGT_PAGING_REQ
Definition: gsm_29_118.h:8
static uint8_t mux_subchan_provide_bits(struct osmo_i460_subchan *schan, uint8_t *mask)
provide one byte with the subchan-specific bits of given sub-channel.
Definition: i460_mux.c:205
@ GSM0808_CAUSE_CLASS_NORM1
Definition: gsm_08_08.h:425
char * swversion
Definition: ipa.h:19
@ GSM48_RR_CAUSE_NO_CELL_ALLOC_A
Definition: gsm_04_08.h:1650
static uint8_t mux_timeslot_provide_bits(struct osmo_i460_timeslot *ts)
Definition: i460_mux.c:249
struct llist_head list
Definition: cbsp.h:52
@ GSM_PCHAN_CCCH_SDCCH4_CBCH
Definition: gsm_utils.h:211
#define GSM48_IE_CH_DESC_1_BEFORE
Definition: gsm_04_08.h:1544
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:1636
@ BSS_MAP_MSG_COMPLETE_LAYER_3
Definition: gsm_08_08.h:152
#define GSM48_IE_LSA_IDENT
Definition: gsm_04_08.h:1487
static int gsm411_mmsms_cp_error(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:357
int n201
Definition: lapd_core.h:98
out_cb_bytes_t out_cb_bytes
Definition: i460_mux.h:55
@ CBSP_MSGT_SET_DRX_COMPL
Definition: gsm_48_049.h:64
static int lapd_send_dm(struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:457
@ NM_ATT_TEST_NO
Definition: gsm_12_21.h:373
@ NM_ATT_AUTON_REPORT
Definition: gsm_12_21.h:325
static uint32_t kasumi_FL(uint32_t I, const uint16_t *KLi1, const uint16_t *KLi2, unsigned i)
Definition: kasumi.c:113
@ GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_CDMA2000
Definition: gsm_08_08.h:265
@ SGSAP_SGS_CAUSE_IMSI_DET_EPS
Definition: gsm_29_118.h:127
#define ENCRY_INFO_PERM_ALGO_MAXLEN
Definition: gsm_08_08.h:615
@ GSM0808_IE_SPEECH_CODEC
Definition: gsm_08_08.h:299
@ GSM0808_IE_TRACE_TYPE
Definition: gsm_08_08.h:223
abis_nm_chan_comb
Definition: gsm_12_21.h:546
static const struct smcdownstate smcdownstatelist[]
#define N200_TR_SDCCH
Definition: lapdm.c:102
@ GSM0808_CAUSE_DISTANCE
Definition: gsm_08_08.h:363
uint8_t invoke_id
Definition: gsm0480.h:46
static int encode_t3192(unsigned int t3192)
Definition: gsm48_rest_octets.c:752
unsigned long gsm340_validity_period(uint8_t sms_vpf, uint8_t *sms_vp)
decode validity period.
Definition: gsm0411_utils.c:213
int t203_sec
Definition: lapd_core.h:152
@ NM_NACK_FILE_INCOMPLETE
Definition: gsm_12_21.h:628
struct msgb * gsm29118_create_imsi_det_ack(const char *imsi)
Definition: gsm29118.c:279
uint16_t * old_serial_nr
Definition: cbsp.h:86
#define GSM48_IE_CHANMODE_3
Definition: gsm_04_08.h:1533
#define ASN1_IA5_STRING_TAG
Definition: gsm_04_80.h:123
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:842
@ GSM0808_CAUSE_SWITCH_CIRCUIT_POOL
Definition: gsm_08_08.h:395
@ GSM_PCHAN_CCCH_SDCCH4
Definition: gsm_utils.h:204
@ GSM0808_IE_INTERFERENCE_BAND_TO_USE
Definition: gsm_08_08.h:206
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:231
@ 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:677
#define APN_MAXLEN
Definition: apn.h:11
int gprs_cipher_load(const char *path)
Definition: gprs_cipher_core.c:71
static const uint8_t mcs_output[][2]
Definition: gsm0503_conv.c:59
uint8_t qrxlm
Definition: sysinfo.h:63
@ NM_ATT_IPACC_RLC_CFG_3
Definition: gsm_12_21.h:457
a LAPDm Entity
Definition: lapdm.h:50
#define GSM23003_HOME_NETWORK_DOMAIN_LEN
Definition: gsm_23_003.h:39
#define CR_NET2USER_CMD
Definition: lapd_core.c:103
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:336
@ GSM0808_IE_VGCS_VBS_CELL_STATUS
Definition: gsm_08_08.h:285
void lapd_dl_set_name(struct lapd_datalink *dl, const char *name)
Definition: lapd_core.c:332
const struct value_string gsm48_chan_mode_names[]
Definition: gsm48.c:423
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:194
@ BSS_MAP_MSG_CONNECTIONLESS_INFORMATION
Definition: gsm_08_08.h:127
struct msgb * gsm0808_create_handover_detect()
Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40.
Definition: gsm0808.c:1087
#define GSM48_IE_CH_DESC_2_BEFORE
Definition: gsm_04_08.h:1546
@ LAPD_STATE_EST_TEI_WAIT
Definition: lapd_core.h:79
static const uint8_t mcs_state[][2]
Definition: gsm0503_conv.c:40
struct osmo_i460_subchan_demux demux
Definition: i460_mux.h:72
@ OSMO_GSUP_CANCEL_TYPE_IE
Definition: gsup.h:70
@ GA_MT_CSR_UL_DIRECT_XFER
Definition: gsm_44_318.h:56
struct gsm0808_encrypt_info encryption_information
Definition: gsm0808.h:162
struct llist_head list
Definition: cbsp.h:47
@ NM_OC_BS11_ADJC
Definition: gsm_12_21.h:301
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:746
void osmo_i460_ts_init(struct osmo_i460_timeslot *ts)
initialize an I.460 timeslot
Definition: i460_mux.c:341
osmo_gsup_iei
Information Element Identifiers for GSUP IEs.
Definition: gsup.h:64
#define GSM48_MI_SIZE
Definition: gsm_04_08.h:1928
@ GSM0808_IE_SELECTED_PLMN_ID
Definition: gsm_08_08.h:320
@ OSMO_EVT_CRIT_RTP_TOUT
Definition: gsm_12_21.h:264
#define A5_R3_MASK
Definition: a5.c:112
@ GSM0808_CAUSE_DTM_HO_PS_ALLOC_FAILURE
Definition: gsm_08_08.h:392
#define gsm48_push_l3hdr_tid(msg, pdisc, tid, msg_type)
Definition: gsm48.h:118
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:393
const struct osmo_conv_code gsm0503_tch_ahs_5_9
TCH/AHS 5.9 kbits convolutional code.
Definition: gsm0503_conv.c:989
static void new_cp_state(struct gsm411_smc_inst *inst, enum gsm411_cp_state state)
Definition: gsm0411_smc.c:137
@ GSM0808_ALG_ID_A5_2
Definition: gsm_08_08.h:520
uint8_t k
maximum number of unacknowledged frames
Definition: lapd_core.h:142
#define GSM48_MT_RR_CFG_CHG_ACK
Definition: gsm_04_08.h:1287
@ PRIM_DL_RECON
DL-RECONNECT.
Definition: lapd_core.h:28
static uint32_t decode_wperiod(uint8_t in)
Definition: cbsp.c:609
static int cbsp_enc_reset(struct msgb *msg, const struct osmo_cbsp_reset *in)
Definition: cbsp.c:326
static int xor_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Definition: auth_xor.c:49
#define GSM48_MT_CC_CALL_CONF
Definition: gsm_04_08.h:1393
struct msgb * gsm29118_create_service_abort_req(const char *imsi)
Definition: gsm29118.c:437
#define GSM48_MT_RR_CHAN_MODE_MODIF_ACK
Definition: gsm_04_08.h:1346
const __thread char * osmo_cbsp_errstr
Definition: cbsp.c:36
#define APPEND_CELL_ID_U(DISCR, U)
Definition: gsm0808_utils.c:1861
@ CBSP_MSGT_FAILURE
Definition: gsm_48_049.h:70
@ SGSAP_EPS_LUT_NORMAL
Definition: gsm_29_118.h:86
struct msgb * gsm0808_create_handover_required(const struct gsm0808_handover_required *params)
Create BSSMAP HANDOVER REQUIRED message.
Definition: gsm0808.c:841
static int cbsp_enc_load_query_fail(struct msgb *msg, const struct osmo_cbsp_load_query_failure *in)
Definition: cbsp.c:282
#define MDL_CAUSE_IFRM_INC_LEN
Definition: lapd_core.h:43
static void msgb_sgsap_imsi_put(struct msgb *msg, const char *imsi)
Definition: gsm29118.c:220
int ipa_ccm_rcvmsg_bts_base(struct msgb *msg, struct osmo_fd *bfd)
Definition: ipa.c:495
@ NM_MT_DISC_MDROP_LINK
Definition: gsm_12_21.h:123
@ GSM0808_IE_CS_TO_PS_SRVCC_IND
Definition: gsm_08_08.h:318
struct msgb * gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext)
Create BSSMAP Cipher Mode Reject message.
Definition: gsm0808.c:318
@ GSM48_REJECT_ILLEGAL_ME
Definition: gsm_04_08.h:1717
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:728
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:290
@ BSS_MAP_MSG_REROUTE_COMPLETE
Definition: gsm_08_08.h:116
static __thread char dbuf[256]
Definition: gsm0808_utils.c:625
uint16_t lac
Definition: gsm_04_08.h:681
@ NM_MT_GET_ATTR_NACK
Definition: gsm_12_21.h:189
#define GSM48_IE_CONN_BCD
Definition: gsm_04_08.h:1500
@ GSM0808_IE_OMCID
Definition: gsm_08_08.h:228
@ OSMO_GSUP_PDP_INFO_COMPL_IE
Definition: gsup.h:68
#define LAPD_U_SABME
Definition: lapd_core.c:90
GSM TS 04.08 definitions.
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:1571
const struct value_string gsm0808_lcls_status_names[]
Definition: gsm0808.c:1802
uint16_t cbq
Definition: gsm48_rest_octets.h:64
@ NM_ATT_IPACC_ALM_THRESH_LIST
Definition: gsm_12_21.h:449
uint16_t * old_serial_nr
Definition: cbsp.h:244
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:140
#define GPRS_DET_T_MO_IMSI
Definition: gsm_04_08_gprs.h:61
struct llist_head entry
Definition: gsm23236.h:20
uint8_t cr[5]
Node ID.
Definition: gsm29205.h:37
@ BSS_MAP_MSG_INT_HANDOVER_REQUIRED
Definition: gsm_08_08.h:92
#define LAPDm_MORE
Definition: lapdm.c:83
#define GSM48_MT_RR_SYSINFO_19
Definition: gsm_04_08.h:1341
@ OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST
Definition: gsup.h:170
@ BTS_FEAT_MULTI_TSC
Definition: bts_features.h:17
@ NM_ATT_NY1
Definition: gsm_12_21.h:354
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:112
@ GSM0808_LCLS_CSC_CONNECT
Definition: gsm_08_08.h:649
@ GSM48_CC_CAUSE_USER_ALERTING_NA
Definition: gsm_04_08.h:1663
#define GSM48_MT_RR_IMM_ASS_EXT
Definition: gsm_04_08.h:1276
uint8_t v_recv
seq nr of next I frame expected to be received
Definition: lapd_core.h:146
@ GSM0808_ALG_ID_A5_3
Definition: gsm_08_08.h:521
@ PRIM_TCH
TCH.
Definition: l1sap.h:15
static const uint8_t tch_ahs_5_9_term_output[]
Definition: gsm0503_conv.c:976
struct llist_head fail_list
Definition: cbsp.h:213
#define ABIS_NM_MSG_SIZE
Definition: gsm_12_21.h:45
static int gsm411_rl_data_req(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:219
@ LAPDm_FMT_B
Definition: lapdm.c:111
@ NM_MT_SET_ALARM_THRES_ACK
Definition: gsm_12_21.h:191
@ BSS_MAP_MSG_HANDOVER_DETECT
Definition: gsm_08_08.h:91
@ GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG
Definition: gsm_08_08.h:378
struct msgb * msg
Definition: lapd_core.h:121
static uint8_t _a5_2_get_output(uint32_t r[])
GSM A5/2 Output function.
Definition: a5.c:311
struct gsm341_ms_message::@22 serial
uint8_t mi_len
Definition: gsm_04_08.h:1
@ NM_PCAUSE_T_MANUF
Definition: gsm_12_21.h:593
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:108
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:152
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:945
@ BTS_FEAT_PAGING_COORDINATION
Definition: bts_features.h:27
bool cause_rr_set
whether cause_rr is set
Definition: gsup.h:378
LAPDm datalink like TS 04.06 / Section 3.5.2.
Definition: lapdm.h:30
@ LAPD_FORM_U
Definition: lapd_core.h:92
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:546
@ GSM48_CMODE_DATA_14k5
Definition: gsm_04_08.h:579
static const struct value_string rr_cause_names[]
Definition: gsm48.c:160
struct msgb * gsm29118_create_paging_req(struct gsm29118_paging_req *params)
Definition: gsm29118.c:335
uint8_t file_id_len
Definition: gsm_12_21.h:795
#define N200_EST_REL
Definition: lapdm.c:99
@ GSM0808_IE_OSMO_OSMUX_SUPPORT
Definition: gsm_08_08.h:329
uint8_t classmark3_len
Definition: gsm_04_08.h:66
@ CBSP_MSGT_MSG_STATUS_QUERY_FAIL
Definition: gsm_48_049.h:62
@ GSM0808_CAUSE_EQUIPMENT_FAILURE
Definition: gsm_08_08.h:381
@ GSM411_RP_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_11.h:90
struct lapd_msg_ctx lctx
LAPD context.
Definition: lapd_core.h:140
static const char * cc_state_names[32]
Definition: gsm48.c:225
struct osmo_gsm48_si_power_offset power_offset
Definition: gsm48_rest_octets.h:89
@ SGSAP_IE_ERR_MSG
Definition: gsm_29_118.h:63
@ NM_ATT_TSC
Definition: gsm_12_21.h:382
#define GSM0480_OP_CODE_ERASE_SS
Definition: gsm_04_80.h:71
struct osmo_cbsp_reset reset
Definition: cbsp.h:271
struct lapdm_datalink * lapdm_datalink_for_sapi(struct lapdm_entity *le, uint8_t sapi)
Definition: lapdm.c:315
static const uint8_t tch_afs_5_9_state[][2]
Definition: gsm0503_conv.c:517
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:298
gprs_ciph_algo
Definition: gprs_cipher.h:13
@ GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED
Definition: gsm_04_08.h:1727
static void msgb_put_cbsp_cell_list(struct msgb *msg, const struct osmo_cbsp_cell_list *cl)
Definition: cbsp.c:49
@ NM_MT_REINIT_NACK
Definition: gsm_12_21.h:174
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:1201
static int lapd_rx_u(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:818
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:664
@ GA_MT_RC_KEEPALIVE
Definition: gsm_44_318.h:59
uint16_t old_serial_nr
Definition: cbsp.h:133
@ NM_EVT_EQUIP_FAIL
Definition: gsm_12_21.h:575
int gsm0480_decode_ss_request(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:354
@ GSM0808_PERM_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:490
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:186
@ GSM48_REJECT_MSG_NOT_COMPATIBLE
Definition: gsm_04_08.h:1734
uint16_t offset
Timing Offset.
Definition: l1sap.h:48
static struct osmo_auth_impl xor_alg
Definition: auth_xor.c:174
#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:111
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:324
@ GSM0808_IE_CALL_ID
Definition: gsm_08_08.h:300
struct osmo_cbsp_restart restart
Definition: cbsp.h:275
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:1581
@ GSM0808_CAUSE_PREEMPTION
Definition: gsm_08_08.h:390
#define GSM48_MT_RR_UPLINK_FREE
Definition: gsm_04_08.h:1358
@ 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:1671
static int asc_to_bcd(const char asc)
convert a single ASCII character to call-control BCD
Definition: gsm48_ie.c:129
@ NM_NACK_CAPACITY_RESTR
Definition: gsm_12_21.h:621
bool extra_information_present
Definition: gsm0808.h:114
enum osmo_gsup_cn_domain cn_domain
Definition: gsup.h:319
int gsm48_number_of_paging_subchannels(struct gsm48_control_channel_descr *chan_desc)
Determine number of paging sub-channels.
Definition: gsm48.c:1305
static unsigned long gsm340_vp_relative(uint8_t *sms_vp)
Definition: gsm0411_utils.c:150
static const uint8_t tch_ahs_7_4_output[][2]
Definition: gsm0503_conv.c:872
#define TLVP_PRESENT(x, y)
Definition: tlv.h:511
@ OSMO_CGI_PART_CI
Definition: gsm23003.h:39
@ NM_NACK_ATTRLIST_INCONSISTENT
Definition: gsm_12_21.h:613
@ NM_CHANC_TCHHalf
Definition: gsm_12_21.h:548
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:216
#define GSM48_MT_RR_UPLINK_BUSY
Definition: gsm_04_08.h:1359
#define ABIS_OM_MDISC_MMI
Message Discriminator for Man Machine Interface.
Definition: gsm_12_21.h:51
int rsl_ccch_conf_to_bs_cc_chans(int ccch_conf)
Definition: rsl.c:479
uint8_t chan_nr
Channel Number (Like RSL)
Definition: l1sap.h:77
void ipa_prepend_header(struct msgb *msg, int proto)
Definition: ipa.c:528
@ 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:169
static __attribute__((constructor))
Definition: auth_comp128v23.c:69
@ NM_NACK_WAIT
Definition: gsm_12_21.h:632
#define GSM48_MT_CC_START_DTMF_REJ
Definition: gsm_04_08.h:1428
#define N201_B4
Definition: lapdm.c:96
@ GMM_CAUSE_GSM_AUTH_UNACCEPT
Definition: gsm_04_08_gprs.h:225
#define GSM_MI_TYPE_MASK
Definition: gsm_04_08.h:1474
@ GSM48_CC_CAUSE_CALL_REJECTED
Definition: gsm_04_08.h:1664
@ OSMO_GSUP_SM_RP_OA_IE
Definition: gsup.h:102
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:1316
@ RSL_MT_UNIT_DATA_REQ
Definition: gsm_08_58.h:150
#define GSM414_MT_EGPRS_ST_RB_LOOP_CMD
Definition: gsm_04_14.h:82
static void lapd_start_t200(struct lapd_datalink *dl)
Definition: lapd_core.c:203
#define GSM0480_CTYPE_INVOKE
Definition: gsm_04_80.h:16
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
uint8_t global_call_reference_len
Definition: gsm0808.h:193
@ GSM_LCHAN_SDCCH
Definition: gsm_utils.h:220
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:239
struct msgb * send_buffer
current frame transmitting
Definition: lapd_core.h:158
@ TLLI_RAND_G_RNTI
Definition: gsm_utils.h:192
@ BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:82
#define GSM48_MT_CC_MODIFY_REJECT
Definition: gsm_04_08.h:1407
#define GSM48_MT_RR_CFG_CHG_REJ
Definition: gsm_04_08.h:1288
@ BSS_MAP_MSG_CONFUSION
Definition: gsm_08_08.h:104
@ NM_ATT_IPACC_SUPP_FEATURES
Definition: gsm_12_21.h:452
@ 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:682
@ NM_MT_CONN_MDROP_LINK_NACK
Definition: gsm_12_21.h:122
@ 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:1877
static int rslms_rx_rll_susp_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1126
@ GSM48_CC_CAUSE_RECOVERY_TIMER
Definition: gsm_04_08.h:1702
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL
Definition: gsm_08_08.h:177
#define GSM48_PDISC_PDSS2
Definition: gsm_04_08.h:1164
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition: gsm0808_utils.h:50
@ GSM0808_SCT_FR3
FR AMR.
Definition: gsm_08_08.h:502
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:1127
@ NM_NACK_INCORR_STRUCT
Definition: gsm_12_21.h:603
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT
Definition: gsup.h:138
if(vty->type==VTY_SHELL_SERV)
static const struct value_string gsm0808_cause_names[]
Definition: gsm0808.c:1636
@ GSM0808_CAUSE_DOWNLINK_QUALITY
Definition: gsm_08_08.h:361
@ GSM_LCHAN_UNKNOWN
Definition: gsm_utils.h:223
@ NM_ATT_LIST_REQ_ATTR
Definition: gsm_12_21.h:345
struct gsm0808_cell_id cell_identifier_target
Definition: gsm0808.h:165
@ GSM0808_CAUSE_INVALID_CELL
Definition: gsm_08_08.h:388
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:472
uint8_t proto
Definition: ipaccess.h:17
#define GPRS_UPD_T_RA_LA_IMSI_ATT
Definition: gsm_04_08_gprs.h:74
@ GSM48_CMSERV_VBS
Definition: gsm_04_08.h:1447
@ NM_MT_CHG_HW_CONF_ACK
Definition: gsm_12_21.h:179
@ GSM0808_CAUSE_UPLINK_STRENGTH
Definition: gsm_08_08.h:360
@ NM_ATT_IPACC_UNIT_NAME
Definition: gsm_12_21.h:432
static void append_power_offset(struct bitvec *bv, const struct osmo_gsm48_si_power_offset *po)
Definition: gsm48_rest_octets.c:516
static uint8_t inc_mod(uint8_t x, uint8_t m)
Definition: lapd_core.c:132
struct osmo_cbsp_keep_alive_complete keep_alive_compl
Definition: cbsp.h:282
@ NM_MT_DISC_TERR_TRAF_NACK
Definition: gsm_12_21.h:118
static int gsm411_send_report(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:209
@ GSM0808_IE_TMSI
Definition: gsm_08_08.h:195
struct gsm0808_old_bss_to_new_bss_info old_bss_to_new_bss_info
Definition: gsm0808.h:143
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:292
void gsm411_smr_clear(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:96
3GPP TS 3GPP TS 29.018 8.14 SGsAP-PAGING-REQUEST.
Definition: gsm29118.h:34
#define GSM414_MT_CLOSE_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:26
const struct value_string gsm0808_permitted_speech_names[]
Definition: gsm0808.c:1610
const struct osmo_conv_code gsm0503_cs2
CS2 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:150
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:43
@ NM_MT_CONN_TERR_SIGN
Definition: gsm_12_21.h:107
@ GA_MT_CSR_ACT_CHAN_FAIL
Definition: gsm_44_318.h:38
uint16_t msg_id
Definition: cbsp.h:178
@ OSMO_GSUP_MSGT_ROUTING_ERROR
Definition: gsup.h:200
@ GMM_CAUSE_GPRS_OTHER_NOTALLOWED
Definition: gsm_04_08_gprs.h:212
#define GSM48_IE_CAUSE
Definition: gsm_04_08.h:1491
#define TE414(i)
Definition: aes_i.h:90
enum CELL_IDENT id_discr
Definition: cbsp.h:76
@ GSM48_RR_CAUSE_ABNORMAL_UNACCT
Definition: gsm_04_08.h:1637
#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:219
struct llist_head tx_queue
list of to-be-transmitted message buffers
Definition: i460_mux.h:63
@ SGSAP_IE_VLR_NAME
Definition: gsm_29_118.h:46
Definition: gsm_04_08.h:759
static const char * osmo_rat_type_name(enum osmo_rat_type val)
Definition: gsm_utils.h:255
static int cbsp_decode_fail_list(struct llist_head *fl, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:525
static const uint8_t xcch_output[][2]
Definition: gsm0503_conv.c:33
int ipa_ccm_rcvmsg_base(struct msgb *msg, struct osmo_fd *bfd)
Definition: ipa.c:457
const struct value_string gsm48_pdisc_names[]
TS 04.08 Protocol Descriptor names.
Definition: gsm48.c:1316
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
uint16_t mnc
Definition: gsm23003.h:11
@ PRIM_TCH_RTS
TCH.
Definition: l1sap.h:16
#define GSM48_MT_RR_IMM_ASS_REJ
Definition: gsm_04_08.h:1277
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:56
@ GSM0808_IE_CALL_ID_LIST
Definition: gsm_08_08.h:301
@ GSM0808_IE_POSITIONING_DATA
Definition: gsm_08_08.h:253
static void msgb_push_u8(struct msgb *msg, uint8_t word)
uint8_t chan_nr
Definition: gsm_08_58.h:86
const struct value_string osmo_ph_prim_names[]
Definition: lapdm.c:117
static const uint8_t tch_afs_7_4_term_output[]
Definition: gsm0503_conv.c:433
int gsm48_generate_mid_from_tmsi *(uint8_t *buf, uint32_t tmsi) OSMO_DEPRECATED_OUTSIDE("Instead us l)
Definition: gsm48.h:55
@ NM_ATT_AVAIL_STATUS
Definition: gsm_12_21.h:326
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:80
@ SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS
Definition: gsm_29_118.h:108
#define GSM48_PDISC_MM_GPRS
Definition: gsm_04_08.h:1168
@ BSS_MAP_MSG_UPLINK_RQST
Definition: gsm_08_08.h:165
const struct value_string sgsap_sgs_cause_names[]
Definition: gsm29118.c:125
@ GSM48_REJECT_SERVICES_NOT_ALLOWED
Definition: gsm_04_08.h:1739
int osmo_timer_pending(struct osmo_timer_list *timer)
struct gsm0808_old_bss_to_new_bss_info::@5 current_channel_type_2
static const char * gsm48_pdisc_name(uint8_t val)
Definition: gsm_04_08.h:1178
#define GSM48_MT_CC_START_CC
Definition: gsm_04_08.h:1402
@ T200_SACCH_SDCCH
Definition: gsm_12_21.h:652
@ GSM48_REJECT_LOC_NOT_ALLOWED
Definition: gsm_04_08.h:1719
static int append_utran_fdd_length(uint16_t u, const int *sc, size_t sc_len, size_t length)
Definition: gsm48_rest_octets.c:306
@ GSM48_CC_CAUSE_BEARER_CA_UNAVAIL
Definition: gsm_04_08.h:1684
struct gprs_cs_desc::@74 downlink
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:98
uint8_t ra_colour
Definition: gsm48_rest_octets.h:75
#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:53
int coding
Definition: mncc.h:57
int(* update_pending_frames)(struct lapd_msg_ctx *lctx)
Definition: lapd_core.h:130
@ OSMO_GSUP_MSGT_E_PREPARE_SUBSEQUENT_HANDOVER_REQUEST
Definition: gsup.h:186
static const uint8_t table0[256]
Definition: comp128v23.c:39
uint8_t load[2]
Definition: cbsp.h:66
int(* 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)
Definition: auth.h:85
unsigned int out_idx
offset of next bit to be written in out_bitbuf
Definition: i460_mux.h:52
@ GSM48_CC_CAUSE_FACILITY_REJ
Definition: gsm_04_08.h:1670
char * osmo_dump_gsmtime_buf(char *buf, size_t buf_len, const struct gsm_time *tm)
Definition: gsm_utils.c:891
@ OSMO_GSUP_MSGT_INSERT_DATA_REQUEST
Definition: gsup.h:150
@ GSM0808_IE_RR_CAUSE
Definition: gsm_08_08.h:207
void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf) OSMO_DEPRECATED("Use lapd_dl_init2() instead")
Initialize LAPD datalink instance and allocate history.
Definition: lapd_core.c:327
int gsm_7bit_encode(uint8_t *result, const char *data)
Definition: gsm_utils.c:1006
#define OSMO_GSUP_MAX_NUM_PDP_INFO
Maximum nubmer of PDP inside osmo_gsup_message.
Definition: gsup.h:54
out_cb_bits_t out_cb_bits
call-back function called whenever we received num_bits
Definition: i460_mux.h:88
#define LAPDm_LPD_NORMAL
Definition: lapdm.c:54
@ NM_NACK_BTSNR_UNKN
Definition: gsm_12_21.h:607
#define LAPDm_CTRL_I_Ns(ctrl)
Definition: lapdm.c:79
#define GPRS_ATT_T_COMBINED
Definition: gsm_04_08_gprs.h:54
@ NM_MT_REINIT_ACK
Definition: gsm_12_21.h:173
static int lapd_reestablish(struct lapd_datalink *dl)
Definition: lapd_core.c:576
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:1944
static unsigned int msgb_l2len(const struct msgb *msgb)
@ GSM0808_IE_CONNECTION_RELEASE_RQSTED
Definition: gsm_08_08.h:240
static int mdl_error(uint8_t cause, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:419
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:139
@ BSS_MAP_MSG_RESET_IP_RSRC_ACK
Definition: gsm_08_08.h:129
@ NM_ATT_IPACC_NSEI
Definition: gsm_12_21.h:442
struct osmo_cbsp_failure failure
Definition: cbsp.h:277
@ T200_FACCH_F
Definition: gsm_12_21.h:649
int egprs_get_cps(struct egprs_cps *cps, uint8_t type, uint8_t bits)
Definition: gprs_rlc.c:92
@ NM_ATT_IPACC_IML_SSL_STATE
Definition: gsm_12_21.h:460
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:147
@ OSMO_GSUP_MSISDN_IE
Definition: gsup.h:72
const struct value_string sgsap_service_ind_names[]
Definition: gsm29118.c:119
void * tall_lapd_ctx
Definition: lapd_core.c:257
uint8_t old_bss_to_new_bss_info_raw_len
Definition: gsm0808.h:181
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:164
#define GSM48_PDISC_GROUP_CC
Definition: gsm_04_08.h:1160
@ SGSAP_IE_EMLPP_PRIORITY
Definition: gsm_29_118.h:50
#define GSM48_MT_RR_EXT_MEAS_REP
Definition: gsm_04_08.h:1351
static const uint8_t tch_afs_4_75_state[][2]
Definition: gsm0503_conv.c:658
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:173
uint8_t classmark2_len
Definition: gsm_04_08.h:64
@ CBSP_IEI_REP_PERIOD
Definition: gsm_48_049.h:28
uint8_t tx_power
Transmit Power.
Definition: l1sap.h:46
bool mme_name_present
Definition: gsm29118.h:47
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:163
const uint8_t * new_bss_to_old_bss_info_raw
Definition: gsm0808.h:234
#define ALL_STATES
Definition: lapd_core.c:110
@ GSM0808_IE_TOTAL_RESOURCE_ACCESSIBLE
Definition: gsm_08_08.h:220
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:633
static const struct tlv_definition bss_att_tlvdef
Definition: gsm0808.c:1332
int ipa_ccm_send_id_req(int fd)
Definition: ipa.c:451
uint16_t mcc
Definition: gsm23003.h:10
struct osmo_plmn_id plmn
Definition: gsm23003.h:93
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:506
static __thread char namebuf[255]
@ OSMO_I460_RATE_64k
Definition: i460_mux.h:33
@ CBSP_MSGT_SET_DRX_FAIL
Definition: gsm_48_049.h:65
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:135
@ CBSP_IEI_EMERG_IND
Definition: gsm_48_049.h:37
void lapdm_entity_exit(struct lapdm_entity *le)
flush and release all resoures in LAPDm entity
Definition: lapdm.c:293
char * osmo_lcls_dump(const struct osmo_lcls *lcls)
Dump LCLS parameters (GCR excluded) into static string buffer for printing.
Definition: gsm0808_utils.c:650
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:1317
@ CBSP_IEI_SCHEDULE_PERIOD
Definition: gsm_48_049.h:42
static const uint8_t tch_ahs_4_75_term_output[]
Definition: gsm0503_conv.c:1096
enum osmo_rat_type current_rat_type
Definition: gsup.h:386
#define GSM48_MT_CC_RETR_REJ
Definition: gsm_04_08.h:1414
static void to_bcd(uint8_t *bcd, uint16_t val)
Definition: gsm23003.c:294
#define TLVP_VAL_MINLEN(_tp, tag, min_len)
Like TLVP_VAL(), but enforcing a minimum val length.
Definition: tlv.h:545
@ GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL
Definition: gsm_08_08.h:374
#define GPRS_UPD_T_RA
Definition: gsm_04_08_gprs.h:72
@ GA_CSR_UTRAN_CM_CHG
Definition: gsm_44_318.h:64
static int gsm_septet_lookup(uint8_t ch)
Definition: gsm_utils.c:178
#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:733
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
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:112
@ BSS_MAP_MSG_RESOURCE_INDICATION
Definition: gsm_08_08.h:146
@ GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS
Definition: gsm_08_08.h:288
@ NM_MT_LOAD_SEG_ACK
Definition: gsm_12_21.h:91
uint8_t cr
Definition: lapd_core.h:100
@ GSM0800_IE_INTER_SYSTEM_INFO
Definition: gsm_08_08.h:271
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:810
int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len, struct ussd_request *req)
Definition: gsm0480.c:317
@ OSMO_GSUP_PDP_INFO_IE
Definition: gsup.h:69
@ GSM0808_IE_DOWNLINK_DTX_FLAG
Definition: gsm_08_08.h:211
int gprs_cipher_supported(enum gprs_ciph_algo algo)
Definition: gprs_cipher_core.c:115
@ OSMO_AUTH_TYPE_NONE
Definition: auth.h:17
static void lapd_stop_t203(struct lapd_datalink *dl)
Definition: lapd_core.c:228
char * gsm0808_channel_type_name_c(const void *ctx, const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:1977
#define GSM340_TP_VPF_RELATIVE
Definition: gsm_04_11.h:134
@ GSM0808_IE_EMERGENCY_SET_INDICATION
Definition: gsm_08_08.h:280
#define GSM48_IE_CC_CAP
Definition: gsm_04_08.h:1492
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:1728
@ 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:195
const struct osmo_conv_code gsm0503_rach_ext
Extended RACH (11 bit) convolutional code.
Definition: gsm0503_conv.c:110
int t200_sec
Definition: lapd_core.h:151
@ NM_ATT_GSM_TIME
Definition: gsm_12_21.h:339
uint8_t present
Definition: gsm48_rest_octets.h:76
@ SGSAP_IE_TMSI_BASED_NRI_CONT
Definition: gsm_29_118.h:75
uint8_t retrans_ctr
re-transmission counter
Definition: lapd_core.h:155
#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:1411
void * user_data
Definition: i460_mux.h:56
@ 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:654
@ GSM_CAUSE_LLC_SNDCP_FAIL
Definition: gsm_04_08_gprs.h:245
static void lapd_dl_flush_hist(struct lapd_datalink *dl)
Definition: lapd_core.c:160
@ GA_MT_RC_REGISTER_REDIRECT
Definition: gsm_44_318.h:25
static int lapd_send_ua(struct lapd_msg_ctx *lctx, uint8_t len, uint8_t *data)
Definition: lapd_core.c:433
struct llist_head fail_list
Definition: cbsp.h:171
@ GSM0808_IE_LCS_QOS
Definition: gsm_08_08.h:248
char * location2
Definition: ipa.h:22
uint8_t current_channel_type_1
Definition: gsm0808.h:137
@ BSS_MAP_MSG_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:135
int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres, u8 *kc)
gsm_milenage - Generate GSM-Milenage (3GPP TS 55.205) authentication triplet @opc: OPc = 128-bit oper...
Definition: milenage.c:244
@ GSM0808_PERM_FR3
FR AMR.
Definition: gsm_08_08.h:484
static size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e)
Definition: gsm48_rest_octets.c:418
@ LAPD_FORM_I
Definition: lapd_core.h:90
@ GSM48_REJECT_MSC_TMP_NOT_REACHABLE
Definition: gsm_04_08.h:1743
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:633
@ NM_NACK_TEST_NOTSUPP
Definition: gsm_12_21.h:620
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:580
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:602
static struct msgb * tx_dequeue_acch_msgb(struct lapdm_entity *le)
Definition: lapdm.c:397
#define N200_TR_SACCH
Definition: lapdm.c:101
static void lapd_dl_flush_tx(struct lapd_datalink *dl)
Definition: lapd_core.c:175
uint8_t id_discr
Definition: gsm_08_08.h:631
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:346
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:1607
@ OSMO_GSUP_MSGT_READY_FOR_SM_RESULT
Definition: gsup.h:176
static struct osmo_auth_impl c128v2_alg
Definition: auth_comp128v23.c:45
UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208).
@ GSM48_RR_CAUSE_CALL_CLEARED
Definition: gsm_04_08.h:1644
@ NM_MT_SET_SITE_OUT_ACK
Definition: gsm_12_21.h:176
uint8_t gsm_get_octet_len(const uint8_t sept_len)
Compute number of octets from number of septets.
Definition: gsm_utils.c:192
struct gsm0808_channel_type channel_type
Definition: gsm0808.h:161
#define TE43(i)
Definition: aes_i.h:85
@ GSM411_RP_CAUSE_MO_OP_DET_BARR
Definition: gsm_04_11.h:69
@ NM_ATT_IPACC_UPTIME
Definition: gsm_12_21.h:456
@ PRIM_DL_RES
DL-RESUME.
Definition: lapd_core.h:27
uint8_t file_version[UINT8_MAX]
Definition: gsm_12_21.h:797
#define GSM48_MT_GMM_AUTH_CIPH_RESP
Definition: gsm_04_08_gprs.h:28
@ GSM48_REJECT_PROTOCOL_ERROR
Definition: gsm_04_08.h:1735
static void msgb_sgsap_lai_put(struct msgb *msg, const struct osmo_location_area_id *lai)
Definition: gsm29118.c:231
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:422
@ GSM0808_IE_CHOSEN_CHANNEL
Definition: gsm_08_08.h:219
#define GSM48_MT_GMM_ATTACH_REQ
Definition: gsm_04_08_gprs.h:13
#define GSM_MI_ODD
Definition: gsm_04_08.h:1480
#define LAPDm_SAPI_SMS
Definition: lapdm.c:57
@ NM_ATT_IPACC_PRIM_OML_FB_TOUT
Definition: gsm_12_21.h:435
3GPP TS 3GPP TS 29.018 8.15 SGsAP-RESET-ACK and 8.16 SGsAP-RESET-INDICATION.
Definition: gsm29118.h:44
@ GSM48_CC_CAUSE_INVAL_MAND_INF
Definition: gsm_04_08.h:1696
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:789
@ GSM48_CMODE_SIGN
Definition: gsm_04_08.h:575
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:103
@ GSM0808_SC_CFG_AMR_12_2
Definition: gsm_08_08.h:594
Definition: gsm0808.h:228
Parsed representation of Global Call Reference, 3GPP TS 29.205 Table B 2.1.9.1.
Definition: gsm29205.h:33
static unsigned int llist_count(const struct llist_head *head)
static int cbsp_enc_write_repl(struct msgb *msg, const struct osmo_cbsp_write_replace *in)
Definition: cbsp.c:148
const uint8_t * global_call_reference
Definition: gsm0808.h:192
char vlr_name[SGS_VLR_NAME_MAXLEN+1]
Definition: gsm29118.h:46
static const struct value_string nack_names[]
Definition: abis_nm.c:109
@ OSMO_EVT_MAJ_UKWN_MSG
Definition: gsm_12_21.h:267
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
@ NM_ATT_IPACC_PAGING_CFG
Definition: gsm_12_21.h:428
@ BSSAP_MSG_BSS_MANAGEMENT
Definition: gsm_08_08.h:34
@ GSM0808_LCLS_STS_NO_LONGER_LS
Definition: gsm_08_08.h:661
@ NM_MT_MEAS_RES_RESP
Definition: gsm_12_21.h:183
struct msgb * gsm0480_create_unstructuredSS_Notify(int alertPattern, const char *text)
Definition: gsm0480.c:100
#define AES_PRIV_SIZE
Definition: aes_i.h:120
#define ABIS_NM_MSG_HEADROOM
Definition: gsm_12_21.h:46
@ 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:266
Definition: gsm48_rest_octets.h:79
@ GMM_CAUSE_ILLEGAL_ME
Definition: gsm_04_08_gprs.h:210
uint8_t n_recv
Definition: lapd_core.h:108
@ GA_MT_RC_DISCOVERY_REQUEST
Definition: gsm_44_318.h:19
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:904
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR
Definition: gsm_08_08.h:563
@ BSS_MAP_MSG_QUEUING_INDICATION
Definition: gsm_08_08.h:151
const char * abis_nm_nack_name(uint8_t nack)
Get human-readable string for OML NACK message type.
Definition: abis_nm.c:148
static int c128v2_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Definition: auth_comp128v23.c:35
@ DL_SAPI3
SAPI 1.
Definition: lapdm.h: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:52
@ OSMO_GSUP_SS_INFO_IE
Supplementary Services payload.
Definition: gsup.h:97
@ OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_ERROR
Definition: gsup.h:183
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:949
@ GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP
Definition: gsm_08_08.h:407
static ubit_t mux_schan_provide_bit(struct osmo_i460_subchan *schan)
Definition: i460_mux.c:173
#define CR_USER2NET_CMD
Definition: lapd_core.c:101
const struct value_string sgsap_eps_lu_type_names[]
Definition: gsm29118.c:96
@ BSS_MAP_MSG_HANDOVER_PERFORMED
Definition: gsm_08_08.h:87
static int lapd_send_rr(struct lapd_msg_ctx *lctx, uint8_t f_bit, uint8_t cmd)
Definition: lapd_core.c:478
@ GSM0808_SC_CFG_DEFAULT_AMR_5_15
Definition: gsm_08_08.h:574
@ GA_MT_CSR_CM_ENQ
Definition: gsm_44_318.h:60
#define GSM48_MT_RR_PACKET_ASS
Definition: gsm_04_08.h:1281
int osmo_cgi_cmp(const struct osmo_cell_global_id *a, const struct osmo_cell_global_id *b)
Definition: gsm23003.c:492
#define OSMO_NRI_BITLEN_MAX
Definition: gsm23236.h:13
static const uint8_t xcch_state[][2]
Definition: gsm0503_conv.c:26
@ BSS_MAP_MSG_BLOCK
Definition: gsm_08_08.h:132
uint16_t * new_serial_nr
Definition: cbsp.h:243
#define llist_for_each_entry(pos, head, member)
@ NM_MT_SET_RADIO_ATTR_NACK
Definition: gsm_12_21.h:132
#define GSM48_MT_RR_GPRS_SUSP_REQ
Definition: gsm_04_08.h:1353
static __attribute__((constructor))
Definition: auth_xor.c:182
struct gsm341_ms_message::@23 dcs
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:54
uint8_t * osmo_encode_big_endian(uint64_t value, size_t data_len)
@ _OSMO_AUTH_ALG_NUM
Definition: auth.h:35
const struct value_string osmo_gsup_session_state_names[]
Definition: gsup.c:109
#define GSM48_IE_CTS_PERMISSION
Definition: gsm_04_08.h:1584
@ SGSAP_IE_CLI
Definition: gsm_29_118.h:64
#define GSM48_IE_RR_PACKET_DL
Definition: gsm_04_08.h:1553
@ CELL_IDENT_LAC
Definition: gsm_08_08.h:23
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL
Definition: gsm_08_08.h:398
enum osmo_rat_type supported_rat_types[8]
arbitrary choice
Definition: gsup.h:387
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:175
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:46
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:152
#define GSM48_PDISC_EXTEND
Definition: gsm_04_08.h:1173
#define GSM48_IE_BEARER_CAP
Definition: gsm_04_08.h:1490
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:213
@ GSM0808_IE_RESOURCE_AVAILABLE
Definition: gsm_08_08.h:189
@ GSM0808_IE_FORWARD_INDICATOR
Definition: gsm_08_08.h:229
@ GMM_CAUSE_PLMN_NOTALLOWED
Definition: gsm_04_08_gprs.h:215
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:290
@ 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:793
uint32_t gprs_tmsi2tlli(uint32_t p_tmsi, enum gprs_tlli_type type)
Determine TLLI from P-TMSI.
Definition: gsm_utils.c:972
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:650
@ OSMO_GSUP_DESTINATION_NAME_IE
Definition: gsup.h:114
#define ARFCN_PCS
Definition: gsm_utils.h:157
static int cbsp_dec_kill(struct osmo_cbsp_kill *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx)
Definition: cbsp.c:790
@ NM_MT_SET_SITE_OUT
Definition: gsm_12_21.h:175
#define GSM48_IE_NOTIFY
Definition: gsm_04_08.h:1497
static const uint8_t tch_hr_output[][2]
Definition: gsm0503_conv.c:774
@ NM_MT_STATECHG_EVENT_REP
Definition: gsm_12_21.h:148
const char * gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer)
Definition: gsm0808.c:1762
@ GSM_BAND_850
Definition: gsm_utils.h:53
static const int tch_ahs_7_95_puncture[]
Definition: gsm0503_conv.c:841
uint16_t gsm_freq102arfcn(uint16_t freq10, int uplink)
Convert a Frequency in MHz * 10 to ARFCN.
Definition: gsm_utils.c:830
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:825
enum gsm48_gmm_cause cause
Definition: gsup.h:305
@ RSL_MT_CHAN_RQD
Definition: gsm_08_58.h:160
@ GSM411_RP_CAUSE_INV_TRANS_REF
Definition: gsm_04_11.h:86
static void msgb_put_u16(struct msgb *msgb, uint16_t word)
const u32 Td0[256]
Definition: aes-internal.c:407
#define GSM48_MT_RR_SYSINFO_8
Definition: gsm_04_08.h:1320
static void lapd_t200_cb(void *data)
Definition: lapd_core.c:590
#define A5_R3_LEN
Definition: a5.c:107
const struct value_string gsm0808_speech_codec_type_names[]
Definition: gsm0808.c:1596
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:207
#define GSM48_MT_CC_EMERG_SETUP
Definition: gsm_04_08.h:1397
@ SGSAP_MSGT_DL_UD
Definition: gsm_29_118.h:12
@ GSM0808_IE_LAYER_3_HEADER_INFORMATION
Definition: gsm_08_08.h:193
@ LAPDm_FMT_A
Definition: lapdm.c:110
size_t num_auth_vectors
Definition: gsup.h:310
bool vlr_name_present
Definition: gsm29118.h:45
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:43
#define GSM48_MT_MM_TMSI_REALL_COMPL
Definition: gsm_04_08.h:1377
static const uint8_t gsm0502_tch_h0_facch_block_map[3][6]
Definition: gsm0502.c:82
int len
Definition: mncc.h:63
@ BSS_MAP_MSG_PAGING
Definition: gsm_08_08.h:147
#define APN_GPRS_FMT
Definition: apn.c:32
@ NM_IPACC_TESTNO_TX_BEACON
Definition: gsm_12_21.h:721
int op
Definition: lapd_core.c:2080
@ OSMO_GSUP_SM_ALERT_RSN_IE
Definition: gsup.h:106
@ 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:199
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:77
#define GSM0480_OPERATION_CODE
Definition: gsm_04_80.h:26
struct llist_head send_queue
frames from L3
Definition: lapd_core.h:157
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:730
@ NM_NACK_PHYSCFG_NOTRESTORE
Definition: gsm_12_21.h:624
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:598
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:155
#define GSM48_MT_CC_ESTAB
Definition: gsm_04_08.h:1399
@ GMM_CAUSE_IMSI_UNKNOWN
Definition: gsm_04_08_gprs.h:207
3GPP TS 48.008 §3.2.2.5.8 Old BSS to New BSS information
Definition: gsm0808.h:113
@ GSM0808_PERM_HR1
GSM HR.
Definition: gsm_08_08.h:487
struct osmo_cbsp_keep_alive keep_alive
Definition: cbsp.h:281
enum gsm48_bcap_parity parity
Definition: mncc.h:26
gsm0502_fn_remap_channel
Definition: gsm0502.h:63
const struct osmo_conv_code gsm0503_cs3
CS3 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:186
#define GSM48_IE_PRIORITY_LEV
Definition: gsm_04_08.h:1582
@ BSS_MAP_MSG_CHANGE_CIRCUIT
Definition: gsm_08_08.h:141
@ GMM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:236
@ GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE
Definition: gsm_08_08.h:413
@ OSMO_CGI_PART_LAC
Definition: gsm23003.h:38
#define MDL_CAUSE_FRMR
Definition: lapd_core.h:47
@ BSS_MAP_MSG_CONNECTION_ORIENTED_INFORMATION
Definition: gsm_08_08.h:109
static int parse_ss_facility(const uint8_t *ss_facility, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:422
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:558
@ NM_NACK_FREQ_NOTAVAIL
Definition: gsm_12_21.h:619
int lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t)
initialize a LAPDm channel and all its channels
Definition: lapdm.c:248
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:1717
static __attribute__((constructor))
Definition: auth_comp128v1.c:50
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:1887
#define IP_PORT_LEN
Definition: gsm0808_utils.c:36
@ BTS_FEAT_AGCH_PCH_PROP
Definition: bts_features.h:19
#define GSM48_MT_RR_PAG_REQ_2
Definition: gsm_04_08.h:1308
int gsm_7bit_decode(char *text, const uint8_t *user_data, uint8_t septet_l)
Definition: gsm_utils.c:991
#define GPRS_UPD_T_PERIODIC
Definition: gsm_04_08_gprs.h:75
Definition: i460_mux.h:68
@ LAPD_STATE_DISC_SENT
Definition: lapd_core.h:82
#define LAPDm_CTRL_Nr(ctrl)
Definition: lapdm.c:80
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:655
@ GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL
Definition: gsm_08_08.h:401
#define GSM48_IE_TIMING_ADVANCE
Definition: gsm_04_08.h:1568
lapdm_cb_t l3_cb
callback for sending stuff to L3
Definition: lapdm.h:62
@ NM_ATT_IPACC_SSL_CFG
Definition: gsm_12_21.h:458
bool chosen_channel_present
Definition: gsm0808.h:208
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:301
@ OSMO_EVT_EXT_ALARM
Definition: gsm_12_21.h:276
static int send_rslms_rll_l3(uint8_t msg_type, struct lapdm_msg_ctx *mctx, struct msgb *msg)
Definition: lapdm.c:503
@ BTS_FEAT_EGPRS
Definition: bts_features.h:14
@ 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:778
@ GSM0808_SCT_HR6
OHR AMR.
Definition: gsm_08_08.h:508
@ BSS_MAP_MSG_INT_HANDOVER_ENQUIRY
Definition: gsm_08_08.h:95
@ NM_SEVER_INDETERMINATE
Definition: gsm_12_21.h:586
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:371
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:956
struct msgb * gsm0808_create_reset(void)
Create BSSMAP RESET message.
Definition: gsm0808.c:141
@ GSM0808_CAUSE_MS_NOT_EQUIPPED
Definition: gsm_08_08.h:387
@ BSS_MAP_MSG_CLEAR_COMPLETE
Definition: gsm_08_08.h:99
@ NM_ATT_FILE_ID
Definition: gsm_12_21.h:337
@ NM_ATT_IPACC_STREAM_ID
Definition: gsm_12_21.h:418
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
lapd_mode
LAPD mode/role.
Definition: lapd_core.h:69
#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:284
uint8_t chan_nr
Definition: lapdm.h:23
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:1310
gprs_tlli_type
Definition: gsm_utils.h:185
#define GSM48_LUPD_IMSI_ATT
Definition: gsm_04_08.h:1466
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:880
struct osmo_i460_schan_desc::@7 demux
@ GSM0808_IE_OLD_BSS_TO_NEW_BSS_INFORMATION
Definition: gsm_08_08.h:244
@ GSM48_REJECT_PLMN_NOT_ALLOWED
Definition: gsm_04_08.h:1718
void msgb_reset(struct msgb *msg)
static int lapd_udata_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1660
static const uint8_t tch_afs_6_7_output[][2]
Definition: gsm0503_conv.c:468
@ SAP_GSM_PH
Definition: prim.h:9
int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp)
Definition: gsm0808_utils.c:1566
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:260
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RESULT
Definition: gsm_08_08.h:162
#define ABIS_RSL_MDISC_COM_CHAN
Definition: gsm_08_58.h:126
@ GSM0808_IE_LCLS_CONFIG
Definition: gsm_08_08.h:310
@ NM_MT_SEND_TEST_REP_ACK
Definition: gsm_12_21.h:142
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:905
#define GSM48_IE_UTC
Definition: gsm_04_08.h:1485
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:482
const char * abis_nm_dump_foh(const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:941
Definition: gsm0502.c:102
@ NM_IPACC_TESTNO_CHAN_USAGE
Definition: gsm_12_21.h:717
char osmo_luhn(const char *in, int in_len)
const char * imsi
Definition: gsm0808.h:183
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:245
uint8_t type
See enum gsm0808_speech_codec_type.
Definition: gsm_08_08.h:543
@ NM_MT_ESTABLISH_TEI_NACK
Definition: gsm_12_21.h:106
@ NM_NACK_OBJCLASS_INVAL
Definition: gsm_12_21.h:605
#define LAPDm_EL
Definition: lapdm.c:84
const struct value_string osmo_cm_service_type_names[]
Definition: gsm48.c:1690
int osmo_cgi_cmp(const struct osmo_cell_global_id *a, const struct osmo_cell_global_id *b)
Definition: gsm23003.c:492
struct lapdm_datalink datalink[_NR_DL_SAPI]
the SAPIs of the LAPDm entity
Definition: lapdm.h:52
static int c128v1_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Definition: auth_comp128v1.c:33
@ RSL_IE_L3_INFO
Definition: gsm_08_58.h:280
@ 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
Definition: gsm_04_08.h:578
#define LAPDm_CTRL_I(nr, ns, p)
Definition: lapdm.c:66
struct llist_head list
Definition: cbsp.h:59
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:1381
struct msgb * gsm29118_create_mm_info_req(const char *imsi, const uint8_t *mm_info, uint8_t mm_info_len)
Definition: gsm29118.c:323
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:224
uint16_t msg_id
Definition: gsm_03_41.h:33
struct msgb * gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id)
Create BSSMAP Cipher Mode Complete message.
Definition: gsm0808.c:270
#define GSM_7BIT_LEGACY_MAX_BUFFER_SIZE
Definition: gsm_utils.h:236
@ FN_REMAP_FACCH_H1
Definition: gsm0502.h:69
@ OSMO_GSUP_CK_IE
Definition: gsup.h:85
@ FN_REMAP_TCH_H1
Definition: gsm0502.h:66
@ BSS_MAP_MSG_INT_HANDOVER_CMD
Definition: gsm_08_08.h:94
static const int tch_afs_7_95_puncture[]
Definition: gsm0503_conv.c:388
@ NM_MT_CHG_ADM_STATE_REQ_NACK
Definition: gsm_12_21.h:161
@ NM_SEVER_WARNING
Definition: gsm_12_21.h:585
static int gsm411_mmsms_rel_ind(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:378
Definition: gsm_04_08.h:965
@ CBSP_IEI_DCS
Definition: gsm_48_049.h:34
@ GSM0808_SCT_FR1
GSM FR.
Definition: gsm_08_08.h:500
static int cbsp_enc_msg_status_query(struct msgb *msg, const struct osmo_cbsp_msg_status_query *in)
Definition: cbsp.c:292
static const char * lapd_state_name(enum lapd_state state)
Definition: lapd_core.c:198
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:1801
uint8_t nln_sacch
Definition: gsm48_rest_octets.h:25
#define GSM48_MT_MM_AUTH_RESP
Definition: gsm_04_08.h:1372
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:592
@ GSM0808_IE_RESPONSE_RQST
Definition: gsm_08_08.h:213
Definition: gsm0808.h:204
@ GSM0808_IE_CLASSMARK_INFORMATION_T3
Definition: gsm_08_08.h:205
@ BSS_MAP_MSG_UPLINK_RQST_CONFIRMATION
Definition: gsm_08_08.h:167
int osmo_gsm48_range_enc_1024(uint8_t *chan_list, int f0, int f0_included, int *w)
Definition: gsm48_arfcn_range_encode.c:293
static const struct egprs_cps egprs_cps_table_type3[EGPRS_CPS_TYPE3_TBL_SZ]
Definition: gprs_rlc.c:73
@ GA_MT_RC_DISCOVERY_REJECT
Definition: gsm_44_318.h:21
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_ENQUIRE
Definition: gsm_08_08.h:88
unsigned int priority
Definition: gprs_cipher.h:35
@ GSM48_BCAP_ITCAP_UNR_DIG_INF
Definition: gsm_04_08.h:1822
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
#define OSMO_EARFCN_MEAS_INVALID
Definition: sysinfo.h:12
struct lapd_history * tx_hist
tx history structure array
Definition: lapd_core.h:160
#define GRND_NONBLOCK
Definition: gsm_utils.c:115
#define GSM48_PDISC_RR
Definition: gsm_04_08.h:1167
static struct fn_remap_table tch_f_remap_table
Definition: gsm0502.c:110
@ GA_MT_CSR_HO_COMPL
Definition: gsm_44_318.h:47
@ GSM_PCHAN_TCH_F_TCH_H_PDCH
Definition: gsm_utils.h:213
@ NM_ATT_MDROP_NEXT
Definition: gsm_12_21.h:352
#define GSM48_IE_NET_DST
Definition: gsm_04_08.h:1488
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:64
struct ph_rach_ind_param rach_ind
Definition: l1sap.h:164
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:83
@ GSM48_REJECT_GPRS_NOT_ALLOWED
Definition: gsm_04_08.h:1738
struct msgb * cp_msg
Definition: gsm0411_smc.h:39
@ BSS_MAP_MSG_UPLINK_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:166
LAPD message context.
Definition: lapd_core.h:96
#define GSM48_PDISC_BCAST_CC
Definition: gsm_04_08.h:1161
#define GSM48_MT_CC_HOLD_ACK
Definition: gsm_04_08.h:1410
@ NM_PCAUSE_T_GSM
Definition: gsm_12_21.h:592
int gsm48_decode_keypad(int *keypad, const uint8_t *lv)
Decode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:709
uint16_t msg_id
Definition: cbsp.h:149
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:200
#define GSM411_MMSMS_EST_REQ
Definition: gsm0411_smc.h:10
#define GSM48_MT_RR_ASS_CMD
Definition: gsm_04_08.h:1290
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:1855
#define RCON(i)
Definition: aes_i.h:72
#define CELL_IDENT_LAI_AND_LAC
Definition: gsm_08_08.h:30
static void llist_add_tail(struct llist_head *_new, struct llist_head *head)
#define SBIT(a)
Definition: gsm_04_08.h:1812
@ NM_MT_CONN_MDROP_LINK
Definition: gsm_12_21.h:120
Definition: gsm_03_41.h:20
static int rsl_is_transparent(uint8_t msg_type)
Definition: lapdm.c:488
@ GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC
Definition: gsm_08_08.h:417
@ CBSP_IEI_MSG_ID
Definition: gsm_48_049.h:36
#define GSM0480_IE_SS_VERSION
Definition: gsm_04_80.h:13
@ GMM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:232
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:466
@ SGSAP_IE_LAI
Definition: gsm_29_118.h:48
@ GSM0808_IE_GROUP_CALL_REFERENCE
Definition: gsm_08_08.h:241
@ GSM0808_CAUSE_CLASS_SRV_OPT_NA
Definition: gsm_08_08.h:427
static const uint8_t table1[256]
Definition: comp128v23.c:56
static void xor(uint8_t *out, const uint8_t *a, const uint8_t *b, size_t len)
Definition: auth_xor.c:40
@ GSM0808_ALG_ID_A5_6
Definition: gsm_08_08.h:524
uint64_t id
Definition: gsm0411_smr.h:17
const struct value_string sgsap_msg_type_names[]
Definition: gsm29118.c:31
@ GMM_CAUSE_GPRS_NOTALLOWED
Definition: gsm_04_08_gprs.h:211
@ GSM0808_SCT_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:507
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:127
@ OSMO_GSUP_SM_RP_MR_IE
Definition: gsup.h:100
@ NM_ATT_IPACC_RLC_CFG
Definition: gsm_12_21.h:448
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:394
#define OSMO_GSM48_RANGE_ENC_MAX_ARFCNS
Definition: gsm48_arfcn_range_encode.h:15
enum osmo_sub_auth_type type
Definition: auth.h:40
@ GSM0808_SCT_HR1
GSM_HR.
Definition: gsm_08_08.h:505
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:278
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:1118
int gsm_7bit_encode_ussd(uint8_t *result, const char *data, int *octets)
Definition: gsm_utils.c:1013
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE_LIST
Definition: gsm_08_08.h:216
Definition: gsm_04_08.h:314
#define OSMO_PRIM(prim, op)
gsm_phys_chan_config
Definition: gsm_utils.h:201
int t200_usec
retry timer (default 1 sec)
Definition: lapd_core.h:151
#define GPRS_DET_T_MT_REATT_NOTREQ
Definition: gsm_04_08_gprs.h:65
uint8_t ck[OSMO_A5_MAX_KEY_LEN_BYTES]
ciphering key
Definition: auth.h:63
const char * name
Definition: gsm0411_smc.c:486
struct osmo_gsm48_si_ro_info::@6 scheduling
static const uint8_t tch_ahs_7_4_term_output[]
Definition: gsm0503_conv.c:884
@ SGSAP_IE_LCS_CLIENT_ID
Definition: gsm_29_118.h:65
@ BSS_MAP_MSG_REROUTE_CMD
Definition: gsm_08_08.h:115
const struct value_string osmo_gsup_message_class_names[]
Definition: gsup.c:908
@ NM_MT_SET_ALARM_THRES_NACK
Definition: gsm_12_21.h:192
@ 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:703
struct osmo_cbsp_write_replace::@0::@1 cbs
struct lapd_datalink dl
Definition: lapdm.h:31
static const uint8_t tch_ahs_5_15_output[][2]
Definition: gsm0503_conv.c:1007
3GPP TS 48.008 §3.2.1.9 HANDOVER REQUIRED
Definition: gsm0808.h:132
struct gsm0808_cell_id cell_identifier
Definition: gsm0808.h:232
@ FN_REMAP_TCH_F
Definition: gsm0502.h:64
bool osmo_str_startswith(const char *str, const char *startswith_str)
@ NM_NACK_ATTRID_INVAL
Definition: gsm_12_21.h:610
@ NM_ATT_IPACC_PRIM_OML_CFG_LIST
Definition: gsm_12_21.h:434
#define RSL_CHAN_RACH
Definition: gsm_08_58.h:428
struct msgb * gsm0808_create_reset_ack(void)
Create BSSMAP RESET ACK message.
Definition: gsm0808.c:158
@ T200_SDCCH
Definition: gsm_12_21.h:648
Definition: gsm_04_08.h:786
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:82
@ RSL_IE_TIMING_ADVANCE
Definition: gsm_08_58.h:293
bool mnc_3_digits
Definition: gsm23003.h:12
@ NM_NACK_TEST_NOSTOP
Definition: gsm_12_21.h:626
int gsm411_smc_send(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.c:454
#define GSM48_IE_LOCATION_AREA
Definition: gsm_04_08.h:1578
struct msgb * gsm29118_create_lu_rej(const char *imsi, uint8_t rej_cause, const struct osmo_location_area_id *lai)
Definition: gsm29118.c:307
@ GSM48_CC_CAUSE_CHAN_UNACCEPT
Definition: gsm_04_08.h:1658
enum osmo_gsup_message_type message_type
Definition: gsup.h:303
static LLIST_HEAD(gprs_ciphers)
uint8_t lpd
Definition: lapd_core.h:103
const struct tlv_definition gsm48_att_tlvdef
TLV parser definitions for TS 04.08 CC.
Definition: gsm48.c:56
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
int(* gen_vec)(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
callback for generate authentication vectors
Definition: auth.h:80
static int lapd_rel_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2001
static int cbsp_enc_write_repl_compl(struct msgb *msg, const struct osmo_cbsp_write_replace_complete *in)
Definition: cbsp.c:191
char * osmo_gcr_dump(const struct osmo_lcls *lcls)
Dump GCR struct into static string buffer for printing.
Definition: gsm0808_utils.c:687
struct msgb * gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause)
Create BSSMAP Assignment Failure message.
Definition: gsm0808.c:697
#define GPRS_DET_T_MT_REATT_REQ
Definition: gsm_04_08_gprs.h:64
int location
Definition: mncc.h:58
size_t num_pdp_infos
Definition: gsup.h:312
uint8_t link_id
Definition: gsm_08_58.h:91
void lapdm_entity_reset(struct lapdm_entity *le)
Reset an entire LAPDm entity and all its datalinks.
Definition: lapdm.c:1483
#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:242
@ BSS_MAP_MSG_CLASSMARK_UPDATE
Definition: gsm_08_08.h:149
static const uint8_t tch_ahs_4_75_output[][2]
Definition: gsm0503_conv.c:1068
uint16_t lac
Definition: gsm_04_08.h:1
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:189
uint8_t spgc_ccch_sup
Definition: gsm48_rest_octets.h:118
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:50
@ GSM411_RP_CAUSE_MO_UNIDENTIFIED_SUBSCR
Definition: gsm_04_11.h:73
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:359
static const uint8_t tch_hr_state[][2]
Definition: gsm0503_conv.c:755
union osmo_sub_auth_data::@71 u
@ OSMO_I460_RATE_16k
Definition: i460_mux.h:35
@ OSMO_GSUP_IK_IE
Definition: gsup.h:84
@ GSM0808_IE_CIPHER_RESPONSE_MODE
Definition: gsm_08_08.h:221
struct osmo_i460_subchan schan[8]
Definition: i460_mux.h:77
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:1760
uint8_t v_send
seq nr of next I frame to be transmitted
Definition: lapd_core.h:144
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:1697
#define GSM48_MT_RR_UTRAN_CLSM_CHG
Definition: gsm_04_08.h:1315
bool si2ter_indicator
Definition: gsm48_rest_octets.h:90
@ GSM0808_SC_CFG_DEFAULT_AMR_7_95
Definition: gsm_08_08.h:578
@ GSM0808_IE_TIME_INDICATION
Definition: gsm_08_08.h:233
uint8_t cm2_len
Definition: gsm_04_08.h:0
@ SGSAP_MSGT_RESET_IND
Definition: gsm_29_118.h:26
@ GSM0808_IE_GANSS_LOCATION_TYPE
Definition: gsm_08_08.h:292
Definition: gsm_08_08.h:616
union gsm0808_cell_id_u cell_id
Definition: cbsp.h:53
@ NM_MT_SEND_TEST_REP
Definition: gsm_12_21.h:141
#define OSMO_GSUP_TO_MSGT_ERROR(msgt)
Definition: gsup.h:209
#define GSM48_MT_MM_ABORT
Definition: gsm_04_08.h:1385
@ GSM0808_CAUSE_DTM_HO_INVALID_PS_IND
Definition: gsm_08_08.h:415
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:205
#define GPRS_UPD_T_RA_LA
Definition: gsm_04_08_gprs.h:73
#define GSM411_MT_CP_DATA
Definition: gsm_04_11.h:29
#define GSM48_MT_GMM_AUTH_CIPH_REJ
Definition: gsm_04_08_gprs.h:29
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:1214
const struct value_string osmo_gsup_message_type_names[]
Definition: gsup.c: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 prim
Definition: lapd_core.c:2080
int cp_rel
Definition: gsm0411_smc.h:40
bool present
Definition: gsm48_rest_octets.h:44
#define A51_R2_CLKBIT
Definition: a5.c:164
@ GSM0808_IE_RESOURCE_SITUATION
Definition: gsm_08_08.h:234
@ LAPD_FORM_S
Definition: lapd_core.h:91
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:1137
struct llist_head list
Definition: cbsp.h:75
struct msgb * gsm0480_create_notifySS(const char *text)
Definition: gsm0480.c:141
@ 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
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:459
@ NM_NACK_MSGINCONSIST_PHYSCFG
Definition: gsm_12_21.h:627
@ NM_MT_LOAD_ABORT
Definition: gsm_12_21.h:92
struct lapd_datalink * dl
Definition: lapd_core.h:97
#define llist_entry(ptr, type, member)
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:1687
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL
Definition: gsm_08_08.h:642
static int send_rll_simple(uint8_t msg_type, struct lapdm_msg_ctx *mctx)
Definition: lapdm.c:535
#define GSM48_MT_RR_IS_TO_CDMA2K_HANDO
Definition: gsm_04_08.h:1318
struct gsm0808_speech_codec_list codec_list_bss_supported
Definition: gsm0808.h:274
struct msgb * ipa_msg_alloc(int headroom)
Definition: ipa.c:694
static struct fn_remap_table * fn_remap_table_ptr[FN_REMAP_MAX]
Definition: gsm0502.c:116
@ GSM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:269
@ SGSAP_SGS_CAUSE_UE_UNREACHABLE
Definition: gsm_29_118.h:132
@ NM_NACK_CANT_PERFORM
Definition: gsm_12_21.h:615
static struct gprs_cipher_impl gea3_impl
Definition: gprs_gea.c:34
bool pt
Definition: gsm_08_08.h:540
static const uint8_t * _comp128_table[5]
Definition: comp128.c:144
@ NM_MT_CONN_MDROP_LINK_ACK
Definition: gsm_12_21.h:121
uint8_t chan_nr
Definition: gsm_04_08.h:0
#define GSM48_MT_RR_DTM_INFO
Definition: gsm_04_08.h:1354
@ GSM0808_IE_TRIGGERID
Definition: gsm_08_08.h:224
#define LAPDm_ADDR_LPD(addr)
Definition: lapdm.c:60
@ GSM0808_PERM_HR3
HR AMR.
Definition: gsm_08_08.h:489
static const uint8_t tch_ahs_4_75_state[][2]
Definition: gsm0503_conv.c:1049
@ BSS_MAP_MSG_RESET
Definition: gsm_08_08.h:119
@ NM_MT_SET_BTS_ATTR
Definition: gsm_12_21.h:127
@ SGSAP_MSGT_TMSI_REALL_CMPL
Definition: gsm_29_118.h:17
#define GSM48_IE_REPEAT_SEQ
Definition: gsm_04_08.h:1517
#define GSM48_IE_CLIR_INVOC
Definition: gsm_04_08.h:1514
struct gsm0808_speech_codec speech_codec_chosen
Definition: gsm0808.h:250
uint8_t net_len
Network ID, ITU-T Q.1902.3.
Definition: gsm29205.h:35
unsigned int present
Definition: gsm48_rest_octets.h:84
void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200) OSMO_DEPRECATED("Use lapdm_entity_init3() instead")
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:180
@ NM_SEVER_CEASED
Definition: gsm_12_21.h:581
@ GSM0808_IE_CHOSEN_ENCR_ALG
Definition: gsm_08_08.h:230
@ GSM0808_IE_CN_TO_MS_TRANSP_INFO
Definition: gsm_08_08.h:319
struct msgb * gsm0808_create_cipher_reject(enum gsm0808_cause cause)
Create BSSMAP Cipher Mode Reject message.
Definition: gsm0808.c:298
uint8_t len
Definition: gsm_08_08.h:601
uint8_t bcch_change_mark
Definition: gsm48_rest_octets.h:115
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:233
static const uint8_t tch_afs_7_4_output[][2]
Definition: gsm0503_conv.c:421
bool early_cm_ctrl
Definition: gsm48_rest_octets.h:91
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:1062
uint8_t msg_type
Definition: gsm_04_08.h:724
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:87
#define LAPDm_CTRL_U_BITS(ctrl)
Definition: lapdm.c:74
@ GSM48_RR_CAUSE_COND_IE_ERROR
Definition: gsm_04_08.h:1649
static uint8_t enc_speech_codec(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Definition: gsm0808_utils.c:209
static __thread char apn_strbuf[APN_MAXLEN+1]
Definition: apn.c:34
@ NM_ATT_POWER_CLASS
Definition: gsm_12_21.h:358
@ RSL_MT_EST_CONF
Definition: gsm_08_58.h:145
#define GSM411_MT_RP_DATA_MO
Definition: gsm_04_11.h:52
#define GSM414_MT_ACT_EMMI_ACK
Definition: gsm_04_14.h:54
@ OSMO_EVT_PCU_VERS
Definition: gsm_12_21.h:277
static void lapd_acknowledge(struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:745
@ NM_MT_SW_ACT_REQ_ACK
Definition: gsm_12_21.h:97
@ GSM0808_IE_LAYER_3_MESSAGE_CONTENTS
Definition: gsm_08_08.h:218
@ GSM48_CC_CAUSE_SWITCH_CONG
Definition: gsm_04_08.h:1676
#define GSM48_MT_CC_RELEASE_COMPL
Definition: gsm_04_08.h:1418
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:181
#define MDL_CAUSE_UNSOL_UA_RESP
Definition: lapd_core.h:35
@ OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST
Definition: gsup.h:182
@ GSM0808_IE_DLCI
Definition: gsm_08_08.h:210
#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:420
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:886
@ GSM0808_IE_LCS_PRIORITY
Definition: gsm_08_08.h:250
uint8_t current_channel_type_1
Definition: gsm0808.h:169
int reestablish
enable reestablish support
Definition: lapd_core.h:138
static const uint8_t tch_afs_5_15_term_state[]
Definition: gsm0503_conv.c:616
#define GSM414_MT_CLOSE_TCH_LOOP_CMD
Definition: gsm_04_14.h:11
gsm48_dtx_mode
Definition: gsm_04_08.h:778
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:271
static uint8_t * msgb_tlv1_push(struct msgb *msg, uint8_t tag, uint8_t val)
push 1-byte tagged value
Definition: tlv.h:402
struct msgb * osmo_cbsp_msgb_alloc(void *ctx, const char *name)
Definition: cbsp.c:38
__attribute__((constructor))
Definition: gsm_utils.c:130
@ GSM0808_CHAN_SPEECH
Definition: gsm_08_08.h:436
const char * abis_nm_test_name(uint8_t test)
Get human-readable string for OML test.
Definition: abis_nm.c:676
int gsm411_smc_recv(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type)
Definition: gsm0411_smc.c:528
void * user_data
Definition: i460_mux.h:97
struct lapdm_entity lapdm_acch
Associated Control Channel.
Definition: lapdm.h:75
static int send_dl_simple(uint8_t prim, uint8_t op, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:412
@ OSMO_EVT_MAJ_NET_CONGEST
Definition: gsm_12_21.h:270
#define GSM48_MT_MM_CM_SERV_PROMPT
Definition: gsm_04_08.h:1383
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL
Definition: gsm_08_08.h:640
@ GSM0808_CAUSE_BETTER_CELL
Definition: gsm_08_08.h:369
#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:626
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
#define GSM0808_CELL_ID_LIST2_MAXLEN
(225-1)/2 is the maximum number of elements in a cell identifier list.
Definition: gsm0808_utils.h:36
@ GSM411_CP_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_11.h:46
@ GPRS_ALGO_GEA0
Definition: gprs_cipher.h:14
#define GSM48_IE_START_TIME
Definition: gsm_04_08.h:1566
@ GSM0808_CAUSE_DOWNLINK_STRENGTH
Definition: gsm_08_08.h:362
static int send_dl_l3(uint8_t prim, uint8_t op, struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapd_core.c:401
@ NM_MT_OPSTART_NACK
Definition: gsm_12_21.h:171
int comp128v3(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v3 algorithm.
Definition: comp128v23.c:119
@ GSM0808_SC_CFG_DEFAULT_FR_AMR
Definition: gsm_08_08.h:561
void bitvec_zero(struct bitvec *bv)
@ GSM48_RR_CAUSE_NORMAL
Definition: gsm_04_08.h:1635
bool rr_cause_present
Definition: gsm0808.h:271
static unsigned long gsm340_vp_absolute(uint8_t *sms_vp)
Definition: gsm0411_utils.c:169
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:76
@ NM_MT_START_MEAS
Definition: gsm_12_21.h:185
const struct value_string gsm48_cc_cause_names[]
TS 04.08 10.5..4.11 Call Control Cause Values.
Definition: gsm48.c:1501
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:266
@ GMM_CAUSE_IMPL_DETACHED
Definition: gsm_04_08_gprs.h:214
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:197
@ OSMO_EVT_CRIT_PROC_STOP
Definition: gsm_12_21.h:263
@ TLLI_RANDOM
Definition: gsm_utils.h:188
@ 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
@ CBSP_MSGT_WRITE_REPLACE_FAIL
Definition: gsm_48_049.h:53
char * name
human-readable name
Definition: lapdm.h:74
static int lapd_susp_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1906
uint16_t old_serial_nr
Definition: cbsp.h:179
#define TE432(i)
Definition: aes_i.h:88
static const char * gsm0808_cell_id_discr_name(enum CELL_IDENT id_discr)
Definition: gsm0808_utils.h:78
uint8_t bits
Definition: gprs_rlc.c:124
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan)
Obtain OML Channel Combination for phnsical channel config.
Definition: abis_nm.c:913
bool current_channel_type_1_present
Definition: gsm0808.h:168
static unsigned char * msgb_pull(struct msgb *msgb, unsigned int len)
#define GSM48_IE_AUX_STATUS
Definition: gsm_04_08.h:1496
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:41
const struct value_string lapd_state_names[]
Definition: lapd_core.c:185
@ GSM48_CC_CAUSE_INVAL_TRANS_NET
Definition: gsm_04_08.h:1694
#define EGPRS_CPS_TYPE3_TBL_SZ
Definition: gprs_rlc.c:22
uint8_t prio
Definition: sysinfo.h:61
#define GSM48_MT_RR_SYSINFO_3
Definition: gsm_04_08.h:1323
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:115
#define MDL_CAUSE_SEQ_ERR
Definition: lapd_core.h:39
#define GSM48_MT_RR_SYSINFO_13
Definition: gsm_04_08.h:1335
@ T200_SDCCH_SAPI3
Definition: gsm_12_21.h:653
@ RSL_MT_RES_REQ
Definition: gsm_08_58.h:154
uint8_t t2
Definition: gsm_utils.h:47
int(* rout)(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2082
static void msgb_queue_free(struct llist_head *queue)
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:378
@ GSM0808_ALG_ID_A5_1
Definition: gsm_08_08.h:519
struct gsm_mncc_bearer_cap::@18 data
#define GSM48_MT_RR_CFG_CHG_CMD
Definition: gsm_04_08.h:1286
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:160
@ NM_ATT_T200
Definition: gsm_12_21.h:370
@ 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:724
bool osmo_gsm48_classmark2_is_r99(const struct gsm48_classmark2 *cm2, uint8_t cm2_len)
Definition: gsm48.c:1706
@ GSM0808_IE_LCLS_CONN_STATUS_CTRL
Definition: gsm_08_08.h:311
@ GSM0808_IE_SEGMENTATION
Definition: gsm_08_08.h:262
@ GSM48_RR_CAUSE_INVALID_MAND_INF
Definition: gsm_04_08.h:1646
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:403
@ SGSAP_ID_EPS_T_NETWORK_INITIATED
Definition: gsm_29_118.h:95
@ CBSP_MSGT_SET_DRX
Definition: gsm_48_049.h:63
#define GSM48_MT_GMM_ID_RESP
Definition: gsm_04_08_gprs.h:32
static const int tch_ahs_5_15_puncture[]
Definition: gsm0503_conv.c:1024
#define GSM_MAX_FN
Definition: gsm_utils.h:39
static struct msgb * tx_dequeue_dcch_msgb(struct lapdm_entity *le)
Definition: lapdm.c:384
@ BSS_MAP_MSG_SAPI_N_REJECT
Definition: gsm_08_08.h:103
#define GSM48_MT_RR_CIPH_M_COMPL
Definition: gsm_04_08.h:1284
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:125
#define GPRS_DET_T_MT_IMSI
Definition: gsm_04_08_gprs.h:66
#define GSM48_PDISC_SM_GPRS
Definition: gsm_04_08.h:1170
uint64_t id
Definition: gsm0411_smc.h:30
static uint8_t gsm48_hdr_pdisc(const struct gsm48_hdr *hdr)
Definition: gsm_04_08.h:1183
const char * gsm0808_bssmap_name(uint8_t msg_type)
Return string name of BSSMAP Message Type.
Definition: gsm0808.c:1579
void ipa_prepend_header_ext(struct msgb *msg, int proto)
Definition: ipa.c:519
const char * gsm48_cc_msg_name(uint8_t msgtype)
return string representation of CC Message Type
Definition: gsm48.c:309
#define EGPRS_CPS_TYPE2_TBL_SZ
Definition: gprs_rlc.c:21
#define GSM_MAX_FACILITY
Definition: mncc.h:7
static unsigned char gsm_7bit_alphabet[]
Definition: gsm_utils.c:157
@ GSM0808_SCT_FR2
GSM EFR.
Definition: gsm_08_08.h:501
@ NM_OC_GPRS_NSVC
Definition: gsm_12_21.h:313
struct gsm48_loc_area_id lai
Definition: gsm_04_08.h:2
@ NM_MT_SET_SITE_OUT_NACK
Definition: gsm_12_21.h:177
int gsm0480_wrap_facility(struct msgb *msg)
Definition: gsm0480.c:93
static const uint8_t tch_axs_sid_update_term_state[]
Definition: gsm0503_conv.c:1143
static const uint8_t tch_afs_5_15_state[][2]
Definition: gsm0503_conv.c:602
static const uint8_t tch_ahs_7_4_state[][2]
Definition: gsm0503_conv.c:865
@ GA_MT_CSR_ACT_CHAN_ACK
Definition: gsm_44_318.h:36
struct osmo_cbsp_kill_failure kill_fail
Definition: cbsp.h:259
static int lapd_rel_req_idle(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2065
in_cb_queue_empty_t in_cb_queue_empty
Definition: i460_mux.h:103
struct osmo_location_area_id lai_and_lac
Definition: gsm0808_utils.h:45
size_t ss_info_len
Definition: gsup.h:331
@ 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:916
@ OSMO_CGI_PART_PLMN
Definition: gsm23003.h:37
@ 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:797
Definition: gprs_rlc.c:121
#define LAPD_U_UA
Definition: lapd_core.c:94
uint8_t bcast_msg_type
Definition: cbsp.h:229
static const int rach_ext_puncture[]
Definition: gsm0503_conv.c:103
static uint8_t _a5_1_get_output(uint32_t r[])
GSM A5/1 Output function.
Definition: a5.c:197
uint8_t digits[3]
Definition: gsm_04_08.h:1932
uint32_t u32
Definition: common.h:19
@ GSM0808_IE_REROUTE_COMPL_OUTCOME
Definition: gsm_08_08.h:308
#define A5_R2_TAPS
Definition: a5.c:116
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:697
static const char * gsm0808_lcls_control_name(enum gsm0808_lcls_control val)
Definition: gsm0808.h:335
@ GPRS_SERVICE_T_MBMS_MC_SERV
Definition: gsm_04_08_gprs.h:415
@ OSMO_AUTH_ALG_MILENAGE
Definition: auth.h:34
static const int cs2_puncture[]
Definition: gsm0503_conv.c:130
@ BSS_MAP_MSG_UPLINK_APP_DATA
Definition: gsm_08_08.h:174
#define GSM48_MT_MM_IMSI_DETACH_IND
Definition: gsm_04_08.h:1365
static const uint8_t tch_ahs_5_15_term_output[]
Definition: gsm0503_conv.c:1019
@ BSS_MAP_MSG_INT_HANDOVER_REQUIRED_REJ
Definition: gsm_08_08.h:93
@ GSM48_CC_CAUSE_NUMBER_CHANGED
Definition: gsm_04_08.h:1665
@ GSM_CAUSE_REQ_SERV_OPT_NOTSUB
Definition: gsm_04_08_gprs.h:253
bool osmo_gsm48_classmark1_is_r99(const struct gsm48_classmark1 *cm1)
Definition: gsm48.c:1701
const uint8_t * sm_rp_da
Definition: gsup.h:340
Definition: gsm0808.h:268
@ CELL_IDENT_BSS
Definition: gsm_08_08.h:24
int type
Definition: gsm0411_smr.c:432
uint8_t bit_offset
Definition: i460_mux.h:83
struct msgb * gsm0808_create_sapi_reject(uint8_t link_id)
Create BSSMAP SAPI N Reject message.
Definition: gsm0808.c:448
#define GSM_MI_TYPE_IMEI
Definition: gsm_04_08.h:1477
@ NM_PCAUSE_T_X721
Definition: gsm_12_21.h:591
#define GSM48_MT_CC_HOLD
Definition: gsm_04_08.h:1409
struct msgb * gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode)
Create BSSMAP Cipher Mode Command message.
Definition: gsm0808.c:233
@ GSM_PCHAN_TCH_F_PDCH
Definition: gsm_utils.h:209
unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi)
Definition: gsm0502.c:37
@ NM_OC_BS11_RACK
Definition: gsm_12_21.h:305
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:591
@ NM_MT_LOAD_END_ACK
Definition: gsm_12_21.h:94
@ OSMO_AUTH_ALG_NONE
Definition: auth.h:29
@ NM_ATT_IPACC_REVOC_DATE
Definition: gsm_12_21.h:461
@ NM_IPACC_TESTNO_BCCH_INFO
Definition: gsm_12_21.h:720
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:182
@ BSS_MAP_MSG_CLEAR_CMD
Definition: gsm_08_08.h:98
#define GSM340_TP_VPF_ENHANCED
Definition: gsm_04_11.h:135
struct msgb * rcv_buffer
buffer to assemble the received message
Definition: lapd_core.h:162
#define GSM48_IE_RR_PACKET_UL
Definition: gsm_04_08.h:1552
@ BSS_MAP_MSG_CHANGE_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:142
@ GPRS_ALGO_GEA1
Definition: gprs_cipher.h:15
gsm0808_lcls_control
Definition: gsm_08_08.h:648
static int append_utran_fdd(struct bitvec *bv, uint16_t u, int *sc, size_t length)
Definition: gsm48_rest_octets.c:321
@ IPAC_IDTAG_LOCATION2
Definition: ipaccess.h:59
#define BSS_MAP_MSG_ASSIGMENT_FAILURE
Definition: gsm_08_08.h:184
static void _comp128_compression(uint8_t *x)
Definition: comp128.c:164
static int lapd_send_rej(struct lapd_msg_ctx *lctx, uint8_t f_bit)
Definition: lapd_core.c:522
const struct value_string gsm0406_dlci_sapi_names[]
Definition: gsm0808.c:1472
@ DLCI_SAPI_RR_MM_CC
Definition: gsm_08_08.h:63
void * aes_encrypt_init(const u8 *key, size_t len)
Definition: aes-internal-enc.c:101
#define LOGP(ss, level, fmt, args...)
#define APPEND_STR(fmt, args...)
Definition: gsm0808_utils.c:1860
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:443
@ BSS_MAP_MSG_UPLINK_RELEASE_CMD
Definition: gsm_08_08.h:170
@ NM_MT_REP_OUTST_ALARMS_ACK
Definition: gsm_12_21.h:163
@ GMM_CAUSE_ROAMING_NOTALLOWED
Definition: gsm_04_08_gprs.h:217
static uint8_t do_mod(uint8_t x, uint8_t m)
Definition: lapd_core.c:127
static int rslms_rx_rll_rel_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1183
@ NM_ATT_IPACC_RLC_CFG_2
Definition: gsm_12_21.h:454
@ NM_MT_DISC_TERR_SIGN_NACK
Definition: gsm_12_21.h:112
#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:579
@ GSM0808_IE_GLOBAL_CALL_REF
Definition: gsm_08_08.h:309
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:693
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:172
const char * ipa_ccm_idtag_name(uint8_t tag)
Definition: ipa.c:93
struct osmo_cbsp_kill kill
Definition: cbsp.h:257
@ GSM0808_LCLS_STS_LOCALLY_SWITCHED
Definition: gsm_08_08.h:663
@ GSM0808_IE_CELL_IDENTIFIER_LIST
Definition: gsm_08_08.h:212
uint16_t group_id
Definition: gsm23003.h:87
@ GA_MT_CSR_ACT_CHAN_COMPL
Definition: gsm_44_318.h:37
@ GSM0808_CAUSE_RESPONSE_TO_MSC_INVOCATION
Definition: gsm_08_08.h:365
static const uint8_t tch_ahs_7_95_state[][2]
Definition: gsm0503_conv.c:817
unsigned int id_list_len
Definition: gsm0808_utils.h:59
uint8_t is_combined_ccch
Are we using a combined CCCH?
Definition: l1sap.h:47
@ GSM48_REJECT_SYNCH_FAILURE
Definition: gsm_04_08.h:1722
@ GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE
Definition: gsm_08_08.h:396
void lapdm_entity_set_flags(struct lapdm_entity *le, unsigned int flags)
Set the flags of a LAPDm entity.
Definition: lapdm.c:1502
static const int tch_ahs_6_7_puncture[]
Definition: gsm0503_conv.c:936
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:793
@ SGSAP_IE_SS_CODE
Definition: gsm_29_118.h:67
@ NM_MT_SW_ACT_REQ
Definition: gsm_12_21.h:96
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:409
#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:37
#define GSM48_MT_MM_CM_REEST_REQ
Definition: gsm_04_08.h:1384
@ GSM48_CC_CAUSE_COND_IE_ERR
Definition: gsm_04_08.h:1700
static unsigned long gsm340_vp_relative_integer(uint8_t *sms_vp)
Definition: gsm0411_utils.c:185
uint32_t fn
Definition: gsm_utils.h:45
int lapdm_entity_set_mode(struct lapdm_entity *le, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapdm.c:1427
static int cbsp_enc_failure(struct msgb *msg, const struct osmo_cbsp_failure *in)
Definition: cbsp.c:371
#define GSM48_IE_CALLING_BCD
Definition: gsm_04_08.h:1502
@ GSM0808_CAUSE_CCCH_OVERLOAD
Definition: gsm_08_08.h:384
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:65
@ GSM0808_PERM_FR1
GSM FR.
Definition: gsm_08_08.h:482
@ 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
struct lapd_datalink::@16 cr
bool classmark1_set
Definition: gsm_04_08.h:62
void osmo_i460_subchan_del(struct osmo_i460_subchan *schan)
Definition: i460_mux.c:388
@ OSMO_GSUP_SM_RP_DA_IE
Definition: gsup.h:101
static const uint8_t tch_ahs_7_95_term_state[]
Definition: gsm0503_conv.c:831
#define LAPDm_LEN(len)
Definition: lapdm.c:82
#define GSM48_IE_NAME_LONG
Definition: gsm_04_08.h:1483
#define GSM411_MNSMS_EST_IND
Definition: gsm0411_smc.h:25
unsigned int context_id
Definition: gsup.h:257
int gsm48_decode_freq_list(struct gsm_sysinfo_freq *f, 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:869
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:541
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:606
struct ph_rach_req_param rach_req
Definition: l1sap.h:163
#define GSM48_MT_MM_CM_SERV_REQ
Definition: gsm_04_08.h:1382
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:736
@ BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT
Definition: gsm_08_08.h:90
@ GSM48_RR_CAUSE_PROT_ERROR_UNSPC
Definition: gsm_04_08.h:1651
@ GSM_BAND_750
Definition: gsm_utils.h:59
#define LAPDm_SAPI_NORMAL
Definition: lapdm.c:56
@ GSM48_CC_CAUSE_INVAL_TRANS_ID
Definition: gsm_04_08.h:1691
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:372
@ NM_SEVER_MAJOR
Definition: gsm_12_21.h:583
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:1531
const struct value_string abis_mm_event_cause_names[]
Definition: abis_nm.c:154
@ BSS_MAP_MSG_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:133
enum cbsp_channel_ind * channel_ind
Definition: cbsp.h:144
uint8_t mi[0]
Definition: gsm_04_08.h:2
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:380
@ GSM411_RP_CAUSE_MO_UNKNOWN_SUBSCR
Definition: gsm_04_11.h:75
struct osmo_i460_timeslot * ts
Definition: i460_mux.h:69
@ GPRS_SERVICE_T_DATA
Definition: gsm_04_08_gprs.h:413
@ CBSP_MSGT_LOAD_QUERY_COMPL
Definition: gsm_48_049.h:58
@ GSM0808_SC_CFG_AMR_10_2
Definition: gsm_08_08.h:593
@ 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:1254
#define TE41(i)
Definition: aes_i.h:83
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:505
uint16_t lac
Definition: gsm48.h:28
void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) OSMO_DEPRECATED("Use lapdm_channel_init3() instead")
initialize a LAPDm channel and all its channels
Definition: lapdm.c:232
@ NM_ATT_SPEC_PROB
Definition: gsm_12_21.h:368
#define GSM48_MT_MM_ID_REQ
Definition: gsm_04_08.h:1374
struct gsm0808_speech_codec_list codec_list_bss_supported
Definition: gsm0808.h:252
@ CELL_IDENT_NO_CELL
Definition: gsm_08_08.h:21
@ NM_ATT_IPACC_FREQ_CTRL
Definition: gsm_12_21.h:420
void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len)
Data from E1 timeslot into de-multiplexer.
Definition: i460_mux.c:131
enum cbsp_channel_ind channel_ind
Definition: cbsp.h:166
union osmo_cbsp_decoded::@3 u
@ GSM_PCHAN_SDCCH8_SACCH8C
Definition: gsm_utils.h:207
static int rslms_rx_rll_res_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1146
void rsl_rll_push_hdr(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent)
Push a RSL RLL header onto an existing msgb.
Definition: rsl.c:522
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:949
Definition: i460_mux.h:61
@ GMM_CAUSE_MS_ID_NOT_DERIVED
Definition: gsm_04_08_gprs.h:213
static uint8_t * msgb_tl_put(struct msgb *msg, uint8_t tag)
put (append) a TL fields to a Message buffers
Definition: tlv.h:374
static const uint8_t tch_ahs_6_7_state[][2]
Definition: gsm0503_conv.c:912
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:511
@ OSMO_GSUP_RES_IE
Definition: gsup.h:88
@ IPAC_IDTAG_UNITNAME
Definition: ipaccess.h:57
#define GSM48_MT_RR_PAG_REQ_3
Definition: gsm_04_08.h:1309
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:786
struct gsm48_classmark2 cm2
Definition: gsm_04_08.h:1
static int rslms_rx_rll_est_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:977
@ NM_ATT_BCCH_ARFCN
Definition: gsm_12_21.h:327
@ GMM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:221
#define GSM48_MT_RR_SYSINFO_20
Definition: gsm_04_08.h:1342
struct osmo_gprs_cell_options cell_opts
Definition: gsm48_rest_octets.h:113
static int find_unused_subchan_idx(const struct osmo_i460_timeslot *ts)
Definition: i460_mux.c:308
struct osmo_mme_id mme
Definition: gsm23003.h:94
int osmo_dec_gcr(struct osmo_gcr_parsed *gcr, const uint8_t *elem, uint8_t len) OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE
Decode Global Call Reference, 3GPP TS 29.205 Table B 2.1.9.1.
Definition: gsm29205.c:70
@ NM_ATT_BSIC
Definition: gsm_12_21.h:328
static int parse_ss_for_bs_req(const uint8_t *ss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:746
#define GSM48_MT_GMM_RA_UPD_COMPL
Definition: gsm_04_08_gprs.h:22
static int lapdm_send_ph_data_req(struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapdm.c:607
bool speech_version_used_present
Definition: gsm0808.h:139
@ SGSAP_IE_ADDL_PAGING_INDICATORS
Definition: gsm_29_118.h:74
#define GSM48_IE_MA_BEFORE
Definition: gsm_04_08.h:1551
const struct value_string gsm48_nc_ss_msgtype_names[]
TS 04.80, section 3.4 Messages for supplementary services control.
Definition: gsm48.c:1555
@ GSM0808_ALG_ID_A5_4
Definition: gsm_08_08.h:522
@ GSM411_RP_CAUSE_MO_DEST_OUT_OF_ORDER
Definition: gsm_04_11.h:72
Definition: gsm_04_08.h:679
#define GSM48_IE_CALLING_SUB
Definition: gsm_04_08.h:1503
@ GSM0808_IE_AOIP_TRASP_ADDR
Definition: gsm_08_08.h:297
@ SGSAP_ID_EPS_T_EPS_NOT_ALLOWED
Definition: gsm_29_118.h:97
@ NM_ATT_IPACC_MONIT_VAL_LIST
Definition: gsm_12_21.h:450
char * osmo_hexdump(const unsigned char *buf, int len)
@ GSM0808_IE_APP_DATA
Definition: gsm_08_08.h:293
enum gsm0808_lcls_config config
§3.2.2.116 Configuration.
Definition: gsm0808_utils.h:64
@ NM_STATE_NULL
Definition: gsm_12_21.h:524
@ NM_ATT_MEAS_TYPE
Definition: gsm_12_21.h:391
@ GSM_CAUSE_INVALID_TRANS_ID
Definition: gsm_04_08_gprs.h:261
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:1285
@ 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:572
@ 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:1325
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:1269
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:550
@ GSM0808_IE_GANSS_POSITIONING_DATA
Definition: gsm_08_08.h:291
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:1670
uint8_t bytes
Definition: gprs_rlc.c:123
@ NM_OC_BS11_HANDOVER
Definition: gsm_12_21.h:302
static const uint8_t tch_afs_4_75_term_state[]
Definition: gsm0503_conv.c:696
#define CR_NET2USER_RESP
Definition: lapd_core.c:104
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:25
@ GSM_CAUSE_QOS_NOT_ACCEPTED
Definition: gsm_04_08_gprs.h:257
@ GSM0808_SC_CFG_AMR_6_70
Definition: gsm_08_08.h:590
static const uint8_t tch_afs_12_2_output[][2]
Definition: gsm0503_conv.c:228
#define LAPDm_ADDR_EA(addr)
Definition: lapdm.c:63
int bitvec_set_uint(struct bitvec *bv, unsigned int ui, unsigned int num_bits)
@ CBSP_IEI_CATEGORY
Definition: gsm_48_049.h:27
@ OSMO_GSUP_CAUSE_SM_IE
Definition: gsup.h:118
Osmocom Generic Subscriber Update Protocol message encoder/decoder.
@ 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:43
char * name
user-provided name
Definition: lapd_core.h:164
const struct value_string osmo_rat_type_names[]
Definition: gsm_utils.c:1026
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:532
@ NM_MT_LOAD_INIT
Definition: gsm_12_21.h:87
@ GSM_PCHAN_NONE
Definition: gsm_utils.h:202
@ GSM48_CC_CAUSE_NETWORK_OOO
Definition: gsm_04_08.h:1674
@ GSM0808_SC_CFG_DEFAULT_HR_AMR
Definition: gsm_08_08.h:562
@ NM_OC_RADIO_CARRIER
Definition: gsm_12_21.h:291
@ NM_ATT_RAD_SUBC
Definition: gsm_12_21.h:363
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:398
#define GSM0480_OP_CODE_FORWARD_CUG_INFO
Definition: gsm_04_80.h:83
struct osmo_cbsp_reset_complete reset_compl
Definition: cbsp.h:272
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB
Definition: gsm_08_08.h:566
@ RSL_MT_ERROR_IND
Definition: gsm_08_58.h:143
const char * abis_nm_avail_name(uint8_t avail)
Get human-readable string for OML Availability State.
Definition: abis_nm.c:658
sgsap_msg_type
Definition: gsm_29_118.h:6
@ GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:231
#define ABIS_OM_MDISC_MANUF
Message Discriminator for Manufacturer Specific Messages.
Definition: gsm_12_21.h:55
uint8_t msg_type
Definition: gsm_04_08.h:2
struct osmo_gsup_an_apdu an_apdu
inter-MSC AN-APDU.
Definition: gsup.h:375
struct osmo_cell_global_id global
Definition: gsm0808_utils.h:42
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:163
static uint32_t _a5_12_majority(uint32_t v1, uint32_t v2, uint32_t v3)
Compute majority bit from 3 taps.
Definition: a5.c:141
GSM Radio Signalling Link messages on the A-bis interface.
@ GPRS_SERVICE_T_SIGNALLING
Definition: gsm_04_08_gprs.h:412
static void _comp128v23_internal(uint8_t *output, const uint8_t *kxor, const uint8_t *rand)
Definition: comp128v23.c:77
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
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:847
int mode
Definition: mncc.h:14
One range of NRI values.
Definition: gsm23236.h:19
uint8_t ta
Definition: lapdm.h:67
@ GSM0808_IE_LCS_CAUSE
Definition: gsm_08_08.h:254
@ 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
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:947
int osmo_gsm48_rest_octets_si6_encode(uint8_t *data, const struct osmo_gsm48_si6_ro_info *in)
Definition: gsm48_rest_octets.c:659
static const char bcd_num_digits[]
Definition: gsm48_ie.c:44
@ GSM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:263
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:553
char * abis_nm_dump_foh_c(void *ctx, const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:947
@ DCS_UCS2
Definition: gsm_04_11.h:115
uint16_t flags
Definition: gsm_utils.c:783
@ 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:1772
@ NM_MT_CHANGEOVER
Definition: gsm_12_21.h:166
struct gsm0808_old_bss_to_new_bss_info old_bss_to_new_bss_info
Definition: gsm0808.h:177
@ OSMO_GSM48_ARFCN_RANGE_INVALID
Definition: gsm48_arfcn_range_encode.h:8
@ GSM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:266
@ RSL_IE_MS_POWER
Definition: gsm_08_58.h:282
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:85
@ OSMO_I460_RATE_8k
Definition: i460_mux.h:36
@ GSM0808_SCT_HR3
HR_AMR.
Definition: gsm_08_08.h:506
struct msgb * msgb_dequeue(struct llist_head *queue)
@ GSM0808_IE_LOCATION_TYPE
Definition: gsm_08_08.h:251
@ NM_NACK_MSGTYPE_INVAL
Definition: gsm_12_21.h:604
int gsm_7bit_encode_oct(uint8_t *result, const char *data, int *octets)
Definition: gsm_utils.c:1019
#define GSM414_MT_OPEN_LOOP_CMD
Definition: gsm_04_14.h:23
bool nln_status_sacch
Definition: gsm48_rest_octets.h:28
static const uint8_t tch_afs_5_9_output[][2]
Definition: gsm0503_conv.c:536
@ PRIM_PH_DATA
PH-DATA.
Definition: l1sap.h:9
@ GSM0808_IE_CLASSMARK_INFORMATION_T2
Definition: gsm_08_08.h:204
@ GSM_CAUSE_ACT_REJ_GGSN
Definition: gsm_04_08_gprs.h:250
@ 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:552
void lapdm_entity_init3(struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200, const char *name_pfx)
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:193
#define gsm48_hdr_msg_type
Definition: gsm_04_08.h:1270
Definition: gsm0411_smr.h:16
@ NM_MT_CONN_TERR_TRAF
Definition: gsm_12_21.h:113
@ GSM0808_IE_TALKER_IDENTITY
Definition: gsm_08_08.h:281
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:537
struct llist_head list
Definition: auth.h:74
@ BSS_MAP_MSG_CIPHER_MODE_REJECT
Definition: gsm_08_08.h:154
#define LAPDm_ADDR_CR(addr)
Definition: lapdm.c:62
static int gsm411_mnsms_data_ind_tx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:292
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:94
uint8_t mode
Definition: gsm0808.h:123
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
Obtain physical channel config for OML Channel Combination.
Definition: abis_nm.c:922
struct osmo_cbsp_error_ind error_ind
Definition: cbsp.h:279
#define MDL_CAUSE_SABM_INFO_NOTALL
Definition: lapd_core.h:46
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:348
int pdp_info_compl
Definition: gsup.h:307
const struct value_string gprs_cipher_names[]
Definition: gprs_cipher_core.c:45
@ IPAC_IDTAG_MACADDR
Definition: ipaccess.h:63
@ GSM48_RR_CAUSE_ABNORMAL_NOACT
Definition: gsm_04_08.h:1639
#define GSM411_MT_CP_ACK
Definition: gsm_04_11.h:30
@ LAPDm_FMT_Bter
Definition: lapdm.c:113
bool qrxlm_valid
Definition: sysinfo.h:70
@ GSM48_REJECT_RQD_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:1725
@ GSM48_CC_CAUSE_OP_DET_BARRING
Definition: gsm_04_08.h:1659
#define GSM48_IE_CALLED_SUB
Definition: gsm_04_08.h:1505
uint16_t cfg
For examples, see enum gsm0808_speech_codec_defaults.
Definition: gsm_08_08.h:545
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:244
uint8_t more
Definition: lapd_core.h:112
uint8_t chan_nr
Definition: gsm_08_58.h:113
const struct osmo_conv_code gsm0503_tch_ahs_6_7
TCH/AHS 6.7 kbits convolutional code.
Definition: gsm0503_conv.c:946
const struct value_string gsm0808_cell_id_discr_names[]
value_string[] for enum CELL_IDENT.
Definition: gsm0808_utils.c:1836
@ GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL
Definition: gsm_08_08.h:373
#define TE44(i)
Definition: aes_i.h:86
uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause)
@ NM_NACK_MEAS_NOTSTART
Definition: gsm_12_21.h:635
@ NM_MT_GET_ATTR_RESP
Definition: gsm_12_21.h:188
enum osmo_i460_rate rate
Definition: i460_mux.h:70
#define SMCDATASLLEN
Definition: gsm0411_smc.c:522
void aes_decrypt_deinit(void *ctx)
@ IPAC_IDTAG_LOCATION1
Definition: ipaccess.h:58
char * gsm0808_cell_id_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id *cid)
Definition: gsm0808_utils.c:1863
bool inband_notifications
Definition: gsm48_rest_octets.h:33
@ NM_MT_STOP_EVENT_REP_ACK
Definition: gsm_12_21.h:151
static int send_rslms_dlsap(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapdm.c:557
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
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:208
#define SGS_MME_NAME_LEN
Definition: gsm_29_118.h:178
@ LAPD_STATE_SABM_SENT
Definition: lapd_core.h:81
Definition: gsm_04_08.h:251
#define N201_AB_SDCCH
Definition: lapdm.c:90
void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
Definition: aes-internal-enc.c:114
uint16_t new_serial_nr
Definition: cbsp.h:85
int len
Definition: mncc.h:68
unsigned int priority
priority value (resp.
Definition: auth.h:77
#define GSM48_MT_CC_STOP_DTMF_ACK
Definition: gsm_04_08.h:1426
uint8_t v_range
range of sequence numbers
Definition: lapd_core.h:143
uint8_t call_priority
Definition: gsm48_rest_octets.h:27
struct msgb * gsm0480_msgb_alloc_name(const char *name)
Definition: gsm0480.c:769
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:73
Definition: gsm_04_08.h:61
@ GSM0808_IE_MSISDN
Definition: gsm_08_08.h:296
@ RSL_MT_EST_REQ
Definition: gsm_08_58.h:144
@ NM_ATT_IPACC_RAC
Definition: gsm_12_21.h:439
uint32_t states
Definition: gsm0411_smr.c:431
@ NM_OPSTATE_ENABLED
Definition: gsm_12_21.h:541
@ 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:1326
@ OSMO_AUTH_ALG_COMP128v3
Definition: auth.h:32
@ OSMO_GSUP_MSGT_E_PREPARE_SUBSEQUENT_HANDOVER_ERROR
Definition: gsup.h:187
@ BSS_MAP_MSG_UNBLOCK
Definition: gsm_08_08.h:134
#define LAPDm_CTRL_PF_BIT(ctrl)
Definition: lapdm.c:75
@ OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_ERROR
Definition: gsup.h:191
Definition: gsm_08_58.h:109
@ RSL_IE_RELEASE_MODE
Definition: gsm_08_58.h:289
struct osmo_cbsp_msg_status_query_failure msg_status_query_fail
Definition: cbsp.h:267
@ 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:120
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:50
enum osmo_auth_algo algo
Definition: auth.h:41
@ GPRS_SERVICE_T_MBMS_BC_SERV
Definition: gsm_04_08_gprs.h:416
@ GSM_BAND_1800
Definition: gsm_utils.h:55
const char * rr_cause_name(uint8_t cause)
return string representation of RR Cause value
Definition: gsm48.c:182
static void lapdm_dl_init(struct lapdm_datalink *dl, struct lapdm_entity *entity, int t200_ms, uint32_t n200, const char *name)
Definition: lapdm.c:136
#define GSM48_MT_GMM_DETACH_REQ
Definition: gsm_04_08_gprs.h:17
@ BSS_MAP_MSG_RESET_CIRCUIT
Definition: gsm_08_08.h:123
@ GSM0808_SC_CFG_DEFAULT_FR_AMR_WB
Definition: gsm_08_08.h:564
uint8_t distance[8]
Definition: gsm0502.c:106
#define A5_R1_MASK
Definition: a5.c:110
#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:1726
static int cbsp_enc_reset_compl(struct msgb *msg, const struct osmo_cbsp_reset_complete *in)
Definition: cbsp.c:333
Definition: gsm23003.h:44
@ NM_MT_REINIT
Definition: gsm_12_21.h:172
@ GSM0808_SC_CFG_DEFAULT_AMR_12_2
Definition: gsm_08_08.h:580
static void lapd_stop_t200(struct lapd_datalink *dl)
Definition: lapd_core.c:220
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCK
Definition: gsm_08_08.h:138
LAPDm message context.
Definition: lapdm.h:20
@ GSM0808_CAUSE_CLASS_PERR
Definition: gsm_08_08.h:430
lapdm_mode
LAPDm mode/role.
Definition: lapdm.h:12
@ GSM_CAUSE_COND_IE_ERR
Definition: gsm_04_08_gprs.h:267
uint8_t cause
generic cause value
Definition: lapd_core.h:51
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:1331
@ GSM411_CP_CAUSE_INV_TRANS_ID
Definition: gsm_04_11.h:42
@ IPAC_IDTAG_UNIT
Definition: ipaccess.h:64
struct gsm0808_speech_codec codec[SPEECH_CODEC_MAXLEN]
Definition: gsm_08_08.h:600
#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:259
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:138
struct llist_head fail_list
Definition: cbsp.h:151
static const uint8_t tch_afs_6_7_term_state[]
Definition: gsm0503_conv.c:475
#define A5_R1_LEN
Definition: a5.c:105
struct osmo_cbsp_cell_list cell_list
Definition: cbsp.h:159
#define os_free(x)
Definition: common.h:16
@ RSL_MT_CHAN_CONF
Definition: gsm_08_58.h:165
static void lapd_start_t203(struct lapd_datalink *dl)
Definition: lapd_core.c:212
@ GSM0808_IE_CURRENT_CHANNEL_TYPE_1
Definition: gsm_08_08.h:235
static int gsm411_rl_report_req(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:230
#define LAPDm_ADDR(lpd, sapi, cr)
Definition: lapdm.c:58
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:57
static const uint8_t tch_ahs_7_4_term_state[]
Definition: gsm0503_conv.c:879
int screen
Definition: mncc.h:37
@ NM_OC_BS11_TEST
Definition: gsm_12_21.h:307
#define N200
Definition: lapdm.c:107
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:357
@ GSM48_CC_CAUSE_QOS_UNAVAIL
Definition: gsm_04_08.h:1680
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
struct osmo_gprs_cell_options::@8 ext_info
@ PRIM_DL_DATA
DL-DATA.
Definition: lapd_core.h:23
static __attribute__((constructor))
Definition: gprs_gea.c:48
@ GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT
Definition: gsm_08_08.h:379
@ IPAC_MSGT_ID_GET
Definition: ipaccess.h:47
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:333
#define A51_R3_CLKBIT
Definition: a5.c:165
static int c128v3_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Definition: auth_comp128v23.c:52
const uint8_t * msisdn_enc
Definition: gsup.h:313
#define GSM48_IE_FACILITY
Definition: gsm_04_08.h:1494
@ NM_ATT_CCCH_L_I_P
Definition: gsm_12_21.h:330
@ GSM0808_CHAN_SIGN
Definition: gsm_08_08.h:438
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:127
#define GSM48_MT_RR_SYSINFO_18
Definition: gsm_04_08.h:1340
#define GSM48_MT_RR_CDMA2K_CLSM_CHG
Definition: gsm_04_08.h:1316
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:1038
@ GA_MT_CSR_HO_INFO
Definition: gsm_44_318.h:49
@ GMM_CAUSE_SYNC_FAIL
Definition: gsm_04_08_gprs.h:223
static int send_rslms_rll_l3_ui(struct lapdm_msg_ctx *mctx, struct msgb *msg)
Definition: lapdm.c:516
#define GSM48_MT_RR_NOTIF_RESP
Definition: gsm_04_08.h:1313
#define GSM48_IE_SS_VERS
Definition: gsm_04_08.h:1511
#define GSM48_MT_RR_SYSINFO_9
Definition: gsm_04_08.h:1334
struct msgb * gsm0808_create_classmark_request()
Create BSSMAP Classmark Request message.
Definition: gsm0808.c:408
#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:300
#define GSM411_MT_RP_ERROR_MO
Definition: gsm_04_11.h:56
@ 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:122
@ NM_MT_OPSTART
Definition: gsm_12_21.h:169
void msgb_enqueue(struct llist_head *queue, struct msgb *msg)
@ OSMO_AUTH_TYPE_UMTS
Definition: auth.h:19
uint8_t perm_algo[ENCRY_INFO_PERM_ALGO_MAXLEN]
Definition: gsm_08_08.h:617
@ GSM0808_CAUSE_DIRECTED_RETRY
Definition: gsm_08_08.h:370
uint16_t msg_id
Definition: cbsp.h:132
@ 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:84
abis_nm_severity
Perceived Severity (Section: 9.4.63)
Definition: gsm_12_21.h:580
#define ABIS_OM_MDISC_FOM
Message Discriminator for Formatted Object Messages.
Definition: gsm_12_21.h:49
#define GSM411_MT_RP_SMMA_MO
Definition: gsm_04_11.h:58
@ GSM48_CMSERV_SUP_SERV
Definition: gsm_04_08.h:1445
@ NM_MT_DISC_TERR_TRAF_ACK
Definition: gsm_12_21.h:117
@ NM_MT_LOAD_INIT_ACK
Definition: gsm_12_21.h:88
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:1209
@ IPAC_MSGT_PONG
Definition: ipaccess.h:46
#define GSM48_MT_CC_RECALL
Definition: gsm_04_08.h:1401
size_t length
Definition: sysinfo.h:55
static void lapd_dl_flush_send(struct lapd_datalink *dl)
Definition: lapd_core.c:147
@ GSM48_CC_CAUSE_RESTR_BCAP_AVAIL
Definition: gsm_04_08.h:1689
#define GSM48_MT_MM_INFO
Definition: gsm_04_08.h:1389
@ BSS_MAP_MSG_UPLINK_SEIZED_CMD
Definition: gsm_08_08.h:171
@ BSS_MAP_MSG_HANDOVER_REQUIRED
Definition: gsm_08_08.h:81
@ BSS_MAP_MSG_LCLS_NOTIFICATION
Definition: gsm_08_08.h:179
#define GSM48_IE_CLIR_SUPP
Definition: gsm_04_08.h:1513
bool speech_codec_chosen_present
Definition: gsm0808.h:218
const struct tlv_definition sgsap_ie_tlvdef
Definition: gsm29118.c:150
@ NM_OC_BS11_BPORT
Definition: gsm_12_21.h:309
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:426
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:893
#define L2DOWNSLLEN
Definition: lapd_core.c:2134
@ GSM0808_CAUSE_INCORRECT_VALUE
Definition: gsm_08_08.h:412
static int lapd_rx_i(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1445
#define GSM_MI_TYPE_IMSI
Definition: gsm_04_08.h:1476
struct osmo_sub_auth_data::@71::@72 umts
static const int tch_ahs_5_9_puncture[]
Definition: gsm0503_conv.c:981
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:659
static void msgb_put_cbsp_loading_list(struct msgb *msg, const struct osmo_cbsp_loading_list *ll)
Definition: cbsp.c:86
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:275
AccessNetworkSignalInfo as in 3GPP TS 29.002.
Definition: gsup.h:294
enum osmo_i460_rate rate
Definition: i460_mux.h:82
int freeze_ptmsi
Definition: gsup.h:308
@ SGSAP_IE_TAI
Definition: gsm_29_118.h:71
uint8_t blockend[8]
Definition: gsm0502.c:105
@ GSM48_CC_CAUSE_TEMP_FAILURE
Definition: gsm_04_08.h:1675
#define GSM48_MT_RR_SYSINFO_16
Definition: gsm_04_08.h:1337
API to handle Network Resource Indicator (NRI) values and ranges for MSC pooling, as in 3GPP TS 23....
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:1727
#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:487
Definition: gsm0808.h:245
struct gsm48_chan_desc chan_desc
Definition: gsm_04_08.h:0
#define GSM48_MT_GMM_RA_UPD_ACK
Definition: gsm_04_08_gprs.h:21
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:163
static int gsm411_tx_cp_error(struct gsm411_smc_inst *inst, uint8_t cause)
Definition: gsm0411_smc.c:146
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
@ GSM0808_IE_PERIODICITY
Definition: gsm_08_08.h:198
@ SGSAP_IE_MM_INFO
Definition: gsm_29_118.h:62
const struct gsm0808_speech_codec_list * codec_list_msc_preferred
Definition: gsm0808.h:187
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:815
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:1728
@ NM_ATT_SOURCE
Definition: gsm_12_21.h:367
Definition: gsm_04_08.h:722
uint8_t rac
Definition: gsm48_rest_octets.h:117
uint8_t perm_spch[CH_TYPE_PERM_SPCH_MAXLEN]
Definition: gsm_08_08.h:609
@ RSL_MT_UNIT_DATA_IND
Definition: gsm_08_58.h:151
static unsigned int gsm0502_get_paging_group(uint64_t imsi, unsigned int bs_cc_chans, int n_pag_blocks)
Definition: gsm0502.h:54
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:417
@ GSM0808_IE_A_IF_SEL_FOR_RESET
Definition: gsm_08_08.h:302
struct mdl_error_ind_param error_ind
Definition: lapd_core.h:63
@ BSS_MAP_MSG_VGCS_VBS_SETUP
Definition: gsm_08_08.h:158
uint16_t cause
Definition: gsm0808.h:269
@ FN_REMAP_FACCH_F
Definition: gsm0502.h:67
#define GSM48_PDISC_LOC
Definition: gsm_04_08.h:1172
uint16_t id_list_lac[CELL_ID_LIST_LAC_MAXLEN]
Definition: gsm_08_08.h:632
@ NM_MT_SET_CHAN_ATTR_NACK
Definition: gsm_12_21.h:135
#define BSS_MAP_MSG_ASSIGMENT_RQST
Definition: gsm_08_08.h:182
@ NM_ATT_MANUF_THRESH
Definition: gsm_12_21.h:348
#define GSM411_MNSMS_ERROR_IND
Definition: gsm0411_smc.h:26
uint8_t break_ind
Definition: gsm48_rest_octets.h:103
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:433
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:1193
@ SGSAP_MSGT_EPS_DET_IND
Definition: gsm_29_118.h:22
@ NM_EVT_QOS_FAIL
Definition: gsm_12_21.h:573
size_t imei_enc_len
Definition: gsup.h:356
struct lapdm_channel * lapdm_ch
pointer to lapdm_channel of which we're part
Definition: lapdm.h:65
@ NM_SEVER_MINOR
Definition: gsm_12_21.h:584
#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:877
#define GSM414_MT_DEACT_EMMI_CMD
Definition: gsm_04_14.h:55
int aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out)
aes_128_encrypt_block - Perform one AES 128-bit block operation @key: Key for AES @in: Input data (16...
Definition: aes-encblock.c:31
struct osmo_sub_auth_data::@71::@73 gsm
@ OSMO_GSM48_ARFCN_RANGE_1024
Definition: gsm48_arfcn_range_encode.h:12
bool is_cbs
Definition: cbsp.h:89
permanent (secret) subscriber auth data
Definition: auth.h:39
#define GSM48_MT_RR_EXT_MEAS_REP_ORD
Definition: gsm_04_08.h:1352
#define GSM48_MT_RR_SYSINFO_7
Definition: gsm_04_08.h:1327
struct msgb * gsm0808_create_clear_command2(uint8_t cause, bool csfb_ind)
Create BSSMAP Clear Command message.
Definition: gsm0808.c:211
static void append_gprs_pwr_ctrl_pars(struct bitvec *bv, const struct osmo_gprs_power_ctrl_pars *pcp)
Definition: gsm48_rest_octets.c:895
static void _comp128_bitsfrombytes(uint8_t *x, uint8_t *bits)
Definition: comp128.c:172
uint8_t v_ack
last frame ACKed by peer
Definition: lapd_core.h:145
uint8_t repetition_period
Definition: cbsp.h:219
@ LAPD_STATE_MF_EST
Definition: lapd_core.h:83
@ NM_NACK_RES_NOTAVAIL
Definition: gsm_12_21.h:618
static int cbsp_decode_cell_list(struct osmo_cbsp_cell_list *cl, void *ctx, const uint8_t *buf, unsigned int len)
Definition: cbsp.c:501
#define GSM48_IE_CONN_SUB
Definition: gsm_04_08.h:1501
@ GSM0808_IE_VGCS_TALKER_MODE
Definition: gsm_08_08.h:284
#define A5_R1_TAPS
Definition: a5.c:115
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:552
enum osmo_auth_algo osmo_auth_alg_parse(const char *name)
Parse human-readable name of authentication algorithm.
Definition: auth_core.c:227
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:349
lapd_state
LAPD state (Figure B.2/Q.921)
Definition: lapd_core.h:75
uint32_t states
Definition: lapd_core.c:2079
@ NM_ATT_IPACC_IP_GW_CFG
Definition: gsm_12_21.h:424
uint8_t chosen_channel
Definition: gsm0808.h:209
char * gsm0808_cell_id_name_c(const void *ctx, const struct gsm0808_cell_id *cid)
Definition: gsm0808_utils.c:1893
uint8_t classmark3[14]
Definition: gsm_04_08.h:67
static unsigned long gsm340_vp_default(void)
Definition: gsm0411_utils.c:141
#define ENOTSUP
Definition: a5.c:44
#define GSM48_IE_KPD_FACILITY
Definition: gsm_04_08.h:1498
@ NM_CHANC_SDCCH_CBCH
Definition: gsm_12_21.h:558
@ GSM0808_LCLS_CFG_BOTH_WAY
Definition: gsm_08_08.h:638
uint8_t ussd_data_dcs
Definition: gsm0480.h:89
bool inband_pagings
Definition: gsm48_rest_octets.h:34
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:108
#define LAPD_TAILROOM
Definition: lapd_core.c:107
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:0
@ GSM0808_LCLS_CFG_NA
Definition: gsm_08_08.h:644
struct msgb * gsm29118_create_dl_ud(const char *imsi, struct msgb *nas_msg)
Definition: gsm29118.c:259
@ NM_NACK_TRXNR_UNKN
Definition: gsm_12_21.h:608
@ GA_MT_CSR_CHAN_MODE_MOD_ACK
Definition: gsm_44_318.h:40
@ NM_ATT_MDROP_LINK
Definition: gsm_12_21.h:351
@ GSM0808_IE_APDU
Definition: gsm_08_08.h:256
static const struct value_string mi_type_names[]
Definition: gsm48.c:447
struct msgb * gsm0808_create_dtap(struct msgb *msg, uint8_t link_id)
Create BSSMAP DTAP message.
Definition: gsm0808.c:1308
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:467
bool fi
Definition: gsm_08_08.h:538
@ NM_ATT_IPACC_UNIT_ID
Definition: gsm_12_21.h:430
@ GA_MT_CSR_RELEASE
Definition: gsm_44_318.h:42
#define LAPDm_CTRL_is_I(ctrl)
Definition: lapdm.c:70
#define TLVP_VAL(x, y)
Definition: tlv.h:513
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:629
@ 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:261
enum gsm0808_permitted_speech speech_version_used
Definition: gsm0808.h:171
@ GSM411_RP_CAUSE_MSGTYPE_NOTEXIST
Definition: gsm_04_11.h:89
#define GSM48_MT_RR_NOTIF_FACCH
Definition: gsm_04_08.h:1312
@ NM_ATT_SW_DESCR
Definition: gsm_12_21.h:384
const struct osmo_conv_code gsm0503_tch_fr
TCH/F convolutional code.
Definition: gsm0503_conv.c:747
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:634
#define GSM411_MT_CP_ERROR
Definition: gsm_04_11.h:31
@ OSMO_GSUP_KC_IE
Definition: gsup.h:82
#define GSM411_MNSMS_DATA_IND
Definition: gsm0411_smc.h:23
static void demux_subchan_extract_bits(struct osmo_i460_subchan *schan, const uint8_t *data, size_t data_len)
Definition: i460_mux.c:86
struct lapdm_entity * entity
LAPDm entity we are part of.
Definition: lapdm.h:34
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:1125
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:1425
#define GSM48_IE_F_CH_SEQ_AFTER
Definition: gsm_04_08.h:1558
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:613
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:647
Definition: gsm_04_08.h:650
static const struct value_string auth_alg_vals[]
Definition: auth_core.c:210
static uint8_t add_mod(uint8_t x, uint8_t y, uint8_t m)
Definition: lapd_core.c:137
int osmo_gsm48_range_enc_512(uint8_t *chan_list, int f0, int *w)
Definition: gsm48_arfcn_range_encode.c:284
int(* run)(uint8_t *out, uint16_t len, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction direction)
Definition: gprs_cipher.h:40
#define GSM48_MT_RR_SYSINFO_2ter
Definition: gsm_04_08.h:1330
uint16_t msg_id
Definition: cbsp.h:121
Definition: gsm_04_08.h:1931
@ NM_MT_STOP_TEST_ACK
Definition: gsm_12_21.h:145
struct osmo_gsm48_si_dtm_support dtm_support
Definition: gsm48_rest_octets.h:51
@ SGSAP_IE_IMSI_DET_NONEPS_TYPE
Definition: gsm_29_118.h:59
#define GSM48_MT_MM_CM_SERV_REJ
Definition: gsm_04_08.h:1380
Instead of this, use either struct gsm0808_cell_id or gsm0808_cell_id_list2.
Definition: gsm0808_utils.h:41
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:626
@ OSMO_GSUP_MSGT_INSERT_DATA_ERROR
Definition: gsup.h:151
int nr_data_bits
Definition: mncc.h:24
@ CBSP_IEI_BCAST_MSG_TYPE
Definition: gsm_48_049.h:44
struct lapdm_datalink * dl
Definition: lapdm.h:21
struct osmo_gprs_power_ctrl_pars pwr_ctrl_pars
Definition: gsm48_rest_octets.h:114
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
static int lapd_send_i(struct lapd_msg_ctx *lctx, int line)
Definition: lapd_core.c:1762
enum gsm_band gsm_band_parse(const char *mhz)
Parse string name of a GSM band.
Definition: gsm_utils.c:691
@ GMM_CAUSE_LA_NOTALLOWED
Definition: gsm_04_08_gprs.h:216
@ 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:15
struct gsm0808_cell_id_list2 cil
Definition: gsm0808.h:134
struct abis_om_obj_inst obj_inst
Object Instance.
Definition: gsm_12_21.h:77
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:1251
@ BSS_MAP_MSG_VGCS_VBS_SETUP_ACK
Definition: gsm_08_08.h:159
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:93
#define GSM48_PDISC_PDSS1
Definition: gsm_04_08.h:1162
@ NM_EVT_PROC_FAIL
Definition: gsm_12_21.h:574
int(* lapdm_cb_t)(struct msgb *msg, struct lapdm_entity *le, void *ctx)
Definition: lapdm.h:44
@ TLLI_FOREIGN
Definition: gsm_utils.h:187
bool prio_valid
Definition: sysinfo.h:68
static void write_orig_arfcn(uint8_t *chan_list, int f0)
Definition: gsm48_arfcn_range_encode.c:189
@ 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
uint16_t msg_id
Definition: cbsp.h:84
@ OSMO_GSUP_AUTN_IE
Definition: gsup.h:86
enum gsm48_bcap_interm_rate interm_rate
Definition: mncc.h:27
const uint8_t * old_bss_to_new_bss_info_raw
To feed the Old BSS to New BSS Information IE unchanged from the Handover Required message without ha...
Definition: gsm0808.h:180
#define GSM48_MT_RR_ADD_ASS
Definition: gsm_04_08.h:1274
#define OSMO_GSUP_PDP_TYPE_SIZE
Definition: gsup.h:61
@ NM_MT_FAILURE_EVENT_REP
Definition: gsm_12_21.h:149
@ RSL_MT_EST_IND
Definition: gsm_08_58.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:163
uint16_t cell_identity
Definition: gsm23003.h:30
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:1168
sms_alphabet
Definition: gsm_04_11.h:112
#define GSM48_MT_RR_STATUS
Definition: gsm_04_08.h:1345