libosmogsm
0.12.0
Osmocom GSM library
|
static const struct l2downstate l2downstatelist[]
struct osmo_lac_and_ci_id lac_and_ci
Definition: gsm0808_utils.h:41
@ GSM48_REJECT_INVALID_MANDANTORY_INF
Definition: gsm_04_08.h:1786
#define GSM48_IE_CHANMODE_7
Definition: gsm_04_08.h:1600
@ GSM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:249
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
#define GSM48_MT_CC_CALL_PROC
Definition: gsm_04_08.h:1470
static const struct value_string cc_msg_names[]
Definition: gsm48.c:243
@ PRIM_DL_REL
DL-RLEEASE.
Definition: lapd_core.h:22
uint8_t w3
Definition: gsm_04_08.h:272
@ GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER
Definition: gsm_08_08.h:561
uint8_t rac
Definition: gsm48.h:25
@ GSM0808_CAUSE_CALL_CONTROL
Definition: gsm_08_08.h:331
@ NM_ATT_OPER_STATE
Definition: gsm_12_21.h:355
@ NM_NACK_NOTH_REPORT_EXIST
Definition: gsm_12_21.h:632
#define GSM48_MT_MM_AUTH_REJ
Definition: gsm_04_08.h:1446
#define GSM48_IE_MA_AFTER
Definition: gsm_04_08.h:1622
uint8_t ver
Definition: gsm_04_08.h:17
@ CELL_IDENT_UTRAN_RNC
Definition: gsm_08_08.h:25
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:120
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:581
@ NM_MT_CHG_ADM_STATE_ACK
Definition: gsm_12_21.h:157
#define GSM48_MT_CC_CONNECT_ACK
Definition: gsm_04_08.h:1472
int gsm411_smr_send(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.c:399
uint8_t w1_hi
Definition: gsm_04_08.h:119
@ NM_ATT_MAIO
Definition: gsm_12_21.h:346
#define GSM48_MT_RR_DTM_REQUEST
Definition: gsm_04_08.h:1356
uint8_t w1_hi
Definition: gsm_04_08.h:269
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:486
@ GSM411_RP_CAUSE_MT_MEM_EXCEEDED
Definition: gsm_04_11.h:84
static int parse_ss(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:396
#define GSM48_MT_RR_SYSINFO_2bis
Definition: gsm_04_08.h:1405
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:21
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:1484
@ NM_ATT_IPACC_CODING_SCHEMES
Definition: gsm_12_21.h:453
@ GSM0808_SCT_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:442
#define GSM48_IE_GPRS_RESUMPT
Definition: gsm_04_08.h:1632
static const struct value_string gsm0808_bssap_names[]
Definition: gsm0808.c:1130
uint8_t orig_arfcn_hi
Definition: gsm_04_08.h:351
#define GSM48_MT_CC_RETR
Definition: gsm_04_08.h:1488
@ OSMO_GSUP_ACCESS_POINT_NAME_IE
Definition: gsup.h:72
#define GSM48_MT_GMM_ATTACH_ACK
Definition: gsm_04_08_gprs.h:13
#define GSM0480_OP_CODE_DEACTIVATE_SS
Definition: gsm_04_80.h:73
@ GA_RC_SYNC_INFO
Definition: gsm_44_318.h:62
@ LAPD_STATE_TIMER_RECOV
Definition: lapd_core.h:81
int lapdm_channel_set_mode(struct lapdm_channel *lc, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm channel.
Definition: lapdm.c:1327
uint8_t h
Definition: gsm_04_08.h:423
static const int tch_afs_10_2_puncture[]
Definition: gsm0503_conv.c:295
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:766
uint8_t total
Definition: gsm_03_41.h:50
uint8_t len
Definition: gsm_04_11.h:2
static const struct value_string avail_names[]
Definition: abis_nm.c:643
@ 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:177
@ GSM411_CP_CAUSE_PROTOCOL_ERR
Definition: gsm_04_11.h:48
uint8_t w21_lo
Definition: gsm_04_08.h:379
#define A52_R4_CLKBIT2
Definition: a5.c:277
#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:59
static int lapd_rx_s(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1248
uint8_t group
Definition: gsm_03_41.h:40
#define GSM48_MT_RR_HANDO_INFO
Definition: gsm_04_08.h:1373
@ GSM48_REJECT_IMSI_UNKNOWN_IN_HLR
Definition: gsm_04_08.h:1770
@ BSS_MAP_MSG_VGCS_VBS_QUEUING_INDICATION
Definition: gsm_08_08.h:142
#define GSM48_MT_CC_DISCONNECT
Definition: gsm_04_08.h:1492
#define GSM48_MT_CC_CONG_CTRL
Definition: gsm_04_08.h:1496
uint8_t resp
Definition: lapd_core.h:114
@ GMM_CAUSE_NO_PDP_ACTIVATED
Definition: gsm_04_08_gprs.h:219
@ LAPDm_FMT_B4
Definition: lapdm.c:114
#define GSM48_IE_MOBILE_ID
Definition: gsm_04_08.h:1545
#define GSM0480_MTYPE_REGISTER
Definition: gsm_04_80.h:9
@ GSM0808_IE_KC_128
Definition: gsm_08_08.h:277
@ GSM411_CPS_IDLE
Definition: gsm_04_11.h:11
#define GSM48_MT_RR_HANDO_CMD
Definition: gsm_04_08.h:1369
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
uint8_t data[0]
message payload data
Definition: gsm_03_41.h:34
@ BSS_MAP_MSG_HANDOVER_FAILURE
Definition: gsm_08_08.h:64
@ OSMO_GSUP_AUTH_TUPLE_IE
Definition: gsup.h:63
#define MDL_CAUSE_UFRM_INC_PARAM
Definition: lapd_core.h:37
@ GSM411_CP_CAUSE_CONGESTION
Definition: gsm_04_11.h:41
const char * smc_state_names[]
Definition: gsm0411_smc.c:115
enum osmo_gsup_cancel_type cancel_type
Definition: gsup.h:190
#define GSM48_MT_MM_LOC_UPD_ACCEPT
Definition: gsm_04_08.h:1442
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:107
int last_tx_dequeue
last entity that was dequeued
Definition: lapdm.h:52
@ GSM0808_IE_GERAN_CLASSMARK
Definition: gsm_08_08.h:242
@ NM_IPACC_TESTNO_BCCCH_MONITOR
Definition: gsm_12_21.h:722
void gsm411_smc_clear(struct gsm411_smc_inst *inst)
Definition: gsm0411_smc.c:99
uint8_t w7
Definition: gsm_04_08.h:363
@ GSM0808_IE_TRACE_REFERENCE
Definition: gsm_08_08.h:199
@ 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:1625
#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:722
@ GSM_PCHAN_TCH_H
Definition: gsm_utils.h:206
uint8_t ch_indctr
Definition: gsm_08_08.h:516
@ GSM0808_SCT_FR5
FR AMR-WB.
Definition: gsm_08_08.h:443
@ GSM411_RP_CAUSE_MO_REQ_FAC_NOTSUBSCR
Definition: gsm_04_11.h:80
@ NM_MT_CHG_ADM_STATE_REQ_ACK
Definition: gsm_12_21.h:160
#define GSM48_TMSI_LEN
Definition: gsm_04_08.h:1983
#define GSM48_MT_MM_AUTH_FAIL
Definition: gsm_04_08.h:1449
#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
@ NM_ATT_START_TIME
Definition: gsm_12_21.h:369
@ GSM0808_IE_DATA_IDENTITY
Definition: gsm_08_08.h:268
@ GSM0808_IE_SPEECH_VERSION
Definition: gsm_08_08.h:211
#define GSM48_MT_RR_APP_INFO
Definition: gsm_04_08.h:1438
@ GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE
Definition: gsm_08_08.h:348
int plan
Definition: mncc.h:35
#define GSM48_MT_RR_SYSINFO_4
Definition: gsm_04_08.h:1400
@ RSL_IE_ACCESS_DELAY
Definition: gsm_08_58.h:230
@ GSM_PCHAN_UNKNOWN
Definition: gsm_utils.h:210
gsm0808_lcls_config
Definition: gsm_08_08.h:546
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:90
@ GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE
Definition: gsm_08_08.h:345
@ OSMO_GSUP_SESSION_STATE_NONE
Undefined session state.
Definition: gsup.h:148
uint32_t fn
GSM Frame Number at time of RA.
Definition: l1sap.h:64
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:359
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE
Definition: gsm_08_08.h:67
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL
Definition: gsm_08_08.h:552
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:1590
@ 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:114
#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:640
static void new_rp_state(struct gsm411_smr_inst *inst, enum gsm411_rp_state state)
Definition: gsm0411_smr.c:140
const struct value_string gsm0808_lcls_config_names[]
Definition: gsm0808.c:1255
int send_out
how much was sent from send_buffer
Definition: lapd_core.h:156
static struct osmo_auth_impl milenage_alg
Definition: auth_milenage.c:171
static void * tall_lapd_ctx
Definition: lapd_core.c:255
#define GSM48_MT_GMM_DETACH_ACK
Definition: gsm_04_08_gprs.h:17
@ GSM411_RPS_WAIT_FOR_RETRANS_T
Definition: gsm_04_11.h:22
@ OSMO_EVT_CRIT_BOOT_FAIL
Definition: gsm_12_21.h:265
@ NM_ATT_TEST_DUR
Definition: gsm_12_21.h:372
uint8_t w16_lo
Definition: gsm_04_08.h:217
const struct value_string * gprs_det_t_mt_strs
Definition: gsm_04_08_gprs.c:213
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:791
@ LAPDm_FMT_Bbis
Definition: lapdm.c:112
#define LAPD_U_UI
Definition: lapd_core.c:92
@ GSM48_REJECT_IMPLICITLY_DETACHED
Definition: gsm_04_08.h:1798
uint8_t sres[4]
Definition: gsm_04_08.h:708
char time[12]
Definition: ipaccess.h:9
uint8_t w15_lo
Definition: gsm_04_08.h:146
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:221
size_t msisdn_enc_len
Definition: gsup.h:198
@ GSM_CAUSE_SERV_OPT_NOTSUPP
Definition: gsm_04_08_gprs.h:243
@ CELL_IDENT_LAI_AND_LAC
Definition: gsm_08_08.h:21
#define BSSMAP_MSG_SIZE
Definition: gsm0808.c:37
uint8_t link_id
Definition: gsm_08_08.h:3
Definition: gsm_utils.c:741
uint8_t w6_lo
Definition: gsm_04_08.h:130
uint8_t w1
Definition: gsm_04_08.h:354
#define GSM48_MT_RR_DTM_ASS_FAIL
Definition: gsm_04_08.h:1354
@ 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:367
@ NM_SEVER_CRITICAL
Definition: gsm_12_21.h:581
const uint8_t * val
pointer to value
Definition: tlv.h:396
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:1481
Definition: gsm_04_08.h:187
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:1247
@ GSM48_RR_CAUSE_CHAN_MODE_UNACCT
Definition: gsm_04_08.h:1703
#define GSM48_IE_MSLOT_DESC
Definition: gsm_04_08.h:1592
#define rsl_tlv_parse(dec, buf, len)
Parse RSL TLV structure using tlv_parse.
Definition: rsl.h:19
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
Definition: gsm0411_smr.c:377
const struct tlv_definition * gsm0808_att_tlvdef(void)
Definition: gsm0808.c:1019
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:133
@ NM_CHANC_TCHFull
Definition: gsm_12_21.h:546
#define GSM48_MT_CC_ESTAB_CONF
Definition: gsm_04_08.h:1476
@ 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:1572
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:754
@ NM_OPSTATE_NULL
Definition: gsm_12_21.h:541
@ NM_OC_BS11_ENVABTSE
Definition: gsm_12_21.h:308
uint8_t w18_hi
Definition: gsm_04_08.h:295
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:134
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:1382
int ipa_ccm_send_pong(int fd)
Definition: ipa.c:355
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:189
@ GA_MT_CSR_ACT_CHAN
Definition: gsm_44_318.h:34
#define GSM414_MT_OPEN_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:54
const char * name
Definition: gsm0411_smc.c:424
#define GSM48_MT_CC_START_DTMF
Definition: gsm_04_08.h:1500
static struct msgb * tx_dequeue_msgb(struct lapdm_entity *le)
Definition: lapdm.c:271
@ GSM0808_IE_CIRCUIT_POOL_LIST
Definition: gsm_08_08.h:206
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:507
uint8_t w2_hi
Definition: gsm_04_08.h:121
struct gsm341_ms_message::@15 dcs
uint8_t file_version_len
Definition: gsm_12_21.h:797
@ LAPD_MODE_NETWORK
behave like network
Definition: lapd_core.h:68
@ GSM_CAUSE_FEATURE_NOTSUPP
Definition: gsm_04_08_gprs.h:251
#define RLL_CAUSE_SABM_INFO_NOTALL
Definition: gsm_08_58.h:461
@ OSMO_GSUP_IMSI_IE
Definition: gsup.h:61
static const char * smr_state_names[]
Definition: gsm0411_smr.c:103
static int rslms_rx_rll_udata_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:905
uint8_t len
Definition: gsm_04_11.h:105
static const uint8_t table_3[64]
Definition: comp128.c:134
int length
Definition: lapd_core.h:108
const struct value_string gsm411_cp_cause_strs[]
Definition: gsm0411_smc.c:122
int(* mn_recv)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.h:32
@ BSS_MAP_MSG_RESET_IP_RSRC
Definition: gsm_08_08.h:106
@ NM_OPSTATE_DISABLED
Definition: gsm_12_21.h:539
@ CELL_IDENT_CI
Definition: gsm_08_08.h:19
@ RSL_MT_REL_CONF
Definition: gsm_08_58.h:94
int more
Definition: lapd_core.h:119
int ipa_ccm_tlv_to_unitdata(struct ipaccess_unit *ud, const struct tlv_parsed *tp)
Definition: ipa.c:173
@ PRIM_DL_SUSP
DL-SUSPEND.
Definition: lapd_core.h:23
#define LAPDM_ENT_F_POLLING_ONLY
Definition: lapdm.h:46
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:1409
@ 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:1990
@ GMM_CAUSE_NOT_AUTH_FOR_CSG
Definition: gsm_04_08_gprs.h:217
@ NM_ATT_POWER_THRESH
Definition: gsm_12_21.h:359
primitive header for PH-SAP primitives
Definition: l1sap.h:154
@ GSM0808_ALG_ID_A5_5
Definition: gsm_08_08.h:462
#define GSM48_IE_ALERT
Definition: gsm_04_08.h:1556
@ OSMO_GSUP_SESSION_STATE_BEGIN
Initiation of a new session.
Definition: gsup.h:150
#define GPRS_DET_T_MO_COMBINED
Definition: gsm_04_08_gprs.h:61
int gsm48_decode_callerid(struct gsm_mncc_number *callerid, const uint8_t *lv)
Decode TS 04.08 Caller ID.
Definition: gsm48_ie.c:390
@ 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:255
int async
Definition: mncc.h:22
static void decode_lai(const uint8_t *data, struct osmo_location_area_id *decoded)
Definition: gsm0808_utils.c:681
static const char * _cgi_name(const struct osmo_cell_global_id *cgi, char *buf, size_t buflen)
Definition: gsm23003.c:136
@ GSM0808_CAUSE_RELOCATION_TRIGGERED
Definition: gsm_08_08.h:340
@ 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
uint8_t w11_lo
Definition: gsm_04_08.h:286
@ GSM0808_IE_CHANNEL_TYPE
Definition: gsm_08_08.h:171
@ GSM0808_CAUSE_HANDOVER_SUCCESSFUL
Definition: gsm_08_08.h:333
@ LAPDM_MODE_MS
behave like a MS (mobile phone)
Definition: lapdm.h:12
#define TE421(i)
Definition: aes_i.h:87
int ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data)
Definition: ipa.c:140
@ NM_MT_PERF_TEST
Definition: gsm_12_21.h:137
#define GSM48_MT_CC_MODIFY_COMPL
Definition: gsm_04_08.h:1482
enum lapdm_mode mode
are we in BTS mode or MS mode
Definition: lapdm.h:54
uint8_t proto_discr
Definition: gsm_04_08.h:824
@ NM_CHANC_BCCHComb
Definition: gsm_12_21.h:553
static const uint8_t tch_afs_7_4_term_state[]
Definition: gsm0503_conv.c:428
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:260
@ GSM0808_IE_LOCATION_ESTIMATE
Definition: gsm_08_08.h:226
uint16_t mnc
Definition: gsm48.h:22
uint8_t w7_hi
Definition: gsm_04_08.h:131
int radio
Definition: mncc.h:16
@ GSM_CAUSE_SERV_OPT_TEMP_OOO
Definition: gsm_04_08_gprs.h:245
@ 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:1352
int(* rout)(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:433
#define GSM48_MT_RR_ASS_COMPL
Definition: gsm_04_08.h:1367
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:1137
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:325
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:585
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:72
@ GSM_CAUSE_NSAPI_IN_USE
Definition: gsm_04_08_gprs.h:246
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:233
uint8_t data[0]
Definition: gsm_04_08.h:826
static int rsl_rll_error(uint8_t cause, struct lapdm_msg_ctx *mctx)
Definition: lapdm.c:415
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:59
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:44
@ NM_MT_DISC_MDROP_LINK_ACK
Definition: gsm_12_21.h:124
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:261
uint8_t tx_power
Definition: lapdm.h:67
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:1337
@ NM_MT_BS11_BEGIN_DB_TX_NACK
Definition: gsm_12_21.h:201
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST
Definition: gsup.h:95
@ GMM_CAUSE_SEM_INCORR_MSG
Definition: gsm_04_08_gprs.h:220
@ NM_MT_DISC_TERR_TRAF
Definition: gsm_12_21.h:116
@ NM_ATT_SITE_INPUTS
Definition: gsm_12_21.h:365
@ GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT
Definition: gsm_08_08.h:379
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCK
Definition: gsm_08_08.h:114
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:1198
@ GA_MT_RC_REGISTER_REQUEST
Definition: gsm_44_318.h:22
static LLIST_HEAD(osmo_auths)
uint8_t ra
Random Access.
Definition: l1sap.h:44
@ RSL_MT_SUSP_CONF
Definition: gsm_08_58.h:99
@ GMM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:226
@ OSMO_AUTH_ALG_COMP128v1
Definition: auth.h:30
@ GSM_CAUSE_REACT_RQD
Definition: gsm_04_08_gprs.h:250
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:253
uint8_t cause
Definition: gsm_04_08.h:710
@ GPRS_ALGO_GEA4
Definition: gprs_cipher.h:18
uint8_t w11_hi
Definition: gsm_04_08.h:285
@ 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:411
const struct value_string * gprs_att_t_strs
Definition: gsm_04_08_gprs.c:182
@ GSM0808_IE_ENCRYPTION_INFORMATION
Definition: gsm_08_08.h:170
static const int tch_afs_7_4_puncture[]
Definition: gsm0503_conv.c:438
@ GA_MT_PSR_GPRS_SUSPEND_REQ
Definition: gsm_44_318.h:61
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:362
bool mnc_3_digits
Definition: gsm48.h:23
@ NM_ATT_IPACC_DST_IP
Definition: gsm_12_21.h:413
struct osmo_prim_hdr oph
generic primitive header
Definition: l1sap.h:155
struct osmo_timer_list rp_timer
Definition: gsm0411_smr.h:25
@ T200_SACCH_TCH_SAPI0
Definition: gsm_12_21.h:650
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:75
@ GSM411_RP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:91
@ NM_MT_ESTABLISH_TEI
Definition: gsm_12_21.h:104
#define LAPDm_U_UI
Definition: lapdm.c:86
@ GSM0808_LCLS_STS_NOT_POSSIBLE_LS
Definition: gsm_08_08.h:567
@ GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED
Definition: gsm_08_08.h:374
@ OSMO_GSUP_MSGT_DELETE_DATA_REQUEST
Definition: gsup.h:113
#define GSM48_MT_CC_STATUS_ENQ
Definition: gsm_04_08.h:1499
#define GSM48_MT_GMM_PTMSI_REALL_COMPL
Definition: gsm_04_08_gprs.h:25
Definition: gsm0411_smc.c:482
const struct value_string gsm48_rr_msgtype_names[]
TS 04.08 RR Message Type names.
Definition: gsm48.c:783
#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:1355
int(* rout)(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:381
@ T200_SACCH_TCH_SAPI3
Definition: gsm_12_21.h:653
uint32_t auth_types
bitmask of OSMO_AUTH_TYPE_*
Definition: auth.h:69
#define MDL_CAUSE_UNSOL_DM_RESP
Definition: lapd_core.h:33
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:447
int lapdm_fmt
Definition: lapdm.h:21
static unsigned char * msgb_wrap_with_TL(struct msgb *msgb, uint8_t tag)
Definition: gsm0480.c:70
@ NM_MT_SET_CHAN_ATTR
Definition: gsm_12_21.h:133
int type
Definition: gsm0411_smc.c:484
@ NM_MT_GET_ATTR
Definition: gsm_12_21.h:187
@ GSM0808_IE_CHANNEL_NEEDED
Definition: gsm_08_08.h:196
#define GSM48_IE_NAME_SHORT
Definition: gsm_04_08.h:1547
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:2150
#define GSM48_MT_MM_NULL
Definition: gsm_04_08.h:1463
@ OSMO_EVT_MAJ_RSL_FAIL
Definition: gsm_12_21.h:268
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR
Definition: gsup.h:96
@ GA_MT_RC_REGISTER_UPDATE_DL
Definition: gsm_44_318.h:28
@ GSM0808_CAUSE_REQ_A_IF_TYPE_UNAVAIL
Definition: gsm_08_08.h:364
static int lapd_res_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2003
@ IPAC_IDTAG_SWVERSION
Definition: ipaccess.h:60
@ NM_MT_SET_BTS_ATTR_ACK
Definition: gsm_12_21.h:128
@ BSS_MAP_MSG_NOTIFICATION_DATA
Definition: gsm_08_08.h:151
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:1026
const u32 Te0[256]
Definition: aes-internal.c:74
@ GSM0808_CAUSE_DTM_HO_SGSN_FAILURE
Definition: gsm_08_08.h:356
@ NM_ATT_IPACC_IP_IF_CFG
Definition: gsm_12_21.h:423
@ GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC
Definition: gsm_08_08.h:381
uint8_t orig_arfcn_hi
Definition: gsm_04_08.h:403
gsm0808_lcls_status
Definition: gsm_08_08.h:565
int gprs_tlli_type(uint32_t tlli)
Determine GPRS TLLI Type (TS 23.003 Chapter 2.6)
Definition: gsm_utils.c:901
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP
Definition: gsm_08_08.h:371
const struct value_string gan_pdisc_vals[]
Definition: gan.c:75
@ RSL_MT_REL_REQ
Definition: gsm_08_58.h:93
lapdm_format
Definition: lapdm.c:109
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:574
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:603
uint8_t n_send
Definition: lapd_core.h:104
const char * name
Definition: gsm0411_smr.c:380
bool rr_cause_present
Definition: gsm0808.h:135
uint8_t proto
Definition: ipaccess.h:12
@ GSM48_REJECT_ILLEGAL_MS
Definition: gsm_04_08.h:1771
@ NM_MT_SET_CHAN_ATTR_ACK
Definition: gsm_12_21.h:134
#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:463
@ BSS_MAP_MSG_UNEQUIPPED_CIRCUIT
Definition: gsm_08_08.h:118
@ GA_MT_CSR_PAGING_REQ
Definition: gsm_44_318.h:52
char * gsm_fn_as_gsmtime_str(uint32_t fn)
Parse GSM Frame Number into printable string.
Definition: gsm_utils.c:837
void lapdm_channel_reset(struct lapdm_channel *lc)
Reset a LAPDm channel with all its entities.
Definition: lapdm.c:1369
enum lapd_mode mode
current mode of link
Definition: lapd_core.h:133
@ GA_MT_CSR_HO_ACCESS
Definition: gsm_44_318.h:45
#define GSM48_IE_REALTIME_DIFF
Definition: gsm_04_08.h:1627
#define MAX_SMS_RETRY
Definition: gsm0411_smc.c:73
void * aes_encrypt_init(const u8 *key, size_t len)
Definition: aes-internal-enc.c:101
@ LAPD_STATE_IDLE
Definition: lapd_core.h:77
#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:1322
struct lapd_cr_ent rem2loc
Definition: lapd_core.h:131
@ GSM0808_IE_REROUTE_REJ_CAUSE
Definition: gsm_08_08.h:280
#define GSM48_MT_MM_LOC_UPD_REJECT
Definition: gsm_04_08.h:1443
struct gsm_mncc_bearer_cap::@11 data
@ GSM0808_IE_RESOURCE_INDICATION_METHOD
Definition: gsm_08_08.h:188
uint8_t w8
Definition: gsm_04_08.h:364
gsm411_cp_state
Definition: gsm_04_11.h:10
@ GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER
Definition: gsm_08_08.h:560
#define GSM414_MT_ACT_EMMI_CMD
Definition: gsm_04_14.h:56
static int lapdm_rx_not_permitted(const struct lapdm_entity *le, const struct lapd_msg_ctx *lctx)
Definition: lapdm.c:541
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:564
static int gsm411_send_release(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:186
static int lapd_data_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1799
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:809
static struct osmo_auth_impl c128v1_alg
Definition: auth_comp128v1.c:43
#define GSM48_MT_MM_LOC_UPD_REQUEST
Definition: gsm_04_08.h:1444
@ BSS_MAP_MSG_RESET_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:102
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
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:237
@ GSM48_DTX_MAY_BE_USED
Definition: gsm_04_08.h:884
@ OSMO_GSUP_SESSION_STATE_IE
Definition: gsup.h:87
#define GSM48_IE_CHANMODE_2
Definition: gsm_04_08.h:1593
#define GSM48_IE_CELL_CH_DESC
Definition: gsm_04_08.h:1617
uint8_t digits[3]
Definition: gsm_04_08.h:786
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:570
@ NM_ATT_ADD_TEXT
Definition: gsm_12_21.h:322
@ GSM0808_IE_IMSI
Definition: gsm_08_08.h:168
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
@ NM_ATT_IPACC_BVCI
Definition: gsm_12_21.h:443
static int parse_process_uss_data(const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:677
@ GSM48_CMODE_DATA_12k0
Definition: gsm_04_08.h:701
@ NM_ATT_SW_CONFIG
Definition: gsm_12_21.h:383
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:1618
@ BSS_MAP_MSG_UPLINK_RELEASE_INDICATION
Definition: gsm_08_08.h:146
uint8_t sres[4]
authentication result for GSM
Definition: auth.h:68
int n200
Definition: lapd_core.h:136
@ 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:98
@ 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:149
@ NM_ATT_IPACC_LOCATION
Definition: gsm_12_21.h:427
#define MDL_CAUSE_IFRM_INC_MBITS
Definition: lapd_core.h:39
@ 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:1799
#define ARFCN_UPLINK
Definition: gsm_utils.h:161
#define GSM48_MT_GMM_STATUS
Definition: gsm_04_08_gprs.h:32
const struct value_string gsm0480_comp_type_names[]
Definition: gsm0480.c:39
const struct value_string osmo_bts_features_descs[]
Definition: bts_features.c:26
@ GSM0808_IE_CSG_IDENTIFIER
Definition: gsm_08_08.h:278
@ NM_MT_STOP_TEST_NACK
Definition: gsm_12_21.h:146
uint8_t msg_ref
Definition: gsm_04_11.h:107
@ GSM48_REJECT_NETWORK_FAILURE
Definition: gsm_04_08.h:1778
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:824
@ NM_OC_BASEB_TRANSC
Definition: gsm_12_21.h:293
struct osmo_timer_list t200
T200 timer.
Definition: lapd_core.h:150
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:769
static void _comp128_permutation(uint8_t *x, uint8_t *bits)
Definition: comp128.c:182
@ GA_MT_RC_DISCOVERY_ACCEPT
Definition: gsm_44_318.h:19
int lapd_recv_dlsap(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2209
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:672
int(* mn_send)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.h:21
@ 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:42
@ GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP
Definition: gsm_08_08.h:291
@ GMM_CAUSE_CONGESTION
Definition: gsm_04_08_gprs.h:215
@ NM_ATT_FILE_VERSION
Definition: gsm_12_21.h:338
#define PUTU32(ct, st)
Definition: aes_i.h:115
uint16_t cause
Definition: gsm0808.h:111
int osmo_auth_load(const char *path)
Load all available authentication plugins from the given path.
Definition: auth_core.c:73
uint8_t w21_hi
Definition: gsm_04_08.h:378
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST
Definition: gsup.h:99
#define ALL_STATES
Definition: gsm_04_08.h:1870
static void lapd_t203_cb(void *data)
Definition: lapd_core.c:686
int gsm48_encode_keypad(struct msgb *msg, int keypad)
Encode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:667
#define GSM48_IE_NET_TIME_TZ
Definition: gsm_04_08.h:1549
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:825
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:49
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:1631
@ GSM411_RPS_WAIT_TO_TX_RP_ACK
Definition: gsm_04_11.h:21
Definition: gsm_utils.h:46
#define CHANNEL_TYPE_ELEMENT_MAXLEN
Definition: gsm0808_utils.c:37
gsm_band
Definition: gsm_utils.h:54
Definition: gsm23003.h:28
uint8_t orig_arfcn_mid
Definition: gsm_04_08.h:352
@ OSMO_GSUP_MSGT_INSERT_DATA_RESULT
Definition: gsup.h:111
int nr_stop_bits
Definition: mncc.h:23
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:98
int gsm48_decode_notify(int *notify, const uint8_t *v)
Decode TS 04.08 Notify IE (10.5.4.20)
Definition: gsm48_ie.c:622
uint8_t mask
Definition: gsm48_ie.h:111
#define SBIT(a)
Definition: lapd_core.c:108
@ GSM0808_IE_ASSIGNMENT_REQUIREMENT
Definition: gsm_08_08.h:212
static int rslms_sendmsg(struct msgb *msg, struct lapdm_entity *le)
Definition: lapdm.c:232
uint8_t rand[16]
Definition: gsm_04_08.h:715
uint8_t w6_hi
Definition: gsm_04_08.h:277
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:90
#define TLVP_PRES_LEN(tp, tag, min_len)
Definition: tlv.h:446
uint8_t t2
Definition: gsm_04_08.h:651
int seq_err_cond
condition of sequence error
Definition: lapd_core.h:145
@ GSM0808_IE_LCLS_BREAK_REQ
Definition: gsm_08_08.h:288
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:107
@ BSS_MAP_MSG_CIRCUIT_GROUP_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:115
union gsm0808_cell_id_u id_list[GSM0808_CELL_ID_LIST2_MAXLEN]
Definition: gsm0808_utils.h:56
@ BSS_MAP_MSG_CLEAR_RQST
Definition: gsm_08_08.h:78
uint8_t ta_ind
Definition: lapdm.h:24
unsigned int perm_spch_len
Definition: gsm_08_08.h:519
@ OSMO_GSUP_CAUSE_IE
Definition: gsup.h:62
void lapd_dl_exit(struct lapd_datalink *dl)
Definition: lapd_core.c:330
#define GSM48_MT_GMM_AUTH_CIPH_FAIL
Definition: gsm_04_08_gprs.h:29
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:463
#define GSM48_IE_CHDES_2_AFTER
Definition: gsm_04_08.h:1619
@ NM_ATT_IPACC_SEC_POSSIBLE
Definition: gsm_12_21.h:459
@ GSM48_REJECT_ROAMING_NOT_ALLOWED
Definition: gsm_04_08.h:1777
#define SMRDOWNSLLEN
Definition: gsm0411_smr.c:395
@ GSM0808_IE_TALKER_FLAG
Definition: gsm_08_08.h:213
@ GSM0808_IE_LAYER_3_INFORMATION
Definition: gsm_08_08.h:183
@ GSM0808_PERM_FR2
GSM EFR.
Definition: gsm_08_08.h:422
@ NM_ATT_IPACC_NSVCI
Definition: gsm_12_21.h:444
#define GSM0480_OP_CODE_PROCESS_USS_REQ
Definition: gsm_04_80.h:80
#define GSM48_MT_RR_NOTIF_NCH
Definition: gsm_04_08.h:1387
@ OSMO_GSUP_HLR_NUMBER_IE
Definition: gsup.h:69
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:154
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:462
@ RSL_MT_DATA_IND
Definition: gsm_08_58.h:88
int type
Definition: mncc.h:34
struct gprs_cs_desc::@40 uplink
@ NM_MT_BS11_DELETE_OBJ_NACK
Definition: gsm_12_21.h:210
#define GSM48_IE_FRQSHORT_AFTER
Definition: gsm_04_08.h:1589
@ GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED
Definition: gsm_08_08.h:342
void osmo_c4(uint8_t *ck, const uint8_t *kc)
Definition: auth_core.c:114
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:67
@ 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:86
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:645
enum osmo_auth_algo algo
algorithm we implement
Definition: auth.h:75
#define LAPDm_CTRL_is_S(ctrl)
Definition: lapdm.c:71
uint8_t tx_power_ind
Definition: lapdm.h:25
uint8_t format
Definition: lapd_core.h:102
static int32_t smod(int32_t n, int32_t m)
Definition: gsm48_ie.c:797
@ GSM48_DTX_SHALL_NOT_BE_USED
Definition: gsm_04_08.h:886
uint8_t s_u
Definition: lapd_core.h:106
@ NM_MT_BS11_END_DB_TX_NACK
Definition: gsm_12_21.h:204
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:1170
@ GSM48_RR_CAUSE_PREMPTIVE_REL
Definition: gsm_04_08.h:1701
@ BTS_FEAT_SPEECH_H_AMR
Definition: bts_features.h:25
void lapdm_channel_exit(struct lapdm_channel *lc)
Definition: lapdm.c:197
osmo_bts_features
Definition: bts_features.h:11
@ OSMO_GSUP_RAND_IE
Definition: gsup.h:75
#define BSSMAP_MSG_HEADROOM
Definition: gsm0808.c:38
#define GSM48_IE_CLASSMARK3
Definition: gsm_04_08.h:1613
@ GSM0808_PERM_HR6
OHR AMR.
Definition: gsm_08_08.h:430
@ 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:835
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
@ NM_MT_REST_EVENT_REP
Definition: gsm_12_21.h:153
@ GSM411_RP_CAUSE_INV_MAND_INF
Definition: gsm_04_11.h:88
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:708
struct llist_head tx_queue
frames to L1
Definition: lapd_core.h:153
uint8_t w9_hi
Definition: gsm_04_08.h:282
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)
Create BSSMAP HANDOVER REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.10.
Definition: gsm0808.c:745
static const struct value_string gsm0808_msgt_names[]
Definition: gsm0808.c:1024
@ GMM_CAUSE_MSC_TEMP_NOTREACH
Definition: gsm_04_08_gprs.h:211
uint8_t code_lo
Definition: gsm_03_41.h:30
static const int tch_ahs_4_75_puncture[]
Definition: gsm0503_conv.c:1105
@ GSM48_REJECT_INF_ELEME_NOT_IMPLEMENTED
Definition: gsm_04_08.h:1789
@ RSL_IE_REQ_REFERENCE
Definition: gsm_08_58.h:232
struct lapdm_msg_ctx mctx
context of established connection
Definition: lapdm.h:31
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:1505
uint8_t acc_delay
Delay in bit periods.
Definition: l1sap.h:63
@ OSMO_GSUP_SESSION_STATE_END
Indication of the session end.
Definition: gsup.h:154
struct lapd_cr_ent loc2rem
filled-in once we set the lapd_mode above
Definition: lapd_core.h:130
const uint8_t * apn_enc
APN information, still in encoded form.
Definition: gsup.h:170
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:24
@ LAPD_STATE_ASS_TEI_WAIT
Definition: lapd_core.h:75
@ GSM0808_ALG_ID_A5_7
Definition: gsm_08_08.h:464
Definition: gsm0411_smc.h:29
@ NM_NACK_RES_NOTIMPL
Definition: gsm_12_21.h:616
#define TLVP_LEN(x, y)
Definition: tlv.h:443
uint8_t w14_lo
Definition: gsm_04_08.h:290
void * l3_ctx
context for layer3 instance
Definition: lapdm.h:58
@ GSM0808_IE_APP_DATA_INFO
Definition: gsm_08_08.h:269
@ OSMO_GSUP_CN_DOMAIN_IE
Definition: gsup.h:84
uint8_t w4_lo
Definition: gsm_04_08.h:359
#define N201_Bbis
Definition: lapdm.c:92
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:1116
uint8_t update
Definition: gsm_03_41.h:12
@ PRIM_DL_UNIT_DATA
DL-UNIT-DATA.
Definition: lapd_core.h:19
uint8_t w8_hi
Definition: gsm_04_08.h:133
uint8_t t3_high
Definition: gsm_04_08.h:649
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
#define GPRS_ATT_T_ATT_WHILE_IMSI
Definition: gsm_04_08_gprs.h:52
@ NM_ATT_OUTST_ALARM
Definition: gsm_12_21.h:388
@ GSM0808_CAUSE_BSS_NOT_EQUIPPED
Definition: gsm_08_08.h:351
@ GSM_MNCC_BCAP_FAX_G3
Definition: mncc.h:81
int lapd_set_mode(struct lapd_datalink *dl, enum lapd_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapd_core.c:344
void gsm_fn2gsmtime(struct gsm_time *time, uint32_t fn)
Parse GSM Frame Number into struct gsm_time.
Definition: gsm_utils.c:825
@ IPAC_MSGT_PING
Definition: ipaccess.h:44
@ BTS_FEAT_OML_ALERTS
Definition: bts_features.h:18
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:717
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
uint16_t lac
Definition: gsm23003.h:36
@ GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID
Definition: gsm_08_08.h:295
#define IP_V6_ADDR_LEN
Definition: gsm0808_utils.c:34
uint8_t ra
Definition: gsm_04_08.h:641
@ GSM_CAUSE_MSG_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:259
@ BSS_MAP_MSG_COMMON_ID
Definition: gsm_08_08.h:92
uint8_t res_len
length (in bytes) of res
Definition: auth.h:66
static void lapdm_dl_init(struct lapdm_datalink *dl, struct lapdm_entity *entity, int t200)
Definition: lapdm.c:134
@ NM_ATT_HW_CONF_CHG
Definition: gsm_12_21.h:387
#define GSM48_IE_SYNC_IND
Definition: gsm_04_08.h:1633
@ 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:384
uint8_t ts_nr
Timeslot Number.
Definition: gsm_12_21.h:70
uint8_t cm3
Definition: gsm_04_08.h:38
int gsm48_encode_notify(struct msgb *msg, int notify)
Encode TS 04.08 Notify IE (10.5.4.20)
Definition: gsm48_ie.c:630
@ NM_OC_BS11_PWR_CTRL
Definition: gsm_12_21.h:303
#define GSM48_MT_GMM_ID_REQ
Definition: gsm_04_08_gprs.h:30
static const int tch_afs_5_9_puncture[]
Definition: gsm0503_conv.c:573
static int gsm411_mmsms_est_cnf(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:207
void aes_encrypt_deinit(void *ctx)
Definition: aes-internal-enc.c:120
uint8_t gsm48_generate_mid(uint8_t *buf, const char *id, uint8_t mi_type)
Generate TS 24.008 §10.5.1.4 Mobile ID.
Definition: gsm48.c:608
@ TLV_TYPE_FIXED
fixed-length value-only
Definition: tlv.h:402
@ NM_CHANC_SDCCH
Definition: gsm_12_21.h:551
static void lapd_dl_newstate(struct lapd_datalink *dl, uint32_t state)
Definition: lapd_core.c:234
uint32_t states
Definition: gsm0411_smc.c:483
@ GSM_BAND_810
Definition: gsm_utils.h:62
@ NM_ATT_IPACC_TIMING_BUS
Definition: gsm_12_21.h:437
#define GSM48_IE_GROUP_CHDES
Definition: gsm_04_08.h:1624
static int lapd_send_rnr(struct lapd_msg_ctx *lctx, uint8_t f_bit, uint8_t cmd)
Definition: lapd_core.c:467
#define A5_R2_LEN
Definition: a5.c:106
@ GSM0808_IE_SNA_ACCESS_INFO
Definition: gsm_08_08.h:246
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:297
#define GSM411_MT_RP_DATA_MT
Definition: gsm_04_11.h:53
uint16_t len
length
Definition: tlv.h:395
uint8_t w20
Definition: gsm_04_08.h:377
#define GSM48_MT_RR_PAG_REQ_1
Definition: gsm_04_08.h:1383
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a msgb
Definition: tlv.h:321
@ GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_UMTS
Definition: gsm_08_08.h:238
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:1598
struct osmo_prim_hdr oph
generic primitive header
Definition: lapd_core.h:58
void lapd_dl_reset(struct lapd_datalink *dl)
Definition: lapd_core.c:308
@ GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL
Definition: gsm_08_08.h:336
uint16_t arfcn_first
Definition: gsm_utils.c:742
#define GSM48_IE_LOWL_COMPAT
Definition: gsm_04_08.h:1571
@ GSM411_CP_CAUSE_IE_NOTEXIST
Definition: gsm_04_11.h:47
#define GSM48_IE_REDIR_BCD
Definition: gsm_04_08.h:1569
#define GSM48_MT_CC_STATUS
Definition: gsm_04_08.h:1498
@ GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE
Definition: gsm_08_08.h:261
@ GA_MT_CSR_PAGING_RESP
Definition: gsm_44_318.h:53
#define GSM48_MT_RR_PDCH_ASS_CMD
Definition: gsm_04_08.h:1377
#define GSM414_MT_CLOSE_MSLOT_LOOP_ACK
Definition: gsm_04_14.h:39
#define GSM_MI_TYPE_TMSI
Definition: gsm_04_08.h:1542
@ 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
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:157
@ OSMO_EVT_MIN_PAG_TAB_FULL
Definition: gsm_12_21.h:272
#define GSM48_MT_MM_AUTH_REQ
Definition: gsm_04_08.h:1447
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:748
const uint8_t * pdp_charg_enc
PDP Charging Characteristics, still in encoded form.
Definition: gsup.h:180
#define SMRDATASLLEN
Definition: gsm0411_smr.c:458
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:184
const uint8_t * auts
Definition: gsup.h:201
unsigned int flags
Definition: lapdm.h:55
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:244
static int rslms_rx_rll(struct msgb *msg, struct lapdm_channel *lc)
Definition: lapdm.c:1149
static const uint8_t tch_afs_5_15_output[][2]
Definition: gsm0503_conv.c:609
@ GA_MT_RC_DEREGISTER
Definition: gsm_44_318.h:26
@ GSM0808_IE_LSA_INFORMATION
Definition: gsm_08_08.h:221
@ GA_PDISC_PSR
Definition: gsm_44_318.h:12
@ GSM0808_FE_IE_CURRENT_CHANNEL_TYPE_2
Definition: gsm_08_08.h:301
@ NM_MT_PERF_TEST_NACK
Definition: gsm_12_21.h:139
@ GSM411_CP_CAUSE_SEMANT_INC_MSG
Definition: gsm_04_11.h:43
void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf)
Parse TS 04.08 Routing Area Identifier.
Definition: gsm48.c:691
@ GSM_CAUSE_UNKNOWN_PDP
Definition: gsm_04_08_gprs.h:239
@ 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:589
uint8_t w6_lo
Definition: gsm_04_08.h:278
const char * gsm_band_name(enum gsm_band band)
Return string name of a given GSM Band.
Definition: gsm_utils.c:655
#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
@ GSM0808_CAUSE_UPLINK_QUALITY
Definition: gsm_08_08.h:324
@ BSS_MAP_MSG_RESOURCE_RQST
Definition: gsm_08_08.h:123
@ BSS_MAP_MSG_BSS_INVOKE_TRACE
Definition: gsm_08_08.h:104
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:419
@ GSM411_CP_CAUSE_NET_FAIL
Definition: gsm_04_11.h:40
uint8_t w18_hi
Definition: gsm_04_08.h:374
uint8_t w8_lo
Definition: gsm_04_08.h:134
@ GSM_LCHAN_TCH_H
Definition: gsm_utils.h:222
@ 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:1578
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:375
@ NM_ATT_CHAN_COMB
Definition: gsm_12_21.h:332
@ GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT
Definition: gsm_04_08.h:1709
#define GSM48_PDISC_MASK
Definition: gsm_04_08.h:1251
struct msgb * lapd_msgb_alloc(int length, const char *name)
Definition: lapd_core.c:118
@ NM_ATT_LDAVG_SLOTS
Definition: gsm_12_21.h:362
uint8_t chosen_encr_alg
Definition: gsm0808.h:144
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
struct gsm48_hdr * gsm0480_l3hdr_push(struct msgb *msg, uint8_t proto_discr, uint8_t msg_type)
Definition: gsm0480.c:838
#define MDL_CAUSE_FRM_UNIMPL
Definition: lapd_core.h:41
@ GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE
Definition: gsm_08_08.h:347
uint8_t ccch_conf
Definition: gsm_04_08.h:721
static const uint8_t tch_afs_10_2_term_state[]
Definition: gsm0503_conv.c:285
#define GSM48_IE_SIGNAL
Definition: gsm_04_08.h:1562
struct osmo_location_area_id lai
Definition: gsm23003.h:29
#define CELL_ID_LIST_LAC_MAXLEN
Definition: gsm_08_08.h:532
@ GSM411_RP_CAUSE_MO_INTERWORKING
Definition: gsm_04_11.h:82
@ NM_MT_LOAD_END
Definition: gsm_12_21.h:93
#define GSM414_MT_RESET_MS_POS_STORED
Definition: gsm_04_14.h:99
@ TLV_TYPE_T
tag-only
Definition: tlv.h:403
@ NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH
Definition: gsm_12_21.h:566
@ IPAC_MSGT_ID_ACK
Definition: ipaccess.h:48
static int update_pending_frames(struct lapd_msg_ctx *lctx)
Definition: lapdm.c:521
@ GA_MT_RC_REGISTER_ACCEPT
Definition: gsm_44_318.h:23
#define GSM48_IE_REDIR_SUB
Definition: gsm_04_08.h:1570
static const char * gsm0808_cell_id_name_buf(const struct gsm0808_cell_id *cid, char *buf, size_t buflen)
Definition: gsm0808_utils.c:1223
#define GSM48_MT_CC_RETR_ACK
Definition: gsm_04_08.h:1489
#define MDL_CAUSE_T200_EXPIRED
Definition: lapd_core.h:30
int maxf
maximum frame size (after defragmentation)
Definition: lapd_core.h:138
#define GSM48_MT_RR_INIT_REQ
Definition: gsm_04_08.h:1349
@ GSM0808_IE_LCLS_CORR_NOT_NEEDED
Definition: gsm_08_08.h:286
#define GSM0480_OP_CODE_REGISTER_PASSWORD
Definition: gsm_04_80.h:76
@ GSM0808_IE_CELL_ID_LIST_SEG_NE_CELLS
Definition: gsm_08_08.h:263
uint16_t freq_ul_first
Definition: gsm_utils.c:744
@ GSM0808_LCLS_CSC_RELEASE_LCLS
Definition: gsm_08_08.h:559
struct osmo_auth_vector auth_vectors[OSMO_GSUP_MAX_NUM_AUTH_INFO]
Definition: gsup.h:193
@ CELL_IDENT_LAC_AND_CI
Definition: gsm_08_08.h:18
@ GSM0808_CAUSE_PROCESSOR_OVERLOAD
Definition: gsm_08_08.h:350
static int gsm411_mnsms_error_ind_rx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:352
@ GSM0808_IE_MOBILE_IDENTITY
Definition: gsm_08_08.h:201
@ NM_MT_SET_RADIO_ATTR
Definition: gsm_12_21.h:130
Definition: gsm0411_smc.c:421
@ OSMO_GSUP_AUTS_IE
Definition: gsup.h:82
@ RSL_MT_REL_IND
Definition: gsm_08_58.h:95
@ NM_CHANC_IPAC_TCHFull_PDCH
Definition: gsm_12_21.h:563
int lapdm_rslms_recvmsg(struct msgb *msg, struct lapdm_channel *lc)
Receive a RSLms msgb from Layer 3.
Definition: lapdm.c:1273
@ BTS_FEAT_HOPPING
Definition: bts_features.h:16
@ NM_MT_CONN_TERR_SIGN_NACK
Definition: gsm_12_21.h:109
void abis_nm_debugp_foh(int ss, struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:944
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:1408
uint8_t w3_hi
Definition: gsm_04_08.h:123
static __attribute__((constructor))
Definition: auth_milenage.c:179
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:490
@ GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP
Definition: gsm_08_08.h:373
@ GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS
Definition: gsm_08_08.h:370
@ GSM0808_PERM_FR5
FR AMR-WB.
Definition: gsm_08_08.h:425
#define GSM48_MT_RR_CLSM_CHG
Definition: gsm_04_08.h:1425
@ 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:1414
@ T200_FACCH_H
Definition: gsm_12_21.h:649
gsm411_rp_state
Definition: gsm_04_11.h:18
union osmo_dlsap_prim::@8 u
request-specific data
int ipa_send(int fd, const void *msg, size_t msglen)
Definition: ipa.c:341
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:128
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 gsm48_mi_to_string(char *string, const int str_len, const uint8_t *mi, const int mi_len)
Convert TS 04.08 Mobile Identity (10.5.1.4) to string.
Definition: gsm48.c:646
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:1788
void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:184
#define GSM48_MT_GMM_RA_UPD_REQ
Definition: gsm_04_08_gprs.h:19
struct msgb * gsm0808_create_clear_complete(void)
Create BSSMAP Clear Complete message.
Definition: gsm0808.c:170
@ 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:238
@ GSM48_RR_CAUSE_FREQ_NOT_IMPL
Definition: gsm_04_08.h:1704
@ OSMO_GSUP_MSGT_DELETE_DATA_RESULT
Definition: gsup.h:115
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:441
uint8_t u8
Definition: common.h:18
@ NM_ATT_MEAS_RES
Definition: gsm_12_21.h:390
#define GSM48_MT_RR_SYSINFO_2quater
Definition: gsm_04_08.h:1407
@ GSM_BAND_480
Definition: gsm_utils.h:60
struct lapd_datalink::@9 cr
uint8_t w17
Definition: gsm_04_08.h:373
@ NM_IPACC_TESTNO_FREQ_SYNC
Definition: gsm_12_21.h:718
uint8_t w4_hi
Definition: gsm_04_08.h:273
int gsm48_generate_mid_from_tmsi(uint8_t *buf, uint32_t tmsi)
Generate TS 04.08 Mobile ID from TMSI.
Definition: gsm48.c:592
#define A52_R4_CLKBIT1
Definition: a5.c:276
int type
Definition: gsm0411_smr.c:379
Definition: gsm_08_08.h:515
@ OSMO_GSUP_SESSION_ID_IE
Definition: gsup.h:86
#define GSM48_MT_RR_FREQ_REDEF
Definition: gsm_04_08.h:1423
@ GSM_PCHAN_CCCH
Definition: gsm_utils.h:203
#define GSM48_MT_CC_CONNECT
Definition: gsm_04_08.h:1471
#define GSM48_MT_RR_CHAN_REL
Definition: gsm_04_08.h:1379
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:322
#define GSM48_MT_RR_HANDO_FAIL
Definition: gsm_04_08.h:1371
const uint8_t * qos_enc
QoS information, still in encoded form.
Definition: gsup.h:175
const struct value_string abis_nm_msg_disc_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:597
uint8_t w27
Definition: gsm_04_08.h:386
@ NM_EVT_ENV_FAIL
Definition: gsm_12_21.h:575
@ GSM0808_PERM_FR4
OFR AMR-WB.
Definition: gsm_08_08.h:424
char number[33]
Definition: mncc.h:38
@ GSM_CAUSE_MISSING_APN
Definition: gsm_04_08_gprs.h:238
int gsm48_generate_mid_from_imsi(uint8_t *buf, const char *imsi)
Generate TS 04.08 Mobile ID from IMSI.
Definition: gsm48.c:635
static enum abis_nm_chan_comb chcomb4pchan[]
Definition: abis_nm.c:689
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:1397
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:328
@ NM_ATT_IPACC_GPRS_PAGING_CFG
Definition: gsm_12_21.h:441
@ GSM411_CP_CAUSE_INV_MAND_INF
Definition: gsm_04_11.h:44
struct osmo_timer_list t203
T203 timer.
Definition: lapd_core.h:151
@ IPAC_IDTAG_EQUIPVERS
Definition: ipaccess.h:59
@ GMM_CAUSE_IMEI_NOT_ACCEPTED
Definition: gsm_04_08_gprs.h:200
uint8_t w10
Definition: gsm_04_08.h:366
@ GSM0808_IE_CIRCUIT_POOL
Definition: gsm_08_08.h:205
static uint8_t sub_mod(uint8_t x, uint8_t y, uint8_t m)
Definition: lapd_core.c:141
@ GSM0808_SCT_CSD
CSData (see also TS 26.103)
Definition: gsm_08_08.h:448
static uint8_t * msgb_tv16_push(struct msgb *msg, uint8_t tag, uint16_t val)
push (prepend) a TV16 field to a msgb
Definition: tlv.h:355
enum osmo_gsup_session_state session_state
Session state osmo_gsup_session_state.
Definition: gsup.h:208
size_t pdp_charg_enc_len
length (in octets) of pdp_charg_enc
Definition: gsup.h:182
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
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RQST
Definition: gsm_08_08.h:139
uint8_t rr_cause
Definition: gsm0808.h:161
@ 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:405
static const uint8_t tch_ahs_7_95_output[][2]
Definition: gsm0503_conv.c:824
struct gsm48_req_ref req_ref
Definition: gsm_04_08.h:713
@ PRIM_PH_RTS
PH-RTS.
Definition: l1sap.h:13
struct msgb * gsm0480_create_ussd_notify(int level, const char *text)
Definition: gsm0480.c:848
@ GA_MT_CSR_CHAN_MODE_MOD
Definition: gsm_44_318.h:38
#define GSM48_MT_RR_VGCS_UPL_GRANT
Definition: gsm_04_08.h:1432
int osmo_gsup_encode(struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
Encode a GSUP message.
Definition: gsup.c:529
#define GSM411_ALLOC_SIZE
Definition: gsm0411_utils.c:48
int lapdm_phsap_up(struct osmo_prim_hdr *oph, struct lapdm_entity *le)
Receive a PH-SAP primitive from L1.
Definition: lapdm.c:771
@ NM_ATT_NACK_CAUSES
Definition: gsm_12_21.h:353
@ NM_NACK_PARAM_RANGE
Definition: gsm_12_21.h:611
const char * rsl_msg_name(uint8_t err)
Get human-readable string for RSL Message Type.
Definition: rsl.c:358
@ NM_MT_SET_ALARM_THRES
Definition: gsm_12_21.h:190
size_t hlr_enc_len
Definition: gsup.h:200
uint8_t rr_cause
Definition: gsm_04_08.h:708
@ NM_MT_SW_ACT_REQ_NACK
Definition: gsm_12_21.h:98
bool chosen_encr_alg_present
Definition: gsm0808.h:143
int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id)
Definition: gsm0480.c:97
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:129
struct msgb * gsm0808_create_clear_command(uint8_t reason)
Create BSSMAP Clear Command message.
Definition: gsm0808.c:187
@ GSM48_RR_CAUSE_MSG_TYPE_N
Definition: gsm_04_08.h:1708
uint8_t w4_lo
Definition: gsm_04_08.h:274
@ BSS_MAP_MSG_CHAN_MOD_RQST
Definition: gsm_08_08.h:55
uint8_t mac_addr[6]
Definition: ipa.h:20
uint8_t w6_lo
Definition: gsm_04_08.h:362
static const uint8_t tch_afs_5_15_term_output[]
Definition: gsm0503_conv.c:621
@ BSS_MAP_MSG_PERFORM_LOCATION_ABORT
Definition: gsm_08_08.h:91
@ GSM340_TYPE_ALPHA_NUMERIC
Definition: gsm_03_40.h:15
@ NM_MT_LOAD_INIT_NACK
Definition: gsm_12_21.h:89
@ NM_STATE_LOCKED
Definition: gsm_12_21.h:520
void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id)
Prepend a DTAP header to given Message Buffer.
Definition: gsm0808.c:852
@ NM_OC_BS11
Definition: gsm_12_21.h:306
void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200)
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:154
@ GSM0808_IE_VGCS_FEATURE_FLAGS
Definition: gsm_08_08.h:252
@ NM_IPACC_TESTNO_BCCH_CHAN_USAGE
Definition: gsm_12_21.h:717
const char * name
Definition: lapd_core.c:2153
uint8_t length
Definition: gsm_08_08.h:3
@ GSM0808_IE_CELL_IDENTIFIER
Definition: gsm_08_08.h:165
RSL common header.
Definition: gsm_08_58.h:33
int(* send_dlsap)(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.h:124
const struct value_string gsm0808_lcls_control_names[]
Definition: gsm0808.c:1270
@ GSM0808_CAUSE_REQUESTED_OPT_NOT_AUTHORISED
Definition: gsm_08_08.h:341
@ NM_ATT_OSMO_REDUCEPOWER
Definition: gsm_12_21.h:514
uint8_t w17
Definition: gsm_04_08.h:218
#define IPA_ALLOC_SIZE
Definition: ipa.c:52
#define GSM48_MT_CC_NOTIFY
Definition: gsm_04_08.h:1497
void gsm340_gen_scts(uint8_t *scts, time_t time)
Generate 03.40 TP-SCTS.
Definition: gsm0411_utils.c:92
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:210
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:973
#define GSM48_MT_RR_CIPH_M_CMD
Definition: gsm_04_08.h:1359
static int l2_ph_chan_conf(struct msgb *msg, struct lapdm_entity *le, uint32_t frame_nr)
Definition: lapdm.c:1125
@ 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
#define GSM48_MT_CC_SETUP
Definition: gsm_04_08.h:1479
#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:1306
@ 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 msgb
Definition: tlv.h:288
@ GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE
Definition: gsm_08_08.h:322
@ GSM48_CMODE_DATA_6k0
Definition: gsm_04_08.h:702
enum gprs_ciph_algo algo
Definition: gprs_cipher.h:33
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:225
bool osmo_msisdn_str_valid(const char *msisdn)
Determine whether the given MSISDN is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:69
const struct value_string gsm48_cc_msgtype_names[]
TS 04.08 CC Message Type names.
Definition: gsm48.c:906
@ GA_MT_CSR_UL_QUAL_IND
Definition: gsm_44_318.h:47
#define GSM48_IE_PROGR_IND
Definition: gsm_04_08.h:1558
#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:383
struct tlv_p_entry lv[256]
Definition: tlv.h:425
@ 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:739
int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset)
Definition: ipa.c:106
@ GSM0808_IE_IMEI
Definition: gsm_08_08.h:250
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:189
@ NM_ATT_IPACC_OBJ_VERSION
Definition: gsm_12_21.h:440
const uint8_t * pdp_charg_enc
Definition: gsup.h:204
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:1605
@ GSM0808_IE_CAUSE
Definition: gsm_08_08.h:164
enum gsm411_cp_state cp_state
Definition: gsm0411_smc.h:37
@ GSM0808_FE_IE_EXTRA_INFORMATION
Definition: gsm_08_08.h:300
the two lapdm_entities that form a GSM logical channel (ACCH + DCCH)
Definition: lapdm.h:71
@ GSM0808_IE_REDIR_ATTEMPT_FLAG
Definition: gsm_08_08.h:279
@ GSM48_REJECT_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:1781
@ GMM_CAUSE_SMS_VIA_GPRS_IN_RA
Definition: gsm_04_08_gprs.h:218
int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref)
Prefix msgb with a RP header.
Definition: gsm0411_utils.c:332
@ GSM_BAND_450
Definition: gsm_utils.h:59
struct gprs_cs_desc::@40 downlink
@ BSSAP_MSG_DTAP
Definition: gsm_08_08.h:33
@ BSS_MAP_MSG_HANDOVER_SUCCEEDED
Definition: gsm_08_08.h:63
#define SMC_LOG_STR
Definition: gsm0411_smc.c:75
uint8_t proto
Definition: ipaccess.h:3
#define GSM411_MNSMS_DATA_REQ
Definition: gsm0411_smc.h:22
primitive header for LAPD DL-SAP primitives
Definition: lapd_core.h:57
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:61
uint8_t w14_hi
Definition: gsm_04_08.h:143
uint8_t w5_lo
Definition: gsm_04_08.h:128
uint8_t link_id
Link Identifier (Like RSL)
Definition: l1sap.h:75
const struct value_string * gsm48_gsm_cause_names
Definition: gsm_04_08_gprs.c:120
uint8_t w16_lo
Definition: gsm_04_08.h:293
static int lapd_send_resend(struct lapd_datalink *dl)
Definition: lapd_core.c:511
#define GSM48_IE_MODE_SEC_CH
Definition: gsm_04_08.h:1620
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:1644
uint16_t trx_id
Definition: ipa.h:16
static int gsm411_mnsms_error_ind_tx(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:341
int descr
Definition: mncc.h:59
#define EGPRS_CPS_TYPE1_TBL_SZ
Definition: gprs_rlc.c:20
@ GSM0808_IE_SMS_TO_VGCS
Definition: gsm_08_08.h:257
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE
Definition: gsm_08_08.h:323
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL
Definition: gsm_08_08.h:548
uint8_t msg_ref
Definition: gsm_04_11.h:4
#define GSM48_MT_GMM_AUTH_CIPH_REQ
Definition: gsm_04_08_gprs.h:26
int gsm0808_dec_speech_codec(struct gsm0808_speech_codec *sc, const uint8_t *elem, uint8_t len)
Decode TS 08.08 Speech Codec IE.
Definition: gsm0808_utils.c:259
@ OSMO_AUTH_ALG_XOR
Definition: auth.h:33
#define RLL_CAUSE_FRM_UNIMPL
Definition: gsm_08_58.h:459
@ BSS_MAP_MSG_VGCS_ADDL_INFO
Definition: gsm_08_08.h:150
int type
Definition: gsm0411_smc.c:423
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:405
int proto
Definition: mncc.h:52
#define GSM0480_OP_CODE_SPLIT_MPTY
Definition: gsm_04_80.h:84
static char apn_strbuf[APN_MAXLEN+1]
Definition: apn.c:33
#define GSM411_TMR_TR1M
Definition: gsm_04_11.h:96
@ GSM0808_CAUSE_INVALID_CSG_CELL
Definition: gsm_08_08.h:365
const struct tlv_definition gsm48_mm_att_tlvdef
TLV parser definitions for TS 04.08 MM.
Definition: gsm48.c:141
#define GSM48_IE_CHANMODE_4
Definition: gsm_04_08.h:1597
@ NM_NACK_REQ_NOT_GRANT
Definition: gsm_12_21.h:630
int ipa_ccm_send_id_ack(int fd)
Definition: ipa.c:360
struct gsm0808_old_bss_to_new_bss_info::@1 current_channel_type_2
@ NM_STATE_SHUTDOWN
Definition: gsm_12_21.h:522
#define GSM414_MT_OPEN_MSLOT_LOOP_ACK
Definition: gsm_04_14.h:55
static int rslms_rx_com_chan(struct msgb *msg, struct lapdm_channel *lc)
Definition: lapdm.c:1246
@ NM_MT_CHANGEOVER_NACK
Definition: gsm_12_21.h:168
#define ARFCN_FLAG_MASK
Definition: gsm_utils.h:162
const char * gsm0808_cause_name(uint8_t cause)
Return string name of BSSMAP Cause name.
Definition: gsm0808.c:1250
@ BTS_FEAT_CBCH
Definition: bts_features.h:20
uint16_t ci
Definition: gsm0808_utils.h:42
#define GSM48_IE_USER_USER
Definition: gsm_04_08.h:1573
#define GSM0480_OP_CODE_USS_REQUEST
Definition: gsm_04_80.h:81
int ipa_msg_recv(int fd, struct msgb **rmsg)
unsigned gprs_cipher_key_length(enum gprs_ciph_algo algo)
Obtain key lenght for given GPRS cipher.
Definition: gprs_cipher_core.c:103
#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:1136
uint8_t w8_lo
Definition: gsm_04_08.h:281
@ BSS_MAP_MSG_RESUME
Definition: gsm_08_08.h:86
bool ue_prob
Definition: gsm0808.h:96
Definition: gsm_04_08.h:264
const struct value_string gsm411_rp_cause_strs[]
Definition: gsm0411_smr.c:111
char * equipvers
Definition: ipa.h:18
@ GSM48_BCAP_ITCAP_FAX_G3
Definition: gsm_04_08.h:1881
static int gsm411_send_rp_error(struct gsm411_smr_inst *inst, uint8_t msg_ref, uint8_t cause)
Definition: gsm0411_smr.c:170
@ GSM0808_IE_GERAN_BSC_CONTAINER
Definition: gsm_08_08.h:243
@ GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE
Definition: gsm_04_08.h:1797
uint8_t autn[16]
authentication nonce
Definition: auth.h:62
@ GSM0808_IE_DIAGNOSTIC
Definition: gsm_08_08.h:191
static const struct value_string nack_cause_names[]
Definition: abis_nm.c:178
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
@ GSM0808_IE_LCLS_BSS_STATUS
Definition: gsm_08_08.h:287
#define GSM_MI_TYPE_IMEISV
Definition: gsm_04_08.h:1541
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:787
@ GSM0808_IE_GPS_ASSISTANCE_DATA
Definition: gsm_08_08.h:232
uint8_t ch_rate_type
Definition: gsm_08_08.h:517
#define GSM0480_OP_CODE_BUILD_MPTY
Definition: gsm_04_80.h:87
uint8_t w10
Definition: gsm_04_08.h:284
const struct value_string abis_nm_msgtype_names[]
3GPP TS 52.021 §9.1 Message Types
Definition: abis_nm.c:267
#define GSM414_MT_GPRS_TEST_MODE_CMD
Definition: gsm_04_14.h:66
@ GSM_PCHAN_PDCH
Definition: gsm_utils.h:208
uint8_t w3_hi
Definition: gsm_04_08.h:356
@ OSMO_GSUP_PDP_TYPE_IE
Definition: gsup.h:71
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:1538
@ GSM48_RR_CAUSE_SEMANT_INCORR
Definition: gsm_04_08.h:1706
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:718
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:224
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:761
unsigned int perm_algo_len
Definition: gsm_08_08.h:527
static const struct value_string test_names[]
Definition: abis_nm.c:662
uint8_t range_hist
range of history buffer 2..2^n
Definition: lapd_core.h:158
@ GSM411_RP_CAUSE_MO_FACILITY_REJ
Definition: gsm_04_11.h:74
#define GSM48_IE_BA_RANGE
Definition: gsm_04_08.h:1623
uint32_t gsm_gsmtime2fn(struct gsm_time *time)
Encode decoded gsm_time to Frame Number.
Definition: gsm_utils.c:848
@ GA_MT_CSR_REQUEST_ACCEPT
Definition: gsm_44_318.h:66
@ NM_MT_CHG_ADM_STATE_REQ
Definition: gsm_12_21.h:159
#define GSM23003_IMSI_MAX_DIGITS
Definition: gsm_23_003.h:6
uint8_t w26_hi
Definition: gsm_04_08.h:384
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:555
uint8_t own_busy
receiver busy on our side
Definition: lapd_core.h:146
uint16_t arfcn_last
Definition: gsm_utils.c:743
int gsm48_construct_ra(uint8_t *buf, const struct gprs_ra_id *raid)
Encode a TS 04.08 Routing Area Identifier.
Definition: gsm48.c:739
@ GSM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:256
Definition of All 256 IE / TLV.
Definition: tlv.h:419
@ BTS_FEAT_ECSD
Definition: bts_features.h:15
static int l2_ph_data_conf(struct msgb *msg, struct lapdm_entity *le)
Definition: lapdm.c:327
uint8_t w7_hi
Definition: gsm_04_08.h:202
@ BSS_MAP_MSG_OVERLOAD
Definition: gsm_08_08.h:99
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:45
uint8_t m
Definition: gsm_04_14.h:15
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:50
@ GSM0808_IE_CONFIG_EVO_INDI
Definition: gsm_08_08.h:217
@ GSM0808_CAUSE_TRAFFIC_LOAD
Definition: gsm_08_08.h:354
enum gsm_band gsm_arfcn2band(uint16_t arfcn)
Resolve GSM band from ARFCN In Osmocom, we use the highest bit of the arfcn to indicate PCS.
Definition: gsm_utils.c:713
uint8_t orig_arfcn_lo
Definition: gsm_04_08.h:406
static const uint8_t tch_afs_12_2_state[][2]
Definition: gsm0503_conv.c:221
@ GSM411_RP_CAUSE_MO_RES_UNAVAIL
Definition: gsm_04_11.h:79
uint32_t state
LAPD state (lapd_state)
Definition: lapd_core.h:144
uint8_t rac
Definition: gsm_04_08.h:1991
@ BTS_FEAT_SPEECH_F_AMR
Definition: bts_features.h:24
@ GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:255
void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
Definition: gsm_04_08.h:116
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:160
#define GSM48_IE_CHANMODE_8
Definition: gsm_04_08.h:1601
@ NM_IPACC_TESTNO_SYSINFO_MONITOR
Definition: gsm_12_21.h:721
@ GA_MT_CSR_HO_CMD
Definition: gsm_44_318.h:49
#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:502
@ GSM_CAUSE_ACT_REJ_UNSPEC
Definition: gsm_04_08_gprs.h:242
struct osmo_timer_list cp_timer
Definition: gsm0411_smc.h:38
Definition: gsm_08_08.h:508
#define GSM411_TMR_TR2M
Definition: gsm_04_11.h:98
uint8_t field
Definition: gsm0808.h:102
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:633
Definition: gsm_08_58.h:40
@ PRIM_PH_EMPTY_FRAME
PH-EMPTY_FRAME.
Definition: l1sap.h:12
#define GSM48_IE_F_CH_SEQ_BEFORE
Definition: gsm_04_08.h:1611
#define GSM48_MT_MM_ID_RESP
Definition: gsm_04_08.h:1451
struct osmo_gsup_pdp_info pdp_infos[OSMO_GSUP_MAX_NUM_PDP_INFO]
Definition: gsup.h:195
#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:42
Definition: gsm_08_08.h:476
uint8_t data[0]
Definition: gsm_03_41.h:53
@ 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
@ GSM0808_IE_CS_TO_PS_SRVCC
Definition: gsm_08_08.h:290
parsed/decoded PDP context information
Definition: gsup.h:163
uint8_t key[ENCRY_INFO_KEY_MAXLEN]
Definition: gsm_08_08.h:528
@ 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:1376
@ IPAC_IDTAG_SERNR
Definition: ipaccess.h:55
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
unsigned int key_len
Definition: gsm_08_08.h:529
int rxlev2dbm(uint8_t rxlev)
Convert TS 05.08 RxLev to dBm (TS 05.08 Chapter 8.1.4)
Definition: gsm_utils.c:631
@ NM_ATT_HSN
Definition: gsm_12_21.h:340
@ GSM0808_IE_VELOCITY_ESTIMATE
Definition: gsm_08_08.h:251
uint8_t ta
Timing Advance.
Definition: l1sap.h:45
#define GSM48_IE_FREQ_L_AFTER
Definition: gsm_04_08.h:1591
#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:289
#define MDL_CAUSE_SFRM_INC_PARAM
Definition: lapd_core.h:38
#define GSM48_MT_CC_START_DTMF_ACK
Definition: gsm_04_08.h:1503
static int decode_auth_info(uint8_t *data, size_t data_len, struct osmo_auth_vector *auth_vector)
Definition: gsup.c:157
@ GSM0808_IE_SEND_SEQ_NUM
Definition: gsm_08_08.h:281
#define GSM48_MT_GMM_ATTACH_REJ
Definition: gsm_04_08_gprs.h:15
static int abis_nm_get_sw_desc(struct abis_nm_sw_desc *sw, const uint8_t *buf, size_t length)
Parse single 3GPP TS 52.021 §9.4.62 SW Description from buffer.
Definition: abis_nm.c:835
#define OSMO_MILENAGE_IND_BITLEN_MAX
Definition: auth.h:13
@ BTS_FEAT_GPRS
Definition: bts_features.h:13
@ GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS
Definition: gsm_08_08.h:375
@ GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO
Definition: gsm_08_08.h:244
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:706
@ GSM411_RP_CAUSE_SEMANT_INC_MSG
Definition: gsm_04_11.h:87
uint8_t res[16]
authentication result
Definition: auth.h:65
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:773
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:1260
@ NM_MT_DISC_MDROP_LINK_NACK
Definition: gsm_12_21.h:125
uint8_t file_id[UINT8_MAX]
Definition: gsm_12_21.h:793
#define IPA_STRING_MAX
Definition: ipa.c:217
static int rslms_rx_chan_rqd(struct lapdm_channel *lc, struct msgb *msg)
Definition: lapdm.c:1085
const struct value_string gsm48_reject_value_names[]
Definition: gsm48.c:994
int speech_ctm
Definition: mncc.h:17
uint8_t w7_lo
Definition: gsm_04_08.h:132
@ GA_MT_CSR_HO_FAIL
Definition: gsm_44_318.h:50
uint8_t w11_hi
Definition: gsm_04_08.h:137
@ GA_PDISC_CSR
Definition: gsm_44_318.h:11
int t203_usec
retry timer (default 10 secs)
Definition: lapd_core.h:149
@ GSM0808_IE_PAGING_INFO
Definition: gsm_08_08.h:249
int gsm48_encode_signal(struct msgb *msg, int signal)
Encode TS 04.08 Signal IE (10.5.4.23)
Definition: gsm48_ie.c:646
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:1436
uint8_t w1_lo
Definition: gsm_04_08.h:270
uint8_t sc
Definition: gsm_04_08.h:717
@ GSM0808_IE_PRIORITY
Definition: gsm_08_08.h:166
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK
Definition: gsm_08_08.h:156
uint16_t mcc
Definition: gsm48.h:21
#define GSM48_IE_MOB_OVSERV_DIF
Definition: gsm_04_08.h:1626
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:550
#define GSM411_MMSMS_REL_REQ
Definition: gsm0411_smc.h:13
#define A51_R1_CLKBIT
Definition: a5.c:163
struct msgb * gsm0808_create_clear_rqst(uint8_t cause)
Create BSSMAP Clear Request message.
Definition: gsm0808.c:572
@ LAPDM_MODE_BTS
behave like a BTS (network)
Definition: lapdm.h:13
static const struct value_string event_type_names[]
Definition: abis_nm.c:223
@ GSM0808_IE_VSTK_RAND_INFO
Definition: gsm_08_08.h:247
@ NM_ATT_IPACC_NS_LINK_CFG
Definition: gsm_12_21.h:447
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:501
LAPD datalink.
Definition: lapd_core.h:123
static struct gsm_freq_range gsm_ranges[]
Definition: gsm_utils.c:749
@ NM_NACK_TEST_NOTINIT
Definition: gsm_12_21.h:622
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:16
@ 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:478
@ GA_MT_CSR_CIPH_MODE_COMPL
Definition: gsm_44_318.h:32
uint8_t w14_hi
Definition: gsm_04_08.h:289
@ BSS_MAP_MSG_PERFORM_LOCATION_RQST
Definition: gsm_08_08.h:88
@ GSM0808_IE_TRANSACTIONID
Definition: gsm_08_08.h:200
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
uint8_t w11_lo
Definition: gsm_04_08.h:138
@ BSS_MAP_MSG_HANDOVER_CMD
Definition: gsm_08_08.h:61
#define GSM48_MT_RR_PART_REL_COMP
Definition: gsm_04_08.h:1381
#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:576
@ 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
const char abis_nm_osmo_magic[12]
Definition: abis_nm.c:41
#define N201_AB_SACCH
Definition: lapdm.c:89
#define GSM48_IE_CHANMODE_6
Definition: gsm_04_08.h:1599
int comp128v2(const uint8_t *ki, const uint8_t *rand, uint8_t *sres, uint8_t *kc)
Perform COMP128v2 algorithm.
Definition: comp128v23.c:169
#define GPRS_DET_T_MO_GPRS
Definition: gsm_04_08_gprs.h:59
@ GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE
Definition: gsm_08_08.h:358
uint8_t mode
release mode
Definition: lapd_core.h:53
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:1078
#define GSM48_MT_RR_PAG_RESP
Definition: gsm_04_08.h:1386
#define GSM48_MT_CC_PROGRESS
Definition: gsm_04_08.h:1474
int gsm_7bit_decode_ussd(char *text, const uint8_t *user_data, uint8_t length)
Definition: gsm_utils.c:951
static int gsm411_mmsms_cp_ack(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:254
@ GSM0808_CAUSE_O_AND_M_INTERVENTION
Definition: gsm_08_08.h:329
@ OSMO_EVT_MAJ_UNSUP_ATTR
Definition: gsm_12_21.h:269
@ IPAC_MSGT_ID_RESP
Definition: ipaccess.h:47
@ OSMO_EVT_WARN_SW_WARN
Definition: gsm_12_21.h:274
uint16_t msg_id
Definition: gsm_03_41.h:15
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 current_channel_type_2_present
Definition: gsm0808.h:99
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:1266
@ RSL_MT_RECON_REQ
Definition: gsm_08_58.h:101
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:264
#define GSM0480_CTYPE_RETURN_RESULT
Definition: gsm_04_80.h:17
uint8_t w10
Definition: gsm_04_08.h:136
uint8_t rr_cause
Definition: gsm0808.h:136
#define GSM_0480_SEQUENCE_TAG
Definition: gsm_04_80.h:29
@ GSM_CAUSE_AUTH_FAILED
Definition: gsm_04_08_gprs.h:240
uint8_t cmd
Definition: lapd_core.h:113
enum gsm0808_lcls_status lcls_bss_status
Definition: gsm0808.h:150
const struct value_string gsm_chan_t_names[]
Definition: gsm48.c:409
#define LAPD_U_SABM
Definition: lapd_core.c:89
uint16_t lac
Definition: gsm0808_utils.h:44
uint8_t w13_hi
Definition: gsm_04_08.h:212
static int gsm411_mnsms_abort_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:400
@ BSS_MAP_MSG_CIPHER_MODE_CMD
Definition: gsm_08_08.h:126
int lapd_ph_data_ind(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1692
@ GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING
Definition: gsm_08_08.h:376
#define GSM48_MT_RR_ASS_FAIL
Definition: gsm_04_08.h:1368
@ GA_MT_CSR_CM_CHANGE
Definition: gsm_44_318.h:60
@ GSM48_DTX_SHALL_BE_USED
Definition: gsm_04_08.h:885
@ IPAC_IDTAG_IPADDR
Definition: ipaccess.h:61
@ GSM0808_ALG_ID_A5_0
Definition: gsm_08_08.h:457
@ NM_ATT_IPACC_HEARTB_TOUT
Definition: gsm_12_21.h:455
@ NM_MT_REP_OUTST_ALARMS
Definition: gsm_12_21.h:162
@ NM_ATT_IPACC_SEC_OML_CFG
Definition: gsm_12_21.h:422
#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
@ LAPD_STATE_TEI_UNASS
Definition: lapd_core.h:74
@ NM_NACK_OBJINST_UNKN
Definition: gsm_12_21.h:608
@ GA_MT_RC_REGISTER_UPDATE_UL
Definition: gsm_44_318.h:27
@ DCS_7BIT_DEFAULT
Definition: gsm_04_11.h:114
@ GSM48_REJECT_MSG_TYPE_NOT_IMPLEMENTED
Definition: gsm_04_08.h:1787
Definition: gsm48_ie.h:109
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
@ GSM48_CMODE_DATA_3k6
Definition: gsm_04_08.h:703
bool prec
Definition: gsm0808.h:94
@ LAPD_STATE_NULL
Definition: lapd_core.h:73
@ GSM_LCHAN_CCCH
Definition: gsm_utils.h:224
uint8_t w4_hi
Definition: gsm_04_08.h:125
#define GPRS_ATT_T_ATTACH
Definition: gsm_04_08_gprs.h:51
unsigned int id_list_len
Definition: gsm_08_08.h:542
int transfer
Definition: mncc.h:13
@ NM_NACK_FILE_NOTAVAIL
Definition: gsm_12_21.h:628
@ GMM_CAUSE_NO_GPRS_PLMN
Definition: gsm_04_08_gprs.h:209
@ GSM48_RR_CAUSE_ABNORMAL_TIMER
Definition: gsm_04_08.h:1699
static unsigned int gsm0502_get_n_pag_blocks(struct gsm48_control_channel_descr *chan_desc)
Definition: gsm0502.h:12
#define RSL_BCCH_CCCH_CONF_1_C
Definition: gsm_08_58.h:574
static const uint8_t ipa_pong_msg[]
Definition: ipa.c:60
struct msgb * gsm0480_create_ussd_release_complete(void)
Definition: gsm0480.c:863
#define ASN1_OCTET_STRING_TAG
Definition: gsm_04_80.h:118
#define GSM48_MT_RR_IMM_ASS
Definition: gsm_04_08.h:1351
@ DCS_8BIT_DATA
Definition: gsm_04_11.h:116
@ GSM0808_IE_LSA_IDENTIFIER_LIST
Definition: gsm_08_08.h:220
@ GSM_CAUSE_DEACT_REGULAR
Definition: gsm_04_08_gprs.h:247
#define GSM48_MT_RR_HANDO_COMPL
Definition: gsm_04_08.h:1370
@ PRIM_MDL_ERROR
MDL-ERROR.
Definition: lapd_core.h:26
@ GA_MT_CSR_REQUEST
Definition: gsm_44_318.h:65
@ GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP
Definition: gsm_08_08.h:569
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:1579
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:316
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:211
bool old_bss_to_new_bss_info_present
Definition: gsm0808.h:120
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:431
@ OSMO_GSUP_SRES_IE
Definition: gsup.h:76
size_t apn_enc_len
length (in octets) of apn_enc
Definition: gsup.h:172
uint8_t w10
Definition: gsm_04_08.h:208
@ NM_MT_STOP_EVENT_REP
Definition: gsm_12_21.h:150
#define GSM48_MT_GMM_INFO
Definition: gsm_04_08_gprs.h:33
#define GSM48_IE_MORE_DATA
Definition: gsm_04_08.h:1575
static void lapdm_pad_msgb(struct msgb *msg, uint8_t n201)
Definition: lapdm.c:216
@ 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:1424
@ BSS_MAP_MSG_VGCS_VBS_SETUP_REFUSE
Definition: gsm_08_08.h:138
@ BSS_MAP_MSG_LSA_INFORMATION
Definition: gsm_08_08.h:89
@ NM_CHANC_BCCH_CBCH
Definition: gsm_12_21.h:556
@ GSM411_RP_CAUSE_MO_CALL_BARRED
Definition: gsm_04_11.h:70
@ NM_ATT_IPACC_IN_SERV_TIME
Definition: gsm_12_21.h:425
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:62
#define LAPD_S_REJ
Definition: lapd_core.c:99
#define GSM0480_OP_CODE_REGISTER_SS
Definition: gsm_04_80.h:70
@ GSM_CAUSE_OPER_DET_BARR
Definition: gsm_04_08_gprs.h:234
#define SMCDOWNSLLEN
Definition: gsm0411_smc.c:449
static const struct value_string rr_msg_names[]
Definition: gsm48.c:289
osmo_gsup_message_type
GSUP message type.
Definition: gsup.h:94
#define GSM48_PDISC_SMS
Definition: gsm_04_08.h:1245
#define GSM48_PDISC_CC
Definition: gsm_04_08.h:1239
#define GSM48_MT_MM_CM_SERV_ACC
Definition: gsm_04_08.h:1455
@ NM_OC_CHANNEL
Definition: gsm_12_21.h:292
@ GA_MT_CSR_CIPH_MODE_CMD
Definition: gsm_44_318.h:31
@ GSM_PCHAN_SDCCH8_SACCH8C_CBCH
Definition: gsm_utils.h:212
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:1339
int present
Definition: mncc.h:36
#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
uint8_t w15
Definition: gsm_04_08.h:291
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:538
@ GSM_LCHAN_NONE
Definition: gsm_utils.h:219
uint8_t peer_busy
receiver busy on remote side
Definition: lapd_core.h:147
@ 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:711
@ NM_ATT_OVERL_PERIOD
Definition: gsm_12_21.h:356
#define CR_USER2NET_RESP
Definition: lapd_core.c:102
@ GSM0808_CAUSE_RADIO_INTERFACE_FAILURE_REVERSION
Definition: gsm_08_08.h:332
static const struct smrdatastate smrdatastatelist[]
@ GSM0808_PERM_HR2
(deprecated)
Definition: gsm_08_08.h:427
static int lapd_est_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1739
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE
Definition: gsm_08_08.h:161
@ GSM48_CMODE_SPEECH_EFR
Definition: gsm_04_08.h:698
@ TLLI_RESERVED
Definition: gsm_utils.h:190
@ GMM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:224
@ BSS_MAP_MSG_SUSPEND
Definition: gsm_08_08.h:85
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:118
uint8_t w3_lo
Definition: gsm_04_08.h:124
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:1420
uint8_t w16_hi
Definition: gsm_04_08.h:292
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:550
#define GSM414_MT_TEST_INTERFACE
Definition: gsm_04_14.h:59
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:406
@ NM_MT_ACTIVATE_SW
Definition: gsm_12_21.h:99
#define LAPDm_ADDR_SAPI(addr)
Definition: lapdm.c:61
void osmo_auth_c3(uint8_t kc[], const uint8_t ck[], const uint8_t ik[])
Definition: auth_core.c:245
@ GA_MT_CSR_STATUS
Definition: gsm_44_318.h:57
@ GSM_BAND_900
Definition: gsm_utils.h:56
@ GMM_CAUSE_ILLEGAL_MS
Definition: gsm_04_08_gprs.h:199
gprs_cipher_direction
Definition: gprs_cipher.h:23
#define GSM48_MT_CC_ALERTING
Definition: gsm_04_08.h:1468
#define GSM48_MT_RR_SYSINFO_2
Definition: gsm_04_08.h:1398
@ NM_NACK_TEST_NOSUCH
Definition: gsm_12_21.h:624
const struct value_string gan_msgt_vals[]
Definition: gan.c:29
uint8_t pdisc
Definition: gsm_44_318.h:8
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:1183
#define LAPD_U_FRMR
Definition: lapd_core.c:95
const struct value_string gsm0480_op_code_names[]
Definition: gsm0480.c:47
#define GSM48_PDISC_MM
Definition: gsm_04_08.h:1242
const struct value_string gsm48_mm_msgtype_names[]
TS 04.08 MM Message Type names.
Definition: gsm48.c:876
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:1426
@ GSM48_RR_CAUSE_HNDOVER_IMP
Definition: gsm_04_08.h:1702
uint32_t states
Definition: gsm0411_smr.c:378
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:1501
struct gsm48_hdr * gsm0480_l3hdr_push(struct msgb *msg, uint8_t proto_discr, uint8_t msg_type)
Definition: gsm0480.c:838
static int gsm411_mnsms_data_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:309
@ NM_STATE_UNLOCKED
Definition: gsm_12_21.h:521
bool lcs
Definition: gsm0808.h:95
@ GSM411_CPS_MM_ESTABLISHED
Definition: gsm_04_11.h:14
@ NM_NACK_ATTRID_NOTSUPP
Definition: gsm_12_21.h:610
OML Object Instance.
Definition: gsm_12_21.h:74
uint8_t ik[16]
integrity key
Definition: auth.h:64
struct tlv_def def[256]
Definition: tlv.h:420
uint8_t w1_lo
Definition: gsm_04_08.h:120
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:1790
const uint8_t * rand
Definition: gsup.h:202
@ GSM0808_IE_LSA_IDENTIFIER
Definition: gsm_08_08.h:219
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:1348
#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:60
static int gsm411_mnsms_est_ind(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:240
#define GSM48_IE_VGCS_TARGET
Definition: gsm_04_08.h:1587
@ OSMO_GSUP_MSGT_PROC_SS_REQUEST
Definition: gsup.h:121
static const uint8_t tch_afs_12_2_term_output[]
Definition: gsm0503_conv.c:240
struct ph_data_param data
Definition: l1sap.h:157
@ NM_ATT_IPACC_DST_IP_PORT
Definition: gsm_12_21.h:414
int pcp
Definition: mncc.h:74
@ OSMO_GSUP_MSGT_DELETE_DATA_ERROR
Definition: gsup.h:114
@ NM_ATT_ABIS_CHANNEL
Definition: gsm_12_21.h:320
int ipa_msg_recv_buffered(int fd, struct msgb **rmsg, struct msgb **tmp_msg)
uint32_t states
Definition: gsm0411_smc.c:422
static struct gprs_cipher_impl gea4_impl
Definition: gprs_gea.c:41
@ GSM0808_IE_TALKER_PRIORITY
Definition: gsm_08_08.h:253
int network
Definition: gsm0411_smc.h:31
@ BSS_MAP_MSG_LOAD_INDICATION
Definition: gsm_08_08.h:133
uint8_t p_f
Definition: lapd_core.h:103
@ GA_MT_CSR_DL_DIRECT_XFER
Definition: gsm_44_318.h:56
@ BSS_MAP_MSG_CLASSMARK_RQST
Definition: gsm_08_08.h:131
@ 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
#define GSM48_MT_RR_DTM_ASS_CMD
Definition: gsm_04_08.h:1374
#define MDL_CAUSE_UNSOL_DM_RESP_MF
Definition: lapd_core.h:34
@ NM_MT_CHG_ADM_STATE
Definition: gsm_12_21.h:156
@ GSM0808_IE_LSA_ACCESS_CTRL_SUPPR
Definition: gsm_08_08.h:223
uint8_t iei
Definition: gsm_08_58.h:4
uint16_t t1
Definition: gsm_utils.h:48
int n200_est_rel
number of retranmissions
Definition: lapd_core.h:136
@ 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:745
static const uint8_t tch_ahs_5_9_output[][2]
Definition: gsm0503_conv.c:964
#define A5_R4_MASK
Definition: a5.c:113
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
#define GSM0480_IE_FACILITY
Definition: gsm_04_80.h:12
Definition: lapd_core.h:117
@ GSM48_REJECT_CONGESTION
Definition: gsm_04_08.h:1780
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:1390
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR
Definition: gsup.h:100
int cp_tc1
Definition: gsm0411_smc.h:43
@ GSM_BAND_1900
Definition: gsm_utils.h:58
@ GSM48_REJECT_IMEI_NOT_ACCEPTED
Definition: gsm_04_08.h:1773
@ CELL_IDENT_WHOLE_GLOBAL
Definition: gsm_08_08.h:17
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)
decode a 'called/calling/connect party BCD number' as in 10.5.4.7
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:1464
@ NM_ATT_CONN_FAIL_CRIT
Definition: gsm_12_21.h:333
@ GSM0808_IE_RETURN_ERROR_RQST
Definition: gsm_08_08.h:234
@ GMM_CAUSE_MAC_FAIL
Definition: gsm_04_08_gprs.h:213
@ NM_NACK_PHYSCFG_NOTPERFORM
Definition: gsm_12_21.h:621
#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:105
uint8_t rand[16]
random challenge
Definition: auth.h:61
@ NM_NACK_MEAS_NOTSUPP
Definition: gsm_12_21.h:633
#define GSM48_IE_GROUP_CIP_SEQ
Definition: gsm_04_08.h:1630
#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:437
#define GSM48_MT_GMM_RA_UPD_REJ
Definition: gsm_04_08_gprs.h:22
#define GSM411_MNSMS_ABORT_REQ
Definition: gsm0411_smc.h:21
const struct value_string * gprs_upd_t_strs
Definition: gsm_04_08_gprs.c:193
static bool is_n_digits(const char *str, int min_digits, int max_digits)
Definition: gsm23003.c:35
bool speech_codec_chosen_present
Definition: gsm0808.h:138
@ NM_ATT_ADD_INFO
Definition: gsm_12_21.h:321
@ NM_ATT_PHYS_CONF
Definition: gsm_12_21.h:357
struct gsm341_ms_message::@14 serial
@ GSM0808_IE_NETWORK_ELEMENT_IDENTITY
Definition: gsm_08_08.h:231
uint8_t type
Definition: gsm_04_08.h:713
@ NM_ATT_IPACC_CGI
Definition: gsm_12_21.h:438
@ GSM0808_IE_CELL_ID_LIST_SEGMENT
Definition: gsm_08_08.h:256
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:339
@ NM_OC_BS11_BTSE
Definition: gsm_12_21.h:304
int cp_type
Definition: gsm0411_smc.c:484
@ GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE
Definition: gsm_08_08.h:369
struct osmo_sub_auth_data::@37::@38 umts
@ NM_CHANC_mainBCCH
Definition: gsm_12_21.h:552
#define GSM48_MT_CC_RELEASE
Definition: gsm_04_08.h:1493
struct msgb * gsm411_msgb_alloc(void)
Allocate a message buffer for use as TS 04.11 message.
Definition: gsm0411_utils.c:53
const uint8_t * hlr_enc
Definition: gsup.h:199
@ GSM0808_IE_SERVICE_HANDOVER
Definition: gsm_08_08.h:237
int(* send_ph_data_req)(struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapd_core.h:126
@ GSM0808_CAUSE_TRAFFIC
Definition: gsm_08_08.h:337
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:237
const char * gsm0808_channel_type_name(const struct gsm0808_channel_type *ct)
Definition: gsm0808_utils.c:1307
@ NM_ATT_RACH_B_THRESH
Definition: gsm_12_21.h:361
#define GSM48_MT_MM_TMSI_REALL_CMD
Definition: gsm_04_08.h:1452
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 msgb
Definition: tlv.h:296
@ GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED
Definition: gsm_08_08.h:367
const char * osmo_bts_feature_name(enum osmo_bts_features feature)
return string representation of a BTS feature
Definition: bts_features.c:45
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:557
int tx_pending
currently a pending frame not confirmed by L1
Definition: lapdm.h:53
@ NM_NACK_SPEC_IMPL_NOTSUPP
Definition: gsm_12_21.h:613
uint8_t link_id
Definition: lapdm.h:23
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
uint8_t w6
Definition: gsm_04_08.h:201
uint16_t gsm_arfcn2freq10(uint16_t arfcn, int uplink)
Convert an ARFCN to the frequency in MHz * 10.
Definition: gsm_utils.c:766
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:522
@ RSL_MT_DATA_REQ
Definition: gsm_08_58.h:87
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:854
@ NM_ATT_INTAVE_PARAM
Definition: gsm_12_21.h:343
@ GSM0808_LCLS_CSC_DO_NOT_CONNECT
Definition: gsm_08_08.h:558
@ BSS_MAP_MSG_MSC_INVOKE_TRACE
Definition: gsm_08_08.h:103
@ NM_CHANC_IPAC_PDCH
Definition: gsm_12_21.h:562
union gsm0808_cell_id_u id
Definition: gsm0808_utils.h:50
#define GSM48_IE_CALLED_BCD
Definition: gsm_04_08.h:1567
@ NM_MT_LOAD_END_NACK
Definition: gsm_12_21.h:95
uint8_t speech_version_used
Definition: gsm0808.h:118
int dtmf
Definition: mncc.h:73
DEPRECATED: This definition of the cell identifier list is insufficient.
Definition: gsm_08_08.h:539
enum gsm48_bcap_transp transp
Definition: mncc.h:28
uint8_t * ss_info
ASN.1 encoded MAP payload for Supplementary Services.
Definition: gsup.h:214
@ GA_MT_RC_REGISTER_REJECT
Definition: gsm_44_318.h:25
@ OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT
Definition: gsup.h:101
static int parse_ss_info_elements(const uint8_t *ss_ie, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:455
uint8_t w4_lo
Definition: gsm_04_08.h:199
static const uint8_t tch_afs_10_2_output[][2]
Definition: gsm0503_conv.c:278
@ RSL_IE_RLM_CAUSE
Definition: gsm_08_58.h:235
static const uint8_t tch_afs_7_95_term_state[]
Definition: gsm0503_conv.c:370
@ OSMO_GSUP_CHARG_CHAR_IE
Definition: gsup.h:74
@ OSMO_GSUP_PDP_CONTEXT_ID_IE
Definition: gsup.h:70
@ GA_MT_CSR_REQUEST_REJECT
Definition: gsm_44_318.h:67
#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:103
static int parse_ss_return_result(const uint8_t *rr_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:627
@ GSM0808_IE_RETURN_ERROR_CAUSE
Definition: gsm_08_08.h:235
void aes_encrypt_deinit(void *ctx)
Definition: aes-internal-enc.c:120
#define ABIS_RSL_MDISC_RLL
Definition: gsm_08_58.h:68
uint16_t l
Definition: gsm_04_14.h:10
void * l1_ctx
context for layer1 instance
Definition: lapdm.h:57
#define GSM48_MT_RR_UPLINK_RELEASE
Definition: gsm_04_08.h:1433
Parsed representation of a Cell Identifier List IE (3GPP TS 48.008 3.2.2.27).
Definition: gsm0808_utils.h:54
@ NM_ATT_IPACC_CUR_SW_CFG
Definition: gsm_12_21.h:436
@ GSM48_CMODE_SPEECH_V1
Definition: gsm_04_08.h:697
#define GSM48_MT_RR_PART_REL
Definition: gsm_04_08.h:1380
@ GSM48_REJECT_IMSI_UNKNOWN_IN_VLR
Definition: gsm_04_08.h:1772
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:408
struct gsm48_system_information_type_header header
Definition: gsm_04_08.h:708
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:234
uint8_t proto_discr
Definition: gsm_04_08.h:709
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:422
#define MDL_CAUSE_UNSOL_SPRV_RESP
Definition: lapd_core.h:35
void gsm48_mcc_mnc_from_bcd(uint8_t *bcd_src, uint16_t *mcc, uint16_t *mnc)
Definition: gsm48.c:476
uint8_t w13_hi
Definition: gsm_04_08.h:141
@ NM_NACK_FILE_NOTACTIVATE
Definition: gsm_12_21.h:629
char * swversion
Definition: ipa.h:19
@ GSM48_RR_CAUSE_NO_CELL_ALLOC_A
Definition: gsm_04_08.h:1711
@ GSM_PCHAN_CCCH_SDCCH4_CBCH
Definition: gsm_utils.h:211
#define GSM48_IE_CH_DESC_1_BEFORE
Definition: gsm_04_08.h:1607
char * osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni)
Definition: apn.c:35
@ GSM48_RR_CAUSE_ABNORMAL_UNSPEC
Definition: gsm_04_08.h:1697
@ BSS_MAP_MSG_COMPLETE_LAYER_3
Definition: gsm_08_08.h:130
#define GSM48_IE_LSA_IDENT
Definition: gsm_04_08.h:1550
static int gsm411_mmsms_cp_error(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:356
int n201
Definition: lapd_core.h:95
static int lapd_send_dm(struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:424
@ 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:239
#define ENCRY_INFO_PERM_ALGO_MAXLEN
Definition: gsm_08_08.h:524
@ GSM0808_IE_SPEECH_CODEC
Definition: gsm_08_08.h:273
@ GSM0808_IE_TRACE_TYPE
Definition: gsm_08_08.h:197
abis_nm_chan_comb
Definition: gsm_12_21.h:545
static const struct smcdownstate smcdownstatelist[]
@ GSM0808_CAUSE_DISTANCE
Definition: gsm_08_08.h:328
uint8_t invoke_id
Definition: gsm0480.h:46
unsigned long gsm340_validity_period(uint8_t sms_vpf, uint8_t *sms_vp)
decode validity period.
Definition: gsm0411_utils.c:214
int t203_sec
Definition: lapd_core.h:149
@ NM_NACK_FILE_INCOMPLETE
Definition: gsm_12_21.h:627
#define GSM48_IE_CHANMODE_3
Definition: gsm_04_08.h:1596
#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:75
int gsm48_encode_more(struct msgb *msg)
Encode TS 04.08 More Data IE (10.5.4.19)
Definition: gsm48_ie.c:787
@ GSM0808_CAUSE_SWITCH_CIRCUIT_POOL
Definition: gsm_08_08.h:360
@ GSM_PCHAN_CCCH_SDCCH4
Definition: gsm_utils.h:204
@ GSM0808_IE_INTERFERENCE_BAND_TO_USE
Definition: gsm_08_08.h:180
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:129
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
@ NM_ATT_IPACC_RLC_CFG_3
Definition: gsm_12_21.h:457
a LAPDm Entity
Definition: lapdm.h:49
#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 msgb with a 04.08/04.11 CP header.
Definition: gsm0411_utils.c:353
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:259
const struct value_string gsm48_chan_mode_names[]
Definition: gsm48.c:397
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:65
const char * osmo_plmn_name2(const struct osmo_plmn_id *plmn)
Same as osmo_mcc_mnc_name(), but returning in a different static buffer.
Definition: gsm23003.c:118
@ BSS_MAP_MSG_CONNECTIONLESS_INFORMATION
Definition: gsm_08_08.h:105
struct msgb * gsm0808_create_handover_detect()
Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40.
Definition: gsm0808.c:772
uint8_t gs
Definition: gsm_03_41.h:28
#define GSM48_IE_CH_DESC_2_BEFORE
Definition: gsm_04_08.h:1609
@ LAPD_STATE_EST_TEI_WAIT
Definition: lapd_core.h:76
static const uint8_t mcs_state[][2]
Definition: gsm0503_conv.c:40
@ OSMO_GSUP_CANCEL_TYPE_IE
Definition: gsup.h:66
@ GA_MT_CSR_UL_DIRECT_XFER
Definition: gsm_44_318.h:55
@ 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:691
osmo_gsup_iei
Information Element Identifiers for GSUP IEs.
Definition: gsup.h:60
#define GSM48_MI_SIZE
Definition: gsm_04_08.h:1985
@ GSM0808_IE_SELECTED_PLMN_ID
Definition: gsm_08_08.h:294
@ 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:357
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:307
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:136
uint8_t w2
Definition: gsm_04_08.h:271
@ GSM0808_ALG_ID_A5_2
Definition: gsm_08_08.h:459
uint8_t k
maximum number of unacknowledged frames
Definition: lapd_core.h:139
#define GSM48_MT_RR_CFG_CHG_ACK
Definition: gsm_04_08.h:1363
@ PRIM_DL_RECON
DL-RECONNECT.
Definition: lapd_core.h:25
uint8_t w11
Definition: gsm_04_08.h:367
#define GSM48_MT_CC_CALL_CONF
Definition: gsm_04_08.h:1469
#define GSM48_MT_RR_CHAN_MODE_MODIF_ACK
Definition: gsm_04_08.h:1422
#define APPEND_CELL_ID_U(DISCR, U)
Definition: gsm0808_utils.c:1221
struct msgb * gsm0808_create_handover_required(const struct gsm0808_handover_required *params)
Create BSSMAP HANDOVER REQUIRED message.
Definition: gsm0808.c:708
uint8_t t1
Definition: gsm_04_08.h:639
#define MDL_CAUSE_IFRM_INC_LEN
Definition: lapd_core.h:40
int ipa_ccm_rcvmsg_bts_base(struct msgb *msg, struct osmo_fd *bfd)
Definition: ipa.c:409
@ NM_MT_DISC_MDROP_LINK
Definition: gsm_12_21.h:123
@ GSM0808_IE_CS_TO_PS_SRVCC_IND
Definition: gsm_08_08.h:292
@ GSM48_REJECT_ILLEGAL_ME
Definition: gsm_04_08.h:1774
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:594
@ BSS_MAP_MSG_REROUTE_COMPLETE
Definition: gsm_08_08.h:94
uint16_t lac
Definition: gsm_04_08.h:787
@ NM_MT_GET_ATTR_NACK
Definition: gsm_12_21.h:189
#define GSM48_IE_CONN_BCD
Definition: gsm_04_08.h:1563
@ GSM0808_IE_OMCID
Definition: gsm_08_08.h:202
@ OSMO_GSUP_PDP_INFO_COMPL_IE
Definition: gsup.h:64
#define LAPD_U_SABME
Definition: lapd_core.c:90
uint8_t w15_hi
Definition: gsm_04_08.h:145
const struct value_string gsm0808_lcls_status_names[]
Definition: gsm0808.c:1279
@ NM_ATT_IPACC_ALM_THRESH_LIST
Definition: gsm_12_21.h:449
#define GPRS_DET_T_MO_IMSI
Definition: gsm_04_08_gprs.h:60
@ BSS_MAP_MSG_INT_HANDOVER_REQUIRED
Definition: gsm_08_08.h:70
#define LAPDm_MORE
Definition: lapdm.c:83
#define GSM48_MT_RR_SYSINFO_19
Definition: gsm_04_08.h:1417
@ BTS_FEAT_MULTI_TSC
Definition: bts_features.h:17
@ NM_ATT_NY1
Definition: gsm_12_21.h:354
uint8_t orig_arfcn_mid
Definition: gsm_04_08.h:190
parsed/decoded GSUP protocol message
Definition: gsup.h:186
static int gsm411_send_abort(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:196
@ BSS_MAP_MSG_PERFORM_LOCATION_RESPONSE
Definition: gsm_08_08.h:90
@ GSM0808_LCLS_CSC_CONNECT
Definition: gsm_08_08.h:557
#define GSM48_MT_RR_IMM_ASS_EXT
Definition: gsm_04_08.h:1352
uint8_t v_recv
seq nr of next I frame expected to be received
Definition: lapd_core.h:143
@ GSM0808_ALG_ID_A5_3
Definition: gsm_08_08.h:460
@ PRIM_TCH
TCH.
Definition: l1sap.h:15
static const uint8_t tch_ahs_5_9_term_output[]
Definition: gsm0503_conv.c:976
#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:218
@ 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:69
@ GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG
Definition: gsm_08_08.h:343
struct msgb * msg
Definition: lapd_core.h:118
static uint8_t _a5_2_get_output(uint32_t r[])
GSM A5/2 Output function.
Definition: a5.c:311
uint8_t mi_len
Definition: gsm_04_08.h:716
@ NM_PCAUSE_T_MANUF
Definition: gsm_12_21.h:592
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:78
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:97
LAPDm datalink like TS 04.06 / Section 3.5.2.
Definition: lapdm.h:29
@ LAPD_FORM_U
Definition: lapd_core.h:89
@ GSM48_CMODE_DATA_14k5
Definition: gsm_04_08.h:700
static const struct value_string rr_cause_names[]
Definition: gsm48.c:158
uint8_t file_id_len
Definition: gsm_12_21.h:794
#define N200_EST_REL
Definition: lapdm.c:99
@ GSM0808_CAUSE_EQUIPMENT_FAILURE
Definition: gsm_08_08.h:346
@ GSM411_RP_CAUSE_MSG_INCOMP_STATE
Definition: gsm_04_11.h:90
struct lapd_msg_ctx lctx
LAPD context.
Definition: lapd_core.h:137
uint8_t w21
Definition: gsm_04_08.h:300
static const char * cc_state_names[32]
Definition: gsm48.c:199
@ NM_ATT_TSC
Definition: gsm_12_21.h:382
#define GSM0480_OP_CODE_ERASE_SS
Definition: gsm_04_80.h:71
uint8_t current
Definition: gsm_03_41.h:49
struct lapdm_datalink * lapdm_datalink_for_sapi(struct lapdm_entity *le, uint8_t sapi)
Definition: lapdm.c:203
static const uint8_t tch_afs_5_9_state[][2]
Definition: gsm0503_conv.c:517
@ GSM0808_IE_SPEECH_CODEC_LIST
Definition: gsm_08_08.h:272
uint8_t w12_hi
Definition: gsm_04_08.h:139
gprs_ciph_algo
Definition: gprs_cipher.h:13
@ GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED
Definition: gsm_04_08.h:1784
@ NM_MT_REINIT_NACK
Definition: gsm_12_21.h:174
static int lapd_rx_u(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:794
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:530
@ GA_MT_RC_KEEPALIVE
Definition: gsm_44_318.h:58
@ NM_EVT_EQUIP_FAIL
Definition: gsm_12_21.h:574
int gsm0480_decode_ss_request(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:373
@ GSM0808_PERM_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:429
#define GSM411_MT_RP_ACK_MT
Definition: gsm_04_11.h:55
@ TLLI_LOCAL
Definition: gsm_utils.h:186
@ GSM48_REJECT_MSG_NOT_COMPATIBLE
Definition: gsm_04_08.h:1791
uint16_t offset
Timing Offset.
Definition: l1sap.h:48
@ NM_MT_DISC_TERR_SIGN_ACK
Definition: gsm_12_21.h:111
@ NM_ATT_ARFCN_LIST
Definition: gsm_12_21.h:324
@ GSM0808_IE_CALL_ID
Definition: gsm_08_08.h:274
@ GSM_MNCC_BCAP_SPEECH
Definition: mncc.h:78
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:1174
@ GSM0808_CAUSE_PREEMPTION
Definition: gsm_08_08.h:355
static unsigned char * msgb_push_TLV1(struct msgb *msgb, uint8_t tag, uint8_t value)
Definition: gsm0480.c:79
#define GSM48_MT_RR_UPLINK_FREE
Definition: gsm_04_08.h:1434
#define GSM411_MNSMS_REL_REQ
Definition: gsm0411_smc.h:27
static int asc_to_bcd(const char asc)
convert a single ASCII character to call-control BCD
Definition: gsm48_ie.c:80
@ NM_NACK_CAPACITY_RESTR
Definition: gsm_12_21.h:620
bool extra_information_present
Definition: gsm0808.h:92
enum osmo_gsup_cn_domain cn_domain
Definition: gsup.h:203
int gsm48_number_of_paging_subchannels(struct gsm48_control_channel_descr *chan_desc)
Determine number of paging sub-channels.
Definition: gsm48.c:753
static unsigned long gsm340_vp_relative(uint8_t *sms_vp)
Definition: gsm0411_utils.c:151
static const uint8_t tch_ahs_7_4_output[][2]
Definition: gsm0503_conv.c:872
#define TLVP_PRESENT(x, y)
Definition: tlv.h:442
@ NM_NACK_ATTRLIST_INCONSISTENT
Definition: gsm_12_21.h:612
@ NM_CHANC_TCHHalf
Definition: gsm_12_21.h:547
#define GSM48_MT_RR_UPLINK_BUSY
Definition: gsm_04_08.h:1435
#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:436
uint8_t chan_nr
Channel Number (Like RSL)
Definition: l1sap.h:76
void ipa_prepend_header(struct msgb *msg, int proto)
Definition: ipa.c:442
@ BSS_MAP_MSG_UPLINK_REJECT_CMD
Definition: gsm_08_08.h:147
static __attribute__((constructor))
Definition: auth_comp128v23.c:69
@ NM_NACK_WAIT
Definition: gsm_12_21.h:631
#define GSM48_MT_CC_START_DTMF_REJ
Definition: gsm_04_08.h:1504
#define N201_B4
Definition: lapdm.c:96
@ GMM_CAUSE_GSM_AUTH_UNACCEPT
Definition: gsm_04_08_gprs.h:216
#define GSM_MI_TYPE_MASK
Definition: gsm_04_08.h:1537
uint8_t w15
Definition: gsm_04_08.h:215
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:1275
@ RSL_MT_UNIT_DATA_REQ
Definition: gsm_08_58.h:96
#define GSM414_MT_EGPRS_ST_RB_LOOP_CMD
Definition: gsm_04_14.h:86
static void lapd_start_t200(struct lapd_datalink *dl)
Definition: lapd_core.c:202
#define GSM0480_CTYPE_INVOKE
Definition: gsm_04_80.h:16
@ GSM_LCHAN_SDCCH
Definition: gsm_utils.h:220
uint8_t t3
Definition: gsm_04_08.h:14
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 msgb
Definition: tlv.h:205
struct msgb * send_buffer
current frame transmitting
Definition: lapd_core.h:155
@ TLLI_RAND_G_RNTI
Definition: gsm_utils.h:192
@ BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:60
#define GSM48_MT_CC_MODIFY_REJECT
Definition: gsm_04_08.h:1483
#define GSM48_MT_RR_CFG_CHG_REJ
Definition: gsm_04_08.h:1364
@ BSS_MAP_MSG_CONFUSION
Definition: gsm_08_08.h:82
@ NM_ATT_IPACC_SUPP_FEATURES
Definition: gsm_12_21.h:452
const struct value_string abis_nm_adm_state_names[]
Human-readable names for OML administrative state.
Definition: abis_nm.c:681
@ NM_MT_CONN_MDROP_LINK_NACK
Definition: gsm_12_21.h:122
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:1238
static int rslms_rx_rll_susp_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1002
uint8_t w7
Definition: gsm_04_08.h:279
@ BSS_MAP_MSG_LCLS_CONNECT_CTRL
Definition: gsm_08_08.h:155
#define GSM48_PDISC_PDSS2
Definition: gsm_04_08.h:1240
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition: gsm0808_utils.h:48
@ GSM0808_SCT_FR3
FR AMR.
Definition: gsm_08_08.h:441
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:871
@ NM_NACK_INCORR_STRUCT
Definition: gsm_12_21.h:602
@ OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT
Definition: gsup.h:97
uint8_t orig_arfcn_lo
Definition: gsm_04_08.h:191
static const struct value_string gsm0808_cause_names[]
Definition: gsm0808.c:1182
@ GSM0808_CAUSE_DOWNLINK_QUALITY
Definition: gsm_08_08.h:326
@ GSM_LCHAN_UNKNOWN
Definition: gsm_utils.h:223
@ NM_ATT_LIST_REQ_ATTR
Definition: gsm_12_21.h:345
@ GSM0808_CAUSE_INVALID_CELL
Definition: gsm_08_08.h:353
uint8_t proto
Definition: ipaccess.h:17
#define GPRS_UPD_T_RA_LA_IMSI_ATT
Definition: gsm_04_08_gprs.h:73
@ NM_MT_CHG_HW_CONF_ACK
Definition: gsm_12_21.h:179
@ GSM0808_CAUSE_UPLINK_STRENGTH
Definition: gsm_08_08.h:325
@ NM_ATT_IPACC_UNIT_NAME
Definition: gsm_12_21.h:432
uint8_t w13
Definition: gsm_04_08.h:369
static uint8_t inc_mod(uint8_t x, uint8_t m)
Definition: lapd_core.c:131
@ 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:208
@ GSM0808_IE_TMSI
Definition: gsm_08_08.h:169
struct gsm0808_old_bss_to_new_bss_info old_bss_to_new_bss_info
Definition: gsm0808.h:121
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:282
void gsm411_smr_clear(struct gsm411_smr_inst *inst)
Definition: gsm0411_smr.c:95
#define GSM414_MT_CLOSE_MSLOT_LOOP_CMD
Definition: gsm_04_14.h:26
const struct value_string gsm0808_permitted_speech_names[]
Definition: gsm0808.c:1156
const struct osmo_conv_code gsm0503_cs2
CS2 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:150
@ NM_MT_CONN_TERR_SIGN
Definition: gsm_12_21.h:107
@ GA_MT_CSR_ACT_CHAN_FAIL
Definition: gsm_44_318.h:37
@ GMM_CAUSE_GPRS_OTHER_NOTALLOWED
Definition: gsm_04_08_gprs.h:203
#define GSM48_IE_CAUSE
Definition: gsm_04_08.h:1554
#define TE414(i)
Definition: aes_i.h:90
@ GSM48_RR_CAUSE_ABNORMAL_UNACCT
Definition: gsm_04_08.h:1698
#define GSM0480_OP_CODE_USS_NOTIFY
Definition: gsm_04_80.h:82
uint8_t w12
Definition: gsm_04_08.h:368
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:210
Definition: gsm_04_08.h:860
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:371
const struct value_string gsm48_pdisc_names[]
TS 04.08 Protocol Descriptor names.
Definition: gsm48.c:764
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:106
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:1353
@ GSM0808_IE_CALL_ID_LIST
Definition: gsm_08_08.h:275
@ GSM0808_IE_POSITIONING_DATA
Definition: gsm_08_08.h:227
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:43
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
@ NM_ATT_AVAIL_STATUS
Definition: gsm_12_21.h:326
@ BSS_MAP_MSG_HANDOVER_RQST
Definition: gsm_08_08.h:58
#define GSM48_PDISC_MM_GPRS
Definition: gsm_04_08.h:1244
@ BSS_MAP_MSG_UPLINK_RQST
Definition: gsm_08_08.h:143
@ GSM48_REJECT_SERVICES_NOT_ALLOWED
Definition: gsm_04_08.h:1796
static const char * gsm48_pdisc_name(uint8_t val)
Definition: gsm_04_08.h:1254
#define GSM48_MT_CC_START_CC
Definition: gsm_04_08.h:1478
@ T200_SACCH_SDCCH
Definition: gsm_12_21.h:651
@ GSM48_REJECT_LOC_NOT_ALLOWED
Definition: gsm_04_08.h:1776
const struct tlv_definition gsm48_rr_att_tlvdef
TLV parser definitions for TS 04.08 RR.
Definition: gsm48.c:96
uint8_t w16_hi
Definition: gsm_04_08.h:216
#define GSM411_SM_RL_DATA_REQ
Definition: gsm0411_smr.h:9
uint8_t dtx
Definition: gsm_04_08.h:903
int coding
Definition: mncc.h:57
int(* update_pending_frames)(struct lapd_msg_ctx *lctx)
Definition: lapd_core.h:127
uint8_t w13_lo
Definition: gsm_04_08.h:213
static const uint8_t table0[256]
Definition: comp128v23.c:37
uint8_t w8_lo
Definition: gsm_04_08.h:205
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
@ OSMO_GSUP_MSGT_INSERT_DATA_REQUEST
Definition: gsup.h:109
@ GSM0808_IE_RR_CAUSE
Definition: gsm_08_08.h:181
void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf)
Definition: lapd_core.c:258
int gsm_7bit_encode(uint8_t *result, const char *data)
Definition: gsm_utils.c:957
#define OSMO_GSUP_MAX_NUM_PDP_INFO
Maximum nubmer of PDP inside osmo_gsup_message.
Definition: gsup.h:50
#define LAPDm_LPD_NORMAL
Definition: lapdm.c:54
@ NM_NACK_BTSNR_UNKN
Definition: gsm_12_21.h:606
#define LAPDm_CTRL_I_Ns(ctrl)
Definition: lapdm.c:79
#define GPRS_ATT_T_COMBINED
Definition: gsm_04_08_gprs.h:53
@ NM_MT_REINIT_ACK
Definition: gsm_12_21.h:173
static int lapd_reestablish(struct lapd_datalink *dl)
Definition: lapd_core.c:543
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:1297
@ GSM0808_IE_CONNECTION_RELEASE_RQSTED
Definition: gsm_08_08.h:214
static int mdl_error(uint8_t cause, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:386
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:117
@ BSS_MAP_MSG_RESET_IP_RSRC_ACK
Definition: gsm_08_08.h:107
@ NM_ATT_IPACC_NSEI
Definition: gsm_12_21.h:442
@ T200_FACCH_F
Definition: gsm_12_21.h:648
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
uint8_t w2
Definition: gsm_04_08.h:355
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:68
@ NM_MT_REP_OUTST_ALARMS_NACK
Definition: gsm_12_21.h:164
#define GSM48_PDISC_GROUP_CC
Definition: gsm_04_08.h:1236
#define GSM48_MT_RR_EXT_MEAS_REP
Definition: gsm_04_08.h:1427
static const uint8_t tch_afs_4_75_state[][2]
Definition: gsm0503_conv.c:658
uint8_t tx_power
Transmit Power.
Definition: l1sap.h:46
struct gsm0808_old_bss_to_new_bss_info::@0 extra_information
enum gsm411_rp_state rp_state
Definition: gsm0411_smr.h:24
@ BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_FAILURE
Definition: gsm_08_08.h:141
#define ALL_STATES
Definition: lapd_core.c:109
@ GSM0808_IE_TOTAL_RESOURCE_ACCESSIBLE
Definition: gsm_08_08.h:194
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:578
uint8_t w20_lo
Definition: gsm_04_08.h:299
static const struct tlv_definition bss_att_tlvdef
Definition: gsm0808.c:888
int ipa_ccm_send_id_req(int fd)
Definition: ipa.c:365
uint8_t w13
Definition: gsm_04_08.h:288
uint16_t mcc
Definition: gsm23003.h:10
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
void lapdm_entity_exit(struct lapdm_entity *le)
flush and release all resoures in LAPDm entity
Definition: lapdm.c:181
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:1393
static const uint8_t tch_ahs_4_75_term_output[]
Definition: gsm0503_conv.c:1096
#define GSM48_MT_CC_RETR_REJ
Definition: gsm_04_08.h:1490
static void to_bcd(uint8_t *bcd, uint16_t val)
Definition: gsm23003.c:163
@ GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL
Definition: gsm_08_08.h:339
#define GPRS_UPD_T_RA
Definition: gsm_04_08_gprs.h:71
@ GA_CSR_UTRAN_CM_CHG
Definition: gsm_44_318.h:63
static int gsm_septet_lookup(uint8_t ch)
Definition: gsm_utils.c:168
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
@ BSS_MAP_MSG_RESOURCE_INDICATION
Definition: gsm_08_08.h:124
@ GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS
Definition: gsm_08_08.h:262
@ NM_MT_LOAD_SEG_ACK
Definition: gsm_12_21.h:91
uint8_t cr
Definition: lapd_core.h:97
@ GSM0800_IE_INTER_SYSTEM_INFO
Definition: gsm_08_08.h:245
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:809
int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len, struct ussd_request *req)
Definition: gsm0480.c:336
@ OSMO_GSUP_PDP_INFO_IE
Definition: gsup.h:65
@ GSM0808_IE_DOWNLINK_DTX_FLAG
Definition: gsm_08_08.h:185
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:226
#define GSM340_TP_VPF_RELATIVE
Definition: gsm_04_11.h:134
@ GSM0808_IE_EMERGENCY_SET_INDICATION
Definition: gsm_08_08.h:254
#define GSM48_IE_CC_CAP
Definition: gsm_04_08.h:1555
uint8_t w26_lo
Definition: gsm_04_08.h:385
@ GSM48_REJECT_INCORRECT_MESSAGE
Definition: gsm_04_08.h:1785
@ OSMO_GSUP_FREEZE_PTMSI_IE
Definition: gsup.h:67
const struct value_string * gprs_service_t_strs
Definition: gsm_04_08_gprs.c:225
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:148
@ NM_ATT_GSM_TIME
Definition: gsm_12_21.h:339
uint8_t retrans_ctr
re-transmission counter
Definition: lapd_core.h:152
#define OSMO_GSUP_MAX_NUM_AUTH_INFO
Maximum number of auth info inside osmo_gsup_message.
Definition: gsup.h:52
#define GSM48_MT_CC_HOLD_REJ
Definition: gsm_04_08.h:1487
uint8_t w3_lo
Definition: gsm_04_08.h:197
@ GSM411_RP_CAUSE_PROTOCOL_ERR
Definition: gsm_04_11.h:92
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:642
@ GSM_CAUSE_LLC_SNDCP_FAIL
Definition: gsm_04_08_gprs.h:236
static void lapd_dl_flush_hist(struct lapd_datalink *dl)
Definition: lapd_core.c:159
@ GA_MT_RC_REGISTER_REDIRECT
Definition: gsm_44_318.h:24
static int lapd_send_ua(struct lapd_msg_ctx *lctx, uint8_t len, uint8_t *data)
Definition: lapd_core.c:400
@ GSM0808_IE_LCS_QOS
Definition: gsm_08_08.h:222
char * location2
Definition: ipa.h:22
uint8_t current_channel_type_1
Definition: gsm0808.h:115
@ BSS_MAP_MSG_UNBLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:113
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:423
@ LAPD_FORM_I
Definition: lapd_core.h:87
@ GSM48_REJECT_MSC_TMP_NOT_REACHABLE
Definition: gsm_04_08.h:1800
uint8_t w6_hi
Definition: gsm_04_08.h:129
@ NM_NACK_TEST_NOTSUPP
Definition: gsm_12_21.h:619
enum gsm48_bcap_sig_access sig_access
Definition: mncc.h:21
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:590
static void lapd_dl_flush_tx(struct lapd_datalink *dl)
Definition: lapd_core.c:174
uint8_t id_discr
Definition: gsm_08_08.h:540
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:75
const char * gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type)
Compose a string naming the message type for given protocol.
Definition: gsm48.c:963
uint8_t group
Definition: gsm_03_41.h:21
static struct osmo_auth_impl c128v2_alg
Definition: auth_comp128v23.c:45
@ GSM48_RR_CAUSE_CALL_CLEARED
Definition: gsm_04_08.h:1705
@ NM_MT_SET_SITE_OUT_ACK
Definition: gsm_12_21.h:176
uint8_t gsm_get_octet_len(const uint8_t sept_len)
\brife Compute number of octets from number of septets, for instance: 47 septets needs 41,...
Definition: gsm_utils.c:182
#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:24
uint8_t file_version[UINT8_MAX]
Definition: gsm_12_21.h:796
#define GSM48_MT_GMM_AUTH_CIPH_RESP
Definition: gsm_04_08_gprs.h:27
@ GSM48_REJECT_PROTOCOL_ERROR
Definition: gsm_04_08.h:1792
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:411
@ GSM0808_IE_CHOSEN_CHANNEL
Definition: gsm_08_08.h:193
#define GSM_MI_ODD
Definition: gsm_04_08.h:1543
#define GSM48_MT_GMM_ATTACH_REQ
Definition: gsm_04_08_gprs.h:12
#define LAPDm_SAPI_SMS
Definition: lapdm.c:57
@ NM_ATT_IPACC_PRIM_OML_FB_TOUT
Definition: gsm_12_21.h:435
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:734
@ GSM48_CMODE_SIGN
Definition: gsm_04_08.h:696
static const struct value_string nack_names[]
Definition: abis_nm.c:109
@ OSMO_EVT_MAJ_UKWN_MSG
Definition: gsm_12_21.h:267
@ NM_ATT_IPACC_PAGING_CFG
Definition: gsm_12_21.h:428
@ BSSAP_MSG_BSS_MANAGEMENT
Definition: gsm_08_08.h:32
@ GSM0808_LCLS_STS_NO_LONGER_LS
Definition: gsm_08_08.h:568
@ 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:119
#define AES_PRIV_SIZE
Definition: aes_i.h:120
#define ABIS_NM_MSG_HEADROOM
Definition: gsm_12_21.h:46
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:146
@ GMM_CAUSE_ILLEGAL_ME
Definition: gsm_04_08_gprs.h:201
uint8_t n_recv
Definition: lapd_core.h:105
@ GA_MT_RC_DISCOVERY_REQUEST
Definition: gsm_44_318.h:18
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR
Definition: gsm_08_08.h:500
@ BSS_MAP_MSG_QUEUING_INDICATION
Definition: gsm_08_08.h:129
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
int osmo_gsup_get_err_msg_type(enum osmo_gsup_message_type type_in)
return the error message type corresponding to type_in
Definition: gsup.c:84
@ OSMO_GSUP_SS_INFO_IE
Supplementary Services payload.
Definition: gsup.h:90
@ GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP
Definition: gsm_08_08.h:372
#define CR_USER2NET_CMD
Definition: lapd_core.c:101
uint8_t data[0]
Definition: ipaccess.h:13
@ BSS_MAP_MSG_HANDOVER_PERFORMED
Definition: gsm_08_08.h:65
static int lapd_send_rr(struct lapd_msg_ctx *lctx, uint8_t f_bit, uint8_t cmd)
Definition: lapd_core.c:445
@ GA_MT_CSR_CM_ENQ
Definition: gsm_44_318.h:59
#define GSM48_MT_RR_PACKET_ASS
Definition: gsm_04_08.h:1357
uint8_t w13_lo
Definition: gsm_04_08.h:142
static const uint8_t xcch_state[][2]
Definition: gsm0503_conv.c:26
@ BSS_MAP_MSG_BLOCK
Definition: gsm_08_08.h:110
uint8_t w5_lo
Definition: gsm_04_08.h:276
uint8_t w16
Definition: gsm_04_08.h:147
uint8_t w11
Definition: gsm_04_08.h:209
@ NM_MT_SET_RADIO_ATTR_NACK
Definition: gsm_12_21.h:132
#define GSM48_MT_RR_GPRS_SUSP_REQ
Definition: gsm_04_08.h:1429
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
@ _OSMO_AUTH_ALG_NUM
Definition: auth.h:35
const struct value_string osmo_gsup_session_state_names[]
Definition: gsup.c:73
#define GSM48_IE_CTS_PERMISSION
Definition: gsm_04_08.h:1645
#define GSM48_IE_RR_PACKET_DL
Definition: gsm_04_08.h:1616
@ CELL_IDENT_LAC
Definition: gsm_08_08.h:22
@ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL
Definition: gsm_08_08.h:363
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
uint8_t orig_arfcn_hi
Definition: gsm_04_08.h:266
uint16_t ci
Definition: gsm23003.h:37
int ipa_ccm_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len)
Definition: ipa.c:101
@ NM_MT_STOP_EVENT_REP_NACK
Definition: gsm_12_21.h:152
#define GSM48_PDISC_EXTEND
Definition: gsm_04_08.h:1249
#define GSM48_IE_BEARER_CAP
Definition: gsm_04_08.h:1553
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:163
@ GSM0808_IE_FORWARD_INDICATOR
Definition: gsm_08_08.h:203
@ GMM_CAUSE_PLMN_NOTALLOWED
Definition: gsm_04_08_gprs.h:206
@ GPRS_ALGO_GEA3
Definition: gprs_cipher.h:17
@ GSM0808_IE_GANSS_ASSISTANCE_DATA
Definition: gsm_08_08.h:264
char info[GSM_MAX_SSVERSION]
Definition: mncc.h:69
3GPP TS 52.021 §9.4.62 SW Description
Definition: gsm_12_21.h:792
uint32_t gprs_tmsi2tlli(uint32_t p_tmsi, enum gprs_tlli_type type)
Determine TLLI from P-TMSI.
Definition: gsm_utils.c:923
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:516
#define ARFCN_PCS
Definition: gsm_utils.h:160
@ NM_MT_SET_SITE_OUT
Definition: gsm_12_21.h:175
#define GSM48_IE_NOTIFY
Definition: gsm_04_08.h:1560
static const uint8_t tch_hr_output[][2]
Definition: gsm0503_conv.c:774
@ NM_MT_STATECHG_EVENT_REP
Definition: gsm_12_21.h:148
uint8_t w1_lo
Definition: gsm_04_08.h:193
@ GSM_BAND_850
Definition: gsm_utils.h:55
static const int tch_ahs_7_95_puncture[]
Definition: gsm0503_conv.c:841
@ BSS_MAP_MSG_ASSIGMENT_FAILURE
Definition: gsm_08_08.h:54
uint16_t gsm_freq102arfcn(uint16_t freq10, int uplink)
Convert a Frequency in MHz * 10 to ARFCN.
Definition: gsm_utils.c:793
struct msgb * gsm0480_create_ussd_resp(uint8_t invoke_id, uint8_t trans_id, const char *text)
Definition: gsm0480.c:790
enum gsm48_gmm_cause cause
Definition: gsup.h:189
@ RSL_MT_CHAN_RQD
Definition: gsm_08_58.h:106
@ GSM411_RP_CAUSE_INV_TRANS_REF
Definition: gsm_04_11.h:86
const u32 Td0[256]
Definition: aes-internal.c:407
#define GSM48_MT_RR_SYSINFO_8
Definition: gsm_04_08.h:1396
static void lapd_t200_cb(void *data)
Definition: lapd_core.c:557
#define A5_R3_LEN
Definition: a5.c:107
const struct value_string gsm0808_speech_codec_type_names[]
Definition: gsm0808.c:1142
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:197
#define GSM48_MT_CC_EMERG_SETUP
Definition: gsm_04_08.h:1473
@ GSM0808_IE_LAYER_3_HEADER_INFORMATION
Definition: gsm_08_08.h:167
@ LAPDm_FMT_A
Definition: lapdm.c:110
uint8_t w5
Definition: gsm_04_08.h:200
uint8_t w6_hi
Definition: gsm_04_08.h:361
size_t num_auth_vectors
Definition: gsup.h:194
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:1453
int len
Definition: mncc.h:63
@ BSS_MAP_MSG_PAGING
Definition: gsm_08_08.h:125
#define APN_GPRS_FMT
Definition: apn.c:31
@ NM_IPACC_TESTNO_TX_BEACON
Definition: gsm_12_21.h:720
int op
Definition: lapd_core.c:2152
@ GSM0808_IE_EXTENDED_RESOURCE_INDICATOR
Definition: gsm_08_08.h:173
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:35
#define GSM0480_OPERATION_CODE
Definition: gsm_04_80.h:26
struct llist_head send_queue
frames from L3
Definition: lapd_core.h:154
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:675
@ NM_NACK_PHYSCFG_NOTRESTORE
Definition: gsm_12_21.h:623
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:543
static int gsm411_mmsms_cp_data(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:285
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:1475
@ GMM_CAUSE_IMSI_UNKNOWN
Definition: gsm_04_08_gprs.h:198
3GPP TS 48.008 §3.2.2.5.8 Old BSS to New BSS information
Definition: gsm0808.h:91
@ GSM0808_PERM_HR1
GSM HR.
Definition: gsm_08_08.h:426
enum gsm48_bcap_parity parity
Definition: mncc.h:26
const struct osmo_conv_code gsm0503_cs3
CS3 convolutional code: G0 = 1 + D3 + D4 G1 = 1 + D + D3 + D4.
Definition: gsm0503_conv.c:186
#define GSM48_IE_PRIORITY_LEV
Definition: gsm_04_08.h:1643
@ BSS_MAP_MSG_CHANGE_CIRCUIT
Definition: gsm_08_08.h:119
@ GMM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:227
@ GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE
Definition: gsm_08_08.h:378
#define MDL_CAUSE_FRMR
Definition: lapd_core.h:44
@ BSS_MAP_MSG_CONNECTION_ORIENTED_INFORMATION
Definition: gsm_08_08.h:87
static int parse_ss_facility(const uint8_t *ss_facility, uint16_t len, struct ss_request *req)
Definition: gsm0480.c:443
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:503
@ NM_NACK_FREQ_NOTAVAIL
Definition: gsm_12_21.h:618
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:1248
#define IP_PORT_LEN
Definition: gsm0808_utils.c:35
@ BTS_FEAT_AGCH_PCH_PROP
Definition: bts_features.h:19
#define GSM48_MT_RR_PAG_REQ_2
Definition: gsm_04_08.h:1384
int gsm_7bit_decode(char *text, const uint8_t *user_data, uint8_t septet_l)
Definition: gsm_utils.c:942
#define GPRS_UPD_T_PERIODIC
Definition: gsm_04_08_gprs.h:74
@ LAPD_STATE_DISC_SENT
Definition: lapd_core.h:79
#define LAPDm_CTRL_Nr(ctrl)
Definition: lapdm.c:80
@ GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL
Definition: gsm_08_08.h:366
#define GSM48_IE_TIMING_ADVANCE
Definition: gsm_04_08.h:1629
lapdm_cb_t l3_cb
callback for sending stuff to L3
Definition: lapdm.h:61
@ NM_ATT_IPACC_SSL_CFG
Definition: gsm_12_21.h:458
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:246
@ 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:372
@ BTS_FEAT_EGPRS
Definition: bts_features.h:14
@ GSM0808_SCT_HR6
OHR AMR.
Definition: gsm_08_08.h:447
@ BSS_MAP_MSG_INT_HANDOVER_ENQUIRY
Definition: gsm_08_08.h:73
@ NM_SEVER_INDETERMINATE
Definition: gsm_12_21.h:585
uint16_t pdp_type
Type of PDP context.
Definition: gsup.h:167
@ 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:298
struct msgb * gsm0808_create_reset(void)
Create BSSMAP RESET message.
Definition: gsm0808.c:138
@ GSM0808_CAUSE_MS_NOT_EQUIPPED
Definition: gsm_08_08.h:352
@ BSS_MAP_MSG_CLEAR_COMPLETE
Definition: gsm_08_08.h:77
@ NM_ATT_FILE_ID
Definition: gsm_12_21.h:337
@ NM_ATT_IPACC_STREAM_ID
Definition: gsm_12_21.h:418
uint8_t w9
Definition: gsm_04_08.h:365
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:66
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:22
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:1054
gprs_tlli_type
Definition: gsm_utils.h:185
@ GSM0808_IE_OLD_BSS_TO_NEW_BSS_INFORMATION
Definition: gsm_08_08.h:218
@ GSM48_REJECT_PLMN_NOT_ALLOWED
Definition: gsm_04_08.h:1775
static int lapd_udata_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1718
uint8_t t2
Definition: gsm_04_08.h:13
static const uint8_t tch_afs_6_7_output[][2]
Definition: gsm0503_conv.c:468
@ SAP_GSM_PH
Definition: prim.h:9
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:140
#define ABIS_RSL_MDISC_COM_CHAN
Definition: gsm_08_58.h:72
@ GSM0808_IE_LCLS_CONFIG
Definition: gsm_08_08.h:284
@ 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:117
#define GSM48_IE_UTC
Definition: gsm_04_08.h:1548
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:503
const char * abis_nm_dump_foh(const struct abis_om_fom_hdr *foh)
Definition: abis_nm.c:931
@ NM_IPACC_TESTNO_CHAN_USAGE
Definition: gsm_12_21.h:716
@ NM_MT_ESTABLISH_TEI_NACK
Definition: gsm_12_21.h:106
@ NM_NACK_OBJCLASS_INVAL
Definition: gsm_12_21.h:604
#define LAPDm_EL
Definition: lapdm.c:84
struct lapdm_datalink datalink[_NR_DL_SAPI]
the SAPIs of the LAPDm entity
Definition: lapdm.h:51
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:224
@ 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:699
#define LAPDm_CTRL_I(nr, ns, p)
Definition: lapdm.c:66
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:71
char * osmo_apn_qualify_from_imsi(const char *imsi, const char *ni, int have_3dig_mnc)
Definition: apn.c:44
#define GSM48_MT_MM_CM_SERV_ABORT
Definition: gsm_04_08.h:1457
uint16_t msg_id
Definition: gsm_03_41.h:34
uint8_t w7_lo
Definition: gsm_04_08.h:203
struct msgb * gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id)
Create BSSMAP Cipher Mode Complete message.
Definition: gsm0808.c:242
#define GSM_7BIT_LEGACY_MAX_BUFFER_SIZE
Definition: gsm_utils.h:234
@ OSMO_GSUP_CK_IE
Definition: gsup.h:80
@ BSS_MAP_MSG_INT_HANDOVER_CMD
Definition: gsm_08_08.h:72
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:584
static int gsm411_mmsms_rel_ind(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:377
@ GSM0808_SCT_FR1
GSM FR.
Definition: gsm_08_08.h:439
static const char * lapd_state_name(enum lapd_state state)
Definition: lapd_core.c:197
#define GSM48_MT_MM_AUTH_RESP
Definition: gsm_04_08.h:1448
static const char * idtag_names[]
Definition: ipa.c:81
@ GSM0808_IE_RESPONSE_RQST
Definition: gsm_08_08.h:187
@ GSM0808_IE_CLASSMARK_INFORMATION_T3
Definition: gsm_08_08.h:179
@ BSS_MAP_MSG_UPLINK_RQST_CONFIRMATION
Definition: gsm_08_08.h:145
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:20
@ BSS_MAP_MSG_HANDOVER_CANDIDATE_ENQUIRE
Definition: gsm_08_08.h:66
unsigned int priority
Definition: gprs_cipher.h:35
@ GSM48_BCAP_ITCAP_UNR_DIG_INF
Definition: gsm_04_08.h:1879
char info[GSM_MAX_USERUSER+1]
Definition: mncc.h:53
@ OSMO_GSUP_MSGT_PROC_SS_RESULT
Definition: gsup.h:123
struct lapd_history * tx_hist
tx history structure array
Definition: lapd_core.h:157
uint8_t w4_hi
Definition: gsm_04_08.h:198
#define GRND_NONBLOCK
Definition: gsm_utils.c:107
#define GSM48_PDISC_RR
Definition: gsm_04_08.h:1243
@ GA_MT_CSR_HO_COMPL
Definition: gsm_44_318.h:46
@ 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:1551
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:160
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:41
@ GSM48_REJECT_GPRS_NOT_ALLOWED
Definition: gsm_04_08.h:1795
struct msgb * cp_msg
Definition: gsm0411_smc.h:39
@ BSS_MAP_MSG_UPLINK_RQST_ACKNOWLEDGE
Definition: gsm_08_08.h:144
LAPD message context.
Definition: lapd_core.h:93
#define GSM48_PDISC_BCAST_CC
Definition: gsm_04_08.h:1237
#define GSM48_MT_CC_HOLD_ACK
Definition: gsm_04_08.h:1486
@ NM_PCAUSE_T_GSM
Definition: gsm_12_21.h:591
int gsm48_decode_keypad(int *keypad, const uint8_t *lv)
Decode TS 04.08 Keypad IE (10.5.4.17)
Definition: gsm48_ie.c:654
static void cp_timer_expired(void *data)
Definition: gsm0411_smc.c:221
@ GSM0808_IE_NUMBER_OF_MSS
Definition: gsm_08_08.h:174
#define GSM411_MMSMS_EST_REQ
Definition: gsm0411_smc.h:10
#define GSM48_MT_RR_ASS_CMD
Definition: gsm_04_08.h:1366
uint8_t alg_id
Definition: gsm_04_08.h:716
#define RCON(i)
Definition: aes_i.h:72
#define SBIT(a)
Definition: gsm_04_08.h:1869
@ 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:357
@ GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC
Definition: gsm_08_08.h:382
#define GSM0480_IE_SS_VERSION
Definition: gsm_04_80.h:13
@ GMM_CAUSE_MSGT_INCOMP_P_STATE
Definition: gsm_04_08_gprs.h:223
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:369
@ GSM0808_IE_GROUP_CALL_REFERENCE
Definition: gsm_08_08.h:215
static const uint8_t table1[256]
Definition: comp128v23.c:54
@ GSM0808_ALG_ID_A5_6
Definition: gsm_08_08.h:463
uint8_t w2_lo
Definition: gsm_04_08.h:122
uint64_t id
Definition: gsm0411_smr.h:17
@ GMM_CAUSE_GPRS_NOTALLOWED
Definition: gsm_04_08_gprs.h:202
@ GSM0808_SCT_HR4
OHR AMR-WB.
Definition: gsm_08_08.h:446
@ 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
enum osmo_sub_auth_type type
Definition: auth.h:40
@ GSM0808_SCT_HR1
GSM_HR.
Definition: gsm_08_08.h:444
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:964
@ GSM0808_IE_CIRCUIT_IDENTITY_CODE_LIST
Definition: gsm_08_08.h:190
Definition: gsm_04_08.h:393
gsm_phys_chan_config
Definition: gsm_utils.h:201
int t200_usec
retry timer (default 1 sec)
Definition: lapd_core.h:148
#define GPRS_DET_T_MT_REATT_NOTREQ
Definition: gsm_04_08_gprs.h:64
const char * name
Definition: gsm0411_smc.c:485
static const uint8_t tch_ahs_7_4_term_output[]
Definition: gsm0503_conv.c:884
@ BSS_MAP_MSG_REROUTE_CMD
Definition: gsm_08_08.h:93
@ NM_MT_SET_ALARM_THRES_NACK
Definition: gsm_12_21.h:192
@ OSMO_GSUP_MSGT_PURGE_MS_ERROR
Definition: gsup.h:106
#define GSM0480_OP_CODE_ACTIVATE_SS
Definition: gsm_04_80.h:72
#define GSM411_MT_RP_ACK_MO
Definition: gsm_04_11.h:54
struct lapd_datalink dl
Definition: lapdm.h:30
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:110
@ NM_NACK_ATTRID_INVAL
Definition: gsm_12_21.h:609
uint8_t w15
Definition: gsm_04_08.h:371
@ NM_ATT_IPACC_PRIM_OML_CFG_LIST
Definition: gsm_12_21.h:434
#define RSL_CHAN_RACH
Definition: gsm_08_58.h:372
struct msgb * gsm0808_create_reset_ack(void)
Create BSSMAP RESET ACK message.
Definition: gsm0808.c:155
@ T200_SDCCH
Definition: gsm_12_21.h:647
Definition: gsm_04_08.h:891
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:237
bool mnc_3_digits
Definition: gsm23003.h:12
@ NM_NACK_TEST_NOSTOP
Definition: gsm_12_21.h:625
int gsm411_smc_send(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smc.c:453
#define GSM48_IE_LOCATION_AREA
Definition: gsm_04_08.h:1639
enum osmo_gsup_message_type message_type
Definition: gsup.h:187
static LLIST_HEAD(gprs_ciphers)
uint8_t lpd
Definition: lapd_core.h:100
const struct tlv_definition gsm48_att_tlvdef
TLV parser definitions for TS 04.08 CC.
Definition: gsm48.c:54
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:254
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:2073
struct msgb * gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause)
Create BSSMAP Assignment Failure message.
Definition: gsm0808.c:563
#define GPRS_DET_T_MT_REATT_REQ
Definition: gsm_04_08_gprs.h:63
int location
Definition: mncc.h:58
size_t num_pdp_infos
Definition: gsup.h:196
uint8_t link_id
RSL link identifier (value)
Definition: gsm_08_58.h:45
void lapdm_entity_reset(struct lapdm_entity *le)
Reset an entire LAPDm entity and all its datalinks.
Definition: lapdm.c:1357
#define IP_V4_ADDR_LEN
Definition: gsm0808_utils.c:33
char * unit_name
Definition: ipa.h:17
int have_info
Definition: gsup.h:165
@ GSM0808_IE_EMLPP_PRIORITY
Definition: gsm_08_08.h:216
@ BSS_MAP_MSG_CLASSMARK_UPDATE
Definition: gsm_08_08.h:127
static const uint8_t tch_ahs_4_75_output[][2]
Definition: gsm0503_conv.c:1068
uint16_t lac
Definition: gsm_04_08.h:709
@ GSM411_RP_CAUSE_MO_UNIDENTIFIED_SUBSCR
Definition: gsm_04_11.h:73
uint16_t bts_id
Definition: ipa.h:15
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:304
static const uint8_t tch_hr_state[][2]
Definition: gsm0503_conv.c:755
uint8_t w17
Definition: gsm_04_08.h:294
@ OSMO_GSUP_IK_IE
Definition: gsup.h:79
@ GSM0808_IE_CIPHER_RESPONSE_MODE
Definition: gsm_08_08.h:195
uint8_t w12
Definition: gsm_04_08.h:287
uint8_t v_send
seq nr of next I frame to be transmitted
Definition: lapd_core.h:141
#define GSM48_MT_RR_UTRAN_CLSM_CHG
Definition: gsm_04_08.h:1391
uint8_t w8_hi
Definition: gsm_04_08.h:204
@ GSM0808_IE_TIME_INDICATION
Definition: gsm_08_08.h:207
uint8_t cm2_len
Definition: gsm_04_08.h:708
@ GSM0808_IE_GANSS_LOCATION_TYPE
Definition: gsm_08_08.h:266
Definition: gsm_08_08.h:525
@ NM_MT_SEND_TEST_REP
Definition: gsm_12_21.h:141
#define GSM48_MT_MM_ABORT
Definition: gsm_04_08.h:1461
@ GSM0808_CAUSE_DTM_HO_INVALID_PS_IND
Definition: gsm_08_08.h:380
#define GPRS_UPD_T_RA_LA
Definition: gsm_04_08_gprs.h:72
#define GSM411_MT_CP_DATA
Definition: gsm_04_11.h:29
#define GSM48_MT_GMM_AUTH_CIPH_REJ
Definition: gsm_04_08_gprs.h:28
int gsm0808_cell_id_list_add(struct gsm0808_cell_id_list2 *dst, const struct gsm0808_cell_id_list2 *src)
Append entries from one Cell Identifier List to another.
Definition: gsm0808_utils.c:958
const struct value_string osmo_gsup_message_type_names[]
Definition: gsup.c:39
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:2152
int cp_rel
Definition: gsm0411_smc.h:40
#define A51_R2_CLKBIT
Definition: a5.c:164
@ GSM0808_IE_RESOURCE_SITUATION
Definition: gsm_08_08.h:208
@ LAPD_FORM_S
Definition: lapd_core.h:88
struct msgb * gsm0480_create_notifySS(const char *text)
Definition: gsm0480.c:160
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:78
static unsigned long gsm340_vp_relative_semioctet(uint8_t *sms_vp)
Definition: gsm0411_utils.c:201
int osmo_plmn_cmp(const struct osmo_plmn_id *a, const struct osmo_plmn_id *b)
Definition: gsm23003.c:290
@ NM_NACK_MSGINCONSIST_PHYSCFG
Definition: gsm_12_21.h:626
@ NM_MT_LOAD_ABORT
Definition: gsm_12_21.h:92
struct lapd_datalink * dl
Definition: lapd_core.h:94
int(* rout)(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:425
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL
Definition: gsm_08_08.h:551
static int send_rll_simple(uint8_t msg_type, struct lapdm_msg_ctx *mctx)
Definition: lapdm.c:404
#define GSM48_MT_RR_IS_TO_CDMA2K_HANDO
Definition: gsm_04_08.h:1394
struct gsm0808_speech_codec_list codec_list_bss_supported
Definition: gsm0808.h:163
struct msgb * ipa_msg_alloc(int headroom)
Definition: ipa.c:586
uint8_t w16
Definition: gsm_04_08.h:372
@ GSM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:260
uint8_t w22
Definition: gsm_04_08.h:380
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:289
@ GSM_MNCC_BCAP_UNR_DIG
Definition: mncc.h:79
uint8_t w5_hi
Definition: gsm_04_08.h:127
@ NM_NACK_CANT_PERFORM
Definition: gsm_12_21.h:614
static struct gprs_cipher_impl gea3_impl
Definition: gprs_gea.c:34
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 w18_lo
Definition: gsm_04_08.h:296
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_04_08.h:2
#define GSM48_MT_RR_DTM_INFO
Definition: gsm_04_08.h:1430
@ GSM0808_IE_TRIGGERID
Definition: gsm_08_08.h:198
uint8_t w24
Definition: gsm_04_08.h:382
#define LAPDm_ADDR_LPD(addr)
Definition: lapdm.c:60
@ GSM0808_PERM_HR3
HR AMR.
Definition: gsm_08_08.h:428
static const uint8_t tch_ahs_4_75_state[][2]
Definition: gsm0503_conv.c:1049
@ BSS_MAP_MSG_RESET
Definition: gsm_08_08.h:97
@ NM_MT_SET_BTS_ATTR
Definition: gsm_12_21.h:127
#define GSM48_IE_REPEAT_SEQ
Definition: gsm_04_08.h:1580
#define GSM48_IE_CLIR_INVOC
Definition: gsm_04_08.h:1577
struct gsm0808_speech_codec speech_codec_chosen
Definition: gsm0808.h:139
@ NM_SEVER_CEASED
Definition: gsm_12_21.h:580
@ GSM0808_IE_CHOSEN_ENCR_ALG
Definition: gsm_08_08.h:204
@ GSM0808_IE_CN_TO_MS_TRANSP_INFO
Definition: gsm_08_08.h:293
uint8_t len
Definition: gsm_08_08.h:510
static const uint8_t tch_afs_7_4_output[][2]
Definition: gsm0503_conv.c:421
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:522
uint8_t msg_type
Definition: gsm_04_08.h:825
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:255
#define LAPDm_CTRL_U_BITS(ctrl)
Definition: lapdm.c:74
@ GSM48_RR_CAUSE_COND_IE_ERROR
Definition: gsm_04_08.h:1710
static uint8_t enc_speech_codec(struct msgb *msg, const struct gsm0808_speech_codec *sc)
Definition: gsm0808_utils.c:152
@ NM_ATT_POWER_CLASS
Definition: gsm_12_21.h:358
enum gsm48_chan_mode __attribute__
@ RSL_MT_EST_CONF
Definition: gsm_08_58.h:91
#define GSM411_MT_RP_DATA_MO
Definition: gsm_04_11.h:52
#define GSM414_MT_ACT_EMMI_ACK
Definition: gsm_04_14.h:57
@ OSMO_EVT_PCU_VERS
Definition: gsm_12_21.h:277
static void lapd_acknowledge(struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:720
@ NM_MT_SW_ACT_REQ_ACK
Definition: gsm_12_21.h:97
@ GSM0808_IE_LAYER_3_MESSAGE_CONTENTS
Definition: gsm_08_08.h:192
#define GSM48_MT_CC_RELEASE_COMPL
Definition: gsm_04_08.h:1494
#define MDL_CAUSE_UNSOL_UA_RESP
Definition: lapd_core.h:32
@ GSM0808_IE_DLCI
Definition: gsm_08_08.h:184
#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:365
@ GSM0808_IE_LCS_PRIORITY
Definition: gsm_08_08.h:224
int reestablish
enable reestablish support
Definition: lapd_core.h:135
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:883
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:261
__attribute__((constructor))
Definition: gsm_utils.c:121
@ GSM0808_CHAN_SPEECH
Definition: gsm_08_08.h:389
const char * abis_nm_test_name(uint8_t test)
Get human-readable string for OML test.
Definition: abis_nm.c:675
int gsm411_smc_recv(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type)
Definition: gsm0411_smc.c:527
struct lapdm_entity lapdm_acch
Associated Control Channel.
Definition: lapdm.h:74
static int send_dl_simple(uint8_t prim, uint8_t op, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:379
@ OSMO_EVT_MAJ_NET_CONGEST
Definition: gsm_12_21.h:270
#define GSM48_MT_MM_CM_SERV_PROMPT
Definition: gsm_04_08.h:1459
@ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL
Definition: gsm_08_08.h:549
@ GSM0808_CAUSE_BETTER_CELL
Definition: gsm_08_08.h:334
#define GSM411_ALLOC_HEADROOM
Definition: gsm0411_utils.c:49
@ _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:34
@ 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:1628
@ GSM0808_CAUSE_DOWNLINK_STRENGTH
Definition: gsm_08_08.h:327
static int send_dl_l3(uint8_t prim, uint8_t op, struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapd_core.c:368
@ 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:117
@ GSM0808_SC_CFG_DEFAULT_FR_AMR
Definition: gsm_08_08.h:498
uint8_t w2_hi
Definition: gsm_04_08.h:194
@ GSM48_RR_CAUSE_NORMAL
Definition: gsm_04_08.h:1696
bool rr_cause_present
Definition: gsm0808.h:160
static unsigned long gsm340_vp_absolute(uint8_t *sms_vp)
Definition: gsm0411_utils.c:170
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:34
@ NM_MT_START_MEAS
Definition: gsm_12_21.h:185
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:146
@ GMM_CAUSE_IMPL_DETACHED
Definition: gsm_04_08_gprs.h:205
@ 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:29
const struct value_string gprs_msgt_gmm_names[]
String names of GMM message types.
Definition: gsm_04_08_gprs.c:150
char * name
human-readable name
Definition: lapdm.h:73
static int lapd_susp_req(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1975
#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:61
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:912
#define GSM48_IE_AUX_STATUS
Definition: gsm_04_08.h:1559
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:184
#define EGPRS_CPS_TYPE3_TBL_SZ
Definition: gprs_rlc.c:22
#define GSM48_MT_RR_SYSINFO_3
Definition: gsm_04_08.h:1399
#define MDL_CAUSE_SEQ_ERR
Definition: lapd_core.h:36
#define GSM48_MT_RR_SYSINFO_13
Definition: gsm_04_08.h:1411
@ T200_SDCCH_SAPI3
Definition: gsm_12_21.h:652
@ RSL_MT_RES_REQ
Definition: gsm_08_58.h:100
uint8_t t2
Definition: gsm_utils.h:49
uint8_t w3_lo
Definition: gsm_04_08.h:357
int(* rout)(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2154
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:367
@ GSM0808_ALG_ID_A5_1
Definition: gsm_08_08.h:458
#define GSM48_MT_RR_CFG_CHG_CMD
Definition: gsm_04_08.h:1362
@ NM_ATT_T200
Definition: gsm_12_21.h:370
@ CELL_IDENT_UTRAN_LAC_RNC
Definition: gsm_08_08.h:26
@ GSM0808_IE_LCLS_CONN_STATUS_CTRL
Definition: gsm_08_08.h:285
@ GSM0808_IE_SEGMENTATION
Definition: gsm_08_08.h:236
@ GSM48_RR_CAUSE_INVALID_MAND_INF
Definition: gsm_04_08.h:1707
uint8_t gsm411_bcdify(uint8_t value)
Turn int into semi-octet representation: 98 => 0x89.
Definition: gsm0411_utils.c:62
@ GSM0808_CAUSE_GERAN_IU_MODE_FAILURE
Definition: gsm_08_08.h:368
#define GSM48_MT_GMM_ID_RESP
Definition: gsm_04_08_gprs.h:31
static const int tch_ahs_5_15_puncture[]
Definition: gsm0503_conv.c:1024
@ BSS_MAP_MSG_SAPI_N_REJECT
Definition: gsm_08_08.h:81
#define GSM48_MT_RR_CIPH_M_COMPL
Definition: gsm_04_08.h:1360
static int gsm411_mmsms_send_msg(struct gsm411_smc_inst *inst)
Definition: gsm0411_smc.c:183
static const uint8_t table_2[128]
Definition: comp128.c:125
#define GPRS_DET_T_MT_IMSI
Definition: gsm_04_08_gprs.h:65
#define GSM48_PDISC_SM_GPRS
Definition: gsm_04_08.h:1246
uint8_t t1
Definition: gsm_04_08.h:648
uint64_t id
Definition: gsm0411_smc.h:30
static uint8_t gsm48_hdr_pdisc(const struct gsm48_hdr *hdr)
Definition: gsm_04_08.h:1259
const char * gsm0808_bssmap_name(uint8_t msg_type)
Return string name of BSSMAP Message Type.
Definition: gsm0808.c:1125
void ipa_prepend_header_ext(struct msgb *msg, int proto)
Definition: ipa.c:433
const char * gsm48_cc_msg_name(uint8_t msgtype)
return string representation of CC Message Type
Definition: gsm48.c:283
#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:147
@ GSM0808_SCT_FR2
GSM EFR.
Definition: gsm_08_08.h:440
@ NM_OC_GPRS_NSVC
Definition: gsm_12_21.h:313
struct gsm48_loc_area_id lai
Definition: gsm_04_08.h:715
@ NM_MT_SET_SITE_OUT_NACK
Definition: gsm_12_21.h:177
int gsm0480_wrap_facility(struct msgb *msg)
Definition: gsm0480.c:112
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:35
static int lapd_rel_req_idle(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2137
struct osmo_location_area_id lai_and_lac
Definition: gsm0808_utils.h:43
size_t ss_info_len
Definition: gsup.h:215
char imsi[GSM23003_IMSI_MAX_DIGITS+2]
Definition: gsup.h:188
const struct value_string abis_nm_obj_class_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:606
void bitvec_add_range1024(struct bitvec *bv, const struct gsm48_range_1024 *r)
append range1024 encoded data to bit vector
Definition: gsm_utils.c:867
@ OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT
Definition: gsup.h:119
@ GSM411_RP_CAUSE_MO_REQ_FAC_NOTIMPL
Definition: gsm_04_11.h:81
Definition: gprs_rlc.c:121
#define LAPD_U_UA
Definition: lapd_core.c:94
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 w9_lo
Definition: gsm_04_08.h:207
uint8_t digits[3]
Definition: gsm_04_08.h:1989
uint8_t w4_hi
Definition: gsm_04_08.h:358
uint32_t u32
Definition: common.h:19
@ GSM0808_IE_REROUTE_COMPL_OUTCOME
Definition: gsm_08_08.h:282
#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:499
@ GPRS_SERVICE_T_MBMS_MC_SERV
Definition: gsm_04_08_gprs.h:406
@ 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:152
#define GSM48_MT_MM_IMSI_DETACH_IND
Definition: gsm_04_08.h:1441
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:71
@ GSM_CAUSE_REQ_SERV_OPT_NOTSUB
Definition: gsm_04_08_gprs.h:244
Definition: gsm0808.h:157
@ CELL_IDENT_BSS
Definition: gsm_08_08.h:23
int type
Definition: gsm0411_smr.c:431
struct msgb * gsm0808_create_sapi_reject(uint8_t link_id)
Create BSSMAP SAPI N Reject message.
Definition: gsm0808.c:373
#define GSM_MI_TYPE_IMEI
Definition: gsm_04_08.h:1540
@ NM_PCAUSE_T_X721
Definition: gsm_12_21.h:590
uint8_t w3_hi
Definition: gsm_04_08.h:196
#define GSM48_MT_CC_HOLD
Definition: gsm_04_08.h:1485
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:205
@ 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:32
@ 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:719
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:76
#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:159
#define GSM48_IE_RR_PACKET_UL
Definition: gsm_04_08.h:1615
@ BSS_MAP_MSG_CHANGE_CIRCUIT_ACKNOWLEDGE
Definition: gsm_08_08.h:120
@ GPRS_ALGO_GEA1
Definition: gprs_cipher.h:15
gsm0808_lcls_control
Definition: gsm_08_08.h:556
@ IPAC_IDTAG_LOCATION2
Definition: ipaccess.h:58
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:489
uint8_t w12_lo
Definition: gsm_04_08.h:140
uint8_t d
Definition: gsm_04_08.h:901
void * aes_encrypt_init(const u8 *key, size_t len)
Definition: aes-internal-enc.c:101
#define APPEND_STR(fmt, args...)
Definition: gsm0808_utils.c:1220
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:274
uint8_t update
Definition: gsm_03_41.h:31
@ BSS_MAP_MSG_UPLINK_RELEASE_CMD
Definition: gsm_08_08.h:148
@ NM_MT_REP_OUTST_ALARMS_ACK
Definition: gsm_12_21.h:163
@ GMM_CAUSE_ROAMING_NOTALLOWED
Definition: gsm_04_08_gprs.h:208
static uint8_t do_mod(uint8_t x, uint8_t m)
Definition: lapd_core.c:126
static int rslms_rx_rll_rel_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:1059
@ 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_IE_GLOBAL_CALL_REF
Definition: gsm_08_08.h:283
int gsm48_decode_signal(int *signal, const uint8_t *v)
Decode TS 04.08 Signal IE (10.5.4.23)
Definition: gsm48_ie.c:638
const char * ipa_ccm_idtag_name(uint8_t tag)
Definition: ipa.c:93
uint8_t w19
Definition: gsm_04_08.h:376
@ GSM0808_LCLS_STS_LOCALLY_SWITCHED
Definition: gsm_08_08.h:570
@ GSM0808_IE_CELL_IDENTIFIER_LIST
Definition: gsm_08_08.h:186
@ GA_MT_CSR_ACT_CHAN_COMPL
Definition: gsm_44_318.h:36
uint8_t w8_hi
Definition: gsm_04_08.h:280
union osmo_phsap_prim::@7 u
request-specific data
@ GSM0808_CAUSE_RESPONSE_TO_MSC_INVOCATION
Definition: gsm_08_08.h:330
static const uint8_t tch_ahs_7_95_state[][2]
Definition: gsm0503_conv.c:817
unsigned int id_list_len
Definition: gsm0808_utils.h:57
uint8_t is_combined_ccch
Are we using a combined CCCH?
Definition: l1sap.h:47
@ GSM48_REJECT_SYNCH_FAILURE
Definition: gsm_04_08.h:1779
@ GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE
Definition: gsm_08_08.h:361
void lapdm_entity_set_flags(struct lapdm_entity *le, unsigned int flags)
Set the flags of a LAPDm entity.
Definition: lapdm.c:1376
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:486
static const int tch_hr_puncture[]
Definition: gsm0503_conv.c:793
uint8_t orig_arfcn_lo
Definition: gsm_04_08.h:353
@ 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 msgb
Definition: tlv.h:346
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:1460
static unsigned long gsm340_vp_relative_integer(uint8_t *sms_vp)
Definition: gsm0411_utils.c:186
uint32_t fn
Definition: gsm_utils.h:47
int lapdm_entity_set_mode(struct lapdm_entity *le, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapdm.c:1301
#define GSM48_IE_CALLING_BCD
Definition: gsm_04_08.h:1565
@ GSM0808_CAUSE_CCCH_OVERLOAD
Definition: gsm_08_08.h:349
@ GSM0808_PERM_FR1
GSM FR.
Definition: gsm_08_08.h:421
uint8_t w12_hi
Definition: gsm_04_08.h:210
const struct tlv_definition abis_nm_att_tlvdef
GSM A-bis OML TLV parser definition.
Definition: abis_nm.c:519
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:1546
#define GSM411_MNSMS_EST_IND
Definition: gsm0411_smc.h:25
unsigned int context_id
Definition: gsup.h:164
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:814
uint8_t w12_lo
Definition: gsm_04_08.h:211
enum abis_nm_msgtype abis_nm_no_ack_nack[3]
messages without ACK/NACK
Definition: abis_nm.c:52
@ NM_NACK_OBJCLASS_NOTSUPP
Definition: gsm_12_21.h:605
struct ph_rach_req_param rach_req
Definition: l1sap.h:159
#define GSM48_MT_MM_CM_SERV_REQ
Definition: gsm_04_08.h:1458
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:538
@ BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT
Definition: gsm_08_08.h:68
@ GSM48_RR_CAUSE_PROT_ERROR_UNSPC
Definition: gsm_04_08.h:1712
@ GSM_BAND_750
Definition: gsm_utils.h:61
#define LAPDm_SAPI_NORMAL
Definition: lapdm.c:56
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:310
@ NM_SEVER_MAJOR
Definition: gsm_12_21.h:582
#define GSM48_IE_FRQSHORT_BEFORE
Definition: gsm_04_08.h:1594
const struct value_string abis_mm_event_cause_names[]
Definition: abis_nm.c:154
@ BSS_MAP_MSG_BLOCKING_ACKNOWLEDGE
Definition: gsm_08_08.h:111
void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn)
Definition: gsm23003.c:211
@ GSM411_RP_CAUSE_MO_UNKNOWN_SUBSCR
Definition: gsm_04_11.h:75
@ GPRS_SERVICE_T_DATA
Definition: gsm_04_08_gprs.h:404
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:1213
#define TE41(i)
Definition: aes_i.h:83
uint16_t lac
Definition: gsm48.h:24
void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode)
initialize a LAPDm channel and all its channels
Definition: lapdm.c:171
@ NM_ATT_SPEC_PROB
Definition: gsm_12_21.h:368
#define GSM48_MT_MM_ID_REQ
Definition: gsm_04_08.h:1450
@ CELL_IDENT_NO_CELL
Definition: gsm_08_08.h:20
struct gsm0808_speech_codec_list codec_list_bss_supported
Definition: gsm0808.h:141
@ NM_ATT_IPACC_FREQ_CTRL
Definition: gsm_12_21.h:420
uint8_t w2_lo
Definition: gsm_04_08.h:195
@ 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:1022
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:479
@ GMM_CAUSE_MS_ID_NOT_DERIVED
Definition: gsm_04_08_gprs.h:204
unsigned 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:493
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:456
@ OSMO_GSUP_RES_IE
Definition: gsup.h:83
@ IPAC_IDTAG_UNITNAME
Definition: ipaccess.h:56
#define GSM48_MT_RR_PAG_REQ_3
Definition: gsm_04_08.h:1385
char info[GSM_MAX_FACILITY]
Definition: mncc.h:64
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:653
struct gsm48_classmark2 cm2
Definition: gsm_04_08.h:709
static int rslms_rx_rll_est_req(struct msgb *msg, struct lapdm_datalink *dl)
Definition: lapdm.c:850
@ NM_ATT_BCCH_ARFCN
Definition: gsm_12_21.h:327
@ GMM_CAUSE_NET_FAIL
Definition: gsm_04_08_gprs.h:212
#define GSM48_MT_RR_SYSINFO_20
Definition: gsm_04_08.h:1418
@ 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:767
#define GSM48_MT_GMM_RA_UPD_COMPL
Definition: gsm_04_08_gprs.h:21
static int lapdm_send_ph_data_req(struct lapd_msg_ctx *lctx, struct msgb *msg)
Definition: lapdm.c:476
bool speech_version_used_present
Definition: gsm0808.h:117
struct msgb * gsm0808_create_cipher_reject(uint8_t cause)
Create BSSMAP Cipher Mode Reject message.
Definition: gsm0808.c:270
uint8_t orig_arfcn_hi
Definition: gsm_04_08.h:189
#define GSM48_IE_MA_BEFORE
Definition: gsm_04_08.h:1614
const struct value_string gsm48_nc_ss_msgtype_names[]
TS 04.80, section 3.4 Messages for supplementary services control.
Definition: gsm48.c:949
@ GSM0808_ALG_ID_A5_4
Definition: gsm_08_08.h:461
@ GSM411_RP_CAUSE_MO_DEST_OUT_OF_ORDER
Definition: gsm_04_11.h:72
Definition: gsm_04_08.h:785
#define GSM48_IE_CALLING_SUB
Definition: gsm_04_08.h:1566
@ GSM0808_IE_AOIP_TRASP_ADDR
Definition: gsm_08_08.h:271
uint8_t orig_arfcn_lo
Definition: gsm_04_08.h:268
@ NM_ATT_IPACC_MONIT_VAL_LIST
Definition: gsm_12_21.h:450
@ GSM0808_IE_APP_DATA
Definition: gsm_08_08.h:267
uint8_t w19
Definition: gsm_04_08.h:297
@ NM_STATE_NULL
Definition: gsm_12_21.h:523
@ NM_ATT_MEAS_TYPE
Definition: gsm_12_21.h:391
@ GSM_CAUSE_INVALID_TRANS_ID
Definition: gsm_04_08_gprs.h:252
@ BSS_MAP_MSG_ASSIGMENT_COMPLETE
Definition: gsm_08_08.h:53
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:1244
time_t gsm340_scts(uint8_t *scts)
Decode 03.40 TP-SCTS (into utc/gmt timestamp)
Definition: gsm0411_utils.c:113
@ NM_EVT_COMM_FAIL
Definition: gsm_12_21.h:571
#define GSM48_MT_RR_SYSINFO_5
Definition: gsm_04_08.h:1401
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:1228
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:538
@ GSM0808_IE_GANSS_POSITIONING_DATA
Definition: gsm_08_08.h:265
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 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:248
static const uint8_t tch_afs_12_2_output[][2]
Definition: gsm0503_conv.c:228
#define LAPDm_ADDR_EA(addr)
Definition: lapdm.c:63
uint8_t w14
Definition: gsm_04_08.h:214
int speech_ver[8]
Definition: mncc.h:18
static struct osmo_auth_impl * selected_auths[_OSMO_AUTH_ALG_NUM]
Definition: auth_core.c:43
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:435
@ NM_MT_LOAD_INIT
Definition: gsm_12_21.h:87
@ GSM_PCHAN_NONE
Definition: gsm_utils.h:202
@ GSM0808_SC_CFG_DEFAULT_HR_AMR
Definition: gsm_08_08.h:499
@ 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:343
#define GSM0480_OP_CODE_FORWARD_CUG_INFO
Definition: gsm_04_80.h:83
@ GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB
Definition: gsm_08_08.h:503
@ RSL_MT_ERROR_IND
Definition: gsm_08_58.h:89
const char * abis_nm_avail_name(uint8_t avail)
Get human-readable string for OML Availability State.
Definition: abis_nm.c:657
@ GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:222
uint8_t f0
Definition: gsm_04_08.h:118
#define ABIS_OM_MDISC_MANUF
Message Discriminator for Manufacturer Specific Messages.
Definition: gsm_12_21.h:55
uint8_t code_hi
Definition: gsm_03_41.h:29
uint8_t msg_type
Definition: gsm_04_08.h:710
struct osmo_cell_global_id global
Definition: gsm0808_utils.h:40
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
@ GPRS_SERVICE_T_SIGNALLING
Definition: gsm_04_08_gprs.h:403
static void _comp128v23_internal(uint8_t *output, const uint8_t *kxor, const uint8_t *rand)
Definition: comp128v23.c:75
uint8_t ck[16]
ciphering key
Definition: auth.h:63
int mode
Definition: mncc.h:14
uint8_t ta
Definition: lapdm.h:66
uint8_t w9_hi
Definition: gsm_04_08.h:206
@ GSM0808_IE_LCS_CAUSE
Definition: gsm_08_08.h:228
@ GSM411_RP_CAUSE_MO_NUM_UNASSIGNED
Definition: gsm_04_11.h:68
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:691
static const char bcd_num_digits[]
Definition: gsm48_ie.c:44
@ GSM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:254
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.
Definition: gsm0808.c:396
@ DCS_UCS2
Definition: gsm_04_11.h:115
uint16_t flags
Definition: gsm_utils.c:746
@ GPRS_ALGO_GEA2
Definition: gprs_cipher.h:16
@ NM_MT_CHANGEOVER
Definition: gsm_12_21.h:166
uint8_t language
Definition: gsm_03_41.h:41
@ GSM_CAUSE_IE_NOTEXIST_NOTIMPL
Definition: gsm_04_08_gprs.h:257
@ RSL_IE_MS_POWER
Definition: gsm_08_58.h:226
size_t pdp_charg_enc_len
Definition: gsup.h:205
abis_nm_msgtype
OML Message Type (Section 9.1)
Definition: gsm_12_21.h:85
@ GSM0808_SCT_HR3
HR_AMR.
Definition: gsm_08_08.h:445
@ GSM0808_IE_LOCATION_TYPE
Definition: gsm_08_08.h:225
@ NM_NACK_MSGTYPE_INVAL
Definition: gsm_12_21.h:603
int gsm_7bit_encode_oct(uint8_t *result, const char *data, int *octets)
Definition: gsm_utils.c:970
#define GSM414_MT_OPEN_LOOP_CMD
Definition: gsm_04_14.h:23
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:178
@ GSM_CAUSE_ACT_REJ_GGSN
Definition: gsm_04_08_gprs.h:241
@ BTS_FEAT_SPEECH_F_EFR
Definition: bts_features.h:23
#define gsm48_hdr_msg_type
Definition: gsm_04_08.h:1346
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:255
static int parse_ss_invoke(const uint8_t *invoke_data, uint16_t length, struct ss_request *req)
Definition: gsm0480.c:558
struct llist_head list
Definition: auth.h:74
@ BSS_MAP_MSG_CIPHER_MODE_REJECT
Definition: gsm_08_08.h:132
#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:291
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:46
uint8_t mode
Definition: gsm0808.h:101
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
Obtain physical channel config for OML Channel Combination.
Definition: abis_nm.c:921
#define MDL_CAUSE_SABM_INFO_NOTALL
Definition: lapd_core.h:43
int pdp_info_compl
Definition: gsup.h:191
const struct value_string gprs_cipher_names[]
Definition: gprs_cipher_core.c:45
@ IPAC_IDTAG_MACADDR
Definition: ipaccess.h:62
@ GSM48_RR_CAUSE_ABNORMAL_NOACT
Definition: gsm_04_08.h:1700
#define GSM411_MT_CP_ACK
Definition: gsm_04_11.h:30
@ LAPDm_FMT_Bter
Definition: lapdm.c:113
@ GSM48_REJECT_RQD_SRV_OPT_NOT_SUPPORTED
Definition: gsm_04_08.h:1782
#define GSM48_IE_CALLED_SUB
Definition: gsm_04_08.h:1568
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:235
uint8_t more
Definition: lapd_core.h:109
uint8_t w1_hi
Definition: gsm_04_08.h:192
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:61
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:1196
@ GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL
Definition: gsm_08_08.h:338
#define TE44(i)
Definition: aes_i.h:86
@ NM_NACK_MEAS_NOTSTART
Definition: gsm_12_21.h:634
@ NM_MT_GET_ATTR_RESP
Definition: gsm_12_21.h:188
#define SMCDATASLLEN
Definition: gsm0411_smc.c:521
void aes_decrypt_deinit(void *ctx)
@ IPAC_IDTAG_LOCATION1
Definition: ipaccess.h:57
@ 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:426
static int decode_pdp_info(uint8_t *data, size_t data_len, struct osmo_gsup_pdp_info *pdp_info)
Definition: gsup.c:104
uint8_t w28
Definition: gsm_04_08.h:387
static int gsm411_mnsms_est_req(struct gsm411_smc_inst *inst, struct msgb *msg)
Definition: gsm0411_smc.c:162
@ LAPD_STATE_SABM_SENT
Definition: lapd_core.h:78
Definition: gsm_04_08.h:349
#define N201_AB_SDCCH
Definition: lapdm.c:90
void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
Definition: aes-internal-enc.c:114
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:1502
uint8_t v_range
range of sequence numbers
Definition: lapd_core.h:140
struct osmo_sub_auth_data::@37::@39 gsm
@ GSM0808_IE_MSISDN
Definition: gsm_08_08.h:270
@ RSL_MT_EST_REQ
Definition: gsm_08_58.h:90
@ NM_ATT_IPACC_RAC
Definition: gsm_12_21.h:439
uint32_t states
Definition: gsm0411_smr.c:430
@ NM_OPSTATE_ENABLED
Definition: gsm_12_21.h:540
uint8_t w20_hi
Definition: gsm_04_08.h:298
uint16_t len
Definition: ipaccess.h:11
@ OSMO_GSUP_PDP_QOS_IE
Definition: gsup.h:73
Definition: gsm0411_smr.c:429
#define GSM48_MT_RR_SYSINFO_6
Definition: gsm_04_08.h:1402
@ OSMO_AUTH_ALG_COMP128v3
Definition: auth.h:32
@ BSS_MAP_MSG_UNBLOCK
Definition: gsm_08_08.h:112
#define LAPDm_CTRL_PF_BIT(ctrl)
Definition: lapdm.c:75
Definition: gsm_08_58.h:58
@ RSL_IE_RELEASE_MODE
Definition: gsm_08_58.h:233
const struct value_string gsm414_msgt_names[]
Definition: gsm0414.c:6
@ BSS_MAP_MSG_RESET_ACKNOWLEDGE
Definition: gsm_08_08.h:98
static void rp_timer_expired(void *data)
Definition: gsm0411_smr.c:362
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
uint8_t orig_arfcn_mid
Definition: gsm_04_08.h:267
@ GPRS_SERVICE_T_MBMS_BC_SERV
Definition: gsm_04_08_gprs.h:407
@ GSM_BAND_1800
Definition: gsm_utils.h:57
const char * rr_cause_name(uint8_t cause)
return string representation of RR Cause value
Definition: gsm48.c:180
#define GSM48_MT_GMM_DETACH_REQ
Definition: gsm_04_08_gprs.h:16
union osmo_sub_auth_data::@37 u
@ BSS_MAP_MSG_RESET_CIRCUIT
Definition: gsm_08_08.h:101
@ GSM0808_SC_CFG_DEFAULT_FR_AMR_WB
Definition: gsm_08_08.h:501
#define A5_R1_MASK
Definition: a5.c:110
#define GSM0480_CTYPE_REJECT
Definition: gsm_04_80.h:19
@ GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER
Definition: gsm_04_08.h:1783
Definition: gsm23003.h:35
@ NM_MT_REINIT
Definition: gsm_12_21.h:172
static void lapd_stop_t200(struct lapd_datalink *dl)
Definition: lapd_core.c:218
@ BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCK
Definition: gsm_08_08.h:116
LAPDm message context.
Definition: lapdm.h:19
lapdm_mode
LAPDm mode/role.
Definition: lapdm.h:11
@ GSM_CAUSE_COND_IE_ERR
Definition: gsm_04_08_gprs.h:258
uint8_t cause
generic cause value
Definition: lapd_core.h:48
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:1290
@ GSM411_CP_CAUSE_INV_TRANS_ID
Definition: gsm_04_11.h:42
@ IPAC_IDTAG_UNIT
Definition: ipaccess.h:63
struct gsm0808_speech_codec codec[SPEECH_CODEC_MAXLEN]
Definition: gsm_08_08.h:509
#define GSM411_SM_RL_REPORT_REQ
Definition: gsm0411_smr.h:13
uint8_t s
Definition: gsm_08_58.h:13
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
static const uint8_t tch_afs_6_7_term_state[]
Definition: gsm0503_conv.c:475
#define A5_R1_LEN
Definition: a5.c:105
#define os_free(x)
Definition: common.h:16
@ RSL_MT_CHAN_CONF
Definition: gsm_08_58.h:111
static void lapd_start_t203(struct lapd_datalink *dl)
Definition: lapd_core.c:210
@ GSM0808_IE_CURRENT_CHANNEL_TYPE_1
Definition: gsm_08_08.h:209
static int gsm411_rl_report_req(struct gsm411_smr_inst *inst, struct msgb *msg)
Definition: gsm0411_smr.c:229
#define LAPDm_ADDR(lpd, sapi, cr)
Definition: lapdm.c:58
enum CELL_IDENT id_discr
Definition: gsm0808_utils.h:55
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 msgb
Definition: tlv.h:312
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
@ PRIM_DL_DATA
DL-DATA.
Definition: lapd_core.h:20
static __attribute__((constructor))
Definition: gprs_gea.c:48
@ GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT
Definition: gsm_08_08.h:344
@ IPAC_MSGT_ID_GET
Definition: ipaccess.h:46
#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:197
#define GSM48_IE_FACILITY
Definition: gsm_04_08.h:1557
@ NM_ATT_CCCH_L_I_P
Definition: gsm_12_21.h:330
@ GSM0808_CHAN_SIGN
Definition: gsm_08_08.h:391
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:1416
#define GSM48_MT_RR_CDMA2K_CLSM_CHG
Definition: gsm_04_08.h:1392
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:48
@ GMM_CAUSE_SYNC_FAIL
Definition: gsm_04_08_gprs.h:214
uint8_t w5_hi
Definition: gsm_04_08.h:275
static int send_rslms_rll_l3_ui(struct lapdm_msg_ctx *mctx, struct msgb *msg)
Definition: lapdm.c:385
#define GSM48_MT_RR_NOTIF_RESP
Definition: gsm_04_08.h:1389
#define GSM48_IE_SS_VERS
Definition: gsm_04_08.h:1574
#define GSM48_MT_RR_SYSINFO_9
Definition: gsm_04_08.h:1410
#define GSM340_TP_VPF_NONE
Definition: gsm_04_11.h:133
#define GSM411_MT_RP_ERROR_MO
Definition: gsm_04_11.h:56
@ 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
uint8_t w9
Definition: gsm_04_08.h:135
@ OSMO_AUTH_TYPE_UMTS
Definition: auth.h:19
uint8_t perm_algo[ENCRY_INFO_PERM_ALGO_MAXLEN]
Definition: gsm_08_08.h:526
@ GSM0808_CAUSE_DIRECTED_RETRY
Definition: gsm_08_08.h:335
const struct value_string gsm411_rp_state_names[]
Definition: gsm0411_smr.c:495
@ GA_PDISC_RC
Definition: gsm_44_318.h:10
uint8_t rx_lev
Definition: meas_rep.h:10
@ BSS_MAP_MSG_HANDOVER_COMPLETE
Definition: gsm_08_08.h:62
abis_nm_severity
Perceived Severity (Section: 9.4.63)
Definition: gsm_12_21.h:579
#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
@ 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:1168
uint8_t t3_low
Definition: gsm_04_08.h:650
@ IPAC_MSGT_PONG
Definition: ipaccess.h:45
#define GSM48_MT_CC_RECALL
Definition: gsm_04_08.h:1477
static void lapd_dl_flush_send(struct lapd_datalink *dl)
Definition: lapd_core.c:146
@ BSS_MAP_MSG_ASSIGMENT_RQST
Definition: gsm_08_08.h:52
#define GSM48_MT_MM_INFO
Definition: gsm_04_08.h:1465
@ BSS_MAP_MSG_UPLINK_SEIZED_CMD
Definition: gsm_08_08.h:149
@ BSS_MAP_MSG_HANDOVER_REQUIRED
Definition: gsm_08_08.h:59
@ BSS_MAP_MSG_LCLS_NOTIFICATION
Definition: gsm_08_08.h:157
#define GSM48_IE_CLIR_SUPP
Definition: gsm_04_08.h:1576
@ 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:49
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:351
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:892
#define L2DOWNSLLEN
Definition: lapd_core.c:2206
uint8_t w25
Definition: gsm_04_08.h:383
@ GSM0808_CAUSE_INCORRECT_VALUE
Definition: gsm_08_08.h:377
static int lapd_rx_i(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1494
#define GSM_MI_TYPE_IMSI
Definition: gsm_04_08.h:1539
static const int tch_ahs_5_9_puncture[]
Definition: gsm0503_conv.c:981
@ GA_MT_CSR_CLEAR_REQ
Definition: gsm_44_318.h:43
@ BTS_FEAT_SPEECH_F_V1
Definition: bts_features.h:21
@ GSM0808_LCLS_STS_NOT_YET_LS
Definition: gsm_08_08.h:566
const char * name
Definition: gsm0411_smr.c:432
int gsm411_smr_recv(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)
Definition: gsm0411_smr.c:464
int freeze_ptmsi
Definition: gsup.h:192
uint8_t w4_lo
Definition: gsm_04_08.h:126
#define GSM48_MT_RR_SYSINFO_16
Definition: gsm_04_08.h:1413
struct gsm341_ms_message::@16 page
#define GSM414_MT_CLOSE_TCH_LOOP_ACK
Definition: gsm_04_14.h:22
@ OSMO_GSUP_MSGT_PROC_SS_ERROR
Definition: gsup.h:122
result of the TLV parser
Definition: tlv.h:424
uint8_t mi[0]
Definition: gsm_04_08.h:717
Definition: gsm0808.h:134
struct gsm48_chan_desc chan_desc
Definition: gsm_04_08.h:632
#define GSM48_MT_GMM_RA_UPD_ACK
Definition: gsm_04_08_gprs.h:20
void _kasumi_kgcore(uint8_t CA, uint8_t cb, uint32_t cc, uint8_t cd, const uint8_t *ck, uint8_t *co, uint16_t cl)
Implementation of the KGCORE algorithm (used by A5/3, A5/4, GEA3, GEA4 and ECSD)
Definition: kasumi.c:163
static int gsm411_tx_cp_error(struct gsm411_smc_inst *inst, uint8_t cause)
Definition: gsm0411_smc.c:145
@ GSM0808_IE_PERIODICITY
Definition: gsm_08_08.h:172
const char abis_nm_ipa_magic[13]
Definition: abis_nm.c:40
@ NM_ATT_SOURCE
Definition: gsm_12_21.h:367
Definition: gsm_04_08.h:823
uint8_t perm_spch[CH_TYPE_PERM_SPCH_MAXLEN]
Definition: gsm_08_08.h:518
@ RSL_MT_UNIT_DATA_IND
Definition: gsm_08_58.h:97
static unsigned int gsm0502_get_paging_group(uint64_t imsi, unsigned int bs_cc_chans, int n_pag_blocks)
Definition: gsm0502.h:30
const char * gsm48_rr_msg_name(uint8_t msgtype)
return string representation of RR Message Type
Definition: gsm48.c:391
@ GSM0808_IE_A_IF_SEL_FOR_RESET
Definition: gsm_08_08.h:276
struct mdl_error_ind_param error_ind
Definition: lapd_core.h:60
@ BSS_MAP_MSG_VGCS_VBS_SETUP
Definition: gsm_08_08.h:136
uint16_t cause
Definition: gsm0808.h:158
#define GSM48_PDISC_LOC
Definition: gsm_04_08.h:1248
uint16_t id_list_lac[CELL_ID_LIST_LAC_MAXLEN]
Definition: gsm_08_08.h:541
@ NM_MT_SET_CHAN_ATTR_NACK
Definition: gsm_12_21.h:135
uint8_t w14_lo
Definition: gsm_04_08.h:144
@ NM_ATT_MANUF_THRESH
Definition: gsm_12_21.h:348
#define GSM411_MNSMS_ERROR_IND
Definition: gsm0411_smc.h:26
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:1152
@ NM_EVT_QOS_FAIL
Definition: gsm_12_21.h:572
struct lapdm_channel * lapdm_ch
pointer to lapdm_channel of which we're part
Definition: lapdm.h:64
@ NM_SEVER_MINOR
Definition: gsm_12_21.h:583
#define GSM_MAX_SSVERSION
Definition: mncc.h:8
#define GSM414_MT_DEACT_EMMI_CMD
Definition: gsm_04_14.h:58
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
permanent (secret) subscriber auth data
Definition: auth.h:39
#define GSM48_MT_RR_EXT_MEAS_REP_ORD
Definition: gsm_04_08.h:1428
#define GSM48_MT_RR_SYSINFO_7
Definition: gsm_04_08.h:1403
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:142
@ LAPD_STATE_MF_EST
Definition: lapd_core.h:80
@ NM_NACK_RES_NOTAVAIL
Definition: gsm_12_21.h:617
#define GSM48_IE_CONN_SUB
Definition: gsm_04_08.h:1564
@ GSM0808_IE_VGCS_TALKER_MODE
Definition: gsm_08_08.h:258
#define A5_R1_TAPS
Definition: a5.c:115
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 msgb
Definition: tlv.h:304
lapd_state
LAPD state (Figure B.2/Q.921)
Definition: lapd_core.h:72
uint32_t states
Definition: lapd_core.c:2151
@ NM_ATT_IPACC_IP_GW_CFG
Definition: gsm_12_21.h:424
static void plmn_name(char *buf, size_t buflen, const struct osmo_plmn_id *plmn)
Definition: gsm23003.c:97
static unsigned long gsm340_vp_default(void)
Definition: gsm0411_utils.c:142
#define ENOTSUP
Definition: a5.c:44
#define GSM48_IE_KPD_FACILITY
Definition: gsm_04_08.h:1561
@ NM_CHANC_SDCCH_CBCH
Definition: gsm_12_21.h:557
uint8_t ra
Definition: gsm_04_08.h:632
@ GSM0808_LCLS_CFG_BOTH_WAY
Definition: gsm_08_08.h:547
uint8_t ussd_data_dcs
Definition: gsm0480.h:89
const char * osmo_mcc_name(uint16_t mcc)
Return MCC string as standardized 3-digit with leading zeros.
Definition: gsm23003.c:78
uint32_t tlli
Definition: gsm_04_08.h:708
@ NM_NACK_TRXNR_UNKN
Definition: gsm_12_21.h:607
@ GA_MT_CSR_CHAN_MODE_MOD_ACK
Definition: gsm_44_318.h:39
@ NM_ATT_MDROP_LINK
Definition: gsm_12_21.h:351
@ GSM0808_IE_APDU
Definition: gsm_08_08.h:230
static const struct value_string mi_type_names[]
Definition: gsm48.c:421
struct msgb * gsm0808_create_dtap(struct msgb *msg, uint8_t link_id)
Create BSSMAP DTAP message.
Definition: gsm0808.c:864
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:404
@ NM_ATT_IPACC_UNIT_ID
Definition: gsm_12_21.h:430
uint8_t w18_lo
Definition: gsm_04_08.h:375
@ GA_MT_CSR_RELEASE
Definition: gsm_44_318.h:41
uint8_t w23
Definition: gsm_04_08.h:381
#define LAPDm_CTRL_is_I(ctrl)
Definition: lapdm.c:70
#define TLVP_VAL(x, y)
Definition: tlv.h:444
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:628
const char * gsm48_cc_state_name(uint8_t state)
return string representation of CC State
Definition: gsm48.c:235
@ GSM411_RP_CAUSE_MSGTYPE_NOTEXIST
Definition: gsm_04_11.h:89
#define GSM48_MT_RR_NOTIF_FACCH
Definition: gsm_04_08.h:1388
@ 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:461
#define GSM411_MT_CP_ERROR
Definition: gsm_04_11.h:31
@ OSMO_GSUP_KC_IE
Definition: gsup.h:77
#define GSM411_MNSMS_DATA_IND
Definition: gsm0411_smc.h:23
struct lapdm_entity * entity
LAPDm entity we are part of.
Definition: lapdm.h:33
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:788
#define GSM48_IE_F_CH_SEQ_AFTER
Definition: gsm_04_08.h:1621
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
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:136
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:1406
Definition: gsm_04_08.h:1988
@ NM_MT_STOP_TEST_ACK
Definition: gsm_12_21.h:145
uint8_t w9_lo
Definition: gsm_04_08.h:283
#define GSM48_MT_MM_CM_SERV_REJ
Definition: gsm_04_08.h:1456
Instead of this, use either struct gsm0808_cell_id or gsm0808_cell_id_list2.
Definition: gsm0808_utils.h:39
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:571
@ OSMO_GSUP_MSGT_INSERT_DATA_ERROR
Definition: gsup.h:110
int nr_data_bits
Definition: mncc.h:24
struct lapdm_datalink * dl
Definition: lapdm.h:20
uint32_t session_id
Unique session identifier and origination flag.
Definition: gsup.h:211
@ CELL_IDENT_UTRAN_PLMN_LAC_RNC
Definition: gsm_08_08.h:24
static int lapd_send_i(struct lapd_msg_ctx *lctx, int line)
Definition: lapd_core.c:1825
uint8_t orig_arfcn_mid
Definition: gsm_04_08.h:404
uint8_t w5
Definition: gsm_04_08.h:360
enum gsm_band gsm_band_parse(const char *mhz)
Parse string name of a GSM band.
Definition: gsm_utils.c:679
@ GMM_CAUSE_LA_NOTALLOWED
Definition: gsm_04_08_gprs.h:207
@ OSMO_GSUP_SESSION_STATE_CONTINUE
Communication of an existing session.
Definition: gsup.h:152
#define GSM48_MT_GMM_ATTACH_COMPL
Definition: gsm_04_08_gprs.h:14
struct gsm0808_cell_id_list2 cil
Definition: gsm0808.h:112
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:995
@ BSS_MAP_MSG_VGCS_VBS_SETUP_ACK
Definition: gsm_08_08.h:137
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:1238
@ NM_EVT_PROC_FAIL
Definition: gsm_12_21.h:573
int(* lapdm_cb_t)(struct msgb *msg, struct lapdm_entity *le, void *ctx)
Definition: lapdm.h:43
@ TLLI_FOREIGN
Definition: gsm_utils.h:187
@ 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
@ OSMO_GSUP_AUTN_IE
Definition: gsup.h:81
uint8_t w14
Definition: gsm_04_08.h:370
enum gsm48_bcap_interm_rate interm_rate
Definition: mncc.h:27
#define GSM48_MT_RR_ADD_ASS
Definition: gsm_04_08.h:1350
#define OSMO_GSUP_PDP_TYPE_SIZE
Definition: gsup.h:57
@ NM_MT_FAILURE_EVENT_REP
Definition: gsm_12_21.h:149
@ RSL_MT_EST_IND
Definition: gsm_08_58.h:92
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:912
sms_alphabet
Definition: gsm_04_11.h:112
#define GSM48_MT_RR_STATUS
Definition: gsm_04_08.h:1421