Open Service Access (OSA) - Application Programming Interface (API) - Part 9: Generic Messaging SCF (Parlay 6)

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 9 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 Generic Messaging Service Capability Feature (SCF) aspects of the interface. All aspects of the Generic Messaging 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.
The process by which this task is accomplished is through the use of object modelling techniques described by the Unified Modelling Language (UML).

Odprti dostop do storitve (OSA) - Aplikacijski programski vmesnik (API) - 9. del: Lastnost storitvene zmožnosti (SCF) za generično sporočanje (Parlay 6)

General Information

Status
Published
Publication Date
01-Jul-2008
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
11-Jun-2008
Due Date
16-Aug-2008
Completion Date
02-Jul-2008
Standard
ETSI ES 204 915-9 V1.1.1 (2008-02) - Open Service Access (OSA); Application Programming Interface (API); Part 9: Generic Messaging SCF (Parlay 6)
English language
41 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ETSI ES 204 915-9 V1.1.1 (2008-05) - Open Service Access (OSA); Application Programming Interface (API); Part 9: Generic Messaging SCF (Parlay 6)
English language
41 pages
sale 15% off
Preview
sale 15% off
Preview
Standardization document
SIST ES 204 915-9 V1.1.1:2008
English language
41 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)


Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 9: Generic Messaging SCF
(Parlay 6)

2 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)

Reference
DES/TISPAN-01032-9-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-9 V1.1.1 (2008-02)
Contents
Intellectual Property Rights.6
Foreword.6
1 Scope.7
2 References.7
3 Definitions and abbreviations.7
3.1 Definitions.7
3.2 Abbreviations.7
4 Generic Messaging SCF.7
5 Sequence Diagrams.8
5.1 Prepare Mailbox.8
5.2 Open Mailbox.9
5.3 Get Message.9
5.4 Get Folder Information.10
5.5 Close Mailbox.11
6 Class Diagrams.11
7 The Service Interface Specifications.12
7.1 Interface Specification Format .12
7.1.1 Interface Class.12
7.1.2 Method descriptions.12
7.1.3 Parameter descriptions.13
7.1.4 State Model.13
7.2 Base Interface.13
7.2.1 Interface Class IpInterface .13
7.3 Service Interfaces.13
7.3.1 Overview.13
7.4 Generic Service Interface .13
7.4.1 Interface Class IpService .13
7.4.1.1 Method setCallback().14
7.4.1.2 Method setCallbackWithSessionID().14
8 Generic Messaging Interface Classes.14
8.1 Interface Class IpMessagingManager .15
8.1.1 Method openMailbox().15
8.1.2 Method enableMessagingNotification().16
8.1.3 Method disableMessagingNotification().16
8.2 Interface Class IpAppMessagingManager.16
8.2.1 Method mailboxTerminated().17
8.2.2 Method mailboxFaultDetected().17
8.2.3 Method messagingEventNotify().17
8.2.4 Method messagingNotificationTerminated().18
8.3 Interface Class IpMailbox .18
8.3.1 Method close().18
8.3.2 Method lock().19
8.3.3 Method unlock().19
8.3.4 Method getInfoAmount().19
8.3.5 Method getInfoProperties().20
8.3.6 Method setInfoProperties().20
8.3.7 Method openFolder().21
8.3.8 Method createFolder().21
8.3.9 Method remove().21
8.4 Interface Class IpMailboxFolder.22
8.4.1 Method getInfoAmount().22
ETSI
4 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
8.4.2 Method getInfoProperties().23
8.4.3 Method setInfoProperties().23
8.4.4 Method putMessage().24
8.4.5 Method getMessage().24
8.4.6 Method close().25
8.4.7 Method remove().25
8.5 Interface Class IpMessage.25
8.5.1 Method getInfoAmount().26
8.5.2 Method getInfoProperties().26
8.5.3 Method setInfoProperties().27
8.5.4 Method remove().28
8.5.5 Method getContent().28
9 State Transition Diagrams.28
10 Data Definitions.29
10.1 Event notification Definitions .29
10.1.1 TpMessagingEventName.29
10.1.2 TpMessagingEventCriteria.29
10.1.3 TpGMSNewMessageArrivedCriteria.29
10.1.4 TpMessagingEventInfo.29
10.1.5 TpGMSNewMessageArrivedInfo.30
10.2 Generic Messaging Data Definitions.30
10.2.1 IpMessagingManager.30
10.2.2 IpMessagingManagerRef.30
10.2.3 IpAppMessagingManager.30
10.2.4 IpAppMessagingManagerRef.30
10.2.5 IpMailbox.30
10.2.6 IpMailboxRef.30
10.2.7 IpMailboxFolder.30
10.2.8 IpMailboxFolderRef.30
10.2.9 IpMessage.30
10.2.10 IpMessageRef .30
10.2.11 TpFolderInfoProperty.31
10.2.12 TpFolderInfoPropertyName.31
10.2.13 TpFolderInfoPropertySet.31
10.2.14 TpMailboxFolderIdentifier.31
10.2.15 TpMailboxIdentifier.31
10.2.16 TpMailboxInfoProperty.32
10.2.17 TpMailboxInfoPropertyName.32
10.2.18 TpMailboxInfoPropertySet.32
10.2.19 TpMessage.32
10.2.20 TpMessageFormat.32
10.2.21 TpMessageInfoProperty.32
10.2.22 TpMessageInfoPropertyName.33
10.2.23 TpMessageInfoPropertySet.33
10.2.24 TpMessagePriority.33
10.2.25 TpMessageStatus.34
10.2.26 TpMessagingFault.34
11 Exception Classes.34
Annex A (normative): OMG IDL Description of Generic Messaging SCF .35
Annex B (informative): W3C WSDL Description of Generic Messaging SCF.36
Annex C (informative): Java™ API Description of the Generic Messaging SCF .37
Annex D (informative): Record of changes .38
D.1 Interfaces.38
D.1.1 New.38
D.1.1 Deprecated.38
D.1.3 Removed.38
ETSI
5 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
D.2 Methods.38
D.2.1 New.38
D.2.2 Deprecated.38
D.2.3 Modified.39
D.2.4 Removed.39
D.3 Data Definitions.39
D.3.1 New.39
D.3.2 Modified.39
D.3.3 Removed.39
D.4 Service Properties.39
D.4.1 New.39
D.4.2 Deprecated.40
D.4.3 Modified.40
D.4.4 Removed.40
D.5 Exceptions.40
D.5.1 New.40
D.5.2 Modified.40
D.5.3 Removed.40
D.6 Others.40
History .41

