blob: 423ab2f8d1b3eee8f6b014678bb2e1653e7762d5 [file] [log] [blame]
/******************************************************************************
* 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: TS29503_Nudm_SDM.ttcn
// Description: Type definitions for 3GPP TS29503
///////////////////////////////////////////////
module TS29503_Nudm_SDM {
import from TS29571_CommonData all
import from TS29509_Nausf_SoRProtection all
external function f_enc_SubscriptionDataSets(in SubscriptionDataSets pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_SubscriptionDataSets(in octetstring stream, out SubscriptionDataSets pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_Nssai(in Nssai pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_Nssai(in octetstring stream, out Nssai pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_AccessAndMobilitySubscriptionData(in AccessAndMobilitySubscriptionData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AccessAndMobilitySubscriptionData(in octetstring stream, out AccessAndMobilitySubscriptionData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_SmfSelectionSubscriptionData(in SmfSelectionSubscriptionData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_SmfSelectionSubscriptionData(in octetstring stream, out SmfSelectionSubscriptionData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_UeContextInSmfData(in UeContextInSmfData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_UeContextInSmfData(in octetstring stream, out UeContextInSmfData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_SmsSubscriptionData(in SmsSubscriptionData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_SmsSubscriptionData(in octetstring stream, out SmsSubscriptionData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_SmsManagementSubscriptionData(in SmsManagementSubscriptionData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_SmsManagementSubscriptionData(in octetstring stream, out SmsManagementSubscriptionData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_SdmSubscription(in SdmSubscription pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_SdmSubscription(in octetstring stream, out SdmSubscription pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_ModificationNotification(in ModificationNotification pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_ModificationNotification(in octetstring stream, out ModificationNotification pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_IdTranslationResult(in IdTranslationResult pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_IdTranslationResult(in octetstring stream, out IdTranslationResult pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_AcknowledgeInfo(in AcknowledgeInfo pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AcknowledgeInfo(in octetstring stream, out AcknowledgeInfo pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
type set of DataSetName DatasetNames
type set SubscriptionDataSets {
AccessAndMobilitySubscriptionData amData optional,
SmfSelectionSubscriptionData smfSelData optional,
UeContextInSmfData uecSmfData optional,
UeContextInSmsfData uecSmsfData optional,
SmsSubscriptionData smsSubsData optional,
set of SessionManagementSubscriptionData smData optional,
TS29571_CommonData.TraceData traceData optional,
SmsManagementSubscriptionData smsMngData optional
}
type set UeContextInSmsfData {
SmsfInfo smsfInfo3GppAccess optional,
SmsfInfo smsfInfoNon3GppAccess optional
}
type set SmsfInfo {
TS29571_CommonData.NfInstanceId smsfInstanceId,
TS29571_CommonData.PlmnId plmnId
}
type set AccessAndMobilitySubscriptionData {
TS29571_CommonData.SupportedFeatures supportedFeatures optional,
set of TS29571_CommonData.Gpsi gpsis optional,
set of InternalGroupId internalGroupIds optional,
TS29571_CommonData.Ambr subscribedUeAmbr optional,
Nssai nssai optional,
set of TS29571_CommonData.RatType ratRestrictions optional,
set of TS29571_CommonData.Area forbiddenAreas optional,
TS29571_CommonData.ServiceAreaRestriction serviceAreaRestriction optional,
set of TS29571_CommonData.CoreNetworkType coreNetworkTypeRestrictions optional,
TS29571_CommonData.RfspIndex rfspIndex optional,
TS29571_CommonData.DurationSec subsRegTimer optional,
UeUsageType ueUsageType optional,
MpsPriorityIndicator mpsPriority optional,
TS29571_CommonData.DurationSec activeTime optional,
DlPacketCount dlPacketCount optional,
SorInfo sorInfo optional,
MicoAllowed micoAllowed optional,
SharedDataIds sharedDataIds optional
}
type set SmfSelectionSubscriptionData {
TS29571_CommonData.SupportedFeatures supportedFeatures optional,
set of SnssaiInfo subscribedSnssaiInfos optional
}
type set SnssaiInfo {
TS29571_CommonData.Snssai singleNssai,
set of DnnInfo dnnInfos
}
type set DnnInfo {
TS29571_CommonData.Dnn dnn,
DnnIndicator defaultDnnIndicator optional,
LboRoamingAllowed lboRoamingAllowed optional,
IwkEpsInd iwkEpsInd optional,
LadnIndicator ladnIndicator optional
}
type set Nssai {
TS29571_CommonData.SupportedFeatures supportedFeatures optional,
set of TS29571_CommonData.Snssai defaultSingleNssais optional,
set of TS29571_CommonData.Snssai singleNssais optional
}
type set UeContextInSmfData {
set of record {
universal charstring key,
PduSession additionalProperties
} pduSessions optional,
set of PgwInfo pgwInfo optional
} with {
variant (pduSessions) "as map"
}
type set PduSession {
TS29571_CommonData.PduSessionId pduSessionId,
TS29571_CommonData.Dnn dnn,
TS29571_CommonData.NfInstanceId smfInstanceId,
TS29571_CommonData.PlmnId plmnId
}
type set PgwInfo {
TS29571_CommonData.Dnn dnn,
charstring pgwFqdn,
TS29571_CommonData.PlmnId plmnId optional
}
type set SessionManagementSubscriptionData {
TS29571_CommonData.Snssai singleNssai,
record of record {
universal charstring key,
DnnConfiguration additionalProperties
} dnnConfiguration optional
} with {
variant (dnnConfiguration) "as map"
}
type set DnnConfiguration {
TS29571_CommonData.Dnn dnn,
PduSessionTypes pduSessionTypes,
SscModes sscModes,
IwkEpsInd iwkEpsInd optional,
LadnIndicator ladnIndicator optional,
FiveGQosProfile fivegQosProfile optional,
TS29571_CommonData.Ambr sessionAmbr optional,
ThreeGppChargingCharacteristics threegppChargingCharacteristics optional,
IpAddress staticIpAddress optional,
TS29571_CommonData.UpSecurity upSecurity optional
} with {
variant (fivegQosProfile) "name as '5gQosProfile'"
variant (threegppChargingCharacteristics) "name as '3gppChargingCharacteristics'"
}
type set IpAddress {
TS29571_CommonData.Ipv4Addr ipv4Addr optional,
TS29571_CommonData.Ipv6Addr ipv6Addr optional,
TS29571_CommonData.Ipv6Prefix ipv6Prefix optional
}
type set PduSessionTypes {
TS29571_CommonData.PduSessionType defaultSessionType,
set of TS29571_CommonData.PduSessionType allowedSessionTypes optional
}
type set SscModes {
TS29571_CommonData.SscMode defaultSscMode,
set of TS29571_CommonData.SscMode allowedSscModes optional
}
type set FiveGQosProfile {
TS29571_CommonData.FiveQi fiveqi,
TS29571_CommonData.NonDynamic5Qi nonDynamic5Qi optional,
TS29571_CommonData.Dynamic5Qi dynamic5Qi optional,
TS29571_CommonData.Arp arp optional
} with {
variant (fiveqi) "name as '5qi'"
}
type set SmsSubscriptionData {
SmsSubscribed smsSubscribed,
SharedDataIds sharedDataIds optional
}
type set SmsManagementSubscriptionData {
TS29571_CommonData.SupportedFeatures supportedFeatures optional,
boolean mtSmsSubscribed,
boolean mtSmsBarringAll optional,
boolean mtSmsBarringRoaming optional,
boolean moSmsSubscribed,
boolean moSmsBarringAll optional,
boolean moSmsBarringRoaming optional,
SharedDataIds sharedDataIds optional
}
type set SdmSubscription {
TS29571_CommonData.NfInstanceId nfInstanceId,
boolean implicitUnsubscribe optional,
TS29571_CommonData.DateTime expires optional,
TS29571_CommonData.Uri callbackReference optional,
set of TS29571_CommonData.Uri monitoredResourceUris optional,
TS29571_CommonData.Snssai singleNssai optional,
TS29571_CommonData.Dnn dnn optional
}
type set ModificationNotification {
set of TS29571_CommonData.NotifyItem notifyItems
}
type set IdTranslationResult {
TS29571_CommonData.SupportedFeatures supportedFeatures optional,
TS29571_CommonData.Supi supi,
TS29571_CommonData.Gpsi gpsi optional
}
type set AcknowledgeInfo {
TS29509_Nausf_SoRProtection.SorMac sorMacIue optional
}
type set SorInfo {
set of TS29509_Nausf_SoRProtection.SteeringInfo steeringInfoList,
TS29509_Nausf_SoRProtection.AckInd ackInd,
TS29509_Nausf_SoRProtection.SorMac sorMacIausf,
TS29509_Nausf_SoRProtection.CounterSor countersor
}
type set of SharedDataId SharedDataIds
type set SharedData {
SharedDataId sharedDataId,
AccessAndMobilitySubscriptionData sharedAmData optional,
SmsSubscriptionData sharedSmsSubsData optional,
SmsManagementSubscriptionData sharedSmsMngSubsData optional
}
type integer UeUsageType
type boolean MpsPriorityIndicator
type boolean DnnIndicator
type boolean LboRoamingAllowed
type boolean LadnIndicator
type boolean SmsSubscribed
type charstring ThreeGppChargingCharacteristics
type integer DlPacketCount (-1..infinity)
type charstring InternalGroupId
type boolean MicoAllowed
type charstring SharedDataId // (pattern "^[0-9]{5,6}-.+$")
type boolean IwkEpsInd
type enumerated DataSetName_enum { AM, SMF_SEL, UEC_SMF, UEC_SMSF, SMS_SUB, SM, TRACE, SMS_MNG}
type union DataSetName {
DataSetName_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
} with {
encode "JSON"
}