JBoss.orgCommunity Documentation
Copyright © 2012 Red Hat, Inc.
Abstract
The Mobicents Platform is the first and only open source VoIP platform certified for JAIN SLEE 1.1 and SIP Servlets 1.1 compliance. Mobicents serves as a high-performance core for Service Delivery Platforms (SDPs) and IP Multimedia Subsystems (IMSes) by leveraging J2EE to enable the convergence of data and video in Next-Generation Intelligent Network (NGIN) applications.
The Mobicents JAIN SLEE is at the heart of the platform, a high-performance, scalable and fault tolerant Java Service Level Execution Environment.
This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information.
In PDF and paper editions, this manual uses typefaces drawn from the Liberation Fonts set. The Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default.
Four typographic conventions are used to call attention to specific words and phrases. These conventions, and the circumstances they apply to, are as follows.
Mono-spaced Bold
Used to highlight system input, including shell commands, file names and paths. Also used to highlight key caps and key-combinations. For example:
To see the contents of the file
my_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
The above includes a file name, a shell command and a key cap, all presented in Mono-spaced Bold and all distinguishable thanks to context.
Key-combinations can be distinguished from key caps by the hyphen connecting each part of a key-combination. For example:
Press Enter to execute the command.
Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
The first sentence highlights the particular key cap to press. The second highlights two sets of three key caps, each set pressed simultaneously.
If source code is discussed, class names, methods, functions, variable names and returned values mentioned within a paragraph will be presented as above, in Mono-spaced Bold
. For example:
File-related classes include
filesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Proportional Bold
This denotes words or phrases encountered on a system, including application names; dialogue box text; labelled buttons; check-box and radio button labels; menu titles and sub-menu titles. For example:
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).
from the main menu bar to launchTo insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
The above text includes application names; system-wide menu names and items; application-specific menu names; and buttons and text found within a GUI interface, all presented in Proportional Bold and all distinguishable by context.
Note the
shorthand used to indicate traversal through a menu and its sub-menus. This is to avoid the difficult-to-follow 'Select from the sub-menu in the menu of the main menu bar' approach.
or Mono-spaced Bold Italic
Proportional Bold Italic
Whether Mono-spaced Bold or Proportional Bold, the addition of Italics indicates replaceable or variable text. Italics denotes text you do not input literally or displayed text that changes depending on circumstance. For example:
To connect to a remote machine using ssh, type
ssh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.The
mount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use the
rpm -q
command. It will return a result as follows:package
.
package-version-release
Note the words in bold italics above username, domain.name, file-system, package, version and release. Each word is a placeholder, either for text you enter when issuing a command or for text displayed by the system.
Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
Two, commonly multi-line, data types are set off visually from the surrounding text.
Output sent to a terminal is set in Mono-spaced Roman
and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Source-code listings are also set in Mono-spaced Roman
but are presented and highlighted as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
Finally, we use three visual styles to draw attention to information that might otherwise be overlooked.
A note is a tip or shortcut or alternative approach to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier.
Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring Important boxes won't cause data loss but may cause irritation and frustration.
A Warning should not be ignored. Ignoring warnings will most likely cause data loss.
If you find a typographical error in this manual, or if you have thought of a way to make this manual better, we would love to hear from you! Please submit a report in Bugzilla: http://bugzilla.redhat.com/bugzilla/ against the product ${product.name}, or contact the authors.
When submitting a bug report, be sure to mention the manual's identifier:
If you have a suggestion for improving the documentation, try to be as specific as possible when describing it. If you have found an error, please include the section number and some of the surrounding text so we can find it easily.
Mobicents JAIN SLEE Management Console is an application which lets an administrator user interact with the SLEE in order to perform management functions.
The console is a J2EE compliant web-based application deployed in the running instance of Apache Tomcat inside JBoss AS. An administrator can connect to this console via HTTP through a common web browser.
Mobicents JAIN SLEE Management Console allows the administrator to perform most common management operations, such as deployment and installation of JAIN SLEE Deployable Units, JAIN SLEE Component Management and Configuration, etc. as well as some monitoring task such as observing and inspecting JAIN SLEE Activities.
Ensure that the following requirements have been met before continuing with the install.
Once unzipped, the Mobicents JAIN SLEE binary release requires at least 300MB of free disk space. Keep in mind that disk space requirements may change from release to release.
The Mobicents JAIN SLEE Management Console platform will run on the same hardware that the JBoss Application Server runs on.
A working installation of the Java Development Kit (JDK) version 5 or higher is required in order to run the JAIN SLEE Management Console. Note that JBoss Application Server is a runtime dependency, but comes bundled with the binary distribution.
For instructions on how to install the JDK, refer to Appendix A, Java Development Kit (JDK): Installing, Configuring and Running.
Mobicents JAIN SLEE Management Console client side components use AJAX and CSS3, therefore the use of an up-to-date browser is recommended.
The Mobicents JAIN SLEE Management Console is pre-installed in Mobicents JAIN SLEE binary release. The file slee-management-console.war
is present in
directory.JBOSS_HOME
/server/<node>
/deploy/
To uninstall Mobicents JAIN SLEE Management Console simply delete the slee-management-console.war
file from
directory.JBOSS_HOME
/server/<node>
/deploy/
Mobicents JAIN SLEE Management Console can be built from source by using Maven build tool, following these steps:
Downloading the source code
Subversion is used to manage its source code. Instructions for using Subversion, including install, can be found at http://svnbook.red-bean.com
Use SVN to checkout a specific release source, the base URL is , then add the specific release version, eg: 2.0.0.BETA1.
[usr]$ svn co http://mobicents.googlecode.com/svn/tags/servers/jain-slee/2.x.y/tools/slee-management-console/2.0.0.BETA1/ slee-management-console-2.0.0.BETA1
If desired, it could be downloaded from the SVN trunk, but this is not always stable or even guaranteed to build correctly. To do so, use:
[usr]$ svn co http://mobicents.googlecode.com/svn/trunk/servers/jain-slee/tools/slee-management-console/ slee-management-console
Building the source code
Maven 2.0.9 (or higher) is used to build the release. Instructions for using Maven2, including install, can be found at http://maven.apache.org
Make sure to have the JBOSS_HOME environment variable set and pointing to the desired Mobicents installation.
Use Maven to build the binaries.
[usr]$ cd slee-management-console-2.0.0.BETA1 [usr]$ mvn clean install
Once the process finishes you should have the slee-management-console.war
file in the
directory.JBOSS_HOME
/server/<node>
/deploy/
Mobicents JAIN SLEE Management Console starts and stops with Mobicents JAIN SLEE. It can be accessed via web browser at the URL: http://IP_ADDRESS
:8080/slee-management-console/.
In this view, it is possible to view the ID of the server, such as name, vendor, version and codename and also the SLEE state.
The following states can be observed:
STOPPED
The SLEE environment is configured and initialized, ready to be started. This means resource adaptor objects for resource adaptor entities in the ACTIVE
state are loaded and initialized, and SBBs corresponding to Services in the ACTIVE
state are loaded and ready to be instantiated. However the entire event-driven subsystem is idle. Resource adaptor entities and the SLEE are not actively producing events, and the event router is not operating. SBB entities are not created in this state.
STARTING
Any vendor-specific starting state tasks may be performed here. Services in the ACTIVE
state are made ready to receive events, but SBB entities are still not created in this state. The SLEE spontaneously moves out of this state when (a) startup tasks are complete, which causes transition to the RUNNING
state; (b) some startup task fails, which causes transition to the STOPPING
state.
RUNNING
Resource adaptor objects that are in the ACTIVE
(or STOPPING
) state are actively firing events as conditions dictate. The SLEE may also be firing events. The event router is instantiating SBB entities and delivering events to them as required.
STOPPING
This state is identical to the RUNNING
state except no new Activity objects are accepted by the SLEE from resource adaptor objects, and no new Activity objects are created by the SLEE. If this state is reached from the STARTING
state, there will be no Activity objects and transition to the STOPPED
state should immediately occur. If this state is reached from the RUNNING
state, any existing Activity objects are allowed to end (subject to an arbitrary vendor-specified timeout). Once all Activity objects generated by a particular resource adaptor entity have ended, resource adaptor objects of that resource adaptor entity transition to the INACTIVE
state. The SLEE transitions out of the STOPPING
state once all Activity objects have ended and all resource adaptor objects have transitioned to the INACTIVE
state.
It is also possible to manage the SLEE state from this view, by using the following buttons:
In order to use this button the SLEE must be in the STOPPED
state. It will move the SLEE to the STARTING
state and once the start operations complete, switch to the RUNNING
state.
In order to use this button the SLEE must be in the STARTED
state. It will move the SLEE to the STOPING
state and once the stop operations complete, switch to the STOPPED
state.
In order to use this button the SLEE must be in the STOPPED
state. It will shutdown completely the SLEE container as well as the JBoss Application Server.
In this view, it is possible to view, search, install and uninstall Deployable Units in the SLEE. A list showing the deployable units, identified by their filename, is shown.
It is possible to see detailed information about the deployable units by clicking on it's name.
The following fields are shown:
Name
The Deployable Unit name, extracted from it's filename.
ID
The SLEE identifier for this Deployable Unit.
Date
The deployment date for this Deployable Unit.
URL
The URL from where this deployable unit was deployed from.
Components
The SLEE components included and deployed with this deployable unit.
In order to find specific deployable units, use the Search tab, where it is possible to specify a string to search for and click the button to list the DUs for which the name matches the given string.
When searching for deployable units, it is not possible to use regular expressions. So using "diam*" may not return anything, while "diameter" may return something.
A deployable unit can be installed to SLEE by going to the Install tab, clicking the button, browsing to the desired deployable unit file and clicking the button.
Please note that only the deployable unit will be installed, no further operations will be performed. If you need to, you will need to activate services, create Resource Adaptor Entities and Links, etc.
A deployable unit can be uninstalled from SLEE in the list view (both in Browse or Search tabs) by clicking the link.
Please note that the deployable unit will be uninstalled, only if there are no components depending on it, no Links or Entities in case of Resource Adaptors and in case of services, they must be deactivated.
In this view, the components installed in SLEE are shown, grouped by their types. It is possible to view the components, their details and search for specific components.
In the Browse Components tab a list of components is shown, grouped by their type. When clicking on one of the Component Types, a list of the available components of that type is shown, identified by their Name, Vendor and Version.
If one of this components is clicked, it's details are shown. The following component types and details are available:
The following details are common to all component types:
Name
The SLEE component Name identifier.
ID
The SLEE component identifier, built from the component type, name, vendor and version.
Vendor
The SLEE component Vendor identifier.
Version
The SLEE component Version identifier.
Source
The path to the jar containing this component, inside the deployable unit jar.
Deployable Unit
The deployable unit used to deploy this component.
Library References
The libraries this component refers, if any.
The following are specific to each component type:
Event Type
Event Class Name
The class name for this event type.
Profile Specification
CMP Interface Name
The interface name for the Profile CMP.
SBB
Address Profile Specification
The profile specification to be used as the Address Profile Specification for this SBB.
Event Types
The event types referenced by this SBB, either for Fire and/or Receive.
Profile Specifications
The profile specs referenced by this SBB.
Resource Adaptor Entity Links
The resource adaptor links required by this SBB.
Resource Adaptor Types
The resource adaptor types referenced by this SBB, either for Fire and/or Receive.
SBBs
The child SBBs this SBB has.
Resource Adaptor Type
Event Types
The event types referenced by this Resource Adaptor Type, that it can fire.
Resource Adaptor
Event Types
The Resource Adaptor Type implemented by this Resource Adaptor.
Service
Address Profile Table
The Address Profile Table name to be used by this service, if any.
Resource Info Profile Table
The Resource Info Profile Table name to be used by this service, if any.
Root SBB
The SBB to be used as the Root SBB for this service.
Library
Library Jars
The JARs exposed by this Library component.
In order to find specific components, use the Search tab, where it is possible to specify a string to search for and click the button to list the components for which the name matches the given string.
When searching for components, it is not possible to use regular expressions. So using "diam*" may not return anything, while "diameter" may return something.
In this view, the services present in SLEE are shown, along with their state. It is possible to view the services, their details, view and change the service state.
In the Services tab the list of services is shown. When clicking on one of the services' name, it's details are shown. The following details are displayed:
Name
The SLEE component Name identifier.
ID
The SLEE component identifier, built from the component type, name, vendor and version.
Vendor
The SLEE component Vendor identifier.
Version
The SLEE component Version identifier.
Source
The path to the jar containing this component, inside the deployable unit jar.
Deployable Unit
The deployable unit used to deploy this component.
Library References
The libraries this component refers, if any.
Address Profile Table
The Address Profile Table name to be used by this service, if any.
Resource Info Profile Table
The Resource Info Profile Table name to be used by this service, if any.
Root SBB
The SBB to be used as the Root SBB for this service. This entry is clickable and will lead to the details view for this SBB component.
When the existing services list is shown, the service state is presented, it can be:
INACTIVE
The Service has been installed successfully and is ready to be activated. The Service is not running, i.e. root SBB entities of the Service’s root SBB will not be created to process events.
In this state it is possible to activate the service by clicking the
link.ACTIVE
The Service has been activated, i.e. it is running. The SLEE will create root SBB entities of the Service’s root SBB to receive initial events and invoke SBB entities in the SBB entity trees of the Service.
In this state it is possible to deactivate the service by clicking the
link.STOPPING
The Service is being deactivated. However, some SBB entity trees of the Service still exist in the SLEE and have not completed their processing. The SLEE is waiting for the SBB entities in these SBB entity trees to complete processing so that they can be reclaimed. An SBB entity has completed processing and can be reclaimed when it and all of its child SBB entities are no longer attached to any Activity Context.
No state changing operations are available in this state, as this is a transition state, from ACTIVE to INACTIVE.
In the Usage Parameters tab is possible to view and manage the service SBBs Usage Parameters. In this screen, select a Service and an SBB and if a SBB Usage Parameter Interface is defined, this view will present the default and other available Usage Parameter Sets.
In order to view the Usage Parameters for a given set click it's name. The following types are displayed:
Counter Type
A counter-type usage parameter can be incremented or decremented. The current (approximate) value of the counter-type usage parameter is displayed under the Value column is shown.
Sample Type
A sample-type usage parameter accumulates sample data, when a SLEE Component submit samples to the usage parameter. The current (approximate) minimum, maximum, mean, and the number of sample values added to the sample-type usage parameter are shown.
In order to keep a low impact on the SLEE no real-time update is performed with regards to the Usage Parameters. To update the displayed values, please click the
link.It is possible to reset a single Usage Parameter, when viewing the Service Usage Parameters list, by clicking the
link, next to each, both for Counter and Sample type usage parameters.In order to reset all the Usage Parameters for a given service, in the main Usage Parameters view click the
button and all will be reset.In addition to the default usage parameter set created by the SLEE, it is possible to create additional usage parameter sets for the same notification source, which must have a name. To create one, in the main Usage Parameters view, fill the New parameter set with the name and press the button and the new set is created.
To remove a created Usage Parameter Set, in the main Usage Parameters view, under the Parameter Sets list, in the Actions column, click the link and the set will be removed.
Only named Usage Parameters Sets can be removed, the "default" will always exist when there's a Usage Parameter Interface defined for this component.
In this view, the resource adaptors present in SLEE are shown, identified by their name, vendor, version and RA Type implemented. It is possible to view the resources, their details, view and manage Resource Adaptor Entities and Links.
In the Resources tab the list of Resource Adaptors is shown. When clicking on one of the resource adpators' name, it's details are shown. The following details are displayed:
Name
The SLEE component Name identifier.
ID
The SLEE component identifier, built from the component type, name, vendor and version.
Vendor
The SLEE component Vendor identifier.
Version
The SLEE component Version identifier.
Source
The path to the jar containing this component, inside the deployable unit jar.
Deployable Unit
The deployable unit used to deploy this component.
Library References
The libraries this component refers, if any.
Resource Adaptor Entities
A list of the created Resource Adaptor Entities for this Resource Adaptor. These entities are clickable, and will lead to view the Entities details.
When the existing Resource Adaptor Entities list is shown, the Resource Adaptor Entities state is presented in the State column, it can be:
INACTIVE
The resource adaptor entity has been successfully created in the SLEE. An Inactive resource adaptor entity is ready to be activated.
In this state it is possible to activate the resource adaptor entity by clicking the
link.ACTIVE
The resource adaptor entity has been activated. If the SLEE is in the Running state, resource adaptor objects associated with the resource adaptor entity can create new activities, submit events on activities, and end activities. If the SLEE is in the Stopping state, resource adaptor objects associated with the resource adaptor entity cannot start new activities, but may submit events on existing activities and end activities.
In this state it is possible to deactivate the resource adaptor entity by clicking the
link.STOPPING
The resource adaptor entity is being deactivated. However, some activities created by the resource adaptor objects associated with the resource adaptor entity may still exist in the SLEE and have not completed their processing. The SLEE is waiting for these activities to end. Once all activities owned by resource adaptor objects of the resource adaptor entity have ended, the SLEE will transition the resource adaptor entity back to the Inactive state.
No state changing operations are available in this state, as this is a transition state, from ACTIVE to INACTIVE.
In order to create a new Resource Adaptor Entity, after selecting the Resource Adaptor, fill the new entity name in the textbox next to Create entity and click the button. A new Entity will be created with default properties and in INACTIVE
state.
To remove a Resource Adaptor Entity, there should be no Resource Adaptor Entity Links for this entity and it should be in INACTIVE
state.
In order to remove a Resource Adaptor Entity, after selecting the Resource Adaptor, click the
link. Make sure the above pre-requirements above are fulfilled.After selecting the Resource Adaptor, a list of the existent Resource Adaptor Entities can be found in the bottom of the panel. By clicking one of the Entities, the following details can be observed:
Name
The Resource Adaptor Entity Name.
State
The current state of the Resource Adaptor Entity.
Entity Configuration Properties
The Resource Adaptor configuration properties provide a standardized mechanism for configuration of a resource adaptor entity. The consist of a triplet, Name, Type and Value.
Entity Links
The Resource Adaptor Entity Links provide a link to an entity, to be used by SBBs.
After selecting the Resource Adaptor Entity, a list of the Resource Adaptor Entity Configuration Properties is shown. They are displayed as <name>
:: <type>
- <value>
. Only the value can be changed.
To edit the Resource Adaptor Entity, if the Resource Adaptor does not support reconfiguration in ACTIVE
state, it must be in INACTIVE
state.
To change these values, click the
. The values will change to an editable form. Change the values accordingly and click the button.After selecting the Resource Adaptor Entity, a list of the Resource Adaptor Entity Links is shown. It is possible to remove existing and add new links.
To remove a Resource Adaptor Entity Link, there should be no SBBs referring it.
To create a new Resource Adaptor Entity Link, fill the new link name in the Bind entity link textbox and click the button.
To remove an existing Resource Adaptor Entity Link, click the
link.In the Usage Parameters tab is possible to view and manage the Resource Adaptors' Entities Usage Parameters. In this screen, select a Resource Adaptor and a Resource Adaptor Entity and if a Resource Adaptor Usage Parameter Interface is defined, this view will present the default and other available Usage Parameter Sets.
In order to view the Usage Parameters for a given set click it's name.
The following types are displayed:
Counter Type
A counter-type usage parameter can be incremented or decremented. The current (approximate) value of the counter-type usage parameter is displayed under the Value column is shown.
Sample Type
A sample-type usage parameter accumulates sample data, when a SLEE Component submit samples to the usage parameter. The current (approximate) minimum, maximum, mean, and the number of sample values added to the sample-type usage parameter are shown.
In order to keep a low impact on the SLEE no real-time update is performed with regards to the Usage Parameters. To update the displayed values, please click the
link.It is possible to reset a single Usage Parameter, when viewing the Resource Adaptor Usage Parameters list, by clicking the
link, next to each, both for Counter and Sample type usage parameters.In order to reset all the Usage Parameters for a given Resource Adaptor, in the main Usage Parameters view click the
button and all will be reset.In addition to the default usage parameter set created by the SLEE, it is possible to create additional usage parameter sets for the same notification source, which must have a name. To create one, in the main Usage Parameters view, fill the New parameter set with the name and press the button and the new set is created.
To remove a created Usage Parameter Set, in the main Usage Parameters view, under the Parameter Sets list, in the Actions column, click the link and the set will be removed.
Only named Usage Parameters Sets can be removed, the "default" will always exist when there's a Usage Parameter Interface defined for this component.
In this view, it's possible to monitor the existing activities in the SLEE. The Activity Contexts are listed by their ID, TTL (maximum time in seconds without being accessed) and their Java Class Name.
In the Browse Activities tab the list of activities is shown. When clicking on one of the Activity Context ID, it's details are shown. The following details are displayed:
ID
The internal identifier for this Activity Context.
Activity Class
The Java class representing this activity.
Last Access Timestamp
The timestamp of when this Activity Context was last accessed.
Timers
The SLEE Timers attached to this Activity Context, if any.
Data Attributes
The CMP attributes set in this Activity Context, if any.
Name Bindings
The set of names given to this Activity Context, if any.
RA Entity
The Resource Adaptor Entity responsible for creating this Activity Context, if any.
SBB Attachments
The SBBs attached to this Activity Context, if any.
It is also possible to view the details of the SBB Entities attached to the activities by clicking on it's ID.
The following details are shown:
Entity ID
The internal identifier for this SBB Entity.
Parent SBB Entity
The internal identifier for the parent SBB Entity for this SBB Entity, if any.
Root SBB Entity
The internal identifier of the root SBB Entity for this SBB Entity, which may be itself.
SBB
The SBB component this SBB Entity represents.
Priority
The priority for this SBB Entity in it's child relation, if any.
Service Convergence Name
A name used to uniquely identify a root SBB entity belonging to a Service.
Service
The SLEE Service to which this SBB Entity belongs.
It is possible to query Resource Adaptor created activities for validity, by querying their liveness. If the Activity is not alive the Resource Adaptor is expected to end the activity. If the Activity is still alive the Resource Adaptor is not expected to do anything.
In this view, it's possible to monitor the alarms which occured in the SLEE. The alarms are listed by their Timestamp, ID, Level and Message.
In order to keep a low impact on the SLEE no real-time update is performed with regards to the Usage Parameters. To update the displayed values, please click the
link.
In the Active Alarms tab the list of alarms is shown. When clicking on one of the alarms ID, it's details are shown. The following details are displayed:
ID
The internal identifier for this alarm.
Timestamp
The Java class representing this activity.
Level
The alarm level of the alarm represented by the alarm notification. In order of severity, from highest to least, they are: CLEAR, CRITICAL, MAJOR, WARNING, INDETERMINATE, MINOR.
Type
The alarm type of the generated alarm, set by the alarm source.
Instance
The instance of the generated alarm, set by the alarm source.
Message
The message of the alarm notification.
Cause
The Throwable which caused this alarm to be raised, if any, typically used to propagate an exception in the alarm notification.
The Mobicents Platform is written in Java; therefore, before running any Mobicents server, you must have a working Java Runtime Environment (JRE) or Java Development Kit (JDK) installed on your system. In addition, the JRE or JDK you are using to run Mobicents must be version 5 or higher[1].
Although you can run Mobicents servers using the Java Runtime Environment, we assume that most users are developers interested in developing Java-based, Mobicents-driven solutions. Therefore, in this guide we take the tact of showing how to install the full Java Development Kit.
Briefly stated: if you are running on a 64-Bit Linux or Windows platform, you should consider installing and running the 64-bit JDK over the 32-bit one. Here are some heuristics for determining whether you would rather run the 64-bit Java Virtual Machine (JVM) over its 32-bit cousin for your application:
Wider datapath: the pipe between RAM and CPU is doubled, which improves the performance of memory-bound applications when using a 64-bit JVM.
64-bit memory addressing gives virtually unlimited (1 exabyte) heap allocation. However large heaps affect garbage collection.
Applications that run with more than 1.5 GB of RAM (including free space for garbage collection optimization) should utilize the 64-bit JVM.
Applications that run on a 32-bit JVM and do not require more than minimal heap sizes will gain nothing from a 64-bit JVM. Barring memory issues, 64-bit hardware with the same relative clock speed and architecture is not likely to run Java applications faster than their 32-bit cousin.
Note that the following instructions detail how to download and install the 32-bit JDK, although the steps are nearly identical for installing the 64-bit version.
You can download the Sun JDK 5.0 (Java 2 Development Kit) from Sun's website: http://java.sun.com/javase/downloads/index_jdk5.jsp. Click on the Download link next to "JDK 5.0 Update <x>
" (where <x>
is the latest minor version release number). On the next page, select your language and platform (both architecture—whether 32- or 64-bit—and operating system), read and agree to the Java Development Kit 5.0 License Agreement
, and proceed to the download page.
The Sun website will present two download alternatives to you: one is an RPM inside a self-extracting file (for example, jdk-1_5_0_16-linux-i586-rpm.bin
), and the other is merely a self-extracting file (e.g. jdk-1_5_0_16-linux-i586.bin
). If you are installing the JDK on Red Hat Enterprise Linux, Fedora, or another RPM-based Linux system, we suggest that you download the self-extracting file containing the RPM package, which will set up and use the SysV service scripts in addition to installing the JDK. We also suggest installing the self-extracting RPM file if you will be running Mobicents in a production environment.
The following procedures detail how to install the Java Development Kit on both Linux and Windows.
Procedure A.1. Installing the JDK on Linux
Regardless of which file you downloaded, you can install it on Linux by simply making sure the file is executable and then running it:
~]$ chmod +x "jdk-1_5_0_<minor_version>-linux-<architecture>-rpm.bin" ~]$ ./"jdk-1_5_0_<minor_version>-linux-<architecture>-rpm.bin"
If you download the non-RPM self-extracting file (and installed it), and you are running on an RPM-based system, you can still set up the SysV service scripts by downloading and installing one of the -compat
packages from the JPackage project. Remember to download the -compat
package which corresponds correctly to the minor release number of the JDK you installed. The compat packages are available from ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/.
You do not need to install a -compat
package in addition to the JDK if you installed the self-extracting RPM file! The -compat
package merely performs the same SysV service script set up that the RPM version of the JDK installer does.
Procedure A.2. Installing the JDK on Windows
Using Explorer, simply double-click the downloaded self-extracting installer and follow the instructions to install the JDK.
Configuring your system for the JDK consists in two tasks: setting the JAVA_HOME
environment variable, and ensuring that the system is using the proper JDK (or JRE) using the alternatives
command. Setting JAVA_HOME
usually overrides the values for java
, javac
and java_sdk_1.5.0
in alternatives
, but we will set them all just to be safe and consistent.
JAVA_HOME
Environment Variable on Generic Linux
After installing the JDK, you must ensure that the JAVA_HOME
environment variable exists and points to the location of your JDK installation.
JAVA_HOME
Environment Variable on Linux
You can determine whether JAVA_HOME
is set on your system by echo
ing it on the command line:
~]$ echo $JAVA_HOME
If JAVA_HOME
is not set already, then you must set its value to the location of the JDK installation on your system. You can do this by adding two lines to your personal ~/.bashrc
configuration file. Open ~/.bashrc
(or create it if it doesn't exist) and add a line similar to the following one anywhere inside the file:
export JAVA_HOME="/usr/lib/jvm/jdk1.5.0_<version>"
You should also set this environment variable for any other users who will be running Mobicents (any environment variables export
ed from ~/.bashrc
files are local to that user).
java
, javac
and java_sdk_1.5.0
Using the alternatives
command alternatives
On systems with the alternatives
command, including Red Hat Enterprise Linux and Fedora, you can easily choose which JDK (or JRE) installation you wish to use, as well as which java
and javac
executables should be run when called.
As the root user, call /usr/sbin/alternatives
with the --config java
option to select between JDKs and JREs installed on your system:
root@localhost ~]$ /usr/sbin/alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java *+ 3 /usr/lib/jvm/jre-1.5.0-sun/bin/java Enter to keep the current selection[+], or type selection number:
In our case, we want to use the Sun JDK, version 5, that we downloaded and installed, to run the java
executable. In the alternatives
information printout above, a plus (+
) next to a number indicates the one currently being used. As per alternatives
' instructions, pressing Enter will simply keep the current JVM, or you can enter the number corresponding to the JVM you would prefer to use.
Repeat the procedure above for the javac
command and the java_sdk_1.5.0
environment variable, as the root user:
~]$ /usr/sbin/alternatives --config javac
~]$ /usr/sbin/alternatives --config java_sdk_1.5.0
JAVA_HOME
Environment Variable on WindowsFor information on how to set environment variables in Windows, refer to http://support.microsoft.com/kb/931715.
Finally, to make sure that you are using the correct JDK or Java version (5 or higher), and that the java executable is in your PATH
, run the java
command in the terminal from your home directory:
-version
~]$ java -version java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b03) Java HotSpot(TM) Client VM (build 1.5.0_16-b03, mixed mode, sharing)
There is usually no reason (other than space concerns) to remove a particular JDK from your system, given that you can switch between JDKs and JREs easily using alternatives
, and/or by setting JAVA_HOME
.
On RPM-based systems, you can uninstall the JDK using the yum
command.
remove <jdk_rpm_name>
On Windows systems, check the JDK entry in the Start
menu for an uninstall command, or use Add/Remove Programs
.
[1] At this point in time, it is possible to run most Mobicents servers, such as the JAIN SLEE, using a Java 6 JRE or JDK. Be aware, however, that presently the XML Document Management Server does not run on Java 6. We suggest checking the Mobicents web site, forums or discussion pages if you need to inquire about the status of running the XML Document Management Server with Java 6.
The Mobicents Platform (Mobicents) is built on top of the JBoss Application Server. You do not need to set the JBOSS_HOME
environment variable to run any of the Mobicents Platform servers unless JBOSS_HOME
is already set.
The best way to know for sure whether JBOSS_HOME
was set previously or not is to perform a simple check which may save you time and frustration.
At the command line, echo
$JBOSS_HOME
to see if it is currently defined in your environment:
~]$ echo $JBOSS_HOME
The Mobicents Platform and most Mobicents servers are built on top of the JBoss Application Server (JBoss Application Server). When the Mobicents Platform or Mobicents servers are built from source, then JBOSS_HOME
must be set, because the Mobicents files are installed into (or “over top of” if you prefer) a clean JBoss Application Server installation, and the build process assumes that the location pointed to by the JBOSS_HOME
environment variable at the time of building is the JBoss Application Server installation into which you want it to install the Mobicents files.
This guide does not detail building the Mobicents Platform or any Mobicents servers from source. It is nevertheless useful to understand the role played by JBoss AS and JBOSS_HOME
in the Mobicents ecosystem.
The immediately-following section considers whether you need to set JBOSS_HOME
at all and, if so, when. The subsequent sections detail how to set JBOSS_HOME
on Unix and Windows
Even if you fall into the category below of not needing to set JBOSS_HOME
, you may want to for various reasons anyway. Also, even if you are instructed that you do not need to set JBOSS_HOME
, it is good practice nonetheless to check and make sure that JBOSS_HOME
actually isn't set or defined on your system for some reason. This can save you both time and frustration.
JBOSS_HOME
if......you have installed the Mobicents Platform binary distribution.
...you have installed a Mobicents server binary distribution which bundles JBoss Application Server.
JBOSS_HOME
if......you are installing the Mobicents Platform or any of the Mobicents servers from source.
...you are installing the Mobicents Platform binary distribution, or one of the Mobicents server binary distributions, which do not bundle JBoss Application Server.
Naturally, if you installed the Mobicents Platform or one of the Mobicents server binary releases which do not bundle JBoss Application Server, yet requires it to run, then you should install before setting JBOSS_HOME
or proceeding with anything else.
The JBOSS_HOME
environment variable must point to the directory which contains all of the files for the Mobicents Platform or individual Mobicents server that you installed. As another hint, this topmost directory contains a bin
subdirectory.
Setting JBOSS_HOME
in your personal ~/.bashrc
startup script carries the advantage of retaining effect over reboots. Each time you log in, the environment variable is sure to be set for you, as a user. On Unix, it is possible to set JBOSS_HOME
as a system-wide environment variable, by defining it in /etc/bashrc
, but this method is neither recommended nor detailed in these instructions.
Procedure B.1. To Set JBOSS_HOME on Unix...
Open the ~/.bashrc
startup script, which is a hidden file in your home directory, in a text editor, and insert the following line on its own line while substituting for the actual install location on your system:
export JBOSS_HOME="/home/<username>/<path>/<to>/<install_directory>"
Save and close the .bashrc
startup script.
You should source
the .bashrc
script to force your change to take effect, so that JBOSS_HOME
becomes set for the current session[2].
~]$ source ~/.bashrc
Finally, ensure that JBOSS_HOME
is set in the current session, and actually points to the correct location:
The command line usage below is based upon a binary installation of the Mobicents Platform. In this sample output, JBOSS_HOME
has been set correctly to the topmost_directory
of the Mobicents installation. Note that if you are installing one of the standalone Mobicents servers (with JBoss AS bundled!), then JBOSS_HOME
would point to the topmost_directory
of your server installation.
~]$ echo $JBOSS_HOME /home/silas/
The JBOSS_HOME
environment variable must point to the directory which contains all of the files for the Mobicents Platform or individual Mobicents server that you installed. As another hint, this topmost directory contains a bin
subdirectory.
For information on how to set environment variables in recent versions of Windows, refer to http://support.microsoft.com/kb/931715.
[2]
Note that any other terminals which were opened prior to your having altered .bashrc
will need to source
~/.bashrc
as well should they require access to JBOSS_HOME
.
Revision History | |||
---|---|---|---|
Revision 1.0 | Mon Jan 09 2012 | ||
|