1 //Source file: mpcc_interfaces.idl
3 //Multi Party Call Control Interfaces for ETSI ES 203 915-04-3 V1.1.1, DES/TISPAN-01005-04-3-OSA, Parlay 5.0
5 #ifndef __MPCC_INTERFACES_DEFINED
6 #define __MPCC_INTERFACES_DEFINED
10 #include
"common_cc_data.idl"
11 #include
"mpcc_data.idl"
20 interface IpAppMultiPartyCallControlManager
;
21 interface IpMultiPartyCall
;
22 interface IpAppMultiPartyCall
;
24 interface IpAppCallLeg
;
27 enum TpAppMultiPartyCallBackRefType
{
28 P_APP_CALLBACK_UNDEFINED
,
29 P_APP_MULTIPARTY_CALL_CALLBACK
,
30 P_APP_CALL_LEG_CALLBACK
,
31 P_APP_CALL_AND_CALL_LEG_CALLBACK
35 typedef sequence
<IpAppCallLeg
> TpAppCallLegRefSet
;
38 struct TpMultiPartyCallIdentifier
{
39 IpMultiPartyCall CallReference
;
40 TpSessionID CallSessionID
;
44 struct TpCallLegIdentifier
{
45 IpCallLeg CallLegReference
;
46 TpSessionID CallLegSessionID
;
51 typedef sequence
<TpCallLegIdentifier
> TpCallLegIdentifierSet
;
54 typedef sequence
<TpMultiPartyCallIdentifier
> TpMultiPartyCallIdentifierSet
;
57 struct TpAppCallLegCallBack
{
58 IpAppMultiPartyCall AppMultiPartyCall
;
59 TpAppCallLegRefSet AppCallLegSet
;
63 union TpAppMultiPartyCallBack
switch(TpAppMultiPartyCallBackRefType
) {
64 case P_APP_MULTIPARTY_CALL_CALLBACK
: IpAppMultiPartyCall AppMultiPartyCall
;
65 case P_APP_CALL_LEG_CALLBACK
: IpAppCallLeg AppCallLeg
;
66 case P_APP_CALL_AND_CALL_LEG_CALLBACK
: TpAppCallLegCallBack AppMultiPartyCallAndCallLeg
;
72 interface IpAppCallLeg
: IpInterface
{
74 in TpSessionID callLegSessionID
,
75 in TpCallEventInfo eventInfo
79 in TpSessionID callLegSessionID
,
80 in TpCallError errorIndication
84 in TpSessionID callLegSessionID
88 in TpSessionID callLegSessionID
,
89 in TpCallError errorIndication
93 in TpSessionID callLegSessionID
97 in TpSessionID callLegSessionID
,
98 in TpCallError errorIndication
102 in TpSessionID callLegSessionID
,
103 in TpCallLegInfoReport callLegInfoReport
107 in TpSessionID callLegSessionID
,
108 in TpCallError errorIndication
112 in TpSessionID callLegSessionID
,
113 in TpCallError errorIndication
117 in TpSessionID callLegSessionID
,
118 in TpCallSuperviseReport report
,
119 in TpDuration usedTime
123 in TpSessionID callLegSessionID
,
124 in TpCallError errorIndication
128 in TpSessionID callLegSessionID
,
129 in TpReleaseCause cause
135 interface IpMultiPartyCallControlManager
: IpService
{
136 TpMultiPartyCallIdentifier createCall
(
137 in IpAppMultiPartyCall appCall
139 raises
(TpCommonExceptions
,P_INVALID_INTERFACE_TYPE
);
141 TpAssignmentID createNotification
(
142 in IpAppMultiPartyCallControlManager appCallControlManager
,
143 in TpCallNotificationRequest notificationRequest
145 raises
(TpCommonExceptions
,P_INVALID_CRITERIA
,P_INVALID_INTERFACE_TYPE
,P_INVALID_EVENT_TYPE
);
147 void destroyNotification
(
148 in TpAssignmentID assignmentID
150 raises
(TpCommonExceptions
,P_INVALID_ASSIGNMENT_ID
);
152 void changeNotification
(
153 in TpAssignmentID assignmentID
,
154 in TpCallNotificationRequest notificationRequest
156 raises
(TpCommonExceptions
,P_INVALID_ASSIGNMENT_ID
,P_INVALID_CRITERIA
,P_INVALID_EVENT_TYPE
);
158 TpNotificationRequestedSet getNotification
()
159 raises
(TpCommonExceptions
);
161 TpAssignmentID setCallLoadControl
(
162 in TpDuration duration
,
163 in TpCallLoadControlMechanism mechanism
,
164 in TpCallTreatment treatment
,
165 in TpAddressRange addressRange
167 raises
(TpCommonExceptions
,P_INVALID_ADDRESS
,P_UNSUPPORTED_ADDRESS_PLAN
);
169 TpAssignmentID enableNotifications
(
170 in IpAppMultiPartyCallControlManager appCallControlManager
172 raises
(TpCommonExceptions
);
174 void disableNotifications
()
175 raises
(TpCommonExceptions
);
177 TpNotificationRequestedSetEntry getNextNotification
(
180 raises
(TpCommonExceptions
);
185 interface IpCallLeg
: IpService
{
187 in TpSessionID callLegSessionID
,
188 in TpAddress targetAddress
,
189 in TpAddress originatingAddress
,
190 in TpCallAppInfoSet appInfo
,
191 in TpCallLegConnectionProperties connectionProperties
193 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
,P_INVALID_ADDRESS
,P_UNSUPPORTED_ADDRESS_PLAN
);
195 void eventReportReq
(
196 in TpSessionID callLegSessionID
,
197 in TpCallEventRequestSet eventsRequested
199 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_EVENT_TYPE
,P_INVALID_CRITERIA
);
202 in TpSessionID callLegSessionID
,
203 in TpReleaseCause cause
205 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
208 in TpSessionID callLegSessionID
,
209 in TpCallLegInfoType callLegInfoRequested
211 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
213 TpMultiPartyCallIdentifier getCall
(
214 in TpSessionID callLegSessionID
216 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
218 void attachMediaReq
(
219 in TpSessionID callLegSessionID
221 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
223 void detachMediaReq
(
224 in TpSessionID callLegSessionID
226 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
228 TpAddress getCurrentDestinationAddress
(
229 in TpSessionID callLegSessionID
231 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
233 void continueProcessing
(
234 in TpSessionID callLegSessionID
236 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
239 in TpSessionID callLegSessionID
,
240 in TpCallChargePlan callChargePlan
242 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
244 void setAdviceOfCharge
(
245 in TpSessionID callLegSessionID
,
246 in TpAoCInfo aOCInfo
,
247 in TpDuration tariffSwitch
249 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_CURRENCY
,P_INVALID_AMOUNT
);
252 in TpSessionID callLegSessionID
,
254 in TpCallLegSuperviseTreatment treatment
256 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
259 in TpSessionID callLegSessionID
261 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
263 TpCallLegPropertyList getProperties
(
264 in TpSessionID callLegSessionID
,
265 in TpCallLegPropertyNameList propertyNames
267 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
,P_INFORMATION_NOT_AVAILABLE
,P_UNAUTHORISED_PARAMETER_VALUE
);
270 in TpSessionID callLegSessionID
,
271 in TpCallLegPropertyList properties
273 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
,P_INFORMATION_NOT_AVAILABLE
,P_UNAUTHORISED_PARAMETER_VALUE
);
278 interface IpAppMultiPartyCall
: IpInterface
{
280 in TpSessionID callSessionID
,
281 in TpCallInfoReport callInfoReport
285 in TpSessionID callSessionID
,
286 in TpCallError errorIndication
290 in TpSessionID callSessionID
,
291 in TpCallSuperviseReport report
,
292 in TpDuration usedTime
296 in TpSessionID callSessionID
,
297 in TpCallError errorIndication
301 in TpSessionID callSessionID
,
302 in TpCallEndedReport report
305 void createAndRouteCallLegErr
(
306 in TpSessionID callSessionID
,
307 in TpCallLegIdentifier callLegReference
,
308 in TpCallError errorIndication
314 interface IpMultiPartyCall
: IpService
{
315 TpCallLegIdentifierSet getCallLegs
(
316 in TpSessionID callSessionID
318 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
320 TpCallLegIdentifier createCallLeg
(
321 in TpSessionID callSessionID
,
322 in IpAppCallLeg appCallLeg
324 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_INTERFACE_TYPE
);
326 TpCallLegIdentifier createAndRouteCallLegReq
(
327 in TpSessionID callSessionID
,
328 in TpCallEventRequestSet eventsRequested
,
329 in TpAddress targetAddress
,
330 in TpAddress originatingAddress
,
331 in TpCallAppInfoSet appInfo
,
332 in IpAppCallLeg appLegInterface
334 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_INTERFACE_TYPE
,P_INVALID_ADDRESS
,P_UNSUPPORTED_ADDRESS_PLAN
,P_INVALID_NETWORK_STATE
,P_INVALID_EVENT_TYPE
,P_INVALID_CRITERIA
);
337 in TpSessionID callSessionID
,
338 in TpReleaseCause cause
340 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
343 in TpSessionID callSessionID
345 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
348 in TpSessionID callSessionID
,
349 in TpCallInfoType callInfoRequested
351 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
354 in TpSessionID callSessionID
,
355 in TpCallChargePlan callChargePlan
357 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
359 void setAdviceOfCharge
(
360 in TpSessionID callSessionID
,
361 in TpAoCInfo aOCInfo
,
362 in TpDuration tariffSwitch
364 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_CURRENCY
,P_INVALID_AMOUNT
);
367 in TpSessionID callSessionID
,
369 in TpCallSuperviseTreatment treatment
371 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
376 interface IpAppMultiPartyCallControlManager
: IpInterface
{
377 TpAppMultiPartyCallBack reportNotification
(
378 in TpMultiPartyCallIdentifier callReference
,
379 in TpCallLegIdentifierSet callLegReferenceSet
,
380 in TpCallNotificationInfo notificationInfo
,
381 in TpAssignmentID assignmentID
385 in TpSessionID callReference
388 void managerInterrupted
();
390 void managerResumed
();
392 void callOverloadEncountered
(
393 in TpAssignmentID assignmentID
396 void callOverloadCeased
(
397 in TpAssignmentID assignmentID
400 void abortMultipleCalls
(
401 in TpSessionIDSet callReferenceSet