ETSI
6 Final draft ETSI ES 204 915-9 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 9 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.
ETSI
7 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
1 Scope
The present document is part 9 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 Generic Messaging Service Capability Feature (SCF) aspects of the interface. All
aspects of the Generic Messaging 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.
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.
4 Generic Messaging SCF
The following clauses describe each aspect of the Generic Messaging 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.
ETSI
8 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
• 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.
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.
5 Sequence Diagrams
5.1 Prepare Mailbox
: : :
IpAppLogic IpAppMess agingManager IpMessagingManager
1: new()
2: enableMessagingNotification( )
3: messagingEventNotify(  )
4: 'forward event'
1: This message is used by the application to create an object implementing the IpAppMessagingManager
interface.
2: This message is used to enable the notification mechanism so that events can be sent to the application.
When new mail, that matches the event criteria set in message 2, arrives a message indicating the presence of
new mail (not shown) is directed to the object implementing the IpMessagingManager.
3: This message is used to pass the new mail event to the object implementing the IpAppMessagingManager
interface.
4: This message is used to forward message 3 to the IpAppLogic.
ETSI
9 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
5.2 Open Mailbox
: : : IpMailbox
IpAppLogic IpMessagingManager
1: openMailbox( )
2: new()
1: This message requests the object implementing the IpMessagingManager interface to create an object
implementing the IpMailbox interface.
2: Assuming that the criteria for creating an object implementing the IpMailbox interface is met, message 2 is
used to create it.
5.3 Get Message
: : IpMailbox : IpMailboxFolder : IpMessage
IpAppLogic
1: openFolder( )
2: getInfoAmount( )
3: getInfoProperties(  )
4: getMessage( )
5: new()
1: This message requests a folder to be opened and returns a reference to that folder.
2: This message requests the number of folder information properties of the opened folder.
3: This message requests all of the folder information properties.
ETSI
10 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
4: This message requests a message from the opened mailbox folder.
5: Assuming that the criteria for creating an object implementing the IpMessage interface are met, the (internal)
message 5 is used to create it.
5.4 Get Folder Information
: :
IpAppLogic IpMailboxFolder
1: getInfoAmount( )
2: getInfoProperties(  )
3: getInfoProperties(  )
1: This message requests the number of folder information properties of the specified folder.
2: This message requests the first set of folder information properties.
3: This message requests the second set of folder information properties.
ETSI
11 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
5.5 Close Mailbox
: : IpMailbox
IpAppLogic
1: close( )
1: This message requests the object implementing the IpMailbox interface to de-assign.
6 Class Diagrams
<>
IpService
(f ro m c sap i)
setCallback()
setCallbackWithSessionID()
<> <> <> <>
IpMessagingManager IpMailbox IpMailboxFolder IpMessage
(from gms) (from gms) (from gms) (from gms)
00.n.n
11 00.n.n 11 22.n.n 11
Figure 1: Package Overview : Service Interfaces
The application generic messaging service package consists of only one IpAppMessagingManager interface.
The generic messaging service package consists of one IpMessagingManager interface, zero or more IpMailbox
interfaces, zero or more IpMailboxFolder and zero or more IpMessage interfaces.
The class diagram in the following figure shows the interfaces that make up the application generic messaging service
package and the generic messaging service package. Communication between these packages is done via the +uses the
IpMessagingManager channels. Communication with the IpMailbox and IpMailboxFolder interfaces has to be done via
the application logic (not shown).
ETSI
12 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
<>
IpInterface
(from csapi)
<>
IpAppMessagingManager
(from gms)
mailboxTerminated()
mailboxFaultDetected()
messagingEventNotify()
messagingNotificationTerminated()
<>
<>
IpMailbox <>
(from gms)
IpMailboxFolder <>
(from gms)
<> IpMessage
(from gms)
IpMessagingManager
close()
(from gms)
lock() getInfoAmount()
unlock() getInfoProperties() getInfoAmount()
openMailbox() getInfoAmount() setInfoProperties() getInfoProperties()
1100.nn
1100.nn 11 22.n.n
enableMessagingNotification() getInfoProperties() putMessage() setInfoProperties()
disableMessagingNotification() setInfoProperties() getMessage() remove()
openFolder() close() getContent()
createFolder() remove()
remove()
Figure 2: Package Overview: Application and 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.
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.
ETSI
13 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
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'.
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

ETSI
14 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
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_TYPE
7.4.1.2 Method setCallbackWithSessionID()
This method specifies the reference address of the application's callback interface that a service uses for interactions
associated with a specific session ID: e.g. a specific call, or call leg. It is not allowed to invoke this method on an
interface that does not use 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.
sessionID : in TpSessionID
Specifies the session for which the service can invoke the application's callback interface.
Raises
TpCommonExceptions, P_INVALID_SESSION_ID, P_INVALID_INTERFACE_TYPE
8 Generic Messaging Interface Classes
The Generic Messaging Service interface (GMS) is used by applications to send, store and receive messages. GMS has
voice mail and electronic mail as the messaging mechanisms. The messaging service interface can be used by both.
A messaging system is assumed to have the following entities:
· Mailboxes. This is the application's main entry point to the messaging system. The framework may or may not need to
authenticate an application before it accesses a mailbox.
· Folders. A mailbox has at least the inbox and the outbox as folders. The name of the inbox is "INBOX", and the name
of the outbox is "OUTBOX". These folders may have sub-folders. The names of these sub-folders are appended to their
parents' names with '/' as the delimiter. For instance, if there is a sub-folder in INBOX called 'Personal' and a sub-folder
in that folder called 'archive' then the fully qualified names, which are required for all operations, of the four folders are
'INBOX', 'OUTBOX', 'INBOX/Personal', and 'INBOX/Personal/archive'. The names are case sensitive. A messaging
service may have other folders other than the inbox and the outbox.
· Messages. Messages are stored in folders. Messages usually have properties associated with them.
The GMS is represented by the IpMessagingManager, IpMailbox, IpMailboxFolder and IpMessage interfaces to
services provided by the network. To handle responses and reports, the developer must implement
IpAppMessagingManager to provide the callback mechanism for the Messaging service manager.
ETSI
15 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
8.1 Interface Class IpMessagingManager
Inherits from: IpService.
This interface is the 'service manager' interface for the Generic Messaging Service. The generic messaging manager
interface provides the management functions to the generic messaging service. The application programmer can use this
interface to open mailbox objects and also to enable or disable event notifications.
<>
IpMessagingManager
openMailbox (mailboxID : in TpAddress, authenticationInfo : in TpString) : TpMailboxIdentifier
enableMessagingNotification (appInterface : in IpAppMessagingManagerRef, eventCriteria : in
TpMessagingEventCriteria) : TpAssignmentID
disableMessagingNotification (assignmentID : in TpAssignmentID) : void

