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(&params);
        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

Reply via email to