epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / corba-idl / parlay / cs.idl
blob98364159be0b4a4174568cb3dbfd75d677f0c135
1 //Source file: cs.idl
2 //Date: 12 October 2004
3 //Charging Interfaces and Data Types for ETSI ES 203 915-12 v.1.1.1, DES/TISPAN-01005-12-OSA, Parlay 5.0
6 #ifndef __CS_DEFINED
7 #define __CS_DEFINED
10 #include "osa.idl"
12 module org {
14 module csapi {
17 module cs {
19 interface IpChargingSession;
24 struct TpMerchantAccountID {
25 TpString MerchantID;
26 TpInt32 AccountID;
30 typedef TpInt32 TpCorrelationType;
33 struct TpCorrelationID {
34 TpSessionID CorrelationID;
35 TpCorrelationType CorrelationType;
39 struct TpAmount {
40 TpInt32 Number;
41 TpInt32 Exponent;
45 struct TpChargingPrice {
46 TpString Currency;
47 TpAmount Amount;
51 typedef TpInt32 TpChargingParameterID;
54 enum TpChargingParameterValueType {
56 P_CHS_PARAMETER_INT32,
57 P_CHS_PARAMETER_FLOAT,
58 P_CHS_PARAMETER_STRING,
59 P_CHS_PARAMETER_BOOLEAN,
60 P_CHS_PARAMETER_OCTETSET
64 union TpChargingParameterValue switch(TpChargingParameterValueType) {
65 case P_CHS_PARAMETER_INT32: TpInt32 IntValue;
66 case P_CHS_PARAMETER_FLOAT: TpFloat FloatValue;
67 case P_CHS_PARAMETER_STRING: TpString StringValue;
68 case P_CHS_PARAMETER_BOOLEAN: TpBoolean BooleanValue;
69 case P_CHS_PARAMETER_OCTETSET: TpOctetSet OctetValue;
73 typedef TpInt32 TpUnitID;
76 struct TpVolume {
77 TpAmount Amount;
78 TpUnitID Unit;
82 typedef sequence <TpVolume> TpVolumeSet;
85 struct TpChargingSessionID {
86 IpChargingSession ChargingSessionReference;
87 TpSessionID ChargingSessionID;
88 TpInt32 RequestNumberFirstRequest;
92 struct TpPriceVolume {
93 TpChargingPrice Price;
94 TpVolume Volume;
98 typedef sequence <TpPriceVolume> TpPriceVolumeSet;
101 enum TpChargingError {
103 P_CHS_ERR_UNDEFINED,
104 P_CHS_ERR_ACCOUNT,
105 P_CHS_ERR_USER,
106 P_CHS_ERR_PARAMETER,
107 P_CHS_ERR_NO_DEBIT,
108 P_CHS_ERR_NO_CREDIT,
109 P_CHS_ERR_VOLUMES,
110 P_CHS_ERR_CURRENCY,
111 P_CHS_ERR_NO_EXTEND,
112 P_CHS_ERR_RESERVATION_LIMIT,
113 P_CHS_ERR_CONFIRMATION_REQUIRED
117 enum TpSessionEndedCause {
119 P_CHS_CAUSE_UNDEFINED,
120 P_CHS_CAUSE_TIMER_EXPIRED
124 enum TpAppInformationType {
126 P_APP_INF_TIMESTAMP
130 union TpAppInformation switch(TpAppInformationType) {
131 case P_APP_INF_TIMESTAMP: TpDateAndTime Timestamp;
135 typedef sequence <TpAppInformation> TpAppInformationSet;
138 struct TpApplicationDescription {
139 TpString Text;
140 TpAppInformationSet AppInformation;
144 struct TpChargingParameter {
145 TpChargingParameterID ParameterID;
146 TpChargingParameterValue ParameterValue;
150 typedef sequence <TpChargingParameter> TpChargingParameterSet;
153 const TpChargingParameterID P_CHS_PARAM_UNDEFINED = 0;
155 const TpChargingParameterID P_CHS_PARAM_ITEM = 1;
157 const TpChargingParameterID P_CHS_PARAM_SUBTYPE = 2;
159 const TpCorrelationType P_CHS_CORRELATION_UNDEFINED = 0;
161 const TpCorrelationType P_CHS_CORRELATION_VOICE = 1;
163 const TpCorrelationType P_CHS_CORRELATION_DATA = 2;
165 const TpCorrelationType P_CHS_CORRELATION_MM = 3;
167 const TpUnitID P_CHS_UNIT_UNDEFINED = 0;
169 const TpUnitID P_CHS_UNIT_NUMBER = 1;
171 const TpUnitID P_CHS_UNIT_OCTETS = 2;
173 const TpUnitID P_CHS_UNIT_SECONDS = 3;
175 const TpUnitID P_CHS_UNIT_MINUTES = 4;
177 const TpUnitID P_CHS_UNIT_HOURS = 5;
179 const TpUnitID P_CHS_UNIT_DAYS = 6;
181 exception P_INVALID_USER {
182 TpString ExtraInformation;
186 exception P_INVALID_ACCOUNT {
187 TpString ExtraInformation;
191 exception P_INVALID_REQUEST_NUMBER {
192 TpString ExtraInformation;
196 exception P_INVALID_VOLUME {
197 TpString ExtraInformation;
201 const TpChargingParameterID P_CHS_PARAM_CONFIRMATION_ID = 3;
203 const TpChargingParameterID P_CHS_PARAM_CONTRACT = 4;
208 interface IpAppChargingSession : IpInterface {
209 void creditAmountErr (
210 in TpSessionID sessionID,
211 in TpInt32 requestNumber,
212 in TpChargingError error,
213 in TpInt32 requestNumberNextRequest
216 void creditAmountRes (
217 in TpSessionID sessionID,
218 in TpInt32 requestNumber,
219 in TpChargingPrice creditedAmount,
220 in TpChargingPrice reservedAmountLeft,
221 in TpInt32 requestNumberNextRequest
224 void creditUnitErr (
225 in TpSessionID sessionID,
226 in TpInt32 requestNumber,
227 in TpChargingError error,
228 in TpInt32 requestNumberNextRequest
231 void creditUnitRes (
232 in TpSessionID sessionID,
233 in TpInt32 requestNumber,
234 in TpVolumeSet creditedVolumes,
235 in TpVolumeSet reservedUnitsLeft,
236 in TpInt32 requestNumberNextRequest
239 void debitAmountErr (
240 in TpSessionID sessionID,
241 in TpInt32 requestNumber,
242 in TpChargingError error,
243 in TpInt32 requestNumberNextRequest
246 void debitAmountRes (
247 in TpSessionID sessionID,
248 in TpInt32 requestNumber,
249 in TpChargingPrice debitedAmount,
250 in TpChargingPrice reservedAmountLeft,
251 in TpInt32 requestNumberNextRequest
254 void debitUnitErr (
255 in TpSessionID sessionID,
256 in TpInt32 requestNumber,
257 in TpChargingError error,
258 in TpInt32 requestNumberNextRequest
261 void debitUnitRes (
262 in TpSessionID sessionID,
263 in TpInt32 requestNumber,
264 in TpVolumeSet debitedVolumes,
265 in TpVolumeSet reservedUnitsLeft,
266 in TpInt32 requestNumberNextRequest
269 void directCreditAmountErr (
270 in TpSessionID sessionID,
271 in TpInt32 requestNumber,
272 in TpChargingError error,
273 in TpInt32 requestNumberNextRequest
276 void directCreditAmountRes (
277 in TpSessionID sessionID,
278 in TpInt32 requestNumber,
279 in TpChargingPrice creditedAmount,
280 in TpInt32 requestNumberNextRequest
283 void directCreditUnitErr (
284 in TpSessionID sessionID,
285 in TpInt32 requestNumber,
286 in TpChargingError error,
287 in TpInt32 requestNumberNextRequest
290 void directCreditUnitRes (
291 in TpSessionID sessionID,
292 in TpInt32 requestNumber,
293 in TpVolumeSet creditedVolumes,
294 in TpInt32 requestNumberNextRequest
297 void directDebitAmountErr (
298 in TpSessionID sessionID,
299 in TpInt32 requestNumber,
300 in TpChargingError error,
301 in TpInt32 requestNumberNextRequest
304 void directDebitAmountRes (
305 in TpSessionID sessionID,
306 in TpInt32 requestNumber,
307 in TpChargingPrice debitedAmount,
308 in TpInt32 requestNumberNextRequest
311 void directDebitUnitErr (
312 in TpSessionID sessionID,
313 in TpInt32 requestNumber,
314 in TpChargingError error,
315 in TpInt32 requestNumberNextRequest
318 void directDebitUnitRes (
319 in TpSessionID sessionID,
320 in TpInt32 requestNumber,
321 in TpVolumeSet debitedVolumes,
322 in TpInt32 requestNumberNextRequest
325 void extendLifeTimeErr (
326 in TpSessionID sessionID,
327 in TpChargingError error
330 void extendLifeTimeRes (
331 in TpSessionID sessionID,
332 in TpInt32 sessionTimeLeft
335 void rateErr (
336 in TpSessionID sessionID,
337 in TpChargingError error
340 void rateRes (
341 in TpSessionID sessionID,
342 in TpPriceVolumeSet rates,
343 in TpDuration validityTimeLeft
346 void reserveAmountErr (
347 in TpSessionID sessionID,
348 in TpInt32 requestNumber,
349 in TpChargingError error,
350 in TpInt32 requestNumberNextRequest
353 void reserveAmountRes (
354 in TpSessionID sessionID,
355 in TpInt32 requestNumber,
356 in TpChargingPrice reservedAmount,
357 in TpInt32 sessionTimeLeft,
358 in TpInt32 requestNumberNextRequest
361 void reserveUnitErr (
362 in TpSessionID sessionID,
363 in TpInt32 requestNumber,
364 in TpChargingError error,
365 in TpInt32 requestNumberNextRequest
368 void reserveUnitRes (
369 in TpSessionID sessionID,
370 in TpInt32 requestNumber,
371 in TpVolumeSet reservedUnits,
372 in TpInt32 sessionTimeLeft,
373 in TpInt32 requestNumberNextRequest
376 void sessionEnded (
377 in TpSessionID sessionID,
378 in TpSessionEndedCause report
384 interface IpChargingSession : IpService {
385 void creditAmountReq (
386 in TpSessionID sessionID,
387 in TpApplicationDescription applicationDescription,
388 in TpChargingPrice amount,
389 in TpBoolean closeReservation,
390 in TpInt32 requestNumber
392 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
394 void creditUnitReq (
395 in TpSessionID sessionID,
396 in TpApplicationDescription applicationDescription,
397 in TpVolumeSet volumes,
398 in TpBoolean closeReservation,
399 in TpInt32 requestNumber
401 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
403 void debitAmountReq (
404 in TpSessionID sessionID,
405 in TpApplicationDescription applicationDescription,
406 in TpChargingPrice amount,
407 in TpBoolean closeReservation,
408 in TpInt32 requestNumber
410 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
412 void debitUnitReq (
413 in TpSessionID sessionID,
414 in TpApplicationDescription applicationDescription,
415 in TpVolumeSet volumes,
416 in TpBoolean closeReservation,
417 in TpInt32 requestNumber
419 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
421 void directCreditAmountReq (
422 in TpSessionID sessionID,
423 in TpApplicationDescription applicationDescription,
424 in TpChargingParameterSet chargingParameters,
425 in TpChargingPrice amount,
426 in TpInt32 requestNumber
428 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
430 void directCreditUnitReq (
431 in TpSessionID sessionID,
432 in TpApplicationDescription applicationDescription,
433 in TpChargingParameterSet chargingParameters,
434 in TpVolumeSet volumes,
435 in TpInt32 requestNumber
437 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
439 void directDebitAmountReq (
440 in TpSessionID sessionID,
441 in TpApplicationDescription applicationDescription,
442 in TpChargingParameterSet chargingParameters,
443 in TpChargingPrice amount,
444 in TpInt32 requestNumber
446 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
448 void directDebitUnitReq (
449 in TpSessionID sessionID,
450 in TpApplicationDescription applicationDescription,
451 in TpChargingParameterSet chargingParameters,
452 in TpVolumeSet volumes,
453 in TpInt32 requestNumber
455 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
457 void extendLifeTimeReq (
458 in TpSessionID sessionID
460 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
462 TpChargingPrice getAmountLeft (
463 in TpSessionID sessionID
465 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
467 TpInt32 getLifeTimeLeft (
468 in TpSessionID sessionID
470 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
472 TpVolumeSet getUnitLeft (
473 in TpSessionID sessionID
475 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
477 void rateReq (
478 in TpSessionID sessionID,
479 in TpChargingParameterSet chargingParameters
481 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
483 void release (
484 in TpSessionID sessionID,
485 in TpInt32 requestNumber
487 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_REQUEST_NUMBER);
489 void reserveAmountReq (
490 in TpSessionID sessionID,
491 in TpApplicationDescription applicationDescription,
492 in TpChargingParameterSet chargingParameters,
493 in TpChargingPrice preferredAmount,
494 in TpChargingPrice minimumAmount,
495 in TpInt32 requestNumber
497 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_AMOUNT,P_INVALID_CURRENCY,P_INVALID_REQUEST_NUMBER);
499 void reserveUnitReq (
500 in TpSessionID sessionID,
501 in TpApplicationDescription applicationDescription,
502 in TpChargingParameterSet chargingParameters,
503 in TpVolumeSet volumes,
504 in TpInt32 requestNumber
506 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_VOLUME,P_INVALID_REQUEST_NUMBER);
511 interface IpAppChargingManager : IpInterface {
512 void sessionAborted (
513 in TpSessionID sessionID
516 void abortMultipleChargingSessions (
517 in TpSessionIDSet chargingSessionSet
523 interface IpChargingManager : IpService {
524 TpChargingSessionID createChargingSession (
525 in IpAppChargingSession appChargingSession,
526 in TpString sessionDescription,
527 in TpMerchantAccountID merchantAccount,
528 in TpAddress user,
529 in TpCorrelationID correlationID
531 raises (TpCommonExceptions,P_INVALID_USER,P_INVALID_ACCOUNT);
533 TpChargingSessionID createSplitChargingSession (
534 in IpAppChargingSession appChargingSession,
535 in TpString sessionDescription,
536 in TpMerchantAccountID merchantAccount,
537 in TpAddressSet users,
538 in TpCorrelationID correlationID
540 raises (TpCommonExceptions,P_INVALID_USER,P_INVALID_ACCOUNT);
550 #endif