IMS Service Creation with Ericsson Service Development Studio and BEA WebLogic SIP Server
by Amin Daya and Marco Rodriguez
The purpose of this article is to illustrate how you can use the Ericsson Service Development Studio (SDS) to develop and test IMS applications. The latest version of SDS (version 4.0) supports and has been verified and tested with BEA WebLogic SIP Server 3.1 and therefore it can be easily used as an IMS core network simulator (P-CSCF, S-CSCF, HSS, and DNS) with availability of service enabler emulators and development of IMS client applications.
The Ericsson SDS
Ericsson Service Development Studio (SDS) is part of Ericsson's IMS system offering and provides a comprehensive and standards-oriented solution for the development and end-to-end testing of both the client and the server side of new IMS applications and services. SDS provides high-level APIs to hide device and network complexity for the designer and a multitude of templates and wizards to help the developer shorten project lead times.
SDS runs in a Microsoft Windows environment and supports the creation and end-to-end testing of both the client and the server side of IMS applications, using built-in IMS network, service enabler, user device, and SIP-server emulators.
SDS is based on the Eclipse Integrated Development Environment (IDE) with the following components:
- Wizards and Ant templates for client and server-side development
- Visual network display with testing support using test agents and automated test framework
- IMS Client Platform (ICP), with pre-JSR 281 and IMS Service APIs
- Symbian device emulator
- Standards-based IMS Core network emulator
- Standards-based IMS Communication Services enabler emulators (Presence, Group Manager, Push-to-Talk, IMS Messaging)
SDS can also be configured as an IMS core network emulator and as a cost-effective SIP-server execution environment for live user or market IMS service trials. SDS is a part of Ericsson's IMS system offering and is verified and released in sync with each new Ericsson IMS System release. It has been used to realize multiple IMS applications with concluding customer trials and demos.
Device and Server Target Execution Environments
The IMS clients developed using SDS consist of two separate downloadable parts: The Ericsson IMS Client Platform (ICP), and the IMS Client application developed with SDS. The client creation part of SDS supports application creation for initially open OS Symbian mobile phones (SonyEricsson P990, M600, and so on) and PCs with Windows OS. Future plans are to support other open operating systems, such as Windows Mobile and Linux Mobile, and to provide a network proxy-based Client Utility API to IMS-enable JME feature phones currently without SIP/IMS capabilities.
The server application creation part combines support for key Telecom interfaces and protocols with standard Java and Internet-centric technologies. The Service Execution Environment (SEE) for the server side of the newly developed IMS Service application is emulated in the SDS. It is a JSR 116 (SSA 1.0) standards-compliant SIP Application Server, as defined by the 3GPP, and consists of SIP and WEB (HTTP) components. Future server-side plans are to include support for SIP-AS compliant to JSR 289 (SSA 1.1), Media control support to JSR 309, and JEE support.
SDS, running on a standard PC, can also be used as a trial execution environment with limited capacity and scalability by connecting it directly to the trial IMS core system via the IMS Service Control (ISC) interface. This trial IMS core system could be at the customer's premises, a real network, or an externally hosted solution. For hosted solutions you can use Ericsson's Remote IMS (RIMS) lab or IMS expert center.
IMS Service Creation with SDS and BEA WebLogic SIP Server
Service Providers and Independent Software Vendors can use the SDS tool to explore the feasibility and end user acceptance aspects of new IMS service ideas. Applications developed and tested with SDS can be deployed to live commercial devices and servers. From build to deploying on a real network, a number of phases are required. The following sections outline these phases.
Phase A: Build, test, and simulate e-2-e on a PC with emulators
The developed device client will run on top of the IMS Client Platform (ICP). An emulated Symbian UIQ phone is shown on the PC screen. As mentioned earlier, JSR 116-compliant SIP Server is also emulated in the SDS. The SDS implementation of this 3GPP SIP Application Server is based on a standards-compliant Ericsson Application Server (EAS). As an alternative to the SDS development environment and SIP-AS emulator functionality, a BEA WebLogic SIP Server with applications developed in BEA Workshop can be brought into the SDS simulated e-2-e test loop with device client support.
Phase B: e-2-e test and user trials with live IMS System and devices
In this phase the client is deployed to a live device connected to a live network. The SDS, running on a standard PC, can now be used as a (trial) Server Execution Environment (SEE). This is done by connecting SDS directly to a live IMS core system and the live phones and PCs via a mobile 3G and/or fixed broadband network. User trials with 50 to 100 users (depending on the type of application) can be supported.
The SDS can also be configured and used as an IMS Core emulator by connecting it directly to an external IP network. This allows you to have a PC-based IMS network and IMS server applications connected to a live network for application test and trial purposes where a live IMS Core is not available.
Phase C: Commercial server deployment
The final phase is to deploy the server-side application to a commercial-grade, standards-compliant SIP-AS, such as BEA WebLogic SIP Server or other JSR 116-compliant ASs. Many IMS applications will need to include Web applications, portals, and integration with enterprise application components. Additional tools for graphical user interface client development in PCs and mobiles will also be needed. Most of these tools are available as plug-ins to the Eclipse Integrated Development Environment (IDE), for example the BEA Workshop IDE, which simplifies and speeds up a complete application development project.
This is where SDS and WebLogic SIP Server can be used in combination to develop and test IMS applications. The latest version of SDS (4.0) supports and has been verified and tested with BEA-WLSS 3.1. Therefore, SDS can be easily used as an IMS core network simulator (P-CSCF, S-CSCF, HSS, and DNS) with availability of service enabler emulators (PGM, PTT, IMSM). You only need to interconnect a real WLSS with the SDS and a SIP terminal or a SIP device (Figure 1).
Figure 1. SDS-WLSS Interconnection architecture
The "Hello, World!" SIP Application Deployment
Let's now turn to SIP application deployment using SDS and WLSS. Create a Hello World Servlet. If you have successfully created the servlet, then you should be able to deploy a SIP application over WebLogic SIP Server (you will need your Hello World Servlet renamed as a .war file). Note that the tutorial refers to a hard-coded SIP URI (firstname.lastname@example.org) within the servlet code. So, make sure you change this to your own SIP URI. Here's how to subsequently deploy the application:
- Open your WLSS console and go to the Deployments option on the Domain Structure menu.
- The Summary of Deployments page will open. Now select the Lock & Edit option on the Change Center menu.
- The Install button will be activated. Click on it. The Install Application Assistant page will open:
- Click on the upload your file(s) link. The Upload Deployments page will open. Click on the Browse button and a new window where you can select your file will pop up. Search for your helloWorldServlet.war file. Open your helloWorldServlet.war file and click Next.
- A list of available deployments will be shown. Select your helloWorldServlet.war file and click Next.
- Select the option to Install this deployment as an application, and click Next.
- Put in a name for your application and click Finish.
- Your applications should be in the Prepared state. Now select your application and start it by selecting the Servicing all request option of the Start menu.
- Your application has been successfully deployed. Click on the Activate Changes button of the Change Center menu.
- Confirm the selection. Your application should be now be in the Active state.
SDS-WebLogic SIP Server Configuration
Assuming you have successfully installed SDS and you have a functional WebLogic SIP Server with your Hello World SIP application correctly deployed (as in the previous section of this article), you can just follow the next steps to configure your SDS testing environment.
On the Main SDS menu go to the Windows sub-menu and open the Preferences window: Here you have to make sure you have the correct settings like domain name, ports, IP-addresses, and so on (Figure 2). Once you have set the necessary fields, click the Apply and OK buttons to save and close the window. Please note: It is very important that your WebLogic SIP Server knows this domain too, since it will need to send responses to SDS. You can do that by adding the SDS hostname and IP address on the host file of your WebLogic SIP Server server. On a Windows machine, you can find your host file in the \WINDOWS_BASE_DIR\system32\drivers\etc directory.
Figure 2. The configuration screen
Now go to the Provisioning perspective. Choose SDS\Server\Provisioning. On this perspective you have to provision all your IMS Core Network simulator data. In this example we will define a Filter Criteria named triggeringMyBEA that points to 192.168.123.1 port 5060, on which the helloWorldServlet.war has been deployed on my WLSS.