Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Howto:Set up a FGCom server"

From FlightGear wiki
Jump to: navigation, search
m (Configuration Files)
m (iax.conf)
Line 239: Line 239:
 
  requirecalltoken=no
 
  requirecalltoken=no
 
  ;
 
  ;
[gast]
 
type=user
 
username=gast
 
secret=gast
 
context=fgcom
 
qualify=yes
 
callerid=Gast IAX User
 
host=dynamic
 
requirecalltoken=no
 
  
 
=== fgcom.inc ===
 
=== fgcom.inc ===

Revision as of 06:50, 6 October 2010

This page is for installing FGCom Server , click here for info on the client. This is almost certainly what you want, not this page.

This document is to assist in setting up hot spares as potential failover for the new server and for replacing that server if/when that becomes necessary. It is not expected that this will be a widely used document, nonetheless, the information contained is no less valuable for that.


Always remember == There can only be one active FGCom server! ==


Install Asterisk

You need an instance of Asterisk on the server, you can either install Asterisk via a package manager (if you're using CentOS/RHEL) or via the source code if you're on a different distro. For easiness (and because I can) I chose to do it via the package manager. We used CentOS (this works for RedHat too) and the instructions for installing it on CentOS/RHEL are as follows:

CentOS/RHEL

Setting up the Package Manager

In the '/etc/yum.repos.d' folder create the following files:

centos-asterisk.repo:

[asterisk-tested]
name=CentOS-$releasever - Asterisk - Tested
baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current] 
name=CentOS-$releasever - Asterisk - Current
baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

centos-digium.repo:

[digium-tested]
name=CentOS-$releasever - Digium - Tested
baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current]
name=CentOS-$releasever - Digium - Current
baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

Installing the Packages

[root@localhost~]# yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi-tools libpri

You will then see something like this:

=========================================================================================
 Package                            Arch       Version                              Size
=========================================================================================
Installing:
 asterisk16                         i386       1.6.0.15-1_centos5                  4.0 k
Installing for dependencies:
 asterisk-sounds-core-en-gsm        noarch     1.4.15-1_centos5                    1.7 M
 asterisk16-core                    i386       1.6.0.15-1_centos5                   11 M
 asterisk16-dahdi                   i386       1.6.0.15-1_centos5                  837 k
 asterisk16-doc                     i386       1.6.0.15-1_centos5                   10 k
 asterisk16-voicemail               i386       1.6.0.15-1_centos5                  264 k
 dahdi-firmware                     noarch     2.0.1-1_centos5                     1.9 k
 dahdi-firmware-oct6114-064         noarch     1.05.01-1_centos5                   165 k
 dahdi-firmware-oct6114-128         noarch     1.05.01-1_centos5                   166 k
 dahdi-firmware-tc400m              noarch     MR6.12-1_centos5                    1.7 M
 dahdi-linux                        i386       2.2.0.2-1_centos5                   3.3 k
 kernel                             i686       2.6.18-164.el5                       16 M
 kmod-dahdi-linux                   i686       2.2.0.2-1_centos5.2.6.18_164.el5    3.4 M
 kmod-dahdi-linux-fwload-vpmadt032  i686       2.2.0.2-1_centos5.2.6.18_164.el5    124 k
 libpri                             i386       1.4.10.1-1_centos5                  103 k
 libss7                             i386       1.0.2-1_centos5                      63 k
 yum-kmod                           noarch     1.1.16-13.el5.centos                 17 k

Transaction Summary
========================================================================================
Install     17 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s) 

Total download size: 35 M
Is this ok [y/N]:

Press 'y' and press 'Enter'

