Настройка портала абонента
В данном разделе описаны настройки соединения с БД "Портала абонента", учетных записей "Портала абонента", а также подсистемы, отвечающей за автоматическое заведение абонентов в "Портале абонента".
Понятия, определения
- Портал абонента — раздел на веб-ресурсах Оператора связи, содержащий информацию об Абоненте, подключенных им Услугах связи, а также дающий возможность дистанционного управления Услугами связи и информационного обслуживания.
- MySQL — система управления базами данных.
- БД — база данных.
Описание
Приложение "Портал абонента" системы ECSS-10 позволяет абонентам системы самостоятельно управлять услугами, просматривать информацию по совершенным вызовам, активным конференциям, а также настраивать свои собственные IVR-скрипты для входящих вызовов.
Описание работы приложения приведено в разделе "Портал абонента".
Установка Портала абонента
Портал абонента не требует отдельной установки и доступен в составе пакета ecss-web-conf.
При инсталляции пакета ecss-node будет задан вопрос об IP-адресе, где будет установлен портал:
ecss-dns-env: [Subscriber Portal] Введите адрес: ([Subscriber Portal] Enter ip:)
Если ecss-web-conf и система ECSS-10 устанавливаются на одном хосте, то можно указать адрес 127.0.0.1;
По умолчанию портал доступен по адресу https://<адрес ECSS>/wcf_subscriber_portal/<DOMAIN>/
Настройка соединения с MySQL БД "Портала абонента" через CLI
Для работы портала абонента необходимо настроить соединение с базой данных MySQL портала абонента ecss_subscribers. Для этого необходимо в консоли cocon ECSS-10 ввести:
domain/<DOMAIN>/subscriber-portal/properties/set connection <Host>[:<Port>] <Login> <Password> <Database>
где
- <Host> — имя или IP-адрес MySQL-сервера (по умолчанию — 127.0.0.1);
- <Port> — номер порта MySQL-сервера (по умолчанию — 3306);
- <Login> — логин для подключения к MySQL-сервера (по умолчанию — subscribers);
- <Password> — пароль для подключения к MySQL-серверу (по умолчанию — subscribers);
- <Database> — имя базы данных (по умолчанию — ecss_subscribers).
Например:
/domain/biysk.local/subscriber-portal/properties/set connection 192.168.1.71 subscribers subscribers ecss_subscribers Property "connection" successfully changed from: to Host: 192.168.1.71; Database: ecss_subscribers; Login: subscribers; Password: subscribers.
После этого можно проверить соединение с базой MySQL:
domain/<DOMAIN>/subscriber-portal/check-connection
При успешном соединении с базой MySQL выведется соответствующее сообщение:
/domain/biysk.local/subscriber-portal/check-connection Connection successful
Настройка служебного пользователя для связи с Mediator
Для лучшей безопасности, рекомендовано использовать отдельного пользователя, который имеет права только на Портал абонента.
Для этого необходимо в "Управление пользователями" добавить пользователя с разрешениями ecss-subscriber-portal и ecss-<DOMAIN>-domain-subscriber-portal
Пример:

