fix new configuration (#225)
This commit is contained in:
parent
3a5930650e
commit
b9f7e9c409
|
@ -1078,8 +1078,8 @@ int mme_context_parse_config()
|
|||
do {
|
||||
mme_vlr_t *vlr = NULL;
|
||||
plmn_id_t plmn_id;
|
||||
const char *mcc = NULL, *mnc = NULL;
|
||||
const char *lai_mcc = NULL, *lai_mnc = NULL;
|
||||
const char *tai_mcc = NULL, *tai_mnc = NULL;
|
||||
const char *lai_mcc = NULL, *lai_mnc = NULL;
|
||||
const char *tac = NULL, *lac = NULL;
|
||||
ogs_sockaddr_t *addr = NULL;
|
||||
int family = AF_UNSPEC;
|
||||
|
@ -1146,85 +1146,89 @@ int mme_context_parse_config()
|
|||
self.sgsap_port = port;
|
||||
}
|
||||
} else if (!strcmp(sgsap_key, "tai")) {
|
||||
ogs_yaml_iter_t tai_iter;
|
||||
ogs_yaml_iter_recurse(&sgsap_iter, &tai_iter);
|
||||
|
||||
while (ogs_yaml_iter_next(&tai_iter)) {
|
||||
const char *tai_id_key =
|
||||
ogs_yaml_iter_key(&tai_iter);
|
||||
ogs_assert(tai_id_key);
|
||||
if(!strcmp(tai_id_key, "plmn_id")) {
|
||||
ogs_yaml_iter_t plmn_id_iter;
|
||||
ogs_yaml_iter_recurse(&tai_iter,
|
||||
&plmn_id_iter);
|
||||
|
||||
while (ogs_yaml_iter_next(&plmn_id_iter)) {
|
||||
const char *plmn_id_key =
|
||||
ogs_yaml_iter_key(&plmn_id_iter);
|
||||
ogs_assert(plmn_id_key);
|
||||
if (!strcmp(plmn_id_key, "mcc")) {
|
||||
mcc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
lai_mcc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key, "mnc")) {
|
||||
mnc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
lai_mnc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key, "tac")) {
|
||||
tac =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
plmn_id_key);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} else if (!strcmp(sgsap_key, "lai")) {
|
||||
ogs_yaml_iter_t tai_iter;
|
||||
ogs_yaml_iter_recurse(&sgsap_iter, &tai_iter);
|
||||
|
||||
|
||||
while (ogs_yaml_iter_next(&tai_iter)) {
|
||||
const char *tai_id_key =
|
||||
ogs_yaml_iter_key(&tai_iter);
|
||||
ogs_yaml_iter_key(&tai_iter);
|
||||
ogs_assert(tai_id_key);
|
||||
if(!strcmp(tai_id_key, "plmn_id")) {
|
||||
ogs_yaml_iter_t plmn_id_iter;
|
||||
ogs_yaml_iter_recurse(&tai_iter,
|
||||
|
||||
if (!strcmp(tai_id_key, "plmn_id")) {
|
||||
ogs_yaml_iter_t plmn_id_iter;
|
||||
ogs_yaml_iter_recurse(&tai_iter,
|
||||
&plmn_id_iter);
|
||||
|
||||
while (ogs_yaml_iter_next(&plmn_id_iter)) {
|
||||
const char *plmn_id_key =
|
||||
ogs_yaml_iter_key(&plmn_id_iter);
|
||||
ogs_assert(plmn_id_key);
|
||||
if (!strcmp(plmn_id_key, "mcc")) {
|
||||
lai_mcc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key, "mnc")) {
|
||||
lai_mnc =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key, "lac")) {
|
||||
lac =
|
||||
ogs_yaml_iter_value(&plmn_id_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
plmn_id_key);
|
||||
while (ogs_yaml_iter_next(
|
||||
&plmn_id_iter)) {
|
||||
const char *plmn_id_key =
|
||||
ogs_yaml_iter_key(&plmn_id_iter);
|
||||
ogs_assert(plmn_id_key);
|
||||
|
||||
if (!strcmp(plmn_id_key, "mcc")) {
|
||||
tai_mcc = ogs_yaml_iter_value(
|
||||
&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key,
|
||||
"mnc")) {
|
||||
tai_mnc = ogs_yaml_iter_value(
|
||||
&plmn_id_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
plmn_id_key);
|
||||
}
|
||||
} else if (!strcmp(tai_id_key, "tac")) {
|
||||
tac = ogs_yaml_iter_value(&tai_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
tai_id_key);
|
||||
}
|
||||
} else if (!strcmp(sgsap_key, "lai")) {
|
||||
ogs_yaml_iter_t lai_iter;
|
||||
ogs_yaml_iter_recurse(&sgsap_iter, &lai_iter);
|
||||
|
||||
}
|
||||
while (ogs_yaml_iter_next(&lai_iter)) {
|
||||
const char *lai_id_key =
|
||||
ogs_yaml_iter_key(&lai_iter);
|
||||
ogs_assert(lai_id_key);
|
||||
|
||||
if (!strcmp(lai_id_key, "plmn_id")) {
|
||||
ogs_yaml_iter_t plmn_id_iter;
|
||||
ogs_yaml_iter_recurse(&lai_iter,
|
||||
&plmn_id_iter);
|
||||
|
||||
while (ogs_yaml_iter_next(
|
||||
&plmn_id_iter)) {
|
||||
const char *plmn_id_key =
|
||||
ogs_yaml_iter_key(&plmn_id_iter);
|
||||
ogs_assert(plmn_id_key);
|
||||
|
||||
if (!strcmp(plmn_id_key, "mcc")) {
|
||||
lai_mcc = ogs_yaml_iter_value(
|
||||
&plmn_id_iter);
|
||||
} else if (!strcmp(plmn_id_key,
|
||||
"mnc")) {
|
||||
lai_mnc = ogs_yaml_iter_value(
|
||||
&plmn_id_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
plmn_id_key);
|
||||
}
|
||||
} else if (!strcmp(lai_id_key, "lac")) {
|
||||
lac = ogs_yaml_iter_value(&lai_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`",
|
||||
lai_id_key);
|
||||
}
|
||||
} else
|
||||
ogs_warn("unknown key `%s`", sgsap_key);
|
||||
}
|
||||
|
||||
if (!mcc || !mnc || !tac || !lac) {
|
||||
if (!tai_mcc || !tai_mnc || !tac ||
|
||||
!lai_mcc || !lai_mnc || !lac) {
|
||||
ogs_error("sgsap.tai configuration failed"
|
||||
" - (mcc:%p, mnc:%p, tac:%p, lac:%p)",
|
||||
mcc, mnc, tac, lac);
|
||||
" - (tai_mcc:%p, tai_mnc:%p, tac:%p)"
|
||||
" - (lai_mcc:%p, lai_mnc:%p, lac:%p)",
|
||||
tai_mcc, tai_mnc, tac, lai_mcc, lai_mnc, lac);
|
||||
return OGS_ERROR;
|
||||
}
|
||||
|
||||
|
@ -1244,12 +1248,12 @@ int mme_context_parse_config()
|
|||
ogs_assert(vlr);
|
||||
|
||||
plmn_id_build(&plmn_id,
|
||||
atoi(mcc), atoi(mnc), strlen(mnc));
|
||||
atoi(tai_mcc), atoi(tai_mnc), strlen(tai_mnc));
|
||||
nas_from_plmn_id(&vlr->tai.nas_plmn_id, &plmn_id);
|
||||
vlr->tai.tac = atoi(tac);
|
||||
|
||||
plmn_id_build(&plmn_id,
|
||||
atoi(lai_mcc), atoi(lai_mnc), strlen(lai_mnc));
|
||||
|
||||
plmn_id_build(&plmn_id,
|
||||
atoi(tai_mcc), atoi(tai_mnc), strlen(tai_mnc));
|
||||
nas_from_plmn_id(&vlr->lai.nas_plmn_id, &plmn_id);
|
||||
vlr->lai.lac = atoi(lac);
|
||||
} while (ogs_yaml_iter_type(&sgsap_array) ==
|
||||
|
|
|
@ -130,34 +130,54 @@ mme:
|
|||
# sgsap:
|
||||
# addr: 127.0.0.2
|
||||
# port: 29119
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4130
|
||||
# lac: 43690
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4130
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43690
|
||||
#
|
||||
# o Multiple MSC/VLR
|
||||
# sgsap:
|
||||
# - addr: 127.0.0.2
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4131
|
||||
# lac: 43692
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4131
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43691
|
||||
# - addr
|
||||
# - 127.0.0.3
|
||||
# - fe80::2%lo0
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4132
|
||||
# lac: 43692
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
# - name: msc.open5gs.org
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4133
|
||||
# lac: 43693
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4133
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43693
|
||||
#
|
||||
sgsap:
|
||||
|
||||
|
|
|
@ -31,11 +31,16 @@ mme:
|
|||
addr: 127.0.0.1
|
||||
sgsap:
|
||||
addr: 127.0.0.2
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 7
|
||||
lac: 2342
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 7
|
||||
lai:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
lac: 2342
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
|
|
Loading…
Reference in New Issue