Abstract

Update of ES 203 915 to become Parlay 5.2. Only those parts requiring modification will be updated (most parts require maintenance fixes).The present document is part 3 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 Framework aspects of the interface. All aspects of the  Framework are defined in the present document, 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
15-Jul-2008
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
11-Jun-2008
Due Date
16-Aug-2008
Completion Date
16-Jul-2008

Buy Documents

Standard

ETSI ES 203 915-3 V1.3.1 (2008-04) - Open Service Access (OSA); Application Programming Interface (API); Part 3: Framework (Parlay 5)

English language (228 pages)
sale 15% off
Preview
sale 15% off
Preview
Standard

ETSI ES 203 915-3 V1.3.1 (2008-02) - Open Service Access (OSA); Application Programming Interface (API); Part 3: Framework (Parlay 5)

English language (236 pages)
sale 15% off
Preview
sale 15% off
Preview
Standardization document

SIST ES 203 915-3 V1.3.1:2008

English language (228 pages)
Preview
Preview
e-Library read for
×1 day

SIST ES 203 915-3 V1.3.1:2008 is the Open Service Access (OSA) Application Programming Interface (API) specification, Part 3: Framework (Parlay 5), published as an ETSI Standard. It defines how applications, enterprise operators, and service capability servers use the OSA framework through standardized interfaces, with the interfaces modelled in Unified Modelling Language (UML).

What does SIST ES 203 915-3:2008 specify?

SIST ES 203 915-3 describes the Framework part of the Stage 3 OSA API specification. The document specifies the framework-side interface model and the supporting material needed to implement and use it in practice: sequence diagrams, class diagrams, method descriptions, state transition diagrams, data definitions, and interface descriptions in IDL, WSDL, and Java API form.

The Framework API is organized around three interface groupings:

  • Framework-to-Application
  • Framework-to-Enterprise Operator
  • Framework-to-Service

Clause 5 sets out the base interface specification format and the generic service interface. Clauses 6 to 9 define the main interface families and their behavior. Clause 10 covers service properties, clause 11 defines the data types used by the interfaces, and clause 12 lists the exception classes.

AnnexWhat it covers
Annex ANormative OMG IDL description of the Framework
Annex BInformative W3C WSDL description of the Framework
Annex CInformative Java™ API description of the Framework
Annex DInformative contents of 3GPP OSA R6 Framework
Annex EInformative description of the Framework for 3GPP2 cdma2000 networks

What are the key requirements of SIST ES 203 915-3:2008?

SIST ES 203 915-3 defines how a client authenticates, discovers services, subscribes to services, and exchanges management information with the Framework. In practice, that means the standard tells implementers what interfaces exist, how they are called, what information they carry, and how the Framework and the client are expected to react.

Trust and security management in Clause 6

Clause 6 defines the access session model and the security exchanges used before a client can use Framework interfaces. The key flow begins with IpInitial, continues through authentication interfaces such as IpAPILevelAuthentication or IpAuthentication, and ends with IpAccess, which gives access to other Framework interfaces.

This matters because the Framework controls whether the client may proceed, what access type is granted, and which interface references are returned. Clause 6 also covers deprecated methods such as initiateAuthentication(), authenticate(), endAccess(), and releaseInterface(), so implementers need to follow the current methods while maintaining compatibility where required.

Clause 6 uses requestAccess(), obtainInterface(), obtainInterfaceWithCallback(), listInterfaces(), and relinquishInterface() to manage access and interface retrieval. Practically, this is the part that governs how an application gets hold of service discovery, integrity management, and subscription interfaces after authentication.

Service discovery and service agreement in Clauses 7 and 8

Clause 7 defines IpServiceDiscovery for applications. The main sequence is: list service types, describe a service type, and then discover services that match desired properties. The discoverService() operation returns service IDs for services that meet the requested property list, and listSubscribedServices() returns services already subscribed by the enterprise operator.

This matters because a client does not work with a service name alone - it needs the service ID and the property profile that matches its needs. In practice, service discovery is the step that lets an application select the right service capability feature before trying to use it.

Clause 7 also defines service agreement management through IpAppServiceAgreementManagement and IpServiceAgreementManagement. The service selection flow uses a serviceToken, and the agreement is signed with a digital signature returned in TpSignatureAndServiceMgr.

Clause 8 adds the enterprise-operator side of subscription management. It covers event notification and the service subscription interfaces used for client application management, service profile management, service contract management, and account management. In practice, this is the part that supports subscription-based access, where a customer or operator subscribes on behalf of users before services can be consumed.

Integrity management in Clauses 7 and 9

Clause 7 and Clause 9 both define integrity management, but from different viewpoints. The Framework-to-Application side includes fault management, heartbeat management, load management, and event notification for applications; the Framework-to-Service side mirrors the same ideas for service interfaces.

Load management is not just an information exchange - it is a control mechanism. TpLoadLevel uses the levels 0, 1, and 2 to represent normal load, overload, and severe overload, so an application or service can report current conditions and the Framework can suspend, resume, or balance load as needed.

Heartbeat management uses enableHeartBeat(), disableHeartBeat(), and changeInterval() to supervise liveness. Fault management adds activity tests, fault reporting, unavailability indications, and fault statistics record exchange. In practice, these functions are used to detect failures, request test results, and document availability problems.

Service properties in Clause 10

Clause 10 defines service properties as the way an SCF declares what it can support and how an application finds a matching service. The properties are used first at registration, to describe capabilities and limitations, and then at discovery, to compare requested properties against registered ones.

The general service properties listed in Clause 10 include Service Name, Service Version, Service ID, Service Description, Product Name, Product Version, Supported Interfaces, Operation Set, Compatible Service, Backward Compatibility Level, Migration Required, Data Migrated, Migration Date and Time, and Support for Regular Expressions in Address Range. In practice, these properties let implementers document compatibility, migration status, and the exact scope of a service instance.

Data definitions and exceptions in Clauses 11 and 12

Clause 11 defines the data types used across the Framework API, including identifiers, property lists, service descriptions, event criteria, authentication data, load and fault records, and subscription data. Clause 12 lists the exception classes used by the API, such as access, service ID, service type, property, load, and signature-related errors.

These clauses matter because they define the information model behind the operations. If an implementation gets the data types or exception handling wrong, the service may look correct at the interface level but fail in discovery, authentication, agreement signing, or management flows.

What terms does SIST ES 203 915-3:2008 define?

  • Open Service Access (OSA) - the architecture that lets application developers use network functionality through an open standardized interface.
  • Application Programming Interface (API) - the interface contract used by applications and framework components to exchange requests and results.
  • Network Service Capability Server (SCS) - the network-side component that offers service capability features to the Framework.
  • Service Capability Feature (SCF) - a network service capability that is registered, discovered, and used through the OSA Framework.
  • Unified Modelling Language (UML) - the modelling language used to describe classes, methods, sequences, and state transitions.
  • Challenge Handshake Authentication Protocol (CHAP) - the challenge/response format used in the API-level authentication exchanges.
  • Cryptographic Message Syntax (CMS) - the signed-message format used for service agreement and termination signatures.

Who uses SIST ES 203 915-3:2008?

SIST ES 203 915-3 is used by application developers, framework implementers, network/service platform engineers, and enterprise operators. It is also relevant to quality managers and buyers who need to know whether a platform supports OSA-style service discovery, subscription, authentication, fault handling, and load supervision.

In practice, these roles use the standard to:

  • design and implement client applications that call Framework interfaces
  • register and expose service capability features from a service capability server
  • manage authentication, access control, and interface acquisition
  • implement service discovery and subscription flows
  • handle load, heartbeat, fault, and event notification behavior
  • map the specification into IDL, WSDL, or Java APIs

