diff options
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-Constants.asn | 3 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-Containers.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-IEs.asn | 20 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn | 17 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/packet-x2ap-template.c | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/x2ap.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-x2ap.c | 43 |
9 files changed, 76 insertions, 17 deletions
diff --git a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn index 9d0c86ec05..35b334fe6b 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.6 Common definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn index 1b5f35b90e..3053aeac9d 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.7 Constant definitions -- ************************************************************** -- @@ -478,5 +478,6 @@ id-additionalPLMNs-Item ProtocolIE-ID ::= 334 id-InterfaceInstanceIndication ProtocolIE-ID ::= 335 id-BPLMN-ID-Info-EUTRA ProtocolIE-ID ::= 336 id-BPLMN-ID-Info-NR ProtocolIE-ID ::= 337 +id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID ::= 338 END diff --git a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn index 7beab86f9e..0c6e7f5811 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.8 Container definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn index eaf2a926bf..3a6e18c120 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.5 Information Element definitions -- ************************************************************** -- @@ -75,6 +75,7 @@ IMPORTS id-NRNeighbourInfoToAdd, id-LastNG-RANPLMNIdentity, id-BPLMN-ID-Info-EUTRA, + id-NBIoT-UL-DL-AlignmentOffset, maxnoofBearers, maxCellineNB, @@ -1539,6 +1540,13 @@ SplitSRB-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { -- N +NBIoT-UL-DL-AlignmentOffset ::= ENUMERATED { + khz-7dot5, + khz0, + khz7dot5, + ... +} + Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF SEQUENCE { eCGI ECGI, pCI PCI, @@ -1690,7 +1698,11 @@ OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED { seven, eight, nine, - ... + ..., + minusEightDotFive, + minusFourDotFive, + threeDotFive, + sevenDotFive } Oneframe ::= BIT STRING (SIZE (6)) @@ -2413,7 +2425,9 @@ TDD-Info ::= SEQUENCE { TDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-AdditionalSpecialSubframe-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframe-Info PRESENCE optional}| { ID id-eARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}| - { ID id-AdditionalSpecialSubframeExtension-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframeExtension-Info PRESENCE optional}, + { ID id-AdditionalSpecialSubframeExtension-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframeExtension-Info PRESENCE optional}| + { ID id-OffsetOfNbiotChannelNumberToDL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}| + { ID id-NBIoT-UL-DL-AlignmentOffset CRITICALITY reject EXTENSION NBIoT-UL-DL-AlignmentOffset PRESENCE optional}, ... } diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn index f604de2286..d5cd279768 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.4 PDU Definitions -- ************************************************************** -- @@ -620,7 +620,7 @@ HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { { ID id-TargeteNBtoSource-eNBTransparentContainer CRITICALITY ignore TYPE TargeteNBtoSource-eNBTransparentContainer PRESENCE mandatory}| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| { ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}| - { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}-- The id-SeNB-UE-X2AP-ID-Extension shall not be sent shall not be sent and shall be ignored, if received.--| { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| { ID id-WT-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}, @@ -1477,7 +1477,8 @@ E-RABs-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE { E-RABs-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| - { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, + { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, ... } @@ -1687,7 +1688,8 @@ E-RABs-ToBeAdded-ModReqItem-SCG-Bearer ::= SEQUENCE { E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| - { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, + { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, ... } @@ -2422,7 +2424,8 @@ E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent ::= SEQUENCE { } E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { - { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}, + { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}| + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, ... } @@ -2678,7 +2681,8 @@ E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE { } E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { - { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}, + { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}| + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, ... } @@ -4209,6 +4213,7 @@ DataForwardingAddressIndication ::= SEQUENCE { } DataForwardingAddressIndication-IEs X2AP-PROTOCOL-IES ::= { + { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }| { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }| diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn index 8cdbf97797..8e54e05483 100644 --- a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.423 V15.6.0 (2019-06) +-- 3GPP TS 36.423 V15.7.0 (2019-09) -- 9.3.3 Elementary Procedure Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c index ae85c3484d..eb3a36197a 100644 --- a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c +++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c @@ -12,7 +12,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later * * Ref: - * 3GPP TS 36.423 V15.6.0 (2019-06) + * 3GPP TS 36.423 V15.7.0 (2019-09) */ #include "config.h" diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf index 4907383687..3928f480a5 100644 --- a/epan/dissectors/asn1/x2ap/x2ap.cnf +++ b/epan/dissectors/asn1/x2ap/x2ap.cnf @@ -1242,6 +1242,7 @@ id-additionalPLMNs-Item ProtocolIE-ID id-InterfaceInstanceIndication ProtocolIE-ID id-BPLMN-ID-Info-EUTRA ProtocolIE-ID id-BPLMN-ID-Info-NR ProtocolIE-ID +id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID #.REGISTER @@ -1574,6 +1575,7 @@ PLMN-Identity N x2ap.extension id-LastNG-RANPLMNIdentity AdditionalPLMNs-Item N x2ap.extension id-additionalPLMNs-Item BPLMN-ID-Info-EUTRA N x2ap.extension id-BPLMN-ID-Info-EUTRA BPLMN-ID-Info-NR N x2ap.extension id-BPLMN-ID-Info-NR +NBIoT-UL-DL-AlignmentOffset N x2ap.extension id-NBIoT-UL-DL-AlignmentOffset # X2AP-PDU-Descriptions.asn Interface Elementary Procedures #X2AP-ELEMENTARY-PROCEDURE diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index 6e6395bd37..d271e9b982 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -20,7 +20,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later * * Ref: - * 3GPP TS 36.423 V15.6.0 (2019-06) + * 3GPP TS 36.423 V15.7.0 (2019-09) */ #include "config.h" @@ -501,7 +501,8 @@ typedef enum _ProtocolIE_ID_enum { id_additionalPLMNs_Item = 334, id_InterfaceInstanceIndication = 335, id_BPLMN_ID_Info_EUTRA = 336, - id_BPLMN_ID_Info_NR = 337 + id_BPLMN_ID_Info_NR = 337, + id_NBIoT_UL_DL_AlignmentOffset = 338 } ProtocolIE_ID_enum; /*--- End of included file: packet-x2ap-val.h ---*/ @@ -660,6 +661,7 @@ static int hf_x2ap_MultibandInfoList_PDU = -1; /* MultibandInfoList */ static int hf_x2ap_MeNBtoSgNBContainer_PDU = -1; /* MeNBtoSgNBContainer */ static int hf_x2ap_SplitSRBs_PDU = -1; /* SplitSRBs */ static int hf_x2ap_SplitSRB_PDU = -1; /* SplitSRB */ +static int hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU = -1; /* NBIoT_UL_DL_AlignmentOffset */ static int hf_x2ap_NewDRBIDrequest_PDU = -1; /* NewDRBIDrequest */ static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */ static int hf_x2ap_NRCGI_PDU = -1; /* NRCGI */ @@ -2706,6 +2708,7 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = { { id_InterfaceInstanceIndication, "id-InterfaceInstanceIndication" }, { id_BPLMN_ID_Info_EUTRA, "id-BPLMN-ID-Info-EUTRA" }, { id_BPLMN_ID_Info_NR, "id-BPLMN-ID-Info-NR" }, + { id_NBIoT_UL_DL_AlignmentOffset, "id-NBIoT-UL-DL-AlignmentOffset" }, { 0, NULL } }; @@ -8063,6 +8066,23 @@ dissect_x2ap_SplitSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } +static const value_string x2ap_NBIoT_UL_DL_AlignmentOffset_vals[] = { + { 0, "khz-7dot5" }, + { 1, "khz0" }, + { 2, "khz7dot5" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_NBIoT_UL_DL_AlignmentOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + static int dissect_x2ap_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -8420,6 +8440,10 @@ static const value_string x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals[] = { { 18, "seven" }, { 19, "eight" }, { 20, "nine" }, + { 21, "minusEightDotFive" }, + { 22, "minusFourDotFive" }, + { 23, "threeDotFive" }, + { 24, "sevenDotFive" }, { 0, NULL } }; @@ -8429,7 +8453,7 @@ static value_string_ext x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals_ext = VALUE static int dissect_x2ap_OffsetOfNbiotChannelNumberToEARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 21, NULL, TRUE, 0, NULL); + 21, NULL, TRUE, 4, NULL); return offset; } @@ -16139,6 +16163,14 @@ static int dissect_SplitSRB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto offset += 7; offset >>= 3; return offset; } +static int dissect_NBIoT_UL_DL_AlignmentOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_NBIoT_UL_DL_AlignmentOffset(tvb, offset, &asn1_ctx, tree, hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NewDRBIDrequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -19089,6 +19121,10 @@ void proto_register_x2ap(void) { { "SplitSRB", "x2ap.SplitSRB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU, + { "NBIoT-UL-DL-AlignmentOffset", "x2ap.NBIoT_UL_DL_AlignmentOffset", + FT_UINT32, BASE_DEC, VALS(x2ap_NBIoT_UL_DL_AlignmentOffset_vals), 0, + NULL, HFILL }}, { &hf_x2ap_NewDRBIDrequest_PDU, { "NewDRBIDrequest", "x2ap.NewDRBIDrequest", FT_UINT32, BASE_DEC, VALS(x2ap_NewDRBIDrequest_vals), 0, @@ -23700,6 +23736,7 @@ proto_reg_handoff_x2ap(void) dissector_add_uint("x2ap.extension", id_additionalPLMNs_Item, create_dissector_handle(dissect_AdditionalPLMNs_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BPLMN_ID_Info_EUTRA, create_dissector_handle(dissect_BPLMN_ID_Info_EUTRA_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BPLMN_ID_Info_NR, create_dissector_handle(dissect_BPLMN_ID_Info_NR_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_NBIoT_UL_DL_AlignmentOffset, create_dissector_handle(dissect_NBIoT_UL_DL_AlignmentOffset_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap)); |