Миграция из биллинга UTM 5 делается через промежуточный набор таблиц в формате DBF . Таблицы выгружаются из UTM с помощью специального скрипта на Python или Perl . Далее с помощью специального инструмента DBF-файлы загружаются в АСР «Гидра», где происходит сопоставление справочников и выполняется собственно миграция данных.
Упрощения и допущения
- Юрлица и физлица находятся в одной таблице и отличаются только специальным признаком.
- Из реквизитов юрлица выгружается только его название, остальное требует ручного ввода.
- Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, поэтому трафика включенным абонентам в момент миграции придётся накинуть как будто начался новый учётный период, но дата окончания текущего периода смигрирует, поэтому весь остаток трафика нужно будет потратить за время, оставшееся до этой даты.
- Подробности тарифов (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а перебиваются вручную и затем сопоставляются. Системы тарификации в UTM и АСР «Гидра» отличаются слишком сильно, и автоматическая миграция при небольшом числе тарифных планов приведёт к бОльшим трудозатратам, нежели полуавтоматическая. То же касается и других небольших справочников, таких как классы трафика, валюты и т.д.
Проблемы
- В UTM абонент может одновременно находиться в нескольких группах, тогда как в АСР «Гидра» — только в одной. Кроме того, в UTM с помощью групп сделаны многие настройки (разделение на физических и юридических лиц, привязка к файрволам и другому оборудованию). У нас это реализовано по-другому, нужно найти правильный подход.
- Нужно разобраться, откуда лучше брать данные для привязки абонента к DHCP-серверу и файрволам. Можно, например, смотреть прямо по группе, к которой принадлежит абонент, а можно включить в привязки.
Таблицы, выгружаемые из UTM
Звёздочкой помечены идентификаторы, по которым связываются таблицы. Выделены исключительно для наглядности. Если необходимо, то к каждой таблице можно добавить поле для комментария, в которое будут выгружаться полезные текстовые данные.
Справочник состояний абонента
Таблица STATUS
Поле |
Описание |
---|---|
ID |
ID состояния |
NAME |
Наименование состояния |
Если используется всего два состояния (включен, отключен), то смысла в справочнике нет. В таблицах, которые на него ссылаются, можно использовать просто отдельный столбец с признаком активности.
Справочник сетевых служб
Таблица NS_LIST
ID |
ID сетевой службы |
NAME |
Название сетевой службы |
Примечание: Этот справочник формируется вручную и состоит из перечня сетевых служб, для доступа к которым абоненту нужен логин и пароль: RADIUS, личный кабинет, телефония.
Справочник групп абонентов
Таблица GROUPS
ID |
ID группы* |
NAME |
Название группы |
Справочник услуг и тарифных планов
Таблица SERVICES
ID |
ID услуги (тарифного плана)* |
NAME |
Наименование услуги (ТП) |
TYPE |
Признак тарифного плана (если Y, то ТП; если N, то услуга) |
Примечание: В этот справочник выгружаются все ТП, а из услуг только те, которые не входят в ТП, например, услуга "Реальный IP-адрес"
Справочник лицевых счетов
Таблица ACCOUNTS
ID |
ID лицевого счёта* |
USER_ID |
ID абонента |
ACCT_NUM |
Номер лицевого счёта |
CUR_ID |
ID валюты* |
BALANCE |
Баланс счёта |
CREDIT |
Кредитный лимит |
Привязки абонента к сетевым службам
Таблица NETSERV
ID |
ID привязки |
USER_ID |
ID абонента |
NS_ID |
ID сетевой службы |
LOGIN |
Логин |
PASSWORD |
Пароль |
Примечание: В эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.
Участие абонентов в группах
Таблица GROUPLINK
ID |
ID записи об участии* |
USER_ID |
ID абонента* |
GROUP_ID |
ID группы* |
Подписка абонентов на услуги
Таблица SUBSCR
ID |
ID подписки* |
ACCT_ID |
ID лицевого счёта* |
TARIFF_ID |
ID услуги (тарифного плана)* |
D_END |
Дата окончания текушего учётного периода |
D_START |
Дата начала текущего учётного периода |
Оконечное оборудование абонентов
Таблица EQUIP
ID |
ID оборудования* |
ACCT_ID |
ID лицевого счёта* |
MAC |
Физический адрес (MAC) |
IP |
IP-адрес |
MASK |
Маска IP-адреса |
PHONE |
Абонентский телефонный номер в формате E.164 |
Справочник абонентов
Таблица USERS
ID |
ID абонента* |
STATUS_ID |
ID состояния абонента* |
JUR |
Физическое или юридическое лицо (0 — физлица, 1 — юрлица |
NUM |
Номер договора |
NAME |
ФИО (физлица) / Наименование (юрлица) |
ADDR |
Домашний адрес |
PASSPORT |
Номер паспорта |
W_PHONE |
Рабочий телефон |
H_PHONE |
Контактный домашний телефон |
M_PHONE |
Контактный мобильный телефон |
Контактный email |
Примечание: Список атрибутов для личных данных абонента может быть расширен по необходимости.