= __Система диспетчерской связи MC04-Dispatcher / MC04-SoftSwitch__ =
== Последние изменения в MC04-Dispatcher ==
[[ChangeLog(/,3)]]
== Формат таблицы cdr в базе данных конференций ==
{{{
mysql> describe cdr;
+------------+------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| has_record | tinyint(1) | YES | | 0 | |
| starttime | timestamp | NO | | 0000-00-00 00:00:00 | |
| endtime | timestamp | NO | | CURRENT_TIMESTAMP | |
| xml | text | NO | | NULL | |
| conference | varchar(255) | NO | | | |
+------------+------------------+------+-----+---------------------+----------------+
6 rows in set (0.00 sec)
}}}
== Как настроить функцию громкого боя абоненту ==
1. В базе данных freeswitch (mod_db) создать запись с realm alarms и key username следующего формата:
{{{
.1.3.6.1.4.1.32109.9999.4..7.0}}}
где - адрес блока 3U, в котором стоит плата PE-04, - номер слока, в котором стоит PE-04.
Пример конфигурации громкого боя для абонента varko и платы PE-04 в слоте 12 блока с адресом 192.168.0.228:
{{{db insert/alarms/varko/192.168.0.228 .1.3.6.1.4.1.32109.9999.4.12.7.0}}}
Удалить (отключить) функцию громкого боя для абонента можно такой командой:
{{{db delete/alarms/}}}
например отключение громкого боя для пользователя varko:
{{{db delete/alarms/varko}}}
2. Необходимо разрешить запись в блок 3U по протоколу SNMPv2c c community "private". Для этого надо зайти в блок по ssh и в файле /etc/snmp/snmpd.conf раскомментировать строчку
{{{com2sec readwrite default private}}}
Это можно сделать, например, такой командой:
{{{sed -i 's/^#com2sec readwrite/com2sec readwrite/' /etc/snmp/snmpd.conf}}}
или отредактировать файл в текстовом редакторе:
{{{vi /etc/snmp/snmpd.conf}}}
После редактирования конфиг-файла необходимо выполнить рестарт SNMP-агента такой командой:
{{{/etc/init.d/snmpd restart}}}
== Как добавить/отредактировать абонента ==
Список абонентов в виде файлов находится в /etc/freeswitch/conf/directory/default в виде файлов *.xml.
Конфигурация пользователей описана здесь: [https://wiki.freeswitch.org/wiki/XML_User_Directory_Guide].
Пользователь включается в группы заданием атрибута '''groups''' в теге '''''', значением которого является список групп, разделенных символом ';'.
Диспетчеру и технику может быть задан атрибут '''allow''' в теге '''''', значением которого является список разрешенных действий, разделенных символом ';'.
В настоящий момент АРМ диспетчера распознает следующие действия:
'''recordings''' - просмотр CDR конференций и прослушивание записей.
Пример конфигурации абонента:
{{{
}}}
= Установка MC04-Softswitch =
Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/mini.iso mini.iso].
Заводим пользователя admin с паролем admin.
Когда спросит о сервисах, отметить для установки openssh.
Добавляем наш репозиторий:
{{{
echo deb http://adc-line.ru/feeds/ubuntu trusty main | sudo tee -a /etc/apt/sources.list
sudo apt-key add adc.key
}}}
где adc.key - наш публичный ключ:
{{{
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQGhBFEPhAMRBACy6rIo7GP9mQxG28ndYk1UqaJ/D8MdfZbpjemJk0MGrXJMJErQ
eLx6Z91+Sx4SfP4fRSNt9kaP9roFta/Xvma1X8HzPMlp/KXWx3cNGV70gAlzX0IH
U3eeb4b1FjBFeyXokOLa35pruN++zskBjPn/p6ZRwQ9NQJovE+Oyr+u3TwCg4yhy
s7pVTHfhMGrkyukIW7ICVH8D/ipuFzhz3f8R70O3z8xKmJoslmjtryqHRIB14XB9
rcxLV/IwjjIlIrQWRCabegroEy4eAGNEZa6ZhYCkKg0IpJ+Dp7f9y5OknO6J8x4e
aEeQhoYhGPpj/vSS0pmbJHv8BAqLGvBpHC1aUFI9H2VVRJ1sUene/TTCX95+z6EU
vfiYA/j/5695A/VUClr+roQJPtKnHFJ0v8fvpwApIn7kVWRTLwe7/3guQ6KXEX92
XVQPaK3fdpBQ2Sx2gwUgMKydPtJTLk9thQvYo1k4oTBEDa2H55Qa6k3tgt3bKMrr
rSv5ZFlS/QqZr9KdLQRcYZ+pjlIP2HcCUK87GxjA1DP6E6sItBNBREMgTHRkIChz
aWduIG9ubHkpiGAEExECACAFAlEPhAMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDLxmDhd4pzw8S9AJ9l83VUYK2mlBYvDG1ME8KMEEmDhgCgtCw6ao0+IgvM
EmbjD+bBc3mvzF8=
=YLY2
-----END PGP PUBLIC KEY BLOCK-----
}}}
Обновляемся:
{{{
sudo apt-get update
sudo apt-get upgrade
}}}
Устанавливаем freeswitch и русские звуки к нему:
{{{
sudo apt-get install freeswitch-all freeswitch-sounds-ru-ru-elena
}}}
Конфигурируем freeswitch по вкусу.
=== Установка базы данных ===
Если не планируется держать базы данных на том же хосте, что и freeswitch, этот раздел можно пропустить.
Устанавливаем mysql-server:
{{{
sudo apt-get install mysql-server
}}}
== Конфигурирование MC04-Softswitch ==
=== Создание и настройка базы данных ===
Подключаемся к mysql и создаем базу данных (в данном примере '''dispatcher'''), создаем таблицу options, устанавливаем права доступа к ней для freeswitch, добавляем пароль event-сокета freeswitch:
{{{
mysql -uroot -p
/* создаем базу данных */
CREATE DATABASE dispatcher;
/* даем права доступа для freeswitch */
GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY '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');
}}}
=== (опционально) Установка и настройка tftp сервера для авто-конфигурирования телефонов (например CISCO) ===
{{{$ sudo apt-get install tftp tftpd xinetd}}}
необходимо создать файл /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}}}
Готово.
= Настройка рабочего места диспетчера =
Устанавливаем ubuntu-server с [http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/mini.iso mini.iso].
Заводим пользователя dispatcher с паролем dispatcher.
Когда спросит о сервисах, отметить для установки openssh.
Обновляемся:
{{{
sudo apt-get update
sudo apt-get upgrade
}}}
Устанавливаем X:
{{{
sudo apt-get install xorg
}}}
Устанавливаем java:
{{{
sudo apt-get install openjdk-7-jre-headless
}}}
Разрешаем любому пользователю запускать X:
{{{
sudo dpkg-reconfigure x11-common
}}}
и выбираем "Anybody".
Добавляем пользователя в группу audio:
{{{
sudo usermod -aG audio dispatcher
}}}
Устанавливаем SIP_client:
{{{
sudo mkdir -p /usr/local/share/SIP_client
sudo scp -r alx@192.168.0.75:work/dispatcher/dispatcher/SIP_client /usr/local/share/
}}}
Устанавливаем скрипт запуска:
[/attachment/wiki/WikiStart/SIP_client.conf /etc/init/SIP_client.conf]
Настраиваем дефолтное устройство вывода звука в alsa (перенаправляем звук на dmixer для организации многопоточного звука)
[/attachment/wiki/WikiStart/asound.conf /etc/asound.conf]