blob: f0a3950101f7a53247bf4f6731ba573f54bed8c2 [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: 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"
}