= Установка MC04-Softswitch = Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso mini.iso]. Заводим пользователя adс с паролем adс. Когда спросит о сервисах, отметить для установки openssh. Добавляем наш репозиторий: Для Ubuntu 16.04: {{{ echo deb https://repo.adc-line.ru/ubuntu xenial main | sudo tee -a /etc/apt/sources.list }}} Для Ubuntu 14.04: {{{ echo deb https://repo.adc-line.ru/ubuntu trusty main | sudo tee -a /etc/apt/sources.list }}} Создаём файл adc.key - наш публичный ключ, с содержанием: {{{ -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mQGhBFEPhAMRBACy6rIo7GP9mQxG28ndYk1UqaJ/D8MdfZbpjemJk0MGrXJMJErQ eLx6Z91+Sx4SfP4fRSNt9kaP9roFta/Xvma1X8HzPMlp/KXWx3cNGV70gAlzX0IH U3eeb4b1FjBFeyXokOLa35pruN++zskBjPn/p6ZRwQ9NQJovE+Oyr+u3TwCg4yhy s7pVTHfhMGrkyukIW7ICVH8D/ipuFzhz3f8R70O3z8xKmJoslmjtryqHRIB14XB9 rcxLV/IwjjIlIrQWRCabegroEy4eAGNEZa6ZhYCkKg0IpJ+Dp7f9y5OknO6J8x4e aEeQhoYhGPpj/vSS0pmbJHv8BAqLGvBpHC1aUFI9H2VVRJ1sUene/TTCX95+z6EU vfiYA/j/5695A/VUClr+roQJPtKnHFJ0v8fvpwApIn7kVWRTLwe7/3guQ6KXEX92 XVQPaK3fdpBQ2Sx2gwUgMKydPtJTLk9thQvYo1k4oTBEDa2H55Qa6k3tgt3bKMrr rSv5ZFlS/QqZr9KdLQRcYZ+pjlIP2HcCUK87GxjA1DP6E6sItBNBREMgTHRkIChz aWduIG9ubHkpiGAEExECACAFAlEPhAMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDLxmDhd4pzw8S9AJ9l83VUYK2mlBYvDG1ME8KMEEmDhgCgtCw6ao0+IgvM EmbjD+bBc3mvzF8= =YLY2 -----END PGP PUBLIC KEY BLOCK----- }}} Добавляем наш публичный ключ (файл adc.key) {{{ sudo apt-key add adc.key }}} Обновляемся: {{{ sudo apt-get update sudo apt-get upgrade }}} Устанавливаем freeswitch и русские звуки к нему: {{{ sudo apt-get install freeswitch-all freeswitch-sounds-ru-ru-elena }}} Конфигурируем freeswitch по вкусу. === Установка базы данных === Если не планируется держать базы данных на том же хосте, что и freeswitch, этот раздел можно пропустить. Устанавливаем mysql-server: {{{ sudo apt-get install mysql-server }}} === Установка TFTP сервера === Если для конфигурации умных телефонов нужен сервер TFTP, то устанавливаем его так: {{{sudo apt-get install tftp tftpd xinetd}}} === Установка NTP сервера === Телефонам нужно получать время, если в сети нет NTP-сервера, устанавливаем: {{{sudo apt-get install ntp}}} === Установка snmp === Если требуется функция громкого боя, устанавливаем snmp: {{{sudo apt-get install snmp}}} == Конфигурирование MC04-Softswitch == == Конфигурация Freeswitch == Скопировать "демонстрационную" конфигурацию в /etc/freeswitch === Создание и настройка базы данных === Подключаемся к mysql и создаем базу данных (в данном примере '''dispatcher'''), создаем таблицу options, устанавливаем права доступа к ней для freeswitch, добавляем пароль event-сокета freeswitch: {{{ mysql -u root -p /* создаем базу данных */ CREATE DATABASE dispatcher; /* даем права доступа для freeswitch */ GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY 'mysql-password'; FLUSH PRIVILEGES; USE dispatcher /* создаем таблицу опций */ CREATE TABLE `options` ( id int(10) unsigned NOT NULL AUTO_INCREMENT, name varchar(64) NOT NULL, value varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (id), UNIQUE KEY name (name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /* Вписываем в таблицу пароль для freeswitch event socket */ INSERT INTO options (name, value) VALUES('event-socket-pwd','socketpass'); }}} mysql-password хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}} (параметр "mysql-password") socketpass хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}}(параметр "password") Cоздаём пользователей 1, 2, 3, 4 с паролем 1 для доступа извне с привилегией SELECT (для подключения MC04-Dispatcher) {{{ GRANT SELECT ON dispatcher.* TO '1'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '2'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '3'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '4'@'%' IDENTIFIED BY '1'; }}} Добавить пароль и шелл для пользователы freeswitch, пароль должен совпадать с socketpass (нужно для подключения MC04-Dispatcher по ssh). {{{ sudo passwd freeswitch }}} {{{ sudo usermod -s /bin/sh freeswitch }}} ... Разрешаем доступ к серверу снаружи : В файле ~~{{{/etc/mysql/my.cnf}}}~~ {{{/etc/mysql/mysql.conf.d/mysqld.cnf}}} замените строку {{{bind-address = 127.0.0.1}}} на {{{bind-address = *}}} Перезагрузите сервер MySQL: {{{sudo service mysql restart}}} === Настройка tftp сервера для авто-конфигурирования телефонов (например CISCO) === необходимо создать файл /etc/xinetd.d/tftp {{{sudo touch /etc/xinetd.d/tftp}}} и добавить следующее содержимое {{{ service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no } }}} Создадим директорию /tftpboot. Это будет рабочая директория для TFTP сервера. {{{sudo mkdir /tftpboot}}} Изменим владельца этой директории на adc: {{{sudo chown adc:adc /tftpboot}}} Рестарт демона xinetd. {{{sudo /etc/init.d/xinetd restart}}} В директорию /tftpboot помещаем конфигурационные файлы телефонов Готово. === Настройка ntp сервера === в файле {{{/etc/ntp.conf}}}: ~~ Разрешить доступ из нужной подсети: добавить строку{{{restrict 172.16.11.0 mask 255.255.255.0 nomodify notrap}}} и доступ изнутри {{{restrict 127.127.1.0}}} ~~ Если наш сервер не подключен к интернету(или другим ntp серверам), то он перейдёт в стратум=16 и другие устройства не захотят получать время от него. Что-бы этого не произошло: находим строчки добавленых серверов, и закоментим их #, а вместо них добавим внутренний источник времени {{{server 127.127.1.0}}} сохраняем файл и перезапускаем ntp{{{sudo service ntp restart}}} === Окончательная конфигурация MC04-Softswitch === - Изменить конфигурацию сервера согласно потребностям - Изменить пароль администратора Ubuntu (пользователь adc) - Изменить пароль root MySql - Изменить пароли пользователей 1,2,3,4 в MySql и их же внести в конфигурационные файлы соответствующих пользователей {{{/etc/freeswitch/directory/default/}}} - Изменить пароль MySql пользователя freeswitch, затем этот пароль указать в файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}} - Изменить пароль freeswitch event socket в файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}} и в таблице опций в БД Mysql ... ...