| 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 | {{{ |
| 12 | echo deb https://repo.adc-line.ru/ubuntu xenial main | sudo tee -a /etc/apt/sources.list |
| 13 | }}} |
| 14 | Для Ubuntu 14.04: |
| 15 | {{{ |
| 16 | echo 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----- |
| 22 | Version: GnuPG v1 |
| 23 | |
| 24 | mQGhBFEPhAMRBACy6rIo7GP9mQxG28ndYk1UqaJ/D8MdfZbpjemJk0MGrXJMJErQ |
| 25 | eLx6Z91+Sx4SfP4fRSNt9kaP9roFta/Xvma1X8HzPMlp/KXWx3cNGV70gAlzX0IH |
| 26 | U3eeb4b1FjBFeyXokOLa35pruN++zskBjPn/p6ZRwQ9NQJovE+Oyr+u3TwCg4yhy |
| 27 | s7pVTHfhMGrkyukIW7ICVH8D/ipuFzhz3f8R70O3z8xKmJoslmjtryqHRIB14XB9 |
| 28 | rcxLV/IwjjIlIrQWRCabegroEy4eAGNEZa6ZhYCkKg0IpJ+Dp7f9y5OknO6J8x4e |
| 29 | aEeQhoYhGPpj/vSS0pmbJHv8BAqLGvBpHC1aUFI9H2VVRJ1sUene/TTCX95+z6EU |
| 30 | vfiYA/j/5695A/VUClr+roQJPtKnHFJ0v8fvpwApIn7kVWRTLwe7/3guQ6KXEX92 |
| 31 | XVQPaK3fdpBQ2Sx2gwUgMKydPtJTLk9thQvYo1k4oTBEDa2H55Qa6k3tgt3bKMrr |
| 32 | rSv5ZFlS/QqZr9KdLQRcYZ+pjlIP2HcCUK87GxjA1DP6E6sItBNBREMgTHRkIChz |
| 33 | aWduIG9ubHkpiGAEExECACAFAlEPhAMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX |
| 34 | gAAKCRDLxmDhd4pzw8S9AJ9l83VUYK2mlBYvDG1ME8KMEEmDhgCgtCw6ao0+IgvM |
| 35 | EmbjD+bBc3mvzF8= |
| 36 | =YLY2 |
| 37 | -----END PGP PUBLIC KEY BLOCK----- |
| 38 | }}} |
| 39 | |
| 40 | Добавляем наш публичный ключ (файл adc.key) |
| 41 | {{{ |
| 42 | sudo apt-key add adc.key |
| 43 | }}} |
| 44 | |
| 45 | Обновляемся: |
| 46 | |
| 47 | {{{ |
| 48 | sudo apt-get update |
| 49 | sudo apt-get upgrade |
| 50 | }}} |
| 51 | |
| 52 | Устанавливаем freeswitch и русские звуки к нему: |
| 53 | |
| 54 | {{{ |
| 55 | sudo 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 | {{{ |
| 67 | sudo 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 | {{{ |
| 97 | mysql -u root -p |
| 98 | /* создаем базу данных */ |
| 99 | CREATE DATABASE dispatcher; |
| 100 | /* даем права доступа для freeswitch */ |
| 101 | GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY 'mysql-password'; |
| 102 | FLUSH PRIVILEGES; |
| 103 | USE dispatcher |
| 104 | /* создаем таблицу опций */ |
| 105 | CREATE 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 */ |
| 113 | INSERT INTO options (name, value) VALUES('event-socket-pwd','socketpass'); |
| 114 | }}} |
| 115 | mysql-password хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}} (параметр "mysql-password") |
| 116 | |
| 117 | socketpass хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}}(параметр "password") |
| 118 | |
| 119 | Cоздаём пользователей 1, 2, 3, 4 с паролем 1 для доступа извне с привилегией SELECT (для подключения MC04-Dispatcher) |
| 120 | {{{ |
| 121 | GRANT SELECT ON dispatcher.* TO '1'@'%' IDENTIFIED BY '1'; |
| 122 | GRANT SELECT ON dispatcher.* TO '2'@'%' IDENTIFIED BY '1'; |
| 123 | GRANT SELECT ON dispatcher.* TO '3'@'%' IDENTIFIED BY '1'; |
| 124 | GRANT SELECT ON dispatcher.* TO '4'@'%' IDENTIFIED BY '1'; |
| 125 | }}} |
| 126 | |
| 127 | Добавить пароль и шелл для пользователы freeswitch, пароль должен совпадать с socketpass (нужно для подключения MC04-Dispatcher по ssh). |
| 128 | {{{ |
| 129 | sudo passwd freeswitch |
| 130 | }}} |
| 131 | {{{ |
| 132 | sudo 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 | {{{ |
| 155 | service 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 | ... |