Revision: 16221
Author: [email protected]
Date: Thu Jan 6 10:46:53 2011
Log: [No log message]
http://code.google.com/p/mobicents/source/detail?r=16221
Added:
/trunk/protocols/ss7/docs/sources/src/main/resources/en-US/images/binnar-structure.png
Modified:
/trunk/protocols/ss7/docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml
=======================================
--- /dev/null
+++
/trunk/protocols/ss7/docs/sources/src/main/resources/en-US/images/binnar-structure.png
Thu Jan 6 10:46:53 2011
Binary file, no diff available.
=======================================
---
/trunk/protocols/ss7/docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml
Tue Jan 4 21:12:25 2011
+++
/trunk/protocols/ss7/docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml
Thu Jan 6 10:46:53 2011
@@ -6,72 +6,182 @@
<chapter
id="setup">
- <title>Source and Binary Setup</title>
+ <title>Installation and Running</title>
<section
- id="preinstall_requirements_and_prerequisites">
- <title>Pre-Install Requirements and Prerequisites</title>
- <para>Ensure that the following requirements have been met before
continuing with the install.</para>
+ id="installing_and_using">
+ <title>Installing</title>
+ <para>Mobicents SS7 stack at its core requires only Java 1.5(Java SE) if
you are using only <literal>M3UALinkset</literal>.
+ However if you plan to use <literal>DahdiLinkset</literal> or
<literal>DialogicLinkset</literal>, respective SS7 cards
+ needs to be installed on the server along with native
libraries.</para>
+
+ <para>A simple way to get started is to download and install binary.
This will provide you with all the dependencies you need to get going.
+ You can obtain binary release from &THIS.RELEASE_BINARY_URL;
+ </para>
+
<section
- id="hardware_requirements">
- <title>Hardware Requirements</title>
- <para>The
- &THIS.PLATFORM; &THIS.APPLICATION;
- doesn't change the &THIS.PLATFORM;
- Hardware Requirements, however it requires
- <acronym>SS7</acronym>
- card.
- </para>
- <note>
- <!-- Is this proper statement ? -->
- <para>Desired is high performance machine to process voice and data
channels.</para>
- </note>
- </section>
- <section
- id="software_prerequisites">
- <title>Software Prerequisites</title>
- <para>The &THIS.PLATFORM; &THIS.APPLICATION;
- depends on :
- </para>
+ id="dependencies">
+ <title>Binary Service</title>
+ <para>The &THIS.PLATFORM; &THIS.APPLICATION; binary is broken down into
a few modules.</para>
+ <para>The following is a description of the important services and
libraries that make up &THIS.PLATFORM; &THIS.APPLICATION;</para>
<itemizedlist>
<listitem>
- <para>&THIS.PLATFORM;
- <literal>ASN</literal>
- library
- </para>
+ <para><literal>asn</literal> : Abstract Syntax Notation One (ASN.1)
library is used by various &THIS.PLATFORM; &THIS.APPLICATION;
+ protocols to encode/decode the structured data exchanged between
Signaling Point over networks. To know more about asn library refer to
+ document included with asn. Applications using any of the
&THIS.PLATFORM; &THIS.APPLICATION; User Protocols may never need to call
asn API directly,
+ however it must be in classpath as &THIS.PLATFORM; &THIS.APPLICATION;
User Protocols refers this library.</para>
</listitem>
+ <!--
<listitem>
- <para>&THIS.PLATFORM;
- <literal>Stream</literal>
- library
+ <para><literal>stream</literal> : All I/O operation within
&THIS.PLATFORM; &THIS.APPLICATION; is asynchronous.
+ Stream API enables the user to abstract I/O operation. To know more
about stream library refer to
+ document included with stream.
</para>
</listitem>
+ -->
+ <listitem>
+ <para><literal>ss7</literal> : ss7 contains the service that is
deployed in JBoss AS and libraries that end applications refers to.
+ ss7 is further divided into sub-modules
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para><literal>docs</literal> : User guide for &THIS.PLATFORM;
&THIS.APPLICATION; </para>
+ </listitem>
+ <listitem>
+ <para><literal>mobicents-ss7-service</literal> : SS7 service is the
core engine as explained in section <xref
linkend="design_overview_ss7_service" /> </para>
+ </listitem>
+ <listitem>
+ <para><literal>native</literal> : native libraries component to
interact with SS7 Card installed on server, runtime component.
+ As of now native libraries are compiled only for linux OS. However
if you plan to use <literal>M3UALinkset</literal> there is
+ no dependency on OS as
everything is 100% java.</para>
+ </listitem>
+ <listitem>
+ <para><literal>protocols</literal> : The &THIS.PLATFORM;
&THIS.APPLICATION; User Protocols libraries. Your application would directly
+ call the API's exposed by these libraries. Depending on application
you may be either interested in <literal>TCAP</literal>,
+ <literal>MAP</literal> or both or <literal>ISUP</literal>
libraries</para>
+ </listitem>
+ <listitem>
+ <para><literal>shell</literal> : the Command Line Interface (CLI)
module to manage the &THIS.PLATFORM; &THIS.APPLICATION;.
+ Refer <xref linkend="linkset_management"/> to understand how to use
shell</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
<!-- <listitem> <para>&THIS.PLATFORM; <literal>M3UA</literal> library
</para> </listitem> -->
</itemizedlist>
+ <para>Binary release has following layout:</para>
+ <mediaobject id="binary_layout">
+ <imageobject>
+ <imagedata width="300px" align="center"
fileref="images/binnar-structure.png" format="PNG" />
+ </imageobject>
+ <caption>
+ <para>&THIS.PLATFORM; &THIS.APPLICATION; binary
layout.
+ </para>
+ </caption>
+ </mediaobject>
</section>
+
+ <section
+ id="installing_binary">
+ <title>Installing Binary</title>
+ <para>The &THIS.PLATFORM; &THIS.APPLICATION; binary requires that you
have JBoss Application Server installed
+ and JBOSS_HOME system property set. To know further details on setting
JBOSS_HOME look
+ <xref linkend="jboss_home_setup" /> </para>
+
+ <para>Once JBOSS_HOME is properly set, use ant to deploy the
mobicents-ss7-service, shell scripts and shell library.</para>
+ <important>
+ <para>
+ Ant 1.6 (or higher) is used to install the binary. Instructions for
using Ant, including install, can be found at <ulink
url="http://ant.apache.org/" /></para>
+ </important>
+ <programlisting>
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;/ss7
+[usr]$ ant deploy
+ </programlisting>
+ <para>To undeploy these services</para>
+ <programlisting>
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;/ss7
+[usr]$ ant undeploy
+ </programlisting>
+
+ <para>
+ While above steps will deploy the necessary ss7 service and shell
components, the <literal>java.library.path</literal>
+ should be set to point the directory containing native component or
should be copied to JBoss native library path manually.
+ This step is only required if you are using the
SS7 board on server.
+ </para>
+ </section>
+ <section
+ id="running_binary">
+ <title>Running &THIS.PLATFORM;
&THIS.APPLICATION;</title>
+ <para>
+ Starting or stopping &THIS.PLATFORM; &THIS.APPLICATION; is no
different than starting or stopping JBoss Application Server
+ </para>
+ <section
+ id="starting_binary">
+ <title>Starting</title>
+ <para>
+ Once installed, you can run server by executing the run.sh (Unix) or
run.bat (Microsoft Windows)
+ startup scripts in the
<filename><install_directory>/bin</filename> directory (on Unix or
Windows).
+ If the service started properly you should see following lines in the
Unix terminal or Command Prompt depending on your environment:
+ </para>
+ <screen><![CDATA[
+23:22:26,079 INFO [LinksetManager] SS7 configuration file path
/home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/data/linksetmanager.xml
+23:22:26,141 INFO [LinksetManager] Started LinksetManager
+23:22:26,199 INFO [SS7Service] Starting SCCP stack...
+23:22:26,229 INFO [SccpStackImpl] Starting ...
+23:22:26,230 INFO [RouterImpl] SCCP Router configuration file:
/home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/deploy/mobicents-ss7-service/sccp-routing.txt
+23:22:26,261 INFO [SS7Service] SCCP stack Started. SccpProvider bound to
java:/mobicents/ss7/sccp
+23:22:26,261 INFO [ShellExecutor] Starting SS7 management shell
environment
+23:22:26,270 INFO [ShellExecutor] ShellExecutor listening at
/127.0.0.1:3435
+23:22:26,270 INFO [SS7Service] [[[[[[[[[ Mobicents SS7 service started
]]]]]]]]]
+]]>
+ </screen>
+ </section>
+ <section
+ id="stopping_binary">
+ <title>Stopping</title>
+ <para>You can shut down the server(s) you can run server(s) by
executing the <command>shutdown.sh -s</command> (Unix) or
+ <command>shutdown.bat -s</command> (Microsoft Windows) scripts in the
<filename><install_directory>/bin</filename>
+ directory (on Unix or Windows). Note that if you properly stop the
server, you will see the following three lines as the last output in the
Unix terminal or Command Prompt:</para>
+ <screen><![CDATA[[Server] Shutdown complete
+Shutdown complete
+Halting VM]]></screen>
+ </section>
+ </section>
</section>
<section
id="source_code">
<title>
- Source Code
+ Setup from source
</title>
- <para></para>
+ <para>&THIS.PLATFORM; &THIS.APPLICATION; is an open source project,
instructions for building from source are part of the manual!
+ Building from source means you can stay on top with the latest features.
Whilst aspects of &THIS.PLATFORM; &THIS.APPLICATION; are quite
+ complicated, you may find ways to become contributors.</para>
+
+ <para>&THIS.PLATFORM; &THIS.APPLICATION; works with JDK1.5 and above.
you will need also need to have the following tools installed.
+ Minimum requirement version numbers provided.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>Subversion Client 1.4</literal> : Instructions for
using SVN, including install, can be found at <ulink
+
url="http://subversion.tigris.org" /></para>
+ </listitem>
+ <listitem>
+ <para><literal>Maven 2.0.9</literal> : Instructions for using Maven,
including install, can be found at <ulink
+
url="http://maven.apache.org/" /></para>
+ </listitem>
+ <listitem>
+ <para><literal>Ant 1.7.0</literal> : Instructions for using Ant,
including install, can be found at <ulink
+
url="http://ant.apache.org" /></para>
+ </listitem>
+ </itemizedlist>
<section
- id="release_source_building">
+ id="source_building">
<title>Release Source Code Building</title>
<procedure>
<step>
<title>Downloading the source
code</title>
- <important>
- <para>
- Subversion is used to manage its source code. Instructions for
using Subversion, including install, can be found at
- <ulink
-
url="http://svnbook.red-bean.com" />
- </para>
- </important>
- <para>Use
- SVN to checkout a specific release source, the base URL is
&THIS.RELEASE_SOURCE_CODE_URL;,
+
+ <para>Use SVN to checkout a specific release source, the base URL is
&THIS.RELEASE_SOURCE_CODE_URL;,
then add the specific release
version, lets consider &THIS.VERSION;.
</para>
<programlisting>[usr]$ svn co
&THIS.RELEASE_SOURCE_CODE_URL;/&THIS.APPLICATION.DIRNAME;-&THIS.VERSION;</programlisting>
@@ -79,24 +189,46 @@
</step>
<step>
<title>Building the source code</title>
- <important>
+ <para>Now that we have the source the next step is to build and
install the source.
+ &THIS.PLATFORM; &THIS.APPLICATION; uses Maven 2 to build the system.
There are two profiles
+ available "dahdilinux" and "dialogiclinux" appart from default
profile that doesn't try to compile the native modules.</para>
+ <note>
<para>
- Maven 2.0.9 (or higher) is used to build the release. Instructions
for using Maven2, including install, can be found at
- <ulink
-
url="http://maven.apache.org" />
+ Native modules are
supported only for linux OS for now.
</para>
- </important>
- <para>Use Maven to build the
binaries.</para>
+ </note>
+ <para>Use "dahdilinux" profile if linux server on which this code is
built already has dahdi module installed.
+ Make sure you pass "include.zap" system property pointing to correct
directory where dahdi is installed</para>
<programlisting>
- [usr]$ cd
&THIS.APPLICATION.DIRNAME;-&THIS.VERSION;
- [usr]$ mvn install
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;
+[usr]$ mvn install -Pdahdilinux -Dinclude.zap=/usr/include/dahdi
</programlisting>
- <para>
- Once the process finishes you
should have the
- <literal>binary</literal>
- build in
<filename>XXX</filename>
- .
- </para>
+
+ <para>Use "dialogiclinux" profile if linux server on which this code
is built already has dialogic module installed.
+ Make sure you pass "include.dialogic" system property pointing to
correct directory where dilogic libraries are installed</para>
+ <programlisting>
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;
+[usr]$ mvn install -Pdialogclinux -Dinclude.dialogic=/usr/include/dialogic
+ </programlisting>
+
+ <para>To build &THIS.PLATFORM; &THIS.APPLICATION; without building
any native libraries use</para>
+ <programlisting>
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;
+[usr]$ mvn install
+ </programlisting>
+ <note>
+ <para>
+ If you are using &THIS.PLATFORM; &THIS.APPLICATION; without any
native dependencies, &THIS.PLATFORM; &THIS.APPLICATION; can run in any OS.
+ </para>
+ </note>
+
+
+ <para>Use Ant to build the binary
.</para>
+ <programlisting>
+[usr]$ cd &THIS.APPLICATION.DIRNAME;-&THIS.VERSION;/release
+[usr]$ ant
+ </programlisting>
+
</step>
</procedure>
</section>
@@ -107,71 +239,11 @@
<para>
Similar process as for
<xref
- linkend="release_source_building" />,
+ linkend="source_building" />,
the only change is the SVN source code URL, which is
&THIS.TRUNK_SOURCE_CODE_URL;.
</para>
</section>
</section>
-
- <section
- id="binary_release">
- <title>Binary release</title>
- <para>You
- can obtain binary release from &THIS.RELEASE_BINARY_URL;
- (section
- <literal>Mobicents Protocols Suite</literal>
- ).
- It contains following:
- </para>
- <variablelist>
- <varlistentry>
- <term>Documentation</term>
- <listitem>
- <para>Up to date documentation for current
release.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Dependencies</term>
- <listitem>
- <para>
- All required dependencies, ie.
-
- <literal>Stream</literal>
- ,
- <literal>ASN</literal>
- .
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Binary release</term>
- <listitem>
- <para>All supported protocol modules as jar
files.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>SS7 Service</term>
- <listitem>
- <para>
- SS7 service which can be
deployed in
- <literal>JBoss</literal>
- server.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Shell CLI </term>
- <listitem>
- <para>Shell
- like tool to manage &THIS.PLATFORM;
&THIS.APPLICATION;.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Binary release has following layout:</para>
- <!-- XXX AMIT: Add image here. -->
- </section>
-
</chapter>