What changed in SIST ES 203 915-3:2008 from the previous edition?

SIST ES 203 915-3 V1.3.1:2008 is an update of ES 203 915 to become Parlay 5.2, and only the parts requiring modification are revised. The history also notes that in ES 203 915 V1.2.1 the WSDL code was reworked and replaced in Annex B.

Which standards are used with SIST ES 203 915-3:2008?

Clause 2 points to ES 203 915-1 for the provisions that apply to this part of the OSA API. Clause 11 also points to ES 203 915-2 for common data definitions that are used but not redefined here.

The security and signing procedures use external standards named in the text:

  • RFC 1994 - used for CHAP challenge packets in API-level authentication
  • RFC 2630 - used for CMS signatures and signing-time attributes in service agreement and access termination signatures

These references matter because they define the packet format, signature format, and shared data model that the Framework part relies on.

What does the SIST ES 203 915-3 document contain?

SIST ES 203 915-3 contains interface specifications, sequence diagrams, class diagrams, and state transition diagrams for the Framework side of OSA. It also contains method descriptions for discovery, authentication, service agreement, integrity management, event notification, service registration, and subscription management.

Clause 10 adds property tables and property type descriptions, while clause 11 defines the framework-specific data structures used by those interfaces. Clause 12 provides the exception classes that an implementation must return when requests are invalid, unauthorized, or inconsistent with the current state.

Annex A gives the normative IDL form of the Framework interfaces, Annex B gives the WSDL form, and Annex C gives the Java API description. Annexes D and E place the Framework in broader 3GPP OSA R6 and 3GPP2 cdma2000 contexts.

Buy Documents

Standard

ETSI ES 203 915-3 V1.3.1 (2008-04) - Open Service Access (OSA); Application Programming Interface (API); Part 3: Framework (Parlay 5)

English language (228 pages)
sale 15% off
Preview
sale 15% off
Preview
Standard

ETSI ES 203 915-3 V1.3.1 (2008-02) - Open Service Access (OSA); Application Programming Interface (API); Part 3: Framework (Parlay 5)

English language (236 pages)
sale 15% off
Preview
sale 15% off
Preview
Standardization document

SIST ES 203 915-3 V1.3.1:2008

English language (228 pages)
Preview
Preview
e-Library read for
×1 day

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.

UKAS United Kingdom Verified

NYCE

Mexican standards and certification body.

EMA Mexico Verified

Sponsored listings

Frequently Asked Questions

SIST ES 203 915-3 V1.3.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 3: Framework (Parlay 5)". This standard covers: Update of ES 203 915 to become Parlay 5.2. Only those parts requiring modification will be updated (most parts require maintenance fixes).The present document is part 3 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 Framework aspects of the interface. All aspects of the Framework are defined in the present document, 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).

Update of ES 203 915 to become Parlay 5.2. Only those parts requiring modification will be updated (most parts require maintenance fixes).The present document is part 3 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 Framework aspects of the interface. All aspects of the Framework are defined in the present document, 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 203 915-3 V1.3.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 203 915-3 V1.3.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)


ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 3: Framework
(Parlay 5)
�
2 ETSI ES 203 915-3 V1.3.1 (2008-04)

