External Recordings Server
Configuration
External Recordings Server allows to convert and store Recordings in external server thus increasing storage space on switch server (Asterisk). It will also reduce load on switch server because wav to mp3 convertion is executed in external server.
NOTE: Configuration applies ONLY for fresh CentOS server.
Configuration in GUI
External Recordings Server can be configured in Recordings -> Settings
Check 'User external Server' checkbox, enter external server IP, SSH port and login username.
NOTE: make sure that servers are configured with SSH keys! Login by password will not work for External Recordings Server.
Configuration in External Recordings server
1. Dowload sources:
yum -y install subversion svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor
2. Install GNU Compiler Collection:
yum -y install gcc
3. Install Wget:
yum -y install wget
4. Install Apache:
/usr/src/mor/x8/gui/apache_install.sh /usr/src/mor/x8/gui/apache_uid_fix.sh iptables -F /etc/init.d/iptables save
5. Install MySQL:
/usr/src/mor/x8/mysql/mysql_install.sh
6. Create needed directories and permissions:
mkdir -p /var/log/mor chmod 777 -R /var/log/mor mkdir -p /etc/mor/ mkdir -p /var/lib/asterisk/agi-bin/ mkdir -p /usr/local/mor/recordings/ chmod 777 -R /usr/local/mor/
7. Install scripts:
cd /usr/src/mor/x8/scripts/ gcc -Wall -Wunused -g -I/usr/include/mysql mor_record_remote.c -o mor_record_remote -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql cp -fr mor_record_remote /usr/local/mor rm -rf mor_record_control gcc -Wall -g -I/usr/include/mysql mor_record_control.c -o mor_record_control -lmysqlclient -lnsl -lm -lz -L/usr/lib/mysql -L/usr/lib64/mysql cp -fr mor_record_control /usr/local/mor
8. Install Lame:
/usr/src/mor/x8/helpers/lame_install.sh
9. Symlink directories:
ln -s /usr/local/mor/recordings /var/www/html/recordings
10. Create configuration files:
cd /etc/mor/
Create file:
vi system.conf
Enter:
# database connection settings dbhost = Database_server_IP dbname = mor dbuser = mor dbsecret = mor dbport = 3306
Save file.
cd /var/lib/asterisk/agi-bin/
Create file:
vi mor.conf
Enter:
host = Database_server_IP db = mor user = mor secret = mor port = 3306
Save file.
11. Edit /etc/httpd/conf/httpd.conf
Change from:
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
To:
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
And change from:
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None
To:
AllowOverride All
12. Run:
chcon -R -h -t httpd_sys_content_t /var/www/html/recordings/ service httpd restart
13. Edit /etc/selinux/config
Change from:
SELINUX=enforcing
To:
SELINUX=disable
14. Reboot server:
reboot
Configuration in Database server
In Database Server create MySQL user for External Recordings Server:
CREATE USER 'mor'@'IP_OF_RECORDINGS_SERVER' IDENTIFIED BY 'mor'; GRANT ALL PRIVILEGES ON `mor`.* TO 'mor'@'IP_OF_RECORDINGS_SERVER' WITH GRANT OPTION ;
Troubleshooting
If Recordings are not displayed in GUI check the following log files in both servers:
/var/log/mor/mor_record_file.log
/var/log/mor/record_file.log