8.1.1 Method openMailbox()
This method opens a mailbox for the application. The session ID for use by the application is returned. Authentication
information may be needed to open the mailbox.
The application can open more than one mailbox at the same time. The application is not allowed to open the same
mailbox more than once at the same time.
Returns: mailboxReference.
Specifies the reference to the opened mailbox.
Parameters
mailboxID : in TpAddress
Specifies the identity of the mailbox. If the mailbox chosen is invalid, the error code P_GMS_INVALID_MAILBOX is
returned.
authenticationInfo : in TpString
Authentication information needed for the application to open a mailbox in the messaging system, such as a key or
password. If the authentication process is considered strong enough for the application to gain access to the mailbox,
then the authentication information will be an empty string. If the authentication information is not valid, the error code
P_GMS_INVALID_AUTHENTICATION_INFORMATION is returned.
Returns
TpMailboxIdentifier
Raises
TpCommonExceptions, P_GMS_INVALID_MAILBOX,
P_GMS_INVALID_AUTHENTICATION_INFORMATION
ETSI
16 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
8.1.2 Method enableMessagingNotification()
This method is used to enable messaging notifications so that events can be sent to the application.
Returns: assignmentID.
Specifies the ID assigned by the generic messaging manager interface for this newly-enabled event notification.
Parameters
appInterface : in IpAppMessagingManagerRef
If this parameter is set (i.e. not NULL) it specifies a reference to the application interface, which is used for callbacks. If
set to NULL, the application interface defaults to the interface specified via the setCallback() method.
eventCriteria : in TpMessagingEventCriteria
Specifies the event specific criteria used by the application to define the event required.
Returns
TpAssignmentID
Raises
TpCommonExceptions, P_INVALID_CRITERIA
8.1.3 Method disableMessagingNotification()
This method is used by the application to disable call notifications.
Parameters
assignmentID : in TpAssignmentID
Specifies the assignment ID given by the generic messaging manager interface when the previous enableNotification()
was called. If the assignment ID does not correspond to one of the valid assignment IDs, the framework will return the
error code P_INVALID_ASSIGNMENTID.
Raises
TpCommonExceptions, P_INVALID_ASSIGNMENT_ID
8.2 Interface Class IpAppMessagingManager
Inherits from: IpInterface.
The client application developer implements the generic messaging manager application interface to handle mailbox
termination, mailbox fault and messaging event notifications.
ETSI
17 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
<>
IpAppMessagingManager
mailboxTerminated (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID) : void
mailboxFaultDetected (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID, fault : in
TpMessagingFault) : void
messagingEventNotify (messagingManager : in IpMessagingManagerRef, eventInfo : in
TpMessagingEventInfo, assignmentID : in TpAssignmentID) : void
messagingNotificationTerminated () : void

8.2.1 Method mailboxTerminated()
This method indicates to the application that the mailbox has terminated or closed abnormally. No further
communication will be possible between the mailbox and application.
Parameters
mailbox : in IpMailboxRef
Specifies the interface of the mailbox that has terminated.
mailboxSessionID : in TpSessionID
Specifies the mailbox session ID of the mailbox that has terminated.
8.2.2 Method mailboxFaultDetected()
This method indicates to the application that a fault has been detected in the mailbox.
Parameters
mailbox : in IpMailboxRef
Specifies the interface of the mailbox in which the fault has been detected.
mailboxSessionID : in TpSessionID
Specifies the mailbox session ID of the mailbox in which the fault has been detected.
fault : in TpMessagingFault
Specifies the fault that has been detected.
8.2.3 Method messagingEventNotify()
This method notifies the application of the arrival of a messaging-related event.
Parameters
messagingManager : in IpMessagingManagerRef
Specifies the reference to the messaging manager interface to which the notification relates.
ETSI
18 Final draft ETSI ES 204 915-9 V1.1.1 (2008-02)
eventInfo : in TpMessagingEventInfo
Specifies data associated with this event.
assignmentID : in TpAssignmentID
Specifies the assignment id which was returned by the enableNotification() method. The application can use assignment
id to associate events with event specific criteria and to act accordingly.
8.2.4 Method messagingNotificationTerminated()
This method indicates to the application that all event n
...


ETSI Standard
Open Service Access (OSA);
Application Programming Interface (API);
Part 9: Generic Messaging SCF
(Parlay 6)

2 ETSI ES 204 915-9 V1.1.1 (2008-05)

