2 //Date: 11 October 2004
3 //Data Session Control Interfaces and Data Types for ETSI ES 203 915-08 V1.1.1, DES/TISPAN-01005-08-OSA, Parlay 5.0
18 interface IpAppDataSessionControlManager
;
19 interface IpDataSessionControlManager
;
20 interface IpDataSession
;
23 const TpInt32 P_DATA_SESSION_SUPERVISE_INFORM
= 4;
25 const TpInt32 P_DATA_SESSION_SUPERVISE_DATA_SESSION_ENDED
= 2;
27 const TpInt32 P_DATA_SESSION_SUPERVISE_MESSAGE_SENT
= 4;
29 const TpInt32 P_DATA_SESSION_SUPERVISE_RELEASE
= 1;
31 const TpInt32 P_DATA_SESSION_SUPERVISE_RESPOND
= 2;
33 const TpInt32 P_DATA_SESSION_SUPERVISE_VOLUME_REACHED
= 1;
36 struct TpChargePerVolume
{
37 TpInt32 InitialCharge
;
38 TpInt32 CurrentChargePerKilobyte
;
39 TpInt32 NextChargePerKilobyte
;
42 enum TpDataSessionChargeOrderCategory
{
44 P_DATA_SESSION_CHARGE_PER_VOLUME
,
45 P_DATA_SESSION_CHARGE_NETWORK
49 union TpDataSessionChargeOrder
switch(TpDataSessionChargeOrderCategory
) {
50 case P_DATA_SESSION_CHARGE_PER_VOLUME
: TpChargePerVolume ChargePerVolume
;
51 case P_DATA_SESSION_CHARGE_NETWORK
: TpString NetworkCharge
;
55 struct TpDataSessionChargePlan
{
56 TpDataSessionChargeOrder ChargeOrderType
;
58 TpString AdditionalInfo
;
62 enum TpDataSessionErrorType
{
64 P_DATA_SESSION_ERROR_UNDEFINED
,
65 P_DATA_SESSION_ERROR_INVALID_ADDRESS
,
66 P_DATA_SESSION_ERROR_INVALID_STATE
70 union TpDataSessionAdditionalErrorInfo
switch(TpDataSessionErrorType
) {
71 case P_DATA_SESSION_ERROR_INVALID_ADDRESS
: TpAddressError DataSessionErrorInvalidAddress
;
76 struct TpDataSessionError
{
77 TpDateAndTime ErrorTime
;
78 TpDataSessionErrorType ErrorType
;
79 TpDataSessionAdditionalErrorInfo AdditionalErrorInfo
;
83 typedef TpInt32 TpDataSessionEventName
;
86 enum TpDataSessionFault
{
88 P_DATA_SESSION_FAULT_UNDEFINED
,
89 P_DATA_SESSION_FAULT_USER_ABORTED
,
90 P_DATA_SESSION_TIMEOUT_ON_RELEASE
,
91 P_DATA_SESSION_TIMEOUT_ON_INTERRUPT
95 enum TpDataSessionMonitorMode
{
97 P_DATA_SESSION_MONITOR_MODE_INTERRUPT
,
98 P_DATA_SESSION_MONITOR_MODE_NOTIFY
,
99 P_DATA_SESSION_MONITOR_MODE_DO_NOT_MONITOR
103 struct TpDataSessionEventCriteria
{
104 TpAddressRange DestinationAddress
;
105 TpAddressRange OriginationAddress
;
106 TpDataSessionEventName DataSessionEventName
;
107 TpDataSessionMonitorMode MonitorMode
;
111 struct TpDataSessionEventInfo
{
112 TpAddress DestinationAddress
;
113 TpAddress OriginatingAddress
;
114 TpDataSessionEventName DataSessionEventName
;
115 TpDataSessionMonitorMode MonitorMode
;
116 TpDataSessionQosClass QoSClass
;
120 struct TpDataSessionReleaseCause
{
126 enum TpDataSessionReportType
{
128 P_DATA_SESSION_REPORT_UNDEFINED
,
129 P_DATA_SESSION_REPORT_CONNECTED
,
130 P_DATA_SESSION_REPORT_DISCONNECT
134 union TpDataSessionAdditionalReportInfo
switch(TpDataSessionReportType
) {
135 case P_DATA_SESSION_REPORT_DISCONNECT
: TpDataSessionReleaseCause DataSessionDisconnect
;
136 default: short Dummy
;
140 struct TpDataSessionReport
{
141 TpDataSessionMonitorMode MonitorMode
;
142 TpDateAndTime DataSessionEventTime
;
143 TpDataSessionReportType DataSessionReportType
;
144 TpDataSessionAdditionalReportInfo AdditionalReportInfo
;
148 struct TpDataSessionReportRequest
{
149 TpDataSessionMonitorMode MonitorMode
;
150 TpDataSessionReportType DataSessionReportType
;
154 typedef sequence
<TpDataSessionReportRequest
> TpDataSessionReportRequestSet
;
157 typedef TpInt32 TpDataSessionSuperviseReport
;
160 typedef TpInt32 TpDataSessionSuperviseTreatment
;
163 struct TpDataSessionSuperviseVolume
{
164 TpInt32 VolumeQuantity
;
169 const TpInt32 P_EVENT_NAME_UNDEFINED
= 0;
171 const TpInt32 P_EVENT_DSCS_SETUP
= 1;
173 const TpInt32 P_EVENT_DSCS_ESTABLISHED
= 2;
174 const TpInt32 P_EVENT_NAME_QOD_CHANGED
= 4;
176 struct TpDataSessionEventCriteriaResult
{
177 TpDataSessionEventCriteria EventCriteria
;
178 TpAssignmentID AssignmentID
;
182 typedef sequence
<TpDataSessionEventCriteriaResult
> TpDataSessionEventCriteriaResultSet
;
185 const TpInt32 P_EVENT_DSCS_QOS_CHANGED
= 4;
187 struct TpDataSessionIdentifier
{
188 IpDataSession DataSessionReference
;
189 TpSessionID DataSessionID
;
193 interface IpAppDataSession
: IpInterface
{
196 in TpSessionID dataSessionID
,
197 in TpDataSessionReport eventReport
,
198 in TpAssignmentID assignmentID
202 in TpSessionID dataSessionID
,
203 in TpDataSessionError errorIndication
,
204 in TpAssignmentID assignmentID
207 void superviseDataSessionRes
(
208 in TpSessionID dataSessionID
,
209 in TpDataSessionSuperviseReport report
,
210 in TpDataSessionSuperviseVolume usedVolume
,
211 in TpDataSessionQosClass qualityOfService
214 void superviseDataSessionErr
(
215 in TpSessionID dataSessionID
,
216 in TpDataSessionError errorIndication
219 void dataSessionFaultDetected
(
220 in TpSessionID dataSessionID
,
221 in TpDataSessionFault fault
227 interface IpAppDataSessionControlManager
: IpInterface
{
229 void dataSessionAborted
(
230 in TpSessionID dataSession
233 IpAppDataSession reportNotification
(
234 in TpDataSessionIdentifier dataSessionReference
,
235 in TpDataSessionEventInfo eventInfo
,
236 in TpAssignmentID assignmentID
239 void dataSessionNotificationContinued
();
241 void dataSessionNotificationInterrupted
();
243 void abortMultipleDataSessions
(
244 in TpSessionIDSet dataSessionSet
250 interface IpDataSession
: IpService
{
252 TpAssignmentID connectReq
(
253 in TpSessionID dataSessionID
,
254 in TpDataSessionReportRequestSet responseRequested
,
255 in TpAddress targetAddress
257 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_ADDRESS
,P_INVALID_SESSION_ID
);
260 in TpSessionID dataSessionID
,
261 in TpDataSessionReleaseCause cause
263 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_SESSION_ID
);
265 void superviseDataSessionReq
(
266 in TpSessionID dataSessionID
,
267 in TpDataSessionSuperviseTreatment treatment
,
268 in TpDataSessionSuperviseVolume bytes
270 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_SESSION_ID
);
272 void setDataSessionChargePlan
(
273 in TpSessionID dataSessionID
,
274 in TpDataSessionChargePlan dataSessionChargePlan
276 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_SESSION_ID
);
278 void setAdviceOfCharge
(
279 in TpSessionID dataSessionID
,
280 in TpAoCInfo aoCInfo
,
281 in TpDuration tariffSwitch
283 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_TIME_AND_DATE_FORMAT
);
285 void deassignDataSession
(
286 in TpSessionID dataSessionID
288 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
290 void continueProcessing
(
291 in TpSessionID dataSessionID
293 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_INVALID_NETWORK_STATE
);
298 interface IpDataSessionControlManager
: IpService
{
300 TpAssignmentID createNotification
(
301 in IpAppDataSessionControlManager appDataSessionControlManager
,
302 in TpDataSessionEventCriteria eventCriteria
304 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_CRITERIA
,P_INVALID_EVENT_TYPE
);
306 void destroyNotification
(
307 in TpAssignmentID assignmentID
309 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_ASSIGNMENT_ID
);
311 void changeNotification
(
312 in TpAssignmentID assignmentID
,
313 in TpDataSessionEventCriteria eventCriteria
315 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_ASSIGNMENT_ID
,P_INVALID_CRITERIA
,P_INVALID_EVENT_TYPE
);
317 TpAssignmentID enableNotifications
(
318 in IpAppDataSessionControlManager appDataSessionControlManager
320 raises
(TpCommonExceptions
);
322 void disableNotifications
()
323 raises
(TpCommonExceptions
);
325 TpDataSessionEventCriteriaResultSet getNotifications
()
326 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
);
328 TpAssignmentID createNotifications
(
329 in IpAppDataSessionControlManager appDataSessionControlManager
,
330 in TpDataSessionEventCriteria eventCriteria
332 raises
(TpCommonExceptions
,P_INVALID_NETWORK_STATE
,P_INVALID_CRITERIA
,P_INVALID_EVENT_TYPE
,P_INVALID_INTERFACE_TYPE
);