diff options
Diffstat (limited to 'idl/parlay/mmccs.idl')
-rw-r--r-- | idl/parlay/mmccs.idl | 320 |
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 |