| /****************************************************************************** |
| * 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" |
| } |