SIST ES 204 915-12 V1.1.1:2008
Open Service Access (OSA) - Application Programming Interface (API) - Part 12: Charging SCF (Parlay 6)
- Abstract
ETSI OSA APIs Phase 4. Based on ES 203 915 and the new requirements for OSA Phase 4, to produce ES 204 915 V1.1.1. ETSI OSA Phase 4 incorporates 3GPP OSA Release 7 and is also known as Parlay 6.0.
The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open Service Access (OSA).
The OSA specifications define an architecture that enables application developers to make use of network functionality through an open standardised interface, i.e. the OSA APIs.
The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of the Charging SCF are defined here, these being:
• Sequence Diagrams.
• Class Diagrams.
• Interface specification plus detailed method descriptions.
• State Transition diagrams.
• Data Definitions.
• IDL Description of the interfaces.
• WSDL Description of the interfaces.
• Reference to the Java™ API description of the interfaces.
The process by which this task is accomplished is through the use of object modelling techniques described by the Unified Modelling Language (UML).
- Status
- Published
- Publication Date
- 02-Jul-2008
- Technical Committee
- SPN - Services and Protocols for Networks
- Current Stage
- 6060 - National Implementation/Publication (Adopted Project)
- Start Date
- 11-Jun-2008
- Due Date
- 16-Aug-2008
- Completion Date
- 03-Jul-2008
Buy Documents
ETSI ES 204 915-12 V1.1.1 (2008-02) - Open Service Access (OSA); Application Programming Interface (API); Part 12: Charging SCF (Parlay 6)
ETSI ES 204 915-12 V1.1.1 (2008-05) - Open Service Access (OSA); Application Programming Interface (API); Part 12: Charging SCF (Parlay 6)
SIST ES 204 915-12 V1.1.1:2008 is the SIST-listed ETSI Standard for Open Service Access (OSA) - Application Programming Interface (API) - Part 12: Charging SCF (Parlay 6). It specifies the Charging Service Capability Feature (SCF) of the OSA APIs, so that application developers can use network charging functions through a standard interface. The document defines the charging interfaces, callback behavior, state models, data types, and language bindings for implementation and integration.
What does SIST ES 204 915-12 V1.1.1:2008 specify?
SIST ES 204 915-12 V1.1.1:2008 specifies the Stage 3 interface for the OSA Charging SCF. In practice, it tells implementers how an application can create charging sessions, reserve or debit amounts or units, request rating, and receive asynchronous callbacks.
The document is organized around the main technical views used for an API specification:
- scope and references
- definitions and abbreviations
- Charging SCF overview
- sequence diagrams
- class diagrams
- service interface specifications
- charging interface classes
- state transition diagrams
- content based charging service properties
- data definitions
- exception classes
- annexes for IDL, WSDL, Java, context, and change record
| Annex | What it covers |
|---|---|
| Annex A | Normative OMG IDL description of the Charging SCF |
| Annex B | Informative W3C WSDL description of the Charging SCF |
| Annex C | Informative Java™ API description of the Charging SCF |
| Annex D | Informative contents of 3GPP OSA R7 Charging |
| Annex E | Informative description for 3GPP2 cdma2000 networks |
| Annex F | Informative record of changes |
The specification uses Unified Modelling Language (UML) to present sequence diagrams, class diagrams, and state transition diagrams. That matters because the document is meant to be implemented, not just read as prose.
What are the key requirements of SIST ES 204 915-12 V1.1.1:2008?
SIST ES 204 915-12 V1.1.1:2008 requires a Charging SCF implementation to support the defined methods with valid parameter sets, and to use the specified callback and request-number behavior. The most important practical point is that charging transactions must be traceable, retryable, and consistent across asynchronous service and application interfaces.
Implementation and callback rules
If an implementation supports a method, it shall support the described functionality for at least one valid set of parameter values. For service interfaces, an unsupported method returns P_METHOD_NOT_SUPPORTED; for application interfaces, the call must still be possible and no exception is returned. This matters because service-side and application-side error handling are different.
The generic service interface IpService provides setCallback() and setCallbackWithSessionID(). These methods define where the service sends callbacks, and the latest valid callback reference is used if several are set. In practice, the application must register callback objects before it expects results or error notifications.
Charging session creation and split charging
IpChargingManager creates charging sessions. At least one of createChargingSession() or createSplitChargingSession() shall be implemented. createSplitChargingSession() allows multiple users in one charging session, which is useful for multi-user games, conferences, or other shared-cost services.
IpAppChargingManager receives abnormal session events through sessionAborted() and abortMultipleChargingSessions(). This lets an application clean up session state if the charging side fails or recovers after a service interruption.
Reservations, direct charging, and release
IpChargingSession is the main charging control interface. It supports reserving amounts or units, debiting and crediting against a reservation, direct debit and direct credit without reservation, extending reservation lifetime, checking what remains, rating an item, and releasing the session.
The minimum implementation rule is important: release() shall be implemented. If reservation methods are implemented, at least one matching debit or credit method shall also be available. If no reservation method is supported, at least one direct charge method shall be implemented instead. In practice, this defines whether a product supports pre-reservation workflows, immediate charging, or both.
Request numbers and retry behavior
The Charging SCF uses a Request Number for operations that touch the user account directly or indirectly through reservations. The same request number is reused for retries after application, service, or communication errors. Only one request can be outstanding per charging session at a time, and request numbers must remain unique across the time window in which delayed responses might still arrive. This protects against double charging when a transaction is retried.
Reservation limits and unit handling
The document distinguishes amount-based charging and unit-based charging. TpVolumeSet values are not consolidated by the charging SCF, and the same unit types must be used consistently for reservation and debit. In practical terms, an application cannot reserve time and then debit in a different unit and expect the reservation to match.
reserveAmountReq() and reserveUnitReq() can enlarge an existing reservation and reset its lifetime. debitAmountReq() fails if the amount exceeds the reservation, while debitUnitReq() succeeds and charges only the remaining reserved units. closeReservation can free the unused part of a reservation, but it does not release the session itself.
Rating and session state
rateReq() lets an application ask the charging service for price information before the user starts using the service. The callback rateRes() returns applicable rates and a validity time. The state model then shows how a session moves between Session Created, Amount Reserved, Volume Reserved, and Reservation Ended, with release or lifetime expiry ending the session.
What terms does SIST ES 204 915-12 V1.1.1:2008 define?
- API [Application Programming Interface] - The standard interface an application uses to invoke charging functions in the network domain.
- OSA [Open Service Access] - The architecture that lets application developers use network functionality through a standardized interface.
- SCF [Service Capability Feature] - A functional service area within OSA; here it is charging.
- UML [Unified Modelling Language] - The modeling language used for sequence, class, and state diagrams in this specification.
- IDL [Interface Definition Language] - The normative interface description format provided in Annex A.
- TpChargingPrice - A data type that represents a price as
CurrencyplusAmount. - TpVolumeSet - A numbered set of
TpVolumevalues used for unit-based charging and reservation. - TpSessionEndedCause - A data type that states why a charging session ended, such as undefined or timer expired.
Who uses SIST ES 204 915-12 V1.1.1:2008?
SIST ES 204 915-12 V1.1.1:2008 is used by telecommunications software developers, charging-platform implementers, gateway vendors, and service-provider engineers who need standardized charging control in OSA-based systems. It is also relevant to quality managers and integrators who need to verify that a product supports reservation, direct charging, callbacks, and session handling in a predictable way.
The document is especially useful where an application charges end users, charges on behalf of another party, or shares charges across multiple users. That includes merchant applications, network service platforms, and systems that need pre-rating before service start or immediate debit during service use.
What changed in SIST ES 204 915-12 V1.1.1:2008 from the previous edition?
SIST ES 204 915-12 V1.1.1:2008 is equivalent to 3GPP TS 29.198-12 V7.0.0 (Release 7).
Which standards are used with SIST ES 204 915-12 V1.1.1:2008?
- ETSI ES 204 915-1 - Provides the OSA overview, the shared definitions and abbreviations, and the Java realization rules referenced by this part.
- ETSI ES 204 915-2 - Provides the common data definitions used by types that are referenced but not defined in this charging part.
- ETSI ES 203 915 - The Phase 4 basis noted for the development of ES 204 915 V1.1.1.
- 3GPP TS 29.198-12 V7.0.0 - The equivalent 3GPP Release 7 document.
What does the SIST ES 204 915-12 V1.1.1:2008 document contain?
The document contains two worked charging flows in sequence-diagram form: reservation and payment in parts, and immediate charge. It also contains class diagrams for the application and service interfaces, including IpChargingManager, IpChargingSession, IpAppChargingManager, and IpAppChargingSession.
Clause 9 adds the state transition model for IpChargingSession, showing how reservation-related and direct-charge operations relate to session state. Clause 10 lists Charging SCF service properties such as supported units, currencies, split charging, debiting, crediting, and lifetime-related service agreement settings.
Clause 11 provides the detailed data definitions behind the methods, including session identifiers, charging parameters, prices, volumes, correlation data, and error codes. Clause 12 lists the exception classes used by the API, while Annexes A to C provide the IDL, WSDL, and Java representations used for implementation and integration work.
Buy Documents
ETSI ES 204 915-12 V1.1.1 (2008-02) - Open Service Access (OSA); Application Programming Interface (API); Part 12: Charging SCF (Parlay 6)
ETSI ES 204 915-12 V1.1.1 (2008-05) - Open Service Access (OSA); Application Programming Interface (API); Part 12: Charging SCF (Parlay 6)
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