Reference
RES/TISPAN-01055-03-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 203 915-3 V1.3.1 (2008-04)
Contents
Intellectual Property Rights.14
Foreword.14
1 Scope.15
2 References.15
3 Definitions and abbreviations.15
3.1 Definitions.15
3.2 Abbreviations.15
4 Overview of the Framework.16
5 The Base Interface Specification.17
5.1 Interface Specification Format .17
5.1.1 Interface Class.17
5.1.2 Method descriptions.18
5.1.3 Parameter descriptions.18
5.1.4 State Model.18
5.2 Base Interface.18
5.2.1 Interface Class IpInterface .18
5.3 Service Interfaces.18
5.3.1 Overview.18
5.4 Generic Service Interface .19
5.4.1 Interface Class IpService .19
5.4.1.1 Method setCallback().19
5.4.1.2 Method setCallbackWithSessionID().19
6 Framework Access Session API.20
6.1 Sequence Diagrams.20
6.1.1 Trust and Security Management Sequence Diagrams .20
6.1.1.1 Initial Access.20
6.1.1.2 Framework Terminates Access.22
6.1.1.3 Application Terminates Access.23
6.1.1.4 Non-API level Authentication.23
6.1.1.5 API Level Authentication.24
6.2 Class Diagrams.26
6.3 Interface Classes.27
6.3.1 Trust and Security Management Interface Classes .27
6.3.1.1 Interface Class IpClientAPILevelAuthentication.27
6.3.1.1.1 Method <> authenticate().27
6.3.1.1.2 Method abortAuthentication().28
6.3.1.1.3 Method authenticationSucceeded().28
6.3.1.1.4 Method challenge().28
6.3.1.2 Interface Class IpClientAccess.29
6.3.1.2.1 Method terminateAccess().30
6.3.1.3 Interface Class IpInitial .30
6.3.1.3.1 Method <> initiateAuthentication() .31
6.3.1.3.2 Method initiateAuthenticationWithVersion().32
6.3.1.4 Interface Class IpAuthentication.33
6.3.1.4.1 Method requestAccess().33
6.3.1.5 Interface Class IpAPILevelAuthentication .34
6.3.1.5.1 Method <> selectEncryptionMethod().34
6.3.1.5.2 Method <> authenticate().35
6.3.1.5.3 Method abortAuthentication().36
6.3.1.5.4 Method authenticationSucceeded().36
6.3.1.5.5 Method selectAuthenticationMechanism().36
6.3.1.5.6 Method challenge().37
6.3.1.6 Interface Class IpAccess .38
ETSI
4 ETSI ES 203 915-3 V1.3.1 (2008-04)
6.3.1.6.1 Method obtainInterface().38
6.3.1.6.2 Method obtainInterfaceWithCallback().39
6.3.1.6.3 Method <> endAccess().39
6.3.1.6.4 Method listInterfaces().40
6.3.1.6.5 Method <> releaseInterface().40
6.3.1.6.6 Method selectSigningAlgorithm().40
6.3.1.6.7 Method terminateAccess().41
6.3.1.6.8 Method relinquishInterface().41
6.4 State Transition Diagrams .42
6.4.1 Trust and Security Management State Transition Diagrams .42
6.4.1.1 State Transition Diagrams for IpInitial .42
6.4.1.2 State Transition Diagrams for IpAPILevelAuthentication.43
6.4.1.2.1 Idle State.43
6.4.1.2.2 Authenticating Framework State .44
6.4.1.2.3 Framework Authenticated State.44
6.4.1.2.4 Authenticating Client State.44
6.4.1.2.5 Client Authenticated State .44
6.4.1.2.6 Idle State.45
6.4.1.2.7 Authenticating Framework State .46
6.4.1.2.8 Framework Authenticated State.46
6.4.1.2.9 Authenticating Client State.46
6.4.1.2.10 Client Authenticated State .46
6.4.1.2.11 Idle State.47
6.4.1.2.12 Authenticating Framework State .47
6.4.1.2.13 Framework Authenticated State.48
6.4.1.2.14 Authenticating Client State.48
6.4.1.2.15 Client Authenticated State .48
6.4.1.2.16 Idle State.49
6.4.1.2.17 Authenticating Framework State .49
6.4.1.2.18 Framework Authenticated State.50
6.4.1.2.19 Authenticating Client State.50
6.4.1.2.20 Client Authenticated State .50
6.4.1.3 State Transition Diagrams for IpAccess.51
6.4.1.3.1 Active State.51
7 Framework-to-Application API.52
7.1 Sequence Diagrams.52
7.1.1 Event Notification Sequence Diagrams .52
7.1.1.1 Enable Event Notification .52
7.1.2 Integrity Management Sequence Diagrams .53
7.1.2.1 Load Management: Suspend/resume notification from application.53
7.1.2.2 Load Management: Framework queries load statistics .54
7.1.2.3 Load Management: Framework callback registration and Application load control .55
7.1.2.4 Load Management: Application reports current load condition.56
7.1.2.5 Load Management: Application queries load statistics.56
7.1.2.6 Load Management: Application callback registration and load control.57
7.1.2.7 Heartbeat Management: Start/perform/end heartbeat supervision of the application .58
7.1.2.8 Fault Management: Framework detects a Service failure .59
7.1.2.9 Fault Management: Application requests a Framework activity test .60
7.1.3 Service Agreement Management Sequence Diagrams .60
7.1.3.1 Service Selection.60
7.1.4 Service Discovery Sequence Diagrams .62
7.1.4.1 Service Discovery.62
7.2 Class Diagrams.65
7.3 Interface Classes.67
7.3.1 Service Discovery Interface Classes.67
7.3.1.1 Interface Class IpServiceDiscovery .67
7.3.1.1.1 Method listServiceTypes().68
7.3.1.1.3 Method discoverService().69
7.3.1.1.4 Method listSubscribedServices().70
7.3.2 Service Agreement Management Interface Classes.70
7.3.2.1 Interface Class IpAppServiceAgreementManagement .70
ETSI
5 ETSI ES 203 915-3 V1.3.1 (2008-04)
7.3.2.1.1 Method signServiceAgreement().71
7.3.2.1.2 Method terminateServiceAgreement().71
7.3.2.2 Interface Class IpServiceAgreementManagement .72
7.3.2.2.1 Method signServiceAgreement().72
7.3.2.2.2 Method terminateServiceAgreement().73
7.3.2.2.3 Method selectService().74
7.3.2.2.4 Method initiateSignServiceAgreement().74
7.3.3 Integrity Management Interface Classes.75
7.3.3.1 Interface Class IpAppFaultManager .75
7.3.3.1.1 Method activityTestRes().76
7.3.3.1.2 Method appActivityTestReq().76
7.3.3.1.3 Method <> fwFaultReportInd() .76
7.3.3.1.4 Method <> fwFaultRecoveryInd().76
7.3.3.1.5 Method <> svcUnavailableInd().76
7.3.3.1.6 Method <> genFaultStatsRecordRes().77
7.3.3.1.7 Method <> fwUnavailableInd() .77
7.3.3.1.8 Method activityTestErr().77
7.3.3.1.9 Method <> genFaultStatsRecordErr().77
7.3.3.1.10 Method appUnavailableInd().78
7.3.3.1.11 Method <> genFaultStatsRecordReq() .78
7.3.3.1.12 Method svcAvailStatusInd().78
7.3.3.1.13 Method <> generateFaultStatisticsRecordRes().78
7.3.3.1.14 Method <> generateFaultStatisticsRecordErr().79
7.3.3.1.15 Method <> generateFaultStatisticsRecordReq().79
7.3.3.1.16 Method <> fwAvailStatusInd().79
7.3.3.2 Interface Class IpFaultManager .80
7.3.3.2.1 Method activityTestReq().81
7.3.3.2.2 Method appActivityTestRes().81
7.3.3.2.3 Method svcUnavailableInd().81
7.3.3.2.4 Method <> genFaultStatsRecordReq() .82
7.3.3.2.5 Method appActivityTestErr().82
7.3.3.2.6 Method <> appUnavailableInd().82
7.3.3.2.7 Method <> genFaultStatsRecordRes().83
7.3.3.2.8 Method <> genFaultStatsRecordErr().83
7.3.3.2.9 Method appAvailStatusInd().83
7.3.3.2.10 Method <> generateFaultStatisticsRecordReq().84
7.3.3.2.11 Method <> generateFaultStatisticsRecordRes().84
7.3.3.2.12 Method <> generateFaultStatisticsRecordErr().85
7.3.3.3 Interface Class IpAppHeartBeatMgmt.85
7.3.3.3.1 Method enableAppHeartBeat().85
7.3.3.3.2 Method disableAppHeartBeat().86
7.3.3.3.3 Method changeInterval().86
7.3.3.4 Interface Class IpAppHeartBeat.86
7.3.3.4.1 Method pulse().86
7.3.3.5 Interface Class IpHeartBeatMgmt.86
7.3.3.5.1 Method enableHeartBeat().87
7.3.3.5.2 Method disableHeartBeat().87
7.3.3.5.3 Method changeInterval().87
7.3.3.6 Interface Class IpHeartBeat .88
7.3.3.6.1 Method pulse().88
7.3.3.7 Interface Class IpAppLoadManager .88
7.3.3.7.1 Method <> queryAppLoadReq() .89
7.3.3.7.2 Method <> queryLoadRes().89
7.3.3.7.3 Method <> queryLoadErr().90
7.3.3.7.4 Method loadLevelNotification().90
7.3.3.7.5 Method resumeNotification().90
7.3.3.7.6 Method suspendNotification().90
7.3.3.7.7 Method createLoadLevelNotification().90
7.3.3.7.8 Method destroyLoadLevelNotification().91
7.3.3.7.9 Method <> queryAppLoadStatsReq() .91
7.3.3.7.10 Method <> queryLoadStatsRes() .91
7.3.3.7.11 Method <> queryLoadStatsErr() .91
ETSI
6 ETSI ES 203 915-3 V1.3.1 (2008-04)
7.3.3.8 Interface Class IpLoadManager .92
7.3.3.8.1 Method reportLoad().93
7.3.3.8.2 Method <> queryLoadReq().93
7.3.3.8.3 Method <> queryAppLoadRes().93
7.3.3.8.4 Method <> queryAppLoadErr().94
7.3.3.8.5 Method createLoadLevelNotification().94
7.3.3.8.6 Method destroyLoadLevelNotification().94
7.3.3.8.7 Method resumeNotification().95
7.3.3.8.8 Method suspendNotification().95
7.3.3.8.9 Method <> queryLoadStatsReq().95
7.3.3.8.10 Method <> queryAppLoadStatsRes().96
7.3.3.8.11 Method <> queryAppLoadStatsErr().96
7.3.3.9 Interface Class IpOAM .97
7.3.3.9.1 Method systemDateTimeQuery().97
7.3.3.10 Interface Class IpAppOAM .97
7.3.3.10.1 Method systemDateTimeQuery().98
7.3.4 Event Notification Interface Classes.98
7.3.4.1 Interface Class IpAppEventNotification .98
7.3.4.1.1 Method reportNotification().98
7.3.4.1.2 Method notificationTerminated().98
7.3.4.2 Interface Class IpEventNotification .99
7.3.4.2.1 Method createNotification().99
7.3.4.2.2 Method destroyNotification().99
7.4 State Transition Diagrams .100
7.4.1 Service Discovery State Transition Diagrams .100
7.4.1.1 State Transition Diagrams for IpServiceDiscovery.100
7.4.1.1.1 Active State.100
7.4.2 Service Agreement Management State Transition Diagrams .100
7.4.3 Integrity Management State Transition Diagrams .101
7.4.3.1 State Transition Diagrams for IpLoadManager.101
7.4.3.1.1 Idle State.101
7.4.3.1.2 Notification Suspended State.101
7.4.3.1.3 Active State.102
7.4.3.2 State Transition Diagrams for LoadManagerInternal.102
7.4.3.2.1 Normal load State.102
7.4.3.2.2 Application Overload State .102
7.4.3.2.3 Internal overload State.102
7.4.3.2.4 Internal and Application Overload State .103
7.4.3.3 State Transition Diagrams for IpOAM.103
7.4.3.3.1 Active State.103
7.4.3.4 State Transition Diagrams for IpFaultManager.103
7.4.3.4.1 Framework Active State.104
7.4.3.4.2 Framework Faulty State.104
7.4.3.4.3 Framework Activity Test State.104
7.4.3.4.4 Service Activity Test State .104
7.4.4 Event Notification State Transition Diagrams .104
7.4.4.1 State Transition Diagrams for IpEventNotification .104
8 Framework-to-Enterprise Operator API.104
8.1 Sequence Diagrams.108
8.1.1 Event Notification Sequence Diagrams .108
8.1.2 Service Subscription Sequence Diagrams.108
8.1.2.1 Service Discovery and Subscription Scenario.108
8.1.2.2 Enterprise Operator and Client Application Subscription Management Sequence Diagram .110
8.2 Class Diagrams.112
8.3 Interface Classes.113
8.3.1 Event Notification Interface Classes.113
8.3.1.1 Interface Class IpClientEventNotification .113
8.3.1.1.1 Method reportNotification().114
8.3.1.1.2 Method notificationTerminated().114
8.3.1.2 Interface Class IpEventNotification .114
8.3.1.2.1 Method createNotification().115
ETSI
7 ETSI ES 203 915-3 V1.3.1 (2008-04)
8.3.1.2.2 Method destroyNotification().115
8.3.2 Service Subscription Interface Classes .115
8.3.2.1 Interface Class IpClientAppManagement .115
8.3.2.1.1 Method createClientApp().116
8.3.2.1.2 Method modifyClientApp().116
8.3.2.1.3 Method deleteClientApp().117
8.3.2.1.4 Method createSAG().117
8.3.2.1.5 Method modifySAG().117
8.3.2.1.6 Method deleteSAG().118
8.3.2.1.7 Method addSAGMembers().118
8.3.2.1.8 Method removeSAGMembers().118
8.3.2.1.9 Method requestConflictInfo().119
8.3.2.2 Interface Class IpClientAppInfoQuery .119
8.3.2.2.1 Method describeClientApp().120
8.3.2.2.2 Method listClientApps().120
8.3.2.2.3 Method describeSAG().121
8.3.2.2.4 Method listSAGs().121
8.3.2.2.5 Method listSAGMembers().121
8.3.2.2.6 Method listClientAppMembership().122
8.3.2.3 Interface Class IpServiceProfileManagement .122
8.3.2.3.1 Method createServiceProfile().123
8.3.2.3.2 Method modifyServiceProfile().123
8.3.2.3.3 Method deleteServiceProfile().123
8.3.2.3.4 Method assign().124
8.3.2.3.5 Method deassign().124
8.3.2.3.6 Method requestConflictInfo().124
8.3.2.4 Interface Class IpServiceProfileInfoQuery .125
8.3.2.4.1 Method listServiceProfiles().125
8.3.2.4.2 Method describeServiceProfile().126
8.3.2.4.3 Method listAssignedMembers().126
8.3.2.5 Interface Class IpServiceContractManagement .126
8.3.2.5.1 Method createServiceContract().127
8.3.2.5.2 Method modifyServiceContract().127
8.3.2.5.3 Method deleteServiceContract().128
8.3.2.6 Interface Class IpServiceContractInfoQuery .128
8.3.2.6.1 Method describeServiceContract().128
8.3.2.6.2 Method listServiceContracts().129
8.3.2.6.3 Method listServiceProfiles().129
8.3.2.7 Interface Class IpEntOpAccountManagement.130
8.3.2.7.1 Method modifyEntOpAccount().130
8.3.2.7.2 Method deleteEntOpAccount().130
8.3.2.8 Interface Class IpEntOpAccountInfoQuery .131
8.3.2.8.1 Method describeEntOpAccount().131
8.4 State Transition Diagrams .131
8.4.1 Event Notification State Transition Diagrams .131
8.4.2 Service Subscription State Transition Diagrams.131
9 Framework-to-Service API .132
9.1 Sequence Diagrams.132
9.1.1 Service Discovery Sequence Diagrams .132
9.1.2 Service Registration Sequence Diagrams .132
9.1.2.1 New SCF Sub Type Registration .132
9.1.2.2 New SCF Registration.133
9.1.3 Service Instance Lifecycle
...


Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)
ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 3: Framework
(Parlay 5)
�
2 Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)

