1 //Source file: mmccs.idl
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
10 #include
"mpcc_interfaces.idl"
11 #include
"common_cc_data.idl"
12 #include
"mpcc_data.idl"
22 interface IpMultiMediaCall
;
23 interface IpAppMultiMediaCall
;
24 interface IpMultiMediaCallLeg
;
25 interface IpAppMultiMediaCallLeg
;
26 interface IpMultiMediaStream
;
28 enum TpMediaStreamDirection
{
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
{
90 P_MEDIA_STREAM_SUBTRACTED
,
91 P_MEDIA_STREAM_QOS_CLASS_CHANGED
95 struct TpCallSuperviseVolume
{
96 TpInt32 VolumeQuantity
;
101 enum TpMediaStreamDataTypeRequestType
{
103 P_AUDIO_CAPABILITIES
,
104 P_VIDEO_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
{
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
);