wireshark/idl/parlay/cs.idl

551 lines
14 KiB
Plaintext

//Source file: cs.idl
//Date: 12 October 2004
//Charging Interfaces and Data Types for ETSI ES 203 915-12 v.1.1.1, DES/TISPAN-01005-12-OSA, Parlay 5.0
#ifndef __CS_DEFINED
#define __CS_DEFINED
#include "osa.idl"
module org {
module csapi {
module cs {
interface IpChargingSession;
struct TpMerchantAccountID {
TpString MerchantID;
TpInt32 AccountID;
};
typedef TpInt32 TpCorrelationType;
struct TpCorrelationID {
TpSessionID CorrelationID;
TpCorrelationType CorrelationType;
};
struct TpAmount {
TpInt32 Number;
TpInt32 Exponent;
};
struct TpChargingPrice {
TpString Currency;
TpAmount Amount;
};
typedef TpInt32 TpChargingParameterID;
enum TpChargingParameterValueType {
P_CHS_PARAMETER_INT32,
P_CHS_PARAMETER_FLOAT,
P_CHS_PARAMETER_STRING,
P_CHS_PARAMETER_BOOLEAN,
P_CHS_PARAMETER_OCTETSET
};
union TpChargingParameterValue switch(TpChargingParameterValueType) {
case P_CHS_PARAMETER_INT32: TpInt32 IntValue;
case P_CHS_PARAMETER_FLOAT: TpFloat FloatValue;
case P_CHS_PARAMETER_STRING: TpString StringValue;
case P_CHS_PARAMETER_BOOLEAN: TpBoolean BooleanValue;
case P_CHS_PARAMETER_OCTETSET: TpOctetSet OctetValue;
};
typedef TpInt32 TpUnitID;
struct TpVolume {
TpAmount Amount;
TpUnitID Unit;
};
typedef sequence <TpVolume> TpVolumeSet;
struct TpChargingSessionID {
IpChargingSession ChargingSessionReference;
TpSessionID ChargingSessionID;
TpInt32 RequestNumberFirstRequest;
};
struct TpPriceVolume {
TpChargingPrice Price;
TpVolume Volume;
};
typedef sequence <TpPriceVolume> TpPriceVolumeSet;
enum TpChargingError {
P_CHS_ERR_UNDEFINED,
P_CHS_ERR_ACCOUNT,
P_CHS_ERR_USER,
P_CHS_ERR_PARAMETER,
P_CHS_ERR_NO_DEBIT,
P_CHS_ERR_NO_CREDIT,
P_CHS_ERR_VOLUMES,
P_CHS_ERR_CURRENCY,
P_CHS_ERR_NO_EXTEND,
P_CHS_ERR_RESERVATION_LIMIT,
P_CHS_ERR_CONFIRMATION_REQUIRED
};
enum TpSessionEndedCause {
P_CHS_CAUSE_UNDEFINED,
P_CHS_CAUSE_TIMER_EXPIRED
};
enum TpAppInformationType {
P_APP_INF_TIMESTAMP
};
union TpAppInformation switch(TpAppInformationType) {
case P_APP_INF_TIMESTAMP: TpDateAndTime Timestamp;
};
typedef sequence <TpAppInformation> TpAppInformationSet;
struct TpApplicationDescription {
TpString Text;
TpAppInformationSet AppInformation;
};
struct TpChargingParameter {
TpChargingParameterID ParameterID;
TpChargingParameterValue ParameterValue;
};
typedef sequence <TpChargingParameter> TpChargingParameterSet;
const TpChargingParameterID P_CHS_PARAM_UNDEFINED = 0;
const TpChargingParameterID P_CHS_PARAM_ITEM = 1;
const TpChargingParameterID P_CHS_PARAM_SUBTYPE = 2;
const TpCorrelationType P_CHS_CORRELATION_UNDEFINED = 0;
const TpCorrelationType P_CHS_CORRELATION_VOICE = 1;
const TpCorrelationType P_CHS_CORRELATION_DATA = 2;
const TpCorrelationType P_CHS_CORRELATION_MM = 3;
const TpUnitID P_CHS_UNIT_UNDEFINED = 0;
const TpUnitID P_CHS_UNIT_NUMBER = 1;
const TpUnitID P_CHS_UNIT_OCTETS = 2;
const TpUnitID P_CHS_UNIT_SECONDS = 3;
const TpUnitID P_CHS_UNIT_MINUTES = 4;
const TpUnitID P_CHS_UNIT_HOURS = 5;
const TpUnitID P_CHS_UNIT_DAYS = 6;
exception P_INVALID_USER {
TpString ExtraInformation;
};
exception P_INVALID_ACCOUNT {
TpString ExtraInformation;
};
exception P_INVALID_REQUEST_NUMBER {
TpString ExtraInformation;
};
exception P_INVALID_VOLUME {
TpString ExtraInformation;
};
const TpChargingParameterID P_CHS_PARAM_CONFIRMATION_ID = 3;
const TpChargingParameterID P_CHS_PARAM_CONTRACT = 4;
interface IpAppChargingSession : IpInterface {
void creditAmountErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void creditAmountRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingPrice creditedAmount,
in TpChargingPrice reservedAmountLeft,
in TpInt32 requestNumberNextRequest
);
void creditUnitErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void creditUnitRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpVolumeSet creditedVolumes,
in TpVolumeSet reservedUnitsLeft,
in TpInt32 requestNumberNextRequest
);
void debitAmountErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void debitAmountRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingPrice debitedAmount,
in TpChargingPrice reservedAmountLeft,
in TpInt32 requestNumberNextRequest
);
void debitUnitErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void debitUnitRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpVolumeSet debitedVolumes,
in TpVolumeSet reservedUnitsLeft,
in TpInt32 requestNumberNextRequest
);
void directCreditAmountErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void directCreditAmountRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingPrice creditedAmount,
in TpInt32 requestNumberNextRequest
);
void directCreditUnitErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void directCreditUnitRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpVolumeSet creditedVolumes,
in TpInt32 requestNumberNextRequest
);
void directDebitAmountErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void directDebitAmountRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingPrice debitedAmount,
in TpInt32 requestNumberNextRequest
);
void directDebitUnitErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void directDebitUnitRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpVolumeSet debitedVolumes,
in TpInt32 requestNumberNextRequest
);
void extendLifeTimeErr (
in TpSessionID sessionID,
in TpChargingError error
);
void extendLifeTimeRes (
in TpSessionID sessionID,
in TpInt32 sessionTimeLeft
);
void rateErr (
in TpSessionID sessionID,
in TpChargingError error
);
void rateRes (
in TpSessionID sessionID,
in TpPriceVolumeSet rates,
in TpDuration validityTimeLeft
);
void reserveAmountErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void reserveAmountRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingPrice reservedAmount,
in TpInt32 sessionTimeLeft,
in TpInt32 requestNumberNextRequest
);
void reserveUnitErr (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpChargingError error,
in TpInt32 requestNumberNextRequest
);
void reserveUnitRes (
in TpSessionID sessionID,
in TpInt32 requestNumber,
in TpVolumeSet reservedUnits,
in TpInt32 sessionTimeLeft,
in TpInt32 requestNumberNextRequest
);
void sessionEnded (
in TpSessionID sessionID,
in TpSessionEndedCause report
);
};
interface IpChargingSession : IpService {
void creditAmountReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingPrice amount,
in TpBoolean closeReservation,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
void creditUnitReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpVolumeSet volumes,
in TpBoolean closeReservation,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
void debitAmountReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingPrice amount,
in TpBoolean closeReservation,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
void debitUnitReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpVolumeSet volumes,
in TpBoolean closeReservation,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
void directCreditAmountReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpChargingPrice amount,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
void directCreditUnitReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpVolumeSet volumes,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
void directDebitAmountReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpChargingPrice amount,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
void directDebitUnitReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpVolumeSet volumes,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
void extendLifeTimeReq (
in TpSessionID sessionID
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
TpChargingPrice getAmountLeft (
in TpSessionID sessionID
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
TpInt32 getLifeTimeLeft (
in TpSessionID sessionID
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
TpVolumeSet getUnitLeft (
in TpSessionID sessionID
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
void rateReq (
in TpSessionID sessionID,
in TpChargingParameterSet chargingParameters
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
void release (
in TpSessionID sessionID,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_REQUEST_NUMBER);
void reserveAmountReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpChargingPrice preferredAmount,
in TpChargingPrice minimumAmount,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
void reserveUnitReq (
in TpSessionID sessionID,
in TpApplicationDescription applicationDescription,
in TpChargingParameterSet chargingParameters,
in TpVolumeSet volumes,
in TpInt32 requestNumber
)
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
};
interface IpAppChargingManager : IpInterface {
void sessionAborted (
in TpSessionID sessionID
);
void abortMultipleChargingSessions (
in TpSessionIDSet chargingSessionSet
);
};
interface IpChargingManager : IpService {
TpChargingSessionID createChargingSession (
in IpAppChargingSession appChargingSession,
in TpString sessionDescription,
in TpMerchantAccountID merchantAccount,
in TpAddress user,
in TpCorrelationID correlationID
)
raises (TpCommonExceptions,P_INVALID_USER,P_INVALID_ACCOUNT);
TpChargingSessionID createSplitChargingSession (
in IpAppChargingSession appChargingSession,
in TpString sessionDescription,
in TpMerchantAccountID merchantAccount,
in TpAddressSet users,
in TpCorrelationID correlationID
)
raises (TpCommonExceptions,P_INVALID_USER,P_INVALID_ACCOUNT);
};
};
};
};
#endif