Reference
RES/TISPAN-01055-03-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 203 915-3 V1.3.1 (2008-01)
Contents
Intellectual Property Rights.14
Foreword.14
1 Scope.15
2 References.15
3 Definitions and abbreviations.15
3.1 Definitions.15
3.2 Abbreviations.15
4 Overview of the Framework.16
5 The Base Interface Specification.17
5.1 Interface Specification Format .17
5.1.1 Interface Class.17
5.1.2 Method descriptions.18
5.1.3 Parameter descriptions.18
5.1.4 State Model.18
5.2 Base Interface.18
5.2.1 Interface Class IpInterface .18
5.3 Service Interfaces.18
5.3.1 Overview.18
5.4 Generic Service Interface .18
5.4.1 Interface Class IpService .18
5.4.1.1 Method setCallback().19
5.4.1.2 Method setCallbackWithSessionID().19
6 Framework Access Session API.20
6.1 Sequence Diagrams.20
6.1.1 Trust and Security Management Sequence Diagrams .20
6.1.1.1 Initial Access.20
6.1.1.2 Framework Terminates Access.21
6.1.1.3 Application Terminates Access.22
6.1.1.4 Non-API level Authentication.23
6.1.1.5 API Level Authentication.24
6.2 Class Diagrams.26
6.3 Interface Classes.27
6.3.1 Trust and Security Management Interface Classes .27
6.3.1.1 Interface Class IpClientAPILevelAuthentication.27
6.3.1.1.1 Method <> authenticate().28
6.3.1.1.2 Method abortAuthentication().28
6.3.1.1.3 Method authenticationSucceeded().29
6.3.1.1.4 Method challenge().29
6.3.1.2 Interface Class IpClientAccess.30
6.3.1.2.1 Method terminateAccess().30
6.3.1.3 Interface Class IpInitial .31
6.3.1.3.1 Method <> initiateAuthentication() .31
6.3.1.3.2 Method initiateAuthenticationWithVersion().32
6.3.1.4 Interface Class IpAuthentication.33
6.3.1.4.1 Method requestAccess().34
6.3.1.5 Interface Class IpAPILevelAuthentication .34
6.3.1.5.1 Method <> selectEncryptionMethod().35
6.3.1.5.2 Method <> authenticate().36
6.3.1.5.3 Method abortAuthentication().36
6.3.1.5.4 Method authenticationSucceeded().36
6.3.1.5.5 Method selectAuthenticationMechanism().37
6.3.1.5.6 Method challenge().37
6.3.1.6 Interface Class IpAccess .38
ETSI
4 Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)
6.3.1.6.1 Method obtainInterface().39
6.3.1.6.2 Method obtainInterfaceWithCallback().39
6.3.1.6.3 Method <> endAccess().40
6.3.1.6.4 Method listInterfaces().40
6.3.1.6.5 Method <> releaseInterface().40
6.3.1.6.6 Method selectSigningAlgorithm().41
6.3.1.6.7 Method terminateAccess().41
6.3.1.6.8 Method relinquishInterface().42
6.4 State Transition Diagrams .42
6.4.1 Trust and Security Management State Transition Diagrams .43
6.4.1.1 State Transition Diagrams for IpInitial .43
6.4.1.2 State Transition Diagrams for IpAPILevelAuthentication.44
6.4.1.2.1 Idle State.44
6.4.1.2.2 Authenticating Framework State .45
6.4.1.2.3 Framework Authenticated State.45
6.4.1.2.4 Authenticating Client State.45
6.4.1.2.5 Client Authenticated State .45
6.4.1.2.6 Idle State.46
6.4.1.2.7 Authenticating Framework State .47
6.4.1.2.8 Framework Authenticated State.47
6.4.1.2.9 Authenticating Client State.47
6.4.1.2.10 Client Authenticated State .47
6.4.1.2.11 Idle State.48
6.4.1.2.12 Authenticating Framework State .48
6.4.1.2.13 Framework Authenticated State.49
6.4.1.2.14 Authenticating Client State.49
6.4.1.2.15 Client Authenticated State .49
6.4.1.2.16 Idle State.50
6.4.1.2.17 Authenticating Framework State .50
6.4.1.2.18 Framework Authenticated State.51
6.4.1.2.19 Authenticating Client State.51
6.4.1.2.20 Client Authenticated State .51
6.4.1.3 State Transition Diagrams for IpAccess.52
6.4.1.3.1 Active State.52
7 Framework-to-Application API.53
7.1 Sequence Diagrams.53
7.1.1 Event Notification Sequence Diagrams .53
7.1.1.1 Enable Event Notification .53
7.1.2 Integrity Management Sequence Diagrams .54
7.1.2.1 Load Management: Suspend/resume notification from application.54
7.1.2.2 Load Management: Framework queries load statistics .54
7.1.2.3 Load Management: Framework callback registration and Application load control .55
7.1.2.4 Load Management: Application reports current load condition.56
7.1.2.5 Load Management: Application queries load statistics.57
7.1.2.6 Load Management: Application callback registration and load control.58
7.1.2.7 Heartbeat Management: Start/perform/end heartbeat supervision of the application .59
7.1.2.8 Fault Management: Framework detects a Service failure .60
7.1.2.9 Fault Management: Application requests a Framework activity test .62
7.1.3 Service Agreement Management Sequence Diagrams .62
7.1.3.1 Service Selection.62
7.1.4 Service Discovery Sequence Diagrams .64
7.1.4.1 Service Discovery.64
7.2 Class Diagrams.67
7.3 Interface Classes.69
7.3.1 Service Discovery Interface Classes.69
7.3.1.1 Interface Class IpServiceDiscovery .69
7.3.1.1.1 Method listServiceTypes().70
7.3.1.1.3 Method discoverService().71
7.3.1.1.4 Method listSubscribedServices().72
7.3.2 Service Agreement Management Interface Classes.72
7.3.2.1 Interface Class IpAppServiceAgreementManagement .72
ETSI
5 Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)
7.3.2.1.1 Method signServiceAgreement().72
7.3.2.1.2 Method terminateServiceAgreement().73
7.3.2.2 Interface Class IpServiceAgreementManagement .74
7.3.2.2.1 Method signServiceAgreement().74
7.3.2.2.2 Method terminateServiceAgreement().75
7.3.2.2.3 Method selectService().76
7.3.2.2.4 Method initiateSignServiceAgreement().76
7.3.3 Integrity Management Interface Classes.77
7.3.3.1 Interface Class IpAppFaultManager .77
7.3.3.1.1 Method activityTestRes().78
7.3.3.1.2 Method appActivityTestReq().78
7.3.3.1.3 Method <> fwFaultReportInd() .78
7.3.3.1.4 Method <> fwFaultRecoveryInd().78
7.3.3.1.5 Method <> svcUnavailableInd().78
7.3.3.1.6 Method <> genFaultStatsRecordRes().79
7.3.3.1.7 Method <> fwUnavailableInd() .79
7.3.3.1.8 Method activityTestErr().79
7.3.3.1.9 Method <> genFaultStatsRecordErr().79
7.3.3.1.10 Method appUnavailableInd().80
7.3.3.1.11 Method <> genFaultStatsRecordReq() .80
7.3.3.1.12 Method svcAvailStatusInd().80
7.3.3.1.13 Method <> generateFaultStatisticsRecordRes().80
7.3.3.1.14 Method <> generateFaultStatisticsRecordErr().81
7.3.3.1.15 Method <> generateFaultStatisticsRecordReq().81
7.3.3.1.16 Method <> fwAvailStatusInd().81
7.3.3.2 Interface Class IpFaultManager .82
7.3.3.2.1 Method activityTestReq().82
7.3.3.2.2 Method appActivityTestRes().83
7.3.3.2.3 Method svcUnavailableInd().83
7.3.3.2.4 Method <> genFaultStatsRecordReq() .84
7.3.3.2.5 Method appActivityTestErr().84
7.3.3.2.6 Method <> appUnavailableInd().84
7.3.3.2.7 Method <> genFaultStatsRecordRes().85
7.3.3.2.8 Method <> genFaultStatsRecordErr().85
7.3.3.2.9 Method appAvailStatusInd().85
7.3.3.2.10 Method <> generateFaultStatisticsRecordReq().86
7.3.3.2.11 Method <> generateFaultStatisticsRecordRes().86
7.3.3.2.12 Method <> generateFaultStatisticsRecordErr().86
7.3.3.3 Interface Class IpAppHeartBeatMgmt.87
7.3.3.3.1 Method enableAppHeartBeat().87
7.3.3.3.2 Method disableAppHeartBeat().87
7.3.3.3.3 Method changeInterval().87
7.3.3.4 Interface Class IpAppHeartBeat.88
7.3.3.4.1 Method pulse().88
7.3.3.5 Interface Class IpHeartBeatMgmt.88
7.3.3.5.1 Method enableHeartBeat().88
7.3.3.5.2 Method disableHeartBeat().89
7.3.3.5.3 Method changeInterval().89
7.3.3.6 Interface Class IpHeartBeat .89
7.3.3.6.1 Method pulse().90
7.3.3.7 Interface Class IpAppLoadManager .90
7.3.3.7.1 Method <> queryAppLoadReq() .90
7.3.3.7.2 Method <> queryLoadRes().91
7.3.3.7.3 Method <> queryLoadErr().91
7.3.3.7.4 Method loadLevelNotification().91
7.3.3.7.5 Method resumeNotification().91
7.3.3.7.6 Method suspendNotification().92
7.3.3.7.7 Method createLoadLevelNotification().92
7.3.3.7.8 Method destroyLoadLevelNotification().92
7.3.3.7.9 Method <> queryAppLoadStatsReq() .92
7.3.3.7.10 Method <> queryLoadStatsRes() .92
7.3.3.7.11 Method <> queryLoadStatsErr() .92
ETSI
6 Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)
7.3.3.8 Interface Class IpLoadManager .93
7.3.3.8.1 Method reportLoad().94
7.3.3.8.2 Method <> queryLoadReq().94
7.3.3.8.3 Method <> queryAppLoadRes().95
7.3.3.8.4 Method <> queryAppLoadErr().95
7.3.3.8.5 Method createLoadLevelNotification().96
7.3.3.8.6 Method destroyLoadLevelNotification().96
7.3.3.8.7 Method resumeNotification().96
7.3.3.8.8 Method suspendNotification().97
7.3.3.8.9 Method <> queryLoadStatsReq().97
7.3.3.8.10 Method <> queryAppLoadStatsRes().97
7.3.3.8.11 Method <> queryAppLoadStatsErr().98
7.3.3.9 Interface Class IpOAM .98
7.3.3.9.1 Method systemDateTimeQuery().98
7.3.3.10 Interface Class IpAppOAM .99
7.3.3.10.1 Method systemDateTimeQuery().99
7.3.4 Event Notification Interface Classes.99
7.3.4.1 Interface Class IpAppEventNotification .99
7.3.4.1.1 Method reportNotification().100
7.3.4.1.2 Method notificationTerminated().100
7.3.4.2 Interface Class IpEventNotification .100
7.3.4.2.1 Method createNotification().101
7.3.4.2.2 Method destroyNotification().101
7.4 State Transition Diagrams .101
7.4.1 Service Discovery State Transition Diagrams .102
7.4.1.1 State Transition Diagrams for IpServiceDiscovery.102
7.4.1.1.1 Active State.102
7.4.2 Service Agreement Management State Transition Diagrams .102
7.4.3 Integrity Management State Transition Diagrams .103
7.4.3.1 State Transition Diagrams for IpLoadManager.103
7.4.3.1.1 Idle State.103
7.4.3.1.2 Notification Suspended State.103
7.4.3.1.3 Active State.104
7.4.3.2 State Transition Diagrams for LoadManagerInternal.104
7.4.3.2.1 Normal load State.104
7.4.3.2.2 Application Overload State .104
7.4.3.2.3 Internal overload State.105
7.4.3.2.4 Internal and Application Overload State .105
7.4.3.3 State Transition Diagrams for IpOAM.105
7.4.3.3.1 Active State.105
7.4.3.4 State Transition Diagrams for IpFaultManager.106
7.4.3.4.1 Framework Active State.106
7.4.3.4.2 Framework Faulty State.106
7.4.3.4.3 Framework Activity Test State.106
7.4.3.4.4 Service Activity Test State .106
7.4.4 Event Notification State Transition Diagrams .107
7.4.4.1 State Transition Diagrams for IpEventNotification .107
8 Framework-to-Enterprise Operator API.107
8.1 Sequence Diagrams.111
8.1.1 Event Notification Sequence Diagrams .111
8.1.2 Service Subscription Sequence Diagrams.111
8.1.2.1 Service Discovery and Subscription Scenario.111
8.1.2.2 Enterprise Operator and Client Application Subscription Management Sequence Diagram .113
8.2 Class Diagrams.115
8.3 Interface Classes.117
8.3.1 Event Notification Interface Classes.117
8.3.1.1 Interface Class IpClientEventNotification .117
8.3.1.1.1 Method reportNotification().118
8.3.1.1.2 Method notificationTerminated().118
8.3.1.2 Interface Class IpEventNotification .118
8.3.1.2.1 Method createNotification().119
ETSI
7 Final draft ETSI ES 203 915-3 V1.3.1 (2008-01)
8.3.1.2.2 Method destroyNotification().119
8.3.2 Service Subscription Interface Classes .119
8.3.2.1 Interface Class IpClientAppManagement .119
8.3.2.1.1 Method createClientApp().120
8.3.2.1.2 Method modifyClientApp().120
8.3.2.1.3 Method deleteClientApp().121
8.3.2.1.4 Method createSAG().121
8.3.2.1.5 Method modifySAG().121
8.3.2.1.6 Method deleteSAG().122
8.3.2.1.7 Method addSAGMembers().122
8.3.2.1.8 Method removeSAGMembers().122
8.3.2.1.9 Method requestConflictInfo().123
8.3.2.2 Interface Class IpClientAppInfoQuery .123
8.3.2.2.1 Method describeClientApp().124
8.3.2.2.2 Method listClientApps().124
8.3.2.2.3 Method describeSAG().125
8.3.2.2.4 Method listSAGs().125
8.3.2.2.5 Method listSAGMembers().125
8.3.2.2.6 Method listClientAppMembership().126
8.3.2.3 Interface Class IpServiceProfileManagement .126
8.3.2.3.1 Method createServiceProfile().126
8.3.2.3.2 Method modifyServiceProfile().127
8.3.2.3.3 Method deleteServiceProfile().127
8.3.2.3.4 Method assign().127
8.3.2.3.5 Method deassign().128
8.3.2.3.6 Method requestConflictInfo().128
8.3.2.4 Interface Class IpServiceProfileInfoQuery .129
8.3.2.4.1 Method listServiceProfiles().129
8.3.2.4.2 Method describeServiceProfile().130
8.3.2.4.3 Method listAssignedMembers().130
8.3.2.5 Interface Class IpServiceContractManagement .130
8.3.2.5.1 Method createServiceContract().131
8.3.2.5.2 Method modifyServiceContract().131
8.3.2.5.3 Method deleteServiceContract().132
8.3.2.6 Interface Class IpServiceContractInfoQuery .132
8.3.2.6.1 Method describeServiceContract().132
8.3.2.6.2 Method listServiceContracts().133
8.3.2.6.3 Method listServiceProfiles().133
8.3.2.7 Interface Class IpEntOpAccountManagement.134
8.3.2.7.1 Method modifyEntOpAccount().134
8.3.2.7.2 Method deleteEntOpAccount().134
8.3.2.8 Interface Class IpEntOpAccountInfoQuery .134
8.3.2.8.1 Method describeEntOpAccount().135
8.4 State Transition Diagrams .135
8.4.1 Event Notification State Transition Diagrams .135
8.4.2 Service Subscription State Transition Diagrams.135
9 Framework-to-Service API .136
9.1 Sequence Diagrams.136
9.1.1 Service Discovery Sequence Diagrams .136
9.1.2 Service Registration Sequence Diagrams .136
9.1.2.1 New SCF Sub Type Registration .136
9.1.2.2 New SCF Registration.
...


