From faf191edc1024b2c8c244fddf21907685410d987 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Fri, 10 May 2019 10:48:50 +0200 Subject: [PATCH] SBc-AP:Update to 3GPP TS 29.168 V15.1.0 (2018-09). Change-Id: Ie1418deda58046e48419be252a41c4e1cf9593b8 Reviewed-on: https://code.wireshark.org/review/33144 Petri-Dish: Anders Broman Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- .../asn1/sbc-ap/SBC-AP-CommonDataTypes.asn | 12 +- .../asn1/sbc-ap/SBC-AP-Constants.asn | 115 ++- .../asn1/sbc-ap/SBC-AP-Containers.asn | 42 +- epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn | 387 +++++-- .../asn1/sbc-ap/SBC-AP-PDU-Contents.asn | 148 ++- .../asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn | 65 +- epan/dissectors/asn1/sbc-ap/sbc-ap.cnf | 30 + epan/dissectors/packet-sbc-ap.c | 949 +++++++++++++++++- 8 files changed, 1485 insertions(+), 263 deletions(-) diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn index f38b98e2aa..e11f3175d3 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn @@ -1,6 +1,6 @@ -- SBC-AP-CommonDataTypes.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.6 Common Definitions @@ -20,16 +20,16 @@ DEFINITIONS AUTOMATIC TAGS ::= BEGIN -Criticality ::= ENUMERATED { reject, ignore, notify } +Criticality ::= ENUMERATED { reject, ignore, notify } -Presence ::= ENUMERATED { optional, conditional, mandatory } +Presence ::= ENUMERATED { optional, conditional, mandatory } -ProcedureCode ::= INTEGER (0..255) +ProcedureCode ::= INTEGER (0..255) ProtocolExtensionID ::= INTEGER (0..65535) -ProtocolIE-ID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER (0..65535) -TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} END diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn index d973afb666..447e1c42d3 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn @@ -1,6 +1,6 @@ -- SBC-AP-Constants.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.7 Constant Definitions @@ -25,13 +25,13 @@ BEGIN -- -- ************************************************************** -id-Write-Replace-Warning INTEGER ::= 0 -id-Stop-Warning INTEGER ::= 1 -id-Error-Indication INTEGER ::= 2 +id-Write-Replace-Warning INTEGER ::= 0 +id-Stop-Warning INTEGER ::= 1 +id-Error-Indication INTEGER ::= 2 id-Write-Replace-Warning-Indication INTEGER ::= 3 -id-Stop-Warning-Indication INTEGER ::= 4 -id-PWS-Restart-Indication INTEGER ::= 5 -id-PWS-Failure-Indication INTEGER ::= 6 +id-Stop-Warning-Indication INTEGER ::= 4 +id-PWS-Restart-Indication INTEGER ::= 5 +id-PWS-Failure-Indication INTEGER ::= 6 -- ************************************************************** -- @@ -39,40 +39,54 @@ id-PWS-Failure-Indication INTEGER ::= 6 -- -- ************************************************************** -id-Broadcast-Message-Content INTEGER ::= 0 -id-Cause INTEGER ::= 1 +id-Broadcast-Message-Content INTEGER ::= 0 +id-Cause INTEGER ::= 1 id-Criticality-Diagnostics INTEGER ::=2 -id-Data-Coding-Scheme INTEGER ::= 3 -id-Failure-List INTEGER ::= 4 -id-Message-Identifier INTEGER ::= 5 +id-Data-Coding-Scheme INTEGER ::= 3 +id-Failure-List INTEGER ::= 4 +id-Message-Identifier INTEGER ::= 5 id-Number-of-Broadcasts-Completed-List INTEGER ::= 6 -id-Number-of-Broadcasts-Requested INTEGER ::= 7 -id-Radio-Resource-Loading-List INTEGER ::= 8 -id-Recovery-Indication INTEGER ::= 9 -id-Repetition-Period INTEGER ::= 10 -id-Serial-Number INTEGER ::= 11 -id-Service-Areas-List INTEGER ::= 12 -id-TypeOfError INTEGER ::= 13 -id-List-of-TAIs INTEGER ::= 14 -id-Warning-Area-List INTEGER ::= 15 -id-Warning-Message-Content INTEGER ::= 16 +id-Number-of-Broadcasts-Requested INTEGER ::= 7 +id-Radio-Resource-Loading-List INTEGER ::= 8 +id-Recovery-Indication INTEGER ::= 9 +id-Repetition-Period INTEGER ::= 10 +id-Serial-Number INTEGER ::= 11 +id-Service-Areas-List INTEGER ::= 12 +id-TypeOfError INTEGER ::= 13 +id-List-of-TAIs INTEGER ::= 14 +id-Warning-Area-List INTEGER ::= 15 +id-Warning-Message-Content INTEGER ::= 16 id-Warning-Security-Information INTEGER ::= 17 -id-Warning-Type INTEGER ::= 18 -id-Omc-Id INTEGER ::= 19 +id-Warning-Type INTEGER ::= 18 +id-Omc-Id INTEGER ::= 19 id-Concurrent-Warning-Message-Indicator INTEGER ::= 20 id-Extended-Repetition-Period INTEGER ::= 21 id-Unknown-Tracking-Area-List INTEGER ::= 22 id-Broadcast-Scheduled-Area-List INTEGER ::= 23 id-Send-Write-Replace-Warning-Indication INTEGER ::= 24 -id-Broadcast-Cancelled-Area-List INTEGER ::= 25 -id-Send-Stop-Warning-Indication INTEGER ::= 26 -id-Stop-All-Indicator INTEGER ::= 27 -id-Global-ENB-ID INTEGER ::= 28 -id-Broadcast-Empty-Area-List INTEGER ::= 29 -id-Restarted-Cell-List INTEGER ::= 30 -id-List-of-TAIs-Restart INTEGER ::= 31 -id-List-of-EAIs-Restart INTEGER ::= 32 -id-Failed-Cell-List INTEGER ::= 33 +id-Broadcast-Cancelled-Area-List INTEGER ::= 25 +id-Send-Stop-Warning-Indication INTEGER ::= 26 +id-Stop-All-Indicator INTEGER ::= 27 +id-Global-ENB-ID INTEGER ::= 28 +id-Broadcast-Empty-Area-List INTEGER ::= 29 +id-Restarted-Cell-List INTEGER ::= 30 +id-List-of-TAIs-Restart INTEGER ::= 31 +id-List-of-EAIs-Restart INTEGER ::= 32 +id-Failed-Cell-List INTEGER ::= 33 +id-List-of-5GS-TAIs INTEGER ::= 34 +id-Warning-Area-List-5GS INTEGER ::= 35 +id-Global-RAN-Node-ID INTEGER ::= 36 +id-Global-GNB-ID INTEGER ::= 37 +id-RAT-Selector-5GS INTEGER ::= 38 +id-Unknown-5GS-Tracking-Area-List INTEGER ::= 39 +id-Broadcast-Scheduled-Area-List-5GS INTEGER ::= 40 +id-Broadcast-Cancelled-Area-List-5GS INTEGER ::= 41 +id-Broadcast-Empty-Area-List-5GS INTEGER ::= 42 +id-Restarted-Cell-List-NR INTEGER ::= 43 +id-Failed-Cell-List-NR INTEGER ::= 44 +id-List-of-5GS-TAI-for-Restart INTEGER ::= 45 +id-Warning-Area-Coordinates INTEGER ::= 46 + -- ************************************************************** @@ -87,20 +101,27 @@ id-Failed-Cell-List INTEGER ::= 33 -- -- ************************************************************** -maxNrOfErrors INTEGER ::= 256 -maxnoofCellID INTEGER ::= 65535 -maxnoofCellinEAI INTEGER ::= 65535 -maxnoofCellinTAI INTEGER ::= 65535 -maxNrOfTAIs INTEGER ::= 65535 -maxnoofEmergencyAreaID INTEGER ::= 65535 -maxnoofTAIforWarning INTEGER ::= 65535 +maxNrOfErrors INTEGER ::= 256 +maxnoofCellID INTEGER ::= 65535 +maxnoofCellinEAI INTEGER ::= 65535 +maxnoofCellinTAI INTEGER ::= 65535 +maxNrOfTAIs INTEGER ::= 65535 +maxnoofEmergencyAreaID INTEGER ::= 65535 +maxnoofTAIforWarning INTEGER ::= 65535 + +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxnoofeNBIds INTEGER ::= 256 +maxnoofRestartedCells INTEGER ::= 256 +maxnoofRestartTAIs INTEGER ::= 2048 +maxnoofRestartEAIs INTEGER ::= 256 +maxnoofFailedCells INTEGER ::= 256 +maxnoof5GSTAIs INTEGER ::= 2048 +maxnoofCellsingNB INTEGER ::= 16384 +maxnoofCellsin5GS INTEGER ::= 16776960 +maxnoofCellsin5GSTAI INTEGER ::= 65535 +maxnoofRANNodes INTEGER ::= 65535 +maxnoofRestart5GSTAIs INTEGER ::= 2048maxnoofCellsforRestartNR INTEGER ::= 16384 -maxProtocolExtensions INTEGER ::= 65535 -maxProtocolIEs INTEGER ::= 65535 -maxnoofeNBIds INTEGER ::= 256 -maxnoofRestartedCells INTEGER ::= 256 -maxnoofRestartTAIs INTEGER ::= 2048 -maxnoofRestartEAIs INTEGER ::= 256 -maxnoofFailedCells INTEGER ::= 256 END diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn index a21e143e4d..8b71821c5c 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn @@ -1,6 +1,6 @@ -- SBC-AP-Containers.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.8 Container Definitions @@ -44,16 +44,16 @@ FROM SBC-AP-Constants; -- ************************************************************** SBC-AP-PROTOCOL-IES ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &criticality Criticality DEFAULT ignore, + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, &Value, - &presence Presence + &presence Presence } WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence } -- ************************************************************** @@ -63,16 +63,16 @@ WITH SYNTAX { -- ************************************************************** SBC-AP-PROTOCOL-EXTENSION ::= CLASS { - &id ProtocolExtensionID UNIQUE, - &criticality Criticality DEFAULT ignore, + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, &Extension, - &presence Presence + &presence Presence } WITH SYNTAX { - ID &id - CRITICALITY &criticality - EXTENSION &Extension - PRESENCE &presence + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence } -- ************************************************************** @@ -86,9 +86,9 @@ ProtocolIE-Container {SBC-AP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {{IEsSetParam}} ProtocolIE-Field {SBC-AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { - id SBC-AP-PROTOCOL-IES.&id ({IEsSetParam}), - criticality SBC-AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value SBC-AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) + id SBC-AP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SBC-AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SBC-AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) } -- ************************************************************** @@ -112,9 +112,9 @@ ProtocolExtensionContainer {SBC-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= ProtocolExtensionField {{ExtensionSetParam}} ProtocolExtensionField {SBC-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { - id SBC-AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), - criticality SBC-AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), - extensionValue SBC-AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) + id SBC-AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SBC-AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SBC-AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) } diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn index 448e31dcdf..3cfa847245 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn @@ -1,6 +1,6 @@ -- SBC-AP-IEs.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.5 Information Element Definitions @@ -34,7 +34,14 @@ IMPORTS maxnoofRestartTAIs, maxnoofRestartEAIs, maxnoofRestartedCells, - maxnoofFailedCells + maxnoofFailedCells, + maxnoof5GSTAIs, + maxnoofCellsingNB, + maxnoofCellsin5GS, + maxnoofCellsforRestartNR, + maxnoofRANNodes, + maxnoofRestart5GSTAIs, + maxnoofCellsin5GSTAI FROM SBC-AP-Constants @@ -58,7 +65,7 @@ Broadcast-Scheduled-Area-List ::= SEQUENCE { cellId-Broadcast-List CellId-Broadcast-List OPTIONAL, tAI-Broadcast-List TAI-Broadcast-List OPTIONAL, emergencyAreaID-Broadcast-List EmergencyAreaID-Broadcast-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-ExtIEs}} OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-ExtIEs}} OPTIONAL, ... } @@ -66,11 +73,23 @@ Broadcast-Scheduled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +Broadcast-Scheduled-Area-List-5GS ::= SEQUENCE { + cellId-Broadcast-List-5GS CellId-Broadcast-List-5GS OPTIONAL, + tAI-Broadcast-List-5GS TAI-Broadcast-List-5GS OPTIONAL, + emergencyAreaID-Broadcast-List EmergencyAreaID-Broadcast-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-5GS-ExtIEs}} OPTIONAL, + ... +} + +Broadcast-Scheduled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + Broadcast-Cancelled-Area-List ::= SEQUENCE { - cellID-Cancelled-List CellID-Cancelled-List OPTIONAL, - tAI-Cancelled-List TAI-Cancelled-List OPTIONAL, + cellID-Cancelled-List CellID-Cancelled-List OPTIONAL, + tAI-Cancelled-List TAI-Cancelled-List OPTIONAL, emergencyAreaID-Cancelled-List EmergencyAreaID-Cancelled-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-ExtIEs}} OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-ExtIEs}} OPTIONAL, ... } @@ -78,17 +97,32 @@ Broadcast-Cancelled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +Broadcast-Cancelled-Area-List-5GS ::= SEQUENCE { + cellID-Cancelled-List-5GS CellID-Cancelled-List-5GS OPTIONAL, + tAI-Cancelled-List-5GS TAI-Cancelled-List-5GS OPTIONAL, + emergencyAreaID-Cancelled-List EmergencyAreaID-Cancelled-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-5GS-ExtIEs}} OPTIONAL, + ... +} + +Broadcast-Cancelled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + + Broadcast-Empty-Area-List ::= SEQUENCE (SIZE (1.. maxnoofeNBIds)) OF Global-ENB-ID +Broadcast-Empty-Area-List-5GS ::= SEQUENCE (SIZE (1.. maxnoofRANNodes)) OF Global-RAN-Node-ID + -- C CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item CancelledCellinEAI-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL, + eCGI EUTRAN-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL, ... } @@ -98,9 +132,9 @@ CancelledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item CancelledCellinTAI-Item ::= SEQUENCE{ - eCGI EUTRAN-CGI, + eCGI EUTRAN-CGI, numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL, ... } @@ -108,33 +142,45 @@ CancelledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } -Cause ::= INTEGER { - message-accepted (0), - parameter-not-recognised (1), - parameter-value-invalid (2), - valid-message-not-identified (3), - tracking-area-not-valid (4), - unrecognised-message (5), - missing-mandatory-element (6), - mME-capacity-exceeded (7), - mME-memory-exceeded (8), - warning-broadcast-not-supported (9), - warning-broadcast-not-operational (10), - message-reference-already-used (11), - unspecifed-error (12), - transfer-syntax-error (13), - semantic-error (14), - message-not-compatible-with-receiver-state (15), - abstract-syntax-error-reject (16), - abstract-syntax-error-ignore-and-notify (17), +CancelledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF + SEQUENCE{ + nR-CGI NR-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-5GS-ExtIEs} } OPTIONAL, + ... +} + +CancelledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + +Cause ::= INTEGER { + message-accepted (0), + parameter-not-recognised (1), + parameter-value-invalid (2), + valid-message-not-identified (3), + tracking-area-not-valid (4), + unrecognised-message (5), + missing-mandatory-element (6), + mME-capacity-exceeded (7), + mME-memory-exceeded (8), + warning-broadcast-not-supported (9), + warning-broadcast-not-operational (10), + message-reference-already-used (11), + unspecifed-error (12), + transfer-syntax-error (13), + semantic-error (14), + message-not-compatible-with-receiver-state (15), + abstract-syntax-error-reject (16), + abstract-syntax-error-ignore-and-notify (17), abstract-syntax-error-falsely-constructed-message (18) } (0..255) CellId-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellId-Broadcast-List-Item CellId-Broadcast-List-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - iE-Extensions ProtocolExtensionContainer { {CellId-Broadcast-List-Item-ExtIEs} } OPTIONAL, + eCGI EUTRAN-CGI, + iE-Extensions ProtocolExtensionContainer { {CellId-Broadcast-List-Item-ExtIEs} } OPTIONAL, ... } @@ -142,12 +188,23 @@ CellId-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +CellId-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF + SEQUENCE { + nR-CGI NR-CGI, + iE-Extensions ProtocolExtensionContainer { {CellId-Broadcast-List-5GS-ExtIEs} } OPTIONAL, + ... +} + +CellId-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + CellID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item CellID-Cancelled-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, + eCGI EUTRAN-CGI, numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL, ... } @@ -155,16 +212,30 @@ CellID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } -CellIdentity ::= BIT STRING (SIZE (28)) +CellID-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF + SEQUENCE { + nR-CGI NR-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-5GS-ExtIEs} } OPTIONAL, + ... +} + +CellID-Cancelled-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + + + +CellIdentity ::= BIT STRING (SIZE (28)) Concurrent-Warning-Message-Indicator ::= ENUMERATED {true} -Criticality-Diagnostics ::= SEQUENCE { - procedureCode ProcedureCode OPTIONAL, - triggeringMessage TriggeringMessage OPTIONAL, - procedureCriticality Criticality OPTIONAL, - iE-CriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iE-CriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, ... } @@ -174,10 +245,10 @@ CriticalityDiagnostics-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF SEQUENCE { - iECriticality Criticality, - iE-ID ProtocolIE-ID, - typeOfError TypeOfError, - iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL, + iECriticality Criticality, + iE-ID ProtocolIE-ID, + typeOfError TypeOfError, + iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL, ... } @@ -189,22 +260,22 @@ CriticalityDiagnostics-IE-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { -- D -Data-Coding-Scheme ::= BIT STRING (SIZE (8)) +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) -- E -ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI +ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI -Emergency-Area-ID-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF Emergency-Area-ID +Emergency-Area-ID-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF Emergency-Area-ID -Emergency-Area-ID ::= OCTET STRING (SIZE (3)) +Emergency-Area-ID ::= OCTET STRING (SIZE (3)) EmergencyAreaID-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-List-Item EmergencyAreaID-Broadcast-List-Item ::= SEQUENCE { - emergencyAreaID Emergency-Area-ID, - scheduledCellinEAI ScheduledCellinEAI, - iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-List-Item-ExtIEs} } OPTIONAL, + emergencyAreaID Emergency-Area-ID, + scheduledCellinEAI ScheduledCellinEAI, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-List-Item-ExtIEs} } OPTIONAL, ... } @@ -215,9 +286,9 @@ EmergencyAreaID-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { EmergencyAreaID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item EmergencyAreaID-Cancelled-Item ::= SEQUENCE { - emergencyAreaID Emergency-Area-ID, - cancelledCellinEAI CancelledCellinEAI, - iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL, + emergencyAreaID Emergency-Area-ID, + cancelledCellinEAI CancelledCellinEAI, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL, ... } @@ -226,9 +297,9 @@ EmergencyAreaID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { } EUTRAN-CGI ::= SEQUENCE { - pLMNidentity PLMNidentity, - cell-ID CellIdentity, - iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL, + pLMNidentity PLMNidentity, + cell-ID CellIdentity, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL, ... } @@ -239,8 +310,8 @@ EUTRAN-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { Extended-Repetition-Period ::= INTEGER (4096..131071) ENB-ID ::= CHOICE { - macroENB-ID BIT STRING (SIZE(20)), - homeENB-ID BIT STRING (SIZE(28)), + macroENB-ID BIT STRING (SIZE(20)), + homeENB-ID BIT STRING (SIZE(28)), ..., short-macroENB-ID BIT STRING (SIZE(18)), long-macroENB-ID BIT STRING (SIZE(21)) @@ -249,14 +320,16 @@ ENB-ID ::= CHOICE { -- F -Failed-Cell-List ::= SEQUENCE (SIZE(1..maxnoofFailedCells)) OF EUTRAN-CGI +Failed-Cell-List ::= SEQUENCE (SIZE(1..maxnoofFailedCells)) OF EUTRAN-CGI + +Failed-Cell-List-NR ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI -- G Global-ENB-ID ::= SEQUENCE { - pLMNidentity PLMNidentity, - eNB-ID ENB-ID, - iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, + pLMNidentity PLMNidentity, + eNB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, ... } @@ -264,6 +337,40 @@ GlobalENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +Global-RAN-Node-ID ::= CHOICE { + global-GNB-ID Global-GNB-ID, + global-NgENB-ID Global-NgENB-ID, + ... +} + +Global-GNB-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + gNB-ID GNB-ID, + iE-Extensions ProtocolExtensionContainer { {Global-GNB-ID-ExtIEs} } OPTIONAL, + ... +} + +Global-GNB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + +GNB-ID ::= CHOICE { + gNB-ID BIT STRING (SIZE(22..32)), + ... +} +Global-NgENB-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + ngENB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {Global-NgENB-ID-ExtIEs} } OPTIONAL, + ... +} + +Global-NgENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + + + -- H -- I @@ -274,19 +381,25 @@ GlobalENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { -- L -List-of-TAIs ::= SEQUENCE (SIZE (1..maxNrOfTAIs)) OF +List-of-TAIs ::= SEQUENCE (SIZE (1..maxNrOfTAIs)) OF SEQUENCE { - tai TAI + tai TAI } List-of-TAIs-Restart ::= SEQUENCE (SIZE (1..maxnoofRestartTAIs)) OF SEQUENCE { - tai TAI + tai TAI } List-of-EAIs-Restart ::= SEQUENCE (SIZE(1..maxnoofRestartEAIs)) OF Emergency-Area-ID +List-of-5GS-TAIs ::= SEQUENCE (SIZE (1..maxnoof5GSTAIs)) OF TAI-5GS + +List-of-5GS-Cells-for-Failure ::= SEQUENCE ( SIZE(1..maxnoofCellsingNB)) OF NR-CGI + +List-of-5GS-TAI-for-Restart ::= SEQUENCE (SIZE (1..maxnoofRestart5GSTAIs)) OF TAI-5GS + -- M @@ -294,7 +407,7 @@ Message-Identifier ::= BIT STRING (SIZE (16)) -- N -Number-of-Broadcasts-Requested ::= INTEGER (0..65535) +Number-of-Broadcasts-Requested ::= INTEGER (0..65535) -- For Number-of-Broadcasts-Requested = 0 and Repetition-Period = 0, then eNB action is no broadcast -- for ETWS Secondary and CMAS. @@ -312,18 +425,40 @@ Number-of-Broadcasts-Requested ::= INTEGER (0..65535) NumberOfBroadcasts ::= INTEGER (0..65535) +NR-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI + +NR-CGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + nRCellIdentity NRCellIdentity, + iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL, + ... +} + +NR-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRCellIdentity ::= BIT STRING (SIZE(36)) + +NgENB-ID ::= CHOICE { + macroNgENB-ID BIT STRING (SIZE(20)), + shortMacroNgENB-ID BIT STRING (SIZE(18)), + longMacroNgENB-ID BIT STRING (SIZE(21)), + ... +} + -- O -Omc-Id ::= OCTET STRING (SIZE (1..20)) +Omc-Id ::= OCTET STRING (SIZE (1..20)) -- P -PLMNidentity ::= TBCD-STRING +PLMNidentity ::= TBCD-STRING -- Q -- R -Repetition-Period ::= INTEGER (0..4096) +Repetition-Period ::= INTEGER (0..4096) -- 1 to 4096: Each unit represents a repetition of one second to a maximum of -- once per 4096 seconds (~1 hour). -- 0: no repetition @@ -335,15 +470,21 @@ Repetition-Period ::= INTEGER (0..4096) -- set to 4096, the MME shall set the Repetition Period IE to the maximum value 4095 supported on -- the S1-MME interface as defined in [7] before forwarding to the selected eNBs. -Restarted-Cell-List ::= SEQUENCE (SIZE(1.. maxnoofRestartedCells)) OF EUTRAN-CGI +Restarted-Cell-List ::= SEQUENCE (SIZE(1.. maxnoofRestartedCells)) OF EUTRAN-CGI + +RAT-Selector-5GS ::= ENUMERATED {true} + +Restarted-Cell-List-NR ::= SEQUENCE (SIZE(1.. maxnoofCellsforRestartNR)) OF NR-CGI + + -- S ScheduledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF ScheduledCellinEAI-Item ScheduledCellinEAI-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - iE-Extensions ProtocolExtensionContainer { {ScheduledCellinEAI-Item-ExtIEs} } OPTIONAL, + eCGI EUTRAN-CGI, + iE-Extensions ProtocolExtensionContainer { {ScheduledCellinEAI-Item-ExtIEs} } OPTIONAL, ... } @@ -354,8 +495,8 @@ ScheduledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ScheduledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF ScheduledCellinTAI-Item ScheduledCellinTAI-Item ::= SEQUENCE{ - eCGI EUTRAN-CGI, - iE-Extensions ProtocolExtensionContainer { {ScheduledCellinTAI-Item-ExtIEs} } OPTIONAL, + eCGI EUTRAN-CGI, + iE-Extensions ProtocolExtensionContainer { {ScheduledCellinTAI-Item-ExtIEs} } OPTIONAL, ... } @@ -363,11 +504,22 @@ ScheduledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +ScheduledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF + SEQUENCE{ + nR-CGI NR-CGI, + iE-Extensions ProtocolExtensionContainer { {ScheduledCellinTAI-5GS-ExtIEs} } OPTIONAL, + ... +} + +ScheduledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + Send-Write-Replace-Warning-Indication ::= ENUMERATED {true} Send-Stop-Warning-Indication ::= ENUMERATED {true} -Serial-Number ::= BIT STRING (SIZE (16)) +Serial-Number ::= BIT STRING (SIZE (16)) Stop-All-Indicator ::= ENUMERATED {true} @@ -375,12 +527,14 @@ Stop-All-Indicator ::= ENUMERATED {true} TAC ::= OCTET STRING (SIZE (2)) +TAC-5GS ::= OCTET STRING (SIZE (3)) + TAI-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-List-Item TAI-Broadcast-List-Item ::= SEQUENCE { - tAI TAI, + tAI TAI, scheduledCellinTAI ScheduledCellinTAI, - iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-List-Item-ExtIEs} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-List-Item-ExtIEs} } OPTIONAL, ... } @@ -388,12 +542,25 @@ TAI-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +TAI-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF + SEQUENCE { + tAI-5GS TAI-5GS, + scheduledCellinTAI-5GS ScheduledCellinTAI-5GS, + iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-List-5GS-ExtIEs} } OPTIONAL, + ... +} + +TAI-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + + TAI-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-List-Item TAI-Cancelled-List-Item ::= SEQUENCE { - tAI TAI, + tAI TAI, cancelledCellinTAI CancelledCellinTAI, - iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-List-Item-ExtIEs} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-List-Item-ExtIEs} } OPTIONAL, ... } @@ -401,12 +568,24 @@ TAI-Cancelled-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { ... } +TAI-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF + SEQUENCE { + tAI-5GS TAI-5GS, + cancelledCellinTAI-5GS CancelledCellinTAI-5GS, + iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-List-5GS-ExtIEs} } OPTIONAL, + ... +} + +TAI-Cancelled-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + TAI-List-for-Warning ::= SEQUENCE (SIZE(1.. maxnoofTAIforWarning)) OF TAI TAI ::= SEQUENCE { - pLMNidentity PLMNidentity, - tAC TAC, - iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL + pLMNidentity PLMNidentity, + tAC TAC, + iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL } TAI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { @@ -420,25 +599,49 @@ TypeOfError ::= ENUMERATED { missing, ... } +TAI-5GS ::= SEQUENCE { + pLMNidentity PLMNidentity, + tAC-5GS TAC-5GS, + iE-Extensions ProtocolExtensionContainer { {TAI-5GS-ExtIEs} } OPTIONAL +} + +TAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= { + ... +} + -- U --- Ws change, not used? --- Unknown-Tracking-Area-List ::= SEQUENCE (SIZE(1.. maxNrOfTAIs)) OF TAI + +Unknown-Tracking-Area-List ::= SEQUENCE (SIZE(1.. maxNrOfTAIs)) OF TAI + +Unknown-5GS-Tracking-Area-List ::= SEQUENCE (SIZE(1.. maxnoof5GSTAIs)) OF TAI-5GS + -- V -- W -Warning-Area-List ::= CHOICE { - cell-ID-List ECGIList, - tracking-Area-List-for-Warning TAI-List-for-Warning, - emergency-Area-ID-List Emergency-Area-ID-List, +Warning-Area-List ::= CHOICE { + cell-ID-List ECGIList, + tracking-Area-List-for-Warning TAI-List-for-Warning, + emergency-Area-ID-List Emergency-Area-ID-List, ... } -Warning-Message-Content ::= OCTET STRING (SIZE (1..9600)) +Warning-Message-Content ::= OCTET STRING (SIZE (1..9600)) +Warning-Area-Coordinates ::= OCTET STRING (SIZE (1..1024)) Warning-Security-Information ::= OCTET STRING (SIZE (50)) -Warning-Type ::= OCTET STRING (SIZE (2)) +Warning-Type ::= OCTET STRING (SIZE (2)) + +Warning-Area-List-5GS ::= CHOICE { + cell-ID-List ECGIList, + nR-CGIList NR-CGIList, + tAIList-5GS TAI-5GS, + emergencyAreaIDList Emergency-Area-ID-List, + ... +} + + -- X diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn index eb9d03d140..1117432830 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn @@ -1,6 +1,6 @@ -- SBC-AP-PDU-Contents.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.4 PDU Definitions @@ -43,6 +43,7 @@ IMPORTS Warning-Type, Warning-Security-Information, Warning-Message-Content, + Warning-Area-Coordinates, Send-Write-Replace-Warning-Indication, Broadcast-Scheduled-Area-List, Unknown-Tracking-Area-List, @@ -54,7 +55,20 @@ IMPORTS Global-ENB-ID, List-of-TAIs-Restart, List-of-EAIs-Restart, - Failed-Cell-List + Failed-Cell-List, + List-of-5GS-TAIs, + Warning-Area-List-5GS, + Global-RAN-Node-ID, + Global-GNB-ID, + RAT-Selector-5GS, + Unknown-5GS-Tracking-Area-List, + Broadcast-Scheduled-Area-List-5GS, + Broadcast-Cancelled-Area-List-5GS, + Broadcast-Empty-Area-List-5GS, + Restarted-Cell-List-NR, + Failed-Cell-List-NR, + List-of-5GS-TAI-for-Restart + FROM SBC-AP-IEs ProtocolExtensionContainer{}, @@ -77,7 +91,8 @@ FROM SBC-AP-Containers id-Repetition-Period, id-Extended-Repetition-Period, id-Warning-Area-List, - id-Warning-Message-Content, + id-Warning-Message-Content, + id-Warning-Area-Coordinates, id-Warning-Security-Information, id-Warning-Type, id-Send-Write-Replace-Warning-Indication, @@ -91,7 +106,20 @@ FROM SBC-AP-Containers id-Restarted-Cell-List, id-List-of-TAIs-Restart, id-List-of-EAIs-Restart, - id-Failed-Cell-List + id-Failed-Cell-List, + id-List-of-5GS-TAIs, + id-Warning-Area-List-5GS, + id-Global-RAN-Node-ID, + id-Global-GNB-ID, + id-RAT-Selector-5GS, + id-Unknown-5GS-Tracking-Area-List, + id-Broadcast-Scheduled-Area-List-5GS, + id-Broadcast-Cancelled-Area-List-5GS, + id-Broadcast-Empty-Area-List-5GS, + id-Restarted-Cell-List-NR, + id-Failed-Cell-List-NR, + id-List-of-5GS-TAI-for-Restart + FROM SBC-AP-Constants; -- ************************************************************** @@ -101,34 +129,39 @@ FROM SBC-AP-Constants; -- ************************************************************** Write-Replace-Warning-Request ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Request-IEs} }, - protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Request-Extensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Request-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Request-Extensions} } OPTIONAL, ... } Write-Replace-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } | - { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional } | - { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | - { ID id-Extended-Repetition-Period CRITICALITY reject TYPE Extended-Repetition-Period PRESENCE optional } | + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } | + { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Extended-Repetition-Period CRITICALITY reject TYPE Extended-Repetition-Period PRESENCE optional } | { ID id-Number-of-Broadcasts-Requested - CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | - { ID id-Warning-Type CRITICALITY ignore TYPE Warning-Type PRESENCE optional } | - { ID id-Warning-Security-Information CRITICALITY ignore TYPE Warning-Security-Information PRESENCE optional } | - { ID id-Data-Coding-Scheme CRITICALITY ignore TYPE Data-Coding-Scheme PRESENCE optional } | + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Warning-Type CRITICALITY ignore TYPE Warning-Type PRESENCE optional } | + { ID id-Warning-Security-Information CRITICALITY ignore TYPE Warning-Security-Information PRESENCE optional } | + { ID id-Data-Coding-Scheme CRITICALITY ignore TYPE Data-Coding-Scheme PRESENCE optional } | { ID id-Warning-Message-Content - CRITICALITY ignore TYPE Warning-Message-Content PRESENCE optional } | + CRITICALITY ignore TYPE Warning-Message-Content PRESENCE optional } | { ID id-Omc-Id CRITICALITY ignore TYPE Omc-Id PRESENCE optional } | { ID id-Concurrent-Warning-Message-Indicator CRITICALITY reject TYPE Concurrent-Warning-Message-Indicator PRESENCE optional } | { ID id-Send-Write-Replace-Warning-Indication CRITICALITY ignore TYPE Send-Write-Replace-Warning-Indication PRESENCE optional } | { ID id-Global-ENB-ID CRITICALITY ignore TYPE Global-ENB-ID PRESENCE optional }, - ... + ... , + {ID id-Warning-Area-Coordinates CRITICALITY ignore TYPE Warning-Area-Coordinates PRESENCE optional} } Write-Replace-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-List-of-5GS-TAIs CRITICALITY ignore EXTENSION List-of-5GS-TAIs PRESENCE optional }| + { ID id-Warning-Area-List-5GS CRITICALITY ignore EXTENSION Warning-Area-List-5GS PRESENCE optional }| + { ID id-Global-RAN-Node-ID CRITICALITY ignore EXTENSION Global-RAN-Node-ID PRESENCE optional }| + { ID id-RAT-Selector-5GS CRITICALITY ignore EXTENSION RAT-Selector-5GS PRESENCE optional }, ... } @@ -139,21 +172,22 @@ Write-Replace-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Write-Replace-Warning-Response ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Response-IEs} }, - protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Response-Extensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Response-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Response-Extensions} } OPTIONAL, ... } Write-Replace-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | - { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } | + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | + { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } | { ID id-Unknown-Tracking-Area-List CRITICALITY ignore TYPE List-of-TAIs PRESENCE optional }, ... } Write-Replace-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Unknown-5GS-Tracking-Area-List CRITICALITY ignore EXTENSION Unknown-5GS-Tracking-Area-List PRESENCE optional }, ... } @@ -164,23 +198,25 @@ Write-Replace-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Stop-Warning-Request ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Stop-Warning-Request-IEs} }, - protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Request-Extensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Stop-Warning-Request-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Request-Extensions} } OPTIONAL, ... } Stop-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } | - { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional }| + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } | + { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional }| { ID id-Omc-Id CRITICALITY ignore TYPE Omc-Id PRESENCE optional } | { ID id-Send-Stop-Warning-Indication CRITICALITY ignore TYPE Send-Stop-Warning-Indication PRESENCE optional } | { ID id-Stop-All-Indicator CRITICALITY reject TYPE Stop-All-Indicator PRESENCE optional}, -... + ... } Stop-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-List-of-5GS-TAIs CRITICALITY ignore EXTENSION List-of-5GS-TAIs PRESENCE optional }| + { ID id-Warning-Area-List-5GS CRITICALITY ignore EXTENSION Warning-Area-List-5GS PRESENCE optional } | { ID id-RAT-Selector-5GS CRITICALITY ignore EXTENSION RAT-Selector-5GS PRESENCE optional }, ... } @@ -191,21 +227,22 @@ Stop-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Stop-Warning-Response ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Stop-Warning-Response-IEs} }, - protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Response-Extensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Stop-Warning-Response-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Response-Extensions} } OPTIONAL, ... } Stop-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | - { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } | + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | + { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } | { ID id-Unknown-Tracking-Area-List CRITICALITY ignore TYPE List-of-TAIs PRESENCE optional }, ... } Stop-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Unknown-5GS-Tracking-Area-List CRITICALITY ignore EXTENSION Unknown-5GS-Tracking-Area-List PRESENCE optional }, ... } @@ -216,19 +253,21 @@ Stop-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Write-Replace-Warning-Indication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Indication-IEs} }, - protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Indication-Extensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Indication-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Indication-Extensions} } OPTIONAL, ... } Write-Replace-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-Broadcast-Scheduled-Area-List CRITICALITY reject TYPE Broadcast-Scheduled-Area-List PRESENCE optional }, + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-Broadcast-Scheduled-Area-List CRITICALITY reject TYPE Broadcast-Scheduled-Area-List PRESENCE optional }, ... } Write-Replace-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Broadcast-Scheduled-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Scheduled-Area-List-5GS PRESENCE optional }, + ... } @@ -239,20 +278,22 @@ Write-Replace-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Stop-Warning-Indication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Stop-Warning-Indication-IEs} }, + protocolIEs ProtocolIE-Container { {Stop-Warning-Indication-IEs} }, protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Indication-Extensions} } OPTIONAL, ... } Stop-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | - { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | - { ID id-Broadcast-Cancelled-Area-List CRITICALITY reject TYPE Broadcast-Cancelled-Area-List PRESENCE optional }| + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } | + { ID id-Broadcast-Cancelled-Area-List CRITICALITY reject TYPE Broadcast-Cancelled-Area-List PRESENCE optional }| { ID id-Broadcast-Empty-Area-List CRITICALITY ignore TYPE Broadcast-Empty-Area-List PRESENCE optional }, ... } Stop-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Broadcast-Cancelled-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Cancelled-Area-List-5GS PRESENCE optional }| + { ID id-Broadcast-Empty-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Empty-Area-List-5GS PRESENCE optional }, ... } @@ -263,7 +304,7 @@ Stop-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** PWS-Restart-Indication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {PWS-Restart-Indication-IEs} }, + protocolIEs ProtocolIE-Container { {PWS-Restart-Indication-IEs} }, protocolExtensions ProtocolExtensionContainer { {PWS-Restart-Indication-Extensions} } OPTIONAL, ... } @@ -277,6 +318,9 @@ PWS-Restart-Indication-IEs SBC-AP-PROTOCOL-IES ::= { } PWS-Restart-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Restarted-Cell-List-NR CRITICALITY ignore EXTENSION Restarted-Cell-List-NR PRESENCE optional }| + { ID id-List-of-5GS-TAI-for-Restart CRITICALITY ignore EXTENSION List-of-5GS-TAI-for-Restart PRESENCE optional }| +{ ID id-Global-GNB-ID CRITICALITY ignore EXTENSION Global-GNB-ID PRESENCE optional }, ... } @@ -287,7 +331,7 @@ PWS-Restart-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** PWS-Failure-Indication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {PWS-Failure-Indication-IEs} }, + protocolIEs ProtocolIE-Container { {PWS-Failure-Indication-IEs} }, protocolExtensions ProtocolExtensionContainer { {PWS-Failure-Indication-Extensions} } OPTIONAL, ... } @@ -299,6 +343,8 @@ PWS-Failure-Indication-IEs SBC-AP-PROTOCOL-IES ::= { } PWS-Failure-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { + { ID id-Failed-Cell-List-NR CRITICALITY ignore EXTENSION Failed-Cell-List-NR PRESENCE optional }| + { ID id-Global-GNB-ID CRITICALITY ignore EXTENSION Global-GNB-ID PRESENCE optional }, ... } @@ -315,13 +361,13 @@ PWS-Failure-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Error-Indication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}}, + protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}}, ... } ErrorIndicationIEs SBC-AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , ... } diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn index 89f3d89f78..fbb80d53b1 100644 --- a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn @@ -1,6 +1,6 @@ -- SBC-AP-PDU-Descriptions.asn -- --- Taken from 3GPP TS 29.168 V14.2.0 (2017-12) +-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09) -- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip -- -- 4.4.3 Elementary Procedure Definitions @@ -58,18 +58,18 @@ FROM SBC-AP-Constants; -- ************************************************************** SBC-AP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore } WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] } -- ************************************************************** @@ -87,20 +87,20 @@ SBC-AP-PDU ::= CHOICE { InitiatingMessage ::= SEQUENCE { procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}), - criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value SBC-AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) + criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SBC-AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) } SuccessfulOutcome ::= SEQUENCE { procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}), - criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value SBC-AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) + criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SBC-AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) } UnsuccessfulOutcome ::= SEQUENCE { procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}), - criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value SBC-AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) + criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SBC-AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}) } -- ************************************************************** @@ -116,8 +116,8 @@ SBC-AP-ELEMENTARY-PROCEDURES SBC-AP-ELEMENTARY-PROCEDURE ::= { } SBC-AP-ELEMENTARY-PROCEDURES-CLASS-1 SBC-AP-ELEMENTARY-PROCEDURE ::= { - write-Replace-Warning | - stop-Warning , + write-Replace-Warning | + stop-Warning , ... } @@ -134,47 +134,46 @@ write-Replace-Warning SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Write-Replace-Warning-Request SUCCESSFUL OUTCOME Write-Replace-Warning-Response - PROCEDURE CODE id-Write-Replace-Warning - CRITICALITY reject + PROCEDURE CODE id-Write-Replace-Warning + CRITICALITY reject } stop-Warning SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Stop-Warning-Request SUCCESSFUL OUTCOME Stop-Warning-Response - PROCEDURE CODE id-Stop-Warning - CRITICALITY reject + PROCEDURE CODE id-Stop-Warning + CRITICALITY reject } error-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Error-Indication - PROCEDURE CODE id-Error-Indication - CRITICALITY ignore + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore } write-Replace-Warning-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Write-Replace-Warning-Indication - PROCEDURE CODE id-Write-Replace-Warning-Indication - CRITICALITY ignore + PROCEDURE CODE id-Write-Replace-Warning-Indication + CRITICALITY ignore } stop-Warning-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Stop-Warning-Indication - PROCEDURE CODE id-Stop-Warning-Indication - CRITICALITY ignore + PROCEDURE CODE id-Stop-Warning-Indication + CRITICALITY ignore } pws-Restart-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE PWS-Restart-Indication - PROCEDURE CODE id-PWS-Restart-Indication - CRITICALITY ignore + PROCEDURE CODE id-PWS-Restart-Indication + CRITICALITY ignore } pws-Failure-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE PWS-Failure-Indication - PROCEDURE CODE id-PWS-Failure-Indication - CRITICALITY ignore + PROCEDURE CODE id-PWS-Failure-Indication + CRITICALITY ignore } END - diff --git a/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf index 8225235fae..2942770683 100644 --- a/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf +++ b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf @@ -23,6 +23,9 @@ TBCD-STRING # Get rid of unused code warnings ProtocolIE-ContainerList Presence +Unknown-Tracking-Area-List +NgENB-ID +List-of-5GS-Cells-for-Failure #.TYPE_RENAME @@ -158,6 +161,20 @@ id-List-of-TAIs-Restart ProtocolIE-ID id-List-of-EAIs-Restart ProtocolIE-ID id-Failed-Cell-List ProtocolIE-ID +id-List-of-5GS-TAIs ProtocolIE-ID +id-Warning-Area-List-5GS ProtocolIE-ID +id-Global-RAN-Node-ID ProtocolIE-ID +id-Global-GNB-ID ProtocolIE-ID +id-RAT-Selector-5GS ProtocolIE-ID +id-Unknown-5GS-Tracking-Area-List ProtocolIE-ID +id-Broadcast-Scheduled-Area-List-5GS ProtocolIE-ID +id-Broadcast-Cancelled-Area-List-5GS ProtocolIE-ID +id-Broadcast-Empty-Area-List-5GS ProtocolIE-ID +id-Restarted-Cell-List-NR ProtocolIE-ID +id-Failed-Cell-List-NR ProtocolIE-ID +id-List-of-5GS-TAI-for-Restart ProtocolIE-ID +id-Warning-Area-Coordinates ProtocolIE-ID + #.REGISTER #SBC-AP-PROTOCOL-IES @@ -197,6 +214,19 @@ List-of-TAIs-Restart N sbc_ap.ies id-List-of-TAIs-Restart List-of-EAIs-Restart N sbc_ap.ies id-List-of-EAIs-Restart Failed-Cell-List N sbc_ap.ies id-Failed-Cell-List +List-of-5GS-TAIs N sbc_ap.extension id-List-of-5GS-TAIs +Warning-Area-List-5GS N sbc_ap.extension id-Warning-Area-List-5GS +Global-RAN-Node-ID N sbc_ap.extension id-Global-RAN-Node-ID +Global-GNB-ID N sbc_ap.extension id-Global-GNB-ID +RAT-Selector-5GS N sbc_ap.extension id-RAT-Selector-5GS +Unknown-5GS-Tracking-Area-List N sbc_ap.extension id-Unknown-5GS-Tracking-Area-List +Broadcast-Scheduled-Area-List-5GS N sbc_ap.extension id-Broadcast-Scheduled-Area-List-5GS +Broadcast-Cancelled-Area-List-5GS N sbc_ap.extension id-Broadcast-Cancelled-Area-List-5GS +Broadcast-Empty-Area-List-5GS N sbc_ap.extension id-Broadcast-Empty-Area-List-5GS +Restarted-Cell-List-NR N sbc_ap.extension id-Restarted-Cell-List-NR +Failed-Cell-List-NR N sbc_ap.extension id-Failed-Cell-List-NR +List-of-5GS-TAI-for-Restart N sbc_ap.extension id-List-of-5GS-TAI-for-Restart +Warning-Area-Coordinates N sbc_ap.ies id-Warning-Area-Coordinates #SBC-AP-ELEMENTARY-PROCEDURE diff --git a/epan/dissectors/packet-sbc-ap.c b/epan/dissectors/packet-sbc-ap.c index 8c4fc39aba..764a9cc335 100644 --- a/epan/dissectors/packet-sbc-ap.c +++ b/epan/dissectors/packet-sbc-ap.c @@ -64,6 +64,13 @@ static dissector_handle_t sbc_ap_handle=NULL; #define maxnoofRestartTAIs 2048 #define maxnoofRestartEAIs 256 #define maxnoofFailedCells 256 +#define maxnoof5GSTAIs 2048 +#define maxnoofCellsingNB 16384 +#define maxnoofCellsin5GS 16776960 +#define maxnoofCellsin5GSTAI 65535 +#define maxnoofRANNodes 65535 +#define maxnoofRestart5GSTAIs 2048 +#define maxnoofCellsforRestartNR 16384 typedef enum _ProcedureCode_enum { id_Write_Replace_Warning = 0, @@ -109,7 +116,20 @@ typedef enum _ProtocolIE_ID_enum { id_Restarted_Cell_List = 30, id_List_of_TAIs_Restart = 31, id_List_of_EAIs_Restart = 32, - id_Failed_Cell_List = 33 + id_Failed_Cell_List = 33, + id_List_of_5GS_TAIs = 34, + id_Warning_Area_List_5GS = 35, + id_Global_RAN_Node_ID = 36, + id_Global_GNB_ID = 37, + id_RAT_Selector_5GS = 38, + id_Unknown_5GS_Tracking_Area_List = 39, + id_Broadcast_Scheduled_Area_List_5GS = 40, + id_Broadcast_Cancelled_Area_List_5GS = 41, + id_Broadcast_Empty_Area_List_5GS = 42, + id_Restarted_Cell_List_NR = 43, + id_Failed_Cell_List_NR = 44, + id_List_of_5GS_TAI_for_Restart = 45, + id_Warning_Area_Coordinates = 46 } ProtocolIE_ID_enum; /*--- End of included file: packet-sbc-ap-val.h ---*/ @@ -130,31 +150,44 @@ static int hf_sbc_ap_Warning_Message_Contents_decoded_page = -1; /*--- Included file: packet-sbc-ap-hf.c ---*/ #line 1 "./asn1/sbc-ap/packet-sbc-ap-hf.c" static int hf_sbc_ap_Broadcast_Scheduled_Area_List_PDU = -1; /* Broadcast_Scheduled_Area_List */ +static int hf_sbc_ap_Broadcast_Scheduled_Area_List_5GS_PDU = -1; /* Broadcast_Scheduled_Area_List_5GS */ static int hf_sbc_ap_Broadcast_Cancelled_Area_List_PDU = -1; /* Broadcast_Cancelled_Area_List */ +static int hf_sbc_ap_Broadcast_Cancelled_Area_List_5GS_PDU = -1; /* Broadcast_Cancelled_Area_List_5GS */ static int hf_sbc_ap_Broadcast_Empty_Area_List_PDU = -1; /* Broadcast_Empty_Area_List */ +static int hf_sbc_ap_Broadcast_Empty_Area_List_5GS_PDU = -1; /* Broadcast_Empty_Area_List_5GS */ static int hf_sbc_ap_Cause_PDU = -1; /* Cause */ static int hf_sbc_ap_Concurrent_Warning_Message_Indicator_PDU = -1; /* Concurrent_Warning_Message_Indicator */ static int hf_sbc_ap_Criticality_Diagnostics_PDU = -1; /* Criticality_Diagnostics */ static int hf_sbc_ap_Data_Coding_Scheme_PDU = -1; /* Data_Coding_Scheme */ static int hf_sbc_ap_Extended_Repetition_Period_PDU = -1; /* Extended_Repetition_Period */ static int hf_sbc_ap_Failed_Cell_List_PDU = -1; /* Failed_Cell_List */ +static int hf_sbc_ap_Failed_Cell_List_NR_PDU = -1; /* Failed_Cell_List_NR */ static int hf_sbc_ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */ +static int hf_sbc_ap_Global_RAN_Node_ID_PDU = -1; /* Global_RAN_Node_ID */ +static int hf_sbc_ap_Global_GNB_ID_PDU = -1; /* Global_GNB_ID */ static int hf_sbc_ap_List_of_TAIs_PDU = -1; /* List_of_TAIs */ static int hf_sbc_ap_List_of_TAIs_Restart_PDU = -1; /* List_of_TAIs_Restart */ static int hf_sbc_ap_List_of_EAIs_Restart_PDU = -1; /* List_of_EAIs_Restart */ +static int hf_sbc_ap_List_of_5GS_TAIs_PDU = -1; /* List_of_5GS_TAIs */ +static int hf_sbc_ap_List_of_5GS_TAI_for_Restart_PDU = -1; /* List_of_5GS_TAI_for_Restart */ static int hf_sbc_ap_Message_Identifier_PDU = -1; /* Message_Identifier */ static int hf_sbc_ap_Number_of_Broadcasts_Requested_PDU = -1; /* Number_of_Broadcasts_Requested */ static int hf_sbc_ap_Omc_Id_PDU = -1; /* Omc_Id */ static int hf_sbc_ap_Repetition_Period_PDU = -1; /* Repetition_Period */ static int hf_sbc_ap_Restarted_Cell_List_PDU = -1; /* Restarted_Cell_List */ +static int hf_sbc_ap_RAT_Selector_5GS_PDU = -1; /* RAT_Selector_5GS */ +static int hf_sbc_ap_Restarted_Cell_List_NR_PDU = -1; /* Restarted_Cell_List_NR */ static int hf_sbc_ap_Send_Write_Replace_Warning_Indication_PDU = -1; /* Send_Write_Replace_Warning_Indication */ static int hf_sbc_ap_Send_Stop_Warning_Indication_PDU = -1; /* Send_Stop_Warning_Indication */ static int hf_sbc_ap_Serial_Number_PDU = -1; /* Serial_Number */ static int hf_sbc_ap_Stop_All_Indicator_PDU = -1; /* Stop_All_Indicator */ +static int hf_sbc_ap_Unknown_5GS_Tracking_Area_List_PDU = -1; /* Unknown_5GS_Tracking_Area_List */ static int hf_sbc_ap_Warning_Area_List_PDU = -1; /* Warning_Area_List */ static int hf_sbc_ap_Warning_Message_Content_PDU = -1; /* Warning_Message_Content */ +static int hf_sbc_ap_Warning_Area_Coordinates_PDU = -1; /* Warning_Area_Coordinates */ static int hf_sbc_ap_Warning_Security_Information_PDU = -1; /* Warning_Security_Information */ static int hf_sbc_ap_Warning_Type_PDU = -1; /* Warning_Type */ +static int hf_sbc_ap_Warning_Area_List_5GS_PDU = -1; /* Warning_Area_List_5GS */ static int hf_sbc_ap_Write_Replace_Warning_Request_PDU = -1; /* Write_Replace_Warning_Request */ static int hf_sbc_ap_Write_Replace_Warning_Response_PDU = -1; /* Write_Replace_Warning_Response */ static int hf_sbc_ap_Stop_Warning_Request_PDU = -1; /* Stop_Warning_Request */ @@ -176,16 +209,25 @@ static int hf_sbc_ap_cellId_Broadcast_List = -1; /* CellId_Broadcast_List */ static int hf_sbc_ap_tAI_Broadcast_List = -1; /* TAI_Broadcast_List */ static int hf_sbc_ap_emergencyAreaID_Broadcast_List = -1; /* EmergencyAreaID_Broadcast_List */ static int hf_sbc_ap_iE_Extensions = -1; /* ProtocolExtensionContainer */ +static int hf_sbc_ap_cellId_Broadcast_List_5GS = -1; /* CellId_Broadcast_List_5GS */ +static int hf_sbc_ap_tAI_Broadcast_List_5GS = -1; /* TAI_Broadcast_List_5GS */ static int hf_sbc_ap_cellID_Cancelled_List = -1; /* CellID_Cancelled_List */ static int hf_sbc_ap_tAI_Cancelled_List = -1; /* TAI_Cancelled_List */ static int hf_sbc_ap_emergencyAreaID_Cancelled_List = -1; /* EmergencyAreaID_Cancelled_List */ +static int hf_sbc_ap_cellID_Cancelled_List_5GS = -1; /* CellID_Cancelled_List_5GS */ +static int hf_sbc_ap_tAI_Cancelled_List_5GS = -1; /* TAI_Cancelled_List_5GS */ static int hf_sbc_ap_Broadcast_Empty_Area_List_item = -1; /* Global_ENB_ID */ +static int hf_sbc_ap_Broadcast_Empty_Area_List_5GS_item = -1; /* Global_RAN_Node_ID */ static int hf_sbc_ap_CancelledCellinEAI_item = -1; /* CancelledCellinEAI_Item */ static int hf_sbc_ap_eCGI = -1; /* EUTRAN_CGI */ static int hf_sbc_ap_numberOfBroadcasts = -1; /* NumberOfBroadcasts */ static int hf_sbc_ap_CancelledCellinTAI_item = -1; /* CancelledCellinTAI_Item */ +static int hf_sbc_ap_CancelledCellinTAI_5GS_item = -1; /* CancelledCellinTAI_5GS_item */ +static int hf_sbc_ap_nR_CGI = -1; /* NR_CGI */ static int hf_sbc_ap_CellId_Broadcast_List_item = -1; /* CellId_Broadcast_List_Item */ +static int hf_sbc_ap_CellId_Broadcast_List_5GS_item = -1; /* CellId_Broadcast_List_5GS_item */ static int hf_sbc_ap_CellID_Cancelled_List_item = -1; /* CellID_Cancelled_Item */ +static int hf_sbc_ap_CellID_Cancelled_List_5GS_item = -1; /* CellID_Cancelled_List_5GS_item */ static int hf_sbc_ap_procedureCode = -1; /* ProcedureCode */ static int hf_sbc_ap_triggeringMessage = -1; /* TriggeringMessage */ static int hf_sbc_ap_procedureCriticality = -1; /* Criticality */ @@ -208,24 +250,46 @@ static int hf_sbc_ap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */ static int hf_sbc_ap_short_macroENB_ID = -1; /* BIT_STRING_SIZE_18 */ static int hf_sbc_ap_long_macroENB_ID = -1; /* BIT_STRING_SIZE_21 */ static int hf_sbc_ap_Failed_Cell_List_item = -1; /* EUTRAN_CGI */ +static int hf_sbc_ap_Failed_Cell_List_NR_item = -1; /* NR_CGI */ static int hf_sbc_ap_eNB_ID = -1; /* ENB_ID */ +static int hf_sbc_ap_global_GNB_ID = -1; /* Global_GNB_ID */ +static int hf_sbc_ap_global_NgENB_ID = -1; /* Global_NgENB_ID */ +static int hf_sbc_ap_gNB_ID = -1; /* GNB_ID */ +static int hf_sbc_ap_gNB_ID_01 = -1; /* BIT_STRING_SIZE_22_32 */ +static int hf_sbc_ap_ngENB_ID = -1; /* ENB_ID */ static int hf_sbc_ap_List_of_TAIs_item = -1; /* List_of_TAIs_item */ static int hf_sbc_ap_tai = -1; /* TAI */ static int hf_sbc_ap_List_of_TAIs_Restart_item = -1; /* List_of_TAIs_Restart_item */ static int hf_sbc_ap_List_of_EAIs_Restart_item = -1; /* Emergency_Area_ID */ +static int hf_sbc_ap_List_of_5GS_TAIs_item = -1; /* TAI_5GS */ +static int hf_sbc_ap_List_of_5GS_TAI_for_Restart_item = -1; /* TAI_5GS */ +static int hf_sbc_ap_NR_CGIList_item = -1; /* NR_CGI */ +static int hf_sbc_ap_nRCellIdentity = -1; /* NRCellIdentity */ static int hf_sbc_ap_Restarted_Cell_List_item = -1; /* EUTRAN_CGI */ +static int hf_sbc_ap_Restarted_Cell_List_NR_item = -1; /* NR_CGI */ static int hf_sbc_ap_ScheduledCellinEAI_item = -1; /* ScheduledCellinEAI_Item */ static int hf_sbc_ap_ScheduledCellinTAI_item = -1; /* ScheduledCellinTAI_Item */ +static int hf_sbc_ap_ScheduledCellinTAI_5GS_item = -1; /* ScheduledCellinTAI_5GS_item */ static int hf_sbc_ap_TAI_Broadcast_List_item = -1; /* TAI_Broadcast_List_Item */ static int hf_sbc_ap_tAI = -1; /* TAI */ static int hf_sbc_ap_scheduledCellinTAI = -1; /* ScheduledCellinTAI */ +static int hf_sbc_ap_TAI_Broadcast_List_5GS_item = -1; /* TAI_Broadcast_List_5GS_item */ +static int hf_sbc_ap_tAI_5GS = -1; /* TAI_5GS */ +static int hf_sbc_ap_scheduledCellinTAI_5GS = -1; /* ScheduledCellinTAI_5GS */ static int hf_sbc_ap_TAI_Cancelled_List_item = -1; /* TAI_Cancelled_List_Item */ static int hf_sbc_ap_cancelledCellinTAI = -1; /* CancelledCellinTAI */ +static int hf_sbc_ap_TAI_Cancelled_List_5GS_item = -1; /* TAI_Cancelled_List_5GS_item */ +static int hf_sbc_ap_cancelledCellinTAI_5GS = -1; /* CancelledCellinTAI_5GS */ static int hf_sbc_ap_TAI_List_for_Warning_item = -1; /* TAI */ static int hf_sbc_ap_tAC = -1; /* TAC */ +static int hf_sbc_ap_tAC_5GS = -1; /* TAC_5GS */ +static int hf_sbc_ap_Unknown_5GS_Tracking_Area_List_item = -1; /* TAI_5GS */ static int hf_sbc_ap_cell_ID_List = -1; /* ECGIList */ static int hf_sbc_ap_tracking_Area_List_for_Warning = -1; /* TAI_List_for_Warning */ static int hf_sbc_ap_emergency_Area_ID_List = -1; /* Emergency_Area_ID_List */ +static int hf_sbc_ap_nR_CGIList = -1; /* NR_CGIList */ +static int hf_sbc_ap_tAIList_5GS = -1; /* TAI_5GS */ +static int hf_sbc_ap_emergencyAreaIDList = -1; /* Emergency_Area_ID_List */ static int hf_sbc_ap_protocolIEs = -1; /* ProtocolIE_Container */ static int hf_sbc_ap_protocolExtensions = -1; /* ProtocolExtensionContainer */ static int hf_sbc_ap_initiatingMessage = -1; /* InitiatingMessage */ @@ -253,16 +317,25 @@ static gint ett_sbc_ap_ProtocolIE_Field = -1; static gint ett_sbc_ap_ProtocolExtensionContainer = -1; static gint ett_sbc_ap_ProtocolExtensionField = -1; static gint ett_sbc_ap_Broadcast_Scheduled_Area_List = -1; +static gint ett_sbc_ap_Broadcast_Scheduled_Area_List_5GS = -1; static gint ett_sbc_ap_Broadcast_Cancelled_Area_List = -1; +static gint ett_sbc_ap_Broadcast_Cancelled_Area_List_5GS = -1; static gint ett_sbc_ap_Broadcast_Empty_Area_List = -1; +static gint ett_sbc_ap_Broadcast_Empty_Area_List_5GS = -1; static gint ett_sbc_ap_CancelledCellinEAI = -1; static gint ett_sbc_ap_CancelledCellinEAI_Item = -1; static gint ett_sbc_ap_CancelledCellinTAI = -1; static gint ett_sbc_ap_CancelledCellinTAI_Item = -1; +static gint ett_sbc_ap_CancelledCellinTAI_5GS = -1; +static gint ett_sbc_ap_CancelledCellinTAI_5GS_item = -1; static gint ett_sbc_ap_CellId_Broadcast_List = -1; static gint ett_sbc_ap_CellId_Broadcast_List_Item = -1; +static gint ett_sbc_ap_CellId_Broadcast_List_5GS = -1; +static gint ett_sbc_ap_CellId_Broadcast_List_5GS_item = -1; static gint ett_sbc_ap_CellID_Cancelled_List = -1; static gint ett_sbc_ap_CellID_Cancelled_Item = -1; +static gint ett_sbc_ap_CellID_Cancelled_List_5GS = -1; +static gint ett_sbc_ap_CellID_Cancelled_List_5GS_item = -1; static gint ett_sbc_ap_Criticality_Diagnostics = -1; static gint ett_sbc_ap_CriticalityDiagnostics_IE_List = -1; static gint ett_sbc_ap_CriticalityDiagnostics_IE_List_item = -1; @@ -275,24 +348,43 @@ static gint ett_sbc_ap_EmergencyAreaID_Cancelled_Item = -1; static gint ett_sbc_ap_EUTRAN_CGI = -1; static gint ett_sbc_ap_ENB_ID = -1; static gint ett_sbc_ap_Failed_Cell_List = -1; +static gint ett_sbc_ap_Failed_Cell_List_NR = -1; static gint ett_sbc_ap_Global_ENB_ID = -1; +static gint ett_sbc_ap_Global_RAN_Node_ID = -1; +static gint ett_sbc_ap_Global_GNB_ID = -1; +static gint ett_sbc_ap_GNB_ID = -1; +static gint ett_sbc_ap_Global_NgENB_ID = -1; static gint ett_sbc_ap_List_of_TAIs = -1; static gint ett_sbc_ap_List_of_TAIs_item = -1; static gint ett_sbc_ap_List_of_TAIs_Restart = -1; static gint ett_sbc_ap_List_of_TAIs_Restart_item = -1; static gint ett_sbc_ap_List_of_EAIs_Restart = -1; +static gint ett_sbc_ap_List_of_5GS_TAIs = -1; +static gint ett_sbc_ap_List_of_5GS_TAI_for_Restart = -1; +static gint ett_sbc_ap_NR_CGIList = -1; +static gint ett_sbc_ap_NR_CGI = -1; static gint ett_sbc_ap_Restarted_Cell_List = -1; +static gint ett_sbc_ap_Restarted_Cell_List_NR = -1; static gint ett_sbc_ap_ScheduledCellinEAI = -1; static gint ett_sbc_ap_ScheduledCellinEAI_Item = -1; static gint ett_sbc_ap_ScheduledCellinTAI = -1; static gint ett_sbc_ap_ScheduledCellinTAI_Item = -1; +static gint ett_sbc_ap_ScheduledCellinTAI_5GS = -1; +static gint ett_sbc_ap_ScheduledCellinTAI_5GS_item = -1; static gint ett_sbc_ap_TAI_Broadcast_List = -1; static gint ett_sbc_ap_TAI_Broadcast_List_Item = -1; +static gint ett_sbc_ap_TAI_Broadcast_List_5GS = -1; +static gint ett_sbc_ap_TAI_Broadcast_List_5GS_item = -1; static gint ett_sbc_ap_TAI_Cancelled_List = -1; static gint ett_sbc_ap_TAI_Cancelled_List_Item = -1; +static gint ett_sbc_ap_TAI_Cancelled_List_5GS = -1; +static gint ett_sbc_ap_TAI_Cancelled_List_5GS_item = -1; static gint ett_sbc_ap_TAI_List_for_Warning = -1; static gint ett_sbc_ap_TAI = -1; +static gint ett_sbc_ap_TAI_5GS = -1; +static gint ett_sbc_ap_Unknown_5GS_Tracking_Area_List = -1; static gint ett_sbc_ap_Warning_Area_List = -1; +static gint ett_sbc_ap_Warning_Area_List_5GS = -1; static gint ett_sbc_ap_Write_Replace_Warning_Request = -1; static gint ett_sbc_ap_Write_Replace_Warning_Response = -1; static gint ett_sbc_ap_Stop_Warning_Request = -1; @@ -389,7 +481,7 @@ dissect_sbc_ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &ProcedureCode, FALSE); -#line 62 "./asn1/sbc-ap/sbc-ap.cnf" +#line 65 "./asn1/sbc-ap/sbc-ap.cnf" col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(ProcedureCode, sbc_ap_ProcedureCode_vals, "unknown message")); @@ -443,6 +535,19 @@ static const value_string sbc_ap_ProtocolIE_ID_vals[] = { { id_List_of_TAIs_Restart, "id-List-of-TAIs-Restart" }, { id_List_of_EAIs_Restart, "id-List-of-EAIs-Restart" }, { id_Failed_Cell_List, "id-Failed-Cell-List" }, + { id_List_of_5GS_TAIs, "id-List-of-5GS-TAIs" }, + { id_Warning_Area_List_5GS, "id-Warning-Area-List-5GS" }, + { id_Global_RAN_Node_ID, "id-Global-RAN-Node-ID" }, + { id_Global_GNB_ID, "id-Global-GNB-ID" }, + { id_RAT_Selector_5GS, "id-RAT-Selector-5GS" }, + { id_Unknown_5GS_Tracking_Area_List, "id-Unknown-5GS-Tracking-Area-List" }, + { id_Broadcast_Scheduled_Area_List_5GS, "id-Broadcast-Scheduled-Area-List-5GS" }, + { id_Broadcast_Cancelled_Area_List_5GS, "id-Broadcast-Cancelled-Area-List-5GS" }, + { id_Broadcast_Empty_Area_List_5GS, "id-Broadcast-Empty-Area-List-5GS" }, + { id_Restarted_Cell_List_NR, "id-Restarted-Cell-List-NR" }, + { id_Failed_Cell_List_NR, "id-Failed-Cell-List-NR" }, + { id_List_of_5GS_TAI_for_Restart, "id-List-of-5GS-TAI-for-Restart" }, + { id_Warning_Area_Coordinates, "id-Warning-Area-Coordinates" }, { 0, NULL } }; @@ -452,7 +557,7 @@ dissect_sbc_ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &ProtocolIE_ID, FALSE); -#line 45 "./asn1/sbc-ap/sbc-ap.cnf" +#line 48 "./asn1/sbc-ap/sbc-ap.cnf" if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(sbc_ap_ProtocolIE_ID_vals), "unknown (%d)")); } @@ -561,7 +666,7 @@ dissect_sbc_ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_sbc_ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 99 "./asn1/sbc-ap/sbc-ap.cnf" +#line 102 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -805,6 +910,163 @@ dissect_sbc_ap_Broadcast_Scheduled_Area_List(tvbuff_t *tvb _U_, int offset _U_, +static int +dissect_sbc_ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 36, 36, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t NR_CGI_sequence[] = { + { &hf_sbc_ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_PLMNidentity }, + { &hf_sbc_ap_nRCellIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NRCellIdentity }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_NR_CGI, NR_CGI_sequence); + + return offset; +} + + +static const per_sequence_t CellId_Broadcast_List_5GS_item_sequence[] = { + { &hf_sbc_ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_CellId_Broadcast_List_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CellId_Broadcast_List_5GS_item, CellId_Broadcast_List_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t CellId_Broadcast_List_5GS_sequence_of[1] = { + { &hf_sbc_ap_CellId_Broadcast_List_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_CellId_Broadcast_List_5GS_item }, +}; + +static int +dissect_sbc_ap_CellId_Broadcast_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CellId_Broadcast_List_5GS, CellId_Broadcast_List_5GS_sequence_of, + 1, maxnoofCellsin5GS, FALSE); + + return offset; +} + + + +static int +dissect_sbc_ap_TAC_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t TAI_5GS_sequence[] = { + { &hf_sbc_ap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_PLMNidentity }, + { &hf_sbc_ap_tAC_5GS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAC_5GS }, + { &hf_sbc_ap_iE_Extensions, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_TAI_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_TAI_5GS, TAI_5GS_sequence); + + return offset; +} + + +static const per_sequence_t ScheduledCellinTAI_5GS_item_sequence[] = { + { &hf_sbc_ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_ScheduledCellinTAI_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_ScheduledCellinTAI_5GS_item, ScheduledCellinTAI_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t ScheduledCellinTAI_5GS_sequence_of[1] = { + { &hf_sbc_ap_ScheduledCellinTAI_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_ScheduledCellinTAI_5GS_item }, +}; + +static int +dissect_sbc_ap_ScheduledCellinTAI_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_ScheduledCellinTAI_5GS, ScheduledCellinTAI_5GS_sequence_of, + 1, maxnoofCellsin5GSTAI, FALSE); + + return offset; +} + + +static const per_sequence_t TAI_Broadcast_List_5GS_item_sequence[] = { + { &hf_sbc_ap_tAI_5GS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_5GS }, + { &hf_sbc_ap_scheduledCellinTAI_5GS, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_ScheduledCellinTAI_5GS }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_TAI_Broadcast_List_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_TAI_Broadcast_List_5GS_item, TAI_Broadcast_List_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t TAI_Broadcast_List_5GS_sequence_of[1] = { + { &hf_sbc_ap_TAI_Broadcast_List_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_Broadcast_List_5GS_item }, +}; + +static int +dissect_sbc_ap_TAI_Broadcast_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_TAI_Broadcast_List_5GS, TAI_Broadcast_List_5GS_sequence_of, + 1, maxnoof5GSTAIs, FALSE); + + return offset; +} + + +static const per_sequence_t Broadcast_Scheduled_Area_List_5GS_sequence[] = { + { &hf_sbc_ap_cellId_Broadcast_List_5GS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_CellId_Broadcast_List_5GS }, + { &hf_sbc_ap_tAI_Broadcast_List_5GS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_TAI_Broadcast_List_5GS }, + { &hf_sbc_ap_emergencyAreaID_Broadcast_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_EmergencyAreaID_Broadcast_List }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_Broadcast_Scheduled_Area_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Broadcast_Scheduled_Area_List_5GS, Broadcast_Scheduled_Area_List_5GS_sequence); + + return offset; +} + + + static int dissect_sbc_ap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -981,6 +1243,113 @@ dissect_sbc_ap_Broadcast_Cancelled_Area_List(tvbuff_t *tvb _U_, int offset _U_, } +static const per_sequence_t CellID_Cancelled_List_5GS_item_sequence[] = { + { &hf_sbc_ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, + { &hf_sbc_ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NumberOfBroadcasts }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_CellID_Cancelled_List_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CellID_Cancelled_List_5GS_item, CellID_Cancelled_List_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t CellID_Cancelled_List_5GS_sequence_of[1] = { + { &hf_sbc_ap_CellID_Cancelled_List_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_CellID_Cancelled_List_5GS_item }, +}; + +static int +dissect_sbc_ap_CellID_Cancelled_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CellID_Cancelled_List_5GS, CellID_Cancelled_List_5GS_sequence_of, + 1, maxnoofCellsin5GS, FALSE); + + return offset; +} + + +static const per_sequence_t CancelledCellinTAI_5GS_item_sequence[] = { + { &hf_sbc_ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, + { &hf_sbc_ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NumberOfBroadcasts }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_CancelledCellinTAI_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CancelledCellinTAI_5GS_item, CancelledCellinTAI_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t CancelledCellinTAI_5GS_sequence_of[1] = { + { &hf_sbc_ap_CancelledCellinTAI_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_CancelledCellinTAI_5GS_item }, +}; + +static int +dissect_sbc_ap_CancelledCellinTAI_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_CancelledCellinTAI_5GS, CancelledCellinTAI_5GS_sequence_of, + 1, maxnoofCellsin5GSTAI, FALSE); + + return offset; +} + + +static const per_sequence_t TAI_Cancelled_List_5GS_item_sequence[] = { + { &hf_sbc_ap_tAI_5GS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_5GS }, + { &hf_sbc_ap_cancelledCellinTAI_5GS, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_CancelledCellinTAI_5GS }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_TAI_Cancelled_List_5GS_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_TAI_Cancelled_List_5GS_item, TAI_Cancelled_List_5GS_item_sequence); + + return offset; +} + + +static const per_sequence_t TAI_Cancelled_List_5GS_sequence_of[1] = { + { &hf_sbc_ap_TAI_Cancelled_List_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_Cancelled_List_5GS_item }, +}; + +static int +dissect_sbc_ap_TAI_Cancelled_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_TAI_Cancelled_List_5GS, TAI_Cancelled_List_5GS_sequence_of, + 1, maxnoof5GSTAIs, FALSE); + + return offset; +} + + +static const per_sequence_t Broadcast_Cancelled_Area_List_5GS_sequence[] = { + { &hf_sbc_ap_cellID_Cancelled_List_5GS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_CellID_Cancelled_List_5GS }, + { &hf_sbc_ap_tAI_Cancelled_List_5GS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_TAI_Cancelled_List_5GS }, + { &hf_sbc_ap_emergencyAreaID_Cancelled_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_EmergencyAreaID_Cancelled_List }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_Broadcast_Cancelled_Area_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Broadcast_Cancelled_Area_List_5GS, Broadcast_Cancelled_Area_List_5GS_sequence); + + return offset; +} + + static int dissect_sbc_ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -1077,6 +1446,104 @@ dissect_sbc_ap_Broadcast_Empty_Area_List(tvbuff_t *tvb _U_, int offset _U_, asn1 } + +static int +dissect_sbc_ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 22, 32, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string sbc_ap_GNB_ID_vals[] = { + { 0, "gNB-ID" }, + { 0, NULL } +}; + +static const per_choice_t GNB_ID_choice[] = { + { 0, &hf_sbc_ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , dissect_sbc_ap_BIT_STRING_SIZE_22_32 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_sbc_ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_GNB_ID, GNB_ID_choice, + NULL); + + return offset; +} + + +static const per_sequence_t Global_GNB_ID_sequence[] = { + { &hf_sbc_ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_PLMNidentity }, + { &hf_sbc_ap_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_GNB_ID }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_Global_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Global_GNB_ID, Global_GNB_ID_sequence); + + return offset; +} + + +static const per_sequence_t Global_NgENB_ID_sequence[] = { + { &hf_sbc_ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_PLMNidentity }, + { &hf_sbc_ap_ngENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_ENB_ID }, + { &hf_sbc_ap_iE_Extensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_sbc_ap_Global_NgENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Global_NgENB_ID, Global_NgENB_ID_sequence); + + return offset; +} + + +static const value_string sbc_ap_Global_RAN_Node_ID_vals[] = { + { 0, "global-GNB-ID" }, + { 1, "global-NgENB-ID" }, + { 0, NULL } +}; + +static const per_choice_t Global_RAN_Node_ID_choice[] = { + { 0, &hf_sbc_ap_global_GNB_ID, ASN1_EXTENSION_ROOT , dissect_sbc_ap_Global_GNB_ID }, + { 1, &hf_sbc_ap_global_NgENB_ID, ASN1_EXTENSION_ROOT , dissect_sbc_ap_Global_NgENB_ID }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_sbc_ap_Global_RAN_Node_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Global_RAN_Node_ID, Global_RAN_Node_ID_choice, + NULL); + + return offset; +} + + +static const per_sequence_t Broadcast_Empty_Area_List_5GS_sequence_of[1] = { + { &hf_sbc_ap_Broadcast_Empty_Area_List_5GS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_Global_RAN_Node_ID }, +}; + +static int +dissect_sbc_ap_Broadcast_Empty_Area_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Broadcast_Empty_Area_List_5GS, Broadcast_Empty_Area_List_5GS_sequence_of, + 1, maxnoofRANNodes, FALSE); + + return offset; +} + + static const value_string sbc_ap_Cause_vals[] = { { 0, "message-accepted" }, { 1, "parameter-not-recognised" }, @@ -1193,7 +1660,7 @@ dissect_sbc_ap_Criticality_Diagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_sbc_ap_Data_Coding_Scheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 268 "./asn1/sbc-ap/sbc-ap.cnf" +#line 298 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -1264,6 +1731,20 @@ dissect_sbc_ap_Failed_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +static const per_sequence_t Failed_Cell_List_NR_sequence_of[1] = { + { &hf_sbc_ap_Failed_Cell_List_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, +}; + +static int +dissect_sbc_ap_Failed_Cell_List_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Failed_Cell_List_NR, Failed_Cell_List_NR_sequence_of, + 1, maxnoofCellsingNB, FALSE); + + return offset; +} + + static const per_sequence_t List_of_TAIs_item_sequence[] = { { &hf_sbc_ap_tai , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI }, { NULL, 0, 0, NULL } @@ -1334,10 +1815,38 @@ dissect_sbc_ap_List_of_EAIs_Restart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t List_of_5GS_TAIs_sequence_of[1] = { + { &hf_sbc_ap_List_of_5GS_TAIs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_5GS }, +}; + +static int +dissect_sbc_ap_List_of_5GS_TAIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_List_of_5GS_TAIs, List_of_5GS_TAIs_sequence_of, + 1, maxnoof5GSTAIs, FALSE); + + return offset; +} + + +static const per_sequence_t List_of_5GS_TAI_for_Restart_sequence_of[1] = { + { &hf_sbc_ap_List_of_5GS_TAI_for_Restart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_5GS }, +}; + +static int +dissect_sbc_ap_List_of_5GS_TAI_for_Restart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_List_of_5GS_TAI_for_Restart, List_of_5GS_TAI_for_Restart_sequence_of, + 1, maxnoofRestart5GSTAIs, FALSE); + + return offset; +} + + static int dissect_sbc_ap_Message_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 234 "./asn1/sbc-ap/sbc-ap.cnf" +#line 264 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 16, 16, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -1362,6 +1871,20 @@ dissect_sbc_ap_Number_of_Broadcasts_Requested(tvbuff_t *tvb _U_, int offset _U_, } +static const per_sequence_t NR_CGIList_sequence_of[1] = { + { &hf_sbc_ap_NR_CGIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, +}; + +static int +dissect_sbc_ap_NR_CGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_NR_CGIList, NR_CGIList_sequence_of, + 1, maxnoofCellsingNB, FALSE); + + return offset; +} + + static int dissect_sbc_ap_Omc_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -1396,6 +1919,35 @@ dissect_sbc_ap_Restarted_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string sbc_ap_RAT_Selector_5GS_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_sbc_ap_RAT_Selector_5GS(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, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t Restarted_Cell_List_NR_sequence_of[1] = { + { &hf_sbc_ap_Restarted_Cell_List_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_NR_CGI }, +}; + +static int +dissect_sbc_ap_Restarted_Cell_List_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Restarted_Cell_List_NR, Restarted_Cell_List_NR_sequence_of, + 1, maxnoofCellsforRestartNR, FALSE); + + return offset; +} + + static const value_string sbc_ap_Send_Write_Replace_Warning_Indication_vals[] = { { 0, "true" }, { 0, NULL } @@ -1429,7 +1981,7 @@ dissect_sbc_ap_Send_Stop_Warning_Indication(tvbuff_t *tvb _U_, int offset _U_, a static int dissect_sbc_ap_Serial_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 241 "./asn1/sbc-ap/sbc-ap.cnf" +#line 271 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -1476,6 +2028,20 @@ dissect_sbc_ap_TAI_List_for_Warning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t Unknown_5GS_Tracking_Area_List_sequence_of[1] = { + { &hf_sbc_ap_Unknown_5GS_Tracking_Area_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_sbc_ap_TAI_5GS }, +}; + +static int +dissect_sbc_ap_Unknown_5GS_Tracking_Area_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Unknown_5GS_Tracking_Area_List, Unknown_5GS_Tracking_Area_List_sequence_of, + 1, maxnoof5GSTAIs, FALSE); + + return offset; +} + + static const value_string sbc_ap_Warning_Area_List_vals[] = { { 0, "cell-ID-List" }, { 1, "tracking-Area-List-for-Warning" }, @@ -1503,7 +2069,7 @@ dissect_sbc_ap_Warning_Area_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_sbc_ap_Warning_Message_Content(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 279 "./asn1/sbc-ap/sbc-ap.cnf" +#line 309 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 9600, FALSE, ¶meter_tvb); @@ -1522,6 +2088,16 @@ dissect_sbc_ap_Warning_Message_Content(tvbuff_t *tvb _U_, int offset _U_, asn1_c +static int +dissect_sbc_ap_Warning_Area_Coordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 1024, FALSE, NULL); + + return offset; +} + + + static int dissect_sbc_ap_Warning_Security_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -1534,7 +2110,7 @@ dissect_sbc_ap_Warning_Security_Information(tvbuff_t *tvb _U_, int offset _U_, a static int dissect_sbc_ap_Warning_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 257 "./asn1/sbc-ap/sbc-ap.cnf" +#line 287 "./asn1/sbc-ap/sbc-ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 2, 2, FALSE, ¶meter_tvb); @@ -1553,6 +2129,32 @@ dissect_sbc_ap_Warning_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string sbc_ap_Warning_Area_List_5GS_vals[] = { + { 0, "cell-ID-List" }, + { 1, "nR-CGIList" }, + { 2, "tAIList-5GS" }, + { 3, "emergencyAreaIDList" }, + { 0, NULL } +}; + +static const per_choice_t Warning_Area_List_5GS_choice[] = { + { 0, &hf_sbc_ap_cell_ID_List , ASN1_EXTENSION_ROOT , dissect_sbc_ap_ECGIList }, + { 1, &hf_sbc_ap_nR_CGIList , ASN1_EXTENSION_ROOT , dissect_sbc_ap_NR_CGIList }, + { 2, &hf_sbc_ap_tAIList_5GS , ASN1_EXTENSION_ROOT , dissect_sbc_ap_TAI_5GS }, + { 3, &hf_sbc_ap_emergencyAreaIDList, ASN1_EXTENSION_ROOT , dissect_sbc_ap_Emergency_Area_ID_List }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_sbc_ap_Warning_Area_List_5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_sbc_ap_Warning_Area_List_5GS, Warning_Area_List_5GS_choice, + NULL); + + return offset; +} + + static const per_sequence_t Write_Replace_Warning_Request_sequence[] = { { &hf_sbc_ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sbc_ap_ProtocolIE_Container }, { &hf_sbc_ap_protocolExtensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_sbc_ap_ProtocolExtensionContainer }, @@ -1621,7 +2223,7 @@ static const per_sequence_t Write_Replace_Warning_Indication_sequence[] = { static int dissect_sbc_ap_Write_Replace_Warning_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 225 "./asn1/sbc-ap/sbc-ap.cnf" +#line 255 "./asn1/sbc-ap/sbc-ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Indication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -1639,7 +2241,7 @@ static const per_sequence_t Stop_Warning_Indication_sequence[] = { static int dissect_sbc_ap_Stop_Warning_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 227 "./asn1/sbc-ap/sbc-ap.cnf" +#line 257 "./asn1/sbc-ap/sbc-ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Indication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -1657,7 +2259,7 @@ static const per_sequence_t PWS_Restart_Indication_sequence[] = { static int dissect_sbc_ap_PWS_Restart_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 229 "./asn1/sbc-ap/sbc-ap.cnf" +#line 259 "./asn1/sbc-ap/sbc-ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Restart-Indication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -1675,7 +2277,7 @@ static const per_sequence_t PWS_Failure_Indication_sequence[] = { static int dissect_sbc_ap_PWS_Failure_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 231 "./asn1/sbc-ap/sbc-ap.cnf" +#line 261 "./asn1/sbc-ap/sbc-ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Failure-Indication"); @@ -1808,6 +2410,14 @@ static int dissect_Broadcast_Scheduled_Area_List_PDU(tvbuff_t *tvb _U_, packet_i offset += 7; offset >>= 3; return offset; } +static int dissect_Broadcast_Scheduled_Area_List_5GS_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_sbc_ap_Broadcast_Scheduled_Area_List_5GS(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Broadcast_Scheduled_Area_List_5GS_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Broadcast_Cancelled_Area_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1816,6 +2426,14 @@ static int dissect_Broadcast_Cancelled_Area_List_PDU(tvbuff_t *tvb _U_, packet_i offset += 7; offset >>= 3; return offset; } +static int dissect_Broadcast_Cancelled_Area_List_5GS_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_sbc_ap_Broadcast_Cancelled_Area_List_5GS(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Broadcast_Cancelled_Area_List_5GS_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Broadcast_Empty_Area_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1824,6 +2442,14 @@ static int dissect_Broadcast_Empty_Area_List_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_Broadcast_Empty_Area_List_5GS_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_sbc_ap_Broadcast_Empty_Area_List_5GS(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Broadcast_Empty_Area_List_5GS_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1872,6 +2498,14 @@ static int dissect_Failed_Cell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } +static int dissect_Failed_Cell_List_NR_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_sbc_ap_Failed_Cell_List_NR(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Failed_Cell_List_NR_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1880,6 +2514,22 @@ static int dissect_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_Global_RAN_Node_ID_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_sbc_ap_Global_RAN_Node_ID(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Global_RAN_Node_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Global_GNB_ID_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_sbc_ap_Global_GNB_ID(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Global_GNB_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_List_of_TAIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1904,6 +2554,22 @@ static int dissect_List_of_EAIs_Restart_PDU(tvbuff_t *tvb _U_, packet_info *pinf offset += 7; offset >>= 3; return offset; } +static int dissect_List_of_5GS_TAIs_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_sbc_ap_List_of_5GS_TAIs(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_List_of_5GS_TAIs_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_List_of_5GS_TAI_for_Restart_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_sbc_ap_List_of_5GS_TAI_for_Restart(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_List_of_5GS_TAI_for_Restart_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Message_Identifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1944,6 +2610,22 @@ static int dissect_Restarted_Cell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_RAT_Selector_5GS_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_sbc_ap_RAT_Selector_5GS(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_RAT_Selector_5GS_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Restarted_Cell_List_NR_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_sbc_ap_Restarted_Cell_List_NR(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Restarted_Cell_List_NR_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Send_Write_Replace_Warning_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1976,6 +2658,14 @@ static int dissect_Stop_All_Indicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_Unknown_5GS_Tracking_Area_List_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_sbc_ap_Unknown_5GS_Tracking_Area_List(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Unknown_5GS_Tracking_Area_List_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Warning_Area_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -1992,6 +2682,14 @@ static int dissect_Warning_Message_Content_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_Warning_Area_Coordinates_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_sbc_ap_Warning_Area_Coordinates(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Warning_Area_Coordinates_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Warning_Security_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -2008,6 +2706,14 @@ static int dissect_Warning_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_Warning_Area_List_5GS_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_sbc_ap_Warning_Area_List_5GS(tvb, offset, &asn1_ctx, tree, hf_sbc_ap_Warning_Area_List_5GS_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Write_Replace_Warning_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -2192,14 +2898,26 @@ void proto_register_sbc_ap(void) { { "Broadcast-Scheduled-Area-List", "sbc-ap.Broadcast_Scheduled_Area_List_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Broadcast_Scheduled_Area_List_5GS_PDU, + { "Broadcast-Scheduled-Area-List-5GS", "sbc-ap.Broadcast_Scheduled_Area_List_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Broadcast_Cancelled_Area_List_PDU, { "Broadcast-Cancelled-Area-List", "sbc-ap.Broadcast_Cancelled_Area_List_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Broadcast_Cancelled_Area_List_5GS_PDU, + { "Broadcast-Cancelled-Area-List-5GS", "sbc-ap.Broadcast_Cancelled_Area_List_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Broadcast_Empty_Area_List_PDU, { "Broadcast-Empty-Area-List", "sbc-ap.Broadcast_Empty_Area_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Broadcast_Empty_Area_List_5GS_PDU, + { "Broadcast-Empty-Area-List-5GS", "sbc-ap.Broadcast_Empty_Area_List_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Cause_PDU, { "Cause", "sbc-ap.Cause", FT_UINT32, BASE_DEC, VALS(sbc_ap_Cause_vals), 0, @@ -2224,10 +2942,22 @@ void proto_register_sbc_ap(void) { { "Failed-Cell-List", "sbc-ap.Failed_Cell_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Failed_Cell_List_NR_PDU, + { "Failed-Cell-List-NR", "sbc-ap.Failed_Cell_List_NR", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Global_ENB_ID_PDU, { "Global-ENB-ID", "sbc-ap.Global_ENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Global_RAN_Node_ID_PDU, + { "Global-RAN-Node-ID", "sbc-ap.Global_RAN_Node_ID", + FT_UINT32, BASE_DEC, VALS(sbc_ap_Global_RAN_Node_ID_vals), 0, + NULL, HFILL }}, + { &hf_sbc_ap_Global_GNB_ID_PDU, + { "Global-GNB-ID", "sbc-ap.Global_GNB_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_List_of_TAIs_PDU, { "List-of-TAIs", "sbc-ap.List_of_TAIs", FT_UINT32, BASE_DEC, NULL, 0, @@ -2240,6 +2970,14 @@ void proto_register_sbc_ap(void) { { "List-of-EAIs-Restart", "sbc-ap.List_of_EAIs_Restart", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_List_of_5GS_TAIs_PDU, + { "List-of-5GS-TAIs", "sbc-ap.List_of_5GS_TAIs", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_List_of_5GS_TAI_for_Restart_PDU, + { "List-of-5GS-TAI-for-Restart", "sbc-ap.List_of_5GS_TAI_for_Restart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Message_Identifier_PDU, { "Message-Identifier", "sbc-ap.Message_Identifier", FT_UINT16, BASE_DEC|BASE_EXT_STRING, <e_rrc_messageIdentifier_vals_ext, 0, @@ -2260,6 +2998,14 @@ void proto_register_sbc_ap(void) { { "Restarted-Cell-List", "sbc-ap.Restarted_Cell_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_RAT_Selector_5GS_PDU, + { "RAT-Selector-5GS", "sbc-ap.RAT_Selector_5GS", + FT_UINT32, BASE_DEC, VALS(sbc_ap_RAT_Selector_5GS_vals), 0, + NULL, HFILL }}, + { &hf_sbc_ap_Restarted_Cell_List_NR_PDU, + { "Restarted-Cell-List-NR", "sbc-ap.Restarted_Cell_List_NR", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Send_Write_Replace_Warning_Indication_PDU, { "Send-Write-Replace-Warning-Indication", "sbc-ap.Send_Write_Replace_Warning_Indication", FT_UINT32, BASE_DEC, VALS(sbc_ap_Send_Write_Replace_Warning_Indication_vals), 0, @@ -2276,6 +3022,10 @@ void proto_register_sbc_ap(void) { { "Stop-All-Indicator", "sbc-ap.Stop_All_Indicator", FT_UINT32, BASE_DEC, VALS(sbc_ap_Stop_All_Indicator_vals), 0, NULL, HFILL }}, + { &hf_sbc_ap_Unknown_5GS_Tracking_Area_List_PDU, + { "Unknown-5GS-Tracking-Area-List", "sbc-ap.Unknown_5GS_Tracking_Area_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Warning_Area_List_PDU, { "Warning-Area-List", "sbc-ap.Warning_Area_List", FT_UINT32, BASE_DEC, VALS(sbc_ap_Warning_Area_List_vals), 0, @@ -2284,6 +3034,10 @@ void proto_register_sbc_ap(void) { { "Warning-Message-Content", "sbc-ap.Warning_Message_Content", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Warning_Area_Coordinates_PDU, + { "Warning-Area-Coordinates", "sbc-ap.Warning_Area_Coordinates", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Warning_Security_Information_PDU, { "Warning-Security-Information", "sbc-ap.Warning_Security_Information", FT_BYTES, BASE_NONE, NULL, 0, @@ -2292,6 +3046,10 @@ void proto_register_sbc_ap(void) { { "Warning-Type", "sbc-ap.Warning_Type", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Warning_Area_List_5GS_PDU, + { "Warning-Area-List-5GS", "sbc-ap.Warning_Area_List_5GS", + FT_UINT32, BASE_DEC, VALS(sbc_ap_Warning_Area_List_5GS_vals), 0, + NULL, HFILL }}, { &hf_sbc_ap_Write_Replace_Warning_Request_PDU, { "Write-Replace-Warning-Request", "sbc-ap.Write_Replace_Warning_Request_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2376,6 +3134,14 @@ void proto_register_sbc_ap(void) { { "iE-Extensions", "sbc-ap.iE_Extensions", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolExtensionContainer", HFILL }}, + { &hf_sbc_ap_cellId_Broadcast_List_5GS, + { "cellId-Broadcast-List-5GS", "sbc-ap.cellId_Broadcast_List_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_tAI_Broadcast_List_5GS, + { "tAI-Broadcast-List-5GS", "sbc-ap.tAI_Broadcast_List_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_cellID_Cancelled_List, { "cellID-Cancelled-List", "sbc-ap.cellID_Cancelled_List", FT_UINT32, BASE_DEC, NULL, 0, @@ -2388,10 +3154,22 @@ void proto_register_sbc_ap(void) { { "emergencyAreaID-Cancelled-List", "sbc-ap.emergencyAreaID_Cancelled_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_cellID_Cancelled_List_5GS, + { "cellID-Cancelled-List-5GS", "sbc-ap.cellID_Cancelled_List_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_tAI_Cancelled_List_5GS, + { "tAI-Cancelled-List-5GS", "sbc-ap.tAI_Cancelled_List_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Broadcast_Empty_Area_List_item, { "Global-ENB-ID", "sbc-ap.Global_ENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Broadcast_Empty_Area_List_5GS_item, + { "Global-RAN-Node-ID", "sbc-ap.Global_RAN_Node_ID", + FT_UINT32, BASE_DEC, VALS(sbc_ap_Global_RAN_Node_ID_vals), 0, + NULL, HFILL }}, { &hf_sbc_ap_CancelledCellinEAI_item, { "CancelledCellinEAI-Item", "sbc-ap.CancelledCellinEAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2408,14 +3186,30 @@ void proto_register_sbc_ap(void) { { "CancelledCellinTAI-Item", "sbc-ap.CancelledCellinTAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_CancelledCellinTAI_5GS_item, + { "CancelledCellinTAI-5GS item", "sbc-ap.CancelledCellinTAI_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_nR_CGI, + { "nR-CGI", "sbc-ap.nR_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_CellId_Broadcast_List_item, { "CellId-Broadcast-List-Item", "sbc-ap.CellId_Broadcast_List_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_CellId_Broadcast_List_5GS_item, + { "CellId-Broadcast-List-5GS item", "sbc-ap.CellId_Broadcast_List_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_CellID_Cancelled_List_item, { "CellID-Cancelled-Item", "sbc-ap.CellID_Cancelled_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_CellID_Cancelled_List_5GS_item, + { "CellID-Cancelled-List-5GS item", "sbc-ap.CellID_Cancelled_List_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_procedureCode, { "procedureCode", "sbc-ap.procedureCode", FT_UINT32, BASE_DEC, VALS(sbc_ap_ProcedureCode_vals), 0, @@ -2504,10 +3298,34 @@ void proto_register_sbc_ap(void) { { "EUTRAN-CGI", "sbc-ap.EUTRAN_CGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Failed_Cell_List_NR_item, + { "NR-CGI", "sbc-ap.NR_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_eNB_ID, { "eNB-ID", "sbc-ap.eNB_ID", FT_UINT32, BASE_DEC, VALS(sbc_ap_ENB_ID_vals), 0, NULL, HFILL }}, + { &hf_sbc_ap_global_GNB_ID, + { "global-GNB-ID", "sbc-ap.global_GNB_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_global_NgENB_ID, + { "global-NgENB-ID", "sbc-ap.global_NgENB_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_gNB_ID, + { "gNB-ID", "sbc-ap.gNB_ID", + FT_UINT32, BASE_DEC, VALS(sbc_ap_GNB_ID_vals), 0, + NULL, HFILL }}, + { &hf_sbc_ap_gNB_ID_01, + { "gNB-ID", "sbc-ap.gNB_ID", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_22_32", HFILL }}, + { &hf_sbc_ap_ngENB_ID, + { "ngENB-ID", "sbc-ap.ngENB_ID", + FT_UINT32, BASE_DEC, VALS(sbc_ap_ENB_ID_vals), 0, + "ENB_ID", HFILL }}, { &hf_sbc_ap_List_of_TAIs_item, { "List-of-TAIs item", "sbc-ap.List_of_TAIs_item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2524,10 +3342,30 @@ void proto_register_sbc_ap(void) { { "Emergency-Area-ID", "sbc-ap.Emergency_Area_ID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_List_of_5GS_TAIs_item, + { "TAI-5GS", "sbc-ap.TAI_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_List_of_5GS_TAI_for_Restart_item, + { "TAI-5GS", "sbc-ap.TAI_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_NR_CGIList_item, + { "NR-CGI", "sbc-ap.NR_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_nRCellIdentity, + { "nRCellIdentity", "sbc-ap.nRCellIdentity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_Restarted_Cell_List_item, { "EUTRAN-CGI", "sbc-ap.EUTRAN_CGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_Restarted_Cell_List_NR_item, + { "NR-CGI", "sbc-ap.NR_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_ScheduledCellinEAI_item, { "ScheduledCellinEAI-Item", "sbc-ap.ScheduledCellinEAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2536,6 +3374,10 @@ void proto_register_sbc_ap(void) { { "ScheduledCellinTAI-Item", "sbc-ap.ScheduledCellinTAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_ScheduledCellinTAI_5GS_item, + { "ScheduledCellinTAI-5GS item", "sbc-ap.ScheduledCellinTAI_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_TAI_Broadcast_List_item, { "TAI-Broadcast-List-Item", "sbc-ap.TAI_Broadcast_List_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2548,6 +3390,18 @@ void proto_register_sbc_ap(void) { { "scheduledCellinTAI", "sbc-ap.scheduledCellinTAI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_TAI_Broadcast_List_5GS_item, + { "TAI-Broadcast-List-5GS item", "sbc-ap.TAI_Broadcast_List_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_tAI_5GS, + { "tAI-5GS", "sbc-ap.tAI_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_scheduledCellinTAI_5GS, + { "scheduledCellinTAI-5GS", "sbc-ap.scheduledCellinTAI_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_TAI_Cancelled_List_item, { "TAI-Cancelled-List-Item", "sbc-ap.TAI_Cancelled_List_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2556,6 +3410,14 @@ void proto_register_sbc_ap(void) { { "cancelledCellinTAI", "sbc-ap.cancelledCellinTAI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_TAI_Cancelled_List_5GS_item, + { "TAI-Cancelled-List-5GS item", "sbc-ap.TAI_Cancelled_List_5GS_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_cancelledCellinTAI_5GS, + { "cancelledCellinTAI-5GS", "sbc-ap.cancelledCellinTAI_5GS", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_TAI_List_for_Warning_item, { "TAI", "sbc-ap.TAI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -2564,6 +3426,14 @@ void proto_register_sbc_ap(void) { { "tAC", "sbc-ap.tAC", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_tAC_5GS, + { "tAC-5GS", "sbc-ap.tAC_5GS", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_Unknown_5GS_Tracking_Area_List_item, + { "TAI-5GS", "sbc-ap.TAI_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_sbc_ap_cell_ID_List, { "cell-ID-List", "sbc-ap.cell_ID_List", FT_UINT32, BASE_DEC, NULL, 0, @@ -2576,6 +3446,18 @@ void proto_register_sbc_ap(void) { { "emergency-Area-ID-List", "sbc-ap.emergency_Area_ID_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_sbc_ap_nR_CGIList, + { "nR-CGIList", "sbc-ap.nR_CGIList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_sbc_ap_tAIList_5GS, + { "tAIList-5GS", "sbc-ap.tAIList_5GS_element", + FT_NONE, BASE_NONE, NULL, 0, + "TAI_5GS", HFILL }}, + { &hf_sbc_ap_emergencyAreaIDList, + { "emergencyAreaIDList", "sbc-ap.emergencyAreaIDList", + FT_UINT32, BASE_DEC, NULL, 0, + "Emergency_Area_ID_List", HFILL }}, { &hf_sbc_ap_protocolIEs, { "protocolIEs", "sbc-ap.protocolIEs", FT_UINT32, BASE_DEC, NULL, 0, @@ -2628,16 +3510,25 @@ void proto_register_sbc_ap(void) { &ett_sbc_ap_ProtocolExtensionContainer, &ett_sbc_ap_ProtocolExtensionField, &ett_sbc_ap_Broadcast_Scheduled_Area_List, + &ett_sbc_ap_Broadcast_Scheduled_Area_List_5GS, &ett_sbc_ap_Broadcast_Cancelled_Area_List, + &ett_sbc_ap_Broadcast_Cancelled_Area_List_5GS, &ett_sbc_ap_Broadcast_Empty_Area_List, + &ett_sbc_ap_Broadcast_Empty_Area_List_5GS, &ett_sbc_ap_CancelledCellinEAI, &ett_sbc_ap_CancelledCellinEAI_Item, &ett_sbc_ap_CancelledCellinTAI, &ett_sbc_ap_CancelledCellinTAI_Item, + &ett_sbc_ap_CancelledCellinTAI_5GS, + &ett_sbc_ap_CancelledCellinTAI_5GS_item, &ett_sbc_ap_CellId_Broadcast_List, &ett_sbc_ap_CellId_Broadcast_List_Item, + &ett_sbc_ap_CellId_Broadcast_List_5GS, + &ett_sbc_ap_CellId_Broadcast_List_5GS_item, &ett_sbc_ap_CellID_Cancelled_List, &ett_sbc_ap_CellID_Cancelled_Item, + &ett_sbc_ap_CellID_Cancelled_List_5GS, + &ett_sbc_ap_CellID_Cancelled_List_5GS_item, &ett_sbc_ap_Criticality_Diagnostics, &ett_sbc_ap_CriticalityDiagnostics_IE_List, &ett_sbc_ap_CriticalityDiagnostics_IE_List_item, @@ -2650,24 +3541,43 @@ void proto_register_sbc_ap(void) { &ett_sbc_ap_EUTRAN_CGI, &ett_sbc_ap_ENB_ID, &ett_sbc_ap_Failed_Cell_List, + &ett_sbc_ap_Failed_Cell_List_NR, &ett_sbc_ap_Global_ENB_ID, + &ett_sbc_ap_Global_RAN_Node_ID, + &ett_sbc_ap_Global_GNB_ID, + &ett_sbc_ap_GNB_ID, + &ett_sbc_ap_Global_NgENB_ID, &ett_sbc_ap_List_of_TAIs, &ett_sbc_ap_List_of_TAIs_item, &ett_sbc_ap_List_of_TAIs_Restart, &ett_sbc_ap_List_of_TAIs_Restart_item, &ett_sbc_ap_List_of_EAIs_Restart, + &ett_sbc_ap_List_of_5GS_TAIs, + &ett_sbc_ap_List_of_5GS_TAI_for_Restart, + &ett_sbc_ap_NR_CGIList, + &ett_sbc_ap_NR_CGI, &ett_sbc_ap_Restarted_Cell_List, + &ett_sbc_ap_Restarted_Cell_List_NR, &ett_sbc_ap_ScheduledCellinEAI, &ett_sbc_ap_ScheduledCellinEAI_Item, &ett_sbc_ap_ScheduledCellinTAI, &ett_sbc_ap_ScheduledCellinTAI_Item, + &ett_sbc_ap_ScheduledCellinTAI_5GS, + &ett_sbc_ap_ScheduledCellinTAI_5GS_item, &ett_sbc_ap_TAI_Broadcast_List, &ett_sbc_ap_TAI_Broadcast_List_Item, + &ett_sbc_ap_TAI_Broadcast_List_5GS, + &ett_sbc_ap_TAI_Broadcast_List_5GS_item, &ett_sbc_ap_TAI_Cancelled_List, &ett_sbc_ap_TAI_Cancelled_List_Item, + &ett_sbc_ap_TAI_Cancelled_List_5GS, + &ett_sbc_ap_TAI_Cancelled_List_5GS_item, &ett_sbc_ap_TAI_List_for_Warning, &ett_sbc_ap_TAI, + &ett_sbc_ap_TAI_5GS, + &ett_sbc_ap_Unknown_5GS_Tracking_Area_List, &ett_sbc_ap_Warning_Area_List, + &ett_sbc_ap_Warning_Area_List_5GS, &ett_sbc_ap_Write_Replace_Warning_Request, &ett_sbc_ap_Write_Replace_Warning_Response, &ett_sbc_ap_Stop_Warning_Request, @@ -2746,6 +3656,19 @@ proto_reg_handoff_sbc_ap(void) dissector_add_uint("sbc_ap.ies", id_List_of_TAIs_Restart, create_dissector_handle(dissect_List_of_TAIs_Restart_PDU, proto_sbc_ap)); dissector_add_uint("sbc_ap.ies", id_List_of_EAIs_Restart, create_dissector_handle(dissect_List_of_EAIs_Restart_PDU, proto_sbc_ap)); dissector_add_uint("sbc_ap.ies", id_Failed_Cell_List, create_dissector_handle(dissect_Failed_Cell_List_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_List_of_5GS_TAIs, create_dissector_handle(dissect_List_of_5GS_TAIs_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Warning_Area_List_5GS, create_dissector_handle(dissect_Warning_Area_List_5GS_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Global_RAN_Node_ID, create_dissector_handle(dissect_Global_RAN_Node_ID_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Global_GNB_ID, create_dissector_handle(dissect_Global_GNB_ID_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_RAT_Selector_5GS, create_dissector_handle(dissect_RAT_Selector_5GS_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Unknown_5GS_Tracking_Area_List, create_dissector_handle(dissect_Unknown_5GS_Tracking_Area_List_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Broadcast_Scheduled_Area_List_5GS, create_dissector_handle(dissect_Broadcast_Scheduled_Area_List_5GS_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Broadcast_Cancelled_Area_List_5GS, create_dissector_handle(dissect_Broadcast_Cancelled_Area_List_5GS_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Broadcast_Empty_Area_List_5GS, create_dissector_handle(dissect_Broadcast_Empty_Area_List_5GS_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Restarted_Cell_List_NR, create_dissector_handle(dissect_Restarted_Cell_List_NR_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_Failed_Cell_List_NR, create_dissector_handle(dissect_Failed_Cell_List_NR_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.extension", id_List_of_5GS_TAI_for_Restart, create_dissector_handle(dissect_List_of_5GS_TAI_for_Restart_PDU, proto_sbc_ap)); + dissector_add_uint("sbc_ap.ies", id_Warning_Area_Coordinates, create_dissector_handle(dissect_Warning_Area_Coordinates_PDU, proto_sbc_ap)); dissector_add_uint("sbc_ap.proc.imsg", id_Write_Replace_Warning, create_dissector_handle(dissect_Write_Replace_Warning_Request_PDU, proto_sbc_ap)); dissector_add_uint("sbc_ap.proc.sout", id_Write_Replace_Warning, create_dissector_handle(dissect_Write_Replace_Warning_Response_PDU, proto_sbc_ap)); dissector_add_uint("sbc_ap.proc.imsg", id_Stop_Warning, create_dissector_handle(dissect_Stop_Warning_Request_PDU, proto_sbc_ap));