laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-bsc/+/23761 )
Change subject: SRVCC: Forward Last EUTRAN PLMN Id in Handover Required
......................................................................
SRVCC: Forward Last EUTRAN PLMN Id in Handover Required
"""
The old BSS shall inform the new BSS of the MS's last used E-UTRAN PLMN
in the "Last used E-UTRAN PLMN ID" information element included in the
"Old BSS to New BSS information" Information Element if this information
is present.
"""
Depends: libosmocore.git Change-Id I6280ce1abc283f1491bc6f391b2dd952df33a16b
Related: SYS#5337
Change-Id: I6cf54f9a16d598f98dc56b25f0fef56225a25a28
---
M TODO-RELEASE
M src/osmo-bsc/osmo_bsc_bssap.c
2 files changed, 12 insertions(+), 4 deletions(-)
Approvals:
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/TODO-RELEASE b/TODO-RELEASE
index de9e62c..d0e3ff0 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -9,3 +9,4 @@
#library what description / commit summary line
libosmocore >1.5.1 needs osmo_bts_features_name(),
osmo_bts_features_desc()
libosmogsm >1.5.1 enum entry
GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID
+libosmogsm >1.5.1 introduced struct needed
gsm0808_old_bss_to_new_bss_info->last_eutran_plmn_id
diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c
index fc1484e..c3716ce 100644
--- a/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/src/osmo-bsc/osmo_bsc_bssap.c
@@ -1358,6 +1358,7 @@
{
int rc;
struct msgb *msg;
+ struct gsm_subscriber_connection *conn = lchan->conn;
struct gsm0808_handover_required params = {
.cause = GSM0808_CAUSE_BETTER_CELL,
.cil = *target_cells,
@@ -1365,6 +1366,12 @@
.current_channel_type_1 =
gsm0808_current_channel_type_1(lchan->type),
};
+ if (conn->last_eutran_plmn_valid) {
+ params.old_bss_to_new_bss_info_present = true;
+ params.old_bss_to_new_bss_info.last_eutran_plmn_id_present =
true;
+ params.old_bss_to_new_bss_info.last_eutran_plmn_id =
conn->last_eutran_plmn;
+ }
+
switch (lchan->type) {
case GSM_LCHAN_TCH_F:
case GSM_LCHAN_TCH_H:
@@ -1383,14 +1390,14 @@
msg = gsm0808_create_handover_required(¶ms);
if (!msg) {
- LOG_HO(lchan->conn, LOGL_ERROR, "Cannot compose BSSMAP Handover
Required message\n");
+ LOG_HO(conn, LOGL_ERROR, "Cannot compose BSSMAP Handover
Required message\n");
return -EINVAL;
}
-
rate_ctr_inc(&lchan->conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]);
- rc = gscon_sigtran_send(lchan->conn, msg);
+
rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]);
+ rc = gscon_sigtran_send(conn, msg);
if (rc) {
- LOG_HO(lchan->conn, LOGL_ERROR, "Cannot send BSSMAP Handover
Required message\n");
+ LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Required
message\n");
return rc;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23761
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I6cf54f9a16d598f98dc56b25f0fef56225a25a28
Gerrit-Change-Number: 23761
Gerrit-PatchSet: 9
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <[email protected]>
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-MessageType: merged