Академический Документы
Профессиональный Документы
Культура Документы
22 SEPTEMBER 2010
Strictly Confidential
The information in this document is confidential and only available under OpenClouds Nondisclosure Agreement (NDA). It must not be distributed or disclosed to any 3rd party. OpenCloud
reserves the right to change the Product Portfolio information without notice or consultation.
No part of this publication may be reproduced or transmitted in any form or by any means for any purpose.
ii
Contents
SLEE Freephone Service for IN and IMS
What is the best way to create a call-control application
for IN and IMS?...................................................................1
What is a "multi-protocol" application?...........................................................1
Options for creating multi-protocol call-control applications.......................1
Options for a multi-protocol JSLEE application architecture........................2
Example: multi-protocol SLEE freephone service..........................................3
Initial architecture.........................................................................................3
Adding SIP using Java inheritance...................................................................3
Service class diagram..................................................................................4
Architecture..................................................................................................4
SIP Proxy usage...........................................................................................5
Service Building Blocks (SBBs)........................................................................5
Core logic in an independent SBB...............................................................5
Using a child SBB.........................................................................................6
References...........................................................................................................7
iii
www.opencloud.com
http://developer.opencloud.com
iv
A multi-protocol application, executes the same (or equivalent) function in more than one protocol.
For example, an application that works with CAP and SIP to allow deployments in IN and IMS networks,
respectively, would be considered multi-protocol.
Strategy
How it works
Comments
Independent
Implementations
Protocol
Conversion
developer.opencloud.com
Commercial in Confidence
Protocol
Abstraction
(API)
Protocol
Abstraction
(Core Logic)
Solution
How it works
Recommended?
Independent
Services
Java Inheritance
developer.opencloud.com
Commercial in Confidence
Some
advantages
to the
architecture,
but big
overhead
in
events
processing.
For
applications
with
simple
state
machines
only.
This
is the
recommended
solution.
Also create an SBB for each protocol the application supports, to handle
protocol specifics and methods that represent actions that the protocolspecific logic performs and exposes through the local interface.
The SLEE sees each protocol-specific application as a service, where
the root SBB has the protocol implementation, and a child SBB with the
application logic. This is a clear use case of component re-usability in
JSLEE.
Initial architecture
Diagram 1 shows the service SLEE components-based architecture and service dependencies. The service
has a root SBB which depends on a profile specification and uses four resource adaptors: Diameter, SMPP,
CDR, and CGIN Unified RA. Ideally you should be able to plug in a new call-control protocol resource
adaptor (SIP in our case) without changing the logic or core functionality of the application.
Commercial in Confidence
Service class diagram with core logic abstracted from the protocol
Architecture with reusable components
SIP Proxy usage details of how the SIP Proxy service fits into the architecture.
This implementation is fine for services that have simple state machines and don't require component reusability.
Review the source code
For a complete understanding of how this example works, please review the source code
for this Java-inheritance-enhanced version of the SLEE Freephone service.
Architecture
Diagram 3 shows the service's new SLEE architecture.
developer.opencloud.com
Commercial in Confidence
Diagram 4. Service's SLEE architecture using Java inheritance, with detailed SIP
components
developer.opencloud.com
Commercial in Confidence
developer.opencloud.com
Commercial in Confidence
References
Ref
Notes
1
Cosmadopoulos, Y., Kulkarni, M., SIP Servlet API Version 1.1, http://www.jcp.org/en.jsr/detail?
id=289, August 2008
2
IETF RFC 3261, SIP: Session Initiation Protocol, http://www.ietf.org/rfc/rfc3261.txt, June 2002
3
3GPP TS 23.218, IP Multimedia (IM) session handling; IM call model; Stage 2, http://
www.3gpp.org/ftp/Specs/html-info/23218.htm, December 2008
4
John-Luc Bakker, Telcordia Technologies, Inc., JSR21: JAINTM JCC Specification, http://jcp.org/en/
jsr/detail?id=21, June 2002
developer.opencloud.com
Commercial in Confidence