NYCE
Mexican standards and certification body.
Sponsored listings
Frequently Asked Questions
SIST ES 204 915-12 V1.1.1:2008 is a standard published by the Slovenian Institute for Standardization (SIST). Its full title is "Open Service Access (OSA) - Application Programming Interface (API) - Part 12: Charging SCF (Parlay 6)". This standard covers: ETSI OSA APIs Phase 4. Based on ES 203 915 and the new requirements for OSA Phase 4, to produce ES 204 915 V1.1.1. ETSI OSA Phase 4 incorporates 3GPP OSA Release 7 and is also known as Parlay 6.0. The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open Service Access (OSA). The OSA specifications define an architecture that enables application developers to make use of network functionality through an open standardised interface, i.e. the OSA APIs. The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of the Charging SCF are defined here, these being: • Sequence Diagrams. • Class Diagrams. • Interface specification plus detailed method descriptions. • State Transition diagrams. • Data Definitions. • IDL Description of the interfaces. • WSDL Description of the interfaces. • Reference to the Java™ API description of the interfaces. The process by which this task is accomplished is through the use of object modelling techniques described by the Unified Modelling Language (UML).
ETSI OSA APIs Phase 4. Based on ES 203 915 and the new requirements for OSA Phase 4, to produce ES 204 915 V1.1.1. ETSI OSA Phase 4 incorporates 3GPP OSA Release 7 and is also known as Parlay 6.0. The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open Service Access (OSA). The OSA specifications define an architecture that enables application developers to make use of network functionality through an open standardised interface, i.e. the OSA APIs. The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of the Charging SCF are defined here, these being: • Sequence Diagrams. • Class Diagrams. • Interface specification plus detailed method descriptions. • State Transition diagrams. • Data Definitions. • IDL Description of the interfaces. • WSDL Description of the interfaces. • Reference to the Java™ API description of the interfaces. The process by which this task is accomplished is through the use of object modelling techniques described by the Unified Modelling Language (UML).
SIST ES 204 915-12 V1.1.1:2008 is classified under the following ICS (International Classification for Standards) categories: 35.100.01 - Open systems interconnection in general. The ICS classification helps identify the subject area and facilitates finding related standards.
SIST ES 204 915-12 V1.1.1:2008 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 12: Charging SCF
(Parlay 6)
�
2 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
Reference
DES/TISPAN-01032-12-OSA
Keywords
API, IDL, OSA, UML
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
Individual copies of the present document can be downloaded from:
http://www.etsi.org
The present document may be made available in more than one electronic version or in print. In any case of existing or
perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).
In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive
within ETSI Secretariat.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
http://portal.etsi.org/tb/status/status.asp
If you find errors in the present document, please send your comment to one of the following services:
http://portal.etsi.org/chaircor/ETSI_support.asp
Copyright Notification
No part may be reproduced except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 2008.
© The Parlay Group 2008.
All rights reserved.
TM TM TM TM
DECT , PLUGTESTS , UMTS , TIPHON , the TIPHON logo and the ETSI logo are Trade Marks of ETSI registered
for the benefit of its Members.
TM
3GPP is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.
ETSI
3 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
Contents
Intellectual Property Rights.7
Foreword.7
1 Scope.8
2 References.8
3 Definitions and abbreviations.8
3.1 Definitions.8
3.2 Abbreviations.8
4 Charging SCF.9
4.1 General requirements on support of methods.9
5 Sequence Diagrams.9
5.1 Reservation / payment in parts .9
5.2 Immediate Charge.11
6 Class Diagrams.13
7 The Service Interface Specifications.14
7.1 Interface Specification Format .14
7.1.1 Interface Class.15
7.1.2 Method descriptions.15
7.1.3 Parameter descriptions.15
7.1.4 State Model.15
7.2 Base Interface.15
7.2.1 Interface Class IpInterface .15
7.3 Service Interfaces.15
7.3.1 Overview.15
7.4 Generic Service Interface .16
7.4.1 Interface Class IpService .16
7.4.1.1 Method setCallback().16
7.4.1.2 Method setCallbackWithSessionID().16
8 Charging Interface Classes.17
8.1 Interface Class IpChargingManager.17
8.1.1 Method createChargingSession().18
8.1.2 Method createSplitChargingSession().19
8.2 Interface Class IpAppChargingManager .19
8.2.1 Method sessionAborted().20
8.2.2 Method abortMultipleChargingSessions().20
8.3 Interface Class IpChargingSession.20
8.3.1 Method creditAmountReq().21
8.3.2 Method creditUnitReq().22
8.3.3 Method debitAmountReq().23
8.3.4 Method debitUnitReq().23
8.3.5 Method directCreditAmountReq().24
8.3.6 Method directCreditUnitReq().24
8.3.7 Method directDebitAmountReq().25
8.3.8 Method directDebitUnitReq().26
8.3.9 Method extendLifeTimeReq().26
8.3.10 Method getAmountLeft().26
8.3.11 Method getLifeTimeLeft().27
8.3.12 Method getUnitLeft().27
8.3.13 Method rateReq().27
8.3.14 Method release().28
8.3.15 Method reserveAmountReq().28
8.3.16 Method reserveUnitReq().29
ETSI
4 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
8.4 Interface Class IpAppChargingSession .29
8.4.1 Method creditAmountErr().30
8.4.2 Method creditAmountRes().31
8.4.3 Method creditUnitErr().31
8.4.4 Method creditUnitRes().32
8.4.5 Method debitAmountErr().32
8.4.6 Method debitAmountRes().32
8.4.7 Method debitUnitErr().33
8.4.8 Method debitUnitRes().33
8.4.9 Method directCreditAmountErr().33
8.4.10 Method directCreditAmountRes().34
8.4.11 Method directCreditUnitErr().34
8.4.12 Method directCreditUnitRes().34
8.4.13 Method directDebitAmountErr().35
8.4.14 Method directDebitAmountRes().35
8.4.15 Method directDebitUnitErr().36
8.4.16 Method directDebitUnitRes().36
8.4.17 Method extendLifeTimeErr().36
8.4.18 Method extendLifeTimeRes().37
8.4.19 Method rateErr().37
8.4.20 Method rateRes().37
8.4.21 Method reserveAmountErr().37
8.4.22 Method reserveAmountRes().38
8.4.23 Method reserveUnitErr().38
8.4.24 Method reserveUnitRes().38
8.4.25 Method sessionEnded().39
9 State Transition Diagrams.40
9.1 State Transition Diagrams for IpChargingSession .40
9.1.1 Session Created State.41
9.1.2 Amount Reserved State.41
9.1.3 Volume Reserved State.41
9.1.4 Reservation Ended State .41
10 Content Based Charging Service Properties.41
11 Data Definitions.42
11.1 Charging Data Definitions.42
11.1.1 IpChargingManager.43
11.1.2 IpChargingManagerRef.43
11.1.3 IpAppChargingManager.43
11.1.4 IpAppChargingManagerRef.43
11.1.5 IpChargingSession.43
11.1.6 IpChargingSessionRef.43
11.1.7 IpAppChargingSession.43
11.1.8 IpAppChargingSessionRef.43
11.1.9 TpApplicationDescription.43
11.1.10 TpAppInformationSet.43
11.1.11 TpAppInformation.44
11.1.12 TpAppInformationType.44
11.1.13 TpSessionEndedCause.44
11.1.14 TpMerchantAccountID.44
11.1.15 TpCorrelationID.44
11.1.16 TpCorrelationType.44
11.1.17 TpChargingPrice.45
11.1.18 TpAmount.45
11.1.19 TpChargingParameterSet.45
11.1.20 TpChargingParameter.45
11.1.21 TpChargingParameterID.45
11.1.22 TpChargingParameterValue.45
11.1.23 TpChargingParameterValueType.46
11.1.24 TpVolumeSet.46
11.1.25 TpVolume.46
ETSI
5 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
11.1.26 TpUnitID.46
11.1.27 TpChargingSessionID.46
11.1.28 TpPriceVolumeSet.47
11.1.29 TpPriceVolume.47
11.1.30 TpChargingError.47
12 Exception Classes.47
Annex A (normative): OMG IDL Description of Charging SCF.48
Annex B (informative): W3C WSDL Description of Charging SCF.49
Annex C (informative): Java™ API Description of the Charging SCF .50
Annex D (informative): Contents of 3GPP OSA R7 Charging.51
Annex E (informative): Description of Charging for 3GPP2 cdma2000 networks .52
E.1 General Exceptions.52
E.2 Specific Exceptions.52
E.2.1 Clause 1: Scope .52
E.2.2 Clause 2: References .52
E.2.3 Clause 3: Definitions and abbreviations.52
E.2.4 Clause 4: Charging SCF .52
E.2.5 Clause 5: Sequence Diagrams .52
E.2.6 Clause 6: Class Diagrams.52
E.2.7 Clause 7: The Service Interface Specifications .52
E.2.8 Clause 8: Charging Interface Classes .53
E.2.9 Clause 9: State Transition Diagrams .53
E.2.10 Clause 10: Content Based Charging Service Properties.53
E.2.11 Clause 11: Data Definitions.53
E.2.12 Clause 12: Exception Classes.53
E.2.13 Annex A (normative): OMG IDL Description of Charging SCF .53
E.2.14 Annex B (informative): W3C WSDL Description of Charging SCF .53
E.2.15 Annex C (informative): Java™ API Description of the Charging SCF .53
Annex F (informative): Record of changes .54
F.1 Interfaces.54
F.1.1 New.54
F.1.2 Deprecated.54
F.1.3 Removed.54
F.2 Methods.54
F.2.1 New.54
F.2.2 Deprecated.54
F.2.3 Modified.55
F.2.4 Removed.55
F.3 Data Definitions.55
F.3.1 New.55
F.3.2 Modified.55
F.3.3 Removed.55
F.4 Service Properties.55
F.4.1 New.55
F.4.2 Deprecated.56
F.4.3 Modified.56
F.4.4 Removed.56
F.5 Exceptions.56
F.5.1 New.56
F.5.2 Modified.56
F.5.3 Removed.56
ETSI
6 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
F.6 Others.56
History .57
ETSI
7 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
Intellectual Property Rights
IPRs essential or potentially essential to the present document may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (http://webapp.etsi.org/IPR/home.asp).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Foreword
This ETSI Standard (ES) has been produced by ETSI Technical Committee Telecommunications and Internet
converged Services and Protocols for Advanced Networking (TISPAN), and is now submitted for the ETSI standards
Membership Approval Procedure.
The present document is part 12 of a multi-part deliverable covering Open Service Access (OSA); Application
Programming Interface (API), as identified below. The API specification (ES 204 915) is structured in the following
parts:
Part 1: "Overview";
Part 2: "Common Data Definitions";
Part 3: "Framework";
Part 4: "Call Control";
Part 5: "User Interaction SCF";
Part 6: "Mobility SCF";
Part 7: "Terminal Capabilities SCF";
Part 8: "Data Session Control SCF";
Part 9: "Generic Messaging SCF";
Part 10: "Connectivity Manager SCF";
Part 11: "Account Management SCF";
Part 12: "Charging SCF";
Part 13: "Policy Management SCF";
Part 14: "Presence and Availability Management SCF";
Part 15: "Multi-Media Messaging SCF";
Part 16: "Service Broker SCF".
The present document has been defined jointly between ETSI, The Parlay Group (http://www.parlay.org) and the 3GPP,
in co-operation with a number of JAIN™ Community (http://www.java.sun.com/products/jain) member companies.
The present document forms part of the Parlay 6.0 set of specifications.
The present document is equivalent to 3GPP TS 29.198-12 V7.0.0 (Release 7).
ETSI
8 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
1 Scope
The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open
Service Access (OSA).
The OSA specifications define an architecture that enables application developers to make use of network functionality
through an open standardised interface, i.e. the OSA APIs.
The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of
the Charging SCF are defined here, these being:
• Sequence Diagrams.
• Class Diagrams.
• Interface specification plus detailed method descriptions.
• State Transition diagrams.
• Data Definitions.
• IDL Description of the interfaces.
• WSDL Description of the interfaces.
• Reference to the Java™ API description of the interfaces.
The process by which this task is accomplished is through the use of object modelling techniques described by the
Unified Modelling Language (UML).
2 References
The references listed in clause 2 of ES 204 915-1 contain provisions which, through reference in this text, constitute
provisions of the present document.
ETSI ES 204 915-1: "Open Service Access (OSA); Application Programming Interface (API); Part 1: Overview
(Parlay 6)".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in ES 204 915-1 apply.
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in ES 204 915-1 apply.
ETSI
9 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
4 Charging SCF
The following clauses describe each aspect of the Charging Service Capability Feature (SCF).
The order is as follows:
• The Sequence diagrams give the reader a practical idea of how each of the SCF is implemented.
• The Class relationships clause shows how each of the interfaces applicable to the SCF, relate to one another.
• The Interface specification clause describes in detail each of the interfaces shown within the Class diagram
part.
• The State Transition Diagrams (STD) show the transition between states in the SCF. The states and transitions
are well-defined; either methods specified in the Interface specification or events occurring in the underlying
networks cause state transitions.
• The Data Definitions clause shows a detailed expansion of each of the data types associated with the methods
within the classes. Note that some data types are used in other methods and classes and are therefore defined
within the Common Data types part ES 204 915-2.
4.1 General requirements on support of methods
An implementation of this API which supports or implements a method described in the present document, shall
support or implement the functionality described for that method, for at least one valid set of values for the parameters
of that method.
Where a method is not supported by an implementation of a Service interface, the exception
P_METHOD_NOT_SUPPORTED shall be returned to any call of that method.
Where a method is not supported by an implementation of an Application interface, a call to that method shall be
possible, and no exception shall be returned.
5 Sequence Diagrams
5.1 Reservation / payment in parts
The sequence diagram illustrates how to request a reservation and how to charge a user from the reserved amount, for
instance to charge a user for a streamed video which lasts 10 minutes and costs a total of $2.00. The operations and
interfaces that do not provide rating are employed throughout this sequence diagram.
We assume the application has already discovered the Charging SCF. As a result, the application received an object
reference pointing to an object that implements the IpChargingManager interface.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
10 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: new()
4: reserveAmountReq( )
5: reserveAmountRes( )
6: forward event()
7: debitAmountReq( )
8: debitAmountRes( )
9: forward event()
10: getLifeTimeLeft( )
11: extendLifeTimeReq( )
12: extendLifeTimeRes( )
13: forward event()
14: debitAmountReq( )
15: debitAmountRes( )
16: forward event()
17: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application opens a charging session, a reference to a new or existing object implementing
IpChargingSession is returned together with a unique session ID.
ETSI
11 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
3: In this case a new object is used.
4: The application requests the reservation of $2.00.
5: Assuming the criteria for requesting a reservation are met (the application provider has permission to charge
the requested amount, the charged user has agreed to pay the requested amount), the amount is reserved in the
session. At this point, the application provider knows that the network operator will accept later debit requests
up to the reserved amount. So, the application may start serving the user, for instance by sending the video
stream.
6: The successful reservation is reported back to the application.
After half of the video has been sent to the user, the application may choose to capture half of the price already:
7: The application requests to debit $1.00 from the reservation.
8: The successful debit is reported back to the application.
9: The acknowledge is forwarded to the application.
10: The application checks if the remaining lifetime of the reservation will cover the remaining 5 minutes of video.
Let us assume, it does not.
11: The application asks the IpChargingSession object to extend the lifetime of the reservation.
12: Assuming that the application provider is allowed to keep reservations open for longer than 10 minutes, the
extendLifeTimeReq() will be honoured and confirmed properly.
13: The confirmation is forwarded to the application.
14: When the complete video has been transmitted to the user without errors, the application charges another
$1.00.
15: The IpChargingSession object acknowledges the successful debit at the IpAppChargingSession callback
object.
16: The IpAppChargingSession object forwards the acknowledge to the application.
17: Since the service is complete, the application frees all resources associated with the reservation and session.
5.2 Immediate Charge
This sequence diagram illustrates how immediate charging is used. Assume a WAP gateway that charges the user $0.01
per requested URL. Since it is acceptable to loose one tick worth $0.01, no prior reservations are made. The WAP
gateway sends an immediate debit for each requested URL, and should a payment have as result failure, the user is
disconnected.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
12 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: directDebitAmountReq( )
4: directDebitAmountRes( )
5: forward notification
6: directDebitAmountReq( )
7: directDebitAmountErr( )
8: forward notification
9: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application orders the creation of a session. No new object is created for the charging session handling in
this example implementation.
3: The application requests to charge the user $0.01.
4: The payment is acknowledged.
5: The acknowledgement is forwarded in the application.
6: The application requests to charge the user $0.01.
7: The payment is reported to fail.
8: The failure report is forwarded in the application.
(repeat steps 3 to 5 and 6 to 8 as long as you want to in any order you want to).
9: The application releases the session.
ETSI
13 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
6 Class Diagrams
This class diagram shows the application interfaces for charging and their relations to the service interfaces.
IpInterface
(from csapi)
IpAppChargingSession
(from cs)
creditAmountErr()
creditAmountRes()
IpChargingSession
creditUnitErr()
(from cs)
creditUnitRes()
debitAmountErr()
creditAmountReq()
debitAmountRes()
creditUnitReq()
debitUnitErr()
debitAmountReq()
debitUnitRes()
debitUnitReq()
directCreditAmountErr()
directCreditAmountReq()
directCreditAmountRes()
directCreditUnitReq()
<>
directCreditUnitErr()
directDebitAmountReq()
directCreditUnitRes()
directDebitUnitReq()
directDebitAmountErr()
extendLifeTimeReq()
directDebitAmountRes()
getAmountLeft()
directDebitUnitErr()
getLifeTimeLeft()
directDebitUnitRes()
getUnitLeft()
extendLifeTimeErr()
rateReq()
extendLifeTimeRes()
release()
rateErr()
reserveAmountReq()
rateRes()
reserveUnitReq()
reserveAmountErr()
reserveAmountRes()
0.n
reserveUnitErr()
reserveUnitRes()
sessionEnded()
0.n
IpChargingManager IpAppChargingManager
(from cs) (from cs)
<>
createChargingSession() sessionAborted()
createSplitChargingSession() abortMultipleChargingSessions()
Figure 1: Application Interfaces
This class diagram shows the interfaces of the charging SCF.
ETSI
14 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
<>
IpService
(f rom c sap i)
setCallback()
setCallbackWithSessionID()
<>
<>
IpChargingManager
IpChargingSession
(from cs)
(from cs)
createChargingSession()
creditAmountReq()
createSplitChargingSession()
creditUnitReq()
debitAmountReq()
debitUnitReq()
directCreditAmountReq()
directCreditUnitReq()
directDebitAmountReq()
directDebitUnitReq()
extendLifeTimeReq()
getAmountLeft()
getLifeTimeLeft()
getUnitLeft()
rateReq()
release()
reserveAmountReq()
reserveUnitReq()
Figure 2: Service Interfaces
7 The Service Interface Specifications
7.1 Interface Specification Format
This clause defines the interfaces, methods and parameters that form a part of the API specification. The Unified
Modelling Language (UML) is used to specify the interface classes. The general format of an interface specification is
described below.
ETSI
15 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
7.1.1 Interface Class
This shows a UML interface class description of the methods supported by that interface, and the relevant parameters
and types. The Service and Framework interfaces for enterprise-based client applications are denoted by classes with
name Ip. The callback interfaces to the applications are denoted by classes with name IpApp. For
the interfaces between a Service and the Framework, the Service interfaces are typically denoted by classes with name
IpSvc, while the Framework interfaces are denoted by classes with name IpFw.
7.1.2 Method descriptions
Each method (API method “call”) is described. Both synchronous and asynchronous methods are used in the API.
Asynchronous methods are identified by a 'Req' suffix for a method request, and, if applicable, are served by
asynchronous methods identified by either a 'Res' or 'Err' suffix for method results and errors, respectively. To handle
responses and reports, the application or service developer must implement the relevant IpApp or
IpSvc interfaces to provide the callback mechanism.
7.1.3 Parameter descriptions
Each method parameter and its possible values are described. Parameters described as 'in' represent those that must have
a value when the method is called. Those described as 'out' are those that contain the return result of the method when
the method returns.
7.1.4 State Model
If relevant, a state model is shown to illustrate the states of the objects that implement the described interface.
7.2 Base Interface
7.2.1 Interface Class IpInterface
All application, framework and service interfaces inherit from the following interface. This API Base Interface does not
provide any additional methods.
<>
IpInterface
7.3 Service Interfaces
7.3.1 Overview
The Service Interfaces provide the interfaces into the capabilities of the underlying network - such as call control, user
interaction, messaging, mobility and connectivity management.
The interfaces that are implemented by the services are denoted as 'Service Interface'. The corresponding interfaces that
must be implemented by the application (e.g. for API callbacks) are denoted as 'Application Interface'.
ETSI
16 Final draft ETSI ES 204 915-12 V1.1.1 (2008-02)
7.4 Generic Service Interface
7.4.1 Interface Class IpService
Inherits from: IpInterface;
All service interfaces inherit from the following interface.
<>
IpService
setCallback (appInterface : in IpInterfaceRef) : void
setCallbackWithSessionID (appInterface : in IpInterfaceRef, sessionID : in TpSessionID) : void
7.4.1.1 Method setCallback()
This method specifies the reference address of the callback interface that a service uses to invoke methods on the
application. It is not allowed to invoke this method on an interface that uses SessionIDs. Multiple invocations of this
method on an interface shall result in multiple callback references being specified. The SCS shall use the most recent
callback interface provided by the application using this method. In the event that a callback reference fails or is
...
ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 12: Charging SCF
(Parlay 6)
�
2 ETSI ES 204 915-12 V1.1.1 (2008-05)
Reference
DES/TISPAN-01032-12-OSA
Keywords
API, IDL, OSA, UML
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
Individual copies of the present document can be downloaded from:
http://www.etsi.org
The present document may be made available in more than one electronic version or in print. In any case of existing or
perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).
In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive
within ETSI Secretariat.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
http://portal.etsi.org/tb/status/status.asp
If you find errors in the present document, please send your comment to one of the following services:
http://portal.etsi.org/chaircor/ETSI_support.asp
Copyright Notification
No part may be reproduced except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 2008.
© The Parlay Group 2008.
All rights reserved.
TM TM TM TM
DECT , PLUGTESTS , UMTS , TIPHON , the TIPHON logo and the ETSI logo are Trade Marks of ETSI registered
for the benefit of its Members.
TM
3GPP is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.
ETSI
3 ETSI ES 204 915-12 V1.1.1 (2008-05)
Contents
Intellectual Property Rights.7
Foreword.7
1 Scope.8
2 References.8
3 Definitions and abbreviations.8
3.1 Definitions.8
3.2 Abbreviations.8
4 Charging SCF.9
4.1 General requirements on support of methods.9
5 Sequence Diagrams.9
5.1 Reservation / payment in parts .9
5.2 Immediate Charge.11
6 Class Diagrams.13
7 The Service Interface Specifications.14
7.1 Interface Specification Format .14
7.1.1 Interface Class.15
7.1.2 Method descriptions.15
7.1.3 Parameter descriptions.15
7.1.4 State Model.15
7.2 Base Interface.15
7.2.1 Interface Class IpInterface .15
7.3 Service Interfaces.15
7.3.1 Overview.15
7.4 Generic Service Interface .16
7.4.1 Interface Class IpService .16
7.4.1.1 Method setCallback().16
7.4.1.2 Method setCallbackWithSessionID().16
8 Charging Interface Classes.17
8.1 Interface Class IpChargingManager.17
8.1.1 Method createChargingSession().18
8.1.2 Method createSplitChargingSession().19
8.2 Interface Class IpAppChargingManager .19
8.2.1 Method sessionAborted().20
8.2.2 Method abortMultipleChargingSessions().20
8.3 Interface Class IpChargingSession.20
8.3.1 Method creditAmountReq().21
8.3.2 Method creditUnitReq().22
8.3.3 Method debitAmountReq().23
8.3.4 Method debitUnitReq().23
8.3.5 Method directCreditAmountReq().24
8.3.6 Method directCreditUnitReq().24
8.3.7 Method directDebitAmountReq().25
8.3.8 Method directDebitUnitReq().26
8.3.9 Method extendLifeTimeReq().26
8.3.10 Method getAmountLeft().26
8.3.11 Method getLifeTimeLeft().27
8.3.12 Method getUnitLeft().27
8.3.13 Method rateReq().27
8.3.14 Method release().28
8.3.15 Method reserveAmountReq().28
8.3.16 Method reserveUnitReq().29
ETSI
4 ETSI ES 204 915-12 V1.1.1 (2008-05)
8.4 Interface Class IpAppChargingSession .29
8.4.1 Method creditAmountErr().30
8.4.2 Method creditAmountRes().31
8.4.3 Method creditUnitErr().31
8.4.4 Method creditUnitRes().32
8.4.5 Method debitAmountErr().32
8.4.6 Method debitAmountRes().32
8.4.7 Method debitUnitErr().33
8.4.8 Method debitUnitRes().33
8.4.9 Method directCreditAmountErr().33
8.4.10 Method directCreditAmountRes().34
8.4.11 Method directCreditUnitErr().34
8.4.12 Method directCreditUnitRes().34
8.4.13 Method directDebitAmountErr().35
8.4.14 Method directDebitAmountRes().35
8.4.15 Method directDebitUnitErr().36
8.4.16 Method directDebitUnitRes().36
8.4.17 Method extendLifeTimeErr().36
8.4.18 Method extendLifeTimeRes().37
8.4.19 Method rateErr().37
8.4.20 Method rateRes().37
8.4.21 Method reserveAmountErr().37
8.4.22 Method reserveAmountRes().38
8.4.23 Method reserveUnitErr().38
8.4.24 Method reserveUnitRes().38
8.4.25 Method sessionEnded().39
9 State Transition Diagrams.40
9.1 State Transition Diagrams for IpChargingSession .40
9.1.1 Session Created State.41
9.1.2 Amount Reserved State.41
9.1.3 Volume Reserved State.41
9.1.4 Reservation Ended State .41
10 Content Based Charging Service Properties.41
11 Data Definitions.42
11.1 Charging Data Definitions.42
11.1.1 IpChargingManager.43
11.1.2 IpChargingManagerRef.43
11.1.3 IpAppChargingManager.43
11.1.4 IpAppChargingManagerRef.43
11.1.5 IpChargingSession.43
11.1.6 IpChargingSessionRef.43
11.1.7 IpAppChargingSession.43
11.1.8 IpAppChargingSessionRef.43
11.1.9 TpApplicationDescription.43
11.1.10 TpAppInformationSet.43
11.1.11 TpAppInformation.44
11.1.12 TpAppInformationType.44
11.1.13 TpSessionEndedCause.44
11.1.14 TpMerchantAccountID.44
11.1.15 TpCorrelationID.44
11.1.16 TpCorrelationType.44
11.1.17 TpChargingPrice.45
11.1.18 TpAmount.45
11.1.19 TpChargingParameterSet.45
11.1.20 TpChargingParameter.45
11.1.21 TpChargingParameterID.45
11.1.22 TpChargingParameterValue.45
11.1.23 TpChargingParameterValueType.46
11.1.24 TpVolumeSet.46
11.1.25 TpVolume.46
ETSI
5 ETSI ES 204 915-12 V1.1.1 (2008-05)
11.1.26 TpUnitID.46
11.1.27 TpChargingSessionID.46
11.1.28 TpPriceVolumeSet.47
11.1.29 TpPriceVolume.47
11.1.30 TpChargingError.47
12 Exception Classes.47
Annex A (normative): OMG IDL Description of Charging SCF.48
Annex B (informative): W3C WSDL Description of Charging SCF.49
Annex C (informative): Java™ API Description of the Charging SCF .50
Annex D (informative): Contents of 3GPP OSA R7 Charging.51
Annex E (informative): Description of Charging for 3GPP2 cdma2000 networks .52
E.1 General Exceptions.52
E.2 Specific Exceptions.52
E.2.1 Clause 1: Scope .52
E.2.2 Clause 2: References .52
E.2.3 Clause 3: Definitions and abbreviations.52
E.2.4 Clause 4: Charging SCF .52
E.2.5 Clause 5: Sequence Diagrams .52
E.2.6 Clause 6: Class Diagrams.52
E.2.7 Clause 7: The Service Interface Specifications .52
E.2.8 Clause 8: Charging Interface Classes .53
E.2.9 Clause 9: State Transition Diagrams .53
E.2.10 Clause 10: Content Based Charging Service Properties.53
E.2.11 Clause 11: Data Definitions.53
E.2.12 Clause 12: Exception Classes.53
E.2.13 Annex A (normative): OMG IDL Description of Charging SCF .53
E.2.14 Annex B (informative): W3C WSDL Description of Charging SCF .53
E.2.15 Annex C (informative): Java™ API Description of the Charging SCF .53
Annex F (informative): Record of changes .54
F.1 Interfaces.54
F.1.1 New.54
F.1.2 Deprecated.54
F.1.3 Removed.54
F.2 Methods.54
F.2.1 New.54
F.2.2 Deprecated.54
F.2.3 Modified.55
F.2.4 Removed.55
F.3 Data Definitions.55
F.3.1 New.55
F.3.2 Modified.55
F.3.3 Removed.55
F.4 Service Properties.55
F.4.1 New.55
F.4.2 Deprecated.56
F.4.3 Modified.56
F.4.4 Removed.56
F.5 Exceptions.56
F.5.1 New.56
F.5.2 Modified.56
F.5.3 Removed.56
ETSI
6 ETSI ES 204 915-12 V1.1.1 (2008-05)
F.6 Others.56
History .57
ETSI
7 ETSI ES 204 915-12 V1.1.1 (2008-05)
Intellectual Property Rights
IPRs essential or potentially essential to the present document may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (http://webapp.etsi.org/IPR/home.asp).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Foreword
This ETSI Standard (ES) has been produced by ETSI Technical Committee Telecommunications and Internet
converged Services and Protocols for Advanced Networking (TISPAN).
The present document is part 12 of a multi-part deliverable covering Open Service Access (OSA); Application
Programming Interface (API), as identified below. The API specification (ES 204 915) is structured in the following
parts:
Part 1: "Overview";
Part 2: "Common Data Definitions";
Part 3: "Framework";
Part 4: "Call Control";
Part 5: "User Interaction SCF";
Part 6: "Mobility SCF";
Part 7: "Terminal Capabilities SCF";
Part 8: "Data Session Control SCF";
Part 9: "Generic Messaging SCF";
Part 10: "Connectivity Manager SCF";
Part 11: "Account Management SCF";
Part 12: "Charging SCF";
Part 13: "Policy Management SCF";
Part 14: "Presence and Availability Management SCF";
Part 15: "Multi-Media Messaging SCF";
Part 16: "Service Broker SCF".
The present document has been defined jointly between ETSI, The Parlay Group (http://www.parlay.org) and the 3GPP,
in co-operation with a number of JAIN™ Community (http://www.java.sun.com/products/jain) member companies.
The present document forms part of the Parlay 6.0 set of specifications.
The present document is equivalent to 3GPP TS 29.198-12 V7.0.0 (Release 7).
ETSI
8 ETSI ES 204 915-12 V1.1.1 (2008-05)
1 Scope
The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open
Service Access (OSA).
The OSA specifications define an architecture that enables application developers to make use of network functionality
through an open standardised interface, i.e. the OSA APIs.
The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of
the Charging SCF are defined here, these being:
• Sequence Diagrams.
• Class Diagrams.
• Interface specification plus detailed method descriptions.
• State Transition diagrams.
• Data Definitions.
• IDL Description of the interfaces.
• WSDL Description of the interfaces.
• Reference to the Java™ API description of the interfaces.
The process by which this task is accomplished is through the use of object modelling techniques described by the
Unified Modelling Language (UML).
2 References
The references listed in clause 2 of ES 204 915-1 contain provisions which, through reference in this text, constitute
provisions of the present document.
ETSI ES 204 915-1: "Open Service Access (OSA); Application Programming Interface (API); Part 1: Overview
(Parlay 6)".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in ES 204 915-1 apply.
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in ES 204 915-1 apply.
ETSI
9 ETSI ES 204 915-12 V1.1.1 (2008-05)
4 Charging SCF
The following clauses describe each aspect of the Charging Service Capability Feature (SCF).
The order is as follows:
• The Sequence diagrams give the reader a practical idea of how each of the SCF is implemented.
• The Class relationships clause shows how each of the interfaces applicable to the SCF, relate to one another.
• The Interface specification clause describes in detail each of the interfaces shown within the Class diagram
part.
• The State Transition Diagrams (STD) show the transition between states in the SCF. The states and transitions
are well-defined; either methods specified in the Interface specification or events occurring in the underlying
networks cause state transitions.
• The Data Definitions clause shows a detailed expansion of each of the data types associated with the methods
within the classes. Note that some data types are used in other methods and classes and are therefore defined
within the Common Data types part ES 204 915-2.
4.1 General requirements on support of methods
An implementation of this API which supports or implements a method described in the present document, shall
support or implement the functionality described for that method, for at least one valid set of values for the parameters
of that method.
Where a method is not supported by an implementation of a Service interface, the exception
P_METHOD_NOT_SUPPORTED shall be returned to any call of that method.
Where a method is not supported by an implementation of an Application interface, a call to that method shall be
possible, and no exception shall be returned.
5 Sequence Diagrams
5.1 Reservation / payment in parts
The sequence diagram illustrates how to request a reservation and how to charge a user from the reserved amount, for
instance to charge a user for a streamed video which lasts 10 minutes and costs a total of $2.00. The operations and
interfaces that do not provide rating are employed throughout this sequence diagram.
We assume the application has already discovered the Charging SCF. As a result, the application received an object
reference pointing to an object that implements the IpChargingManager interface.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
10 ETSI ES 204 915-12 V1.1.1 (2008-05)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: new()
4: reserveAmountReq( )
5: reserveAmountRes( )
6: forward event()
7: debitAmountReq( )
8: debitAmountRes( )
9: forward event()
10: getLifeTimeLeft( )
11: extendLifeTimeReq( )
12: extendLifeTimeRes( )
13: forward event()
14: debitAmountReq( )
15: debitAmountRes( )
16: forward event()
17: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application opens a charging session, a reference to a new or existing object implementing
IpChargingSession is returned together with a unique session ID.
ETSI
11 ETSI ES 204 915-12 V1.1.1 (2008-05)
3: In this case a new object is used.
4: The application requests the reservation of $2.00.
5: Assuming the criteria for requesting a reservation are met (the application provider has permission to charge
the requested amount, the charged user has agreed to pay the requested amount), the amount is reserved in the
session. At this point, the application provider knows that the network operator will accept later debit requests
up to the reserved amount. So, the application may start serving the user, for instance by sending the video
stream.
6: The successful reservation is reported back to the application.
After half of the video has been sent to the user, the application may choose to capture half of the price already:
7: The application requests to debit $1.00 from the reservation.
8: The successful debit is reported back to the application.
9: The acknowledge is forwarded to the application.
10: The application checks if the remaining lifetime of the reservation will cover the remaining 5 minutes of video.
Let us assume, it does not.
11: The application asks the IpChargingSession object to extend the lifetime of the reservation.
12: Assuming that the application provider is allowed to keep reservations open for longer than 10 minutes, the
extendLifeTimeReq() will be honoured and confirmed properly.
13: The confirmation is forwarded to the application.
14: When the complete video has been transmitted to the user without errors, the application charges another
$1.00.
15: The IpChargingSession object acknowledges the successful debit at the IpAppChargingSession callback
object.
16: The IpAppChargingSession object forwards the acknowledge to the application.
17: Since the service is complete, the application frees all resources associated with the reservation and session.
5.2 Immediate Charge
This sequence diagram illustrates how immediate charging is used. Assume a WAP gateway that charges the user $0.01
per requested URL. Since it is acceptable to loose one tick worth $0.01, no prior reservations are made. The WAP
gateway sends an immediate debit for each requested URL, and should a payment have as result failure, the user is
disconnected.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
12 ETSI ES 204 915-12 V1.1.1 (2008-05)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: directDebitAmountReq( )
4: directDebitAmountRes( )
5: forward notification
6: directDebitAmountReq( )
7: directDebitAmountErr( )
8: forward notification
9: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application orders the creation of a session. No new object is created for the charging session handling in
this example implementation.
3: The application requests to charge the user $0.01.
4: The payment is acknowledged.
5: The acknowledgement is forwarded in the application.
6: The application requests to charge the user $0.01.
7: The payment is reported to fail.
8: The failure report is forwarded in the application.
(repeat steps 3 to 5 and 6 to 8 as long as you want to in any order you want to).
9: The application releases the session.
ETSI
13 ETSI ES 204 915-12 V1.1.1 (2008-05)
6 Class Diagrams
This class diagram shows the application interfaces for charging and their relations to the service interfaces.
IpInterface
(from csapi)
IpAppChargingSession
(from cs)
creditAmountErr()
creditAmountRes()
IpChargingSession
creditUnitErr()
(from cs)
creditUnitRes()
debitAmountErr()
creditAmountReq()
debitAmountRes()
creditUnitReq()
debitUnitErr()
debitAmountReq()
debitUnitRes()
debitUnitReq()
directCreditAmountErr()
directCreditAmountReq()
directCreditAmountRes()
directCreditUnitReq()
<>
directCreditUnitErr()
directDebitAmountReq()
directCreditUnitRes()
directDebitUnitReq()
directDebitAmountErr()
extendLifeTimeReq()
directDebitAmountRes()
getAmountLeft()
directDebitUnitErr()
getLifeTimeLeft()
directDebitUnitRes()
getUnitLeft()
extendLifeTimeErr()
rateReq()
extendLifeTimeRes()
release()
rateErr()
reserveAmountReq()
rateRes()
reserveUnitReq()
reserveAmountErr()
reserveAmountRes()
0.n
reserveUnitErr()
reserveUnitRes()
sessionEnded()
0.n
IpChargingManager IpAppChargingManager
(from cs) (from cs)
<>
createChargingSession() sessionAborted()
createSplitChargingSession() abortMultipleChargingSessions()
Figure 1: Application Interfaces
This class diagram shows the interfaces of the charging SCF.
ETSI
14 ETSI ES 204 915-12 V1.1.1 (2008-05)
<>
IpService
(f rom c sap i)
setCallback()
setCallbackWithSessionID()
<>
<>
IpChargingManager
IpChargingSession
(from cs)
(from cs)
createChargingSession()
creditAmountReq()
createSplitChargingSession()
creditUnitReq()
debitAmountReq()
debitUnitReq()
directCreditAmountReq()
directCreditUnitReq()
directDebitAmountReq()
directDebitUnitReq()
extendLifeTimeReq()
getAmountLeft()
getLifeTimeLeft()
getUnitLeft()
rateReq()
release()
reserveAmountReq()
reserveUnitReq()
Figure 2: Service Interfaces
7 The Service Interface Specifications
7.1 Interface Specification Format
This clause defines the interfaces, methods and parameters that form a part of the API specification. The Unified
Modelling Language (UML) is used to specify the interface classes. The general format of an interface specification is
described below.
ETSI
15 ETSI ES 204 915-12 V1.1.1 (2008-05)
7.1.1 Interface Class
This shows a UML interface class description of the methods supported by that interface, and the relevant parameters
and types. The Service and Framework interfaces for enterprise-based client applications are denoted by classes with
name Ip. The callback interfaces to the applications are denoted by classes with name IpApp. For
the interfaces between a Service and the Framework, the Service interfaces are typically denoted by classes with name
IpSvc, while the Framework interfaces are denoted by classes with name IpFw.
7.1.2 Method descriptions
Each method (API method “call”) is described. Both synchronous and asynchronous methods are used in the API.
Asynchronous methods are identified by a 'Req' suffix for a method request, and, if applicable, are served by
asynchronous methods identified by either a 'Res' or 'Err' suffix for method results and errors, respectively. To handle
responses and reports, the application or service developer must implement the relevant IpApp or
IpSvc interfaces to provide the callback mechanism.
7.1.3 Parameter descriptions
Each method parameter and its possible values are described. Parameters described as 'in' represent those that must have
a value when the method is called. Those described as 'out' are those that contain the return result of the method when
the method returns.
7.1.4 State Model
If relevant, a state model is shown to illustrate the states of the objects that implement the described interface.
7.2 Base Interface
7.2.1 Interface Class IpInterface
All application, framework and service interfaces inherit from the following interface. This API Base Interface does not
provide any additional methods.
<>
IpInterface
7.3 Service Interfaces
7.3.1 Overview
The Service Interfaces provide the interfaces into the capabilities of the underlying network - such as call control, user
interaction, messaging, mobility and connectivity management.
The interfaces that are implemented by the services are denoted as 'Service Interface'. The corresponding interfaces that
must be implemented by the application (e.g. for API callbacks) are denoted as 'Application Interface'.
ETSI
16 ETSI ES 204 915-12 V1.1.1 (2008-05)
7.4 Generic Service Interface
7.4.1 Interface Class IpService
Inherits from: IpInterface;
All service interfaces inherit from the following interface.
<>
IpService
setCallback (appInterface : in IpInterfaceRef) : void
setCallbackWithSessionID (appInterface : in IpInterfaceRef, sessionID : in TpSessionID) : void
7.4.1.1 Method setCallback()
This method specifies the reference address of the callback interface that a service uses to invoke methods on the
application. It is not allowed to invoke this method on an interface that uses SessionIDs. Multiple invocations of this
method on an interface shall result in multiple callback references being specified. The SCS shall use the most recent
callback interface provided by the application using this method. In the event that a callback reference fails or is no
longer available, the next most recent callback reference available shall be used.
Parameters
appInterface : in IpInterfaceRef
Specifies a reference to the application interface, which is used for callbacks.
Raises
TpCommonExceptions, P_INVALID_INTERFACE_TY
...
SLOVENSKI STANDARD
01-september-2008
2GSUWLGRVWRSGRVWRULWYH26$$SOLNDFLMVNLSURJUDPVNLYPHVQLN$3,GHO
/DVWQRVWVWRULWYHQH]PRåQRVWL6&)]DREUDþXQDYDQMH3DUOD\
Open Service Access (OSA) - Application Programming Interface (API) - Part 12:
Charging SCF (Parlay 6)
Ta slovenski standard je istoveten z: ES 204 915-12 Version 1.1.1
ICS:
35.100.01 Medsebojno povezovanje Open systems
odprtih sistemov na splošno interconnection in general
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 12: Charging SCF
(Parlay 6)
�
2 ETSI ES 204 915-12 V1.1.1 (2008-05)
Reference
DES/TISPAN-01032-12-OSA
Keywords
API, IDL, OSA, UML
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
Individual copies of the present document can be downloaded from:
http://www.etsi.org
The present document may be made available in more than one electronic version or in print. In any case of existing or
perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).
In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive
within ETSI Secretariat.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
http://portal.etsi.org/tb/status/status.asp
If you find errors in the present document, please send your comment to one of the following services:
http://portal.etsi.org/chaircor/ETSI_support.asp
Copyright Notification
No part may be reproduced except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 2008.
© The Parlay Group 2008.
All rights reserved.
TM TM TM TM
DECT , PLUGTESTS , UMTS , TIPHON , the TIPHON logo and the ETSI logo are Trade Marks of ETSI registered
for the benefit of its Members.
TM
3GPP is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.
ETSI
3 ETSI ES 204 915-12 V1.1.1 (2008-05)
Contents
Intellectual Property Rights.7
Foreword.7
1 Scope.8
2 References.8
3 Definitions and abbreviations.8
3.1 Definitions.8
3.2 Abbreviations.8
4 Charging SCF.9
4.1 General requirements on support of methods.9
5 Sequence Diagrams.9
5.1 Reservation / payment in parts .9
5.2 Immediate Charge.11
6 Class Diagrams.13
7 The Service Interface Specifications.14
7.1 Interface Specification Format .14
7.1.1 Interface Class.15
7.1.2 Method descriptions.15
7.1.3 Parameter descriptions.15
7.1.4 State Model.15
7.2 Base Interface.15
7.2.1 Interface Class IpInterface .15
7.3 Service Interfaces.15
7.3.1 Overview.15
7.4 Generic Service Interface .16
7.4.1 Interface Class IpService .16
7.4.1.1 Method setCallback().16
7.4.1.2 Method setCallbackWithSessionID().16
8 Charging Interface Classes.17
8.1 Interface Class IpChargingManager.17
8.1.1 Method createChargingSession().18
8.1.2 Method createSplitChargingSession().19
8.2 Interface Class IpAppChargingManager .19
8.2.1 Method sessionAborted().20
8.2.2 Method abortMultipleChargingSessions().20
8.3 Interface Class IpChargingSession.20
8.3.1 Method creditAmountReq().21
8.3.2 Method creditUnitReq().22
8.3.3 Method debitAmountReq().23
8.3.4 Method debitUnitReq().23
8.3.5 Method directCreditAmountReq().24
8.3.6 Method directCreditUnitReq().24
8.3.7 Method directDebitAmountReq().25
8.3.8 Method directDebitUnitReq().26
8.3.9 Method extendLifeTimeReq().26
8.3.10 Method getAmountLeft().26
8.3.11 Method getLifeTimeLeft().27
8.3.12 Method getUnitLeft().27
8.3.13 Method rateReq().27
8.3.14 Method release().28
8.3.15 Method reserveAmountReq().28
8.3.16 Method reserveUnitReq().29
ETSI
4 ETSI ES 204 915-12 V1.1.1 (2008-05)
8.4 Interface Class IpAppChargingSession .29
8.4.1 Method creditAmountErr().30
8.4.2 Method creditAmountRes().31
8.4.3 Method creditUnitErr().31
8.4.4 Method creditUnitRes().32
8.4.5 Method debitAmountErr().32
8.4.6 Method debitAmountRes().32
8.4.7 Method debitUnitErr().33
8.4.8 Method debitUnitRes().33
8.4.9 Method directCreditAmountErr().33
8.4.10 Method directCreditAmountRes().34
8.4.11 Method directCreditUnitErr().34
8.4.12 Method directCreditUnitRes().34
8.4.13 Method directDebitAmountErr().35
8.4.14 Method directDebitAmountRes().35
8.4.15 Method directDebitUnitErr().36
8.4.16 Method directDebitUnitRes().36
8.4.17 Method extendLifeTimeErr().36
8.4.18 Method extendLifeTimeRes().37
8.4.19 Method rateErr().37
8.4.20 Method rateRes().37
8.4.21 Method reserveAmountErr().37
8.4.22 Method reserveAmountRes().38
8.4.23 Method reserveUnitErr().38
8.4.24 Method reserveUnitRes().38
8.4.25 Method sessionEnded().39
9 State Transition Diagrams.40
9.1 State Transition Diagrams for IpChargingSession .40
9.1.1 Session Created State.41
9.1.2 Amount Reserved State.41
9.1.3 Volume Reserved State.41
9.1.4 Reservation Ended State .41
10 Content Based Charging Service Properties.41
11 Data Definitions.42
11.1 Charging Data Definitions.42
11.1.1 IpChargingManager.43
11.1.2 IpChargingManagerRef.43
11.1.3 IpAppChargingManager.43
11.1.4 IpAppChargingManagerRef.43
11.1.5 IpChargingSession.43
11.1.6 IpChargingSessionRef.43
11.1.7 IpAppChargingSession.43
11.1.8 IpAppChargingSessionRef.43
11.1.9 TpApplicationDescription.43
11.1.10 TpAppInformationSet.43
11.1.11 TpAppInformation.44
11.1.12 TpAppInformationType.44
11.1.13 TpSessionEndedCause.44
11.1.14 TpMerchantAccountID.44
11.1.15 TpCorrelationID.44
11.1.16 TpCorrelationType.44
11.1.17 TpChargingPrice.45
11.1.18 TpAmount.45
11.1.19 TpChargingParameterSet.45
11.1.20 TpChargingParameter.45
11.1.21 TpChargingParameterID.45
11.1.22 TpChargingParameterValue.45
11.1.23 TpChargingParameterValueType.46
11.1.24 TpVolumeSet.46
11.1.25 TpVolume.46
ETSI
5 ETSI ES 204 915-12 V1.1.1 (2008-05)
11.1.26 TpUnitID.46
11.1.27 TpChargingSessionID.46
11.1.28 TpPriceVolumeSet.47
11.1.29 TpPriceVolume.47
11.1.30 TpChargingError.47
12 Exception Classes.47
Annex A (normative): OMG IDL Description of Charging SCF.48
Annex B (informative): W3C WSDL Description of Charging SCF.49
Annex C (informative): Java™ API Description of the Charging SCF .50
Annex D (informative): Contents of 3GPP OSA R7 Charging.51
Annex E (informative): Description of Charging for 3GPP2 cdma2000 networks .52
E.1 General Exceptions.52
E.2 Specific Exceptions.52
E.2.1 Clause 1: Scope .52
E.2.2 Clause 2: References .52
E.2.3 Clause 3: Definitions and abbreviations.52
E.2.4 Clause 4: Charging SCF .52
E.2.5 Clause 5: Sequence Diagrams .52
E.2.6 Clause 6: Class Diagrams.52
E.2.7 Clause 7: The Service Interface Specifications .52
E.2.8 Clause 8: Charging Interface Classes .53
E.2.9 Clause 9: State Transition Diagrams .53
E.2.10 Clause 10: Content Based Charging Service Properties.53
E.2.11 Clause 11: Data Definitions.53
E.2.12 Clause 12: Exception Classes.53
E.2.13 Annex A (normative): OMG IDL Description of Charging SCF .53
E.2.14 Annex B (informative): W3C WSDL Description of Charging SCF .53
E.2.15 Annex C (informative): Java™ API Description of the Charging SCF .53
Annex F (informative): Record of changes .54
F.1 Interfaces.54
F.1.1 New.54
F.1.2 Deprecated.54
F.1.3 Removed.54
F.2 Methods.54
F.2.1 New.54
F.2.2 Deprecated.54
F.2.3 Modified.55
F.2.4 Removed.55
F.3 Data Definitions.55
F.3.1 New.55
F.3.2 Modified.55
F.3.3 Removed.55
F.4 Service Properties.55
F.4.1 New.55
F.4.2 Deprecated.56
F.4.3 Modified.56
F.4.4 Removed.56
F.5 Exceptions.56
F.5.1 New.56
F.5.2 Modified.56
F.5.3 Removed.56
ETSI
6 ETSI ES 204 915-12 V1.1.1 (2008-05)
F.6 Others.56
History .57
ETSI
7 ETSI ES 204 915-12 V1.1.1 (2008-05)
Intellectual Property Rights
IPRs essential or potentially essential to the present document may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (http://webapp.etsi.org/IPR/home.asp).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Foreword
This ETSI Standard (ES) has been produced by ETSI Technical Committee Telecommunications and Internet
converged Services and Protocols for Advanced Networking (TISPAN).
The present document is part 12 of a multi-part deliverable covering Open Service Access (OSA); Application
Programming Interface (API), as identified below. The API specification (ES 204 915) is structured in the following
parts:
Part 1: "Overview";
Part 2: "Common Data Definitions";
Part 3: "Framework";
Part 4: "Call Control";
Part 5: "User Interaction SCF";
Part 6: "Mobility SCF";
Part 7: "Terminal Capabilities SCF";
Part 8: "Data Session Control SCF";
Part 9: "Generic Messaging SCF";
Part 10: "Connectivity Manager SCF";
Part 11: "Account Management SCF";
Part 12: "Charging SCF";
Part 13: "Policy Management SCF";
Part 14: "Presence and Availability Management SCF";
Part 15: "Multi-Media Messaging SCF";
Part 16: "Service Broker SCF".
The present document has been defined jointly between ETSI, The Parlay Group (http://www.parlay.org) and the 3GPP,
in co-operation with a number of JAIN™ Community (http://www.java.sun.com/products/jain) member companies.
The present document forms part of the Parlay 6.0 set of specifications.
The present document is equivalent to 3GPP TS 29.198-12 V7.0.0 (Release 7).
ETSI
8 ETSI ES 204 915-12 V1.1.1 (2008-05)
1 Scope
The present document is part 12 of the Stage 3 specification for an Application Programming Interface (API) for Open
Service Access (OSA).
The OSA specifications define an architecture that enables application developers to make use of network functionality
through an open standardised interface, i.e. the OSA APIs.
The present document specifies the Charging Service Capability Feature (SCF) aspects of the interface. All aspects of
the Charging SCF are defined here, these being:
• Sequence Diagrams.
• Class Diagrams.
• Interface specification plus detailed method descriptions.
• State Transition diagrams.
• Data Definitions.
• IDL Description of the interfaces.
• WSDL Description of the interfaces.
• Reference to the Java™ API description of the interfaces.
The process by which this task is accomplished is through the use of object modelling techniques described by the
Unified Modelling Language (UML).
2 References
The references listed in clause 2 of ES 204 915-1 contain provisions which, through reference in this text, constitute
provisions of the present document.
ETSI ES 204 915-1: "Open Service Access (OSA); Application Programming Interface (API); Part 1: Overview
(Parlay 6)".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in ES 204 915-1 apply.
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in ES 204 915-1 apply.
ETSI
9 ETSI ES 204 915-12 V1.1.1 (2008-05)
4 Charging SCF
The following clauses describe each aspect of the Charging Service Capability Feature (SCF).
The order is as follows:
• The Sequence diagrams give the reader a practical idea of how each of the SCF is implemented.
• The Class relationships clause shows how each of the interfaces applicable to the SCF, relate to one another.
• The Interface specification clause describes in detail each of the interfaces shown within the Class diagram
part.
• The State Transition Diagrams (STD) show the transition between states in the SCF. The states and transitions
are well-defined; either methods specified in the Interface specification or events occurring in the underlying
networks cause state transitions.
• The Data Definitions clause shows a detailed expansion of each of the data types associated with the methods
within the classes. Note that some data types are used in other methods and classes and are therefore defined
within the Common Data types part ES 204 915-2.
4.1 General requirements on support of methods
An implementation of this API which supports or implements a method described in the present document, shall
support or implement the functionality described for that method, for at least one valid set of values for the parameters
of that method.
Where a method is not supported by an implementation of a Service interface, the exception
P_METHOD_NOT_SUPPORTED shall be returned to any call of that method.
Where a method is not supported by an implementation of an Application interface, a call to that method shall be
possible, and no exception shall be returned.
5 Sequence Diagrams
5.1 Reservation / payment in parts
The sequence diagram illustrates how to request a reservation and how to charge a user from the reserved amount, for
instance to charge a user for a streamed video which lasts 10 minutes and costs a total of $2.00. The operations and
interfaces that do not provide rating are employed throughout this sequence diagram.
We assume the application has already discovered the Charging SCF. As a result, the application received an object
reference pointing to an object that implements the IpChargingManager interface.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
10 ETSI ES 204 915-12 V1.1.1 (2008-05)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: new()
4: reserveAmountReq( )
5: reserveAmountRes( )
6: forward event()
7: debitAmountReq( )
8: debitAmountRes( )
9: forward event()
10: getLifeTimeLeft( )
11: extendLifeTimeReq( )
12: extendLifeTimeRes( )
13: forward event()
14: debitAmountReq( )
15: debitAmountRes( )
16: forward event()
17: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application opens a charging session, a reference to a new or existing object implementing
IpChargingSession is returned together with a unique session ID.
ETSI
11 ETSI ES 204 915-12 V1.1.1 (2008-05)
3: In this case a new object is used.
4: The application requests the reservation of $2.00.
5: Assuming the criteria for requesting a reservation are met (the application provider has permission to charge
the requested amount, the charged user has agreed to pay the requested amount), the amount is reserved in the
session. At this point, the application provider knows that the network operator will accept later debit requests
up to the reserved amount. So, the application may start serving the user, for instance by sending the video
stream.
6: The successful reservation is reported back to the application.
After half of the video has been sent to the user, the application may choose to capture half of the price already:
7: The application requests to debit $1.00 from the reservation.
8: The successful debit is reported back to the application.
9: The acknowledge is forwarded to the application.
10: The application checks if the remaining lifetime of the reservation will cover the remaining 5 minutes of video.
Let us assume, it does not.
11: The application asks the IpChargingSession object to extend the lifetime of the reservation.
12: Assuming that the application provider is allowed to keep reservations open for longer than 10 minutes, the
extendLifeTimeReq() will be honoured and confirmed properly.
13: The confirmation is forwarded to the application.
14: When the complete video has been transmitted to the user without errors, the application charges another
$1.00.
15: The IpChargingSession object acknowledges the successful debit at the IpAppChargingSession callback
object.
16: The IpAppChargingSession object forwards the acknowledge to the application.
17: Since the service is complete, the application frees all resources associated with the reservation and session.
5.2 Immediate Charge
This sequence diagram illustrates how immediate charging is used. Assume a WAP gateway that charges the user $0.01
per requested URL. Since it is acceptable to loose one tick worth $0.01, no prior reservations are made. The WAP
gateway sends an immediate debit for each requested URL, and should a payment have as result failure, the user is
disconnected.
The operations which handle units are used exactly the same, except that the amount of application usage is indicated
instead of a price.
ETSI
12 ETSI ES 204 915-12 V1.1.1 (2008-05)
Application : IpAppChargingSession : IpChargingManager : IpChargingSession
1: new()
2: createChargingSession( )
3: directDebitAmountReq( )
4: directDebitAmountRes( )
5: forward notification
6: directDebitAmountReq( )
7: directDebitAmountErr( )
8: forward notification
9: release( )
1: The application creates a local object implementing the IpAppChargingSession interface. This object will
receive response messages from the IpChargingSession object.
2: The application orders the creation of a session. No new object is created for the charging session handling in
this example implementation.
3: The application requests to charge the user $0.01.
4: The payment is acknowledged.
5: The acknowledgement is forwarded in the application.
6: The application requests to charge the user $0.01.
7: The payment is reported to fail.
8: The failure report is forwarded in the application.
(repeat steps 3 to 5 and 6 to 8 as long as you want to in any order you want to).
9: The application releases the session.
ETSI
13 ETSI ES 204 915-12 V1.1.1 (2008-05)
6 Class Diagrams
This class diagram shows the application interfaces for charging and their relations to the service interfaces.
IpInterface
(from csapi)
IpAppChargingSession
(from cs)
creditAmountErr()
creditAmountRes()
IpChargingSession
creditUnitErr()
(from cs)
creditUnitRes()
debitAmountErr()
creditAmountReq()
debitAmountRes()
creditUnitReq()
debitUnitErr()
debitAmountReq()
debitUnitRes()
debitUnitReq()
directCreditAmountErr()
directCreditAmountReq()
directCreditAmountRes()
directCreditUnitReq()
<>
directCreditUnitErr()
directDebitAmountReq()
directCreditUnitRes()
directDebitUnitReq()
directDebitAmountErr()
extendLifeTimeReq()
directDebitAmountRes()
getAmountLeft()
directDebitUnitErr()
getLifeTimeLeft()
directDebitUnitRes()
getUnitLeft()
extendLifeTimeErr()
rateReq()
extendLifeTimeRes()
release()
rateErr()
reserveAmountReq()
rateRes()
reserveUnitReq()
reserveAmountErr()
reserveAmountRes()
0.n
reserveUnitErr()
reserveUnitRes()
sessionEnded()
0.n
IpChargingManager IpAppChargingManager
(from cs) (from cs)
<>
createChargingSession() sessionAborted()
createSplitChargingSession() abortMultipleChargingSessions()
Figure 1: Application Interfaces
This class diagram shows the interfaces of the charging SCF.
ETSI
14 ETSI ES 204 915-12 V1.1.1 (2008-05)
<>
IpService
(f rom c sap i)
setCallback()
setCallbackWithSessionID()
<>
<>
IpChargingManager
IpChargingSession
(from cs)
(from cs)
createChargingSession()
creditAmountReq()
createSplitChargingSession()
creditUnitReq()
debitAmountReq()
debitUnitReq()
directCreditAmountReq()
directCreditUnitReq()
directDebitAmountReq()
directDebitUnitReq()
extendLifeTimeReq()
getAmountLeft()
getLifeTimeLeft()
getUnitLeft()
rateReq()
release()
reserveAmountReq()
reserveUnitReq()
Figure 2: Service Interfaces
7 The Service Interface Specifications
7.1 Interface Specification Format
This clause defines the interfaces, methods and parameters that form a part of the API specification. The Unified
Modelling Language (UML) is used to specify the interface classes. The general format of an interface specification is
described below.
ETSI
15 ETSI ES 204 915-12 V1.1.1 (2008-05)
7.1.1 Interface Class
This shows a UML interface class description of the methods supported by that interface, and the relevant parameters
and types. The Service and Framework interfaces for enterprise-based client applications are denoted by classes with
name Ip. The callback interfaces to the applications are denoted by classes with name IpApp. For
the interfaces between a Service and the Framework, the Service interfaces are typically denoted by classes with name
IpSvc, while the Framework interfaces are denoted by classes with name IpFw.
7.1.2 Method descriptions
Each method (API method “call”) is described. Both synchronous and asynchronous methods are used in the API.
Asynchronous methods are identified by a 'Req' suffix for a method request, and, if applicable, are served by
asynchronous methods identified by either a 'Res' or 'Err' suffix for method results and errors, respectively. To handle
responses and reports, the application or service developer must implement the relevant IpApp or
IpSvc interfaces to provide the callback mechanism.
7.1.3 Parameter descriptions
Each method parameter and its possible values are described. Parameters described as 'in' represent those that must have
a value when the method is called. Those described as 'out' are those that contain the return result of the method when
the method returns.
7.1.4 State Model
If relevant, a state model is shown to illustrate the states of the objects that implement the described interface.
7.2 Base Interface
7.2.1 Interface Class IpInterface
All application, framework and service interfaces inherit from the following interface. This API Base Interface does not
provide any additional methods.
<>
IpInterface
7.3 Service Interfaces
7.3.1 Overview
The Service Interfaces provide the interfaces into the capabilities of the underlying network - such as call control, user
interaction, messaging, mobility and connectivity management.
The interfaces that are implemented by the services are denoted as 'Service Interface'. The corresponding interfaces that
must be impl
...











