IMSZone

Diameter Stack Build

  1. Checkout :
    git clone https://github.com/inamkhosa/imsdiameterstack.git
  2. Compile Diameter App Common library which is pre-requisite for Diameter Stack :
    cd diameterstack/appcommon
  3. Execute the script autogen.sh to generate makefiles from autotools :
    # ./autogen.sh --prefix=/usr –datarootdir=/etc
    For debugging with gdb, following command may be used:
    # ./autogen.sh --prefix=/usr --enable-debug=yes
    For release compilation, following command may be used:
    # ./autogen.sh --prefix=/usr --enable-debug=no --enable-opt=8
  4. Compile the Diameter App Common library :
    # make
  5. Install the compiled Diameter App Common library by using the command:
    # make install
  6. Build and Install Diameter Stack:
    cd diameterstack/baseprotocol
  7. Execute the script autogen.sh to generate makefiles from autotools :
    # ./autogen.sh --prefix=/usr –datarootdir=/etc
  8. Compile the Diameter library :
    # make
  9. Install the compiled Diameter App Common library by using the command:
    # make install
* Default installation path of diameter library is /usr/local/lib.
Thats all ! , you are done with the compilation and installation of the diameterstack. the shared library can be found in the above mentioned directory.

HSS Build

  1. Build Dependencies
    IMS HSS Depends on following Libraries. Make sure that you have built /installed all of the following libraries before building HSS
    - libamps (AMPS library)
    - libxml2 (XML Libraray)
    - libdiameter (Diameter Base Stack library)
  2. Get Source Code
    mkdir imshss
    git clone https://github.com/inamkhosa/imshss.git
  3. Compile and Install
    # cd imshss
    # ./autogen.sh --prefix=/usr –datarootdir=/etc
    For debugging with gdb, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=yes
    For release compilation, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=no --enable-opt=8
    Note: If –prefix and –datarootdir are not given then HSS will install to default directories. Default directories for installation are /usr/local/bin for binary files , /usr/local/lib for libraries and /usr/local/hss for configuration files.
  4. Compile and Install
    # make
    # make install
    Not: if you use different directories for installation rather than default directories then you should add you binary file path to environment variable PATH and libraries file to environment variable LD_LIBRARY_PATH.
  5. Configure HSS
    The configuration file hss_config.xml is used to provide the configuration options for running the HSS application. The default path for installation of this configuration file is /usr/local/share/hss
    #vi /usr/local/share/hss/hss_config.xml
    Change the IPs and Ports to reflect to your system IP and Port.
  6. Start HSS
    The name of application installed for executing the HSS is 'hss'. In Linux the default path for its installation is /usr/local/bin. Use the following command for starting the HSS.
    # hss

OCS Build

Build & Install OCS

  1. Build Dependencies
    IMS HSS Depends on following Libraries. Make sure that you have built /installed all of the following libraries before building OCS
    - libamps (AMPS library)
    - libxml2 (XML Libraray)
    - libdiameter (Diameter Base Stack library)
  2. Get Source Code
    mkdir imsocs
    git clone https://github.com/inamkhosa/imsocs.git
  3. Compile and Install
    # cd imsocs
    # ./autogen.sh --prefix=/usr –datarootdir=/etc
    For debugging with gdb, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=yes
    For release compilation, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=no --enable-opt=8
    Note: If –prefix and –datarootdir are not given then HSS will install to default directories. Default directories for installation are /usr/local/bin for binary files , /usr/local/lib for libraries and /usr/local/hss for configuration files.
  4. Compile and Install
    # make
    # make install
    Not: if you use different directories for installation rather than default directories then you should add you binary file path to environment variable PATH and libraries file to environment variable LD_LIBRARY_PATH.
  5. Configure OCS
    The configuration file ocs_config.xml is used to provide the configuration options for running the OCS application. The default path for installation of this configuration file is /usr/local/share/onlinecharging
    #vi /usr/local/share/onlinecharging/ocs_config.xml
    Change the IPs and Ports to reflect to your system IP and Port.
  6. Start OCS
    The name of application installed for executing the OCS is 'onlinecharging'. In Linux the default path for its installation is /usr/local/bin. Use the following command for starting the OCS..
    # onlinecharging

OFCS Build

Build & Install Offline Charging System

  1. Build Dependencies
    IMS Offline Charging System Depends on following Libraries. Make sure that you have built /installed all of the following libraries before building HSS
    - libamps (AMPS library)
    - libxml2 (XML Libraray)
    - libdiameter (Diameter Base Stack library)
  2. Get Source Code
    mkdir imscdf
    git clone https://github.com/inamkhosa/imscdf.git
  3. Compile and Install
    # cd imscdf
    # ./autogen.sh --prefix=/usr –datarootdir=/etc
    For debugging with gdb, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=yes
    For release compilation, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=no --enable-opt=8
    Note: If –prefix and –datarootdir are not given then HSS will install to default directories. Default directories for installation are /usr/local/bin for binary files , /usr/local/lib for libraries and /usr/local/hss for configuration files.
  4. Compile and Install
    # make
    # make install
    Not: if you use different directories for installation rather than default directories then you should add you binary file path to environment variable PATH and libraries file to environment variable LD_LIBRARY_PATH.
  5. Configure CDF
    The configuration file offcs_config.xml is used to provide the configuration options for running the CDF application. The default path for installation of this configuration file is /usr/local/share/offlinecharging
    #vi /usr/local/share/offlinecharging/offcs_config.xml
    Change the IPs and Ports to reflect to your system IP and Port.
  6. Start OFCS
    The name of application installed for executing the CDF is 'offlinecharging'. In Linux the default path for its installation is /usr/local/bin. Use the following command for starting the CDF.
    # offlinecharging

