epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / corba-idl / parlay / mmccs.idl
blobf120f0198320414a02d0d7f6f552f7b8147e16d5
1 //Source file: mmccs.idl
2 //Date: 7 October 2004
3 //Multi Media Call Control for ETSI ES 203 915-04-4 V1.1.1, DES/TISPAN-01005-04-4-OSA, Parlay 5.0
5 #ifndef __MMCCS_DEFINED
6 #define __MMCCS_DEFINED
9 #include "osa.idl"
10 #include "mpcc_interfaces.idl"
11 #include "common_cc_data.idl"
12 #include "mpcc_data.idl"
14 module org {
16 module csapi {
18 module cc {
20 module mmccs {
22 interface IpMultiMediaCall;
23 interface IpAppMultiMediaCall;
24 interface IpMultiMediaCallLeg;
25 interface IpAppMultiMediaCallLeg;
26 interface IpMultiMediaStream;
28 enum TpMediaStreamDirection {
30 P_SEND_ONLY,
31 P_RECEIVE_ONLY,
32 P_SEND_RECEIVE
36 typedef TpInt32 TpAudioCapabilitiesType;
39 const TpInt32 P_G711_64K = 1;
41 const TpInt32 P_G711_56K = 2;
43 const TpInt32 P_G722_64K = 4;
45 const TpInt32 P_G722_56K = 8;
47 const TpInt32 P_G722_48K = 16;
49 const TpInt32 P_G7231 = 32;
51 const TpInt32 P_G728 = 64;
53 const TpInt32 P_G729 = 128;
55 const TpInt32 P_G729_ANNEX_A = 256;
57 const TpInt32 P_IS11172_3 = 512;
59 const TpInt32 P_IS13818_3 = 1024;
61 const TpInt32 P_G729_ANNEXB = 2048;
63 const TpInt32 P_G729_ANNEX_A_AND_B = 4096;
65 const TpInt32 P_G7231_ANNEX_C = 8192;
67 const TpInt32 P_GSM_FULLRATE = 16384;
69 const TpInt32 P_GSM_HALFRATE = 32768;
71 const TpInt32 P_GSM_ENHANCED = 65536;
73 typedef TpInt32 TpVideoCapabilitiesType;
76 const TpInt32 P_H261 = 1;
78 const TpInt32 P_H262 = 2;
80 const TpInt32 P_H263 = 4;
82 const TpInt32 P_IS11172_2 = 8;
84 typedef TpInt32 TpDataCapabilities;
87 enum TpMediaStreamEventType {
89 P_MEDIA_STREAM_ADDED,
90 P_MEDIA_STREAM_SUBTRACTED,
91 P_MEDIA_STREAM_QOS_CLASS_CHANGED
95 struct TpCallSuperviseVolume {
96 TpInt32 VolumeQuantity;
97 TpInt32 VolumeUnit;
101 enum TpMediaStreamDataTypeRequestType {
103 P_AUDIO_CAPABILITIES,
104 P_VIDEO_CAPABILITIES,
105 P_DATA_CAPABILITIES
109 union TpMediaStreamDataTypeRequest switch(TpMediaStreamDataTypeRequestType) {
110 case P_AUDIO_CAPABILITIES: TpAudioCapabilitiesType Audio;
111 case P_VIDEO_CAPABILITIES: TpVideoCapabilitiesType Video;
112 case P_DATA_CAPABILITIES: TpDataCapabilities Data;
116 struct TpMediaStreamRequest {
117 TpMediaStreamDirection Direction;
118 TpMediaStreamDataTypeRequest DataTypeRequest;
119 TpCallMonitorMode MediaMonitorMode;
120 TpMediaStreamEventType EventType;
124 typedef sequence <TpMediaStreamRequest> TpMediaStreamRequestSet;
127 typedef TpMediaStreamDataTypeRequest TpMediaStreamDataType;
130 struct TpMediaStream {
131 TpMediaStreamDirection Direction;
132 TpMediaStreamDataType DataType;
133 TpSessionID ChannelSessionID;
134 IpMultiMediaStream MediaStream;
138 typedef sequence <TpMediaStream> TpMediaStreamSet;
141 struct TpNotificationMediaRequest {
142 TpCallNotificationScope MediaNotificationScope;
143 TpMediaStreamRequestSet MediaStreamsRequested;
147 struct TpMediaNotificationRequested {
148 TpNotificationMediaRequest AppNotificationMediaRequest;
149 TpInt32 AssignmentID;
153 typedef sequence <TpMediaNotificationRequested> TpMediaNotificationRequestedSet;
156 const TpInt32 P_UMTS_AMR_NB = 131072;
158 const TpInt32 P_UMTS_AMR_WB = 262144;
160 const TpInt32 P_IS14496_2 = 16;
163 struct TpMultiMediaCallIdentifier {
164 IpMultiMediaCall MMCallReference;
165 TpSessionID MMCallSessionID;
169 struct TpMultiMediaCallLegIdentifier {
170 IpMultiMediaCallLeg MMCallLegReference;
171 TpSessionID MMCallLegSessionID;
175 typedef sequence <TpMultiMediaCallIdentifier> TpMultiMediaCallIdentifierSet;
178 enum TpAppMultiMediaCallBackRefType {
180 P_APP_CALLBACK_UNDEFINED,
181 P_APP_MULTIMEDIA_CALL_CALLBACK,
182 P_APP_CALL_LEG_CALLBACK,
183 P_APP_CALL_AND_CALL_LEG_CALLBACK
187 typedef sequence <IpAppMultiMediaCallLeg> TpAppMultiMediaCallLegRefSet;
190 struct TpAppMultiMediaCallLegCallBack {
191 IpAppMultiMediaCall AppMultiMediaCall;
192 TpAppMultiMediaCallLegRefSet AppCallLegSet;
196 union TpAppMultiMediaCallBack switch(TpAppMultiMediaCallBackRefType) {
197 case P_APP_MULTIMEDIA_CALL_CALLBACK: IpAppMultiMediaCall AppMultiMediaCall;
198 case P_APP_CALL_LEG_CALLBACK: IpAppMultiMediaCallLeg AppMultiMediaCallLeg;
199 case P_APP_CALL_AND_CALL_LEG_CALLBACK: TpAppMultiMediaCallLegCallBack AppMultiMediaCallAndCallLeg;
200 default: short Dummy;
204 typedef sequence <TpMultiMediaCallLegIdentifier> TpMultiMediaCallLegIdentifierSet;
209 interface IpAppMultiMediaCall : mpccs::IpAppMultiPartyCall {
210 void superviseVolumeRes (
211 in TpSessionID callSessionID,
212 in TpCallSuperviseReport report,
213 in TpCallSuperviseVolume usedVolume,
214 in TpDataSessionQosClass qualityOfService
217 void superviseVolumeErr (
218 in TpSessionID callSessionID,
219 in TpCallError errorIndication
225 interface IpAppMultiMediaCallLeg : mpccs::IpAppCallLeg {
226 void mediaStreamMonitorRes (
227 in TpSessionID callLegSessionID,
228 in TpMediaStreamSet streams,
229 in TpMediaStreamEventType type
235 interface IpMultiMediaStream : IpService {
236 void subtract (
237 in TpSessionID mediaStreamSessionID
239 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
244 interface IpMultiMediaCallLeg : mpccs::IpCallLeg {
245 void mediaStreamAllow (
246 in TpSessionID callLegSessionID,
247 in TpSessionIDSet mediaStreamList
249 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
251 void mediaStreamMonitorReq (
252 in TpSessionID callLegSessionID,
253 in TpMediaStreamRequestSet mediaStreamEventCriteria
255 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
257 TpMediaStreamSet getMediaStreams (
258 in TpSessionID callLegSessionID
260 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
265 interface IpMultiMediaCall : mpccs::IpMultiPartyCall {
266 void superviseVolumeReq (
267 in TpSessionID callSessionID,
268 in TpCallSuperviseVolume volume,
269 in TpCallSuperviseTreatment treatment
271 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
276 interface IpAppMultiMediaCallControlManager : mpccs::IpAppMultiPartyCallControlManager {
277 TpAppMultiMediaCallBack reportMediaNotification (
278 in TpMultiMediaCallIdentifier callReference,
279 in TpMultiMediaCallLegIdentifierSet callLegReferenceSet,
280 in TpMediaStreamSet mediaStreams,
281 in TpMediaStreamEventType type,
282 in TpDataSessionQosClass qualityOfService,
283 in TpAssignmentID assignmentID
289 interface IpMultiMediaCallControlManager : mpccs::IpMultiPartyCallControlManager {
290 TpAssignmentID createMediaNotification (
291 in IpAppMultiMediaCallControlManager appInterface,
292 in TpNotificationMediaRequest notificationMediaRequest
294 raises (TpCommonExceptions,P_INVALID_CRITERIA,P_INVALID_INTERFACE_TYPE,P_INVALID_EVENT_TYPE);
296 void destroyMediaNotification (
297 in TpAssignmentID assignmentID
299 raises (TpCommonExceptions);
301 void changeMediaNotification (
302 in TpAssignmentID assignmentID,
303 in TpNotificationMediaRequest notificationMediaRequest
305 raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
307 TpMediaNotificationRequestedSet getMediaNotification ()
308 raises (TpCommonExceptions);
320 #endif