Version 34 (modified by 8 years ago) ( diff ) | ,
---|
Система диспетчерской связи MC04-Dispatcher / MC04-SoftSwitch
Последние изменения в MC04-Dispatcher
- 1067 by alx on 2022-01-20 11:20:14
-
Пытаемся использовать pjsua даже при ошибке получения локального адреса IPv6
(такое может произойти если IPv6 административно запрещен на компьютере).
Closes #592.
- 1066 by alx on 2021-12-20 15:59:12
-
debian/svn2cl.xsl заменен на debian/svn2cl.awk.
- 1065 by alx on 2021-12-17 10:36:57
-
Исправлена (точнее, удалена) предвариетнльная декларация структуры MYSQL.
(more)
Формат таблицы 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)
Как настроить функцию громкого боя абоненту
- В базе данных freeswitch (mod_db) создать запись с realm alarms и key username следующего формата:
Для блока MC04-DSL-3U: <address> .1.3.6.1.4.1.32109.9999.4.<slot>.7.0
Для блока MC04-VIP: <address> .1.3.6.1.4.1.32109.1.1.0
где <address> - адрес блока 3U/VIP, <slot> - номер слока, в котором стоит плата PE-04.
Пример конфигурации громкого боя для абонента varko и блока 3U(адрес 192.168.0.228) c платой PE-04 в слоте 12:
db insert/alarms/varko/192.168.0.228 .1.3.6.1.4.1.32109.9999.4.12.7.0
Пример конфигурации громкого боя для абонента varko и блока VIP(адрес 192.168.0.228):
db insert/alarms/varko/192.168.0.228 .1.3.6.1.4.1.32109.1.1.0
Удалить (отключить) функцию громкого боя для абонента можно такой командой:
db delete/alarms/<username>
например отключение громкого боя для пользователя varko:
db delete/alarms/varko
- Необходимо разрешить запись в блок 3U/VIP по протоколу 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 в теге <user/>, значением которого является список групп, разделенных символом ';'.
Диспетчеру и технику может быть задан атрибут allow в теге <user/>, значением которого является список разрешенных действий, разделенных символом ';'. В настоящий момент АРМ диспетчера распознает следующие действия: recordings - просмотр CDR конференций и прослушивание записей.
Пример конфигурации абонента:
<include> <user id="varko" groups="Совещание;Главные"> <params> <param name="password" value="alk56djf"/> </params> <variables> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Оператор-10"/> </variables> </user> </include>
Установка MC04-Softswitch
Устанавливаем ubuntu-server с mini.iso. Заводим пользователя adс с паролем adс. Когда спросит о сервисах, отметить для установки openssh.
Добавляем наш репозиторий:
echo deb http://adc-line.ru/feeds/ubuntu xenial 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
Установка TFTP сервера
Если для конфигурации умных телефонов нужен сервер TFTP, то устанавливаем его так:
sudo apt-get install tftp tftpd xinetd
Установка NTP сервера
Телефонам нужно получать время, если в сети нет NTP-сервера, устанавливаем:
sudo apt-get install ntp
Установка snmp
Если требуется функция громкого боя, устанавливаем snmp:
sudo apt-get install snmp
Конфигурирование MC04-Softswitch
Конфигурация Freeswitch
Скопировать "демонстрационную" конфигурацию в /etc/freeswitch
Создание и настройка базы данных
Подключаемся к mysql и создаем базу данных (в данном примере dispatcher), создаем таблицу options, устанавливаем права доступа к ней для freeswitch, добавляем пароль event-сокета freeswitch:
mysql -uroot -p /* создаем базу данных */ CREATE DATABASE dispatcher; /* даем права доступа для freeswitch */ GRANT ALL PRIVILEGES ON dispatcher.* TO freeswitch@localhost IDENTIFIED BY 'mysql-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');
mysql-password хранится в конфигурационном файле /etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml
(параметр "mysql-password")
socketpass хранится в конфигурационном файле /etc/freeswitch/autoload_configs/event_socket.conf.xml
(параметр "password")
Cоздаём пользователей 1, 2, 3, 4 с паролем 1 для доступа извне с привилегией SELECT (для подключения MC04-Dispatcher)
GRANT SELECT ON dispatcher.* TO '1'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '2'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '3'@'%' IDENTIFIED BY '1'; GRANT SELECT ON dispatcher.* TO '4'@'%' IDENTIFIED BY '1';
Добавить пароль и шелл для пользователы freeswitch, пароль должен совпадать с socketpass (нужно для подключения MC04-Dispatcher по ssh).
sudo passwd freeswitch
sudo usermod -s /bin/sh freeswitch
...
Разрешаем доступ к серверу снаружи :
В файле /etc/mysql/my.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
замените строку bind-address = 127.0.0.1
на bind-address = *
Перезагрузите сервер MySQL: sudo service mysql restart
Настройка tftp сервера для авто-конфигурирования телефонов (например CISCO)
необходимо создать файл /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
В директорию /tftpboot помещаем конфигурационные файлы телефонов Готово.
Настройка ntp сервера
в файле /etc/ntp.conf
:
Разрешить доступ из нужной подсети: добавить строку
Если наш сервер не подключен к интернету(или другим ntp серверам), то он перейдёт в стратум=16 и другие устройства не захотят получать время от него. Что-бы этого не произошло:
находим строчки добавленых серверов, и закоментим их #,
а вместо них добавим внутренний источник времени restrict 172.16.11.0 mask 255.255.255.0 nomodify notrap
и доступ изнутри restrict 127.127.1.0
server 127.127.1.0
сохраняем файл и перезапускаем ntpsudo service ntp restart
Окончательная конфигурация MC04-Softswitch
- Изменить конфигурацию сервера согласно потребностям
- Изменить пароль администратора Ubuntu (пользователь adc)
- Изменить пароль root MySql
- Изменить пароли пользователей 1,2,3,4 в MySql и их же внести в конфигурационные файлы соответствующих пользователей
/etc/freeswitch/directory/default/
- Изменить пароль MySql пользователя freeswitch, затем этот пароль указать в файле
/etc/freeswitch/autoload_configs/conference_cdr_mysql.conf.xml
- Изменить пароль freeswitch event socket в файле
/etc/freeswitch/autoload_configs/event_socket.conf.xml
и в таблице опций в БД Mysql
... ...
Настройка рабочего места диспетчера
Устанавливаем ubuntu-server с 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/
Устанавливаем скрипт запуска: /etc/init/SIP_client.conf
Настраиваем дефолтное устройство вывода звука в alsa (перенаправляем звук на dmixer для организации многопоточного звука) /etc/asound.conf
Attachments (2)
- asound.conf (1.5 KB ) - added by 10 years ago.
- SIP_client.conf (591 bytes ) - added by 9 years ago.
Download all attachments as: .zip