Downloading Packages:
(1/17): dahdi-firmware-2.0.1-1_centos5.noarch.rpm                                     | 1.9 kB     00:00
(2/17): dahdi-linux-2.2.0.2-1_centos5.i386.rpm                                        | 3.3 kB     00:00
(3/17): asterisk16-1.6.0.15-1_centos5.i386.rpm                                        | 4.0 kB     00:00
(4/17): asterisk16-doc-1.6.0.15-1_centos5.i386.rpm                                    |  10 kB     00:00
(5/17): yum-kmod-1.1.16-13.el5.centos.noarch.rpm                                      |  17 kB     00:00
(6/17): libss7-1.0.2-1_centos5.i386.rpm                                               |  63 kB     00:00
(7/17): libpri-1.4.10.1-1_centos5.i386.rpm                                            | 103 kB     00:00
(8/17): kmod-dahdi-linux-fwload-vpmadt032-2.2.0.2-1_centos5.2.6.18_164.el5.i686.rpm   | 124 kB     00:00
(9/17): dahdi-firmware-oct6114-064-1.05.01-1_centos5.noarch.rpm                       | 165 kB     00:00
(10/17): dahdi-firmware-oct6114-128-1.05.01-1_centos5.noarch.rpm                      | 166 kB     00:00
(11/17): asterisk16-voicemail-1.6.0.15-1_centos5.i386.rpm                             | 264 kB     00:01
(12/17): asterisk16-dahdi-1.6.0.15-1_centos5.i386.rpm                                 | 837 kB     00:04
(13/17): dahdi-firmware-tc400m-MR6.12-1_centos5.noarch.rpm                            | 1.7 MB     00:08
(14/17): asterisk-sounds-core-en-gsm-1.4.15-1_centos5.noarch.rpm                      | 1.7 MB     00:08
(15/17): kmod-dahdi-linux-2.2.0.2-1_centos5.2.6.18_164.el5.i686.rpm                   | 3.4 MB     00:17
(16/17): asterisk16-core-1.6.0.15-1_centos5.i386.rpm                                  |  11 MB     00:57
(17/17): kernel-2.6.18-164.el5.i686.rpm                                               |  16 MB     00:23
-------------------------------------------------------------------------------------
Total                                                                        283 kB/s |  35 MB
     02:06     
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from 
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]:

Press 'y' and 'Enter' again

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : kernel                                          [ 1/17] 
  Installing     : asterisk16-core                                 [ 2/17] 
  Installing     : kmod-dahdi-linux                                [ 3/17] 
  Installing     : asterisk16-doc                                  [ 4/17] 
  Installing     : kmod-dahdi-linux-fwload-vpmadt032               [ 5/17] 
  Installing     : asterisk-sounds-core-en-gsm                     [ 6/17] 
  Installing     : dahdi-firmware-oct6114-064                      [ 7/17] 
  Installing     : yum-kmod                                        [ 8/17] 
  Installing     : dahdi-firmware-tc400m                           [ 9/17] 
  Installing     : dahdi-firmware-oct6114-128                      [10/17] 
  Installing     : asterisk16-voicemail                            [11/17] 
  Installing     : libss7                                          [12/17] 
  Installing     : libpri                                          [13/17] 
  Installing     : dahdi-firmware                                  [14/17] 
  Installing     : dahdi-linux                                     [15/17] 
  Installing     : asterisk16-dahdi                                [16/17] 
  Installing     : asterisk16                                      [17/17] 

Installed: asterisk16.i386 0:1.6.0.15-1_centos5
Dependency Installed: asterisk16-core.i386 0:1.6.0.15-1_centos5 ...
Complete!
[root@localhost yum.repos.d]# 

When you are met with the screen above with the words 'Complete!' on it then you are ready to move on to Part 2: Configuration Files

Debian/Ubuntu

This about covers it:

apt-get install asterisk

Install from Source

Downloading the Source

Downloading necessary packages: LIBPRI, DAHDI, AND Asterisk

cd /usr/src
wget http://www.asterisk.org/downloads/asterisk/releases/asterisk-1.6.2-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.3.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz

Installing Libpri

tar -xvzf libpri-1.4.11.3.tar.gz
cd libpri-1.4.11.3
make
make install

Installing DAHDI

cd /usr/src
tar -xvzf dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz
cd dahdi-linux-complete-2.3.0.1+2.3.0
make
make install
make config

Installing Asterisk

cd /usr/src
tar -xvzf asterisk-1.6.2-current.tar.gz
cd asterisk-1.6.2.11/
make clean
./configure
make
make install
make samples
make config

Configuration Files

Regardless of what OS you are running Asterisk on and regardless of what method of installation you used to install it, there are 2 main configuration files that we need to work with and one file we need to generate and include:

extensions.conf

If you are using an existing Asterisk server then add the following lines to the [default] context:

#include "fgcom.inc"
include => fgcom

Or if you are using a new Asterisk install remove everything from 'extensions.conf' and put in:

[general]
static=yes
writeprotect=yes
;
[default]
#include "fgcom.inc"
include => fgcom

iax.conf

[general]
bandwith=low
disallow=lpc10
jitterbuffer=yes
forcejitterbuffer=no
tos=lowdelay
autokill=30000
codecpriority=host
disallow=all
allow=gsm
allow=ilbc
allow=g726
language=en
maxauthreq=30
context=fgcom
minregexpire=30
maxregexpire=10800
maxexpirey=10800
defaultexpirey=10800
;
[guest]
type=user
username=guest
secret=guest
context=fgcom
qualify=yes
callerid=Guest IAX User
host=dynamic
requirecalltoken=no
;

fgcom.inc

This is a special file generated using a script. It should be placed in the Asterisk config directory (/etc/asterisk/ normally).

Generation details to follow