TelefUM24

Конфигурирование FreePBX

FreePBX является пользовательским графическим веб-интерфейсом с открытым исходным кодом, который контролирует и управляет ATC Asterisk, коммуникационным сервером с открытым исходным кодом.
FreePBX распространяется под лицензией GNU GPL (открытое лицензионное соглашение GNU).
FreePBX может быть установлен вручную или в составе предварительно настроенного дистрибутива FreePBX (FreePBX Distro), который включает в себя операционную систему, Asterisk, графический интерфейс FreePBX и различных зависимостей.
Требования

CentOS 5.8 32bit\64bit или выше (или Ubuntu 8.5 или выше)
FreePBX версии 2.11 или выше
Asterisk версии 1.8 или выше
Логирование CDR (версия модуля CDR Reports 2.11 или выше, поддержка с FreePBX 2.11)
Логирование CEL (с версии модуля CDR Reports 2.11 в бета режиме началась поддержка модуля CEL Reports, поддержка с FreePBX 2.11)
В Asterisk должна быть поддержка модуля culr

С версиями ниже чем указанных полноценное тестирование не проводилось.
Зависимости
Это общие рекомендованные зависимости, устанавливать все нет необходимости, выберите только нужные

yum install -y e2fsprogs-devel  keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php php-gd php-mysql php-pdo php-mbstring ncurses-devel mysql-connector-odbc unixODBC unixODBC-devel audiofile-devel libogg-devel openssl-devel zlib-devel perl-DateManip sox git wget net-tools psmisc gcc gcc-c++ make gnutls-devel libxml2-devel ncurses-devel subversion doxygen texinfo curl curl-devel net-snmp-devel neon-devel uuid-devel libuuid-devel sqlite-devel sqlite speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel libsrtp libsrtp-devel xmlstarlet kernel-devel kernel-headers crontabs cronie cronie-anacron lynx bison libtermcap-devel binutils-devel php-process php-xml php-ldap httpd sendmail sendmail-cf newt-devel gtk2-devel caching-nameserver
Настройка MySQL и ODBC
Ищем библиотеки

find / -name 'lib*odbc*.so' 

/usr/lib64/libodbc.so
/usr/lib64/libmyodbc5.so
/usr/lib64/libodbcinst.so
/usr/lib64/libodbcmyS.so
/usr/lib64/libodbcpsqlS.so
/usr/lib64/libmyodbc5w.so
/usr/lib64/libodbccr.so
/usr/lib64/libodbcdrvcfg1S.so
/usr/lib64/libodbcdrvcfg2S.so
/usr/lib64/libodbcminiS.so
/usr/lib64/libodbcnnS.so
/usr/lib64/libodbctxtS.so
/usr/lib64/liboplodbcS.so
/usr/lib64/liboraodbcS.so
/usr/lib64/libtdsodbc.so
Если нет библиотек, то необходимо доустановить пакеты mysql:

# yum -y install MySQL mysql mysql-connector-odbc mysql-devel mysql-libs mysql-server mysql-client php-mysql perl-DBD-MySQL
Если у Вас версия Centos меньше или равна 6.5 то еще доустановить такие пакеты:

# yum -y install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel
Настройка ODBC
/etc/odbc.ini

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
Driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/lib/mysql/mysql.sock ;нужно проверить, есть ли по этому пути этот файл
option=3
Charset=utf8
/etc/odbcinst.ini

# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64        = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage       = 1
/etc/asterisk/res_odbc_additional.conf

[asteriskcdrdb]
enabled=>yes
dsn=>MySQL-asteriskcdrdb
pre-connect=>yes
max_connections=>5
username=> %mysql-user%
password=> %mysql-password%
database=>asteriskcdrdb
Проверка подключения к ODBC:

# odbcinst -q -d
[MySQL]

# isql -v MySQL-asteriskcdrdb %mysql-user% %mysql-password%
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> quit
В консоли asterisk выполнить:

*CLI> odbc show 

ODBC DSN Settings
-----------------

  Name:   asteriskcdrdb
  DSN:    MySQL-asteriskcdrdb
    Last connection attempt: 1970-01-01 03:00:00
    Number of active connections: 1 (out of 5)

*CLI> cel show status
CEL Logging: Enabled
CEL Tracking Event: ALL
CEL Tracking Event: CHAN_START
CEL Tracking Event: CHAN_END
CEL Tracking Event: HANGUP
CEL Tracking Event: ANSWER
CEL Tracking Event: APP_START
CEL Tracking Event: APP_END
CEL Tracking Event: BRIDGE_ENTER
CEL Tracking Event: BRIDGE_EXIT
CEL Tracking Event: PARK_START
CEL Tracking Event: PARK_END
CEL Tracking Event: BLINDTRANSFER
CEL Tracking Event: ATTENDEDTRANSFER
CEL Tracking Event: USER_DEFINED
CEL Tracking Event: LINKEDID_END
CEL Tracking Event: PICKUP
CEL Tracking Event: FORWARD
CEL Tracking Event: LOCAL_OPTIMIZE
CEL Tracking Application: meetme
CEL Tracking Application: voicemailmain
CEL Tracking Application: voicemail
CEL Tracking Application: queue
CEL Tracking Application: mixmonitor
CEL Tracking Application: confbridge
CEL Tracking Application: stopmixmonitor
CEL Event Subscriber: ODBC CEL backend
CEL Event Subscriber: CEL Custom CSV Logging
Сделать тестовый звонок и проверить наличие записей в таблице CDR и CEL. Вывод не должен быть пустым:

root@localhost# fwconsole m
MariaDB [asterisk]> USE asteriskcdrdb
MariaDB [asteriskcdrdb]> SELECT * FROM cdr ORDER BY calldate DESC LIMIT 10;
MariaDB [asteriskcdrdb]> SELECT * FROM cel ORDER BY id DESC LIMIT 10;
Все, далее можно приступать к установке приложения от Telefum24.