Installation Guide Standalone


  1. Emerginov Compact installation guide
    1. Requirements
    2. How-To Install
      1. Video tutorial
      2. Ubuntu Desktop
      3. Prepare your machine
      4. Install the emerginov-master package
      5. Grab emerginov source code
      6. Initialise configuration files
      7. Start the installation using puppet
    3. Finishing the installation
      1. Tweaking Gateway parts
        1. Requirements
        2. SIP Trunk configuration
        3. USB Modem
      2. Testing

Emerginov Compact installation guide

Requirements

Please, before proceeding, be sure to have all requirements.
You also need a configured Domain Name.
And the most important thing is to have a well configured Firewall.

How-To Install

Video tutorial

See video tutorial on the installation of a Compact version

Ubuntu Desktop

if you are using Ubuntu LTS Desktop (it is not the best choice, prefer the Server version please), start by this

ssh localhost

Prepare your machine

First, be root:

sudo -s

Update your machine

apt-get update
apt-get upgrade
apt-get dist-upgrade

Eventually, reboot:

reboot

Add the emerginov launchpad repo:

apt-get install python-software-properties
add-apt-repository ppa:emerginovteam/emerginov
apt-get update

Install the emerginov-master package

The emerginov-master package contains some custom scripts to help you start with emerginov:

apt-get install emerginov-master

Grab emerginov source code

Grab emerginov source code from subversion repo with the emerginov-update command:

emerginov-update

You'll be ask to continue because of No Emerginov files found, checkout needed.
Answer Yes by pressing y followed by enter

Initialise configuration files

The emerginov-init command will initialise the configuration files to reflect your installation of emerginov:

emerginov-init

Answer all the questions. If you need help to answer the questions, you can Contact us. 

Once done, the configuration files are stored in /etc/emerginov/.
These files are puppet files. Indeed, we use puppet to configure the whole emerginov platform.

Please, check at least that the emerginov.pp file is well configured before going further:

vim /etc/emerginov/emerginov.pp

Start the installation using puppet

To ease the installation of emerginov, we wrote some script to use puppet with finger in the nose. These scripts are inside the emerginov-agent package:

apt-get install emerginov-agent

The main script is called emerginov-apply. At first, it will try to connect to the puppet master you installed in previous section and then apply the whole configuration:

emerginov-apply
puppet cert sign compact.emerginov.localnet
emerginov-apply

At this step, the console will throw a lot of information. At long as it's green or blue, it means that puppet is working fine.
When it becomes purple or yellow, it means that something went wrong. Please run emerginov-apply again:

emerginov-apply

Depending on your installation, it may happen that you still see some purple errors.
Before worrying a lot, please run emerginov-apply few times more to see if the error is still there.
If you still have some purple, do not hesitate to Contact us. 

At the end, you must have run emerginov-apply at least 3 times.

Reboot:

reboot

Finishing the installation

Tweaking Gateway parts

Requirements

In Compact installation, the type of gateway to use is:

  • SIP Trunk for vocal calls
  • USB Modem for SMS

If you do not have an USB Modem, you won't be able to send and receive SMS.
If you do not have a SIP Trunk, you won't be able to send and receive calls.

If your compact machine is a Virtual Machine, you may have some issue to plug the USB Modem...
If you are using proxmox as Virtual Machine server, we know that some installation work with USB passthrough:
https://pve.proxmox.com/wiki/USB_physical_port_mapping

SIP Trunk configuration

The configuration of SIP Trunk on a compact machine is done in the asterisk_as puppet module.

The main file is sip.conf.erb, open it:

vim /etc/puppet/modules/asterisk_as/templates/sip.conf.erb

Take a look at the end of the file:

;-----------------------------------------------------------------------
; SIP TRUNK REGISTRATIONS
;-----------------------------------------------------------------------

; Here are some registration sample to use when Asterisk is also used as
; a GW to go through an external SIP account provider (aka sip trunk)

; Asterisk can register as a SIP user agent to a SIP proxy (provider)
; Format for the register statement is:
;       register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

;register => sip-outside?USER:PASSWORD@IP_OF_YOUR_SIPTRUNK_PROVIDER/332xxxxxxxx

;[sip-outside]
;type=peer
;host=IP_OF_YOUR_SIPTRUNK_PROVIDER
;outboundproxy=IP_OF_YOUR_SIPTRUNK_PROVIDER,force
;username=USER
;secret=PASSWORD
;context=pstn2ip
;insecure=invite,port

You will need to uncomment the line starting from register and replace the values to the correct values from your SIP Trunk provider.

;-----------------------------------------------------------------------
; SIP TRUNK REGISTRATIONS
;-----------------------------------------------------------------------

; Here are some registration sample to use when Asterisk is also used as
; a GW to go through an external SIP account provider (aka sip trunk)

; Asterisk can register as a SIP user agent to a SIP proxy (provider)
; Format for the register statement is:
;       register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

register => sip-outside?USER:PASSWORD@IP_OF_YOUR_SIPTRUNK_PROVIDER/332xxxxxxxx

[sip-outside]
type=peer
host=IP_OF_YOUR_SIPTRUNK_PROVIDER
outboundproxy=IP_OF_YOUR_SIPTRUNK_PROVIDER,force
username=USER
secret=PASSWORD
context=pstn2ip
insecure=invite,port

USB Modem

The USB Modem is handled by Kannel. We already performed most of the configuration to work with a Huawei E220 and some other modems or phones.
You'll find the kannel configuration file in the kannel puppet module.

The main file to edit is kannel.conf.erb:

vim /etc/puppet/modules/kannel/templates/kannel.conf.erb

You might need to edit at least the section:

group = smsc

And maybe:

group = modems

Testing

To check that everything is working fine, please follow the Post Installation Testing Suite.