pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33735 )
Change subject: trans_lcls_compose(): Set PLMN fron cell currently in use ......................................................................
trans_lcls_compose(): Set PLMN fron cell currently in use
The MS in general provides the Selected PLMN ID (IE) in the Complete Layer 3 Information message. osmo-msc handles that message in msc_a_ran_dec_from_msc_i() and stores the information of the PLMN in msc_a->via_cell. If no PLMN information is provided in the message, then at that same place the PLMN configured in the VTY is taken as an implicit default.
This patch changes trans_lcls_compose() to use the PLMN stored in msc_a->via_cell instead of the VTY configured one, meaning the PLMN provided by the MS (through the RAN in use) is used if available (otherwise the VTY-configure one is still used, as before).
With this patch the PLMN VTY config option use is relegated to a single point of use in msc_a_ran_dec_from_msc_i() where the Complete Layer 3 Information is used. As a result, it becomes clear now that the VTY config is only applied in the scenario where no PLMN is provided at that time.
Related: SYS#6360 Change-Id: Ibad0005a1d7cef64dd8fefa3e554ba99a06c3666 --- M src/libmsc/transaction.c 1 file changed, 29 insertions(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 89f77e5..3e458f1 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -153,7 +153,7 @@ lcls->gcr.node = ss7->cfg.primary_pc;
/* net id from Q.1902.3 3-5 bytes, this function gives 3 bytes exactly */ - osmo_plmn_to_bcd(lcls->gcr.net, &trans->net->plmn); + osmo_plmn_to_bcd(lcls->gcr.net, &trans->msc_a->via_cell.lai.plmn);
/* TS 29.205 Table B.2.1.9.2 Call Reference ID