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
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
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
- module X