Reference
DES/TISPAN-01032-9-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-9 V1.1.1 (2008-05)
Contents
Intellectual Property Rights.6
Foreword.6
1 Scope.7
2 References.7
3 Definitions and abbreviations.7
3.1 Definitions.7
3.2 Abbreviations.7
4 Generic Messaging SCF.7
5 Sequence Diagrams.8
5.1 Prepare Mailbox.8
5.2 Open Mailbox.9
5.3 Get Message.9
5.4 Get Folder Information.10
5.5 Close Mailbox.11
6 Class Diagrams.11
7 The Service Interface Specifications.12
7.1 Interface Specification Format .12
7.1.1 Interface Class.12
7.1.2 Method descriptions.12
7.1.3 Parameter descriptions.13
7.1.4 State Model.13
7.2 Base Interface.13
7.2.1 Interface Class IpInterface .13
7.3 Service Interfaces.13
7.3.1 Overview.13
7.4 Generic Service Interface .13
7.4.1 Interface Class IpService .13
7.4.1.1 Method setCallback().14
7.4.1.2 Method setCallbackWithSessionID().14
8 Generic Messaging Interface Classes.14
8.1 Interface Class IpMessagingManager .15
8.1.1 Method openMailbox().15
8.1.2 Method enableMessagingNotification().16
8.1.3 Method disableMessagingNotification().16
8.2 Interface Class IpAppMessagingManager.16
8.2.1 Method mailboxTerminated().17
8.2.2 Method mailboxFaultDetected().17
8.2.3 Method messagingEventNotify().17
8.2.4 Method messagingNotificationTerminated().18
8.3 Interface Class IpMailbox .18
8.3.1 Method close().18
8.3.2 Method lock().19
8.3.3 Method unlock().19
8.3.4 Method getInfoAmount().19
8.3.5 Method getInfoProperties().20
8.3.6 Method setInfoProperties().20
8.3.7 Method openFolder().21
8.3.8 Method createFolder().21
8.3.9 Method remove().21
8.4 Interface Class IpMailboxFolder.22
8.4.1 Method getInfoAmount().22
ETSI
4 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.4.2 Method getInfoProperties().23
8.4.3 Method setInfoProperties().23
8.4.4 Method putMessage().24
8.4.5 Method getMessage().24
8.4.6 Method close().25
8.4.7 Method remove().25
8.5 Interface Class IpMessage.25
8.5.1 Method getInfoAmount().26
8.5.2 Method getInfoProperties().26
8.5.3 Method setInfoProperties().27
8.5.4 Method remove().28
8.5.5 Method getContent().28
9 State Transition Diagrams.28
10 Data Definitions.29
10.1 Event notification Definitions .29
10.1.1 TpMessagingEventName.29
10.1.2 TpMessagingEventCriteria.29
10.1.3 TpGMSNewMessageArrivedCriteria.29
10.1.4 TpMessagingEventInfo.29
10.1.5 TpGMSNewMessageArrivedInfo.30
10.2 Generic Messaging Data Definitions.30
10.2.1 IpMessagingManager.30
10.2.2 IpMessagingManagerRef.30
10.2.3 IpAppMessagingManager.30
10.2.4 IpAppMessagingManagerRef.30
10.2.5 IpMailbox.30
10.2.6 IpMailboxRef.30
10.2.7 IpMailboxFolder.30
10.2.8 IpMailboxFolderRef.30
10.2.9 IpMessage.30
10.2.10 IpMessageRef .30
10.2.11 TpFolderInfoProperty.31
10.2.12 TpFolderInfoPropertyName.31
10.2.13 TpFolderInfoPropertySet.31
10.2.14 TpMailboxFolderIdentifier.31
10.2.15 TpMailboxIdentifier.31
10.2.16 TpMailboxInfoProperty.32
10.2.17 TpMailboxInfoPropertyName.32
10.2.18 TpMailboxInfoPropertySet.32
10.2.19 TpMessage.32
10.2.20 TpMessageFormat.32
10.2.21 TpMessageInfoProperty.32
10.2.22 TpMessageInfoPropertyName.33
10.2.23 TpMessageInfoPropertySet.33
10.2.24 TpMessagePriority.33
10.2.25 TpMessageStatus.34
10.2.26 TpMessagingFault.34
11 Exception Classes.34
Annex A (normative): OMG IDL Description of Generic Messaging SCF .35
Annex B (informative): W3C WSDL Description of Generic Messaging SCF.36
Annex C (informative): Java™ API Description of the Generic Messaging SCF .37
Annex D (informative): Record of changes .38
D.1 Interfaces.38
D.1.1 New.38
D.1.1 Deprecated.38
D.1.3 Removed.38
ETSI
5 ETSI ES 204 915-9 V1.1.1 (2008-05)
D.2 Methods.38
D.2.1 New.38
D.2.2 Deprecated.38
D.2.3 Modified.39
D.2.4 Removed.39
D.3 Data Definitions.39
D.3.1 New.39
D.3.2 Modified.39
D.3.3 Removed.39
D.4 Service Properties.39
D.4.1 New.39
D.4.2 Deprecated.40
D.4.3 Modified.40
D.4.4 Removed.40
D.5 Exceptions.40
D.5.1 New.40
D.5.2 Modified.40
D.5.3 Removed.40
D.6 Others.40
History .41

ETSI
6 ETSI ES 204 915-9 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 9 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.
ETSI
7 ETSI ES 204 915-9 V1.1.1 (2008-05)
1 Scope
The present document is part 9 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 Generic Messaging Service Capability Feature (SCF) aspects of the interface. All
aspects of the Generic Messaging 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.
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.
4 Generic Messaging SCF
The following clauses describe each aspect of the Generic Messaging 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.
ETSI
8 ETSI ES 204 915-9 V1.1.1 (2008-05)
• 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.
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.
5 Sequence Diagrams
5.1 Prepare Mailbox
: : :
IpAppLogic IpAppMess agingManager IpMessagingManager
1: new()
2: enableMessagingNotification( )
3: messagingEventNotify(  )
4: 'forward event'
1: This message is used by the application to create an object implementing the IpAppMessagingManager
interface.
2: This message is used to enable the notification mechanism so that events can be sent to the application.
When new mail, that matches the event criteria set in message 2, arrives a message indicating the presence of
new mail (not shown) is directed to the object implementing the IpMessagingManager.
3: This message is used to pass the new mail event to the object implementing the IpAppMessagingManager
interface.
4: This message is used to forward message 3 to the IpAppLogic.
ETSI
9 ETSI ES 204 915-9 V1.1.1 (2008-05)
5.2 Open Mailbox
: : : IpMailbox
IpAppLogic IpMessagingManager
1: openMailbox( )
2: new()
1: This message requests the object implementing the IpMessagingManager interface to create an object
implementing the IpMailbox interface.
2: Assuming that the criteria for creating an object implementing the IpMailbox interface is met, message 2 is
used to create it.
5.3 Get Message
: : IpMailbox : IpMailboxFolder : IpMessage
IpAppLogic
1: openFolder( )
2: getInfoAmount( )
3: getInfoProperties(  )
4: getMessage( )
5: new()
1: This message requests a folder to be opened and returns a reference to that folder.
2: This message requests the number of folder information properties of the opened folder.
3: This message requests all of the folder information properties.
ETSI
10 ETSI ES 204 915-9 V1.1.1 (2008-05)
4: This message requests a message from the opened mailbox folder.
5: Assuming that the criteria for creating an object implementing the IpMessage interface are met, the (internal)
message 5 is used to create it.
5.4 Get Folder Information
: :
IpAppLogic IpMailboxFolder
1: getInfoAmount( )
2: getInfoProperties(  )
3: getInfoProperties(  )
1: This message requests the number of folder information properties of the specified folder.
2: This message requests the first set of folder information properties.
3: This message requests the second set of folder information properties.
ETSI
11 ETSI ES 204 915-9 V1.1.1 (2008-05)
5.5 Close Mailbox
: : IpMailbox
IpAppLogic
1: close( )
1: This message requests the object implementing the IpMailbox interface to de-assign.
6 Class Diagrams
<>
IpService
(f ro m c sap i)
setCallback()
setCallbackWithSessionID()
<> <> <> <>
IpMessagingManager IpMailbox IpMailboxFolder IpMessage
(from gms) (from gms) (from gms) (from gms)
00.n.n
11 00.n.n 11 22.n.n 11
Figure 1: Package Overview : Service Interfaces
The application generic messaging service package consists of only one IpAppMessagingManager interface.
The generic messaging service package consists of one IpMessagingManager interface, zero or more IpMailbox
interfaces, zero or more IpMailboxFolder and zero or more IpMessage interfaces.
The class diagram in the following figure shows the interfaces that make up the application generic messaging service
package and the generic messaging service package. Communication between these packages is done via the +uses the
IpMessagingManager channels. Communication with the IpMailbox and IpMailboxFolder interfaces has to be done via
the application logic (not shown).
ETSI
12 ETSI ES 204 915-9 V1.1.1 (2008-05)
<>
IpInterface
(from csapi)
<>
IpAppMessagingManager
(from gms)
mailboxTerminated()
mailboxFaultDetected()
messagingEventNotify()
messagingNotificationTerminated()
<>
<>
IpMailbox <>
(from gms)
IpMailboxFolder <>
(from gms)
<> IpMessage
(from gms)
IpMessagingManager
close()
(from gms)
lock() getInfoAmount()
unlock() getInfoProperties() getInfoAmount()
openMailbox() getInfoAmount() setInfoProperties() getInfoProperties()
1100.nn
1100.nn 11 22.n.n
enableMessagingNotification() getInfoProperties() putMessage() setInfoProperties()
disableMessagingNotification() setInfoProperties() getMessage() remove()
openFolder() close() getContent()
createFolder() remove()
remove()
Figure 2: Package Overview: Application and 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.
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.
ETSI
13 ETSI ES 204 915-9 V1.1.1 (2008-05)
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'.
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

