Developers


Introduction

Once your platform is installed, you may want to modify some configuration files for some components inside the platform. This page will let you know most of the components you'll find in your platform and how to interact with their configuration files.

Global overview

Depending on your installation type, you may have one of these software architecture:

Compact installation

archiallinone.png

The compact version can be installed on a single machine. It is recommended for the small configurations.

Enterprise installation

The enterprise version consists in the splitting of the standalone version into 4 different nodes:

  • gardien (Bind+LAMP)
  • routing (Apache+ opensips)
  • dev (LAMP+Asterisk (media server))
  • content (LAMP + subversion+tomacat)

Gateway installation

archigateway.png

The gateway is the element bridging Telecom and IT worlds.It can be connected to a compact of an enterprise version. Some elements are pre-installed on the compact or the routing node but an external gateway can be used. Alternative solution such as SIP trunks are also possible.

For example, for SMS connectivity, you may need:

  • A SMS Center connection through SMPP
  • A USB SIM card modem

For example, for PSTN connectivity, you may need:

  • An Asterisk DADHI card
  • A SIP trunk

Components

OpenSIPS

Description

Opensips has in charge the Voice over IP (SIP) routing between users and projects.

Web Configuration

See Admin Guide.

CLI Configuration

The main opensips configuration file is defined under:

  • /etc/puppet/modules/opensips/templates/opensips.cfg.erb

Also, you may find usefull information about how to configure opensips on:

Check status

To check if opensips is well running, you can use this command line:

  • ps -ef | grep opensips

Typical result is:
opensips  1326     1  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1377  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1378  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1379  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1380  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1381  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1382  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1383  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1384  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1385  1326  0 Apr09 ?        00:00:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1386  1326  0 Apr09 ?        00:02:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1387  1326  0 Apr09 ?        00:02:10 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1388  1326  0 Apr09 ?        00:00:30 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1408  1326  0 Apr09 ?        00:00:06 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1409  1326  0 Apr09 ?        00:00:04 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1410  1326  0 Apr09 ?        00:00:05 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1412  1326  0 Apr09 ?        00:00:04 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips
opensips  1414  1326  0 Apr09 ?        00:00:04 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 64 -M 4 -u opensips -g opensips

If you do not have any result, OpenSIPS may need to be restarted:

  • sudo /etc/init.d/opensips restart

Result should be:
Restarting opensips: opensipsListening on
             udp: 127.0.0.1 [127.0.0.1]:5060
             udp: 192.168.0.3 [192.168.0.3]:5060
             tcp: 127.0.0.1 [127.0.0.1]:5060
             tcp: 192.168.0.3 [192.168.0.3]:5060
Aliases:
             tcp: private.emerginov.fr:5060
             tcp: localhost:5060
             udp: private.emerginov.fr:5060
             udp: localhost:5060

.

Log file

OpenSIPS is logging in syslog: 

  • tail -f /var/log/syslog

You want to contribute

Emerginov is a young community. We would be happy to welcome contributors. The easiest way to contribute consists in contacting the team by mail at admin@emerginov.org.

Most of the work consists in developing/upgrading puppet modules and/or work on the web services + web pages of the glue we develop for Emerginov. 

You can have a look at the SVN, under trunk/

  • bin // main emerginov script to be used for the automatic installation
    • emerginov-init // command launch to configure the automatic installation
    • emerginov-update // command to update the solution (bug fixes or version)
    • emerginov-report // provide installation debug information
    • emerginov-apply // command to be used for the automatic installation (sometimes several times in a raw see installation guide)
  • debian: files used to create emerginov packages
  • puppet
    • files
    • manifests
    • modules
      • module X
        • files
        • manifests
        • templates

          the files, manifests and templates folder are standard puppet folders. The list of the main modules can be described as follow:

          •  apache2
          • asterisk_as
          • asterisk_gw
          • base
          • bind
          • debian_repos
          • emerginov_services
          • firewall
          • gateway
          • kannel
          • mailer
          • mysql
          • nursery
          • opensips
          • openvpn
          • wui

          If you wan to contribute you may add a new module. The configuration files can be retrieved in puppet/manifests/default_config