| | 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 | ... |