Line 11: |
Line 11: |
| | | |
| ==Installation== | | ==Installation== |
− | Both the '''[[Freeswitch_repo|Freeswitch]]''' and '''[[epel|Epel]]''' repositories have to be enabled. Please enable these repositories first.
| + | The latest Freeswitch version available for CentOS 6 is the 1.4 branch which is EOL. There will be no Freeswitch RPM's available from the freeswitch repo, only for CentOS 7. Fortunately, the [[okay]] repo has the Freeswitch 1.6 branch RPM's available and up to date. ( http://repo.okay.com.mx/?dir=centos/6/x86_64/release ) |
| + | |
| + | |
| + | The '''[[okay]]''', '''[[epel|Epel]]''' and '''[[remi]]''' repositories have to be enabled. Please enable these repositories first. |
| After enabling the above repositories, one can install Freeswitch and it's dependencies with yum: | | After enabling the above repositories, one can install Freeswitch and it's dependencies with yum: |
− | yum install --nogpgcheck freeswitch-config-vanilla --enablerepo=freeswitch --enablerepo=epel | + | yum install ffmpeg --enablerepo=okay,epel |
− | This will install about 60 RPM's with an installed size of 35M. | + | yum install *1.6.19-1* freeswitch-sounds* --enablerepo=okay,epel,remi --exclude=*php* |
| + | This must be the above 2 commands, for otherwise there will be a strange dependency issue. |
| + | |
| + | Or a basic vanilla install: |
| + | yum install freeswitch-config-vanilla --enablerepo=okay,epel,remi,smetest |
| | | |
| {{Note box|If you have installed the '''[[Sogo|SOGo]]''' contrib, you will encounter a dependency issue with libmemcached. There is no resolution yet and your input is welcomed.}} | | {{Note box|If you have installed the '''[[Sogo|SOGo]]''' contrib, you will encounter a dependency issue with libmemcached. There is no resolution yet and your input is welcomed.}} |
− |
| |
| | | |
| ==Configuration== | | ==Configuration== |
Line 26: |
Line 32: |
| config setprop freeswitch status enabled | | config setprop freeswitch status enabled |
| config setprop freeswitch access private | | config setprop freeswitch access private |
− | config setprop freeswitch UDPPorts "5060,5070,5080,3478,3479,16384:32768" | + | config setprop freeswitch UDPPorts "5060:5061,5080:5081,16384:32768" |
− | config setprop freeswitch TCPPorts "5066,7443" | + | config setprop freeswitch TCPPorts "5060:5061,5080:5081" |
| You can toggle the ''access'' property to enable public/private access. Then to apply the new service: | | You can toggle the ''access'' property to enable public/private access. Then to apply the new service: |
| signal-event remoteaccess-update | | signal-event remoteaccess-update |
Line 35: |
Line 41: |
| service freeswitch stop | | service freeswitch stop |
| | | |
| + | ==FusionPBX freeswitch GUI== |
| + | Like other PBX systems, FreeSWITCH has many options and can be managed from the command line interface (CLI) which for Freeswitch is 'fs_cli'. However a stable GUI for Freeswitch is freely available from FusionPBX and makes life much easier. FusionPBX is only the Graphical interface and relies on a correctly installed Freeswitch engine. |
| + | |
| + | |
| + | ===Installation=== |
| + | First we need to create a mysql database for FusionPBX where it keeps its configurations. |
| + | mysqladmin create fusionpbx |
| + | then we enter the mysql cli: |
| + | mysql |
| + | grant all privileges on fusionpbx.* to 'admin'@'localhost' identified by 'very_strong_password'; |
| + | flush privileges; |
| + | exit |
| + | |
| + | * Install git |
| + | * change to Primary /home/e-smith/files/Primary |
| + | * git clone https://github.com/fusionpbx/fusionpbx.git |
| + | * remove html dir, rename FusionPBX to html set permission to admin:shared |
| + | * setting permissions chown -R www:www /home/e-smith/files/Primary/html/* |
| + | * change /etc/freeswitch/autoload_configs/event_socket.conf.xml and set listen-ip value (::) to localhost |
| + | * Enable Mysql InnoDB ([https://wiki.contribs.org/MySQL#Enable_InnoDB_engine see wiki]) |
| + | * change /core/install/resources/classes/install_fusionpbx.php and replace 127.0.0.1 with localhost (around line 154) This is for when using MySQL as database. |
| + | * set openbasedir of the Primary to /home/e-smith/files/ibays/Primary/html:/tmp |
| | | |
− | ===Configuration file=== | + | ===Setup ODBC=== |
| + | * Install mysql-connector-odbc |
| + | yum install mysql-connector-odbc |
| + | * create symbolic link |
| + | ln -s /usr/lib64/libmyodbc5.so /usr/lib64/libmyodbc.so |
| + | Add FusionPBX to /etc/odbc.ini |
| + | [fusionpbx] |
| + | Description = MySQL connection to 'fusionpbx' database |
| + | Driver = MySQL |
| + | Database = fusionpbx |
| + | Server = localhost |
| + | UserName = [mysql fusionpbx db user] |
| + | Password = [mysql fusionpbx db password] |
| + | Port = 3306 |
| + | Socket = /var/lib/mysql/mysql.sock |
| + | * Test the ODBC connection |
| + | isql fusionpbx [fusion db user] |
| + | show tables |
| + | quit |
| + | * Adjust switch.xml and add |
| + | <param name="core-db-dsn" value="database:username:password"/> |
| + | * Install php-fpm |
| + | yum install php-fpm |
| + | and create the db service |
| + | config set php-fpm set service status enabled |
| + | ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S90php-fpm |
| | | |
| [[Category:Howto]] | | [[Category:Howto]] |