BlueBox

OVERVIEW

BlueBox is a web based php configuration and management GUI for FreeSWITCH and Asterisk switching libraries. It supports multi-tenancy, skinning, and is completely open-source. It can be used with database and file replication to scale up to thousands of registered devices and simultaneous phone calls. It can operate in the cloud or on the premise. It originally developed from FreePBXv3.

PREREQUISITE

Please first install FreeSWITCH

Then install a web server such as Apache2, dev-lang/php, a database backend such as mysql, pgsql, or dev-db/sqlite

I installed:
 * www-servers/apache
 * dev-lang/php
 * dev-db/mysql

SETUP MySQL

mysql -u root -p

mysql> CREATE USER 'bluebox'@'localhost' IDENTIFIED BY 'bluebox';

mysql> GRANT ALL PRIVILEGES ON bluebox.* TO 'bluebox'@'localhost';

mysql> FLUSH PRIVILEGES;

mysql> SELECT user,host,password FROM mysql.user;

mysql> SHOW GRANTS FOR bluebox@localhost;

mysql> \q

If you make a mistake and need to start over:

mysql -u root -p

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION ON bluebox.* FROM 'bluebox'@'localhost';

mysql> DROP DATABASE bluebox;

mysql> \q

INSTALLING BLUEBOX

Adapted from http://www.powerpbx.org/content/centos-freeswitch-bluebox-v1

Install bluebox git source into top level root of web server:

cd /var/www/localhost/htdocs

git clone git://source.2600hz.org/bluebox.git

chown -R freeswitch:freeswitch /var/www/localhost/htdocs/bluebox

cd /var/www/localhost/htdocs/bluebox

./preinstall.sh

NOTE: When the install asks you for the web user name change default (apache) to "freeswitch" (without quotes). Everything else can remain at default (Just repeatedly press ENTER when it asks)

Increase the memory_limit for php

sed -i 's/memory_limit = 32M/memory_limit = 128M/g' /etc/php/apache2-php5.3/php.ini

Restart apache

/etc/init.d/apache2 restart

Browse to "http://your.web.server/bluebox/"

and run the installer. I went with the defaults but changed the password and email address for the administrator. I also unchecked the option for installing sample data.

I got a WARNING about conflicting files:

Conflicting Files

/opt/freeswitch/conf/directory/default.xml

/opt/freeswitch/conf/autoload_configs/conference.conf.xml

/opt/freeswitch/conf/autoload_configs/ivr.conf.xml

/opt/freeswitch/conf/autoload_configs/acl.conf.xml

/opt/freeswitch/conf/autoload_configs/xml_cdr.conf.xml

/opt/freeswitch/conf/autoload_configs/callcenter.conf.xml

/opt/freeswitch/conf/autoload_configs/distributor.conf.xml

/opt/freeswitch/conf/autoload_configs/directory.conf.xml

/opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml

/opt/freeswitch/conf/sip_profiles/external.xml

/opt/freeswitch/conf/sip_profiles/internal-ipv6.xml

/opt/freeswitch/conf/sip_profiles/internal.xml

Conflicting configuration files will be permanently erased if you continue!

I just continued.

After configuring bluebox, my default configuration was

cat /var/www/localhost/htdocs/bluebox/config/database.php

'type'    => 'mysql',

'user'    => 'bluebox',

'pass'    => 'bluebox',

'host'    => '127.0.0.1',

'port'    => '3306',

'socket'  => FALSE,

'database' => 'bluebox'

You probably will want to change the password for user bluebox.

Next edit /var/www/localhost/htdocs/bluebox/bluebox/config/config.php

and disable the installer:

config['installer_enabled'] = FALSE;

CONFIGURING FreeSWITH with BLUEBOX

Browse to "http://your.web.server/bluebox/"

INSTALL additional modules:

System->Package Manager

A few modules have pre-requisite modules so if you get an error, install the pre-requisite.

A few pairs of modules conflict, e.g.: I chose "Freeswitch", "Endpoint Manager" and "Media File"
 * "Freeswitch" and "Asterisk"
 * "Endpoint Manager" and "Provisioner"
 * "Media File" and "Media Manager"

I installed every module except those for a call center.