РосСвязь на своем сайте предоставляет реестр российских номеров с привязкой к регионам, оператора, за которыми закреплены данные номера. Данная база периодически обновляется, при перераспределении номеров. В рамках релиза 3.14 была сделана возможность на уровне маршрутизации / модификации номеров вызова воспользоваться данной базой. Имеется возможность изменять отображаемое имя абонента А, Б на основе информации из данной базы. Маршрутизировать вызовы на основе оператора/региона / города абонента А, Б.

Для того, чтобы воспользоваться данным функционалом, необходимо настроить локальный кеш данной базы локально на каждом из хостов ECSS-10, на котором запущена нода DS.

Настройка кеша российского плана нумерации

Для обновления кеша российского плана нумерации был создан systemd-сервис ecss-rf-numbering-plan.service. При запуске сервис скачивает из internet российский план нумерации, разбирает его и записывает во внутреннюю базу номеров. Кодировка текста - UTF-8. После чего сервис останавливается, и сам не запускается. Для того, чтобы сервис автоматически обновлял кеш, есть таймер ecss-rf-numbering-plan.timer. По умолчанию он выключен, но его можно настроить обновлять кеш (например раз в неделю/месяц).

Конфигурация сервиса ecss-rf-numbering-plan.service

Конфигурация сервиса ecss-rf-numbering-plan.service располагается по пути /etc/ecss/ecss-rf-numbering-plan.conf

# Каталог, содержащий планы нумерации
# Path to directory, that contains files with numbering scheme
#PATH_SCHEMES=

# URL-адрес для автоматической загрузки планов нумерации
# URL for downloading numbering schemes
URL_NUMBERING_SCHEME="https://rossvyaz.ru/data"

# Список планов нумерации, требуется только при загрузке
# Names of numbering schemes, used for downloading
#NAMES_NUMBERING_SCHEME=
NAMES_NUMBERING_SCHEME=ABC-3xx.csv,ABC-4xx.csv,ABC-8xx.csv,DEF-9xx.csv

# Путь для записи базы данных
# Path to write database
SQL_DB=/var/lib/ecss/routing/rf-numbering-plan.db

# Путь для записи логов, если не задан логи пишутся только в stdout
# Path to write logs, if not set, then logs write only in stdout.
LOGS=/var/log/ecss/rf-numbering-plan.log

Запуск сервиса по таймеру

Для запуска через таймер также необходимо отредактировать ecss-rf-numbering-plan.timer (/lib/systemd/system/ecss-rf-numbering-plan.timer). В нём необходимо настроить время и период запуска сервиса. По умолчанию для таймера установлено следующее значение: первого числа каждого месяца в 00:00.

Единовременный запуск сервиса из консоли

ecss-rf-numbering-plan [<SQL_DB>] [--scheme <PATH_SCHEMES>]

Если SQL_DB не указан в конфигурационном файле, то его необходимо передать при запуске.

Особенности при парсинге номеров

При обработке используются следующие правила:

Также есть список, по которому обрабатываются какие-либо нестандартные значения:

Если после обработки будут обнаружены невалидные значения:

то появятся соответствующие сообщения.