Данный пользователь будет иметь доступ только в CoCon. Доступ в Веб будет закрыт.
Далее требуется открыть файл /etc/ecss/ecss-web-conf/settings_local.py и изменить значения LOGIN_HTTP_TERMINAL, PASSWORD_HTTP_TERMINAL на те, которые были присвоены пользователю, предназначенного для Портала абонента.
По дефолту файл выглядит следующим образом
# global const for web_conf. # coding=utf-8 DEBUG = False SESSION_COOKIE_NAME = "wcf_sid" SERVER_URL = 'localhost' SERVER_PORT = '9999' SERVER_WCF = "http://localhost:8000/" PCAP_REPLY_IP = '192.168.26.203' LOGIN_HTTP_TERMINAL = 'admin' PASSWORD_HTTP_TERMINAL = 'password' URL_HTTP_TERMINAL = '127.0.0.1:9999' WEBSOCKET_PORT = 9014 AUTO_LOGOUT_TIMEOUT = 9000 CC_PORT = '8086' CC_DOMAIN = 'test.domain' OPERATOR = ['oper_name1', 'oper_name2'] PING_TIME = 50000 # ms = 50s # PING_TIME=3000000 #ms = 3000s ALARM_REFRESH_TIME = 10000 # ms = 10s HOSTS_MONITOR_TIME = 2000 # ms = 2s CALL_MONITOR_TIME = 2000 # ms = 2s SSL_CERT = '/etc/ecss/ssl/ecss10.crt' SSL_KEY = '/etc/ecss/ssl/ecss10.key' SSL_DOMAIN = 'localhost' ALLOW_DOMAINS = 'true' # 'true' or 'false' COMMA_SEPARATOR = ";" REPORT_LIMIT = "5000" USE_HTTPS = True DO_XSD_VALIDATION = True LOCALE = 'rus' # 'eng', 'rus' THEME = 'classic' # 'classic', 'grey' DEFAULT_MODE = 'wcf' # wcf, simple BRAND = "ECSS-10" #"ECSS-10" # CSS-16 BRAND_PATH = "../ecss-web-conf-brand" # local path
Настройка соединения с MySQL БД "Портала абонента" через web-конфигуратор
Настройка учетных записей "Портала абонента"
Для настройки учетных записей "Портала абонента" используется интерфейс командной строки или web-конфигуратор.
Автоматическое создание/удаление пары логин/пароль для портала абонента
Для автоматического создания учетной записи (логина и пароля) "Портала абонента" в системе, при создании абонента, выполните следующую команду:
domain/<DOMAIN>/subscriber-portal/properties/set auto_create_account true
Для автоматического удаления учетной записи "Портала абонента" из системы, при удалении абонента, выполните следующую команду:
domain/<DOMAIN>/subscriber-portal/properties/set auto_delete_account true
Установка и просмотр логина и пароля для абонентов портала
Для создания/изменения имя пользователя учетной записи "Портала абонента" через интерфейс командной строки cocon используется команда:
/domain/<DOMAIN>/alias/set <NUMBER> <GROUP_NAME> <INTERFACE> subscriber_portal\login <LOGIN>
Для создания/изменения пароля для доступа к "Порталу абонента" через интерфейс командной строки cocon используется команда:
/domain/<DOMAIN>/alias/set <NUMBER> <GROUP_NAME> <INTERFACE> subscriber_portal\password <PASSWORD>
Для просмотра имя пользователя и пароля учетной записи "Портала абонента" используется команда:
/domain/<DOMAIN>/alias/info <NUMBER>
где
- <DOMAIN> — имя виртуальной АТС;
- <NUMBER> — абонентский номер;
- <GROUP_NAME> — имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
- <INTERFACE> — имя интерфейса;
- <LOGIN> — логин для доступа к Порталу абонента;
- <PASSWORD> — пароль для доступа к Порталу абонента.
Например:
Установим для абонента с номером 240101 логин портала абонента "240101" и пароль "ssw_101":
admin@mycelium1@ecss1:/$ domain/biysk.local/alias/set 240101 loc.gr 240101@biysk.local subscriber_portal\login 240101 There are aliases within domain biysk.local affected by settings property subscriber_portal\login: 240101 <-> 062743c4240eae38 Legend: a: Setup alias address i: Setup alias inteface !: Setup broken. Alias allready exists *: Setup broken. Alias not exists L: Setup broken. No free subscriber licences. x: Setup broken. Unexpected error <empty>: Successfull setup [exec at: 11.02.2020 09:45:43, exec time: 73ms, nodes: ds1@ecss1] admin@mycelium1@ecss1:/$ domain/biysk.local/alias/set 240101 loc.gr 240101@biysk.local subscriber_portal\password ssw_101 There are aliases within domain biysk.local affected by settings property subscriber_portal\password: 240101 <-> 062743c4240eae38 Legend: a: Setup alias address i: Setup alias inteface !: Setup broken. Alias allready exists *: Setup broken. Alias not exists L: Setup broken. No free subscriber licences. x: Setup broken. Unexpected error <empty>: Successfull setup [exec at: 11.02.2020 09:45:48, exec time: 81ms, nodes: ds1@ecss1
Проверим установленные параметры:
admin@mycelium1@ecss1:/$ domain/biysk.local/alias/info 240101 Aliases in domain biysk.local ┌───────┬──────────────────┬─┬─┬──────────────────────────┬────────────────────────────────────┐ │Address│ Iface │A│W│ Property │ Value │ ├───────┼──────────────────┼─┼─┼──────────────────────────┼────────────────────────────────────┤ │240101 │240101@biysk.local│ │p│access_group │all │ ... │ │ │ │ │subscriber_portal\login │"240101" │ │ │ │ │ │subscriber_portal\password│ssw_101 │ ... └───────┴──────────────────┴─┴─┴──────────────────────────┴────────────────────────────────────┘ ... [exec at: 11.02.2020 09:46:31, exec time: 136ms, nodes: ds1@ecss1
Настройка и изменение параметров учетной записи "Портала абонента" через web-конфигуратор выполняется в приложении "Карточка абонента" ("Subsciber card"), во вкладке "Другие" ("Other").

Для добавления логина/пароля нажмите кнопку "Добавить" ("Add"), в поле "Имя" ("Name") введите название параметра:
- subscriber_portal\login — логин;
- subscriber_portal\password — пароль.
В поле "Значение" ("Value") установите новое значение параметра.
Для сохранения настроек нажмите кнопку "Сохранить" ("Save").
Настройка имени абонента, отображаемое в "Портале абонента"
Имя абонента, отображаемое в карточке "Портал абонента", может быть настроено следующим образом:
- через интерфейс командной строки CLI:
/domain/<DOMAIN>/alias/set <NUMBER> <GROUP_NAME> <INTERFACE> displayName <NAME>где
<DOMAIN> — имя виртуальной АТС;
<NUMBER> — абонентский номер;
<GROUP_NAME> — имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
<INTERFACE> — имя интерфейса;
<NAME> — отображаемое имя.
- через web-конфигуратор:
В приложении "Карточка абонента" ("Subscriber card"), во вкладке "Основные" ("General"), параметр "отображаемое имя" ("display name"). После изменения значения нужно нажать кнопку "Сохранить" ("Save"). - в самом "Портале абонента" пользователь может сам изменить отображаемое имя: "Карточка абонента" → "Другие настройки" → "Имя абонента".
Аутентификация с использованием LDAP (Active Directory)
Настройка через CLI
Команды CLI для работы с LDAP/AD приведены в разделе "/domain/<DOMAIN>/ldap — команды управления LDAP и AD авторизацией на уровне домена"
Для того чтобы аутентификация пользователей конкретной инсталляции портала абонента осуществлялась через LDAP (Active Directory), а не через собственную базу портала абонента, необходимо ввести в консоли cocon следующее:
В домене сделать настройки подключения к LDAP/AD-серверу:
domain/<DOMAIN>/declare <ID> <TYPE> <HOST> <PORT> <DC_OR_DOMAIN>
Параметры:
- ID — уникальный в рамках домена идентификатор сервиса (используется в других подсистемах для ссылки к настройкам LDAP/AD);
- TYPE — тип сервера (LDAP или AD); HOST — IP или хост, где располагается LDAP/AD сервер;
- PORT — порт, на котором располагается LDAP/AD сервер. В случае если значение поля равно default — будет использоваться 389(636) порт для НЕ SSL (SSL) соединения;
- DC_OR_DOMAIN — в случае, если <TYPE> = LDAP — базовый DN; если <TYPE> = AD — корневой домен active directory
Пример:
domain/biysk.local/ldap/declare maas.eltex.loc ldap ldap.maas.eltex.loc 3899 dc=eltex,dc=loc LDAP server maas.eltex.loc successfully configured
при необходимости , выполнить модификацию параметров следующей командой (для примера параметр login-attribute):
domain/biysk.local/ldap/set maas.eltex.loc login-attribute cn LDAP/AD server' maas.eltex.loc property "login-attribute" successfully updated
А так же активировать авторизацию через LDAP
domain/<DOMAIN>/subscriber-portal/properties/set ldap_authentication_enabled true
domain/<DOMAIN>/subscriber-portal/properties/set ldap_server_id maas.eltex.loc
Где
<DOMAIN> — имя виртуальной АТС;
admin@mycelium1@ecss1:/$ domain/biysk.local/subscriber-portal/properties/set ldap_authentication_enabled true Property "ldap_authentication_enabled" successfully changed from: false to true. domain/test_domain/subscriber-portal/properties/set ldap_server_id maas.eltex.loc Property "ldap_server_id" successfully changed from: to maas.eltex.loc.
Задать логин от портала абонента в настройках alias
domain/<DOMAIN>/alias/set <address range> <iface group> <name range> subscriber_portal\login <login>
Где
- <DOMAIN> — имя виртуальной АТС;
- <address range> — диапазон адресов (номеров);
- <iface group> — группа интерфейсов;
- <name range> — диапазон имен интерфейсов;
- <login> — логин от портала абонента, используемый в LDAP
admin@mycelium1@ecss1:/$ domain/biysk.local/alias/set 240464 loc.gr 240464@biysk.local subscriber_portal\login ldap_464 There are aliases within domain biysk.local affected by settings property subscriber_portal\login: 240464 <-> 062743c3d0fdfe36 Legend: a: Setup alias address i: Setup alias inteface !: Setup broken. Alias allready exists *: Setup broken. Alias not exists L: Setup broken. No free subscriber licences. x: Setup broken. Unexpected error <empty>: Successfull setup [exec at: 11.02.2020 13:17:45, exec time: 75ms, nodes: ds1@ecss1]
Настройка аутентификации с использованием LDAP с помощью web-конфигуратора
Для настройки нужно сначала в приложении Домены ("Domains") настроить подключение к LDAP.
Открыть "Домены -> выбрать домен -> Свойства домена -> LDAP сервера"
Добавить или отредактировать подключение к LDAP серверу:

Настройки:

В приложении Портал абонента ("Subscriber portal") включить LDAP/AD авторизацию:

На сервере LDAP/AD сделать учетную запись абонента. Проверить с данной учетной записью вход на портал абонента.
После выполнения настроек приложение "Портал абонента" готово для использования. См. раздел "Портал абонента".