diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-06-15 22:18:43 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-06-18 17:54:33 +0200 |
commit | 378a49ce604404cc93cedd216053129ed4e80087 (patch) | |
tree | 157fa78a1d2c31ee3c66dd9378e0351f120d52f0 | |
parent | 92d4842022307b60cd215318596b68b40e708e57 (diff) |
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
-rw-r--r-- | bsc/MSC_ConnectionHandler.ttcn | 4 | ||||
-rw-r--r-- | library/RSL_Types.ttcn | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 08467628..2042979d 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -877,6 +877,10 @@ altstep as_handover(inout HandoverState st) runs on MSC_ConnHdlr { * 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 3804d403..e1f6af0e 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1309,6 +1309,15 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie } } + /* 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 */ |