|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (20)
просмотр истории страницыВыгрузка подготовлена только для операторов ШПД. |
{warning}Эта схема больше не поддерживается, пожалуйста используйте новую: [CarbonBilling:СОРМ3 Сигналтек Визирь]{warning} |
|
h1. Что выгружается |
{toc:maxLevel=3} |
|
* Данные по абонентам * Платежи * Пулы IP-адресов * Коммутаторы * Типы удостоверений личности * Точки соединения с операторами связи * Маршрутизаторы * Методы платежей * Список операторов связи филлиалов |
{info}Выгрузка подготовлена только для операторов ШПД.{info} |
|
h1. Описание и настройка |
h2. Сайт поставщика |
|
h2. Описание Для интеграции с СОРМ Сигналтек нужно: * Развернуть в сети FTP * Передать реквизиты доступа поставщику * Настроить выгрузку на биллинге, * Заполнить статичные справочники - некоторые данные заполняются вручную по мере необходимости , так как не хранятся в базе. |
[Сигналтек АПК СОРМ Визирь-ИС|https://signaltec.ru/sorm/sorm3.html] |
|
Выгрузка происходит одним скриптом по крону, по-умолчанию раз в сутки, но можно настроить с любой периодичностью, задав нужным отчетам необходимые префиксы. Скрипт учитывает что после выгрузки из БД возможно данные необходимо как-то еще обработать, например в периодической выгрузке абонентов нужно отражать устаревшие записи. |
h2. Как развернуть |
|
Предположим, по согласованию с куратором из органов Вам нужно сделать выгрузку раз в час: * Сделайте sql-файл *hourly_abonents.sql* * Сделайте csv-файл с заголовками выгрузки *hedings_abonents.csv* (он может быть общим для всех типов выгрузки) * При необходимости как-то отредактировать SQL-выгрузку, создайте shell-скрипт *hourly_abonents.sh* * Добавьте в CRON +host-системы+ запись: {code}1 1 * * * root /app/asr_billing/cfg/sorm3/signaltec_upload.sh hourly &>>/app/asr_billing/var/log/sorm3_upload.log{code} {note}Обратите внимание, что префикс имени файла *hourly* передаётся скрипту выгрузки параметром{note} |
# Скачайте архив с файлами интеграции и распакуйте в нужной директории: {code} 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/ {code} # Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала {code}/app/asr_billing/cfg/sorm3-signaltec/configure.sh all{code} # Исправьте файл */app/asr_billing/cfg/sorm3-signaltec/config.ini* - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так: {code} [ftp] # Данные подключения к FTP ftp_ip=10.90.1.185 ftp_login=carbon ftp_pass=carbon {code} |
|
h2. Настройка |
h2. Что нужно знать о выгрузках, скриптах и тд |
|
h3. Подготовьте FTP-сервер # Разверните в своей сети FTP-сервер # Создайте на FTP пользователя с правами на чтение, запись, изменение и удаление файлов и папок # Создайте в корневой директории папки: #* abonents #* payments #* general # Убедитесь что выше указанные права есть на папках ОС |
h3. Примечания по архитектуре интеграции |
|
h3. Настройте выгрузку из биллинга # Скачайте архив [Сорм Сигналтек^Signaltech.tar.gz] # Распакуйте в корень системы # Отредактируйте файл */app/asr_billing/cfg/sorm3/signaltec_upload.sh*, укажите данные FTP-сервера: {code}declare FTP_IP='127.0.0.1' declare FTP_LOGIN='ftp_user' declare FTP_PWD='ftp_password'{code} #* FTP_IP - IP FTP-сервера #* FTP_LOGIN - имя пользователя FTP-сервера #* FTP_PWD - логи пользователя FTP-сервера # Перезапустите CRON: {code}/etc/init.d/crond restart{code} # Заполните статичные данные по документации поставщика: #* *static_telcos_short.csv* - список операторов связи. Указанный ID будет использоваться в дальнейшем в отчетах. #* *static_gates_short.csv* - BRAS-сервера #* *static_ip_data_points_long.csv* - точки соединения с другими операторами #* *static_doc_types_short.csv* - список используемых документов для удостоверения личности #* *static_pay_types.csv* - список платежных систем # Отредактируйте динамический выгружаемые отчеты: #* *initial_payments_short.sql*, *periodic_payments_short.sql* - актуализируйте список платежных систем # Выгрузите сделайте первоначальную выгрузку данных: {code}/app/asr_billing/cfg/sorm3/signaltec_upload.sh static /app/asr_billing/cfg/sorm3/signaltec_upload.sh initial{code} |
* По-умолчанию автоматический делаются выгрузки: ** раз в сутки: abonents ** раз в час: payment_short_daily * Если хотите изменить частоту или набор выгрузок - поправьте */app/asr_billing/cfg/sorm3-signaltec/etc-host/cron.d/sorm3-signaltec-upload* и перезапустите cron * Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так: {code}/app/asr_billing/cfg/sorm3-signaltec/upload.sh gates_short ip_numbering_plan_short switches_short{code} h3. Какие выгрузки формируются - Данные об абонентах -* abonents - Справочные данные -* ip_numbering_plan -* payments -* services -* supplement_services -* switches -* telcos -* doc_types -* gates -* ip_data_points_long -* pay_types h3. Какие не формируются и почему * ip_data_points - в биллинге не хранятся данные по точкам подключения трафика. * termination_causes - в биллинге не хранятся данные о причинах завершения соединений Эти справочники Вы можете сформировать и загрузить на FTP вручную. Обязательно обсудите с поддержкой Сигналтек. h3. Как сделать выгрузку вручную Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например: {code}/app/asr_billing/cfg/sorm3-signaltec/upload.sh ip_numbering_plan_short{code} Можете запустить без параметров, скрипт напишет краткую справку и список отчётов которые можно выполнить: {code:title=Команда}/app/asr_billing/cfg/sorm3-signaltec/upload.sh{code} {code:title=Вывод} 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 {code} h3. Получение отчётов об выгрузках и ошибках с FTP Визирь сохраняет отчёты о выгрузках на FTP: * Файлы с расширением *txt* содержат сводный отчёт: сколько было сделано выгрузок за сутки, сколько удачных, сколько неудачных, какое количество данных в них содержалось * Файлы с расширением *doc* содержат отчёт по конкретной выгрузке, *если в ней были ошибки*. Если выгрузка была полностью корректной - файла ods не будет. В отчёте будут выделены красным столбцы, в которых обнаружены ошибки. В последней колонке - пояснение, какая именно ошибка была обнаружена. Для удобства работы с отчётами добавлен скрипт *error_reports.sh*, он позволяет получить список файлов на FTP и скачать необходимые файлы на сервер биллинга. Если запустить его без аргументов, Вы получите справку: {code} Укажите, что нужно сделать: 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 {code} h2. Отладка h3. Данные из биллинга не выгружаются, при запуске upload.sh - ошибки Пример вывода скрипта upload.sh {code}# /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 скрипт завершен{code} h4. В чём причина Это может случиться, если какие-то данные заведены неверно, как в примере выше: в 1989 году нет 29 февраля, и СУБД не может конвертировать неверные данные в правильный формат datetime. Другой причиной может быть формат, в котором данные замели, если он отличается от используемого в SQL-апросах. Например, если какой-то из стандартных [реквизитов|CarbonBilling:Реквизиты] поменяли. Чаще всего это паспортные данные или адреса. h4. Как решить # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh* h3. Из биллинга выгружается пустой файл Пример вывода скрипта upload.sh {code}# 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 скрипт завершен{code} h4. В чём причина Тут возможны несколько причин: # Данных действительно нет. #* Например, за сегодня сутки не было платежей. #* Ещё пример: выгружаете справочник, который ещё не заполнили, допустим не успели завести [коммутаторы|CarbonBilling:Взаимодействие с коммутаторами] и выгружаете справочник *switches_short*. # Данные в справочниках есть, но их недостаточно. #* Например, завели абонентов без паспортных данных и услуг. #* Ещё пример - завели коммутаторы, указали количество портов, но не указали адрес коммутатора #* Ещё пример - добавили новую платёжную систему, но не провели повторную конфигурацию ./configure.sh prepare_payment_report h4. Как решить # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh* h3. Выгрузки проходят, но с ошибками, на FTP в папке "errors" есть файлы .ods, что делать? Пример вывода скрипта error_reports.sh {code}# ./error_reports.sh list cd ok, каталог=/errors 2021-10-28 00:16:40 abonents_2021_10_28_00_15_01.csv.invalid.ods{code} h4. В чём причина Причины могут быть разные: неверный формат данных, каких-то данных не хватает, обновилось ПО Сигналтек и изменились требования, и т.д. h4. Как решить # Скачайте отчёты на компьютер и откройте в Excel или LibreOffice Calc. # В каждой строке красным отмечены поля, в которых обнаружены ошибки. В последней колонке написано, что эти ошибки значат. # Обычно, они достаточно говорящие, например если абоненту или платежу не завели какие-то обязательные данные. # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh* |