diff options
Diffstat (limited to 'idl/parlay/cccs.idl')
-rw-r--r-- | idl/parlay/cccs.idl | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/idl/parlay/cccs.idl b/idl/parlay/cccs.idl new file mode 100644 index 0000000000..c79756fce7 --- /dev/null +++ b/idl/parlay/cccs.idl @@ -0,0 +1,264 @@ +//Source file:cccs.idl +//Date: 7 October 2004 +//Conference Call Control for ES 203 915-4-5 V1.1.1, DES/TISPAN-01005-04-5-OSA, Parlay 5.0 + + +#ifndef __CCCS_DEFINED +#define __CCCS_DEFINED + + +#include "osa.idl" +#include "mpcc_data.idl" +#include "mmccs.idl" +#include "common_cc_data.idl" + + +module org { + + module csapi { + + module cc { + + module cccs { + interface IpAppConfCallControlManager ; + interface IpConfCall ; + interface IpSubConfCall ; + + + enum TpConfPolicyType { + + P_CONFERENCE_POLICY_UNDEFINED, + P_CONFERENCE_POLICY_MONOMEDIA, + P_CONFERENCE_POLICY_MULTIMEDIA + }; + + + struct TpMonoMediaConfPolicy { + TpBoolean JoinAllowed; + }; + + + struct TpJoinEventInfo { + TpAddress DestinationAddress; + TpAddress OriginatingAddress; + TpCallAppInfoSet CallAppInfo; + }; + + + struct TpConfSearchCriteria { + TpDateAndTime StartSearch; + TpDateAndTime StopSearch; + TpInt32 RequestedResources; + TpDuration RequestedDuration; + }; + + + struct TpConfSearchResult { + TpBoolean MatchFound; + TpDateAndTime ActualStartTime; + TpInt32 ActualResources; + TpDuration ActualDuration; + }; + + + enum TpVideoHandlingType { + + P_MIXED_VIDEO, + P_SWITCHED_VIDEO_CHAIR_CONTROLLED, + P_SWITCHED_VIDEO_VOICE_CONTROLLED + }; + + + struct TpMultiMediaConfPolicy { + TpBoolean JoinAllowed; + TpMediaType MediaAllowed; + TpBoolean Chaired; + TpVideoHandlingType VideoHandling; + }; + + + union TpConfPolicy switch(TpConfPolicyType) { + case P_CONFERENCE_POLICY_MONOMEDIA: TpMonoMediaConfPolicy MonoMedia; + case P_CONFERENCE_POLICY_MULTIMEDIA: TpMultiMediaConfPolicy MultiMedia; + default: short Dummy; + }; + + + struct TpResourceReservation { + TpAddress ResourceID; + TpInt32 ReservationID; + }; + + + struct TpConfCallIdentifier { + IpConfCall ConfCallReference; + TpSessionID ConfCallSessionID; + }; + + + struct TpSubConfCallIdentifier { + IpSubConfCall SubConfCallReference; + TpSessionID SubConfCallSessionID; + }; + + + typedef sequence <TpSubConfCallIdentifier> TpSubConfCallIdentifierSet; + + + + interface IpAppSubConfCall : mmccs::IpAppMultiMediaCall { + void chairSelection ( + in TpSessionID subConferenceSessionID, + in TpSessionID callLegSessionID + ); + + void floorRequest ( + in TpSessionID subConferenceSessionID, + in TpSessionID callLegSessionID + ); + + }; + + + interface IpAppConfCall : mmccs::IpAppMultiMediaCall { + mpccs::IpAppCallLeg partyJoined ( + in TpSessionID conferenceSessionID, + in mpccs::TpCallLegIdentifier callLeg, + in TpJoinEventInfo eventInfo + ); + + void leaveMonitorRes ( + in TpSessionID conferenceSessionID, + in TpSessionID callLeg + ); + + }; + + + interface IpConfCallControlManager : mmccs::IpMultiMediaCallControlManager { + TpConfCallIdentifier createConference ( + in IpAppConfCall appConferenceCall, + in TpInt32 numberOfSubConferences, + in TpConfPolicy conferencePolicy, + in TpInt32 numberOfParticipants, + in TpDuration duration + ) + raises (TpCommonExceptions); + + TpConfSearchResult checkResources ( + in TpConfSearchCriteria searchCriteria + ) + raises (TpCommonExceptions); + + TpResourceReservation reserveResources ( + in IpAppConfCallControlManager appInterface, + in TpDateAndTime startTime, + in TpInt32 numberOfParticipants, + in TpDuration duration, + in TpConfPolicy conferencePolicy + ) + raises (TpCommonExceptions); + + void freeResources ( + in TpResourceReservation resourceReservation + ) + raises (TpCommonExceptions); + + }; + + + interface IpAppConfCallControlManager : mmccs::IpAppMultiMediaCallControlManager { + IpAppConfCall conferenceCreated ( + in TpConfCallIdentifier conferenceCall + ); + + }; + + + interface IpSubConfCall : mmccs::IpMultiMediaCall { + TpSubConfCallIdentifier splitSubConference ( + in TpSessionID subConferenceSessionID, + in TpSessionIDSet callLegList, + in IpAppSubConfCall appSubConferenceCall + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void mergeSubConference ( + in TpSessionID subConferenceCallSessionID, + in TpSessionID targetSubConferenceCall + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void moveCallLeg ( + in TpSessionID subConferenceCallSessionID, + in TpSessionID targetSubConferenceCall, + in TpSessionID callLeg + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void inspectVideo ( + in TpSessionID subConferenceSessionID, + in TpSessionID inspectedCallLeg + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void inspectVideoCancel ( + in TpSessionID subConferenceSessionID + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void appointSpeaker ( + in TpSessionID subConferenceSessionID, + in TpSessionID speakerCallLeg + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void chairSelection ( + in TpSessionID subConferenceSessionID, + in TpSessionID chairCallLeg + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void changeConferencePolicy ( + in TpSessionID subConferenceSessionID, + in TpConfPolicy conferencePolicy + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + }; + + + interface IpConfCall : mmccs::IpMultiMediaCall { + TpSubConfCallIdentifierSet getSubConferences ( + in TpSessionID conferenceSessionID + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + TpSubConfCallIdentifier createSubConference ( + in TpSessionID conferenceSessionID, + in IpAppSubConfCall appSubConference, + in TpConfPolicy conferencePolicy + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + void leaveMonitorReq ( + in TpSessionID conferenceSessionID + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + TpAddress getConferenceAddress ( + in TpSessionID conferenceSessionID + ) + raises (TpCommonExceptions,P_INVALID_SESSION_ID); + + }; + + }; + + }; + + }; + +}; + +#endif |