| /****************************************************************************** |
| * 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: TS32291_Nchf_ConvergedCharging.ttcn |
| // Description: Type definitions for 3GPP TS32291 |
| /////////////////////////////////////////////// |
| module TS32291_Nchf_ConvergedCharging { |
| |
| import from TS29571_CommonData all |
| |
| external function f_enc_ChargingDataRequest(in ChargingDataRequest pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_ChargingDataRequest(in octetstring stream, out ChargingDataRequest pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_ChargingDataResponse(in ChargingDataResponse pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_ChargingDataResponse(in octetstring stream, out ChargingDataResponse pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_ChargingNotification(in ChargingNotification pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_ChargingNotification(in octetstring stream, out ChargingNotification pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| |
| type set ChargingDataRequest { |
| TS29571_CommonData.Supi subscriberIdentifier optional, |
| NFConsumerIdentification nfConsumerIdentification, |
| TS29571_CommonData.DateTime invocationTimeStamp, |
| TS29571_CommonData.Uint32 invocationSequenceNumber, |
| TS29571_CommonData.Uri notifyUri optional, |
| set of MultipleUnitUsage multipleUnitUsage optional, |
| set of Trigger triggers optional, |
| PDUSessionChargingInformation pDUSessionChargingInformation optional, |
| RoamingQBCInformation roamingQBCInformation optional |
| } |
| |
| type set ChargingDataResponse { |
| TS29571_CommonData.DateTime invocationTimeStamp, |
| TS29571_CommonData.Uint32 invocationSequenceNumber, |
| InvocationResult invocationResult, |
| SessionFailover sessionFailover optional, |
| set of MultipleQuotaInformation multipleQuotaInformation optional, |
| set of Trigger triggers optional, |
| PDUSessionChargingInformation pDUSessionChargingInformation optional, |
| RoamingQBCInformation roamingQBCInformation optional |
| } |
| |
| type set ChargingNotification { |
| NotificationType notificationType, |
| set of ReauthorizationDetails reauthorizationDetails optional |
| } |
| |
| type set NFConsumerIdentification { |
| TS29571_CommonData.NfInstanceId nFName, |
| TS29571_CommonData.Ipv4Addr nFIPv4Address, |
| TS29571_CommonData.Ipv6Addr nFIPv6Address, |
| TS29571_CommonData.PlmnId nFPLMNID optional, |
| NodeFunctionality nodeFunctionality |
| } |
| |
| type set MultipleUnitUsage { |
| RatingGroupId ratingGroup, |
| RequestedUnit requestedUnit optional, |
| set of UsedUnitContainer UsedUnitContainer optional, |
| TS29571_CommonData.NfInstanceId uPFID optional |
| } |
| |
| type set InvocationResult { |
| TS29571_CommonData.ProblemDetails error_, |
| FailureHandling failureHandling optional |
| } with { |
| variant (error_) "name as 'error'" |
| } |
| |
| type set Trigger { |
| TriggerType triggerType, |
| TriggerCategory category optional, |
| TS29571_CommonData.DurationSec timeLimit optional, |
| TS29571_CommonData.Uint32 volumeLimit optional, |
| TS29571_CommonData.Uint32 maxNumberOfccc optional |
| } |
| |
| type set MultipleQuotaInformation { |
| ResultCode resultCode optional, |
| RatingGroupId ratingGroup, |
| GrantedUnit grantedUnit optional, |
| set of Trigger triggers optional, |
| TS29571_CommonData.DateTime validityTime optional, |
| TS29571_CommonData.DurationSec quotaHoldingTime optional, |
| FinalUnitIndication finalUnitIndication optional, |
| integer timeQuotaThreshold optional, |
| integer volumeQuotaThreshold optional, |
| integer unitQuotaThreshold optional, |
| TS29571_CommonData.NfInstanceId uPFID optional |
| } |
| |
| type set RequestedUnit { |
| TS29571_CommonData.Uint32 time optional, |
| TS29571_CommonData.Uint64 totalVolume optional, |
| TS29571_CommonData.Uint64 uplinkVolume optional, |
| TS29571_CommonData.Uint64 downlinkVolume optional, |
| TS29571_CommonData.Uint64 serviceSpecificUnits optional |
| } |
| |
| type set UsedUnitContainer { |
| ServiceId serviceId optional, |
| QuotaManagementIndicator quotaManagementIndicator optional, |
| set of Trigger triggers optional, |
| TS29571_CommonData.DateTime triggerTimestamp optional, |
| TS29571_CommonData.Uint32 time optional, |
| TS29571_CommonData.Uint64 totalVolume optional, |
| TS29571_CommonData.Uint64 uplinkVolume optional, |
| TS29571_CommonData.Uint64 downlinkVolume optional, |
| TS29571_CommonData.Uint64 serviceSpecificUnits optional, |
| TS29571_CommonData.DateTime eventTimeStamps optional, |
| integer localSequenceNumber, |
| PDUContainerInformation pDUContainerInformation optional |
| } |
| |
| type set GrantedUnit { |
| TS29571_CommonData.DateTime tariffTimeChange optional, |
| TS29571_CommonData.Uint32 time optional, |
| TS29571_CommonData.Uint64 totalVolume optional, |
| TS29571_CommonData.Uint64 uplinkVolume optional, |
| TS29571_CommonData.Uint64 downlinkVolume optional, |
| TS29571_CommonData.Uint64 serviceSpecificUnits optional |
| } |
| |
| type set FinalUnitIndication { |
| FinalUnitAction finalUnitAction, |
| IPFilterRule restrictionFilterRule optional, |
| charstring filterId optional, |
| RedirectServer redirectServer optional |
| } |
| |
| type set RedirectServer { |
| RedirectAddressType redirectAddressType, |
| charstring redirectServerAddress |
| } |
| |
| type set ReauthorizationDetails { |
| ServiceId serviceIdentifier optional, |
| RatingGroupId ratingGroup, |
| QuotaManagementIndicator quotaManagementIndicator optional |
| } |
| |
| type set PDUSessionChargingInformation { |
| charstring chargingId optional, |
| UserInformation userInformation, |
| TS29571_CommonData.UserLocation userLocationinfo optional, |
| TS29571_CommonData.DateTime userLocationTime optional, |
| set of record { |
| universal charstring key, |
| TS29571_CommonData.PresenceInfo additionalProperties |
| } presenceReportingAreaInformation optional, |
| TS29571_CommonData.TimeZone uetimeZone optional, |
| PDUSessionInformation pduSessionInformation, |
| TS29571_CommonData.DurationSec unusedQuotaTimer optional |
| } with { |
| variant (presenceReportingAreaInformation) "as map" |
| } |
| |
| |
| type set UserInformation { |
| TS29571_CommonData.Gpsi servedGPSI, |
| TS29571_CommonData.Pei servedPEI optional, |
| boolean unauthenticatedFlag optional, |
| RoamerInOut roamerInOut optional |
| } |
| |
| type set PDUSessionInformation { |
| NetworkSlicingInfo networkSlicingInfo optional, |
| TS29571_CommonData.PduSessionId pduSessionID, |
| TS29571_CommonData.PduSessionType pduType optional, |
| TS29571_CommonData.SscMode sscMode optional, |
| TS29571_CommonData.PlmnId hPlmnId optional, |
| set of TS29571_CommonData.AmfId servingNodeID optional, |
| ServingNetworkFunctionID servingNetworkFunctionID optional, |
| TS29571_CommonData.RatType ratType optional, |
| charstring dnnId, |
| charstring chargingCharacteristics optional, |
| ChargingCharacteristicsSelectionMode chargingCharacteristicsSelectionMode optional, |
| TS29571_CommonData.DateTime startTime optional, |
| TS29571_CommonData.DateTime stopTime optional, |
| ThreeGPPPSDataOffStatus threegppPSDataOffStatus optional, |
| boolean sessionStopIndicator optional, |
| PDUAddress pduAddress optional, |
| Diagnostics diagnostics optional, |
| TS29571_CommonData.DefaultQosInformation qoSInformation optional, |
| TS29571_CommonData.PlmnId servingCNPlmnId optional |
| } with { |
| variant (threegppPSDataOffStatus) "name as '3gppPSDataOffStatus'" |
| } |
| |
| |
| type set PDUContainerInformation { |
| TS29571_CommonData.DateTime timeofFirstUsage optional, |
| TS29571_CommonData.DateTime timeofLastUsage optional, |
| TS29571_CommonData.DefaultQosInformation qoSInformation optional, |
| charstring aFCorrelationInformation optional, |
| TS29571_CommonData.UserLocation userLocationInformation optional, |
| TS29571_CommonData.TimeZone uetimeZone optional, |
| TS29571_CommonData.RatType rATType optional, |
| set of TS29571_CommonData.AmfId servingNodeID optional, |
| set of record { |
| universal charstring key, |
| TS29571_CommonData.PresenceInfo additionalProperties |
| } presenceReportingAreaInformation optional, |
| ThreeGPPPSDataOffStatus threegppPSDataOffStatus optional, |
| charstring sponsorIdentity optional, |
| charstring applicationserviceProviderIdentity optional, |
| charstring chargingRuleBaseName optional |
| } with { |
| variant (presenceReportingAreaInformation) "as map" |
| variant (threegppPSDataOffStatus) "name as '3gppPSDataOffStatus'" |
| } |
| |
| |
| type set NetworkSlicingInfo { |
| TS29571_CommonData.Snssai sNSSAI |
| } |
| |
| type set PDUAddress { |
| TS29571_CommonData.Ipv4Addr pduIPv4Address optional, |
| TS29571_CommonData.Ipv6Addr pduIPv6Address optional, |
| integer pduAddressprefixlength optional, |
| boolean IPv4dynamicAddressFlag optional, |
| boolean IPv6dynamicAddressFlag optional |
| } |
| |
| type set ServingNetworkFunctionID { |
| charstring servingNetworkFunctionName optional, |
| charstring servingNetworkFunctionInstanceid optional |
| } |
| |
| type set RoamingQBCInformation { |
| set of MultipleQFIcontainer multipleQFIcontainer optional, |
| TS29571_CommonData.NfInstanceId uPFID optional, |
| RoamingChargingProfile roamingChargingProfile optional |
| } |
| |
| type set MultipleQFIcontainer { |
| set of Trigger triggers optional, |
| TS29571_CommonData.DateTime triggerTimestamp optional, |
| TS29571_CommonData.Uint32 time optional, |
| TS29571_CommonData.Uint64 totalVolume optional, |
| TS29571_CommonData.Uint64 uplinkVolume optional, |
| integer localSequenceNumber, |
| QFIContainerInformation qFIContainerInformation optional |
| } |
| |
| type set QFIContainerInformation { |
| TS29571_CommonData.Qfi qFI optional, |
| TS29571_CommonData.DateTime timeofFirstUsage optional, |
| TS29571_CommonData.DateTime timeofLastUsage optional, |
| TS29571_CommonData.DefaultQosInformation qoSInformation optional, |
| TS29571_CommonData.UserLocation userLocationInformation optional, |
| TS29571_CommonData.TimeZone uetimeZone optional, |
| set of record { |
| universal charstring key, |
| TS29571_CommonData.PresenceInfo additionalProperties |
| } presenceReportingAreaInformation optional, |
| TS29571_CommonData.RatType rATType optional, |
| set of TS29571_CommonData.AmfId servingNetworkFunctionID optional, |
| ThreeGPPPSDataOffStatus threegppPSDataOffStatus optional |
| } with { |
| variant (presenceReportingAreaInformation) "as map" |
| variant (threegppPSDataOffStatus) "name as '3gppPSDataOffStatus'" |
| } |
| |
| type set RoamingChargingProfile { |
| set of Trigger triggers optional, |
| PartialRecordMethod partialRecordMethod optional |
| } |
| |
| type integer RatingGroupId |
| |
| type integer ServiceId |
| |
| type integer Diagnostics |
| |
| type charstring IPFilterRule |
| |
| type enumerated NotificationType_enum { REAUTHORIZATION, ABORT_CHARGING} |
| |
| type union NotificationType { |
| NotificationType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated NodeFunctionality_enum { SMF} |
| |
| type union NodeFunctionality { |
| NodeFunctionality_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated ChargingCharacteristicsSelectionMode_enum { HOME_DEFAULT, ROAMING_DEFAULT, VISITING_DEFAULT} |
| |
| type union ChargingCharacteristicsSelectionMode { |
| ChargingCharacteristicsSelectionMode_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated TriggerType_enum { QUOTA_THRESHOLD, QHT, FINAL, QUOTA_EXHAUSTED, VALIDITY_TIME, OTHER_QUOTA_TYPE, FORCED_REAUTHORISATION, UNUSED_QUOTA_TIMER, ABNORMAL_RELEASE, QOS_CHANGE, VOLUME_LIMIT, TIME_LIMIT, PLMN_CHANGE, USER_LOCATION_CHANGE, RAT_CHANGE, UE_TIMEZONE_CHANGE, TARIFF_TIME_CHANGE, MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS, MANAGEMENT_INTERVENTION, CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA, CHANGE_OF_3GPP_PS_DATA_OFF_STATUS, SERVING_NODE_CHANGE, REMOVAL_OF_UPF, ADDITION_OF_UPF} |
| |
| type union TriggerType { |
| TriggerType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated FinalUnitAction_enum { TERMINATE, REDIRECT, RESTRICT_ACCESS} |
| |
| type union FinalUnitAction { |
| FinalUnitAction_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated RedirectAddressType_enum { IPV4, IPV6, URL} |
| |
| type union RedirectAddressType { |
| RedirectAddressType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated TriggerCategory_enum { IMMEDIATE_REPORT, DEFERRED_REPORT} |
| |
| type union TriggerCategory { |
| TriggerCategory_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated QuotaManagementIndicator_enum { ONLINE_CHARGING, OFFLINE_CHARGING} |
| |
| type union QuotaManagementIndicator { |
| QuotaManagementIndicator_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated FailureHandling_enum { TERMINATE, CONTINUE, RETRY_AND_TERMINATE} |
| |
| type union FailureHandling { |
| FailureHandling_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated SessionFailover_enum { FAILOVER_NOT_SUPPORTED, FAILOVER_SUPPORTED} |
| |
| type union SessionFailover { |
| SessionFailover_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated ThreeGPPPSDataOffStatus_enum { ACTIVE, INACTIVE} |
| |
| type union ThreeGPPPSDataOffStatus { |
| ThreeGPPPSDataOffStatus_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated ResultCode_enum { END_USER_SERVICE_DENIED, CREDIT_CONTROL_NOT_APPLICABLE, CREDIT_LIMIT_REACHED, AUTHORIZATION_REJECTED, USER_UNKNOWN, RATING_FAILED} |
| |
| type union ResultCode { |
| ResultCode_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated PartialRecordMethod_enum { DEFAULT, INDIVIDUAL} |
| |
| type union PartialRecordMethod { |
| PartialRecordMethod_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated RoamerInOut_enum { IN_BOUND, OUT_BOUND} |
| |
| type union RoamerInOut { |
| RoamerInOut_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| |
| |
| |
| |
| } with { |
| encode "JSON" |
| } |