Установка MC04-Softswitch
Устанавливаем ubuntu-server с mini.iso:
Заводим пользователя adс с паролем adс. Когда спросит о сервисах, отметить для установки openssh.
Добавляем наш репозиторий:
Для Ubuntu 24.04:
echo deb https://repo.adc-line.ru/ubuntu noble main | sudo tee /etc/apt/sources.list.d/adc.list
Для Ubuntu 20.04:
echo deb https://repo.adc-line.ru/ubuntu focal main | sudo tee -a /etc/apt/sources.list
Для 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
Добавляем наш публичный ключ:
sudo wget -O /etc/apt/trusted.gpg.d/adc.gpg https://repo.adc-line.ru/keys/adc.gpg
Обновляемся:
sudo apt update sudo apt dist-upgrade
Устанавливаем freeswitch и русские звуки к нему:
Для Ubuntu 20.04 и выше:
sudo apt install freeswitch-meta-adc freeswitch-sounds-ru-ru-elena
Для Ubuntu 14.04:
sudo apt install freeswitch-all freeswitch-sounds-ru-ru-elena
Конфигурируем freeswitch по вкусу.
Установка базы данных
Если не планируется держать базы данных на том же хосте, что и freeswitch, этот раздел можно пропустить.
Устанавливаем mysql-server:
sudo apt install mysql-server
Установка TFTP сервера
Если для конфигурации умных телефонов нужен сервер TFTP, то устанавливаем его так:
sudo apt install tftp tftpd xinetd
Установка NTP сервера
Телефонам нужно получать время, если в сети нет NTP-сервера, устанавливаем:
sudo apt install ntp
Установка snmp
Если требуется функция громкого боя, устанавливаем snmp:
sudo apt 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
:
Разрешить доступ из нужной подсети: добавить строку
Если наш сервер не подключен к интернету(или другим ntp серверам), то он перейдёт в стратум=16 и другие устройства не захотят получать время от него. Что-бы этого не произошло:
находим строчки добавленых серверов, и закоментим их #,
а вместо них добавим внутренний источник времени restrict 172.16.11.0 mask 255.255.255.0 nomodify notrap
и доступ изнутри restrict 127.127.1.0
server 127.127.1.0
сохраняем файл и перезапускаем ntpsudo 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
... ...