dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32995 )
Change subject: RLCMAC_CSN1_Types: Add release 6 additions to PacketCellChangeNotification ......................................................................
RLCMAC_CSN1_Types: Add release 6 additions to PacketCellChangeNotification
The PacketCellChangeNotification type currently lacks the release 6 additions. Those basically add 3G compatibility to the PacketCellChangeNotification message type.
Spec reference: 3gpp TS 44.060 11.2.3a
Related: OS#6044 Change-Id: I4e1c63c06fb89111765df187a93db563e77c3fc4 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 79 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/32995/1
diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 943717e..34abb73 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -163,14 +163,17 @@ tfi := tfi }, arfcn_bsic_presence := '0'B, + utran_target_cell_presence := omit, arfcn := arfcn, bsic := bsic, + utran_target_cell := omit, ba_psi3_presence := '0'B, ba_used := '0'B, psi3_change_mark := omit, pmo_used := '0'B, pccn_sending := '0'B, - ccn_meas_rep := ccn_meas_rep + ccn_meas_rep := ccn_meas_rep, + rel_additions := omit } } }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 2093f55..161fc5c 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -941,7 +941,38 @@ variant (sign_var) "PRESENCE(sign_var_presence = '1'B)" };
- /* 11.2.3a Packet Cell Change Notification */ + /* 11.2.3a Packet Cell Change Notification, 3G Target Cell Struct (Rel-6 extension) */ + type record UtranTargetCell { + BIT1 fdd_arfcn_presence, + uint14_t fdd_arfcn optional, + BIT1 bandwith_fdd_presence, + uint3_t bandwith_fdd optional, + uint10_t scrambling_code, + BIT1 tdd_arfcn_presence, + uint14_t tdd_arfcn optional, + BIT1 bandwith_tdd_presence, + uint3_t bandwith_tdd optional, + uint7_t cell_parameter, + uint1_t sync_case, + uint6_t reporting_quantity + } with { + variant (fdd_arfcn) "PRESENCE(fdd_arfcn_presence = '1'B)" + variant (bandwith_fdd) "PRESENCE(bandwith_fdd_presence = '1'B)" + variant (tdd_arfcn) "PRESENCE(tdd_arfcn_presence = '1'B)" + variant (bandwith_tdd) "PRESENCE(bandwith_tdd_presence = '1'B)" + }; + + /* 11.2.3a Packet Cell Change Notification, 3G CCN Measurement Report Struct (Rel-6 extension) */ + type record of uint6_t ReportingQuantityList; + type record UtranCCNMesurementReport { + uint3_t n_3g, + uint7_t utran_cell_list_index, + ReportingQuantityList reporting_quantity + } with { + variant (n_3g) "LENGTHTO(reporting_quantity)" + variant (n_3g) "UNIT(elements)" + }; + type record NCMeasurementItem { uint6_t freq, BIT1 bsic_presence, @@ -957,22 +988,47 @@ uint3_t num_meas, NCMeasurements meas } with { variant "" }; + + /* 11.2.3a Packet Cell Change Notification, Rel-Additions (Matrioshka) */ + private type record PktCellChgNotifAdditions { + BIT1 rel6_presence, + PktCellChgNotifR6Additions rel6 optional + } with { + variant (rel6) "PRESENCE(rel6_presence = '1'B)" + }; + private type record PktCellChgNotifR6Additions { + BIT1 utran_ba_used_presence, + uint1_t utran_ba_used, + UtranCCNMesurementReport utran_ccn_meas_rep + } with { + variant (utran_ba_used) "PRESENCE(utran_ba_used_presence = '1'B)" + }; + + /* 11.2.3a Packet Cell Change Notification, message body */ type record PacketCellChangeNotification { GlobalTfi gtfi, /* TODO: support 3g/4g in these bits */ BIT1 arfcn_bsic_presence, + BIT1 utran_target_cell_presence optional, /* Rel-6 addition */ uint10_t arfcn optional, uint6_t bsic optional, + UtranTargetCell utran_target_cell optional, /* Rel-6 addition */ BIT1 ba_psi3_presence, BIT1 ba_used optional, BIT2 psi3_change_mark optional, BIT1 pmo_used, BIT1 pccn_sending, - CCNMesurementReport ccn_meas_rep - /* TODO: Rel6 additions for 3G support */ + CCNMesurementReport ccn_meas_rep, + /* Rel-Additions (Matrioshka) */ + PktCellChgNotifAdditions rel_additions optional } with { variant (arfcn) "PRESENCE(arfcn_bsic_presence = '0'B)" variant (bsic) "PRESENCE(arfcn_bsic_presence = '0'B)" + + /* Rel-6 addition */ + variant (utran_target_cell_presence) "PRESENCE(arfcn_bsic_presence = '1'B)" + variant (utran_target_cell) "PRESENCE(arfcn_bsic_presence = '1'B, utran_target_cell_presence = '0'B)" + variant (ba_used) "PRESENCE(ba_psi3_presence = '0'B)" variant (psi3_change_mark) "PRESENCE(ba_psi3_presence = '1'B)" };