СОРМ3 Сигналтек Визирь (архив)

Skip to end of metadata
Go to start of metadata
Эта схема больше не поддерживается, пожалуйста используйте новую: СОРМ3 Сигналтек Визирь
Выгрузка подготовлена только для операторов ШПД.

Сайт поставщика

Сигналтек АПК СОРМ Визирь-ИС

Как развернуть

  1. Скачайте архив с файлами интеграции и распакуйте в нужной директории:
    yum install -y wget 
    wget --no-check-certificate https://docs.carbonsoft.ru/download/attachments/157614082/sorm3-signaltec_20211028.tar.gz
    mkdir /app/asr_billing/cfg/sorm3-signaltec
    tar xzf sorm3-signaltec_20211028.tar.gz -C /app/asr_billing/cfg/sorm3-signaltec/
    
  2. Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала
    /app/asr_billing/cfg/sorm3-signaltec/configure.sh all
  3. Исправьте файл /app/asr_billing/cfg/sorm3-signaltec/config.ini - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так:
    [ftp]
    # Данные подключения к FTP 
    ftp_ip=10.90.1.185
    ftp_login=carbon
    ftp_pass=carbon
    

Что нужно знать о выгрузках, скриптах и тд

Примечания по архитектуре интеграции

  • По-умолчанию автоматический делаются выгрузки:
    • раз в сутки: abonents
    • раз в час: payment_short_daily
  • Если хотите изменить частоту или набор выгрузок - поправьте /app/asr_billing/cfg/sorm3-signaltec/etc-host/cron.d/sorm3-signaltec-upload и перезапустите cron
  • Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так:
    /app/asr_billing/cfg/sorm3-signaltec/upload.sh gates_short ip_numbering_plan_short switches_short

Какие выгрузки формируются

  • Данные об абонентах
    • abonents
  • Справочные данные
    • ip_numbering_plan
    • payments
    • services
    • supplement_services
    • switches
    • telcos
    • doc_types
    • gates
    • ip_data_points_long
    • pay_types

Какие не формируются и почему

  • ip_data_points - в биллинге не хранятся данные по точкам подключения трафика.
  • termination_causes - в биллинге не хранятся данные о причинах завершения соединений

Эти справочники Вы можете сформировать и загрузить на FTP вручную. Обязательно обсудите с поддержкой Сигналтек.

Как сделать выгрузку вручную

Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например:

/app/asr_billing/cfg/sorm3-signaltec/upload.sh ip_numbering_plan_short

Можете запустить без параметров, скрипт напишет краткую справку и список отчётов которые можно выполнить:

Команда
/app/asr_billing/cfg/sorm3-signaltec/upload.sh
Вывод
2021-10-06 22:42:22 скрипт запущен 

Укажите какие отчёты надо выгружать. Например:

  upload.sh abonent abonent_ident abonent_address abonent_service

Справочники и данные об абонентах, которые можно выгрузить этим скриптом:

  abonents
  ip_numbering_plan_short
  payments_short_complete
  payments_short_daily
  services
  supplement_services
  switches_short
  telcos_short
  doc_types_short
  gates_short
  ip_data_points_long
  pay_types


Ещё скрипт можно запустить с дебагом, тогда файлы будут созданы, но без выгрузки на FTP. Например:

  upload.sh abonent --debug

Получение отчётов об выгрузках и ошибках с FTP

Визирь сохраняет отчёты о выгрузках на FTP:

  • Файлы с расширением txt содержат сводный отчёт: сколько было сделано выгрузок за сутки, сколько удачных, сколько неудачных, какое количество данных в них содержалось
  • Файлы с расширением doc содержат отчёт по конкретной выгрузке, если в ней были ошибки. Если выгрузка была полностью корректной - файла ods не будет. В отчёте будут выделены красным столбцы, в которых обнаружены ошибки. В последней колонке - пояснение, какая именно ошибка была обнаружена.

Для удобства работы с отчётами добавлен скрипт error_reports.sh, он позволяет получить список файлов на FTP и скачать необходимые файлы на сервер биллинга.
Если запустить его без аргументов, Вы получите справку:


