bsc: handover: actually send Handover Detect
Until now, the test went from RR Handover Command directly to RR Handover
Complete, and osmo-bsc didn't mind it. However, the normal handover procedure
requires an RSL Handover Detect to be sent in-between those. Send that.
Change-Id: I6e54edcc3a99e116d852eca8e48c7a5bc685e832
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 0846762..2042979 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -877,6 +877,10 @@
* before performing a hand-over */
f_rslem_resume(RSL1_PROC);
+ /* send handover detect */
+ RSL1.send(ts_RSL_HANDO_DET(new_chan_nr));
+ f_sleep(0.3);
+
/* send handover complete over the new channel */
var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_HandoverComplete('00'O));
RSL1.send(ts_RSL_DATA_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)),
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 3804d40..e1f6af0 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -1309,6 +1309,15 @@
}
}
+ /* 8.4.7 BTS -> BSC */
+ template (value) RSL_Message ts_RSL_HANDO_DET(template (value) RslChannelNr chan_nr) := {
+ msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+ msg_type := RSL_MT_HANDO_DET,
+ ies := {
+ t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr})
+ }
+ }
+
/* COMMON CHANNEL MANAGEMENT MESSAGES */