Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/TS29571_CommonData.ttcn')
-rw-r--r--src/TS29571_CommonData.ttcn745
1 files changed, 745 insertions, 0 deletions
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