This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22058 ) Change subject: rlcmac: introduce initial support for NACC related messages ...................................................................... rlcmac: introduce initial support for NACC related messages Change-Id: I4d2f123479c34e6afffe0bc8d91409e6b0529a62 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 163 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 64c709a..1becddd 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -108,6 +108,77 @@ } }; + const CCNMesurementReport ccn_meas_rep_def := { + rxlev_servig_cell := 0, + zero := '0'B, + num_meas := 0, + meas := { } + } + + /* TS 44.060 sec 11.2.3a */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CELL_CHG_NOTIF(uint5_t tfi, + GsmArfcn arfcn, + uint6_t bsic, + template (value) CCNMesurementReport ccn_meas_rep := ccn_meas_rep_def) + := { + msg_type := PACKET_CELL_CHANGE_NOTIFICATION, + u := { + cell_chg_notif := { + gtfi := { + is_dl_tfi := false, + tfi := tfi + }, + arfcn_bsic_presence := '0'B, + arfcn := arfcn, + bsic := bsic, + 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 + } + } + }; + + /* TS 44.060 sec 11.2.2a */ + template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE(template GlobalTfi tfi := ?) + := { + msg_type := PACKET_CELL_CHANGE_CONTINUE, + u := { + cell_chg_continue := { + page_mode := ?, + zero := '0'B, + gtfi := tfi, + arfcn_bsic_presence := ?, + arfcn := *, + bsic := *, + container_id := * + } + } + }; + + /* TS 44.060 sec 11.2.9e */ + template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_NEIGH_CELL_DATA(template (present) GlobalTfi tfi := ?, + template (present) uint5_t container_index := ?) + := { + msg_type := PACKET_NEIGHBOUR_CELL_DATA, + u := { + neighbour_cell_data := { + page_mode := ?, + zero := '0'B, + gtfi := tfi, + container_id := ?, + spare := '0'B, + container_index := container_index, + arfcn_bsic_presence := ?, + arfcn := *, + bsic := *, + container_list := ? + } + } + }; + private function f_presence_bit_tfi(template uint5_t tfi) return BIT1 { if (istemplatekind(tfi, "omit")) { return '0'B; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 14570bf..af8b8d6 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -32,6 +32,8 @@ PACKET_TBF_RELEASE ('001000'B), PACKET_UL_ACK_NACK ('001001'B), PACKET_UL_ASSIGNMENT ('001010'B), + PACKET_CELL_CHANGE_CONTINUE ('001011'B), + PACKET_NEIGHBOUR_CELL_DATA ('001100'B), PACKET_DL_DUMMY_CTRL ('100101'B) } with { variant "FIELDLENGTH(6)" }; @@ -49,7 +51,7 @@ PACKET_EGPRS_DL_ACK_NACK ('001000'B), PACKET_PAUSE ('001001'B), ADDITIONAL_MS_RA_CAPABILITIES ('001011'B), - PACKET_CELL_CANGE_NOTIFICATION ('001100'B), + PACKET_CELL_CHANGE_NOTIFICATION ('001100'B), PACKET_SI_STATUS ('001101'B), PACKET_CS_REQUEST ('001110'B), MBMS_SERVICE_REQUEST ('001111'B), @@ -586,6 +588,47 @@ variant (msg) "PRESENCE(msg_escape = '0'B)" }; + /* 11.2.2a Packet Cell Change Continue */ + type record PacketCellChangeContinue { + PageMode page_mode, + BIT1 zero ('0'B), + GlobalTfi gtfi, + BIT1 arfcn_bsic_presence, + uint10_t arfcn optional, + uint6_t bsic optional, + uint2_t container_id optional + } with { + variant (arfcn) "PRESENCE(arfcn_bsic_presence = '1'B)" + variant (bsic) "PRESENCE(arfcn_bsic_presence = '1'B)" + variant (container_id) "PRESENCE(arfcn_bsic_presence = '1'B)" + }; + + /* 11.2.9e Packet Neighbour Cell Data */ + type record PacketNeighbourCellDataContainer { + BIT3 pd, + uint5_t cd_length, + octetstring container_data + } with { + variant (cd_length) "LENGTHTO (container_data)" + variant (container_data) "BYTEORDER(first)" + }; + type record of PacketNeighbourCellDataContainer PacketNeighbourCellDataContainerList + type record PacketNeighbourCellData { + PageMode page_mode, + BIT1 zero ('0'B), + GlobalTfi gtfi, + uint2_t container_id, + BIT1 spare ('0'B), + uint5_t container_index, + BIT1 arfcn_bsic_presence, + uint10_t arfcn optional, + uint6_t bsic optional, + PacketNeighbourCellDataContainerList container_list + } with { + variant (arfcn) "PRESENCE(arfcn_bsic_presence = '1'B)" + variant (bsic) "PRESENCE(arfcn_bsic_presence = '1'B)" + }; + /* 11.2.0.1 */ type union RlcmacDlCtrlUnion { PacketDlAssignment dl_assignment, @@ -594,6 +637,8 @@ PacketUlAckNack ul_ack_nack, PacketDlDummy dl_dummy, PacketPwrControlTA pwr_ta, + PacketCellChangeContinue cell_chg_continue, + PacketNeighbourCellData neighbour_cell_data, octetstring other } with { variant "" }; @@ -607,6 +652,8 @@ ul_ack_nack, msg_type = PACKET_UL_ACK_NACK; dl_dummy, msg_type = PACKET_DL_DUMMY_CTRL; pwr_ta, msg_type = PACKET_PWR_CONTROL_TA; + cell_chg_continue,msg_type = PACKET_CELL_CHANGE_CONTINUE; + neighbour_cell_data,msg_type = PACKET_NEIGHBOUR_CELL_DATA; other, OTHERWISE )" }; @@ -755,14 +802,51 @@ variant (sign_var) "PRESENCE(sign_var_presence = '1'B)" }; + /* 11.2.3a Packet Cell Change Notification */ + type record NCMeasurementItem { + uint6_t freq, + BIT1 bsic_presence, + uint6_t bsic optional, + uint6_t rxlev + } with { + variant (bsic) "PRESENCE(bsic_presence = '1'B)" + }; + type record of NCMeasurementItem NCMeasurements; + type record CCNMesurementReport { + uint6_t rxlev_servig_cell, + BIT1 zero ('0'B), + uint3_t num_meas, + NCMeasurements meas + } with { variant "" }; + type record PacketCellChangeNotification { + GlobalTfi gtfi, + /* TODO: support 3g/4g in these bits */ + BIT1 arfcn_bsic_presence, + uint10_t arfcn optional, + uint6_t bsic optional, + 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 */ + } with { + variant (arfcn) "PRESENCE(arfcn_bsic_presence = '0'B)" + variant (bsic) "PRESENCE(arfcn_bsic_presence = '0'B)" + variant (ba_used) "PRESENCE(ba_psi3_presence = '0'B)" + variant (psi3_change_mark) "PRESENCE(ba_psi3_presence = '1'B)" + }; + /* 11.2.0.2 */ type union RlcmacUlCtrlUnion { - PacketCtrlAck ctrl_ack, - PacketDlAckNack dl_ack_nack, - EgprsPacketDlAckNack dl_ack_nack_egprs, - PacketUlDummy ul_dummy, - PacketResourceReq resource_req, - octetstring other + PacketCtrlAck ctrl_ack, + PacketDlAckNack dl_ack_nack, + EgprsPacketDlAckNack dl_ack_nack_egprs, + PacketUlDummy ul_dummy, + PacketResourceReq resource_req, + PacketCellChangeNotification cell_chg_notif, + octetstring other } with { variant "" }; type record RlcmacUlCtrlMsg { @@ -774,6 +858,7 @@ dl_ack_nack_egprs, msg_type = PACKET_EGPRS_DL_ACK_NACK; ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL; resource_req, msg_type = PACKET_RESOURCE_REQUEST; + cell_chg_notif, msg_type = PACKET_CELL_CHANGE_NOTIFICATION; other, OTHERWISE )" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d2f123479c34e6afffe0bc8d91409e6b0529a62 Gerrit-Change-Number: 22058 Gerrit-PatchSet: 6 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: osmith <osmith at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210129/f5eb3888/attachment.htm>