blob: 15656f8a06ace519cb6a1e36412d7931a8b14945 [file] [log] [blame]
Neels Hofmeyr17518fe2017-06-20 04:35:06 +02001/*! \file gsm_23_003.h */
2
Harald Welte0996c872016-04-20 17:28:03 +02003#pragma once
4
5/* Chapter 2.2 */
6#define GSM23003_IMSI_MAX_DIGITS 15
Neels Hofmeyr9cd1e742017-10-04 03:15:47 +02007#define GSM23003_IMSI_MIN_DIGITS 6
Neels Hofmeyr0ee798a2019-04-10 19:13:19 +02008/*! The char[] buffer size to completely contain an IMSI including the optional checksum digit as well as the
9 * terminating nul character. */
10#define OSMO_IMSI_BUF_SIZE (GSM23003_IMSI_MAX_DIGITS+2)
Harald Welte0996c872016-04-20 17:28:03 +020011/* Chapter 2.4 */
12#define GSM23003_TMSI_NUM_BYTES 4
Eric Wilddda07be2019-06-17 12:19:01 +020013#define GSM23003_TMSI_SGSN_MASK 0xC0000000UL
Harald Welte0996c872016-04-20 17:28:03 +020014/* Chapter 2.5 */
15#define GSM23003_LMSI_NUM_BYTES 4
16/* Chapter 2.6 */
17#define GSM23003_TLLI_NUM_BYTES 4
18/* Chapter 2.7 */
19#define GSM23003_PTMSI_SIG_NUM_BYTES 3
20/* Chapter 2.8 */
21#define GSM23003_MME_CODE_NUM_BYTES 1
22#define GSM23003_MME_GROUP_NUM_BYTES 2
23#define GSM23003_MTMSI_NUM_BYTES 4
Oliver Smithcdac6202019-05-10 11:28:27 +020024/* Chapter 3.2 */
25#define GSM23003_MSISDN_MAX_DIGITS 15 /* ITU-T Rec. E.164 6.1 */
26#define GSM23003_MSISDN_MIN_DIGITS 1
Harald Welte0996c872016-04-20 17:28:03 +020027/* Chapter 6.2.1 */
28#define GSM23003_IMEI_TAC_NUM_DIGITS 8
29#define GSM23003_IMEI_SNR_NUM_DIGITS 6
30#define GSM23003_IMEI_NUM_DIGITS (GSM23003_IMEI_TAC_NUM_DIGITS + \
31 GSM23003_IMEI_SNR_NUM_DIGITS + 1)
32#define GSM23003_IMEISV_NUM_DIGITS (GSM23003_IMEI_TAC_NUM_DIGITS + \
33 GSM23003_IMEI_SNR_NUM_DIGITS + 2)
Oliver Smith49fb9922019-01-21 16:32:46 +010034/* IMEI without Luhn checksum */
35#define GSM23003_IMEI_NUM_DIGITS_NO_CHK (GSM23003_IMEI_TAC_NUM_DIGITS + \
36 GSM23003_IMEI_SNR_NUM_DIGITS)
Harald Weltede1da352018-10-08 22:27:04 +020037
38/* Chapter 19.2 "epc.mnc000.mcc000.3gppnetwork.org" */
39#define GSM23003_HOME_NETWORK_DOMAIN_LEN 33
40
41/* Chapter 19.4.2.4: "mmec00.mmegi0000.mme.epc.mnc000.mcc000.3gppnetwork.org" */
42#define GSM23003_MME_DOMAIN_LEN 55