Changes between Version 48 and Version 49 of WikiStart


Ignore:
Timestamp:
Oct 31, 2017, 12:03:21 PM (6 years ago)
Author:
san
Comment:

Разделил общий текст вики на статьи

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v48 v49  
    11= __Система диспетчерской связи MC04-Dispatcher / MC04-SoftSwitch__ =
     2
     3== Документация ==
     4- [https://docs.google.com/document/d/1KI97C5T0YkfX-NbEs0t1mrk2En8bysTlvlXhyKNpnZg/edit?usp=sharing  ТО Комплекс МС04/Dispatcher-IP]
     5- [wiki:MC04Manual Руководство по работе с пультом диспетчера MC04Dispatcher]
     6- [wiki:MC04Setup Настройка рабочего места диспетчера]
     7- [wiki:SoftswitchSetup Установка и настройка MC04-Softswitch]
     8- [wiki:SoftswitchDB Формат таблиц в базе данных]
     9- [wiki:SoftswitchAlarms Как настроить функцию громкого боя абоненту]
     10- [wiki:SoftswitchUsers Как добавить/отредактировать абонента]
     11
     12
     13- [wiki:TracEffectiveWork Эффективная работа с TRAC]
     14- [https://drive.google.com/open?id=0B1er6HfyQelVVUllQU5TZTZYMFU Гайдлайны интерфейса ПО MC04 Dispatcher v0.6]
     15
     16[[BR]]
     17[[BR]]
     18
     19== Последние изменения в MC04-Dispatcher ==
     20
     21[[ChangeLog(/,3)]]
     22[[BR]]
    223
    324== Будьте в курсе ==
     
    829Также Вы можете просмотреть архивы рассылок: [http://trac.adc-line.ru/pipermail/mc04-dispatcher-announce/ MC04-Dispatcher] и [http://trac.adc-line.ru/pipermail/mc04-softswitch-announce/ MC04-SoftSwitch].
    930
    10 == Последние изменения в MC04-Dispatcher ==
    11 
    12 [[ChangeLog(/,3)]]
    13 
    14 == Документы ==
    15 - [https://docs.google.com/document/d/1KI97C5T0YkfX-NbEs0t1mrk2En8bysTlvlXhyKNpnZg/edit?usp=sharing  ТО Комплекс МС04/Dispatcher-IP]
    16 - [TracEffectiveWork Эффективная работа с TRAC]
    17 - [/wiki/MC04Manual Руководство по работе с пультом диспетчера MC04Dispatcher]
    18 - [https://drive.google.com/open?id=0B1er6HfyQelVVUllQU5TZTZYMFU Гайдлайны интерфейса ПО MC04 Dispatcher v0.6]
    19 == Формат таблицы cdr в базе данных конференций ==
    20 
    21 {{{
    22 mysql> describe cdr;
    23 +------------+------------------+------+-----+---------------------+----------------+
    24 | Field      | Type             | Null | Key | Default             | Extra          |
    25 +------------+------------------+------+-----+---------------------+----------------+
    26 | id         | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
    27 | has_record | tinyint(1)       | YES  |     | 0                   |                |
    28 | starttime  | timestamp        | NO   |     | 0000-00-00 00:00:00 |                |
    29 | endtime    | timestamp        | NO   |     | CURRENT_TIMESTAMP   |                |
    30 | xml        | text             | NO   |     | NULL                |                |
    31 | conference | varchar(255)     | NO   |     |                     |                |
    32 +------------+------------------+------+-----+---------------------+----------------+
    33 6 rows in set (0.00 sec)
    34 
    35 }}}
    36 
    37 
    38 == Как настроить функцию громкого боя абоненту ==
    39 1. В базе данных freeswitch (mod_db) создать запись с realm alarms и key username следующего формата:
    40 
    41 Для блока MC04-DSL-3U: {{{<address> .1.3.6.1.4.1.32109.9999.4.<slot>.7.0}}}
    42 
    43 Для блока MC04-VIP: {{{<address> .1.3.6.1.4.1.32109.1.1.0}}}
    44 
    45 где <address> - адрес блока 3U/VIP,  <slot> - номер слока, в котором стоит плата PE-04.
    46 
    47 Пример конфигурации громкого боя для абонента varko и блока 3U(адрес 192.168.0.228) c платой PE-04 в слоте 12:
    48 
    49 {{{db insert/alarms/varko/192.168.0.228 .1.3.6.1.4.1.32109.9999.4.12.7.0}}}
    50 
    51 
    52 Пример конфигурации громкого боя для абонента varko и блока VIP(адрес 192.168.0.228):
    53 
    54 {{{db insert/alarms/varko/192.168.0.228 .1.3.6.1.4.1.32109.1.1.0}}}
    55 
    56 Удалить (отключить) функцию громкого боя для абонента можно такой командой:
    57 
    58 {{{db delete/alarms/<username>}}}
    59 
    60 например отключение громкого боя для пользователя varko:
    61 
    62 {{{db delete/alarms/varko}}}
    63 
    64 
    65 2. Необходимо разрешить запись в блок 3U/VIP по протоколу SNMPv2c c community "private". Для этого надо зайти в блок по ssh и в файле /etc/snmp/snmpd.conf раскомментировать строчку
    66 
    67 {{{com2sec readwrite default         private}}}
    68 
    69 Это можно сделать, например, такой командой:
    70 
    71 {{{sed -i 's/^#com2sec readwrite/com2sec readwrite/' /etc/snmp/snmpd.conf}}}
    72 
    73 или отредактировать файл в текстовом редакторе:
    74 
    75 {{{vi /etc/snmp/snmpd.conf}}}
    76 
    77 После редактирования конфиг-файла необходимо выполнить рестарт SNMP-агента такой командой:
    78 
    79 {{{/etc/init.d/snmpd restart}}}
    80 
    81 == Как добавить/отредактировать абонента ==
    82 Список абонентов в виде файлов находится в /etc/freeswitch/conf/directory/default в виде файлов *.xml.
    83 Конфигурация пользователей описана здесь: [https://wiki.freeswitch.org/wiki/XML_User_Directory_Guide].
    84 
    85 Пользователь включается в группы заданием атрибута '''groups''' в теге '''<user/>''', значением которого является список групп, разделенных символом ';'.
    86 
    87 Диспетчеру и технику может быть задан атрибут '''allow''' в теге '''<user/>''', значением которого является список разрешенных действий, разделенных символом ';'.
    88 В настоящий момент АРМ диспетчера распознает следующие действия:
    89 '''recordings''' - просмотр CDR конференций и прослушивание записей.
    90 
    91 Пример конфигурации абонента:
    92 
    93 {{{
    94 <include>
    95   <user id="varko" groups="Совещание;Главные">
    96     <params>
    97       <param name="password" value="alk56djf"/>
    98     </params>
    99     <variables>
    100       <variable name="user_context" value="default"/>
    101       <variable name="effective_caller_id_name" value="Оператор-10"/>
    102     </variables>
    103   </user>
    104 </include>
    105 }}}
    106 
    107 = Установка MC04-Softswitch =
    108 
    109 Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso mini.iso].
    110 Заводим пользователя adс с паролем adс.
    111 Когда спросит о сервисах, отметить для установки openssh.
    112 
    113 Добавляем наш репозиторий:
    114 
    115 Для Ubuntu 16.04:
    116 {{{
    117 echo deb https://repo.adc-line.ru/ubuntu xenial main | sudo tee -a /etc/apt/sources.list
    118 }}}
    119 Для Ubuntu 14.04:
    120 {{{
    121 echo deb https://repo.adc-line.ru/ubuntu trusty main | sudo tee -a /etc/apt/sources.list
    122 }}}
    123 
    124 Создаём файл adc.key - наш публичный ключ, с содержанием:
    125 {{{
    126 -----BEGIN PGP PUBLIC KEY BLOCK-----
    127 Version: GnuPG v1
    128 
    129 mQGhBFEPhAMRBACy6rIo7GP9mQxG28ndYk1UqaJ/D8MdfZbpjemJk0MGrXJMJErQ
    130 eLx6Z91+Sx4SfP4fRSNt9kaP9roFta/Xvma1X8HzPMlp/KXWx3cNGV70gAlzX0IH
    131 U3eeb4b1FjBFeyXokOLa35pruN++zskBjPn/p6ZRwQ9NQJovE+Oyr+u3TwCg4yhy
    132 s7pVTHfhMGrkyukIW7ICVH8D/ipuFzhz3f8R70O3z8xKmJoslmjtryqHRIB14XB9
    133 rcxLV/IwjjIlIrQWRCabegroEy4eAGNEZa6ZhYCkKg0IpJ+Dp7f9y5OknO6J8x4e
    134 aEeQhoYhGPpj/vSS0pmbJHv8BAqLGvBpHC1aUFI9H2VVRJ1sUene/TTCX95+z6EU
    135 vfiYA/j/5695A/VUClr+roQJPtKnHFJ0v8fvpwApIn7kVWRTLwe7/3guQ6KXEX92
    136 XVQPaK3fdpBQ2Sx2gwUgMKydPtJTLk9thQvYo1k4oTBEDa2H55Qa6k3tgt3bKMrr
    137 rSv5ZFlS/QqZr9KdLQRcYZ+pjlIP2HcCUK87GxjA1DP6E6sItBNBREMgTHRkIChz
    138 aWduIG9ubHkpiGAEExECACAFAlEPhAMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
    139 gAAKCRDLxmDhd4pzw8S9AJ9l83VUYK2mlBYvDG1ME8KMEEmDhgCgtCw6ao0+IgvM
    140 EmbjD+bBc3mvzF8=
    141 =YLY2
    142 -----END PGP PUBLIC KEY BLOCK-----
    143 }}}
    144 
    145 Добавляем наш публичный ключ (файл adc.key)
    146 {{{
    147 sudo apt-key add adc.key
    148 }}}
    149 
    150 Обновляемся:
    151 
    152 {{{
    153 sudo apt-get update
    154 sudo apt-get upgrade
    155 }}}
    156 
    157 Устанавливаем freeswitch и русские звуки к нему:
    158 
    159 {{{
    160 sudo apt-get install freeswitch-all freeswitch-sounds-ru-ru-elena
    161 }}}
    162 
    163 Конфигурируем freeswitch по вкусу.
    164 
    165 === Установка базы данных ===
    166 
    167 Если не планируется держать базы данных на том же хосте, что и freeswitch, этот раздел можно пропустить.
    168 
    169 Устанавливаем mysql-server:
    170 
    171 {{{
    172 sudo apt-get install mysql-server
    173 }}}
    174 
    175 === Установка TFTP сервера ===
    176 
    177 Если для конфигурации умных телефонов нужен сервер TFTP, то устанавливаем его так:
    178 
    179 {{{sudo apt-get install tftp tftpd xinetd}}}
    180 
    181 === Установка NTP сервера ===
    182 Телефонам нужно получать время, если в сети нет NTP-сервера, устанавливаем:
    183 {{{sudo apt-get install ntp}}}
    184 
    185 === Установка snmp ===
    186 
    187 Если требуется функция громкого боя, устанавливаем snmp:
    188 
    189 {{{sudo apt-get install snmp}}}
    190 
    191 == Конфигурирование MC04-Softswitch ==
    192 == Конфигурация Freeswitch ==
    193 Скопировать "демонстрационную" конфигурацию в /etc/freeswitch
    194 
    195 === Создание и настройка базы данных ===
    196 
    197 Подключаемся к mysql и создаем базу данных (в данном примере '''dispatcher'''), создаем таблицу options, устанавливаем права доступа к ней для freeswitch, добавляем пароль event-сокета freeswitch:
    198 
    199 {{{
    200 mysql -u root -p
    201 /* создаем базу данных */
    202 CREATE DATABASE dispatcher;
    203 /* даем права доступа для freeswitch */
    204 GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY 'mysql-password';
    205 FLUSH PRIVILEGES;
    206 USE dispatcher
    207 /* создаем таблицу опций */
    208 CREATE TABLE `options` (
    209   id int(10) unsigned NOT NULL AUTO_INCREMENT,
    210   name varchar(64) NOT NULL,
    211   value varchar(255) NOT NULL DEFAULT '',
    212   PRIMARY KEY (id),
    213   UNIQUE KEY name (name)
    214 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    215 /* Вписываем в таблицу пароль для freeswitch event socket */
    216 INSERT INTO options (name, value) VALUES('event-socket-pwd','socketpass');
    217 }}}
    218 mysql-password хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}} (параметр "mysql-password")
    219 
    220 socketpass хранится в конфигурационном файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}}(параметр "password")
    221 
    222 Cоздаём пользователей 1, 2, 3, 4 с паролем 1 для доступа извне с привилегией SELECT (для подключения MC04-Dispatcher)
    223 {{{
    224 GRANT SELECT ON dispatcher.* TO '1'@'%' IDENTIFIED BY '1';
    225 GRANT SELECT ON dispatcher.* TO '2'@'%' IDENTIFIED BY '1';
    226 GRANT SELECT ON dispatcher.* TO '3'@'%' IDENTIFIED BY '1';
    227 GRANT SELECT ON dispatcher.* TO '4'@'%' IDENTIFIED BY '1';
    228 }}}
    229 
    230 Добавить пароль и шелл для пользователы freeswitch, пароль должен совпадать с socketpass (нужно для подключения MC04-Dispatcher по ssh).
    231 {{{
    232 sudo passwd freeswitch
    233 }}}
    234 {{{
    235 sudo usermod -s /bin/sh freeswitch
    236 }}}
    237 
    238 
    239 ...
    240 
    241 Разрешаем доступ к серверу снаружи :
    242 
    243 В файле ~~{{{/etc/mysql/my.cnf}}}~~ {{{/etc/mysql/mysql.conf.d/mysqld.cnf}}}
    244 
    245 замените строку {{{bind-address            = 127.0.0.1}}}
    246 
    247 на {{{bind-address            = *}}}
    248 
    249 Перезагрузите сервер MySQL: {{{sudo service mysql restart}}}
    250 
    251 
    252 === Настройка tftp сервера для авто-конфигурирования телефонов (например CISCO) ===
    253 
    254 необходимо создать файл  /etc/xinetd.d/tftp
    255 {{{sudo touch /etc/xinetd.d/tftp}}}
    256 и добавить следующее содержимое
    257 {{{
    258 service tftp                         
    259  {                                   
    260  protocol        = udp               
    261  port            = 69                 
    262  socket_type     = dgram             
    263  wait            = yes               
    264  user            = nobody             
    265  server          = /usr/sbin/in.tftpd
    266  server_args     = /tftpboot         
    267  disable         = no                 
    268  }   
    269 }}}                                 
    270 Создадим директорию /tftpboot. Это будет рабочая директория для TFTP сервера.
    271 {{{sudo mkdir /tftpboot}}}
    272 
    273 Изменим  владельца этой директории на adc:
    274 {{{sudo chown adc:adc /tftpboot}}}
    275 
    276 Рестарт  демона xinetd.
    277 {{{sudo /etc/init.d/xinetd restart}}}
    278 
    279 В директорию /tftpboot помещаем конфигурационные файлы телефонов
    280 Готово.
    281 
    282 === Настройка ntp сервера ===
    283 в файле {{{/etc/ntp.conf}}}:
    284 ~~ Разрешить доступ из нужной подсети: добавить строку{{{restrict 172.16.11.0 mask 255.255.255.0 nomodify notrap}}} и доступ изнутри {{{restrict 127.127.1.0}}} ~~
    285 Если наш сервер не подключен к интернету(или другим ntp серверам), то он перейдёт в стратум=16 и другие устройства не захотят получать время от него. Что-бы этого не произошло:
    286 находим строчки добавленых серверов, и закоментим их #,
    287 а вместо них добавим внутренний источник времени {{{server 127.127.1.0}}}
    288 
    289 сохраняем файл и перезапускаем ntp{{{sudo service ntp restart}}}
    290 
    291 === Окончательная конфигурация MC04-Softswitch  ===
    292 
    293 - Изменить конфигурацию сервера согласно потребностям
    294 
    295 - Изменить пароль администратора Ubuntu (пользователь adc)
    296 - Изменить пароль root MySql
    297 - Изменить пароли пользователей 1,2,3,4 в MySql и их же внести в конфигурационные файлы соответствующих пользователей {{{/etc/freeswitch/directory/default/}}}
    298 - Изменить пароль MySql пользователя freeswitch, затем этот пароль указать в файле {{{/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml}}}
    299 - Изменить пароль freeswitch event socket в файле {{{/etc/freeswitch/autoload_configs/event_socket.conf.xml}}} и в таблице опций в БД Mysql
    300 
    301 ...
    302 ...
    303 
    304 
    305 
    306 
    307 = Настройка рабочего места диспетчера =
    308 Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso mini.iso].
    309 Заводим пользователя dispatcher с паролем dispatcher.
    310 Когда спросит о сервисах, отметить для установки openssh.
    311 
    312 Добавляем наш репозиторий:
    313 
    314 {{{
    315 echo deb https://repo.adc-line.ru/ubuntu xenial main | sudo tee -a /etc/apt/sources.list
    316 }}}
    317 
    318 Добавляем наш публичный ключ:
    319 
    320 {{{
    321 wget -O - https://repo.adc-line.ru/keys/adc.key | sudo apt-key add -
    322 }}}
    323 
    324 Обновляемся:
    325 
    326 {{{
    327 sudo apt-get update
    328 sudo apt-get upgrade
    329 }}}
    330 
    331 
    332 Устанавливаем X:
    333 
    334 {{{
    335 sudo apt-get install xorg
    336 }}}
    337 
    338 
    339 Устанавливаем пульт:
    340 
    341 {{{
    342 sudo apt-get install mc04dispatcher
    343 }}}
    344 
    345 
    346 Разрешаем любому пользователю запускать X:
    347 
    348 {{{
    349 sudo dpkg-reconfigure x11-common
    350 }}}
    351 
    352 и выбираем "Anybody".
    353 
    354 Добавляем пользователя в группу audio:
    355 
    356 {{{
    357 sudo usermod -aG audio dispatcher
    358 }}}
    359 
    360 
    361 Настраиваем дефолтное устройство вывода звука в alsa (перенаправляем звук на dmixer для организации многопоточного звука)
    362 [/attachment/wiki/WikiStart/asound.conf /etc/asound.conf]