Changes between Initial Version and Version 1 of SoftswitchSetup


Ignore:
Timestamp:
Oct 31, 2017, 11:49:14 AM (7 years ago)
Author:
san
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftswitchSetup

    v1 v1  
     1
     2= Установка MC04-Softswitch =
     3
     4Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso mini.iso].
     5Заводим пользователя adс с паролем adс.
     6Когда спросит о сервисах, отметить для установки openssh.
     7
     8Добавляем наш репозиторий:
     9
     10Для Ubuntu 16.04:
     11{{{
     12echo deb https://repo.adc-line.ru/ubuntu xenial main | sudo tee -a /etc/apt/sources.list
     13}}}
     14Для Ubuntu 14.04:
     15{{{
     16echo deb https://repo.adc-line.ru/ubuntu trusty main | sudo tee -a /etc/apt/sources.list
     17}}}
     18
     19Создаём файл adc.key - наш публичный ключ, с содержанием:
     20{{{
     21-----BEGIN PGP PUBLIC KEY BLOCK-----
     22Version: GnuPG v1
     23
     24mQGhBFEPhAMRBACy6rIo7GP9mQxG28ndYk1UqaJ/D8MdfZbpjemJk0MGrXJMJErQ
     25eLx6Z91+Sx4SfP4fRSNt9kaP9roFta/Xvma1X8HzPMlp/KXWx3cNGV70gAlzX0IH
     26U3eeb4b1FjBFeyXokOLa35pruN++zskBjPn/p6ZRwQ9NQJovE+Oyr+u3TwCg4yhy
     27s7pVTHfhMGrkyukIW7ICVH8D/ipuFzhz3f8R70O3z8xKmJoslmjtryqHRIB14XB9
     28rcxLV/IwjjIlIrQWRCabegroEy4eAGNEZa6ZhYCkKg0IpJ+Dp7f9y5OknO6J8x4e
     29aEeQhoYhGPpj/vSS0pmbJHv8BAqLGvBpHC1aUFI9H2VVRJ1sUene/TTCX95+z6EU
     30vfiYA/j/5695A/VUClr+roQJPtKnHFJ0v8fvpwApIn7kVWRTLwe7/3guQ6KXEX92
     31XVQPaK3fdpBQ2Sx2gwUgMKydPtJTLk9thQvYo1k4oTBEDa2H55Qa6k3tgt3bKMrr
     32rSv5ZFlS/QqZr9KdLQRcYZ+pjlIP2HcCUK87GxjA1DP6E6sItBNBREMgTHRkIChz
     33aWduIG9ubHkpiGAEExECACAFAlEPhAMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
     34gAAKCRDLxmDhd4pzw8S9AJ9l83VUYK2mlBYvDG1ME8KMEEmDhgCgtCw6ao0+IgvM
     35EmbjD+bBc3mvzF8=
     36=YLY2
     37-----END PGP PUBLIC KEY BLOCK-----
     38}}}
     39
     40Добавляем наш публичный ключ (файл adc.key)
     41{{{
     42sudo apt-key add adc.key
     43}}}
     44
     45Обновляемся:
     46
     47{{{
     48sudo apt-get update
     49sudo apt-get upgrade
     50}}}
     51
     52Устанавливаем freeswitch и русские звуки к нему:
     53
     54{{{
     55sudo apt-get install freeswitch-all freeswitch-sounds-ru-ru-elena
     56}}}
     57
     58Конфигурируем freeswitch по вкусу.
     59
     60=== Установка базы данных ===
     61
     62Если не планируется держать базы данных на том же хосте, что и freeswitch, этот раздел можно пропустить.
     63
     64Устанавливаем mysql-server:
     65
     66{{{
     67sudo apt-get install mysql-server
     68}}}
     69
     70=== Установка TFTP сервера ===
     71
     72Если для конфигурации умных телефонов нужен сервер TFTP, то устанавливаем его так:
     73
     74{{{sudo apt-get install tftp tftpd xinetd}}}
     75
     76=== Установка NTP сервера ===
     77Телефонам нужно получать время, если в сети нет NTP-сервера, устанавливаем:
     78{{{sudo apt-get install ntp}}}
     79
     80=== Установка snmp ===
     81
     82Если требуется функция громкого боя, устанавливаем snmp:
     83
     84{{{sudo apt-get install snmp}}}
     85
     86
     87
     88== Конфигурирование MC04-Softswitch ==
     89== Конфигурация Freeswitch ==
     90Скопировать "демонстрационную" конфигурацию в /etc/freeswitch
     91
     92=== Создание и настройка базы данных ===
     93
     94Подключаемся к mysql и создаем базу данных (в данном примере '''dispatcher'''), создаем таблицу options, устанавливаем права доступа к ней для freeswitch, добавляем пароль event-сокета freeswitch:
     95
     96{{{
     97mysql -u root -p
     98/* создаем базу данных */
     99CREATE DATABASE dispatcher;
     100/* даем права доступа для freeswitch */
     101GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY 'mysql-password';
     102FLUSH PRIVILEGES;
     103USE dispatcher
     104/* создаем таблицу опций */
     105CREATE TABLE `options` (
     106  id int(10) unsigned NOT NULL AUTO_INCREMENT,
     107  name varchar(64) NOT NULL,
     108  value varchar(255) NOT NULL DEFAULT '',
     109  PRIMARY KEY (id),
     110  UNIQUE KEY name (name)
     111) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     112/* Вписываем в таблицу пароль для freeswitch event socket */
     113INSERT INTO options (name, value) VALUES('event-socket-pwd','socketpass');
     114}}}
     115mysql-password хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}} (параметр "mysql-password")
     116
     117socketpass хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}}(параметр "password")
     118
     119Cоздаём пользователей 1, 2, 3, 4 с паролем 1 для доступа извне с привилегией SELECT (для подключения MC04-Dispatcher)
     120{{{
     121GRANT SELECT ON dispatcher.* TO '1'@'%' IDENTIFIED BY '1';
     122GRANT SELECT ON dispatcher.* TO '2'@'%' IDENTIFIED BY '1';
     123GRANT SELECT ON dispatcher.* TO '3'@'%' IDENTIFIED BY '1';
     124GRANT SELECT ON dispatcher.* TO '4'@'%' IDENTIFIED BY '1';
     125}}}
     126
     127Добавить пароль и шелл для пользователы freeswitch, пароль должен совпадать с socketpass (нужно для подключения MC04-Dispatcher по ssh).
     128{{{
     129sudo passwd freeswitch
     130}}}
     131{{{
     132sudo usermod -s /bin/sh freeswitch
     133}}}
     134
     135
     136...
     137
     138Разрешаем доступ к серверу снаружи :
     139
     140В файле ~~{{{/etc/mysql/my.cnf}}}~~ {{{/etc/mysql/mysql.conf.d/mysqld.cnf}}}
     141
     142замените строку {{{bind-address            = 127.0.0.1}}}
     143
     144на {{{bind-address            = *}}}
     145
     146Перезагрузите сервер MySQL: {{{sudo service mysql restart}}}
     147
     148
     149=== Настройка tftp сервера для авто-конфигурирования телефонов (например CISCO) ===
     150
     151необходимо создать файл  /etc/xinetd.d/tftp
     152{{{sudo touch /etc/xinetd.d/tftp}}}
     153и добавить следующее содержимое
     154{{{
     155service tftp                         
     156 {                                   
     157 protocol        = udp               
     158 port            = 69                 
     159 socket_type     = dgram             
     160 wait            = yes               
     161 user            = nobody             
     162 server          = /usr/sbin/in.tftpd
     163 server_args     = /tftpboot         
     164 disable         = no                 
     165 }   
     166}}}                                 
     167Создадим директорию /tftpboot. Это будет рабочая директория для TFTP сервера.
     168{{{sudo mkdir /tftpboot}}}
     169
     170Изменим  владельца этой директории на adc:
     171{{{sudo chown adc:adc /tftpboot}}}
     172
     173Рестарт  демона xinetd.
     174{{{sudo /etc/init.d/xinetd restart}}}
     175
     176В директорию /tftpboot помещаем конфигурационные файлы телефонов
     177Готово.
     178
     179=== Настройка ntp сервера ===
     180в файле {{{/etc/ntp.conf}}}:
     181~~ Разрешить доступ из нужной подсети: добавить строку{{{restrict 172.16.11.0 mask 255.255.255.0 nomodify notrap}}} и доступ изнутри {{{restrict 127.127.1.0}}} ~~
     182Если наш сервер не подключен к интернету(или другим ntp серверам), то он перейдёт в стратум=16 и другие устройства не захотят получать время от него. Что-бы этого не произошло:
     183находим строчки добавленых серверов, и закоментим их #,
     184а вместо них добавим внутренний источник времени {{{server 127.127.1.0}}}
     185
     186сохраняем файл и перезапускаем ntp{{{sudo service ntp restart}}}
     187
     188=== Окончательная конфигурация MC04-Softswitch  ===
     189
     190- Изменить конфигурацию сервера согласно потребностям
     191
     192- Изменить пароль администратора Ubuntu (пользователь adc)
     193- Изменить пароль root MySql
     194- Изменить пароли пользователей 1,2,3,4 в MySql и их же внести в конфигурационные файлы соответствующих пользователей {{{/etc/freeswitch/directory/default/}}}
     195- Изменить пароль MySql пользователя freeswitch, затем этот пароль указать в файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}}
     196- Изменить пароль freeswitch event socket в файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}} и в таблице опций в БД Mysql
     197
     198...
     199...