mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr.git
synced 2025-11-01 20:53:46 +00:00
K is the SIM card's 128bit secret key, so the type should be VARCHAR like the other key columns. The db code already reads the column as text and parses as hex, so a VARCHAR column matches that. Change-Id: Iaa8d33e303760bd15dcb7dc8bb8b9b24bf6c8f14
71 lines
1.8 KiB
SQL
71 lines
1.8 KiB
SQL
--modelled roughly after TS 23.008 version 13.3.0
|
|
|
|
CREATE TABLE subscriber (
|
|
id INTEGER PRIMARY KEY,
|
|
-- Chapter 2.1.1.1
|
|
imsi VARCHAR(15) NOT NULL,
|
|
-- Chapter 2.1.2
|
|
msisdn VARCHAR(15),
|
|
-- Chapter 2.2.3: Most recent / current IMEI
|
|
imeisv VARCHAR,
|
|
-- Chapter 2.4.5
|
|
vlr_number VARCHAR(15),
|
|
-- Chapter 2.4.6
|
|
hlr_number VARCHAR(15),
|
|
-- Chapter 2.4.8.1
|
|
sgsn_number VARCHAR(15),
|
|
-- Chapter 2.13.10
|
|
sgsn_address VARCHAR,
|
|
-- Chapter 2.4.8.2
|
|
ggsn_number VARCHAR(15),
|
|
-- Chapter 2.4.9.2
|
|
gmlc_number VARCHAR(15),
|
|
-- Chapter 2.4.23
|
|
smsc_number VARCHAR(15),
|
|
-- Chapter 2.4.24
|
|
periodic_lu_tmr INTEGER,
|
|
-- Chapter 2.13.115
|
|
periodic_rau_tau_tmr INTEGER,
|
|
-- Chapter 2.1.1.2: network access mode
|
|
nam_cs BOOLEAN NOT NULL DEFAULT 1,
|
|
nam_ps BOOLEAN NOT NULL DEFAULT 1,
|
|
-- Chapter 2.1.8
|
|
lmsi INTEGER,
|
|
|
|
-- The below purged flags might not even be stored non-volatile,
|
|
-- refer to TS 23.012 Chapter 3.6.1.4
|
|
-- Chapter 2.7.5
|
|
ms_purged_cs BOOLEAN NOT NULL DEFAULT 0,
|
|
-- Chapter 2.7.6
|
|
ms_purged_ps BOOLEAN NOT NULL DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE subscriber_apn (
|
|
subscriber_id INTEGER, -- subscriber.id
|
|
apn VARCHAR(256) NOT NULL
|
|
);
|
|
|
|
-- Chapter 2.1.3
|
|
CREATE TABLE subscriber_multi_msisdn (
|
|
subscriber_id INTEGER, -- subscriber.id
|
|
msisdn VARCHAR(15) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE auc_2g (
|
|
subscriber_id INTEGER PRIMARY KEY, -- subscriber.id
|
|
algo_id_2g INTEGER NOT NULL,
|
|
ki VARCHAR NOT NULL
|
|
);
|
|
|
|
CREATE TABLE auc_3g (
|
|
subscriber_id INTEGER PRIMARY KEY, -- subscriber.id
|
|
algo_id_3g INTEGER NOT NULL,
|
|
k VARCHAR(32) NOT NULL,
|
|
op VARCHAR,
|
|
opc VARCHAR,
|
|
sqn INTEGER
|
|
);
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_subscr_imsi ON subscriber (imsi);
|
|
-- SELECT algo_id_2g, ki, algo_id_3g, k, op, opc, sqn FROM subscriber LEFT JOIN auc_2g ON auc_2g.subscriber_id = subscriber.id LEFT JOIN auc_3g ON auc_3g.subscriber_id = subscriber.id WHERE imsi = ?
|