Настройка параметров подключения к БД
Реконфигурация пакета ecss-cc-ui
Настройки подключения
sudo dpkg-reconfigure ecss-cc-ui
Вопросы, относящиеся к подключению к базе, на которые нужно будет ответить:
Вопрос | |
---|---|
Шаблон вопроса: | ecss-cc-ui/mysql-host |
Тип данных: | string |
Значение по умолчанию: | localhost |
Текст вопроса(en) | IP address(hostname) of address book mysql: |
Текст вопроса(ru) | IP-адрес(хост) на котором развернут mysql адресной книги: |
Описание | Необходимо ввести IP-адрес mysql-сервера, где расположена БД адресной книги. |
Вопрос | |
Шаблон вопроса: | ecss-cc-ui/mysql-port |
Тип данных: | string |
Значение по умолчанию: | 3306 |
Текст вопроса(en) | Port of address book mysql: |
Текст вопроса(ru) | Порт на котором развернут mysql адресной книги: |
Описание | Необходимо ввести порт сервера mysql, где расположена БД адресной книги. |
Вопрос | |
Шаблон вопроса: | ecss-cc-ui/mysql-user |
Тип данных: | string |
Значение по умолчанию: | address_book |
Текст вопроса(en) | Address book mysql username: |
Текст вопроса(ru) | Имя пользователя для доступа к mysql адресной книги: |
Описание | Необходимо ввести имя пользователя для доступа к БД адресной книги. |
Вопрос | |
Шаблон вопроса: | ecss-cc-ui/mysql-password |
Тип данных: | password |
Значение по умолчанию: | address_book |
Текст вопроса(en) | Address book mysql password: |
Текст вопроса(ru) | Пароль для доступа к mysql адресной книги: |
Описание | Необходимо ввести пароль для доступа к БД адресной книги. |
Настройка через конфигурационный файла config.yaml
Для настройки справочника требуется отредактировать файл config.yaml, находящийся в директории /etc/ecss/ecss-cc-ui-api.
Требуется настроить следующие поля в области sql:
- host — доменное имя или ip-адрес ECSS-10
- port — порт подключения к mysql
- database — название базы данных, в которой хранятся данные для справочника
- user — логин для входа в mysql
- password — пароль для входа в mysql
После внесения изменения в файл требуется перезагрузить сервис ecss-cc-ui:
sudo systemctl restart ecss-cc-ui-api.service
Структура БД адресной книги
Подключение к базе:
$ mysql -uaddress_book -p -D ecss_address_book; Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 551730 Server version: 5.7.38-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
База address_book содержит следующие таблицы:
mysql> show tables; +-----------------------------+ | Tables_in_ecss_address_book | +-----------------------------+ | changes | | contact | | email | | external | | label | | phone | | source | | version | +-----------------------------+ 8 rows in set (0.00 sec)
где:
changes — дата/время последних изменений в таблицах(служебная);
contact — контактные данные(отображаемое имя, ФИО, место работы и пр);
email — электронная почта контакта;
external — таблица для связи с внешней БД (опционально);
label — таблица меток для группировки(например "work", "home", "mobile" и др.);
phone — номера телефонов;
source — источники данных(например, "ds", "file", "local" и др);
version — служебная таблица.
Список полей любой из таблиц можно посмотреть командой describe <имя таблицы>, например:
mysql> describe contact; +--------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | uuid | varchar(16) | NO | MUL | | | | source_id | int(11) | NO | MUL | NULL | | | contact_name | varchar(255) | YES | | NULL | | | first_name | varchar(255) | YES | | NULL | | | middle_name | varchar(255) | YES | | NULL | | | last_name | varchar(255) | YES | | NULL | | | company | varchar(255) | YES | | NULL | | | position | varchar(255) | YES | | NULL | | | description | varchar(255) | YES | | NULL | | | photo | varchar(2083) | YES | | NULL | | +--------------+---------------+------+-----+---------+----------------+ 11 rows in set (0.00 sec)
Пример внесения записи в базу адресной книги
Например, стоит задача сформировать уникальный справочник каких-либо номеров для перевода вызова по этому справочнику.
Сначала через cocon нужно задать имя справочника для трансфера в server_data:
$ domain/dom1/cc/properties/set server_data ecss-cc-ui transfer_phone_book region # ecss-cc-ui - Application name для КЦ # transfer_phone_book - Property, для справочника это ключевое слово # region - Value, тут можно указать любое значение
Затем подключиться к mysql (mysql -u root -p)
Смотрим какие есть базы:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | ecss_address_book | | ecss_audit | | ecss_call_trace | | ecss_calls_db | | ecss_dialer_db | | ecss_meeting_db | | ecss_numbers_db | | ecss_statistics | | ecss_subscribers | | ecss_system | | history_db | | mysql | | performance_schema | | sys | | web_conf | +--------------------+ 16 rows in set (0.05 sec)
Выбрать для использования базу ecss_address_book:
mysql> use ecss_address_book; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
Смотрим, какие есть таблицы:
mysql> show tables; +-----------------------------+ | Tables_in_ecss_address_book | +-----------------------------+ | changes | | contact | | email | | external | | label | | phone | | source | | version | +-----------------------------+ 8 rows in set (0.00 sec)
Смотрим какие есть source, нужно будет добавить свой новый уникальный источник:
mysql> select * from source; +-----+-------------------------+------+---------------------+---------+ | id | name | type | description | domain | +-----+-------------------------+------+---------------------+---------+ | 1 | ds | ds | ECSS-10 local users | dom1 | | 21 | teleconference | file | NULL | dom1 | | 154 | ds | ds | ECSS-10 local users | pbx_dom | +-----+-------------------------+------+---------------------+---------+ 6 rows in set (0.00 sec)
Добавим новый source с именем region, типа file, для домена dom1:
mysql> insert into source (name, type, description, domain) values ('region', 'file', 'Phone book for transfer', 'dom1'); Query OK, 1 row affected (0.00 sec) mysql> select * from source; +-----+-------------------------+------+-------------------------+---------+ | id | name | type | description | domain | +-----+-------------------------+------+-------------------------+---------+ | 1 | ds | ds | ECSS-10 local users | dom1 | | 21 | teleconference | file | NULL | dom1 | | 154 | ds | ds | ECSS-10 local users | pbx_dom | | 221 | region | file | Phone book for transfer | dom1 | +-----+-------------------------+------+-------------------------+---------+ 7 rows in set (0.00 sec)
Теперь нужно добавить в таблицу contact несколько записей, используя sourceId = 221 (id будет отличаться от 221, нужно посмотреть какое значение было присвоено в предыдущем пункте):
mysql> insert into contact (source_id, contact_name) values ('221', 'Иванов Иван Иванович'); Query OK, 1 row affected (0.00 sec) mysql> insert into contact (source_id, first_name, middle_name, last_name) values ('221', 'Пётр', 'Петрович', 'Петров'); Query OK, 1 row affected (0.00 sec) mysql> insert into contact (source_id, description) values ('221', 'Василий Васильевич Васильев'); Query OK, 1 row affected (0.00 sec) mysql> select * from contact where source_id='221'; +------+------+-----------+----------------------+------------+-------------+-----------+---------+----------+-----------------------------+-------+ | id | uuid | source_id | contact_name | first_name | middle_name | last_name | company | position | description | photo | +------+------+-----------+----------------------+------------+-------------+-----------+---------+----------+-----------------------------+-------+ | 1518 | u5EE | 221 | Иванов Иван Иванович | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 1519 | u5EF | 221 | NULL | Пётр | Петрович | Петров | NULL | NULL | NULL | NULL | | 1520 | u5F0 | 221 | NULL | NULL | NULL | NULL | NULL | NULL | Василий Васильевич Васильев | NULL | | 1521 | u5F1 | 221 | Илья Ильич Илюшин | NULL | NULL | NULL | NULL | NULL | NULL | NULL | +------+------+-----------+----------------------+------------+-------------+-----------+---------+----------+-----------------------------+-------+ 3 rows in set (0.00 sec)
Можно определить contact_name, поле имеет наивысший приоритет и будет отображено только оно если определено.
Можно определить first_name, middle_name, last_name, эта тройка имеет меньший приоритет, и будет отображено, если хотя бы одно из трех полей определено.
Можно определить description, поле имеет наименьший приоритет, и будет отображено, если другие поля не определены.
Добавьте новую запись в таблицу label, так как для phone label_id обязательное поле:
mysql> insert into label (name, description) values ('queue', 'Внешние номера очередей в регионе'); Query OK, 1 row affected (0.00 sec) mysql> select * from label; +----+-------------------------------+----------------------------------------------------------------+ | id | name | description | +----+-------------------------------+----------------------------------------------------------------+ | 20 | work | Voluptate voluptatem qui in. | | 21 | home | Et sed sed debitis veniam vel. | | .. | ... | ...... | | 31 | queue | Внешние номера очередей в регионе | +----+-------------------------------+----------------------------------------------------------------+ 12 rows in set (0.00 sec)
Теперь нужно добавить в таблицу phone по одному номеру для каждого нового контакта:
- contact_id(1518, 1519, 1520, 1521) берутся из таблицы contact, которые добавили ранее;
- label_id(31) — из таблицы label.
mysql> insert into phone (contact_id, digits, label_id) values ('1518', '2001', '31'); Query OK, 1 row affected (0.00 sec) mysql> insert into phone (contact_id, digits, label_id) values ('1519', '2002', '31'); Query OK, 1 row affected (0.00 sec) mysql> insert into phone (contact_id, digits, label_id) values ('1520', '2003', '31'); Query OK, 1 row affected (0.00 sec) mysql> insert into phone (contact_id, digits, label_id) values ('1521', '2004', '31'); Query OK, 1 row affected (0.00 sec)
Посмотреть список новых контактов можно на вкладке "Справочник":
В диалоговом окне "Переадресовать вызов" будет доступна вкладка "Очереди", где можно выбрать один из контактов и будет сделан перевод вызова по номеру.
0 Комментариев