ETSI
14 ETSI ES 204 915-9 V1.1.1 (2008-05)
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_TYPE
7.4.1.2 Method setCallbackWithSessionID()
This method specifies the reference address of the application's callback interface that a service uses for interactions
associated with a specific session ID: e.g. a specific call, or call leg. It is not allowed to invoke this method on an
interface that does not use 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.
sessionID : in TpSessionID
Specifies the session for which the service can invoke the application's callback interface.
Raises
TpCommonExceptions, P_INVALID_SESSION_ID, P_INVALID_INTERFACE_TYPE
8 Generic Messaging Interface Classes
The Generic Messaging Service interface (GMS) is used by applications to send, store and receive messages. GMS has
voice mail and electronic mail as the messaging mechanisms. The messaging service interface can be used by both.
A messaging system is assumed to have the following entities:
· Mailboxes. This is the application's main entry point to the messaging system. The framework may or may not need to
authenticate an application before it accesses a mailbox.
· Folders. A mailbox has at least the inbox and the outbox as folders. The name of the inbox is "INBOX", and the name
of the outbox is "OUTBOX". These folders may have sub-folders. The names of these sub-folders are appended to their
parents' names with '/' as the delimiter. For instance, if there is a sub-folder in INBOX called 'Personal' and a sub-folder
in that folder called 'archive' then the fully qualified names, which are required for all operations, of the four folders are
'INBOX', 'OUTBOX', 'INBOX/Personal', and 'INBOX/Personal/archive'. The names are case sensitive. A messaging
service may have other folders other than the inbox and the outbox.
· Messages. Messages are stored in folders. Messages usually have properties associated with them.
The GMS is represented by the IpMessagingManager, IpMailbox, IpMailboxFolder and IpMessage interfaces to
services provided by the network. To handle responses and reports, the developer must implement
IpAppMessagingManager to provide the callback mechanism for the Messaging service manager.
ETSI
15 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.1 Interface Class IpMessagingManager
Inherits from: IpService.
This interface is the 'service manager' interface for the Generic Messaging Service. The generic messaging manager
interface provides the management functions to the generic messaging service. The application programmer can use this
interface to open mailbox objects and also to enable or disable event notifications.
<>
IpMessagingManager
openMailbox (mailboxID : in TpAddress, authenticationInfo : in TpString) : TpMailboxIdentifier
enableMessagingNotification (appInterface : in IpAppMessagingManagerRef, eventCriteria : in
TpMessagingEventCriteria) : TpAssignmentID
disableMessagingNotification (assignmentID : in TpAssignmentID) : void

8.1.1 Method openMailbox()
This method opens a mailbox for the application. The session ID for use by the application is returned. Authentication
information may be needed to open the mailbox.
The application can open more than one mailbox at the same time. The application is not allowed to open the same
mailbox more than once at the same time.
Returns: mailboxReference.
Specifies the reference to the opened mailbox.
Parameters
mailboxID : in TpAddress
Specifies the identity of the mailbox. If the mailbox chosen is invalid, the error code P_GMS_INVALID_MAILBOX is
returned.
authenticationInfo : in TpString
Authentication information needed for the application to open a mailbox in the messaging system, such as a key or
password. If the authentication process is considered strong enough for the application to gain access to the mailbox,
then the authentication information will be an empty string. If the authentication information is not valid, the error code
P_GMS_INVALID_AUTHENTICATION_INFORMATION is returned.
Returns
TpMailboxIdentifier
Raises
TpCommonExceptions, P_GMS_INVALID_MAILBOX,
P_GMS_INVALID_AUTHENTICATION_INFORMATION
ETSI
16 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.1.2 Method enableMessagingNotification()
This method is used to enable messaging notifications so that events can be sent to the application.
Returns: assignmentID.
Specifies the ID assigned by the generic messaging manager interface for this newly-enabled event notification.
Parameters
appInterface : in IpAppMessagingManagerRef
If this parameter is set (i.e. not NULL) it specifies a reference to the application interface, which is used for callbacks. If
set to NULL, the application interface defaults to the interface specified via the setCallback() method.
eventCriteria : in TpMessagingEventCriteria
Specifies the event specific criteria used by the application to define the event required.
Returns
TpAssignmentID
Raises
TpCommonExceptions, P_INVALID_CRITERIA
8.1.3 Method disableMessagingNotification()
This method is used by the application to disable call notifications.
Parameters
assignmentID : in TpAssignmentID
Specifies the assignment ID given by the generic messaging manager interface when the previous enableNotification()
was called. If the assignment ID does not correspond to one of the valid assignment IDs, the framework will return the
error code P_INVALID_ASSIGNMENTID.
Raises
TpCommonExceptions, P_INVALID_ASSIGNMENT_ID
8.2 Interface Class IpAppMessagingManager
Inherits from: IpInterface.
The client application developer implements the generic messaging manager application interface to handle mailbox
termination, mailbox fault and messaging event notifications.
ETSI
17 ETSI ES 204 915-9 V1.1.1 (2008-05)
<>
IpAppMessagingManager
mailboxTerminated (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID) : void
mailboxFaultDetected (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID, fault : in
TpMessagingFault) : void
messagingEventNotify (messagingManager : in IpMessagingManagerRef, eventInfo : in
TpMessagingEventInfo, assignmentID : in TpAssignmentID) : void
messagingNotificationTerminated () : void

