Fedora

Setup you server with only the base packages and text based internet. = Asterisk =

Install the RPM Fusion repo

rpm -i http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -i http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

yum upgrade yum install asterisk-devel asterisk-odbc httpd php mysql-server

addon modules for asterisk yum search asterisk

This will give you a list of available asterisk modules and addons.

To connect to classic landlines also install the asterisk dahdi module from the list.

For digital lines also install libpri and libss7.

To connect to classic landlines your server need special hardware. Visit our friends from ATCOM who helped develop the Mesh Potatos.

http://www.atcom.cn/products_cards.html

= FreePBX =

cd /usr/src wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz tar zxvf freepbx-2.9.0.tar.gz  cd /freepbx-2.9.0 /.start_asterisk start /.install_amp

= A2Billing =

Some knowledge of Asterisk and Linux is expected in order to install the system.

1   Install Asterisk with Asterisk Realtime, MySQL, Apache and PHP version 5.2

2   Download and explode the A2Billing tarball.

3   Move, copy or symlink the Admin, Customer, Agent and Common directories into web-root, or configure apache to display them in a directory of your choice.

4   Move copy or symlink AGI/a2billing.php into the asterisk agi-bin directory, and also copy or symlink the common/lib directory.

5   Create a new A2Billing database then create the database schema with DataBase/mysql-5.x/a2billing-mysql-schema-v1.7.0.sql

6   Apply each “DataBase/mysql-5.x/UPDATE...” SQL file in order from 1.7.0 to the latest version.

7   Place a2billing.conf in /etc/ and adjust the database settings to suit your install.

8   Move or copy your sound files from addons/sounds/ into the asterisk “sounds” directory.

9   Install the cronjobs from the Cronjobs/ directory. The comments at the top of each file give a suggested schedule for each cronjob.

10   Configure the Asterisk dial-plan for A2Billing using the files in addons/asterisk-conf/ as a guide.

The role of A2Billing is to provide public telephony services and therefore in the majority of cases, customers must be given access by both web services and VoIP. A2Billing is often better hosted on a public IP address to reduce NAT issues.

Although an aggregation or PBX distribution can be used as a base for A2Billing, most are not security hardened for connection directly to the Internet and indeed are provided with the caveat that they should be located behind a separate hardware firewall with no access allowed from outside the LAN (Local Area Network).

'''Note that any telephony server exposed to the internet is a valuable target where an attacker can make real money using a variety of fraudulent techniques. Therefore great care should be taken in building any telephony system to ensure that it is secure. '''

We recommend that all customers and users operate the latest version of A2Billing. In general we have a policy of not removing any functionality from A2Billing, so there is little or no danger in upgrading to the latest stable version.

= Afrimesh =

The latest stable version of the Afrimesh sources can always be obtained from: http://code.google.com/p/afrimesh/downloads/list

make all make install

Please note that on a RHEL/CentOS based systems all web interface files reside under /var/www/html directory.

= SPUD = 1. Install dependencies yum install subversion 2. Get the code cd /var/www/html svn co http://dev.villagetelco.org/svn/villagetelco/spud/trunk spud 3. Database

a) Create a new database mysqladmin -u root -p create spud b) Edit SPUD database settings

vi /var/www/html/spud/app/config/database.php

var $default = array(		'driver' => 'mysql',		'persistent' => false,		'host' => 'localhost',		'login' => 'root',		'password' => ,		'database' => 'spud',		'prefix' => ,	);

c) Create database schema> cd /var/www/html/spud/app/install  mysql -u root spud -p < spud_db_schema.sql 4. Change file permission  cd /var/www/html/spud/app/  chown -Rf www-data.www-data tmp/ 5. Enable Apache rewrite module  todo 6. Edit Apache2 000-default file

todo

Options Indexes FollowSymLinks MultiViews AllowOverride All Restart Apache /etc/init.d/httpd restart 7. Configure VIS server

a) Set the IP address/domain name of your webserver. Default value is 127.0.0.1

b) Set the IP addres of your VIS server. The default settings will point to the Bo Kaap VIS server.

c) Configure the vis mode. SPUD supports two VIS modes ('mode' => 'batman') and ('mode' => 'batman-adv') depending if you run your mesh protocol in L3 or L2

d) Configure the vis_version. If you run a L3 mesh network you need also to define the vis_version variable. The legacy value supports the broken JSON output of some old implementations. Recent L3 VIS servers should be set up as vis_version: trunk

vi /var/www/html/spud/app/config/config.php

$config['SPUD']= array(              'host'     => '127.0.0.1'               ); $config['VIS']= array(                                                                 'host'     => '41.223.35.110',               'port'     => '2015',               'timeout'  => '30'   	       'vis_version' => 'legacy',	       'mode'        => 'batman',               );

8. Add VIS update to cronjob

a) Open cronjob editor

crontab -e

b) Add the follwing line

*/5 * * * * root /usr/bin/wget -O - -q -t 1 http://localhost/spud/nodes/update >/dev/null 2>&1

9. Get started with SPUD

Navigate to SPUD: http://localhostname_or_ip/spud