laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-hlr/+/37780?usp=email )
Change subject: subscriber-create-on-demand: add mode for MSISDN=IMSI
......................................................................
subscriber-create-on-demand: add mode for MSISDN=IMSI
In may be desirable for some users to assign deterministic MSISDNs
when subscriber-create-on-demand is enabled. This can be achieved
by assigning MSISDN=IMSI. This commit adds a new mode for that.
Change-Id: I3470492f5e46de7246d9a74e80c37f80f455d851
---
M include/osmocom/hlr/hlr.h
M src/hlr.c
M src/hlr_vty.c
M tests/test_nodes.vty
M tests/test_subscr_create_on_demand.vty
5 files changed, 20 insertions(+), 2 deletions(-)
Approvals:
osmith: Looks good to me, but someone else must approve
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/include/osmocom/hlr/hlr.h b/include/osmocom/hlr/hlr.h
index 4bdb5b0..a7cf61d 100644
--- a/include/osmocom/hlr/hlr.h
+++ b/include/osmocom/hlr/hlr.h
@@ -43,6 +43,7 @@
SUBSCR_COD_MODE_DISABLED = 0,
SUBSCR_COD_MODE_NO_MSISDN,
SUBSCR_COD_MODE_RAND_MSISDN,
+ SUBSCR_COD_MODE_MSISDN_FROM_IMSI,
};
struct hlr {
diff --git a/src/hlr.c b/src/hlr.c
index 44c96b5..6f444aa 100644
--- a/src/hlr.c
+++ b/src/hlr.c
@@ -209,6 +209,9 @@
return -1;
switch (g_hlr->subscr_create_on_demand.mode) {
+ case SUBSCR_COD_MODE_MSISDN_FROM_IMSI:
+ OSMO_STRLCPY_ARRAY(msisdn, imsi);
+ break;
case SUBSCR_COD_MODE_RAND_MSISDN:
if (generate_new_msisdn(msisdn, imsi,
g_hlr->subscr_create_on_demand.rand_msisdn_len) != 0)
return -1;
diff --git a/src/hlr_vty.c b/src/hlr_vty.c
index ae1e13e..2c7cd5b 100644
--- a/src/hlr_vty.c
+++ b/src/hlr_vty.c
@@ -288,6 +288,9 @@
const char *flags_str;
switch (g_hlr->subscr_create_on_demand.mode) {
+ case SUBSCR_COD_MODE_MSISDN_FROM_IMSI:
+ vty_out(vty, " subscriber-create-on-demand msisdn-from-imsi");
+ break;
case SUBSCR_COD_MODE_RAND_MSISDN:
vty_out(vty, " subscriber-create-on-demand %u",
g_hlr->subscr_create_on_demand.rand_msisdn_len);
@@ -810,9 +813,10 @@
}
DEFUN(cfg_subscr_create_on_demand, cfg_subscr_create_on_demand_cmd,
- "subscriber-create-on-demand (no-msisdn|<3-15>) (none|cs|ps|cs+ps)",
+ "subscriber-create-on-demand (no-msisdn|msisdn-from-imsi|<3-15>)
(none|cs|ps|cs+ps)",
"Make a new record when a subscriber is first seen.\n"
"Do not automatically assign MSISDN.\n"
+ "Assign MSISDN identical to subscriber's IMSI.\n"
"Length of an automatically assigned MSISDN.\n"
"Do not allow any NAM (Network Access Mode) by default.\n"
"Allow access to circuit switched NAM by default.\n"
@@ -825,6 +829,8 @@
if (strcmp(argv[0], "no-msisdn") == 0) {
mode = SUBSCR_COD_MODE_NO_MSISDN;
+ } else if (strcmp(argv[0], "msisdn-from-imsi") == 0) {
+ mode = SUBSCR_COD_MODE_MSISDN_FROM_IMSI;
} else { /* random MSISDN */
mode = SUBSCR_COD_MODE_RAND_MSISDN;
rand_msisdn_len = atoi(argv[0]);
diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty
index 02a5552..6875416 100644
--- a/tests/test_nodes.vty
+++ b/tests/test_nodes.vty
@@ -73,7 +73,7 @@
reject-cause (not-found|no-proxy)
(imsi-unknown|illegal-ms|plmn-not-allowed|la-not-allowed|roaming-not-allowed|no-suitable-cell-in-la|net-fail|congestion|auth-unacceptable|proto-error-unspec)
store-imei
no store-imei
- subscriber-create-on-demand (no-msisdn|<3-15>) (none|cs|ps|cs+ps)
+ subscriber-create-on-demand (no-msisdn|msisdn-from-imsi|<3-15>)
(none|cs|ps|cs+ps)
no subscriber-create-on-demand
OsmoHLR(config-hlr)# gsup
diff --git a/tests/test_subscr_create_on_demand.vty
b/tests/test_subscr_create_on_demand.vty
index fb587ae..76c6769 100644
--- a/tests/test_subscr_create_on_demand.vty
+++ b/tests/test_subscr_create_on_demand.vty
@@ -10,6 +10,14 @@
subscriber-create-on-demand no-msisdn none
...
+OsmoHLR(config-hlr)# subscriber-create-on-demand msisdn-from-imsi cs+ps
+OsmoHLR(config-hlr)# show running-config
+...
+hlr
+...
+ subscriber-create-on-demand msisdn-from-imsi cs+ps
+...
+
OsmoHLR(config-hlr)# subscriber-create-on-demand 3 none
OsmoHLR(config-hlr)# show running-config
...
--
To view, visit
https://gerrit.osmocom.org/c/osmo-hlr/+/37780?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-hlr
Gerrit-Branch: master
Gerrit-Change-Id: I3470492f5e46de7246d9a74e80c37f80f455d851
Gerrit-Change-Number: 37780
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>