8.2.1 Method mailboxTerminated()
This method indicates to the application that the mailbox has terminated or closed abnormally. No further
communication will be possible between the mailbox and application.
Parameters
mailbox : in IpMailboxRef
Specifies the interface of the mailbox that has terminated.
mailboxSessionID : in TpSessionID
Specifies the mailbox session ID of the mailbox that has terminated.
8.2.2 Method mailboxFaultDetected()
This method indicates to the application that a fault has been detected in the mailbox.
Parameters
mailbox : in IpMailboxRef
Specifies the interface of the mailbox in which the fault has been detected.
mailboxSessionID : in TpSessionID
Specifies the mailbox session ID of the mailbox in which the fault has been detected.
fault : in TpMessagingFault
Specifies the fault that has been detected.
8.2.3 Method messagingEventNotify()
This method notifies the application of the arrival of a messaging-related event.
Parameters
messagingManager : in IpMessagingManagerRef
Specifies the reference to the messaging manager interface to which the notification relates.
ETSI
18 ETSI ES 204 915-9 V1.1.1 (2008-05)
eventInfo : in TpMessagingEventInfo
Specifies data associated with this event.
assignmentID : in TpAssignmentID
Specifies the assignment id which was returned by the enableNotification() method. The application can use assignment
id to associate events with event specific criteria and to act accordingly.
8.2.4 Method messagingNotificationTerminated()
This method indicates to the application that all event notifications have been terminated (for example, due to faults
detected).
Parameters
No Parameters were identified for this method.
8.3 Interface Class IpMailbox
Inherits from: IpService.
<>
IpMailbox
close (mailboxSessionID : in TpSessionID) : void
lock (mailboxSess
...


SLOVENSKI STANDARD
01-september-2008
2GSUWLGRVWRSGRVWRULWYH 26$ $SOLNDFLMVNLSURJUDPVNLYPHVQLN $3, GHO
/DVWQRVWVWRULWYHQH]PRåQRVWL 6&) ]DJHQHULþQRVSRURþDQMH 3DUOD\
Open Service Access (OSA) - Application Programming Interface (API) - Part 9: Generic
Messaging SCF (Parlay 6)
Ta slovenski standard je istoveten z: ES 204 915-9 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 9: Generic Messaging SCF
(Parlay 6)

2 ETSI ES 204 915-9 V1.1.1 (2008-05)

Reference
DES/TISPAN-01032-9-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-9 V1.1.1 (2008-05)
Contents
Intellectual Property Rights.6
Foreword.6
1 Scope.7
2 References.7
3 Definitions and abbreviations.7
3.1 Definitions.7
3.2 Abbreviations.7
4 Generic Messaging SCF.7
5 Sequence Diagrams.8
5.1 Prepare Mailbox.8
5.2 Open Mailbox.9
5.3 Get Message.9
5.4 Get Folder Information.10
5.5 Close Mailbox.11
6 Class Diagrams.11
7 The Service Interface Specifications.12
7.1 Interface Specification Format .12
7.1.1 Interface Class.12
7.1.2 Method descriptions.12
7.1.3 Parameter descriptions.13
7.1.4 State Model.13
7.2 Base Interface.13
7.2.1 Interface Class IpInterface .13
7.3 Service Interfaces.13
7.3.1 Overview.13
7.4 Generic Service Interface .13
7.4.1 Interface Class IpService .13
7.4.1.1 Method setCallback().14
7.4.1.2 Method setCallbackWithSessionID().14
8 Generic Messaging Interface Classes.14
8.1 Interface Class IpMessagingManager .15
8.1.1 Method openMailbox().15
8.1.2 Method enableMessagingNotification().16
8.1.3 Method disableMessagingNotification().16
8.2 Interface Class IpAppMessagingManager.16
8.2.1 Method mailboxTerminated().17
8.2.2 Method mailboxFaultDetected().17
8.2.3 Method messagingEventNotify().17
8.2.4 Method messagingNotificationTerminated().18
8.3 Interface Class IpMailbox .18
8.3.1 Method close().18
8.3.2 Method lock().19
8.3.3 Method unlock().19
8.3.4 Method getInfoAmount().19
8.3.5 Method getInfoProperties().20
8.3.6 Method setInfoProperties().20
8.3.7 Method openFolder().21
8.3.8 Method createFolder().21
8.3.9 Method remove().21
8.4 Interface Class IpMailboxFolder.22
8.4.1 Method getInfoAmount().22
ETSI
4 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.4.2 Method getInfoProperties().23
8.4.3 Method setInfoProperties().23
8.4.4 Method putMessage().24
8.4.5 Method getMessage().24
8.4.6 Method close().25
8.4.7 Method remove().25
8.5 Interface Class IpMessage.25
8.5.1 Method getInfoAmount().26
8.5.2 Method getInfoProperties().26
8.5.3 Method setInfoProperties().27
8.5.4 Method remove().28
8.5.5 Method getContent().28
9 State Transition Diagrams.28
10 Data Definitions.29
10.1 Event notification Definitions .29
10.1.1 TpMessagingEventName.29
10.1.2 TpMessagingEventCriteria.29
10.1.3 TpGMSNewMessageArrivedCriteria.29
10.1.4 TpMessagingEventInfo.29
10.1.5 TpGMSNewMessageArrivedInfo.30
10.2 Generic Messaging Data Definitions.30
10.2.1 IpMessagingManager.30
10.2.2 IpMessagingManagerRef.30
10.2.3 IpAppMessagingManager.30
10.2.4 IpAppMessagingManagerRef.30
10.2.5 IpMailbox.30
10.2.6 IpMailboxRef.30
10.2.7 IpMailboxFolder.30
10.2.8 IpMailboxFolderRef.30
10.2.9 IpMessage.30
10.2.10 IpMessageRef .30
10.2.11 TpFolderInfoProperty.31
10.2.12 TpFolderInfoPropertyName.31
10.2.13 TpFolderInfoPropertySet.31
10.2.14 TpMailboxFolderIdentifier.31
10.2.15 TpMailboxIdentifier.31
10.2.16 TpMailboxInfoProperty.32
10.2.17 TpMailboxInfoPropertyName.32
10.2.18 TpMailboxInfoPropertySet.32
10.2.19 TpMessage.32
10.2.20 TpMessageFormat.32
10.2.21 TpMessageInfoProperty.32
10.2.22 TpMessageInfoPropertyName.33
10.2.23 TpMessageInfoPropertySet.33
10.2.24 TpMessagePriority.33
10.2.25 TpMessageStatus.34
10.2.26 TpMessagingFault.34
11 Exception Classes.34
Annex A (normative): OMG IDL Description of Generic Messaging SCF .35
Annex B (informative): W3C WSDL Description of Generic Messaging SCF.36
Annex C (informative): Java™ API Description of the Generic Messaging SCF .37
Annex D (informative): Record of changes .38
D.1 Interfaces.38
D.1.1 New.38
D.1.1 Deprecated.38
D.1.3 Removed.38
ETSI
5 ETSI ES 204 915-9 V1.1.1 (2008-05)
D.2 Methods.38
D.2.1 New.38
D.2.2 Deprecated.38
D.2.3 Modified.39
D.2.4 Removed.39
D.3 Data Definitions.39
D.3.1 New.39
D.3.2 Modified.39
D.3.3 Removed.39
D.4 Service Properties.39
D.4.1 New.39
D.4.2 Deprecated.40
D.4.3 Modified.40
D.4.4 Removed.40
D.5 Exceptions.40
D.5.1 New.40
D.5.2 Modified.40
D.5.3 Removed.40
D.6 Others.40
History .41

