基于 FreeSWITCH 的录音与转码平台
åºäº FreeSWITCH çå½é³ä¸è½¬ç å¹³å°ï¼æ¯æ G729, G711 转ç ï¼å¹¶ä¸æ¯æå¤æ¥å£æ¥å ¥é¨ç½²ã
cdr éè¯è®°å½ API æ¥å£ï¼å®è£
ä½ç½® /var/cdr
src åå° Web 管çç³»ç»ï¼å®è£
ä½ç½® /var/www
config NginxãPHP ãMySQL å FreeSWITCH çé
ç½®æ件
script MySQL æ°æ®åºè¡¨ SQL æ件
$ yum -y install epel-release
$ yum makecache fast
$ yum install -y gcc gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel ldns-devel
$ yum install -y openssl-devel libevent libevent-devel sqlite-devel libcurl-devel pcre-devel libxml2-devel
$ yum install -y libdb4* libidn-devel unbound-devel libuuid-devel lua-devel libsndfile-devel libjpeg-devel
$ yum install -y speex-devel libedit-devel e2fsprogs-devel gsm gsm-devel re2c redis mariadb mariadb-server
$ yum install -y nginx php php-fpm php-devel php-pdo php-mysql php-mysqli php-mcrypt php-mbstring
å æ ¸é ç½® /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
fs.file-max = 2048000
fs.nr_open = 2048000
fs.file-max = 1024000
fs.aio-max-nr = 1048576
å æ ¸é ç½® /etc/security/limits.conf
* soft nofile 1024000
* hard nofile 1024000
* soft nproc unlimited
* hard nproc unlimited
* soft core unlimited
* hard core unlimited
* soft memlock unlimited
* hard memlock unlimited
**å建 pbx è¿è¡ç¨æ·ç»ï¼å¹¶ä¸è½½ pbxMon æºç å **
$ groupadd pbx
$ usermod -g pbx nginx
$ usermod -g pbx apache
$ git clone https://github.com/typefo/pbx-mon.git
ç¼è¯å®è£ FreeSWITCH
$ wget http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.15.tar.gz
$ tar -xzvf freeswitch-1.6.15.tar.gz
$ cd freeswitch-1.6.15
$ ./configure --disable-debug --disable-libyuv --disable-libvpx
$ make
$ make install
å®è£ ESL PHP 模å
$ cd libs/esl
$ make phpmod
$ cp php/ESL.so /usr/lib64/php/modules
å®è£ G729 è¯é³æ¨¡å
$ git clone https://github.com/typefo/mod_g729.git
$ cd mod_g729
$ make
$ make install
å®è£ phpredis
$ wget -O phpredis-4.3.0.tar.gz https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
$ tar xvfz phpredis-4.3.0.tar.gz
$ cd phpredis-4.3.0.tar.gz
$ phpize && ./configure && make && sudo make install
å®è£ yaf æ¡æ¶
$ wget https://pecl.php.net/get/yaf-2.3.5.tgz
$ tar -xzvf yaf-2.3.5.tgz
$ cd yaf-2.3.5
$ phpize
$ ./configure
$ make
$ make install
å®è£ é ç½®æ件
$ make config
å®è£ æå¡èæ¬
$ make script
å®è£ Web ç³»ç»
$ make install
Account : admin
Password: pbxmon