![]() | Эта схема больше не поддерживается, пожалуйста используйте новую: СОРМ3 Сигналтек Визирь |
![]() | Выгрузка подготовлена только для операторов ШПД. |
Сайт поставщика
Как развернуть
- Скачайте архив с файлами интеграции и распакуйте в нужной директории:
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/
- Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала
/app/asr_billing/cfg/sorm3-signaltec/configure.sh all
- Исправьте файл /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-апросах. Например, если какой-то из стандартных реквизитов поменяли. Чаще всего это паспортные данные или адреса.
Как решить
- Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
Отладить SQL запросы Вы можете по статье Отладка отчетов - Повторите выгрузку вручную скриптом 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 скрипт завершен
В чём причина
Тут возможны несколько причин:
- Данных действительно нет.
- Например, за сегодня сутки не было платежей.
- Ещё пример: выгружаете справочник, который ещё не заполнили, допустим не успели завести коммутаторы и выгружаете справочник switches_short.
- Данные в справочниках есть, но их недостаточно.
- Например, завели абонентов без паспортных данных и услуг.
- Ещё пример - завели коммутаторы, указали количество портов, но не указали адрес коммутатора
- Ещё пример - добавили новую платёжную систему, но не провели повторную конфигурацию ./configure.sh prepare_payment_report
Как решить
- Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
Отладить SQL запросы Вы можете по статье Отладка отчетов - Повторите выгрузку вручную скриптом 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
В чём причина
Причины могут быть разные: неверный формат данных, каких-то данных не хватает, обновилось ПО Сигналтек и изменились требования, и т.д.
Как решить
- Скачайте отчёты на компьютер и откройте в Excel или LibreOffice Calc.
- В каждой строке красным отмечены поля, в которых обнаружены ошибки. В последней колонке написано, что эти ошибки значат.
- Обычно, они достаточно говорящие, например если абоненту или платежу не завели какие-то обязательные данные.
- Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные).
Отладить SQL запросы Вы можете по статье Отладка отчетов - Повторите выгрузку вручную скриптом upload.sh