Howto:Set up a FGCom server
Install Asterisk
You need an instance of Asterisk on the server, you can either install it via a package manager or via the source code if you do not have one already. 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 are as follows:
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
Once this has been done run the following command:
[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
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 3 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 ; [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
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