Укажите, что нужно сделать:

   list - получить список файлов с ошибками за сегодня
   list all - файлы с ошибками за всё время
   list dd.mm.yyyy - файлы с ошибками за выбранную дату ДД.ММ.ГГГГ (ДД или ДД.ММ тоже работают)
   download - скачать самый последний файл в папке с отчётами об ошибках
   download file - скачать выбранный файл


Например:

  ./error_reports.sh list
  ./error_reports.sh download abonents_2021_10_07_10_25.csv.invalid.ods

Отладка

Данные из биллинга не выгружаются, при запуске upload.sh - ошибки

Пример вывода скрипта upload.sh

# /app/asr_billing/cfg/sorm3-signaltec/upload.sh  abonents --debug
2021-10-28 18:11:24 скрипт запущен
Statement failed, SQLCODE = -413
conversion error from string "29.02.1989"
After line 1 in file /cfg/sorm3-signaltec/reports/abonents.sql
2021-10-28 18:11:24 ......запускаем скрипт постобработки выгрузки abonents.sh
cat: /app/asr_billing/var/sorm3_data/abonents.csv_raw: Нет такого файла или каталога
2021-10-28 18:11:24 ......количество строк после постобработки: 0 (в сырой выгрузке было 0)
2021-10-28 18:11:24 Выгрузка abonents.csv_raw нет сформирована, возможно произошла ошибка при получении данных из биллинга
2021-10-28 18:11:24 скрипт завершен

В чём причина

Это может случиться, если какие-то данные заведены неверно, как в примере выше: в 1989 году нет 29 февраля, и СУБД не может конвертировать неверные данные в правильный формат datetime.
Другой причиной может быть формат, в котором данные замели, если он отличается от используемого в SQL-апросах. Например, если какой-то из стандартных реквизитов поменяли. Чаще всего это паспортные данные или адреса.

Как решить

  1. Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
    Отладить SQL запросы Вы можете по статье Отладка отчетов
  2. Повторите выгрузку вручную скриптом upload.sh

Из биллинга выгружается пустой файл

Пример вывода скрипта upload.sh

# upload.sh  payments_short_daily
2021-10-28 17:49:55 скрипт запущен
2021-10-28 17:49:55 Файл /app/asr_billing/var/sorm3_data/payments_short_daily.csv_raw пуст
2021-10-28 17:49:55 скрипт завершен

В чём причина

Тут возможны несколько причин:

  1. Данных действительно нет.
    • Например, за сегодня сутки не было платежей.
    • Ещё пример: выгружаете справочник, который ещё не заполнили, допустим не успели завести коммутаторы и выгружаете справочник switches_short.
  2. Данные в справочниках есть, но их недостаточно.
    • Например, завели абонентов без паспортных данных и услуг.
    • Ещё пример - завели коммутаторы, указали количество портов, но не указали адрес коммутатора
    • Ещё пример - добавили новую платёжную систему, но не провели повторную конфигурацию ./configure.sh prepare_payment_report

Как решить

  1. Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
    Отладить SQL запросы Вы можете по статье Отладка отчетов
  2. Повторите выгрузку вручную скриптом upload.sh

Выгрузки проходят, но с ошибками, на FTP в папке "errors" есть файлы .ods, что делать?

Пример вывода скрипта error_reports.sh

# ./error_reports.sh list
cd ok, каталог=/errors
2021-10-28 00:16:40 abonents_2021_10_28_00_15_01.csv.invalid.ods

В чём причина

Причины могут быть разные: неверный формат данных, каких-то данных не хватает, обновилось ПО Сигналтек и изменились требования, и т.д.

Как решить

  1. Скачайте отчёты на компьютер и откройте в Excel или LibreOffice Calc.
  2. В каждой строке красным отмечены поля, в которых обнаружены ошибки. В последней колонке написано, что эти ошибки значат.
  3. Обычно, они достаточно говорящие, например если абоненту или платежу не завели какие-то обязательные данные.
  4. Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
    Отладить SQL запросы Вы можете по статье Отладка отчетов
  5. Повторите выгрузку вручную скриптом upload.sh
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.