From 5fec37c0d504223a11d6d157cf096d75915d7eb9 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Wed, 2 Sep 2020 17:19:47 +0700 Subject: [PATCH] library/GSM_RR_Types: add minimalistic HandoverCommand Similar to [1], the existing implementation [2] is unfriendly to use, so let's work this around by defining a minimalistic implementation of (RR) Handover Command. [1] If1a5244a688abed6e6de2bf3f6e19e0e28129ea5 [2] titan.ProtocolModules.MobileL3_v13.4.0 MobileL3_RRM_Types.PDU_RRM_HandoverCommand_NW_MS Change-Id: I08e6d33a725f99e2c92f93153b2369c4c764c012 Related: SYS#4868, OS#4545 --- library/GSM_RR_Types.ttcn | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index c2c9d1b2a..2cb50bcf9 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -694,6 +694,36 @@ module GSM_RR_Types { )" }; + /* 3GPP TS 44.018, section 9.1.15 (minimalistic implementation) */ + type record HandoverCommand { + CellDescriptionV cell_desc, + ChannelDescription chan_desc, + OCT1 ho_ref, + PowerCommandAndAccesstype_V power_cmd_acc_type, + FrequencyList_TLV freq_list_at optional, + CellChannelDescription_TV cell_chan_desc optional, + ChannelMode_TV chan1_mode optional, + ChannelMode_TV chan2_mode optional, + /* TODO: Mode of Channel Set 3..8 IE */ + MobileAllocationTLV mobile_allocation optional + /* TODO: more optional IEs... */ + } with { + variant "TAG( + freq_list_at, elementIdentifier = '05'O; + cell_chan_desc, elementIdentifier = '62'O; + chan1_mode, elementIdentifier = '63'O; + chan2_mode, elementIdentifier = '11'O; + mobile_allocation, iei = '72'O; + )" + }; + + /* 10.5.2.2 Cell Description IE */ + type record CellDescriptionV { + uint3_t bcc, /* PLMN colour code */ + uint3_t ncc, /* BS colour code */ + uint10_t bcch_arfcn + } with { variant "FIELDORDER(lsb)" }; + /* 9.1.18 */ type record ImmediateAssignment { @@ -853,6 +883,7 @@ module GSM_RR_Types { PagingResponse paging_response, MeasurementReport meas_rep, AssignmentCommand ass_cmd, + HandoverCommand ho_cmd, octetstring other }; @@ -863,6 +894,7 @@ module GSM_RR_Types { paging_response, header.message_type = PAGING_RESPONSE; meas_rep, header.message_type = MEASUREMENT_REPORT; ass_cmd, header.message_type = ASSIGNMENT_COMMAND; + ho_cmd, header.message_type = HANDOVER_COMMAND; other, OTHERWISE; )" }