pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-hnbgw/+/38581?usp=email )


Change subject: Fix SCCP RLSD not sent upon rx RUA Disconnect due to error 
condition
......................................................................

Fix SCCP RLSD not sent upon rx RUA Disconnect due to error condition

Scenario: HNB tears down the RUA/Iu conn by first sending
RUA_DATA[RANAP IuReleaseReq], followed shortly by a RUA Disconnect with no
RANAP and Cause!=Normal. HNBGW should release the SCCP connection through
RLSD since it's impossible to terminate the Iu connection in a normal
condition.

Validated with TTCN-3 HNBGW_Tests.TC_cs_iu_release_req_rua_disconnect.

Related: osmo-ttcn3-hacks.git Change-Id 
I6782920c4a86d3311eb54239ab13a18e393c1ec0
Related: SYS#6602
Change-Id: I1b7f72034eaf40bfa60d552d434847467ac4e97a
---
M src/osmo-hnbgw/context_map_sccp.c
1 file changed, 15 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/81/38581/1

diff --git a/src/osmo-hnbgw/context_map_sccp.c 
b/src/osmo-hnbgw/context_map_sccp.c
index 511577c..881d5ce 100644
--- a/src/osmo-hnbgw/context_map_sccp.c
+++ b/src/osmo-hnbgw/context_map_sccp.c
@@ -364,11 +364,21 @@
                return;

        case MAP_SCCP_EV_RAN_DISC:
-               /* RUA has disconnected, and usually has sent an 
Iu-ReleaseComplete along with its RUA Disconnect. On
-                * SCCP, the Iu-ReleaseComplete should still be forwarded as 
N-Data (SCCP Data Form 1), and we will
-                * expect the CN to send an SCCP RLSD soon. */
-               map_sccp_fsm_state_chg(MAP_SCCP_ST_WAIT_RLSD);
-               tx_sccp_df1(fi, ranap_msg);
+               /* 3GPP TS 25.468 9.1.5: RUA has disconnected.
+                * - Under normal conditions (cause=Normal) the RUA Disconnect 
contains a RANAP Iu-ReleaseComplete.
+                *   On SCCP, the Iu-ReleaseComplete should still be forwarded 
as N-Data SCCP Data Form 1),
+                *   and we will expect the CN to send an SCCP RLSD soon.
+                * - Under error conditions, cause!=Normal and the's no RANAP 
message.
+                *   In that case, we need to tear down the associated SCCP 
link towards CN,
+                *   which in turn will tear down the upper layer Iu conn.
+                */
+               if (msg_has_l2_data(ranap_msg)) {
+                       map_sccp_fsm_state_chg(MAP_SCCP_ST_WAIT_RLSD);
+                       tx_sccp_df1(fi, ranap_msg);
+               } else {
+                       tx_sccp_rlsd(fi);
+                       map_sccp_fsm_state_chg(MAP_SCCP_ST_DISCONNECTED);
+               }
                return;

        case MAP_SCCP_EV_RAN_LINK_LOST:

--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/38581?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I1b7f72034eaf40bfa60d552d434847467ac4e97a
Gerrit-Change-Number: 38581
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to