//Source file: osa.idl //Date: 7 October 2004 //Common Data Types for ES 203 915-2 V1.1.1, DES/TISPAN-01005-02, Parlay 5.0 #ifndef __OSA_DEFINED #define __OSA_DEFINED module org { module csapi { enum TpAddressError { P_ADDRESS_INVALID_UNDEFINED, P_ADDRESS_INVALID_MISSING, P_ADDRESS_INVALID_MISSING_ELEMENT, P_ADDRESS_INVALID_OUT_OF_RANGE, P_ADDRESS_INVALID_INCOMPLETE, P_ADDRESS_INVALID_CANNOT_DECODE }; enum TpAddressPlan { P_ADDRESS_PLAN_NOT_PRESENT, P_ADDRESS_PLAN_UNDEFINED, P_ADDRESS_PLAN_IP, P_ADDRESS_PLAN_MULTICAST, P_ADDRESS_PLAN_UNICAST, P_ADDRESS_PLAN_E164, P_ADDRESS_PLAN_AESA, P_ADDRESS_PLAN_URL, P_ADDRESS_PLAN_NSAP, P_ADDRESS_PLAN_SMTP, P_ADDRESS_PLAN_MSMAIL, P_ADDRESS_PLAN_X400, P_ADDRESS_PLAN_SIP, P_ADDRESS_PLAN_ANY, P_ADDRESS_PLAN_NATIONAL }; enum TpAddressPresentation { P_ADDRESS_PRESENTATION_UNDEFINED, P_ADDRESS_PRESENTATION_ALLOWED, P_ADDRESS_PRESENTATION_RESTRICTED, P_ADDRESS_PRESENTATION_ADDRESS_NOT_AVAILABLE }; enum TpAddressScreening { P_ADDRESS_SCREENING_UNDEFINED, P_ADDRESS_SCREENING_USER_VERIFIED_PASSED, P_ADDRESS_SCREENING_USER_NOT_VERIFIED, P_ADDRESS_SCREENING_USER_VERIFIED_FAILED, P_ADDRESS_SCREENING_NETWORK }; typedef boolean TpBoolean; typedef float TpFloat; typedef long TpInt32; const TpInt32 P_METHOD_NOT_SUPPORTED = 22; const TpInt32 P_NO_CALLBACK_ADDRESS_SET = 17; const TpInt32 P_RESOURCES_UNAVAILABLE = 13; const TpInt32 P_TASK_CANCELLED = 15; const TpInt32 P_TASK_REFUSED = 14; typedef TpInt32 TpAssignmentID; typedef TpInt32 TpDuration; typedef TpInt32 TpSessionID; typedef sequence TpSessionIDSet; typedef string TpString; exception P_INVALID_ASSIGNMENT_ID { TpString ExtraInformation; }; exception P_INVALID_TIME_AND_DATE_FORMAT { TpString ExtraInformation; }; exception P_INVALID_EVENT_TYPE { TpString ExtraInformation; }; exception P_INVALID_INTERFACE_NAME { TpString ExtraInformation; }; exception P_INVALID_INTERFACE_TYPE { TpString ExtraInformation; }; exception P_UNKNOWN_SUBSCRIBER { TpString ExtraInformation; }; exception P_INFORMATION_NOT_AVAILABLE { TpString ExtraInformation; }; struct TpAddress { TpAddressPlan Plan; TpString AddrString; TpString Name; TpAddressPresentation Presentation; TpAddressScreening Screening; TpString SubAddressString; }; struct TpAddressRange { TpAddressPlan Plan; TpString AddrString; TpString Name; TpString SubAddressString; }; typedef sequence TpAddressSet; typedef TpString TpPrice; typedef TpString TpDate; typedef TpString TpDateAndTime; typedef TpString TpTime; typedef TpString TpURL; typedef TpString TpLanguage; enum TpCallAoCOrderCategory { P_CHARGE_ADVICE_INFO, P_CHARGE_PER_TIME, P_CHARGE_NETWORK }; struct TpCAIElements { TpInt32 UnitsPerInterval; TpInt32 SecondsPerTimeInterval; TpInt32 ScalingFactor; TpInt32 UnitIncrement; TpInt32 UnitsPerDataInterval; TpInt32 SegmentsPerDataInterval; TpInt32 InitialSecsPerTimeInterval; }; struct TpChargeAdviceInfo { TpCAIElements CurrentCAI; TpCAIElements NextCAI; }; struct TpChargePerTime { TpInt32 InitialCharge; TpInt32 CurrentChargePerMinute; TpInt32 NextChargePerMinute; }; union TpAoCOrder switch(TpCallAoCOrderCategory) { case P_CHARGE_ADVICE_INFO: TpChargeAdviceInfo ChargeAdviceInfo; case P_CHARGE_PER_TIME: TpChargePerTime ChargePerTime; case P_CHARGE_NETWORK: TpString NetworkCharge; }; struct TpAoCInfo { TpAoCOrder ChargeOrder; TpString Currency; }; exception P_INVALID_CRITERIA { TpString ExtraInformation; }; const TpInt32 P_INVALID_STATE = 744; exception P_INVALID_SESSION_ID { TpString ExtraInformation; }; exception TpCommonExceptions { TpInt32 ExceptionType; TpString ExtraInformation; }; exception P_INVALID_CURRENCY { TpString ExtraInformation; }; exception P_INVALID_AMOUNT { TpString ExtraInformation; }; struct TpTimeInterval { TpDateAndTime StartTime; TpDateAndTime StopTime; }; exception P_APPLICATION_NOT_ACTIVATED { TpString ExtraInformation; }; exception P_INVALID_ADDRESS { TpString ExtraInformation; }; typedef octet TpOctet; typedef sequence TpOctetSet; exception P_UNSUPPORTED_ADDRESS_PLAN { TpString ExtraInformation; }; exception P_UNAUTHORISED_PARAMETER_VALUE { TpString ExtraInformation; }; typedef string TpLongString; typedef any TpAny; typedef long long TpInt64; typedef TpString TpVersion; exception P_INVALID_VERSION { TpString ExtraInformation; }; typedef sequence TpStringList; typedef sequence TpStringSet; enum TpDataSessionQosClass { P_DATA_SESSION_QOS_CLASS_CONVERSATIONAL, P_DATA_SESSION_QOS_CLASS_STREAMING, P_DATA_SESSION_QOS_CLASS_INTERACTIVE, P_DATA_SESSION_QOS_CLASS_BACKGROUND }; typedef TpString TpURN; exception P_INVALID_NETWORK_STATE { TpString ExtraInformation; }; typedef sequence TpUnorderedOctetSet; typedef char TpChar; typedef wchar TpWChar; typedef wstring TpWString; typedef short TpInt16; typedef unsigned short TpUnsignedInt16; typedef unsigned long TpUnsignedInt32; typedef unsigned long long TpUnsignedInt64; typedef double TpDouble; typedef TpString TpXMLString; typedef TpString TpStructuredAttributeType; struct TpStructuredAttributeValue { TpStructuredAttributeType Type; TpAny Value; }; enum TpSimpleAttributeTypeInfo { P_BOOLEAN, P_OCTET, P_CHAR, P_WCHAR, P_STRING, P_WSTRING, P_INT16, P_UNSIGNED_INT16, P_INT32, P_UNSIGNED_INT32, P_INT64, P_UNSIGNED_INT64, P_FLOAT, P_DOUBLE }; union TpSimpleAttributeValue switch(TpSimpleAttributeTypeInfo) { case P_BOOLEAN: TpBoolean BooleanValue; case P_OCTET: TpOctet OctetValue; case P_CHAR: TpChar CharValue; case P_WCHAR: TpWChar WCharValue; case P_STRING: TpString StringValue; case P_WSTRING: TpWString WStringValue; case P_INT16: TpInt16 Int16Value; case P_UNSIGNED_INT16: TpUnsignedInt16 UnsignedInt16Value; case P_INT32: TpInt32 Int32Value; case P_UNSIGNED_INT32: TpUnsignedInt32 UnsignedInt32Value; case P_INT64: TpInt64 Int64Value; case P_UNSIGNED_INT64: TpUnsignedInt64 UnsignedInt64Value; case P_FLOAT: TpFloat FloatValue; case P_DOUBLE: TpDouble DoubleValue; }; enum TpAttributeTagInfo { P_SIMPLE_TYPE, P_STRUCTURED_TYPE, P_XML_TYPE }; union TpAttributeValue switch(TpAttributeTagInfo) { case P_SIMPLE_TYPE: TpSimpleAttributeValue SimpleValue; case P_STRUCTURED_TYPE: TpStructuredAttributeValue StructuredValue; case P_XML_TYPE: TpXMLString XMLValue; }; struct TpAttribute { TpString AttributeName; TpAttributeValue AttributeValue; }; typedef sequence TpAttributeList; typedef sequence TpAttributeSet; interface IpInterface { }; interface IpService : IpInterface { void setCallback ( in IpInterface appInterface ) raises (TpCommonExceptions,P_INVALID_INTERFACE_TYPE); void setCallbackWithSessionID ( in IpInterface appInterface, in TpSessionID sessionID ) raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_INTERFACE_TYPE); }; }; }; #endif