Media Server Build

Build & Install Media Server

  1. Build Dependencies
    IMS Offline Charging System Depends on following Libraries. Make sure that you have built /installed all of the following libraries before building Media Server
    - ibsndfile: Library for Reading and Writing Sound Files
    - libutil: UTIL Library
    - libamps: AMPS (Asynchronous Middleware for Protocol Servers) Library
    - libsipstack: SIP Stack Library
    - libsdpparser: SDP Parsing Library
    - libdnsresolver: DNS Resolver Library
    - glib2: Glib Library
    - libxml2: Library providing XML and HTML support
  2. Get Source Code
    mkdir imsmrf
    git clone https://github.com/inamkhosa/imsmrf.git
  3. Compile and Install
    # cd imsmrf
    # ./autogen.sh --prefix=/usr –datarootdir=/etc

    For debugging with gdb, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=yes

    For release compilation, following command may be used:
    # ./autogen.sh --prefix=/usr --datarootdir=/etc --enable-debug=no --enable-opt=8
    # make
    # make install

  4. Note: If –prefix and –datarootdir are not given then HSS will install to default directories. Default directories for installation are /usr/local/bin for binary files , /usr/local/lib for libraries and /usr/local/hss for configuration files.


    Note: if you use different directories for installation rather than default directories then you should add you binary file path to environment variable PATH and libraries file to environment variable LD_LIBRARY_PATH.

  5. Configure Media Server
    The configuration file config.xml is used to provide the configuration options for running the Media Server application. The default path for installation of this configuration file is /etc/ms-{version}.
    #vi /etc/ms-{version}/config.xml
    Change the IPs and Ports to reflect to your system IP and Port.
  6. Start Media Server
    The name of application installed for executing the Media Server is 'ms'. In Linux the default path for its installation is /usr/local/bin. Use the following command for starting the Media Server:
  7. #ms

OAMP Build

  1. Check out the all OAMP Package NetBeans project from SVN.
    git clone https://github.com/inamkhosa/imsoamp.git
  2. Build Web Manager
  3. Open NetBeans IDE and point to your local checkout folder. The NetBean IDE will recougnize ManagerApp project Select ManagerApp Project. Resolve the Server Problem ( Makesure you have Apache Tomcat installed, in Resolve Server Problem prompt you recieve from NetbeanIDE , Point it your local Tomcat server installation. By default building ManagerApp will build SNMPManager and TrapServer projects. However if any source code changes are performed on other projects, those project should be built using NetBeans standard build operation and then WebManager project should be rebuild to reflect the latest changes. Before deployment following actions should be considered as pre-requisite:
  4. MYSQL DATABASE SETUP
  5. MySQL database is used for storing the counters, alarms/faults/traps and configuration related data recieved from Network Elements ( i.e. Media Server, HSS, Softswitch, OCS, CDF etc.)
    • Install latest MySQL distribution from MySQL along with latest distribution of MySQL GUI Tools.
    • Get the latest OAMP MySQL dump from SVN.
    • Use MySQL Administrator application to create the schema named OAMP and then restore the downloaded dump file.
  6. APACHE TOMCAT SETUP
    • Usually NetBeans ships with built-in apache tomcat distribution, however if it isn't available you'll have to download (Apache Tomcat) and register the server in NetBeans. Please refer to NetBeans.org for more details on registering external Tomcat server with the IDE. Server registration is not only used to deploy the application but also to build the application without errors.
    • After installing tomcat following action must be performed to enable application security:
      • Open [CATALINA_HOME]/conf/Server.xml and add comment out current realm. Then copy and paste the following realm in the server.xml and change the database server name and password.

      <driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/oamp?
      user=root&password=rootroot"
      userTable="tbl_users"
      userNameCol="username"
      userCredCol="password"
      userRoleTable="tbl_user_roles" roleNameCol="role_name"
      />

  7. OPENJMS SETUP
    • Download and install OpenJMS and add a topic named TrapsTopic using OpenJMS admin application client. This topic is published from OAMP web service and Network Analyzer listens to this topic to get Trap notifications and details instantly. For more information on this visit OpenJMS Official Web Site. WEBMANAGER CONFIGURATIONS SETTINGS
    • Modify the file in sources: [Project Folder]\src\java\org\ict\oamp\config\appconfig.xml and change the settings to your own MySQL installation settings.
    • After performing all above tasks, rebuild the project once again. If you want to deploy the application using NetBeans then just simply right click on the project node and click deploy.
    • If all goes well then application will be available on [tomcat host URL:port /webmanager]
    • In case some errors were encountered then check Tomcat logs for details.
  8. TRAP Server Setup
  9. Trap server project deploys as part of the ManagerApp project. To build the application though please reset the libraries path from the project properties.
  10. SNMP Manager
  11. Like Trap Server project SNMP Manager project also deploys with WebManager and to build the project from NetBeans reset the libraries path from Project Properties menu option. Note: for both projects lib directory in project folders contain all the required third party library jars.
  12. Network Analyzer Setup
    • To build the project, Open AdvoSSNetworkAnalyzer NetBeans project from your local checkout directory.
    • This project depends on various third party library jars contained in lib folder of the project home directory. Also this project is dependent on OAMPServiceClient project.
    • The OAMPServiceClient NetBeans project is also checked-out in the local checkout dirctory when working for Network Analyzer application.
    • Network Analyzer is a desktop application so no deployment is required. Just click the NetBeans standard Run command to run the project.
    • When client is running, click Tools>Settings from menu bar. A dialog box will appear in which provide the WebManager HTTP URL according to your own installation. Leave the service name unchanged.