ETSI
6 ETSI ES 204 915-9 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 9 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.
ETSI
7 ETSI ES 204 915-9 V1.1.1 (2008-05)
1 Scope
The present document is part 9 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 Generic Messaging Service Capability Feature (SCF) aspects of the interface. All
aspects of the Generic Messaging 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.
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.
4 Generic Messaging SCF
The following clauses describe each aspect of the Generic Messaging 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.
ETSI
8 ETSI ES 204 915-9 V1.1.1 (2008-05)
• 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.
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.
5 Sequence Diagrams
5.1 Prepare Mailbox
: : :
IpAppLogic IpAppMess agingManager IpMessagingManager
1: new()
2: enableMessagingNotification( )
3: messagingEventNotify(  )
4: 'forward event'
1: This message is used by the application to create an object implementing the IpAppMessagingManager
interface.
2: This message is used to enable the notification mechanism so that events can be sent to the application.
When new mail, that matches the event criteria set in message 2, arrives a message indicating the presence of
new mail (not shown) is directed to the object implementing the IpMessagingManager.
3: This message is used to pass the new mail event to the object implementing the IpAppMessagingManager
interface.
4: This message is used to forward message 3 to the IpAppLogic.
ETSI
9 ETSI ES 204 915-9 V1.1.1 (2008-05)
5.2 Open Mailbox
: : : IpMailbox
IpAppLogic IpMessagingManager
1: openMailbox( )
2: new()
1: This message requests the object implementing the IpMessagingManager interface to create an object
implementing the IpMailbox interface.
2: Assuming that the criteria for creating an object implementing the IpMailbox interface is met, message 2 is
used to create it.
5.3 Get Message
: : IpMailbox : IpMailboxFolder : IpMessage
IpAppLogic
1: openFolder( )
2: getInfoAmount( )
3: getInfoProperties(  )
4: getMessage( )
5: new()
1: This message requests a folder to be opened and returns a reference to that folder.
2: This message requests the number of folder information properties of the opened folder.
3: This message requests all of the folder information properties.
ETSI
10 ETSI ES 204 915-9 V1.1.1 (2008-05)
4: This message requests a message from the opened mailbox folder.
5: Assuming that the criteria for creating an object implementing the IpMessage interface are met, the (internal)
message 5 is used to create it.
5.4 Get Folder Information
: :
IpAppLogic IpMailboxFolder
1: getInfoAmount( )
2: getInfoProperties(  )
3: getInfoProperties(  )
1: This message requests the number of folder information properties of the specified folder.
2: This message requests the first set of folder information properties.
3: This message requests the second set of folder information properties.
ETSI
11 ETSI ES 204 915-9 V1.1.1 (2008-05)
5.5 Close Mailbox
: : IpMailbox
IpAppLogic
1: close( )
1: This message requests the object implementing the IpMailbox interface to de-assign.
6 Class Diagrams
<>
IpService
(f ro m c sap i)
setCallback()
setCallbackWithSessionID()
<> <> <> <>
IpMessagingManager IpMailbox IpMailboxFolder IpMessage
(from gms) (from gms) (from gms) (from gms)
00.n.n
11 00.n.n 11 22.n.n 11
Figure 1: Package Overview : Service Interfaces
The application generic messaging service package consists of only one IpAppMessagingManager interface.
The generic messaging service package consists of one IpMessagingManager interface, zero or more IpMailbox
interfaces, zero or more IpMailboxFolder and zero or more IpMessage interfaces.
The class diagram in the following figure shows the interfaces that make up the application generic messaging service
package and the generic messaging service package. Communication between these packages is done via the +uses the
IpMessagingManager channels. Communication with the IpMailbox and IpMailboxFolder interfaces has to be done via
the application logic (not shown).
ETSI
12 ETSI ES 204 915-9 V1.1.1 (2008-05)
<>
IpInterface
(from csapi)
<>
IpAppMessagingManager
(from gms)
mailboxTerminated()
mailboxFaultDetected()
messagingEventNotify()
messagingNotificationTerminated()
<>
<>
IpMailbox <>
(from gms)
IpMailboxFolder <>
(from gms)
<> IpMessage
(from gms)
IpMessagingManager
close()
(from gms)
lock() getInfoAmount()
unlock() getInfoProperties() getInfoAmount()
openMailbox() getInfoAmount() setInfoProperties() getInfoProperties()
1100.nn
1100.nn 11 22.n.n
enableMessagingNotification() getInfoProperties() putMessage() setInfoProperties()
disableMessagingNotification() setInfoProperties() getMessage() remove()
openFolder() close() getContent()
createFolder() remove()
remove()
Figure 2: Package Overview: Application and 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.
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.
ETSI
13 ETSI ES 204 915-9 V1.1.1 (2008-05)
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'.
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