SLOVENSKI STANDARD
01-september-2008
Odprti dostop do storitve (OSA) - Aplikacijski programski vmesnik (API) - 3. del:
Okvirje (Parlay 5)
Open Service Access (OSA) - Application Programming Interface (API) - Part 3:
Framework (Parlay 5)
Ta slovenski standard je istoveten z: ES 203 915-3 Version 1.3.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 3: Framework
(Parlay 5)
�
2 ETSI ES 203 915-3 V1.3.1 (2008-04)

Reference
RES/TISPAN-01055-03-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 203 915-3 V1.3.1 (2008-04)
Contents
Intellectual Property Rights.14
Foreword.14
1 Scope.15
2 References.15
3 Definitions and abbreviations.15
3.1 Definitions.15
3.2 Abbreviations.15
4 Overview of the Framework.16
5 The Base Interface Specification.17
5.1 Interface Specification Format .17
5.1.1 Interface Class.17
5.1.2 Method descriptions.18
5.1.3 Parameter descriptions.18
5.1.4 State Model.18
5.2 Base Interface.18
5.2.1 Interface Class IpInterface .18
5.3 Service Interfaces.18
5.3.1 Overview.18
5.4 Generic Service Interface .19
5.4.1 Interface Class IpService .19
5.4.1.1 Method setCallback().19
5.4.1.2 Method setCallbackWithSessionID().19
6 Framework Access Session API.20
6.1 Sequence Diagrams.20
6.1.1 Trust and Security Management Sequence Diagrams .20
6.1.1.1 Initial Access.20
6.1.1.2 Framework Terminates Access.22
6.1.1.3 Application Terminates Access.23
6.1.1.4 Non-API level Authentication.23
6.1.1.5 API Level Authentication.24
6.2 Class Diagrams.26
6.3 Interface Classes.27
6.3.1 Trust and Security Management Interface Classes .27
6.3.1.1 Interface Class IpClientAPILevelAuthentication.27
6.3.1.1.1 Method <> authenticate().27
6.3.1.1.2 Method abortAuthentication().28
6.3.1.1.3 Method authenticationSucceeded().28
6.3.1.1.4 Method challenge().28
6.3.1.2 Interface Class IpClientAccess.29
6.3.1.2.1 Method terminateAccess().30
6.3.1.3 Interface Class IpInitial .30
6.3.1.3.1 Method <> initiateAuthentication() .31
6.3.1.3.2 Method initiateAuthenticationWithVersion().32
6.3.1.4 Interface Class IpAuthentication.33
6.3.1.4.1 Method requestAccess().33
6.3.1.5 Interface Class IpAPILevelAuthentication .34
6.3.1.5.1 Method <> selectEncryptionMethod().34
6.3.1.5.2 Method <> authenticate().35
6.3.1.5.3 Method abortAuthentication().36
6.3.1.5.4 Method authenticationSucceeded().36
6.3.1.5.5 Method selectAuthenticationMechanism().36
6.3.1.5.6 Method challenge().37
6.3.1.6 Interface Class IpAccess .38
ETSI
4 ETSI ES 203 915-3 V1.3.1 (2008-04)
6.3.1.6.1 Method obtainInterface().38
6.3.1.6.2 Method obtainInterfaceWithCallback().39
6.3.1.6.3 Method <> endAccess().39
6.3.1.6.4 Method listInterfaces().40
6.3.1.6.5 Method <> releaseInterface().40
6.3.1.6.6 Method selectSigningAlgorithm().40
6.3.1.6.7 Method terminateAccess().41
6.3.1.6.8 Method relinquishInterface().41
6.4 State Transition Diagrams .42
6.4.1 Trust and Security Management State Transition Diagrams .42
6.4.1.1 State Transition Diagrams for IpInitial .42
6.4.1.2 State Transition Diagrams for IpAPILevelAuthentication.43
6.4.1.2.1 Idle State.43
6.4.1.2.2 Authenticating Framework State .44
6.4.1.2.3 Framework Authenticated State.44
6.4.1.2.4 Authenticating Client State.44
6.4.1.2.5 Client Authenticated State .44
6.4.1.2.6 Idle State.45
6.4.1.2.7 Authenticating Framework State .46
6.4.1.2.8 Framework Authenticated State.46
6.4.1.2.9 Authenticating Client State.46
6.4.1.2.10 Client Authenticated State .46
6.4.1.2.11 Idle State.47
6.4.1.2.12 Authenticating Framework State .47
6.4.1.2.13 Framework Authenticated State.48
6.4.1.2.14 Authenticating Client State.48
6.4.1.2.15 Client Authenticated State .48
6.4.1.2.16 Idle State.49
6.4.1.2.17 Authenticating Framework State .49
6.4.1.2.18 Framework Authenticated State.50
6.4.1.2.19 Authenticating Client State.50
6.4.1.2.20 Client Authenticated State .50
6.4.1.3 State Transition Diagrams for IpAccess.51
6.4.1.3.1 Active State.51
7 Framework-to-Application API.52
7.1 Sequence Diagrams.52
7.1.1 Event Notification Sequence Diagrams .52
7.1.1.1 Enable Event Notification .52
7.1.2 Integrity Management Sequence Diagrams .53
7.1.2.1 Load Management: Suspend/resume notification from application.53
7.1.2.2 Load Management: Framework queries load statistics .54
7.1.2.3 Load Management: Framework callback registration and Application load control .55
7.1.2.4 Load Management: Application reports current load condition.56
7.1.2.5 Load Management: Application queries load statistics.56
7.1.2.6 Load Management: Application callback registration and load control.57
7.1.2.7 Heartbeat Management: Start/perform/end heartbeat supervision of the application .58
7.1.2.8 Fault Management: Framework detects a Service failure .59
7.1.2.9 Fault Management: Application requests a Framework activity test .60
7.1.3 Service Agreement Management Sequence Diagrams .60
7.1.3.1 Service Selection.60
7.1.4 Service Discovery Sequence Diagrams .62
7.1.4.1 Service Discovery.62
7.2 Class Diagrams.65
7.3 Interface Classes.67
7.3.1 Service Discovery Interface Classes.67
7.3.1.1 Interface Class IpServiceDiscovery .67
7.3.1.1.1 Method listServiceTypes().68
7.3.1.1.3 Method discoverService().69
7.3.1.1.4 Method listSubscribedServices().70
7.3.2 Service Agreement Management Interface Classes.70
7.3.2.1 Interface Class IpAppServiceAgreementManagement .70
ETSI
5 ETSI ES 203 915-3 V1.3.1 (2008-04)
7.3.2.1.1 Method signServiceAgreement().71
7.3.2.1.2 Method terminateServiceAgreement().71
7.3.2.2 Interface Class IpServiceAgreementManagement .72
7.3.2.2.1 Method signServiceAgreement().72
7.3.2.2.2 Method terminateServiceAgreement().73
7.3.2.2.3 Method selectService().74
7.3.2.2.4 Method initiateSignServiceAgreement().74
7.3.3 Integrity Management Interface Classes.75
7.3.3.1 Interface Class IpAppFaultManager .75
7.3.3.1.1 Method activityTestRes().76
7.3.3.1.2 Method appActivityTestReq().76
7.3.3.1.3 Method <> fwFaultReportInd() .76
7.3.3.1.4 Method <> fwFaultRecoveryInd().76
7.3.3.1.5 Method <> svcUnavailableInd().76
7.3.3.1.6 Method <> genFaultStatsRecordRes().77
7.3.3.1.7 Method <> fwUnavailableInd() .77
7.3.3.1.8 Method activityTestErr().77
7.3.3.1.9 Method <> genFaultStatsRecordErr().77
7.3.3.1.10 Method appUnavailableInd().78
7.3.3.1.11 Method <> genFaultStatsRecordReq() .78
7.3.3.1.12 Method svcAvailStatusInd().78
7.3.3.1.13 Method <> generateFaultStatisticsRecordRes().78
7.3.3.1.14 Method <> generateFaultStatisticsRecordErr().79
7.3.3.1.15 Method <> generateFaultStatisticsRecordReq().79
7.3.3.1.16 Method <> fwAvailStatusInd().79
7.3.3.2 Interface Class IpFaultManager .80
7.3.3.2.1 Method activityTestReq().81
7.3.3.2.2 Method appActivityTestRes().81
7.3.3.2.3 Method svcUnavailableInd().81
7.3.3.2.4 Method <> genFaultStatsRecordReq() .82
7.3.3.2.5 Method appActivityTestErr().82
7.3.3.2.6 Method <> appUnavailableInd().82
7.3.3.2.7 Method <> genFaultStatsRecordRes().83
7.3.3.2.8 Method <> genFaultStatsRecordErr().83
7.3.3.2.9 Method appAvailStatusInd().83
7.3.3.2.10 Method <> generateFaultStatisticsRecordReq().84
7.3.3.2.11 Method <> generateFaultStatisticsRecordRes().84
7.3.3.2.12 Method <> generateFaultStatisticsRecordErr().85
7.3.3.3 Interface Class IpAppHeartBeatMgmt.85
7.3.3.3.1 Method enableAppHeartBeat().85
7.3.3.3.2 Method disableAppHeartBeat().86
7.3.3.3.3 Method changeInterval().86
7.3.3.4 Interface Class IpAppHeartBeat.86
7.3.3.4.1 Method pulse().86
7.3.3.5 Interface Class IpHeartBeatMgmt.86
7.3.3.5.1 Method enableHeartBeat().87
7.3.3.5.2 Method disableHeartBeat().87
7.3.3.5.3 Method changeInterval().87
7.3.3.6 Interface Class IpHeartBeat .88
7.3.3.6.1 Method pulse().88
7.3.3.7 Interface Class IpAppLoadManager .88
7.3.3.7.1 Method <> queryAppLoadReq() .89
7.3.3.7.2 Method <> queryLoadRes().89
7.3.3.7.3 Method <> queryLoadErr().90
7.3.3.7.4 Method loadLevelNotification().90
7.3.3.7.5 Method resumeNotification().90
7.3.3.7.6 Method suspendNotification().90
7.3.3.7.7 Method createLoadLevelNotification().90
7.3.3.7.8 Method destroyLoadLevelNotification().91
7.3.3.7.9 Method <> queryAppLoadStatsReq() .91
7.3.3.7.10 Method <> queryLoadStatsRes() .91
7.3.3.7.11 Method <> queryLoadStatsErr() .91
ETSI
6 ETSI ES 203 915-3 V1.3.1 (2008-04)
7.3.3.8 Interface Class IpLoadManager .92
7.3.3.8.1 Method reportLoad().93
7.3.3.8.2 Method <> queryLoadReq().93
7.3.3.8.3 Method <> queryAppLoadRes().93
7.3.3.8.4 Method <> queryAppLoadErr().94
7.3.3.8.5 Method createLoadLevelNotification().94
7.3.3.8.6 Method destroyLoadLevelNotification().94
7.3.3.8.7 Method resumeNotification().95
7.3.3.8.8 Method suspendNotification().95
7.3.3.8.9 Method <> queryLoadStatsReq().95
7.3.3.8.10 Method <> queryAppLoadStatsRes().96
7.3.3.8.11 Method <> queryAppLoadStatsErr().96
7.3.3.9 Interface Class IpOAM .97
7.3.3.9.1 Method systemDateTimeQuery().97
7.3.3.10 Interface Class IpAppOAM .97
7.3.3.10.1 Method systemDateTimeQuery().98
7.3.4 Event Notification Interface Classes.98
7.3.4.1 Interface Class IpAppEventNotification .98
7.3.4.1.1 Method reportNotification().98
7.3.4.1.2 Method notificationTerminated().98
7.3.4.2 Interface Class IpEventNotification .99
7.3.4.2.1 Method createNotification().99
7.3.4.2.2 Method destroyNotification().99
7.4 State Transition Diagrams .100
7.4.1 Service Discovery State Transition Diagrams .100
7.4.1.1 State Transition Diagrams for IpServiceDiscovery.100
7.4.1.1.1 Active State.100
7.4.2 Service Agreement Management State Transition Diagrams .100
7.4.3 Integrity Management State Transition Diagrams .101
7.4.3.1 State Transition Diagrams for IpLoadManager.101
7.4.3.1.1 Idle State.101
7.4.3.1.2 Notification Suspended State.101
7.4.3.1.3 Active State.102
7.4.3.2 State Transition Diagrams for LoadManagerInternal.102
7.4.3.2.1 Normal load State.102
7.4.3.2.2 Application Overload State .102
7.4.3.2.3 Internal overload State.102
7.4.3.2.4 Internal and Application Overload State .103
7.4.3.3 State Transition Diagrams for IpOAM.103
7.4.3.3.1 Active State.103
7.4.3.4 State Transition Diagrams for IpFaultManager.103
7.4.3.4.1 Framework Active State.104
7.4.3.4.2 Framework Faulty State.104
7.4.3.4.3 Framework Activity Test State.104
7.4.3.4.4 Service Activity Test State .104
7.4.4 Event Notification State Transition Diagrams .104
7.4.4.1 State Transition Diagrams for IpEventNotification .104
8 Framework-to-Enterprise Operator API.104
8.1 Sequence Diagrams.108
8.1.1 Event Notification Sequence Diagrams .108
8.1.2 Service Subscription Sequence Diagrams.108
8.1.2.1 Service Discovery and Subscription Scenario.108
8.1.2.2 Enterprise Operator and Client Application Subscription Management Sequence Diagram .110
8.2 Class Diagrams.112
8.3 Interface Classes.113
8.3.1 Event Notification Interface Classes.113
8.3.1.1 Interface Class IpClientEventNotification .113
8.3.1.1.1 Method reportNotification().114
8.3.1.1.2 Method notificationTerminated().114
8.3.1.2 Interface Class IpEventNotification .114
8.3.1.2.1 Method createNotification().115
ETSI
7 ETSI ES 203 915-3 V1.3.1 (2008-04)
8.3.1.2.2 Method destroyNotification().115
8.3.2 Service Subscription Interface Classes .115
8.3.2.1 Interface Class IpClientAppManagement .115
8.3.2.1.1 Method createClientApp().116
8.3.2.1.2 Method modifyClientApp().116
8.3.2.1.3 Method deleteClientApp().117
8.3.2.1.4 Method createSAG().117
8.3.2.1.5 Method modifySAG().117
8.3.2.1.6 Method deleteSAG().118
8.3.2.1.7 Method addSAGMembers().118
8.3.2.1.8 Method removeSAGMembers().118
8.3.2.1.9 Method requestConflictInfo().119
8.3.2.2 Interface Class IpClientAppInfoQuery .119
8.3.2.2.1 Method describeClientApp().120
8.3.2.2.2 Method listClientApps().120
8.3.2.2.3 Method describeSAG().121
8.3.2.2.4 Method listSAGs().121
8.3.2.2.5 Method listSAGMembers().121
8.3.2.2.6 Method listClientAppMembership().122
8.3.2.3 Interface Class IpServiceProfileManagement .122
8.3.2.3.1 Method createServiceProfile().123
8.3.2.3.2 Method modifyServiceProfile().123
8.3.2.3.3 Method deleteServiceProfile().123
8.3.2.3.4 Method assign().124
8.3.2.3.5 Method deassign().124
8.3.2.3.6 Method requestConflictInfo().124
8.3.2.4 Interface Class IpServiceProfileInfoQuery .125
8.3.2.4.1 Method listServiceProfiles().125
8.3.2.4.2 Method describeServiceProfile().126
8.3.2.4.3 Method listAssignedMembers().126
8.3.2.5 Interface Class IpServiceContractManagement .126
8.3.2.5.1 Method createServiceContract().127
8.3.2.5.2 Method modifyServiceContract().127
8.3.2.5.3 Method deleteServiceContract().128
8.3.2.6 Interface Class IpServiceContractInfoQuery .128
8.3.2.6.1 Method describeServiceContract().128
8.3.2.6.2 Method listServiceContracts().129
8.3.2.6.3 Method listServiceProfiles().129
8.3.2.7 Interface Class IpEntOpAccountManagement.130
8.3.2.7.1 Method modifyEntOpAccount().130
8.3.2.7.2 Method deleteEntOpAccount().130
8.3.2.8 Interface Class IpEntOpAccountInfoQuery .131
8.3.2.8.1 Method describeEntOpAccount().131
8.4 State Transition Diagrams .131
8.4.1 Event Notification State Transition Diagrams .131
8.4.2 Service Subscription State Transition Diagrams.
...