blob: 800cb705c330e5db74d102cc678445b14f9911b4 [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: TS29514_Npcf_PolicyAuthorization.ttcn
// Description: Type definitions for 3GPP TS29514
///////////////////////////////////////////////
module TS29514_Npcf_PolicyAuthorization {
import from TS29122_CommonData all
import from TS29571_CommonData all
import from TS29512_CommonData all
import from TS32291_Nchf_ConvergedCharging all
external function f_enc_AppSessionContextReqData(in AppSessionContextReqData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AppSessionContextReqData(in octetstring stream, out AppSessionContextReqData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_AppSessionContext(in AppSessionContext pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AppSessionContext(in octetstring stream, out AppSessionContext pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_TerminationInfo(in TerminationInfo pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_TerminationInfo(in octetstring stream, out TerminationInfo pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_EventsNotification(in EventsNotification pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_EventsNotification(in octetstring stream, out EventsNotification pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_AppSessionContextUpdateData(in AppSessionContextUpdateData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AppSessionContextUpdateData(in octetstring stream, out AppSessionContextUpdateData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_EventsSubscReqData(in EventsSubscReqData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_EventsSubscReqData(in octetstring stream, out EventsSubscReqData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
type set AppSessionContext {
AppSessionContextReqData ascReqData optional,
AppSessionContextRespData ascRespData optional,
EventsNotification evsNotif optional
}
type set AppSessionContextReqData {
AfAppId afAppId optional,
AfChargingId afChargId optional,
AfRoutingRequirement afRoutReq optional,
AspId aspId optional,
TS29122_CommonData.BdtReferenceId bdtRefId optional,
TS29571_CommonData.Dnn dnn optional,
EventsSubscReqData evSubsc optional,
set of record {
universal charstring key,
MediaComponent additionalProperties
} medComponents optional,
charstring ipDomain optional,
charstring mpsId optional,
TS29122_CommonData.Link notifUri,
TS29571_CommonData.Snssai sliceInfo optional,
SponId sponId optional,
SponsoringStatus sponStatus optional,
TS29571_CommonData.Supi supi optional,
TS29571_CommonData.SupportedFeatures suppFeat optional,
TS29571_CommonData.Ipv4Addr ueIpv4 optional,
TS29571_CommonData.Ipv6Addr ueIpv6 optional,
TS29571_CommonData.MacAddr48 ueMac optional
}
type set AppSessionContextRespData {
ServAuthInfo servAuthInfo optional,
TS29571_CommonData.SupportedFeatures suppFeat optional
}
type set AppSessionContextUpdateData {
AfAppId afAppId optional,
AfRoutingRequirement afRoutReq optional,
AspId aspId optional,
TS29122_CommonData.BdtReferenceId bdtRefId optional,
EventsSubscReqData evSubsc optional,
set of record {
universal charstring key,
MediaComponent additionalProperties
} medComponents optional,
charstring mpsId optional,
SponId sponId optional,
SponsoringStatus sponStatus optional
}
type set EventsSubscReqData {
TS29571_CommonData.DnaiChangeType dnaiChgType optional,
set of AfEventSubscription events,
TS29122_CommonData.Link notifUri,
RequiredAccessInfo reqAni optional,
TS29122_CommonData.UsageThreshold usgThres optional
}
type set MediaComponent {
AfAppId afAppId optional,
AfRoutingRequirement afRoutReq optional,
ContentVersion contVer optional,
set of CodecData codecs optional,
FlowStatus fStatus optional,
TS29571_CommonData.BitRate marBwDl optional,
TS29571_CommonData.BitRate marBwUl optional,
integer medCompN,
set of record {
universal charstring key,
MediaSubComponent additionalProperties
} medSubComps optional,
MediaType medType optional,
TS29571_CommonData.BitRate mirBwDl optional,
TS29571_CommonData.BitRate mirBwUl optional,
ReservPriority resPrio optional
}
type set MediaSubComponent {
set of EthFlowDescription ethfDescs optional,
integer fNum,
set of FlowDescription fDescs optional,
FlowStatus fStatus optional,
TS29571_CommonData.BitRate marBwDl optional,
TS29571_CommonData.BitRate marBwUl optional,
TosTrafficClass tosTrCl optional,
FlowUsage flowUsage optional
}
type set EventsNotification {
TS29571_CommonData.AccessType accessType optional,
AccessNetChargingAddress anChargAddr optional,
set of AccessNetChargingIdentifier anChargIds optional,
AnGwAddress anGwAddr optional,
TS29122_CommonData.Link evSubsUri,
set of AfEventNotification evNotifs,
set of ResourcesAllocationInfo failedResourcAllocReports optional,
NetLocAccSupp netLocAccSupp optional,
set of OutOfCreditInformation outOfCredReports optional,
TS29571_CommonData.PlmnId plmnCcNc optional,
TS29571_CommonData.PlmnId plmnId optional,
set of QosNotificationControlInfo qncReports optional,
TS29571_CommonData.RatType ratType optional,
TS29571_CommonData.UserLocation ueLoc optional,
TS29571_CommonData.DateTime ueLocTime optional,
TS29571_CommonData.TimeZone ueTimeZone optional,
TS29571_CommonData.UserLocation addUeLoc optional,
TS29571_CommonData.DateTime addUeLocTime optional,
TS29122_CommonData.AccumulatedUsage usgRep optional
}
type set AfEventSubscription {
AfEvent event,
AfNotifMethod notifMethod optional
}
type set AfEventNotification {
AfEvent event,
set of Flows flows optional
}
type set TerminationInfo {
TerminationCause termCause,
TS29122_CommonData.Link resUri
}
type set AfRoutingRequirement {
boolean appReloc optional,
charstring afTransId,
set of TS29571_CommonData.RouteToLocation routeToLocs optional,
SpatialValidity spVal optional,
set of TemporalValidity tempVals optional
}
type set SpatialValidity {
set of charstring praIds optional,
set of record {
universal charstring key,
TS29571_CommonData.PresenceInfo additionalProperties
} presenceInfoList optional
}
type set AccessNetChargingAddress {
TS29571_CommonData.Ipv4Addr anChargIpv4Addr optional,
TS29571_CommonData.Ipv6Addr anChargIpv6Addr optional
}
type set AccessNetChargingIdentifier {
charstring anChargIdValue,
set of Flows flows optional
}
type set AnGwAddress {
TS29571_CommonData.Ipv4Addr anGwIpv4Addr optional,
TS29571_CommonData.Ipv6Addr anGwIpv6Addr optional
}
type set Flows {
set of ContentVersion contVers optional,
set of integer fNums optional,
integer medCompN
}
type set EthFlowDescription {
TS29571_CommonData.MacAddr48 destMacAddr optional,
charstring ethType,
FlowDescription fDesc optional,
TS29512_CommonData.FlowDirection fDir optional,
TS29571_CommonData.MacAddr48 sourceMacAddr optional,
charstring vlanTags optional
}
type set OutOfCreditInformation {
TS32291_Nchf_ConvergedCharging.FinalUnitAction finUnitAct optional,
set of Flows flows optional
}
type set ResourcesAllocationInfo {
MediaComponentResourcesStatus mcResourcStatus,
set of Flows flows
}
type set TemporalValidity {
TS29571_CommonData.DateTime startTime optional,
TS29571_CommonData.DateTime stopTime optional
}
type set QosNotificationControlInfo {
QosNotifType notifType,
set of Flows flows optional
}
type charstring AfChargingId
type charstring AfAppId
type charstring AspId
type charstring CodecData
type integer ContentVersion
type charstring FlowDescription
type boolean NetLocAccSupp
type charstring SponId
type enumerated MediaType_enum { AUDIO, VIDEO, DATA, APPLICATION, CONTROL, TEXT, MESSAGE, OTHER}
type union MediaType {
MediaType_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated ReservPriority_enum { PRIO_1, PRIO_2, PRIO_3, PRIO_4, PRIO_5, PRIO_6, PRIO_7, PRIO_8, PRIO_9, PRIO_10, PRIO_11, PRIO_12, PRIO_13, PRIO_14, PRIO_15, PRIO_16}
type union ReservPriority {
ReservPriority_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated ServAuthInfo_enum { TP_NOT_KNOWN, TP_EXPIRED, TP_NOT_YET_OCURRED, UNAUTH_TRAFFIC_ROUTING_REQ}
type union ServAuthInfo {
ServAuthInfo_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated SponsoringStatus_enum { SPONSOR_DISABLED, SPONSOR_ENABLED}
type union SponsoringStatus {
SponsoringStatus_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated AfEvent_enum { ACCESS_TYPE_CHANGE, ANI_REPORT, CHARGING_CORRELATION, DNAI_CHG, FAILED_RESOURCES_ALLOCATION, OUT_OF_CREDIT, PLMN_CHG, QOS_NOTIFICATION_CONTROL, ROUT_REQ_STATUS_CHG, SUCCESSFUL_RESOURCES_ALLOCATION, USAGE_REPORT}
type union AfEvent {
AfEvent_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated AfNotifMethod_enum { EVENT_DETECTION, ONE_TIME}
type union AfNotifMethod {
AfNotifMethod_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated QosNotifType_enum { FULFILLED, NOT_FULFILLED}
type union QosNotifType {
QosNotifType_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated TerminationCause_enum { ALL_SDF_DEACTIVATION, PDU_SESSION_TERMINATION}
type union TerminationCause {
TerminationCause_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated RequiredAccessInfo_enum { USER_LOCATION, MS_TIME_ZONE}
type union RequiredAccessInfo {
RequiredAccessInfo_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated MediaComponentResourcesStatus_enum { ACTIVE, INACTIVE}
type union MediaComponentResourcesStatus {
MediaComponentResourcesStatus_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated FlowUsage_enum { NO_INFO, RTCP}
type union FlowUsage {
FlowUsage_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type enumerated FlowStatus_enum { ENABLED_UPLINK, ENABLED_DOWNLINK, ENABLED, DISABLED, REMOVED}
with {
variant "text 'ENABLED_UPLINK' as 'ENABLED-UPLINK'"
variant "text 'ENABLED_DOWNLINK' as 'ENABLED-DOWNLINK'"
}
type union FlowStatus {
FlowStatus_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
type charstring TosTrafficClass
} with {
encode "JSON"
}