ETSI
14 ETSI ES 204 915-9 V1.1.1 (2008-05)
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_TYPE
7.4.1.2 Method setCallbackWithSessionID()
This method specifies the reference address of the application's callback interface that a service uses for interactions
associated with a specific session ID: e.g. a specific call, or call leg. It is not allowed to invoke this method on an
interface that does not use 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.
sessionID : in TpSessionID
Specifies the session for which the service can invoke the application's callback interface.
Raises
TpCommonExceptions, P_INVALID_SESSION_ID, P_INVALID_INTERFACE_TYPE
8 Generic Messaging Interface Classes
The Generic Messaging Service interface (GMS) is used by applications to send, store and receive messages. GMS has
voice mail and electronic mail as the messaging mechanisms. The messaging service interface can be used by both.
A messaging system is assumed to have the following entities:
· Mailboxes. This is the application's main entry point to the messaging system. The framework may or may not need to
authenticate an application before it accesses a mailbox.
· Folders. A mailbox has at least the inbox and the outbox as folders. The name of the inbox is "INBOX", and the name
of the outbox is "OUTBOX". These folders may have sub-folders. The names of these sub-folders are appended to their
parents' names with '/' as the delimiter. For instance, if there is a sub-folder in INBOX called 'Personal' and a sub-folder
in that folder called 'archive' then the fully qualified names, which are required for all operations, of the four folders are
'INBOX', 'OUTBOX', 'INBOX/Personal', and 'INBOX/Personal/archive'. The names are case sensitive. A messaging
service may have other folders other than the inbox and the outbox.
· Messages. Messages are stored in folders. Messages usually have properties associated with them.
The GMS is represented by the IpMessagingManager, IpMailbox, IpMailboxFolder and IpMessage interfaces to
services provided by the network. To handle responses and reports, the developer must implement
IpAppMessagingManager to provide the callback mechanism for the Messaging service manager.
ETSI
15 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.1 Interface Class IpMessagingManager
Inherits from: IpService.
This interface is the 'service manager' interface for the Generic Messaging Service. The generic messaging manager
interface provides the management functions to the generic messaging service. The application programmer can use this
interface to open mailbox objects and also to enable or disable event notifications.
<>
IpMessagingManager
openMailbox (mailboxID : in TpAddress, authenticationInfo : in TpString) : TpMailboxIdentifier
enableMessagingNotification (appInterface : in IpAppMessagingManagerRef, eventCriteria : in
TpMessagingEventCriteria) : TpAssignmentID
disableMessagingNotification (assignmentID : in TpAssignmentID) : void

8.1.1 Method openMailbox()
This method opens a mailbox for the application. The session ID for use by the application is returned. Authentication
information may be needed to open the mailbox.
The application can open more than one mailbox at the same time. The application is not allowed to open the same
mailbox more than once at the same time.
Returns: mailboxReference.
Specifies the reference to the opened mailbox.
Parameters
mailboxID : in TpAddress
Specifies the identity of the mailbox. If the mailbox chosen is invalid, the error code P_GMS_INVALID_MAILBOX is
returned.
authenticationInfo : in TpString
Authentication information needed for the application to open a mailbox in the messaging system, such as a key or
password. If the authentication process is considered strong enough for the application to gain access to the mailbox,
then the authentication information will be an empty string. If the authentication information is not valid, the error code
P_GMS_INVALID_AUTHENTICATION_INFORMATION is returned.
Returns
TpMailboxIdentifier
Raises
TpCommonExceptions, P_GMS_INVALID_MAILBOX,
P_GMS_INVALID_AUTHENTICATION_INFORMATION
ETSI
16 ETSI ES 204 915-9 V1.1.1 (2008-05)
8.1.2 Method enableMessagingNotification()
This method is used to enable messaging notifications so that events can be sent to the application.
Returns: assignmentID.
Specifies the ID assigned by the generic messaging manager interface for this newly-enabled event notification.
Parameters
appInterface : in IpAppMessagingManagerRef
If this parameter is set (i.e. not NULL) it specifies a reference to the application interface, which is used for callbacks. If
set to NULL, the application interface defaults to the interface specified via the setCallback() method.
eventCriteria : in TpMessagingEventCriteria
Specifies the event specific criteria used by the application to define the event required.
Returns
TpAssignmentID
Raises
TpCommonExceptions, P_INVALID_CRITERIA
8.1.3 Method disableMessagingNotification()
This method is used by the application to disable call notifications.
Parameters
assignmentID : in TpAssignmentID
Specifies the assignment ID given by the generic messaging manager interface when the previous enableNotification()
was called. If the assignment ID does not correspond to one of the valid assignment IDs, the framework will return the
error code P_INVALID_ASSIGNMENTID.
Raises
TpCommonExceptions, P_INVALID_ASSIGNMENT_ID
8.2 Interface Class IpAppMessagingManager
Inherits from: IpInterface.
The client application developer implements the generic messaging manager application interface to handle mailbox
termination, mailbox fault and messaging event notifications.
ETSI
17 ETSI ES 204 915-9 V1.1.1 (2008-05)
<>
IpAppMessagingManager
mailboxTerminated (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID) : void
mailboxFaultDetected (mailbox : in IpMailboxRef, mailboxSessionID : in TpSessionID, fault : in
TpMessagingFault) : void
messagingEventNotify (messagingManager : in IpMessagingManagerRef, eventInfo : in
TpMessagingEventInfo, assignmentID : in TpAssignmentID) : void
messagingNotificationTerminated () : void

8.2.1 Method mailboxTerminated()
This method indicates to the application that the mailbox has terminated or closed abnormally. No further
communication will be possible between the mailbox and application.
Parameters
mailbox : in IpMailboxRef
Specifies the interface of the mailbox that has terminated.
mailboxSessionID : in TpSessionID
Specifies the mailbox session ID of the mailbox that has terminated.
8.2.2 Method mailboxFaultDetected()
This method indicates to the application that a fault has been detected in the mailbox.
Parameters
mailbox : in Ip
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...