summaryrefslogtreecommitdiff
path: root/idl/parlay/mmccs.idl
diff options
context:
space:
mode:
Diffstat (limited to 'idl/parlay/mmccs.idl')
-rw-r--r--idl/parlay/mmccs.idl320
1 files changed, 320 insertions, 0 deletions
diff --git a/idl/parlay/mmccs.idl b/idl/parlay/mmccs.idl
new file mode 100644
index 0000000000..f120f01983
--- /dev/null
+++ b/idl/parlay/mmccs.idl
@@ -0,0 +1,320 @@
+//Source file: mmccs.idl
+//Date: 7 October 2004
+//Multi Media Call Control for ETSI ES 203 915-04-4 V1.1.1, DES/TISPAN-01005-04-4-OSA, Parlay 5.0
+
+#ifndef __MMCCS_DEFINED
+#define __MMCCS_DEFINED
+
+
+#include "osa.idl"
+#include "mpcc_interfaces.idl"
+#include "common_cc_data.idl"
+#include "mpcc_data.idl"
+
+module org {
+
+ module csapi {
+
+ module cc {
+
+ module mmccs {
+
+ interface IpMultiMediaCall;
+ interface IpAppMultiMediaCall;
+ interface IpMultiMediaCallLeg;
+ interface IpAppMultiMediaCallLeg;
+ interface IpMultiMediaStream;
+
+ enum TpMediaStreamDirection {
+
+ P_SEND_ONLY,
+ P_RECEIVE_ONLY,
+ P_SEND_RECEIVE
+ };
+
+
+ typedef TpInt32 TpAudioCapabilitiesType;
+
+
+ const TpInt32 P_G711_64K = 1;
+
+ const TpInt32 P_G711_56K = 2;
+
+ const TpInt32 P_G722_64K = 4;
+
+ const TpInt32 P_G722_56K = 8;
+
+ const TpInt32 P_G722_48K = 16;
+
+ const TpInt32 P_G7231 = 32;
+
+ const TpInt32 P_G728 = 64;
+
+ const TpInt32 P_G729 = 128;
+
+ const TpInt32 P_G729_ANNEX_A = 256;
+
+ const TpInt32 P_IS11172_3 = 512;
+
+ const TpInt32 P_IS13818_3 = 1024;
+
+ const TpInt32 P_G729_ANNEXB = 2048;
+
+ const TpInt32 P_G729_ANNEX_A_AND_B = 4096;
+
+ const TpInt32 P_G7231_ANNEX_C = 8192;
+
+ const TpInt32 P_GSM_FULLRATE = 16384;
+
+ const TpInt32 P_GSM_HALFRATE = 32768;
+
+ const TpInt32 P_GSM_ENHANCED = 65536;
+
+ typedef TpInt32 TpVideoCapabilitiesType;
+
+
+ const TpInt32 P_H261 = 1;
+
+ const TpInt32 P_H262 = 2;
+
+ const TpInt32 P_H263 = 4;
+
+ const TpInt32 P_IS11172_2 = 8;
+
+ typedef TpInt32 TpDataCapabilities;
+
+
+ enum TpMediaStreamEventType {
+
+ P_MEDIA_STREAM_ADDED,
+ P_MEDIA_STREAM_SUBTRACTED,
+ P_MEDIA_STREAM_QOS_CLASS_CHANGED
+ };
+
+
+ struct TpCallSuperviseVolume {
+ TpInt32 VolumeQuantity;
+ TpInt32 VolumeUnit;
+ };
+
+
+ enum TpMediaStreamDataTypeRequestType {
+
+ P_AUDIO_CAPABILITIES,
+ P_VIDEO_CAPABILITIES,
+ P_DATA_CAPABILITIES
+ };
+
+
+ union TpMediaStreamDataTypeRequest switch(TpMediaStreamDataTypeRequestType) {
+ case P_AUDIO_CAPABILITIES: TpAudioCapabilitiesType Audio;
+ case P_VIDEO_CAPABILITIES: TpVideoCapabilitiesType Video;
+ case P_DATA_CAPABILITIES: TpDataCapabilities Data;
+ };
+
+
+ struct TpMediaStreamRequest {
+ TpMediaStreamDirection Direction;
+ TpMediaStreamDataTypeRequest DataTypeRequest;
+ TpCallMonitorMode MediaMonitorMode;
+ TpMediaStreamEventType EventType;
+ };
+
+
+ typedef sequence <TpMediaStreamRequest> TpMediaStreamRequestSet;
+
+
+ typedef TpMediaStreamDataTypeRequest TpMediaStreamDataType;
+
+
+ struct TpMediaStream {
+ TpMediaStreamDirection Direction;
+ TpMediaStreamDataType DataType;
+ TpSessionID ChannelSessionID;
+ IpMultiMediaStream MediaStream;
+ };
+
+
+ typedef sequence <TpMediaStream> TpMediaStreamSet;
+
+
+ struct TpNotificationMediaRequest {
+ TpCallNotificationScope MediaNotificationScope;
+ TpMediaStreamRequestSet MediaStreamsRequested;
+ };
+
+
+ struct TpMediaNotificationRequested {
+ TpNotificationMediaRequest AppNotificationMediaRequest;
+ TpInt32 AssignmentID;
+ };
+
+
+ typedef sequence <TpMediaNotificationRequested> TpMediaNotificationRequestedSet;
+
+
+ const TpInt32 P_UMTS_AMR_NB = 131072;
+
+ const TpInt32 P_UMTS_AMR_WB = 262144;
+
+ const TpInt32 P_IS14496_2 = 16;
+
+
+ struct TpMultiMediaCallIdentifier {
+ IpMultiMediaCall MMCallReference;
+ TpSessionID MMCallSessionID;
+ };
+
+
+ struct TpMultiMediaCallLegIdentifier {
+ IpMultiMediaCallLeg MMCallLegReference;
+ TpSessionID MMCallLegSessionID;
+ };
+
+
+ typedef sequence <TpMultiMediaCallIdentifier> TpMultiMediaCallIdentifierSet;
+
+
+ enum TpAppMultiMediaCallBackRefType {
+
+ P_APP_CALLBACK_UNDEFINED,
+ P_APP_MULTIMEDIA_CALL_CALLBACK,
+ P_APP_CALL_LEG_CALLBACK,
+ P_APP_CALL_AND_CALL_LEG_CALLBACK
+ };
+
+
+ typedef sequence <IpAppMultiMediaCallLeg> TpAppMultiMediaCallLegRefSet;
+
+
+ struct TpAppMultiMediaCallLegCallBack {
+ IpAppMultiMediaCall AppMultiMediaCall;
+ TpAppMultiMediaCallLegRefSet AppCallLegSet;
+ };
+
+
+ union TpAppMultiMediaCallBack switch(TpAppMultiMediaCallBackRefType) {
+ case P_APP_MULTIMEDIA_CALL_CALLBACK: IpAppMultiMediaCall AppMultiMediaCall;
+ case P_APP_CALL_LEG_CALLBACK: IpAppMultiMediaCallLeg AppMultiMediaCallLeg;
+ case P_APP_CALL_AND_CALL_LEG_CALLBACK: TpAppMultiMediaCallLegCallBack AppMultiMediaCallAndCallLeg;
+ default: short Dummy;
+ };
+
+
+ typedef sequence <TpMultiMediaCallLegIdentifier> TpMultiMediaCallLegIdentifierSet;
+
+
+
+
+ interface IpAppMultiMediaCall : mpccs::IpAppMultiPartyCall {
+ void superviseVolumeRes (
+ in TpSessionID callSessionID,
+ in TpCallSuperviseReport report,
+ in TpCallSuperviseVolume usedVolume,
+ in TpDataSessionQosClass qualityOfService
+ );
+
+ void superviseVolumeErr (
+ in TpSessionID callSessionID,
+ in TpCallError errorIndication
+ );
+
+ };
+
+
+ interface IpAppMultiMediaCallLeg : mpccs::IpAppCallLeg {
+ void mediaStreamMonitorRes (
+ in TpSessionID callLegSessionID,
+ in TpMediaStreamSet streams,
+ in TpMediaStreamEventType type
+ );
+
+ };
+
+
+ interface IpMultiMediaStream : IpService {
+ void subtract (
+ in TpSessionID mediaStreamSessionID
+ )
+ raises (TpCommonExceptions,P_INVALID_SESSION_ID);
+
+ };
+
+
+ interface IpMultiMediaCallLeg : mpccs::IpCallLeg {
+ void mediaStreamAllow (
+ in TpSessionID callLegSessionID,
+ in TpSessionIDSet mediaStreamList
+ )
+ raises (TpCommonExceptions,P_INVALID_SESSION_ID);
+
+ void mediaStreamMonitorReq (
+ in TpSessionID callLegSessionID,
+ in TpMediaStreamRequestSet mediaStreamEventCriteria
+ )
+ raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
+
+ TpMediaStreamSet getMediaStreams (
+ in TpSessionID callLegSessionID
+ )
+ raises (TpCommonExceptions,P_INVALID_SESSION_ID);
+
+ };
+
+
+ interface IpMultiMediaCall : mpccs::IpMultiPartyCall {
+ void superviseVolumeReq (
+ in TpSessionID callSessionID,
+ in TpCallSuperviseVolume volume,
+ in TpCallSuperviseTreatment treatment
+ )
+ raises (TpCommonExceptions,P_INVALID_SESSION_ID);
+
+ };
+
+
+ interface IpAppMultiMediaCallControlManager : mpccs::IpAppMultiPartyCallControlManager {
+ TpAppMultiMediaCallBack reportMediaNotification (
+ in TpMultiMediaCallIdentifier callReference,
+ in TpMultiMediaCallLegIdentifierSet callLegReferenceSet,
+ in TpMediaStreamSet mediaStreams,
+ in TpMediaStreamEventType type,
+ in TpDataSessionQosClass qualityOfService,
+ in TpAssignmentID assignmentID
+ );
+
+ };
+
+
+ interface IpMultiMediaCallControlManager : mpccs::IpMultiPartyCallControlManager {
+ TpAssignmentID createMediaNotification (
+ in IpAppMultiMediaCallControlManager appInterface,
+ in TpNotificationMediaRequest notificationMediaRequest
+ )
+ raises (TpCommonExceptions,P_INVALID_CRITERIA,P_INVALID_INTERFACE_TYPE,P_INVALID_EVENT_TYPE);
+
+ void destroyMediaNotification (
+ in TpAssignmentID assignmentID
+ )
+ raises (TpCommonExceptions);
+
+ void changeMediaNotification (
+ in TpAssignmentID assignmentID,
+ in TpNotificationMediaRequest notificationMediaRequest
+ )
+ raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
+
+ TpMediaNotificationRequestedSet getMediaNotification ()
+ raises (TpCommonExceptions);
+
+ };
+
+ };
+
+ };
+
+ };
+
+};
+
+#endif