В данном разделе описаны настройки соединения с БД "Портала абонента", учетных записей "Портала абонента", а также подсистемы, отвечающей за автоматическое заведение абонентов в "Портале абонента".

Понятия, определения

  • Портал абонента — раздел на веб-ресурсах Оператора связи, содержащий информацию об Абоненте, подключенных им Услугах связи, а также дающий возможность дистанционного управления Услугами связи и информационного обслуживания.
  • 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>

либо

cluster/storage/<CLUSTER>/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).

Например:

admin@mycelium1@ecss1:/$ domain/biysk.local/subscriber-portal/properties/set connection 192.168.1.71 subscribers subscribers ecss_subscribers 
Property "connection" successfully changed from: 
Host: 192.168.1.71; Database: ecss_subscribers; Login: spssw; Password: spssw
   to
Host: 192.168.1.71; Database: ecss_subscribers; Login: subscribers; Password: subscribers.

[exec at: 11.02.2020 09:27:25, exec time: 153ms, nodes: megaco1@ecss1

После этого можно проверить соединение с базой MySQL:

domain/<DOMAIN>/subscriber-portal/check-connection

При успешном соединении с базой MySQL выведется соответствующее сообщение:

admin@mycelium1@ecss1:/$ domain/biysk.local/subscriber-portal/check-connection                                                               
Connection successful

[exec at: 11.02.2020 09:28:14, exec time: 10ms, nodes: ds1@ecss1

Настройка служебного пользователя для связи с Mediator

Для лучшей безопасности, рекомендовано использовать отдельного пользователя, который имеет права только на Портал абонента.

Для этого необходимо в "Управление пользователями" добавить пользователя с разрешениями ecss-subscriber-portal и ecss-<DOMAIN>-domain-subscriber-portal

Пример:

Далее требуется открыть файл /etc/ecss/ecss-web-conf/settings_local.py и изменить значения LOGIN_HTTP_TERMINAL, PASSWORD_HTTP_TERMINAL на те, которые были присвоены пользователю, предназначенного для Портала абонента.

По дефолту файл выглядит следующим образом

 Нажмите здесь для раскрытия...
4# 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-конфигуратора "Портал абонента" ("Subscriber portal") предназначено для настройки доступа к порталу абонента, синхронизации абонентов ECSS-10 c порталом абонентов.

Рисунок 1 — Интерфейс приложения "Портал абонента" ("Subscriber portal")

Для синхронизации данных абонентов ECSS-10 c порталом абонентов нажмите кнопку  "Синхронизировать алиасы с порталом абонентов" ("Sync aliases to subscriber portal").

В диалоговом окне укажите пароль, который будет задан для всех вновь созданных учетных записей абонентов, или оставьте поле пустым, тогда система автоматически сгенерирует случайные пароли.
Нажмите кнопку "ОК".
Далее в свойствах алиасов из выбранного домена появятся параметры учетной записи subscriber_portal\login subscriber_portal\password для входа в "Портал абонента".

Для установки или проверки соединения с базой данных портала абонента нажмите кнопку  "Проверить соединение" ("Check connection")

Информация будет отображена во всплывающем окне.

  • C(авто) (C(auto)) — если флаг установлен, при создании абонента в системе ECSS-10 будет автоматически создаваться учетная запись на портале абонента;
  • У(авто) (D(auto)) — если флаг установлен, при удалении абонента из системы ECSS-10 будет автоматически удаляться учетная запись с портала абонента;
  • Параметры соединения (Connection params) — параметры соединения с базой данных портала абонента:
    • Хост (Host) — имя или IP-адрес, номер порта MySQL-сервер;
    • База данных (Database) — имя базы данных. По умолчанию — ecss_subscribers;
    • Пользователь (User) — имя пользователя:пароль. По умолчанию — subscribers:subscribers.

Для создания нового профиля настроек заполните следующие поля и нажмите кнопку "Сохранить" ("Save"):

  • Домен (Domain) — имя виртуальной АТС, при выборе "*" параметры будут установлены для всех виртуальных АТС по умолчанию;
  • Создавать аккаунт автоматически (Auto create account) — если флаг установлен, при создании абонента в системе ECSS-10 будет автоматически создаваться учетная запись на портале абонента;
  • Удалять аккаунт автоматически (Auto delete account) — если флаг установлен, при удалении абонента из системы ECSS-10 будет автоматически удаляться учетная запись с портала абонента;
  • Включить LDAP/AD авторизацию (LDAP/AD authentication enabled) — при использовании LDAP/Active Directory для авторизации в портале;
  • Идентификатор LDAP/AD  сервера (LDAP/AD server id) — уникальное имя сервера в пределах домена.

Параметры соединения:

  • имя или IP-адрес MySQL-сервера (Mysql-server hostname);
  • номер порта MySQL-сервера (Mysql-server port number);
  • имя базы данных (Database name). По умолчанию — ecss_subscribers;
  • имя пользователя MySQL (Database username). По умолчанию — subscribers;
  • пароль пользователя MySQL (Database password). По умолчанию — subscribers.

Для сохранения конфигурации нажмите кнопку "Сохранить" ("Save").

Для удаления конфигурации нажмите кнопку "Удалить конфигурацию" ("Remove config").

Настройка учетных записей "Портала абонента"

Для настройки учетных записей "Портала абонента" используется интерфейс командной строки или web-конфигуратор.

Автоматическое создание/удаление пары логин/пароль для портала абонента

Для автоматического создания учетной записи (логина и пароля) "Портала абонента" в системе, при создании абонента, выполните следующую команду:

domain/<DOMAIN>/subscriber-portal/properties/set auto_create_account true

либо

cluster/storage/<CLUSTER>/subscriber-portal/properties/set <DOMAIN> auto_create_account true

Для автоматического удаления учетной записи "Портала абонента" из системы, при удалении абонента, выполните следующую команду:

domain/<DOMAIN>/subscriber-portal/properties/set auto_delete_account true

либо

cluster/storage/<CLUSTER>/subscriber-portal/properties/set <DOMAIN> 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/set <NUMBER> <GROUP_NAME> <INTERFACE> subscriber_portal/password

где

  • <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

Пример:

admin@mycelium1@ecss1:/$ 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

[exec at: 11.02.2020 13:44:44, exec time: 123ms, nodes: ds1@ecss1]

Настроить или изменить параметры:

domain/<DOMAIN>/subscriber-portal/properties/set ldap_server_id <LDAP_ID>

где:

<DOMAIN> — имя виртуальной АТС;
<LDAP_ID> — идентификатор LDAP сервера.

admin@mycelium1@ecss1:/$ domain/biysk.local/subscriber-portal/properties/set ldap_server_id maas.eltex.loc  
Property "ldap_server_id" successfully changed from: 
ldap.bsk2.loc
   to
maas.eltex.loc.

[exec at: 11.02.2020 13:14:19, exec time: 174ms, nodes: md1@ecss1]

А так же активировать авторизацию через LDAP

domain/<DOMAIN>/subscriber-portal/properties/set ldap_authentication_enabled true

Где

<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.

[exec at: 11.02.2020 13:16:17, exec time: 180ms, nodes: sip1@ecss1]

Задать логин от портала абонента в настройках 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 в качестве авторизации, выставлять свойство subscriber_portal\password не нужно.

Настройка аутентификации с использованием LDAP с помощью web-конфигуратора

Для настройки нужно сначала в приложении Домены ("Domains") настроить подключение к LDAP.

Открыть "Домены  -> выбрать  домен ->  Свойства домена ->  LDAP сервера"

Добавить или отредактировать подключение к LDAP серверу:

Настройки:

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

На сервере LDAP/AD сделать учетную запись абонента. Проверить с данной учетной записью вход на портал абонента.

После выполнения настроек приложение "Портал абонента" готово для использования. См. раздел "Портал абонента".