-- IDL module extracted from ITU-T Q.834.4 (07/2003)

#ifndef __Q834_4_PROFILEMANAGER_DEFINED #define __Q834_4_PROFILEMANAGER_DEFINED #include "Q834Common.idl" #pragma prefix "itu.Int" module q834_4 { module ProfileManager { // begin definitions from other idl files - filterable data value types typedef Q834Common::NameType NameType; typedef Q834Common::NotificationIdentifierType NotificationIdentifierType; typedef Q834Common::PerceivedSeverityType PerceivedSeverityType; typedef Q834Common::ProbableCauseType ProbableCauseType; typedef Q834Common::MonitoredParameterType MonitoredParameterType; typedef Q834Common::ServiceCategoryType ServiceCategoryType; typedef Q834Common::ConformanceDefType ConformanceDefType; typedef Q834Common::ATMOverbookingFactorType ATMOverbookingFactorType; typedef Q834Common::MonitoringKindType MonitoringKindType; #define UnknownProfiles Q834Common::UnknownProfiles #define AccessDenied Q834Common::AccessDenied // End definitions from other idl files // Local data types typedef unsigned short ProfileKindType; struct ProfileInfoType { ProfileKindType profileKind; any attributeValuestruct; }; /* Next, structs (and sequence of structs) are defined having the attribute values for the newly created profile objects. Any one of these structs is subsequently identified as ProfileStruct in the Profile Event Consumer interface specification. */ enum SubType { NULL, VoicebandBasedOn64kbps, SynchronousCircuitEmulation, AsynchronousCircuitEmulation, HighQualityAudio, Video }; enum CBRRateType { br44736kbps, br1544kbps, br2048kbps, brE3kbps, br64kbps, br2x64kbps, br3x64kbps, br4x64kbps, br5x64kbps, br6x64kbps, br7x64kbps, br8x64kbps, br9x64kbps, br10x64kbps, br11x64kbps, br12x64kbps, br13x64kbps, br14x64kbps, br15x64kbps, br16x64kbps, br17x64kbps, br18x64kbps, br19x64kbps, br20x64kbps, br21x64kbps, br22x64kbps, br23x64kbps, br24x64kbps, br25x64kbps, br26x64kbps, br27x64kbps, br28x64kbps, br29x64kbps, br30x64kbps, br31x64kbps }; enum ClockRecoveryType { PhysInterface, SRTS, AdaptiveClock, LocalOsc }; enum ForwardErrorCorrectionType { NoFEC, FECforLossSensitiveSigTransport, FECforDelaySensSigTransport }; typedef boolean StructuredDataTransferType; //TRUE = STD has been chosen typedef long long PartiallyFilledCellsType; typedef long long CellLossIntegrationPeriodType; struct AAL1ProfileType { SubType aAL1subtype; CBRRateType cBRRate; ClockRecoveryType clockRecovery; ForwardErrorCorrectionType forwardErrorCorrection; StructuredDataTransferType structuredDataTransfer; PartiallyFilledCellsType partiallyFilledCells; }; // ProfileStruct for profile type = 1 typedef string DefaultSSCSParameterProfile1PtrType; typedef string DefaultSSCSParameterProfile2PtrType; struct AAL2ProfileType { DefaultSSCSParameterProfile1PtrType defaultSSCSParameterProfile1Ptr; DefaultSSCSParameterProfile2PtrType defaultSSCSParameterProfile2Ptr; }; // ProfileStruct for profile type = 2 struct MaxCPCSSDUSizeType { long long forwardDirectionCPCS_SDU; long long backwardsDirectionCPCS_SDU; }; enum AALModeType { MessageAssured, MessageUnassured, StreamingAssured, StreamingUnassured }; enum SSCSType { NoSSC, DataSSCSonSSCOPAssured, DataSSCSonSSCOPNotAssured, FrameRelaySSCS }; struct AAL5ProfileType { // ManagedEntityIdType mEId; ?? MaxCPCSSDUSizeType maxCPCSSDUSize; AALModeType aALMode; SSCSType sSCS; }; // ProfileStruct for profile type = 4 enum AppIdType { LES_CAS_noELCP, LES_PSTN_noELCP, LES_PSTN_ELCP, LES_DSS1forBRI_noELCP, LES_DSS1forBRI_ELCP, LES_CASforPOTS_DSS1forBRI_noELCP, LES_PSTNforPOTS_DSS1forBRI_noELCP, LES_PSTNforPOTS_DSS1forBRI_ELCP, LES_otherCCS, UnspecifiedLES }; typedef long long MaxNumChannelsType; typedef long long MinimumChanIdType; typedef long long MaximumChanIdType; typedef long long MaxCPS_SDULengthType; typedef long long TimerCULengthType; struct AAL2PVCProfileType { MaxNumChannelsType maxNumChannels; MinimumChanIdType minimumChanId; MaximumChanIdType maximumChanId; MaxCPS_SDULengthType maxCPS_SDULength; TimerCULengthType timerCULength; }; // ProfileStruct for profile type = 3 struct AlarmSeverityAssignProfileType { string eventName; //As defined in AlarmEventSupplier ProbableCauseType probableCauseValue; //Ditto as above PerceivedSeverityType serviceAffectingSeverity; PerceivedSeverityType nonServiceAffectingSeverity; }; // ProfileStruct for profile type = 5 typedef sequence<AlarmSeverityAssignProfileType> AlarmSeverityAssignProfileSeqType; typedef long long LocalMaxNumVPCSupportedType; typedef long long LocalMaxNumVCCSupportedType; typedef short LocalMaxNumVPIBitsType; typedef short LocalMaxNumVCIBitsType; typedef long long TotalEgressBandwidthType; typedef long long TotalIngressBandwidthType; typedef boolean UPCNPCIndicatorType; //TRUE = policing is on struct ATMNetworkAccessProfileType { LocalMaxNumVPCSupportedType localMaxNumVPCSupported; LocalMaxNumVCCSupportedType localMaxNumVCCSupported; LocalMaxNumVPIBitsType localMaxNumVPIBits; LocalMaxNumVCIBitsType localMaxNumVCIBits; TotalEgressBandwidthType totalEgressBandwidth; TotalIngressBandwidthType totalIngressBandwidth; UPCNPCIndicatorType uPCNPCIndicator; }; // ProfileStruct for profile type = 6 typedef short LANType; typedef short EncapsulationProtocolType; typedef short PIDType; struct BridgedLANServiceProfileValues { LANType lAN; EncapsulationProtocolType encapsulationProtocol; PIDType pID; }; // ProfileStruct for profile type = 7 typedef long long BufferedCDVToleranceType; enum CASType { basic, e1Cas, SfCas, ds1EsfCas, j2Cas }; typedef long long CableLengthType; struct CESServiceProfileValues { BufferedCDVToleranceType bufferedCDVTolerance; CASType cAS; }; // ProfileStruct for profile type = 8 enum DS1FramingType { SuperFrame, ExtendedSuperFrame, Unframed }; enum DS1EncodingType { AMI, B8ZS }; enum LoopbackCodeType { SmartJack, SmartJack_ONTInband, COInband }; typedef boolean SupplyPowerIndType; struct DS1ProfileValues { DS1FramingType dS1Framing; DS1EncodingType dS1Encoding; LoopbackCodeType loopbackCode; SupplyPowerIndType supplyPowerInd; CableLengthType cableLength; }; // ProfileStruct for profile type = 9 enum DS3ApplicationType { CBitParity, M23 }; enum DS3EncodingType { B3ZS, CCHAN }; struct DS3ProfileType { DS3ApplicationType dS3Application; DS3EncodingType dS3Encoding; CableLengthType cableLength; }; // ProfileStruct for profile type = 10 typedef boolean DuplexType; //TRUE = full, FALSE = half typedef boolean AutoDetectionIndType; enum DataRateType { TenBT, HundredBT, ThousandBT, otherrate }; typedef long long MaxFrameSizeType; //Fixed for Ethernet typedef boolean DTEDCEType; // TRUE = DTE setting; FALSE = DCE setting. struct EthernetProfileValues { DuplexType duplex; AutoDetectionIndType autoDetectionInd; DataRateType dataRate; MaxFrameSizeType maxFrameSize; DTEDCEType dTEDCE; }; // ProfileStruct for profile type = 11 enum T303Type { m700, m1200, m1700, m2200, m2700, m3200, m3700, m4200, m4700 }; enum T396Type { ms700, ms1700, ms2700, ms3700, ms4700, ms5700, ms6700, ms7700, ms8700, ms9700, ms10700, ms11700, ms12700, ms13700, ms14700 }; struct IDLCCallProcessingProfileType { T303Type t303; T396Type t396; }; // ProfileStruct for profile type = 12 typedef boolean ELCPIndType; enum POTSSignallingType { PSTN, ChAS, CCS, UNKNOWN }; enum BRISignallingType { DSS1, OtherCCS }; typedef long long MaxNumCIDsType; typedef long long MaxPacketLengthType; struct ChannelWithSSCSPtrType { long channelIndex; boolean ptr1orPtr2; }; typedef sequence<ChannelWithSSCSPtrType> ChanAndSSCSParaPtrSeqType; struct LESProfileType { ELCPIndType eLCPInd; POTSSignallingType pOTSSignalling; BRISignallingType bRISignalling; MaxNumCIDsType maxNumCIDs; MaxPacketLengthType maxPacketLength; ChanAndSSCSParaPtrSeqType chanAndSSCSParaPtrSeq; }; // ProfileStruct for profile type = 13 typedef boolean SpanningTreeIndType; typedef short BridgePriorityType; typedef short MaxAgeType; typedef short HelloTimeType; typedef short ForwardDelayType; struct MACBridgeServiceProfileType { SpanningTreeIndType spanningTreeInd; BridgePriorityType bridgePriority; MaxAgeType maxAge; HelloTimeType helloTime; ForwardDelayType forwardDelay; }; // ProfileStruct for profile type = 14 typedef long long SegmentLengthType; typedef short RASTimerType; typedef long longMaxSSSARSDULengthType; typedef boolean SSTEDIndType; typedef boolean SSADTIndType; struct SSCSParameterProfile1Type { SegmentLengthType segmentLength; RASTimerType rASTimer; MaxSSSARSDULengthType maxSSSARSDULength; SSTEDIndType sSTEDInd; SSADTIndType sSADTInd; }; // ProfileStruct for profile type = 15 enum ServiceCatType { Audio, Multirate, UNKNCategory }; enum EncSrcType { ITUT, ATMForum, Proprietary }; typedef short EncProfileIndexType; typedef boolean AudioServIndType; typedef short PCMEncType; typedef boolean CMDataIndType; typedef short CMMultiplierNumType; typedef boolean FMDataIndType; typedef long long FMMaxFrameLenType; typedef boolean CASIndType; typedef boolean DTMFIndType; typedef boolean MFR1IndType; typedef boolean MFR2IndType; typedef boolean RateControlIndType; typedef boolean SynchChangeIndType; typedef boolean FaxDemodIndType; struct SSCSParameterProfile2Type { ServiceCatType serviceCat; EncSrcType encSrc; EncProfileIndexType encProfileIndex; AudioServIndType audioServInd; PCMEncType pCMEnc; CMDataIndType cMDataInd; CMMultiplierNumType cMMultiplierNum; FMDataIndType fMDataInd; FMMaxFrameLenType fMMaxFrameLen; CASIndType cASInd; DTMFIndType dTMFInd; MFR1IndType mFR1Ind; MFR2IndType mFR2Ind; RateControlIndType rateControlInd; SynchChangeIndType synchChangeInd; FaxDemodIndType faxDemodInd; }; // ProfileStruct for profile type = 16 typedef long long PCRIngressType; typedef long long PCREgressType; typedef long long CDVTPCRIngressType; typedef long long CDVTPCREgressType; typedef long long CDVTSCRIngressType; typedef long long CDVTSCREgressType; typedef long long SCRIngressType; typedef long long SCREgressType; typedef long long MaxBSIngressType; typedef long long MaxBSEgressType; typedef long long MFSIngressType; typedef long long MFSEgressType; struct TrafficDescriptorProfileType { ServiceCategoryType serviceCategory; ConformanceDefType conformanceDef; PCRIngressType pCRIngress; PCREgressType pCREgress; CDVTPCRIngressType cDVTPCRIngress; CDVTPCREgressType cDVTPCREgress; CDVTSCRIngressType cDVTSCRIngress; CDVTSCREgressType cDVTSCREgress; SCRIngressType sCRIngress; SCREgressType sCREgress; MaxBSIngressType maxBSIngress; MaxBSEgressType maxBSEgress; MFSIngressType mFSIngress; MFSEgressType mFSEgress; }; // ProfileStruct for profile type = 17 typedef string LoopbackLocCodeType; struct UNIProfileType { LocalMaxNumVPCSupportedType localMaxNumVPCSupported; LocalMaxNumVCCSupportedType localMaxNumVCCSupported; LocalMaxNumVPIBitsType localMaxNumVPIBits; LocalMaxNumVCIBitsType localMaxNumVCIBits; LoopbackLocCodeType loopbackLocCode; }; // ProfileStruct for profile type = 18 enum AnnouncementType { Silence, ReorderTone, FastBusy, VoiceAnnouncement, OtherAnnouncementType, UNKNAnnouncementType }; enum TimingReferenceType { NetworkTimingReference, AdaptiveVoice, FreeRun, OtherTimingReference }; typedef boolean EchoCancellationIndType; struct VoiceServiceProfileAAL1Type { AnnouncementType announcement; TimingReferenceType timingReference; EchoCancellationIndType echoCancellationInd; }; // ProfileStruct for profile type = 19 typedef long long JitterTargetType; typedef long long JitterBufferMaxType; struct VoiceServiceProfileAAL2Type { AnnouncementType announcement; TimingReferenceType timingReference; JitterTargetType jitterTarget; JitterBufferMaxType jitterBufferMax; EchoCancellationIndType echoCancellationInd; }; // ProfileStruct for profile type = 20 struct ThresholdDataComponentType { MonitoredParameterType monitoredParameter; // Values defined in Q834Common::MonitoringParameter unsigned long long thresholdValue; }; typedef sequence<ThresholdDataComponentType> ThresholdDataSeqType; struct ThresholdDataProfileType { MonitoringKindType monitoringType; ThresholdDataSeqType thresholdValues; }; // ProfileStruct for profile type = 21 typedef sequence<ATMOverbookingFactorType> ATMOverbookingProfileType; // ProfileStruct for profile type = 22 // Local exceptions exception ProfileInUse {}; exception DuplicateProfileName {}; // End local definitions interface ProfileConsumer : itut_x780::ManagedObject { /* Structured event fixed header mappings: domain_type is set to "telecommunications", type_name is set to "ProfileEvent", and event_name is set to the constant string provided below. Only new profiles are announced through this interface. */ const string profileCreation = "ProfileCreation"; /* Identification of remaining items in filterable data of structured event. */ const string profileName = "ProfileName"; const string profileType = "ProfileType"; const string profileAttributeValues = "ProfileAttributeValues"; /* Values identifying the types of profiles used is provided below. */ const unsigned short AAL1Profile = 1; const unsigned short AAL2Profile = 2; const unsigned short AAL2PVCProfile = 3; const unsigned short AAL5Profile = 4; const unsigned short AlarmSeverityAssignmentProfile = 5; const unsigned short ATMNetworkAccessProfile = 6; const unsigned short BridgedLANServiceProfile = 7; const unsigned short CESServiceProfile = 8; const unsigned short DS1Profile = 9; const unsigned short DS3Profile = 10; const unsigned short EthernetProfile = 11; const unsigned short IDLCCallProcessingProfile = 12; const unsigned short LESProfile = 13; const unsigned short MACBridgeServiceProfile = 14; const unsigned short SSCSParameterProfile1 = 15; const unsigned short SSCSParameterProfile2 = 16; const unsigned short TrafficDescriptorProfile = 17; const unsigned short UNIProfile = 18; const unsigned short VoiceServiceProfileAAL1 = 19; const unsigned short VoiceServiceProfileAAL2 = 20; const unsigned short ThresholdData = 21; const unsigned short ATMOverbookingFactorProfile = 22; /* Mapping to filterable data within the structured event is provided for a consumer event that involves the creation of a profile object. { {"ProfileName", any (NameType)}, {"ProfileType", any (ProfileKindType)}, {"EventTime", any (GeneralizedTimeType)}, {"ProfileAttributeValues", any (ProfileStruct)}, {"NotificationIdentifier", any (NotificationIdentifierType)} } */ }; // interface ProfileConsumer interface ProfileUsageMgr : itut_x780::ManagedObject { // See 9.9.2.1 for the description of the behaviour of this operation void reName ( in NameType oldProfileName, in NameType newProfileName) raises (UnknownProfiles, AccessDenied, DuplicateProfileName ); // See 9.9.2.2 for the description of the behaviour of this operation boolean inUse ( in NameType profileName) raises (UnknownProfiles, AccessDenied); // See 9.9.2.3 for the description of the behaviour of this operation void suspendUse ( in NameType profileName) raises (UnknownProfiles, AccessDenied); // See 9.9.2.4 for the description of the behaviour of this operation void resumeUse ( in NameType profileName) raises (UnknownProfiles, AccessDenied) ; // See 9.9.2.5 for the description of the behaviour of this operation void deleteProfile ( in NameType profileName) raises (UnknownProfiles, AccessDenied, ProfileInUse); }; // interface ProfileUsageMgr /* This object is instantiated on the actor called Profile Object Repository. The Supplier Management System is the client. */ interface ProfileRetriever : itut_x780::ManagedObject { // See 9.9.3.1 for the description of the behaviour of this operation ProfileInfoType retrieve ( in NameType profileName) raises (UnknownProfiles); }; // interface ProfileRetriever }; // module ProfileManager }; // module q834_4 #endif