5 Structure of the OSA API (29.198) and Mapping (29.998) documents

29.198-013GPPOpen Service Access (OSA) Application Programming Interface (API)Part 1: OverviewRelease 9TS

The Open Service Access (OSA) Application Programming Interface (API) specifications consist of two sets of documents:

API specification (3GPP TS 29.198)
The Parts of 29.198 – apart from Part 1 (the present document) and Part 2 – define the interfaces, parameters and state models that belong to the API specification. UML (Unified Modelling Language) is used to specify the interface classes.
As such it provides a UML interface class description of the methods (API calls) supported by that interface and the relevant parameters and types. The interfaces are specified in IDL (Interface Description Language), WSDL (Web Services Definition Language) and in Java™.

Mapping specification of the OSA APIs and network protocols (3GPP TR 29.998)
The Parts of 29.998 contain a possible mapping from the APIs defined in 29.198 to various network protocols (i.e. MAP [7], CAP [8], etc.). It is an informative document, since this mapping is considered as implementation- / vendor-dependent. On the other hand this mapping will provide potential service designers with a better understanding of the relationship of the OSA API interface classes and the behaviour of the network associated to these interface classes.

The purpose of the OSA API is to shield the complexity of the network, its protocols and specific implementation from the applications. This means that applications do not have to be aware of the network nodes, a Service Capability Server interacts with, in order to provide the SCFs to the application. The specific underlying network and its protocols are transparent to the application.

The API specification (3GPP TS 29.198) is structured in the following Parts:

29.198-1 Part 1: Overview

29.198-2 Part 2: Common Data Definitions

29.198-3 Part 3: Framework

29.198-4 Part 4: Call Control SCF

29.198-5 Part 5: User Interaction SCF

29.198-6 Part 6: Mobility SCF

29.198-7 Part 7: Terminal Capabilities SCF

29.198-8 Part 8: Data Session Control SCF

29.198-9 Part 9: Generic Messaging SCF

29.198-10 Part 10: Connectivity Manager SCF

29.198-11 Part 11: Account Management SCF

29.198-12 Part 12: Charging SCF

29.198-13 Part 13: Policy Management SCF

29.198-14 Part 14: Presence & Availability Management SCF

29.198-15 Part 15: Multi-media Messaging SCF

29.198-16 Part 16: Service Broker SCF

The Mapping specification of the OSA APIs and network protocols (3GPP TR 29.998) is also structured as above. A mapping to network protocols is however not applicable for all Parts, but the numbering of Parts is kept.
Also in case a Part is not supported in a Release, the numbering of the parts is maintained.

Structure of the parts of TS 29.198

The parts with API specification themselves are structured 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 progression of internal processes either in the application, or Gateway.

– The Data definitions clauses show a detailed expansion of each of the data types associated with the methods within the classes. It is to be noted that some data types are used in other methods and classes and are therefore defined within the Common Data types part of this specification.

The OSA API is defined using UML and as such is technology independent. OSA can be realised in a number of ways and in addition to the UML defined OSA API, the OSA specification includes:

– A normative annex with the OSA API in IDL that specifies the CORBA distribution technology realisation

– An informative annex with the OSA API in WSDL that specifies the SOAP/HTTP distribution technology realisation

– An informative annex that references the OSA API in Java™ (known as JAIN™ Service Provider API) that specifies the Java™ local API technology realisation