Howto:Set up a FGCom server: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (Formel URL didn't work anymore.)
 
(25 intermediate revisions by 9 users not shown)
Line 1: Line 1:
__TOC__
This page is for installing a '''FGCom Server'''. If you want to have voice communications within [[FlightGear]], you are probably wanting to install the [[FGCom|client]].


= Install Asterisk =
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.
 
== 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.
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:
We used CentOS (this works for RedHat too) and the instructions for installing it on CentOS/RHEL are as follows:


== CentOS/RHEL ==
=== CentOS/RHEL ===
 
==== Setting up the Package Manager ====
 
In the ''''/etc/yum.repos.d'''' folder create the following files:
In the ''''/etc/yum.repos.d'''' folder create the following files:


Line 38: Line 43:
  #gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium
  #gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium


Once this has been done run the following command:
==== Installing the Packages ====
 
  [root@localhost~]# yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi-tools libpri
  [root@localhost~]# yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi-tools libpri


Line 74: Line 80:
  Is this ok [y/N]:
  Is this ok [y/N]:


Press ''''y'''' and press ''''Enter''''
Press {{Key press|Y}} and then {{Key press|Enter}}


  Downloading Packages:
  Downloading Packages:
Line 102: Line 108:
  Is this ok [y/N]:
  Is this ok [y/N]:


Press ''''y'''' and ''''Enter'''' again
Press {{Key press|Y}} and then {{Key press|Enter}} again


  Running rpm_check_debug
  Running rpm_check_debug
Line 134: Line 140:
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
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 ==
=== Debian/Ubuntu ===
=== Installing Dependancies ===
This about covers it:
Firstly we need to install all the packages required to build things... You may have alot of this already installed:


  apt-get install linux-headers-`uname -r` libc6-dev zlib1g-dev bison openssl libssl-dev libasound2 libasound2-dev libslang2-dev libnewt-dev
  apt-get install asterisk
libncurses5-dev binutils cpp-4.1 gcc-4.1 libstdc++6-4.1-dev g++ make libpq5 libapr1 libexpat1 libaprutil1 libxml2 fxload libusb-dev libiksemel-dev
zlib-bin libc6-dev libbluetooth2-dev libxml2-dev


=== Downloading the Source ==
=== Install from Source ===
==== Downloading the Source ====
Downloading necessary packages: LIBPRI, DAHDI, AND Asterisk
Downloading necessary packages: LIBPRI, DAHDI, AND Asterisk


Line 150: Line 154:
  wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.3.0.1+2.3.0.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 ===
==== Installing Libpri ====


  tar -xvzf libpri-1.4.11.3.tar.gz
  tar -xvzf libpri-1.4.11.3.tar.gz
Line 157: Line 161:
  make install
  make install


= Configuration Files =
==== 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


Regardless of what OS you are running Asterisk on and regardless of what method of installation you used to install it, there are 3 main configuration files that we need to work with and one file we need to generate and include:
==== 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 ===
=== extensions.conf ===
Line 176: Line 201:
=== iax.conf ===
=== iax.conf ===
  [general]
  [general]
  bandwith=low
  bandwidth=low
  disallow=lpc10
  disallow=lpc10
  jitterbuffer=yes
  jitterbuffer=yes
Line 205: Line 230:
  requirecalltoken=no
  requirecalltoken=no
  ;
  ;
[gast]
type=user
username=gast
secret=gast
context=fgcom
qualify=yes
callerid=Gast IAX User
host=dynamic
requirecalltoken=no
=== sip.conf ===
[general]
context=fgcom
srvlookup=yes
language=de
realm=flightgear.org
allowguest=yes
;
[guest]
type=user
username=guest
secret=guest
context=fgcom
qualify=yes
callerid=Guest IAX User
host=dynamic
;
[gast]
type=user
username=gast
secret=gast
context=fgcom
qualify=yes
callerid=Gast IAX User
host=dynamic


=== fgcom.inc ===
=== fgcom.inc ===
This is a special file generated using a script. It should be placed in the Asterisk config directory (/etc/asterisk/ normally).
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
You need the gen_phonebook.pl script (https://sourceforge.net/p/flightgear/fgcom/ci/master/tree/server/gen_phonebook.pl?format=raw) and nav.dat.gz and apt.dat.gz from the git repository.
 
Put them all in the same folder and run the script.
 
[[Category:Multiplayer]]
[[Category:FGCom]]

Latest revision as of 11:08, 27 July 2015

This page is for installing a FGCom Server. If you want to have voice communications within FlightGear, you are probably wanting to install the client.

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.

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 then 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 then 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]
bandwidth=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).

You need the gen_phonebook.pl script (https://sourceforge.net/p/flightgear/fgcom/ci/master/tree/server/gen_phonebook.pl?format=raw) and nav.dat.gz and apt.dat.gz from the git repository.

Put them all in the same folder and run the script.