Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--5G_system_TS29571_CommonData_CNL113880.tpd28
-rw-r--r--doc/5G_system_TS29571_CommonData_Description.adoc74
-rw-r--r--doc/change.log14
-rw-r--r--src/TS29571_CommonData.ttcn745
4 files changed, 861 insertions, 0 deletions
diff --git a/5G_system_TS29571_CommonData_CNL113880.tpd b/5G_system_TS29571_CommonData_CNL113880.tpd
new file mode 100644
index 0000000..7a3131c
--- /dev/null
+++ b/5G_system_TS29571_CommonData_CNL113880.tpd
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+ <ProjectName>5G_system_TS29571_CommonData_CNL113880</ProjectName>
+ <ReferencedProjects>
+ <ReferencedProject name="JSON_Generic_CNL113899" projectLocationURI="../JSON_Generic_CNL113899/JSON_Generic_CNL113899.tpd"/>
+ </ReferencedProjects>
+ <Folders>
+ <FolderResource projectRelativePath="src" relativeURI="src"/>
+ </Folders>
+ <Files>
+ <FileResource projectRelativePath="src/TS29571_CommonData.ttcn" relativeURI="src/TS29571_CommonData.ttcn"/>
+ </Files>
+ <ActiveConfiguration>Default</ActiveConfiguration>
+ <Configurations>
+ <Configuration name="Default">
+ <ProjectProperties>
+ <MakefileSettings>
+ <GNUMake>true</GNUMake>
+ <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+ <targetExecutable>bin/5G_system_TS29571_CommonData_CNL113880</targetExecutable>
+ </MakefileSettings>
+ <LocalBuildSettings>
+ <workingDirectory>bin</workingDirectory>
+ </LocalBuildSettings>
+ </ProjectProperties>
+ </Configuration>
+ </Configurations>
+</TITAN_Project_File_Information>
diff --git a/doc/5G_system_TS29571_CommonData_Description.adoc b/doc/5G_system_TS29571_CommonData_Description.adoc
new file mode 100644
index 0000000..de2a658
--- /dev/null
+++ b/doc/5G_system_TS29571_CommonData_Description.adoc
@@ -0,0 +1,74 @@
+= 5G system TS29571 CommonData Protocol Modules for TTCN-3 Toolset with TITAN, Description
+:author: Gábor Szalai
+:toc: left
+
+== About This Document
+
+This is the description for the 5G system TS29571 CommonData protocol module. The 5G system TS29571 CommonData protocol modules are developed for the TTCN-3 Toolset with Titan.
+
+== Functionality
+
+The 5G system TS29571 CommonData protocol module implements the object structures of the 3GPP TS 29571 v15.1.0<<_5, [5]>> in a formalized way, using the standard specification language TTCN-3. This allows defining of test data (templates) in the TTCN-3 language and correctly encoding/decoding messages when executing test suites using the Titan TTCN-3 test environment.
+The 5G system TS29571 CommonData protocol module uses Titan’s JSON encoding <<_3, [3]>> and hence is usable with the Titan test toolset only.
+
+=== System Requirements
+Protocol modules are a set of TTCN-3 source code files that can be used as part of TTCN-3 test suites only. Hence, protocol modules alone do not put specific requirements on the system used. However, in order to compile and execute a TTCN-3 test suite using the set of protocol modules the following system requirements must be satisfied:
+
+* Titan TTCN-3 Test Executor version CRL 113 200/6 R5A (6.5.pl0) or higher installed. For Installation Guide see <<_2, [2]>>. Please note: This version of the test port is not compatible with Titan releases earlier than CRL 113 200/6 R5A.
+
+=== Installation
+The set of protocol modules can be used in developing TTCN-3 test suites using any text editor. Since the 5G system TS29571 CommonData protocol is used as a part of a TTCN-3 test suite, this requires TTCN-3 Test Executor be installed before the module can be compiled and executed together with other parts of the test suite. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_2, [2]>>.
+
+== Interface description
+
+=== Encoding/decoding and other related functions
+This product also contains encoding/decoding functions, which assure correct encoding of messages when sent from Titan and correct decoding of messages when received by Titan.
+
+==== Implemented encoding and decoding functions
+
+[source]
+----
+Name Type of formal parameters Type of return value
+function f_enc_ProblemDetails(in ProblemDetails pdu) return octetstring
+function f_dec_ProblemDetails(in octetstring stream, out ProblemDetails pdu) return integer
+function f_enc_TraceData(in TraceData pdu) return octetstring
+function f_dec_TraceData(in octetstring stream, out TraceData pdu) return integer
+function f_enc_VarUeId(in VarUeId pdu) return octetstring
+function f_dec_VarUeId(in octetstring stream, out VarUeId pdu) return integer
+----
+
+== Usage
+
+The protocol module provides abstract data types for JSON objects used by the services defined in the standard <<_5, [5]>>. The protocol module provides encoder and decoder functions for the JSON objects. The decoder function validates the received JSON object based on the JSON schema as well. Only the validated JSON value is decoded.
+
+== Terminology
+
+=== Abbreviations
+
+JSON:: JavaScript Object Notation
+
+PDU:: Protocol Data Unit
+
+TTCN-3:: Testing and Test Control Notation version 3
+
+== References
+
+[[_1]]
+[1] ETSI ES 201 873-1 v4.4.1 (2012-04) +
+The Testing and Test Control Notation version 3. Part 1: Core Language
+
+[[_2]]
+[2] 1/ 198 17-CRL 113 200/6 Uen +
+Installation Guide for the TITAN TTCN-3 Test Executor
+
+[[_3]]
+[3] 2/198 17-CRL 113 200/6 Uen +
+Programmer's Technical Reference for Titan TTCN-3 Test Executor
+
+[[_4]]
+[4] https://www.json.org
+
+[[_5]]
+[5] 3GPP TS 29571 v15.1.0+
+5G System; Common Data Types for Service Based Interfaces; Stage 3
+
diff --git a/doc/change.log b/doc/change.log
new file mode 100644
index 0000000..fd0f0a4
--- /dev/null
+++ b/doc/change.log
@@ -0,0 +1,14 @@
+= 5G system TS29571 CommonData Protocol Modules for TTCN-3 Toolset with TITAN, Change log
+:author: Gábor Szalai
+:toc: left
+
+== Changes
+
+=== R1A
+
+Initial revision
+
+=== R2A
+
+The file was TS29571_CommonDataTypes.ttcn renamed to TS29571_CommonData.ttcn
+
diff --git a/src/TS29571_CommonData.ttcn b/src/TS29571_CommonData.ttcn
new file mode 100644
index 0000000..7524358
--- /dev/null
+++ b/src/TS29571_CommonData.ttcn
@@ -0,0 +1,745 @@
+/******************************************************************************
+* Copyright (c) 2000-2019 Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+*
+* Contributors:
+* Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+//
+// File: TS29571_CommonData.ttcn
+// Description: Type definitions for 3GPP TS29571 CommonData
+///////////////////////////////////////////////
+module TS29571_CommonData {
+
+ import from JSON_Generic all;
+
+
+ external function f_enc_ProblemDetails(in ProblemDetails pdu) return octetstring
+ with { extension "prototype(convert) encode(JSON)" }
+
+ external function f_dec_ProblemDetails(in octetstring stream, out ProblemDetails pdu) return integer
+ with { extension "prototype(backtrack) decode(JSON)" }
+
+
+ external function f_enc_TraceData(in TraceData pdu) return octetstring
+ with { extension "prototype(convert) encode(JSON)" }
+
+ external function f_dec_TraceData(in octetstring stream, out TraceData pdu) return integer
+ with { extension "prototype(backtrack) decode(JSON)" }
+
+ external function f_enc_VarUeId(in VarUeId pdu) return octetstring
+ with { extension "prototype(convert) encode(JSON)" }
+
+ external function f_dec_VarUeId(in octetstring stream, out VarUeId pdu) return integer
+ with { extension "prototype(backtrack) decode(JSON)" }
+
+
+ type charstring Binary
+
+ type Binary BinaryRm
+
+ type charstring Bytes
+
+ type Bytes BytesRm
+
+ type charstring Date
+
+ type Date DateRm
+
+ type charstring DateTime
+
+ type DateTime DateTimeRm
+
+ type charstring DiameterIdentity // (pattern "^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$")
+
+ type DiameterIdentity DiameterIdentityRm // (pattern "^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$")
+
+ type float Double
+
+ type Double DoubleRm
+
+ type integer DurationSec
+
+ type DurationSec DurationSecRm
+
+ type float Float
+
+ type Float FloatRm
+
+ type integer Int32
+
+ type Int32 Int32Rm
+
+ type integer Int64
+
+ type Int64 Int64Rm
+
+ type charstring Ipv4Addr
+
+ type Ipv4Addr Ipv4AddrRm
+
+ type charstring Ipv6Addr
+
+ type Ipv6Addr Ipv6AddrRm
+
+ type charstring Ipv6Prefix
+
+ type Ipv6Prefix Ipv6PrefixRm
+
+ type charstring MacAddr48 // (pattern "^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$")
+
+ type MacAddr48 MacAddr48Rm // (pattern "^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$")
+
+ type charstring SupportedFeatures // (pattern "^[A-Fa-f0-9]*$")
+
+ type integer Uinteger (0..infinity)
+
+ type Uinteger UintegerRm (0..infinity)
+
+ type integer Uint16 (0..65535)
+
+ type Uint16 Uint16Rm (0..65535)
+
+ type integer Uint32 (0..infinity)
+
+ type Uint32 Uint32Rm (0..infinity)
+
+ type integer Uint64 (0..infinity)
+
+ type Uint64 Uint64Rm (0..infinity)
+
+ type charstring Uri
+
+ type Uri UriRm
+
+ type charstring VarUeId // (pattern "^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-.+|.+)$")
+
+ type charstring TimeZone
+
+ type TimeZone TimeZoneRm
+
+ type enumerated PatchOperation_enum { add, copy, move, remove, replace_, test}
+ with {
+ variant "text 'replace_' as 'replace' "
+ }
+
+ type union PatchOperation {
+ PatchOperation_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type enumerated UriScheme_enum { http, https}
+
+ type union UriScheme {
+ UriScheme_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type enumerated ChangeType_enum { ADD, MOVE, REMOVE, REPLACE}
+
+ type union ChangeType {
+ ChangeType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type set ProblemDetails {
+ Uri type_ optional,
+ charstring title optional,
+ integer status optional,
+ charstring detail optional,
+ Uri instance optional,
+ charstring cause optional,
+ set of InvalidParam invalidParams optional
+ } with {
+ variant (type_) "name as 'type'"
+ }
+
+
+ type set Link {
+ Uri href optional
+ }
+
+ type Link LinkRm
+
+ type set PatchItem {
+ PatchOperation op,
+ charstring path,
+ charstring from_ optional,
+ JSON_generic_val value_ optional
+ } with {
+ variant (from_) "name as 'from'"
+ variant (value_) "name as 'value'"
+ }
+
+ type union LinksValueSchema {
+ set of Link field1,
+ Link field2
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type set SelfLink {
+ Link self_
+ } with {
+ variant (self_) "name as 'self'"
+ }
+
+
+ type set InvalidParam {
+ charstring param_,
+ charstring reason optional
+ } with {
+ variant (param_) "name as 'param' "
+ }
+
+
+ type set ChangeItem {
+ ChangeType op,
+ charstring path,
+ charstring from_ optional,
+ JSON_generic_val origValue optional,
+ JSON_generic_val newValue optional
+ } with {
+ variant (from_) "name as 'from'"
+ }
+
+
+ type set NotifyItem {
+ Uri resourceId optional,
+ set of ChangeItem changes optional
+ }
+
+ type charstring Dnn
+
+ type Dnn DnnRm
+
+ type charstring Gpsi // (pattern "^(msisdn-[0-9]{5,15}|extid-.+@.+|.+)$")
+
+ type Gpsi GpsiRm // (pattern "^(msisdn-[0-9]{5,15}|extid-.+|.+)$")
+
+ type charstring GroupId // (pattern "^groupid-[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$")
+
+ type GroupId GroupIdRm // (pattern "^(groupid-[A-Fa-f0-9]{14,34}|.+)$")
+
+ type charstring Pei // (pattern "^(imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$")
+
+ type Pei PeiRm // (pattern "^(imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$")
+
+ type charstring Supi // (pattern "^(imsi-[0-9]{5,15}|nai-.+|.+)$")
+
+ type Supi SupiRm // (pattern "^(imsi-[0-9]{5,15}|nai-.+|.+)$")
+
+ type charstring NfInstanceId
+
+ type charstring AmfId // (pattern "^[A-Fa-f0-9]{6}$")
+
+ type integer RfspIndex (1..256)
+
+ type RfspIndex RfspIndexRm (1..256)
+
+ type set Guami {
+ PlmnId plmnId,
+ AmfId amfId
+ }
+
+ type set GuamiRm {
+ PlmnId plmnId,
+ AmfId amfId
+ }
+
+ type set NetworkId {
+ Mnc mnc optional,
+ Mcc mcc optional
+ }
+
+ type charstring ApplicationId
+
+ type ApplicationId ApplicationIdRm
+
+ type integer PduSessionId (0..255)
+
+ type charstring Mcc // (pattern "^\d{3}$")
+
+ type Mcc MccRm // (pattern "^\d{3}$")
+
+ type charstring Mnc // (pattern "^\d{2,3}$")
+
+ type Mnc MncRm // (pattern "^\d{2,3}$")
+
+ type charstring Tac // (pattern "(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)")
+
+ type Tac TacRm // (pattern "(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)")
+
+ type charstring EutraCellId // (pattern "^[A-Fa-f0-9]{7}$")
+
+ type EutraCellId EutraCellIdRm // (pattern "^[A-Fa-f0-9]{7}$")
+
+ type charstring NrCellId // (pattern "^[A-Fa-f0-9]{9}$")
+
+ type NrCellId NrCellIdRm // (pattern "^[A-Fa-f0-9]{9}$")
+
+ type charstring Dnai
+
+ type Dnai DnaiRm
+
+ type Uinteger FiveGMmCause
+
+ type charstring AmfName
+
+ type charstring AreaCode
+
+ type AreaCode AreaCodeRm
+
+ type charstring NgRanIdentifier // (pattern "^(gNB-[A-Fa-f0-9]{6,8}|MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$")
+
+ type enumerated AccessType { ThreeGPP_ACCESS, NON_3GPP_ACCESS}
+ with {
+ variant "text 'ThreeGPP_ACCESS' as '3GPP_ACCESS'"
+ }
+
+
+ type AccessType AccessTypeRm
+
+
+ type enumerated RatType_enum { NR, EUTRA, WLAN, VIRTUAL}
+
+ type union RatType {
+ RatType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type RatType RatTypeRm
+
+
+ type enumerated PduSessionType_enum { IPV4V6, IPV4, IPV6, UNSTR, ETHER}
+
+ type union PduSessionType {
+ PduSessionType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type PduSessionType PduSessionTypeRm
+
+ type enumerated UpIntegrity_enum { REQUIRED, PREFERRED, NOT_NEEDED}
+
+ type union UpIntegrity {
+ UpIntegrity_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type UpIntegrity UpIntegrityRm
+
+
+ type enumerated UpConfidentiality_enum { REQUIRED, PREFERRED, NOT_NEEDED}
+
+ type union UpConfidentiality {
+ UpConfidentiality_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type UpConfidentiality UpConfidentialityRm
+
+
+ type enumerated SscMode_enum { SSC_MODE_1, SSC_MODE_2, SSC_MODE_3}
+
+ type union SscMode {
+ SscMode_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type SscMode SscModeRm
+
+ type enumerated DnaiChangeType_enum { EARLY, EARLY_LATE, LATE}
+
+ type union DnaiChangeType {
+ DnaiChangeType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+
+ type DnaiChangeType DnaiChangeTypeRm
+
+
+ type enumerated RestrictionType_enum { ALLOWED_AREAS, NOT_ALLOWED_AREAS}
+
+ type union RestrictionType {
+ RestrictionType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+
+ type RestrictionType RestrictionTypeRm
+
+
+ type enumerated CoreNetworkType_enum { FiveGC, EPC}
+ with {
+ variant "text 'FiveGC' as '5GC'"
+ }
+
+ type union CoreNetworkType {
+ CoreNetworkType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+
+ type CoreNetworkType CoreNetworkTypeRm
+
+
+ type enumerated PresenceState_enum { IN_AREA, OUT_OF_AREA, UNKNOWN, INACTIVE}
+
+ type union PresenceState {
+ PresenceState_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type set Snssai {
+ integer sst (0..255),
+ charstring sd optional// (pattern "^[A-Fa-f0-9]{6}$")
+ }
+
+ type set PlmnId {
+ Mcc mcc,
+ Mnc mnc
+ }
+
+ type PlmnId PlmnIdRm
+
+ type set Tai {
+ PlmnId plmnId,
+ Tac tac
+ }
+
+ type Tai TaiRm
+
+ type set Ecgi {
+ PlmnId plmnId,
+ EutraCellId eutraCellId
+ }
+
+ type Ecgi EcgiRm
+
+ type set Ncgi {
+ PlmnId plmnId,
+ NrCellId nrCellId
+ }
+
+ type Ncgi NcgiRm
+
+ type set UserLocation {
+ EutraLocation eutraLocation optional,
+ NrLocation nrLocation optional,
+ N3gaLocation n3gaLocation optional
+ }
+
+ type set EutraLocation {
+ Tai tai,
+ Ecgi ecgi,
+ integer ageOfLocationInformation (0..32767) optional,
+ DateTime ueLocationTimestamp optional,
+ charstring geographicalInformation optional, // (pattern "^[0-9A-F]{16}$")
+ charstring geodeticInformation optional, // (pattern "^[0-9A-F]{20}$")
+ GlobalRanNodeId globalNgenbId optional
+ }
+
+ type EutraLocation EutraLocationRm
+
+ type set NrLocation {
+ Tai tai,
+ Ncgi ncgi,
+ integer ageOfLocationInformation (0..32767) optional,
+ DateTime ueLocationTimestamp optional,
+ charstring geographicalInformation optional, // (pattern "^[0-9A-F]{16}$")
+ charstring geodeticInformation optional, // (pattern "^[0-9A-F]{20}$")
+ GlobalRanNodeId globalGnbId optional
+ }
+
+ type NrLocation NrLocationRm
+
+ type set N3gaLocation {
+ Tai n3gppTai optional,
+ charstring n3IwfId optional,// (pattern "^[A-Fa-f0-9]+$")
+ Ipv4Addr ueIpv4Addr optional,
+ Ipv6Addr ueIpv6Addr optional,
+ Uinteger portNumber optional
+ }
+
+ type set UpSecurity {
+ UpIntegrity upIntegr,
+ UpConfidentiality upConfid
+ }
+
+ type UpSecurity UpSecurityRm
+
+ type set NgApCause {
+ Uinteger group_,
+ Uinteger value_
+ } with {
+ variant (group_) "name as 'group'"
+ variant (value_) "name as 'value'"
+ }
+
+
+ type set BackupAmfInfo {
+ AmfName backupAmf,
+ set of Guami guamiList optional
+ }
+
+ type set RefToBinaryData {
+ charstring contentId
+ }
+
+ type RefToBinaryData RefToBinaryDataRm
+
+ type set RouteToLocation {
+ Dnai dnai,
+ RouteInformation routeInfo optional,
+ charstring routeProfId optional
+ }
+
+ type set RouteInformation {
+ Ipv4Addr ipv4Addr optional,
+ Ipv6Addr ipv6Addr optional,
+ Uinteger portNumber
+ }
+
+ type set DefaultQosInformation {
+ FiveQi fiveqi,
+ NonDynamic5Qi nonDynamic5Qi optional,
+ Dynamic5Qi dynamic5Qi optional,
+ Arp arp optional
+ } with {
+ variant (fiveqi) "name as '5qi'"
+ }
+
+
+ type set Area {
+ set of Tac tacs optional,
+ set of AreaCode areaCodes optional
+ }
+
+ type set ServiceAreaRestriction {
+ RestrictionType restrictionType optional,
+ set of Area areas optional,
+ Uinteger maxNumOfTAs optional
+ }
+
+ type set PresenceInfo {
+ charstring praId optional,
+ PresenceState presenceState optional,
+ set of Tai trackingAreaList optional,
+ set of Ecgi ecgiList optional,
+ set of Ncgi ncgiList optional,
+ set of GlobalRanNodeId globalRanNodeIdList optional
+ }
+
+ type set GlobalRanNodeId {
+ PlmnId plmnId,
+ charstring n3IwfId optional,
+ NgRanIdentifier ngRanNodeId optional
+ }
+
+ type integer Qfi (0..63)
+
+ type Qfi QfiRm
+
+ type integer FiveQi (0..255)
+
+ type FiveQi FiveQiRm
+
+ type charstring BitRate // (pattern "^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$")
+
+ type BitRate BitRateRm // (pattern "^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$")
+
+ type integer ArpPriorityLevel (1..15)
+
+ type integer FiveQiPriorityLevel (1..127)
+
+ type FiveQiPriorityLevel FiveQiPriorityLevelRm
+
+ type integer PacketDelBudget (1..infinity)
+
+ type PacketDelBudget PacketDelBudgetRm
+
+ type integer PacketErrRate
+
+ type PacketErrRate PacketErrRateRm
+
+ type integer PacketLossRate (0..1000)
+
+ type PacketLossRate PacketLossRateRm
+
+ type integer AverWindow (1..infinity)
+
+ type AverWindow AverWindowRm
+
+ type integer MaxDataBurstVol (1..infinity)
+
+ type MaxDataBurstVol MaxDataBurstVolRm
+
+ type enumerated PreemptionCapability_enum { NOT_PREEMPT, MAY_PREEMPT}
+
+ type union PreemptionCapability {
+ PreemptionCapability_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type PreemptionCapability PreemptionCapabilityRm
+
+
+ type enumerated PreemptionVulnerability_enum { NOT_PREEMPTABLE, PREEMPTABLE}
+
+ type union PreemptionVulnerability {
+ PreemptionVulnerability_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+
+ type PreemptionVulnerability PreemptionVulnerabilityRm
+
+
+ type enumerated ReflectiveQoSAttribute_enum { RQOS, NO_RQOS}
+
+ type union ReflectiveQoSAttribute {
+ ReflectiveQoSAttribute_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type ReflectiveQoSAttribute ReflectiveQoSAttributeRm
+
+
+ type enumerated NotificationControl_enum { REQUESTED, NOT_REQUESTED}
+
+ type union NotificationControl {
+ NotificationControl_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type NotificationControl NotificationControlRm
+
+
+ type enumerated QosResourceType_enum { NON_GBR, NON_CRITICAL_GBR, CRITICAL_GBR}
+
+ type union QosResourceType {
+ QosResourceType_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+ type QosResourceType QosResourceTypeRm
+
+
+ type set Arp {
+ ArpPriorityLevel priorityLevel,
+ PreemptionCapability preemptCap,
+ PreemptionVulnerability preemptVuln
+ }
+
+ type Arp ArpRm
+
+ type set Ambr {
+ BitRate uplink,
+ BitRate downlink
+ }
+
+ type Ambr AmbrRm
+
+ type set Dynamic5Qi {
+ QosResourceType resourceType,
+ FiveQiPriorityLevel priorityLevel,
+ PacketDelBudget packetDelayBudget,
+ PacketErrRate packetErrRate,
+ AverWindow averWindow optional,
+ MaxDataBurstVol maxDataBurstVol optional
+ }
+
+ type set NonDynamic5Qi {
+ FiveQiPriorityLevel priorityLevel optional,
+ AverWindow averWindow optional,
+ MaxDataBurstVol maxDataBurstVol optional
+ }
+
+ type enumerated TraceDepth_enum { MINIMUM, MEDIUM, MAXIMUM, MINIMUM_WO_VENDOR_EXTENSION, MEDIUM_WO_VENDOR_EXTENSION, MAXIMUM_WO_VENDOR_EXTENSION}
+
+ type union TraceDepth {
+ TraceDepth_enum enum_val,
+ charstring other_val
+ } with {
+ variant "JSON: as value"
+ }
+
+
+
+ type TraceDepth TraceDepthRm
+
+
+ type set TraceData {
+ charstring traceRef, // (pattern "^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$"),
+ TraceDepth traceDepth,
+ charstring neTypeList, // (pattern "^[A-Fa-f0-9]+$"),
+ charstring eventList, // (pattern "^[A-Fa-f0-9]+$"),
+ Ipv4Addr collectionEntityIpv4Addr optional,
+ Ipv6Addr collectionEntityIpv6Addr optional,
+ charstring interfaceList optional // (pattern "^[A-Fa-f0-9]+$")
+ }
+
+
+
+
+
+} with {
+ encode "JSON"
+}

Back to the top