FreePbx

FreePbx

FreePBX (Private Branch Exchange) is a asterisk and web-based open source GUI (graphical user interface) that controls and manages Asterisk (PBX), an open source communication server. FreePBX is authorized under the GNU General Public License (GPL), an open source license. FreePBX can be installed manually or as part of the reconfigured FreePBX Distro that includes the system OS, Asterisk, FreePBX GUI and assorted dependencies.

Free PBX has developed fully packed solution with custom panel where user and extension and application are managed. And trixbox is auto start CD which install these entire thing into you system automatically. It can support the on a single PC P4 2.0GHz 1U servers for $800 price will able to support at least 150-200 user where all user are not making simultaneously call, it can support 50-70 calls, it is not advisable to have single high end server rather having multiple such system as it will impact lesser to you infrastructure then having one very big m/c which fails.

Key Feature:

  • Create interactive Digital Receptionist (IVR) menus
  • Upload custom on-hold music (MOH)
  • Search company directory, based on first or last name
  • Save audio recordings of calls
  • Analysis call detail reporting with asterisk-status
  • View extension and trunk status with Flash Operator Panel
  • View conversation recordings with Asterisk Recording Interface (ARI)
  • Add or change extension and voice mail accounts in seconds
  • Native support of SIP, IAX, and ZAP clients
  • Supports all Asterisk supported trunk technologies
  • Reduce long distance costs with LCR
  • Route incoming calls based on time-of-day

FreePBX Installation:

Download and extract FreePBX.

1
2
cd /usr/srcwget http://mirror.freepbx.org/freepbx-2.11.0.43.tgz
tar vxfz freepbx-2.11.0.43.tgz

Set Asterisk user ownership permissions

1
2
3
4
5
6
7
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
chown -R asterisk. /usr/lib64/asterisk
mkdir /var/www/html
chown -R asterisk. /var/www/

A small modification for Apache.

1
2
3
4
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
service httpd restart

Configure Asterisk database in MYSQL.

1
2
3
4
5
6
cd /usr/src/freepbx
export ASTERISK_DB_PW=amp109
mysqladmin -u root create asterisk -p
mysqladmin -u root create asteriskcdrdb -p 
mysql -u root asterisk -p < SQL/newinstall.sql 
mysql -u root asteriskcdrdb -p < SQL/cdr_mysql_table.sql

Set permissions on MYSQL database.

1
2
3
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "flush privileges;"

Restart Asterisk and install FreePBX.

1
2
3
4
5
6
7
8
cd /usr/src/freepbx
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
amportal chown
amportal a ma installall
amportal a reload
amportal a ma refreshsignatures
amportal chown

Finally, start FreePBX.

1
2
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal restart

Start FreePBX

Enable the FreePBX Commercial yum repos

1
wget -P /etc/yum.repos.d/-N http://yum.schmoozecom.net/schmooze-commercial/schmooze-commercial.repo

yum clean all to clean out yum cache so it will find out new RPMs

1
yum clean all

yum install needed RPMs for Commercial Modules

1
yum -y install php-5.3-zend-guard-loader sysadmin fail2ban incron ImageMagick

Restart Apache and Install Sysadmin

1
2
3
service httpd restart
amportal a ma download sysadmin
amportal a ma install sysadmin