Лицензионное соглашение

Настоящее лицензионное соглашение (далее «соглашение») является юридическим соглашением, заключаемым между Вами (физическим или юридическим лицом, далее «пользователь») и ООО «НетАП» (далее «компания NetUP»), относительно программного продукта компании NetUP «Автоматизированная система расчётов «NetUP 5+», включающего в себя программное обеспечение, любые печатные материалы и любую «встроенную» или «электронную» документацию (далее «продукт»).

  1. Объем лицензии

    1. Единичный комплект продукта может быть использован для установки только на одном компьютере.

    2. Продукт считается используемым, если он загружен в оперативную память или записан на жёстком диске, компакт-диске или ином запоминающем устройстве определённого компьютера.

    3. Пользователь имеет право на создание архивной копии, предназначенной исключительно для индивидуального использования в целях восстановления продукта, либо на перенесение продукта на жёсткий диск при условии, что оригинальный экземпляр сохраняется исключительно в качестве резервного или архивного.

  2. Права пользователя и услуги, обеспеченные гарантийными обязательствами, предоставляются только зарегистрированным пользователям.

  3. Настоящая лицензия относится также к дополнениям и обновлениям исходного продукта, предоставляемым компанией NetUP, если иное не указано в документах, сопровождающих дополнение или обновление.

  4. Продукт разрешается переносить на другую рабочую станцию. Пользователь не имеет права передавать продукт другому лицу, в том числе предоставлять продукт в прокат, в аренду или во временное пользование.

  5. Запрещается любыми способами распространять файлы дистрибутива системы, её частей или лицензионных ключей.

  6. Запрещается вскрывать технологию или декомпилировать продукт, за исключением тех случаев и только в той степени, когда это явно разрешено действующим законодательством, несмотря на наличие в лицензионном соглашении данного ограничения.

  7. При несоблюдении пользователем положений и условий настоящего соглашения компания вправе прекратить его действие без возврата полученных денежных средств. В этом случае пользователь обязан уничтожить все имеющиеся у него копии продукта и его составных частей. Нарушение норм об охране авторских прав может также повлечь за собой гражданско-правовую, административную и уголовную ответственность в соответствии с законодательством РФ и международными соглашениями.

  8. Приобретая данное программное обеспечение, пользователь соглашается с тем, что компания вправе хранить и использовать по своему усмотрению технические сведения, сообщаемые пользователем службе технической поддержки компании.

  9. В наибольшей степени, допускаемой применимым законодательством, ни при каких обстоятельствах компания NetUP и её поставщики не несут ответственности за какой-либо особый, случайный, косвенный или опосредованный ущерб или убытки (включая, но не ограничиваясь только перечисленным, упущенную выгоду; утрату конфиденциальной или иной информации; убытки, вызванные перерывами в коммерческой или производственной деятельности; нанесение ущерба здоровью; нарушение неприкосновенности частной жизни; неисполнение любого обязательства, включая обязательство действовать добросовестно и с разумной осмотрительностью; убытки, вызванные небрежностью; любой иной ущерб и прочие убытки имущественного или иного характера), возникающие в связи с использованием или невозможностью использования продукта, оказанием или неоказанием услуг по поддержке или в иных случаях, предусмотренных или связанных с положениями данного лицензионного соглашения, даже в случае нарушения обязательства, возникновения гражданского правонарушения (включая небрежность), объективной (независящей от вины) ответственности за какой-либо ущерб, нарушения компанией NetUP или её поставщиками договорных или гарантийных обязательств, даже если компания или её поставщики были заранее извещены о возможности такого ущерба. Компания NetUP и её поставщики не несут ответственности и не имеют никаких обязательств в случае несанкционированного использования продукта, не предусмотренного настоящим соглашением.

  10. Настоящее соглашение вступает в силу с момента установки продукта.

  11. Все права собственности, авторские права на продукт и в отношении него принадлежат компании NetUP или её поставщикам. Данный продукт предоставляется в пользование («лицензируется»), а не продаётся.

  12. Внедрение и техническая поддержка продукта осуществляются компанией на основании отдельно заключаемого договора с пользователем.

  13. Срок действия лицензии устанавливается равным сроку полезного использования продукта согласно ТУ и составляет 9 лет с момента генерации ключа.

Сертификация

Федеральное агентство связи (РОССВЯЗЬ) зарегистрировало сертификат на биллинговую систему NetUP 5+. Это подтверждает, что автоматизированная система расчетов NetUP 5+ соответствует всем современным требованиям и может применяться в сетях связи общего пользования ёмкостью до 250 тысяч абонентов.

Сертификат соответствия № ОС-4-СТ-0748 на АСР "NetUP UTM 5", версия ПО 5.5 (16.09.2021 - 16.09.2024)

Нажмите, чтобы посмотреть сертификат
images\ОС 4 СТ 0748 1

NetUP 5+ официально включено в Единый реестр российских программ для электронных вычислительных машин и баз данных: Запись №4116 от 11.12.2017, с изменениями от 29.04.2021

Коротко о биллинге

Назначение системы

NetUP 5+ – биллинг – автоматизированная система расчётов, предназначенная для ведения учёта и тарификации услуг провайдера. Система позволяет вести справочники абонентов, тарифов и услуг, производить учёт интернет-трафика и формировать отчёты.

billing_structure

Подробная структура биллинга описана в соответствующем разделе и доступна для пользователей, которые отвечают за администрирование системы.

Базовые объекты

Базовые объекты могут оказывать на логику работы системы непосредственное или опосредованное влияние.

Классы пользователей

В биллинге пользователи делятся на следующие классы:

Системные пользователи

Имеют доступ к администрированию биллинговой системы. Обычный пользователь не может одновременно являться системным, и наоборот.

Дилеры

Могут выполнять отдельные функции администратора по отношению к пользователям, с которыми связаны. Например, назначать услуги и вносить платежи.

Пользователи

Клиенты, абоненты, потребители услуг, оплату которых контролирует биллинговая система NetUP 5+. В биллинге можно создавать группы и объединять в них пользователей.

Карточные пользователи

Разновидность пользователей со специальными свойствами. Такие пользователи создаются в биллинге автоматически в результате активации предоплаченной карты.

Лицевой счёт

У каждого пользователя в системе может быть один или несколько лицевых счетов.

Лицевой счёт – это объект системы, содержащий информацию о финансовом состоянии пользователя. Все услуги, которые предоставляются пользователю, как отдельные, так и в составе тарифного плана, привязываются к его лицевому счёту посредством сервисных и тарифных связок.

Абоненту доступна возможность перемещать средства между своими лицевыми счетами из личного кабинета. Для активации данной функции необходимо зайти в Настройки, далее Личный кабинет - Движение средств. Здесь необходимо активировать функцию для нужной вам группы абонентов. Теперь кнопка "Перевести средства" будет появляться в личном кабинете абонентов при условии, что есть более чем один привязанный лицевой счёт.

Лицевой счёт может быть заблокирован, что приводит к приостановке предоставления связанных с ним услуг. В NetUP 5++ предусмотрено три типа блокировок:

  1. Административная – активируется администратором, если необходимо заблокировать лицевой счёт пользователя вручную.

  2. Пользовательская – активируется пользователем в Личном кабинете, например, если пользователь не планирует в течение некоторого времени пользоваться доступом в Интернет и не желает, чтобы абонентская плата за этот период списывалась в полном объёме.

  3. Системная – вступает в силу автоматически, когда сумма баланса и кредита лицевого счёта становится отрицательной или когда на лицевом счёте недостаточно средств для списания периодической составляющей стоимости услуг, а также при превышении квоты.

В настройках Политики списания можно установить дополнительные параметры для каждого типа блокировки. Например, пересчитывать абонентскую плату при активации блокировки.

В случае блокировки лицевого счёта пользователя параметр Интернет автоматически меняет своё значение на Выключен, но после снятия блокировки меняет значение на Включён, только если выбрана опция Автоматически включать.
Если опция не выбрана и Вы сняли блокировку вручную, тогда перейдите на вкладку Состояние и также вручную установите Интернет ⇒ Включён, или подключите опцию Автоматически включать до снятия блокировки.

billing_structure

Услуги

Услуга – это объект системы, определяющий правила тарификации.

Для подключения услуг к лицевому счёту пользователя используются сервисные связки. Сервисные связки можно создавать по одной или группами в составе тарифного плана.

В биллинге услуги подразделяются на два вида и восемь типов.

Виды услуг:

Обычная услуга создаётся без участия шаблонов и не входит в состав тарифного плана, а также может быть подключена неограниченное количество раз. Например, разовая услуга “Выезд настройщика”.

Услуга, входящая в состав тарифного плана

создаётся на основании шаблона и может использоваться только в составе тарифного плана. Данный вид услуги отличается от обычной наличием следующих опций:

  • Подключать услугу по умолчанию – автоматически подключать услугу при создании тарифной связк.

  • Разрешить множественное подключение – разрешить подключать данную услугу более одного раза.

В процессе добавления услуги в тарифный план, параметры услуги можно менять. Любые изменения настроек применяются только к добавляемой услуге и не затрагивают сам шаблон.

Типы услуг:

Разовая услуга

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

Периодическая услуга

предназначена для периодических списаний с лицевого счёта абонента.
Списания могут происходить в начале расчётного периода, в конце расчётного периода, или частями в течение всего периода.
Стоимость, списываемая в начальном расчётном периоде, может быть пересчитана в зависимости от параметров, указанных при создании сервисной связки, а списываемая в текущем расчётном периоде – в зависимости от параметров лицевого счета или параметров блокировки, установленной на нём.

Услуга передачи
IP-трафика

предназначена для тарификации трафика.
Стоимость может зависеть от времени и от количества потреблённого трафика. Определённое количество трафика может пропускаться бесплатно (так называемый предоплаченный трафик). Также могут быть заданы квоты, по достижении которых пользователь будет заблокирован.

Услуга hotspot

предназначена для организации беспроводного доступа по Wi-Fi с тарификацией по времени и авторизацией пользователей по протоколу RADIUS или через стандартный веб-интерфейс системы.
Есть возможность устанавливать разную стоимость соединения для разных временных диапазонов.

Услуга dial-up

предназначена для организации коммутируемого доступа с тарификацией по времени.
Есть возможность устанавливать разную стоимость соединения для разных временных диапазонов.

Услуга телефонии

предназначена для тарификации телефонных звонков.
Стоимость звонка может зависеть от направления и от времени, а также может включать фиксированную плату за соединение.
Есть возможность предоставить абоненту некоторое количество предоплаченного времени.
Вызывающий или вызываемый телефонный номер должен быть зарегистрирован в свойствах сервисной связки услуги телефонии, иначе тарификация звонков невозможна.

Услуга IPTV

предназначена для предоставления и тарификации услуг IP-телевидения.
Есть возможность предоставлять и приостанавливать доступ к определённому IPTV-контенту в зависимости от состояния лицевого счета, а также производить списания аналогично периодической услуге.

Услуга видео по запросу

предназначена для предоставления и тарификации услуг видео по запросу (VoD). Позволяет на время предоставлять доступ к определённому контенту при приобретении его пользователем.

Услуга заморозки средств

предназначена для временной заморозки определённой суммы на каком-либо лицевом счёте абонента. Настройка позволяет выбрать, какое действие производить по истечении времени заморозки: списать средства, вернуть, оставить замороженными.

Цены услуг указываются без учёта налогов.
Ставки налога на добавленную стоимость и налога с продаж необходимо указывать в свойствах лицевого счёта пользователя, чтобы они учитывались при списании средств.
Для услуг всех типов, кроме Разовых услуг, существуют параметры даты начала и даты окончания действия услуги. Дата начала действия услуги – срок начала предоставления услуги и списаний за неё. Дата окончания действия услуги – срок завершения предоставления услуги и списаний за неё. При наступлении даты окончания действия услуги сама услуга будет удалена, если на неё не ссылается ни одна сервисная связка.
В биллинге существуют параметры периодической составляющей стоимости для таких типов услуг, как услуга передачи IP-трафика, услуга коммутируемого доступа, услуга hotspot, услуга телефонии и услуга IPTV. Списания со счетов пользователей по данной составляющей производятся аналогично списаниям по периодической услуге, но в отчётах они отображаются как списания за услуги соответствующих типов.

Шаблоны услуг используются при создании услуг, входящих в состав тарифных планов, и при автоматической смене тарифных планов в момент закрытия расчётного периода. Шаблон не является услугой, а играет роль родителя для услуг тарифного плана.
Вы можете заранее создать по одному шаблону для каждого логического типа услуг, например, шаблон услуг для абонентской платы, шаблон услуг для оплаты использования реального IP-адреса, и в свойствах шаблона задать часто используемые параметры для данного типа услуг. Эти параметры будут использоваться по умолчанию при создании услуги, входящей в состав тарифного плана.

Классы трафика

Класс трафика – это маркер, который определяет, к какой категории трафик относится. Классификация трафика необходима для его последующей тарификации.

Трафик проверяется на принадлежность классам в порядке убывания ID. Если трафик не принадлежит ни к одному классу, он попадает в класс с ID=0 (неклассифицированный).

Трафик принадлежит классу в следующих случаях:

  • трафик принадлежит хотя бы одному из подклассов данного класса;

  • трафик не принадлежит ни одному из подклассов данного класса с установленной опцией "Пропустить";

  • время поступления информации о трафике входит в указанный для класса трафика временной диапазон, если он установлен.

Подкласс трафика – это набор признаков, по которым определяется принадлежность к данному классу трафика. Отнесение трафика к подклассу происходит на основании набора признаков, присутствующих в информации о трафике. В качестве признаков могут быть использованы данные, содержащиеся в NetFlow-пакетах (адрес и порт источника и адресата), а также адрес поставщика NetFlow (IP-маршрутизатора).

Трафик принадлежит подклассу в следующих случаях:

  • адрес отправителя и адрес получателя принадлежат сети отправителя и получателя, указанных в параметрах подкласса;

  • остальные параметры NetFlow-записи совпадают с параметрами, указанными в свойствах подкласса;

  • IP-адрес поставщика NetFlow совпадает с IP-адресом, указанным в свойствах подкласса, либо в свойствах подкласса не задан адрес поставщика.

Расчётные периоды и временные диапазоны

Расчётный период – это промежуток времени, в течение которого производятся периодические действия, определённые бизнес-логикой системы, например, удержание средств с лицевых счетов пользователей за периодические услуги и услуги с периодической составляющей стоимости.

Расчётные периоды используются для проведения расчётов с абонентами за одно и то же время, например, с первого по первое число каждого месяца.

При закрытии расчётного периода выполняются следующие действия:

  • досписание абонентской платы с учётом блокировок;

  • перенос неистраченного предоплаченного трафика на следующий расчётный период;

  • выставление счетов;

  • автоматическая смена тарифного плана;

  • обнуление баланса лицевых счетов у тех пользователей, которым назначена такая опция;

  • если подключён модуль динамического шейпирования, то происходит отправка событий Снятие ограничений для IP-адресов из сервисных связок услуг с dynashape и выполнение соответствующих правил firewall;

  • автоматическое создание нового расчётного периода.

Время начала следующего периода равно времени окончания предыдущего. Время окончания устанавливается автоматически в зависимости от типа периода. Тип периода (т. е. его длительность), а также количество списаний в неделю остаются неизменными. Все сервисные и/или тарифные связки, ссылавшиеся на предыдущий расчётный период, привязываются к новому периоду.

Временной диапазон – это период или объединение периодов времени. Временные диапазоны используются для услуг, которые доступны только в определённые периоды времени, или услуг, стоимость которых зависит от времени.

Схема коэффициентов

Схема коэффициентов – это последовательность применения коэффициентов к периодической составляющей стоимости услуги. Схема позволяет менять стоимость услуги по установленному расписанию.
Например, стоимость услуги в первый месяц составляет 50%, со второго по шестой месяц – 100%, седьмой месяц – 75%, а далее всё время 100%. В таком случае, в схему нужно включить два коэффициента: коэффициент для первого месяца со значением 0.50 и коэффициент для седьмого месяца со значением 0.75. В те периоды, когда коэффициенты из схемы не действуют, стоимость услуги составляет 100%.

Подключить схему коэффициентов к услуге можно во время создания или редактирования услуги.

Если на услугу ссылается хотя бы одна сервисная связка, то к услуге нельзя подключить другую схему коэффициентов.

В схему коэффициентов можно вносить изменения: добавлять и удалять коэффициенты, изменять их период действия и значения. Изменённая схема коэффициентов будет использоваться для новых сервисных связок и не повлияет на сервисные связки, созданные ранее.

Валюты

Валюта – денежная единица биллинга.
Биллинг оперирует внутренними условными единицами. Валюты используются только при внесении платежей и при выставлении счетов. При внесении платежей валюты конвертируются во внутренние условные единицы биллинга для определения суммы средств, поступающих на лицевой счёт. При выставлении счетов внутренние условные единицы системы конвертируются в валюты для определения стоимости позиций в счёте, налогов и суммы счёта.

C каждой валютой связаны: курс, процент (искусственная поправка к курсу) и история изменения курса за всё время работы биллинга. История используется для определения курса при финансовых операциях, проводимых задним числом. Имеется возможность онлайн-обновления курса.

За каждым пользователем (абонентом) закреплена валюта, в которой будут происходить операции взаиморасчётов. По умолчанию закреплённая валюта пользователя определяется значением системного параметра ISO-код системной валюты. NetUP 5+ позволяет в любой момент времени сменить закреплённую за пользователем валюту на любую другую, зарегистрированную в биллинге. В результате смены валюты все счета на оплату услуг будут отображаться в новой валюте, независимо от того, когда они были сгенерированы системой, до или после момента смены валюты.

Тарифные планы

Тарифный план – это пакет услуг. Подключая тарифный план пользователю, Вы можете подключить весь пакет целиком или исключить некоторые услуги, а также скорректировать некоторые настройки услуг.

Тарифный план подключается к лицевому счёту пользователя с помощью тарифной связки, а услуги из тарифного плана подключаются с помощью сервисных связок. При подключении тарифного плана необходимо выбрать расчётный период, по окончании которого план может быть продлён на следующий период или заменён другим совместимым тарифным планом.

Тарифные планы совместимы, если включённые в них услуги имеют взаимно однозначное соответствие. Это означает, что в новом тарифе есть только одна услуга соответствующая услуге из предыдущего тарифа. В таком случае, биллинг может поменять тарифный план, сохранив при этом полезную информацию из сервисных связок (например, IP-адреса в услуге передачи IP-трафика) без вмешательства оператора.

Чтобы добиться соответствия тарифных планов, включайте в них услуги, созданные с помощью одних и тех же шаблонов услуг. Параметры услуг, создаваемых на основе шаблонов, можно редактировать во время добавления услуги в тарифный план. Любые изменения настроек применяются только к добавляемой услуги и не затрагивают шаблон.

Например, пользователю подключён тарифный план №1, с включённой в него услугой А, и с началом следующего учётного периода ожидается переход на тарифный план №2, в состав которого входит услуга Б. Для того, чтобы произошёл корректный перенос всех параметров подключённой услуги А, необходимо, чтобы обе услуги, А и Б, происходили от общего шаблона.

Несовместимые тарифные планы также можно переключать, но услуги, которых нет в тарифном плане следующего учётного периода, будут удалены.

Политики списания

Политика списания – это набор правил, которые применяются при списании средств со счёта пользователя в тех случаях, когда по какой-то причине пользователь не смог получить услуги в полном объёме.
Например, Вы подключили пользователю услугу не в начале расчётного периода, соответственно, услуга будет оказываться только в течение оставшейся части, или пользователь добровольно ушёл в блокировку, потому что не планирует пользоваться услугами какое-то время.
В подобных ситуациях политика списания даёт возможность пересчитать стоимость услуг и списать меньшее количество средств, либо вернуть часть средств, если списание уже произошло. Пересчёт средств происходит пропорционально части расчётного периода, в течение которой услуга оказывалась или будет оказываться по факту.

Сумма средств, списываемых со счёта за оказание услуги, определяется не только стоимостью, указанной при создании услуги, но и свойствами сервисной связки.

Помимо пересчёта стоимости, политика списания позволяет пересчитывать объём оказываемых услуг. Например, для услуги предоставления доступа в интернет, есть возможность, помимо абонентской платы, также пересчитать объём предоплаченного трафика, а для услуги телефонии – продолжительность предоплаченных звонков.

Пересчёт периодической составляющей стоимости услуги и возврат средств подчиняется следующим правилам:

Recalc_periodic

Дата и время начала действия сервисной связки могут не совпадать с текущими датой и временем, а быть установлены в прошлом или в будущем. В том случае, если эти дата и время установлены в прошлом, для пересчёта используются текущие дата и время.
Т.е. пересчитанная стоимость = (стоимость всего расчётного периода) × l1/L, если дата и время начала действия сервисной связки установлены в будущем.
И пересчитанная стоимость = (стоимость всего расчётного периода) × l2/L, если дата и время начала действия сервисной связки установлены в прошлом, либо совпадают с текущими датой и временем.

По такой же логике может быть пересчитан объем предоплаченного трафика и продолжительность предоплаченных звонков.

Кроме того, в настройках политики списания можно указать момент, когда необходимо производить возврат средств:

  • при снятии блокировки;

  • при внесении платежа;

  • в конце расчётного периода;

  • при удалении сервисной связки.

Необходимость вернуть средства пользователю может возникнуть, например, если пользовательская блокировка была включена в тот момент, когда расчётный период ещё не закончился, а средства за оказание услуг в течение этого расчётного периода уже были списаны в полном объёме.

В NetUP 5+ предусмотрено три типа блокировок:

  1. Административная – активируется администратором, если необходимо заблокировать лицевой счёт пользователя вручную.

  2. Пользовательская – активируется пользователем в Личном кабинете, например, если пользователь не планирует в течение некоторого времени пользоваться доступом в Интернет и не желает, чтобы абонентская плата за этот период списывалась в полном объёме.

  3. Системная – вступает в силу автоматически, когда сумма баланса и кредита лицевого счёта становится отрицательной или когда на лицевом счёте недостаточно средств для списания периодической составляющей стоимости услуг, а также при превышении квоты.

Для каждого вида блокировки политика списания даёт возможность настроить следующие параметры:

  • не списывать абонентскую плату, когда счёт находится в блокировке;

  • пересчитывать абонентскую плату при блокировке счёта;

  • пересчитывать предоплаченный трафик при блокировке счёта;

  • пересчитывать предоплаченные звонки при блокировке счёта.

При всех операциях пересчёта абонентская плата, объём предоплаченного трафика и продолжительность предоплаченных звонков уменьшаются пропорционально времени, проведённому в блокировке в данном расчётном периоде. Т. е. в случае блокировки счёта в одном расчётном периоде и её снятия в другом, пересчёт произойдёт 2 раза.

Списание периодической составляющей стоимости для нескольких услуг происходит в произвольном порядке. Если после очередного списания лицевой счёт блокируется системной блокировкой, то списания по оставшимся услугам происходят согласно настройкам политик списания при системной блокировке.

Периодическая составляющая стоимости услуги может быть скорректирована в свойствах сервисной связки.

Платежи

В биллинге предусмотрены несколько способов ввода платежей:

  • автоматический перевод платежей на лицевой счёт абонента при оплате абонентом услуг через электронные платёжные системы;

  • автоматический перевод платежей на лицевой счёт абонента из стороннего программного обеспечения с помощью утилиты utm5_payment_tool;

  • ручной ввод платежа администратором через форму "Внести платёж" в интерфейсе NetUP 5+.

Для разделения платежей по типам в биллинге используются методы платежей.
Методы объединены в соответствующий справочник и по умолчанию в него включены: оплата наличными, банковский перевод, оплата через карту, кредит. Вы можете добавить в справочник дополнительные методы.

Оплата наличными

для платежей, поступающих через утилиту utm5_payment_tool
для платежей, которые вносятся вручную через интерфейс NetUP 5+

Банковский перевод

для платежей, поступающих через электронные платёжные системы

Кредит

для Обещанных платежей, которые пользователи оформляют самостоятельно в личном кабинете

Обещанные платежи доступны пользователям, если в биллинге настроены свойства обещанных платежей.

Суммы платежей типа Кредит отображаются в отдельной колонке на странице лицевого счёта пользователя. Для таких платежей обязательным параметром является дата истечения платежа, при наступлении которой платёж аннулируется (сгорает).

Сумма кредита не добавляется к общему балансу пользователя, но позволяет не блокировать его лицевой счёт до наступления даты истечения платежа, при условии, что кредит и баланс пользователя в сумме дают положительный баланс.

Например, есть пользователь с отрицательным балансом -100 рублей. Администратор выдал этому пользователю кредит в сумме 200 рублей сроком на 3 дня. В таком случае, у пользователя есть 3 дня, чтобы пополнить свой баланс, в течении которых он не попадёт в блокировку, а сможет пользоваться всеми уже оплаченными услугами и даже подключить какие-то новые услуги на сумму 100 рублей. Если сумма услуг превысит 100 рублей, лицевой счёт пользователя будет заблокирован, пока его баланс не станет положительным или пока ему не предоставят новый кредит. Если пользователь в течении кредитного периода подключает услуги, то стоимость услуг списывается с баланса. Таким образом, пользователь в итоге оплатит сумму за все услуги, но не сумму кредита.

Администратор NetUP 5+ может вручную изменить баланс кредитного счёта при редактировании лицевого счёта пользователя, но не может изменить дату истечения выданного кредита.

В том числе в биллинге возможны платежи, которые предполагают временное пополнение баланса лицевого счёта пользователя – сгорающие платежи. Для них также обязательна дата истечения платежа, но могут использоваться все методы, кроме Кредит.

Сгорающие платежи суммируются с балансом пользователя и отображаются на лицевом счёте до наступления даты истечения платежа. Если сумма списаний за установленный период окажется меньше суммы сгорающего платежа, то при наступлении даты истечения неистраченный остаток платежа всё равно будет списан со счёта клиента.
Если до времени истечения поступят другие сгорающие платежи, то сгорание всех откладывается до самой поздней даты истечения.

Для отслеживания сгорающих платежей в интерфейсе биллинга предусмотрен отдельный отчёт.

В системе NetUP 5+ реализована функция отката платежа. Операция отката платежа может быть выполнена администратором NetUP 5+ через контекстное меню в отчёте по платежам.

Формально откат происходит через внесение платежа с противоположной суммой и со специальным методом платежа – Откат.

Процедура отката неприменима к сгорающим и кредитным платежам.

Карты оплаты

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

Если карта активирована для входа в систему, в биллинге будет создан карточный пользователь с балансом, равным балансу карты. Этот пользователь получит логин вида card_NUM, где вместо card указывается префикс логина карточных пользователей, а вместо NUM – номер карты.

Если к карте оплаты привязан тарифный план, тогда к основному лицевому счёту пользователя подключатся услуги из этого тарифного плана. Если задан срок действия карты, то её баланс поступает на счёт пользователя в виде сгорающего платежа с данным сроком действия.

Если карту активирует существующий пользователь, то баланс карты будет добавлен к балансу этого пользователя, а связанный с картой тарифный план будет проигнорирован.

Документы

В биллинге можно формировать следующие типы документов:

  • памятки пользователя;

  • договоры;

  • квитанции об оплате;

  • счета;

  • счета-фактуры;

  • акты выполненных работ;

  • детализации счетов.

Документы генерируются автоматически на основе шаблонов.

Сформированные документы, кроме договоров, в системе не хранятся, а генерируются непосредственно перед использованием.
Пользовательские договоры могут быть сформированы на основе шаблона или загружены из файла. Каждый сформированный или загруженный договор сохраняется в анкете пользователя на странице Документы.

Счета можно выставлять вручную и автоматически. При ручном выставлении счёта баланс пользователя не изменяется.

Счета за разовые услуги выставляются сразу после подключения этих услуг. Счета за периодические услуги и периодическую составляющую стоимости специализированных услуг выставляются пользователю в начале расчётного периода, если в свойствах услуги указан метод снятия средств "В начале расчётного периода" и у соответствующего лицевого счёта пользователя установлен параметр "Работа по предоплате". В противном случае – в конце периода.

При автоматическом выставлении счетов, позиции в них формируются по тарифным связкам и расчётным периодам, за исключением услуг телефонии, которые выделяются в отдельный счёт. Новые услуги, подключённые в течение текущего периода, не учитываются при формировании счёта, если у лицевого счёта установлен параметр "Работа по предоплате".

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

Счета с отрицательной ставкой НДС в системе не отображаются.

Описание системы

В этом разделе собрана информация о структуре биллинга и взаимосвязях его компонентов, подробное описание которых Вы можете найти в соответствующих разделах.

Подробная структура биллинга

UTM_large

Ядро – это основной модуль, который отвечает за работу с базой данных, обеспечивает доступ к ней и обрабатывает входящую информацию согласно внутренним правилам (таким как тарификация, периодические списания). При высоких нагрузках структура ядра позволяет равномерно использовать все предоставленные ресурсы.

Ядро может взаимодействовать с различными маршрутизаторами и поставщиками информации о трафике, а также работать по протоколу NXT с внешними приложениями. NXT (NetUP XML Transaction) – это протокол прикладного уровня, использующий TCP в качестве транспортного протокола и SSL для шифрования данных и аутентификации отправителя. Единицей обмена данными является транзакция. Каждая транзакция может быть адресована одному или нескольким компонентам системы и включает некоторый набор событий, предназначенных для обработки получающим компонентом.

Подробнее о компонентах ядра читайте в разделе Ядро биллинга.

Кроме ядра в биллинг включены вспомогательные утилиты, отвечающие за работу по протоколу RADIUS, импорт текстовых log-файлов, низкоуровневые операции по протоколу URFA, взаимодействие с платёжными системами и формирование веб-интерфейса пользователя (абонента). Подробнее об утилитах читайте в соответствующих разделах.

Доступ к ядру биллинга обеспечивает модуль URFA (UTM Remote Function Access). Он проводит авторизацию пользователей по схеме CHAP и обеспечивает работу удалённого пользователя. Протокол поддерживает передачу данных и вызов функций.
URFA проверяет, разрешён ли данному пользователю доступ к вызываемой функции и, если разрешён, позволяет начать обмен данными. В противном случае система отказывает в доступе.
Каждой сессии выделяется 128-битный случайный идентификатор (SID), повторение которого исключается. Этот SID может быть использован повторно для открытия доступа. В случае сбоя при восстановлении сессии SID будет удалён, и пользователь вновь будет вынужден ввести логин и пароль. SID привязывается к IP-адресу клиента и автоматически удаляется через определённое время простоя. Восстановление сессии возможно лишь в случае, когда получен доступ с правами системного пользователя.

Системные пользователи

Отличительной особенностью системных пользователей является отрицательный идентификатор. По умолчанию в системе присутствуют следующие системные пользователи:

init

учётная запись системного администратора

web

учётная запись, под которой программа пользовательского интерфейса осуществляет доступ к системе

radius

учётная запись, под которой входит в систему RADIUS-сервер

rfw

учётная запись демона RFW

dhcp

учётная запись DHCP-сервера

collector

учётная запись для внешних коллекторов трафика

С системным пользователем связаны такие свойства:

  • логин и пароль;

  • сеть, из которой разрешено авторизоваться;

  • список групп, в которых пользователь состоит.

Права системного пользователя ограничены списком вызовов, разрешённых группам, в которых он состоит. Если системный пользователь входит в состав нескольких системных групп, то этот пользователь имеет суммарные привилегии всех групп, в которых состоит. Случаи вызова запрещённых операций заносятся в системный журнал ядра. По умолчанию в системе присутствуют следующие системные группы:

Wheel

администраторы

разрешены все системные функции

Dealers

дилеры

доступны функции, связанные с добавлением пользователей, назначением услуг и внесением платежей

Разграничение прав

В зависимости от класса, у пользователя есть некоторый список разрешённых функций:

  • функции с отрицательным идентификатором разрешены для исполнения пользователям-клиентам,

  • функции с идентификаторами от 0x70000000 по 0x7fffffff включительно доступны дилерам,

  • все остальные функции – только администраторам.

Взаимодействие по протоколам Stream, NXTv1 и NXTv2 разрешено только системным пользователям.

Доступ к вкладкам панели администратора

Веб-интерфейс администратора позволяет регулировать доступ к определенным вкладкам для различных системный групп. В конечном итоге фукнция позволяет создать дополнительные интерфейсы (например, дилера или кассира).

ОсновноеСистемные группыГруппаВкладки интерфейса

По-умолчанию рекомендуется использовать Автоматически применять разрешения к RestAPI.

Журналирование

Если какому-либо компоненту системы необходимо записать сообщение в журнал, он обращается к модулю журналирования и передаёт ему номер уровня и текст сообщения.
Существуют следующие уровни журналирования:

0

EMERG

Системный сбой, функционирование невозможно

1

ALERT

Сбои в работе, требующие немедленного рассмотрения

2

CRIT

Критичные ошибки, сбои в работе

3

ERROR

Некритичные ошибки

4

Warn

Предупреждения

5

Notice

Информация, на которую стоит обращать внимание

6

Info

Информация общего характера

7

Debug

Отладочная информация

8

Trace

Дополнительная отладочная информация

9

Stats

Статистика

Модуль журналирования помещает текст сообщения в поток журналирования. Выбор потока зависит от настроек модуля и уровня события. Поток журналирования ассоциируется с файлом, указанным в настройках модуля. По умолчанию все потоки ассоциированы со стандартным потоком ошибок. Существуют следующие потоки журналирования:

Название потока Входящие уровни журналирования

Критический

от 0 до 2

Основной

от 0 до 3 плюс log_level

Отладочный

все

Некоторые компоненты могут активировать встроенный в модуль журналирования механизм ротации файлов. Если данный механизм активирован, то после записи события в файл модуль проверяет размер файла на превышение размера, указанного в конфигурации модуля. Если размер превышен, файл закрывается, к его имени добавляется суффикс. Если количество файлов ограничено, добавляется суффикс " .0 ". Если количество файлов не ограничено, добавляется суффикс " .<timestamp> ", где <timestamp> – время закрытия файла в формате unix timestamp. Если файл с таким суффиксом существует, его суффикс увеличивается на единицу. После переименования всех файлов, проверяется количество файлов на превышение максимального количества, и если оно превышено, старые файлы удаляются.

Настройки модуля журналирования рассмотрены при описании конфигурационных файлов соответствующих компонентов системы.

Способы интеграции биллинга

Универсальность биллинга допускает множество способов интеграции системы в существующую или планируемую инфраструктуру сети:

  • если Вы предоставляете клиентам доступ к Интернету через аппаратный маршрутизатор, который поддерживает сбор статистики о трафике, а управление маршрутизаторами производите удалённо, то сервер с биллинговой системой может быть установлен как внутри локальной сети, так и вне её, например, в головном офисе, доступном через Интернет;

  • если Вы предоставляете клиентам доступ к Интернету через программный маршрутизатор (PC-роутер), статистику снимаете с интерфейса роутера и обрабатываете данные либо на локальной машине, либо передаёте и обрабатываете их на удалённом сервере, то биллинговую систему можно установить как на самом роутере, так и на удалённом сервере;

  • если Ваши клиенты подключаются к Интернету посредством коммутируемого доступа, в таком случае сервером доступа может быть как маршрутизатор Cisco, так и PС-роутер с подключёнными к нему модемами. Авторизация клиентов будет производиться по протоколу RADIUS, а тарификация может производиться как по времени соединения, так и по объёму трафика;

  • если Ваши клиенты подключаются к Интернету по Wi-Fi, Вы можете использовать модуль Hotspot, который в биллинге отвечает за учёт и тарификацию услуг беспроводного доступа.

Подробнее о всех модулях и возможностях биллинга Вы можете узнать у менеджеров нашей компании, которые помогут разобраться, какие модули необходимо подключить для выполнения Ваших задач.

Установка и запуск

Перед каждой новой версией NetUP 5+ сначала выпускается одна или несколько версий Release Candidate, пригодных для тестирования новых функций, но не рекомендуемых для коммерческой эксплуатации. Затем выпускается собственно версия Release, которая включает в себя новый функционал и является стабильной. При выявлении в версии Release проблем могут быть выпущены обновления (версии Update), в которых отсутствуют новые функции, однако исправлены проблемы, выявленные в процессе эксплуатации Release версии. Рекомендуется использовать для установки дистрибутив последней Update версии, а при отсутствии таковой – последнюю из Release версию.

Получение лицензионного ключа

  1. Оплатите лицензию.

  2. Войдите в личный кабинет на нашем сайте — my.netup.tv. Перейдите в раздел Лицензионные ключи, заполните форму Добавления лицензии и нажмите Применить.

  3. После обработки Вашего запроса появится ключ с параметрами согласно условиям оплаченной лицензии. Затем загрузите ключ – файл reg.sql.
    Используйте этот ключ, чтобы активировать биллинг. Без активации Вам будет доступна только демо-версия с ограничением на 10 абонентов.

По истечении срока действия лицензии ядро NetUP 5+ перестанет запускаться.

Требования к ПО

Операционная система

64-разрядная:
Debian Stretch (9), Buster (10) – рекомендуется, CentOS 7 / 8

Сервер баз данных

В качестве СУБД необходимо использовать MariaDB.
Расширение SELinux, используемое с настройками по умолчанию, может препятствовать работе некоторых компонентов системы NetUP 5+. Необходимо либо правильно настроить SELinux, чтобы не нарушалась работа компонентов NetUP 5+, либо отключить данное расширение.
СУБД может быть установлена на отдельном сервере.

Локальное время сервера

Должно соответствовать текущей дате, в противном случае система может работать некорректно.

На сервере необходимо предусмотреть дисковое пространство для log-файлов и файлов с первичными данными о трафике, размер которых зависит от нагрузки на систему и может достигать значительных величин.

Порядок установки

Шаг 1. Установите пакет NetUP 5+

Debian

Выполните команду: dpkg -i 5-5.004.deb
Если в системе отсутствуют какие-либо библиотеки, прописанные в зависимостях установочного пакета, появится соответствующее сообщение, и установка будет приостановлена. Чтобы установить недостающие библиотеки и продолжить установку биллинга, выполните команду: apt-get install -f

CentOS 7 / 8

Выполните команду:
yum --nogpgcheck localinstall 5-5.004.x86_64-centos7_x64.rpm

В результате будет создана директория /netup, содержащая основные рабочие файлы, файлы конфигурации, директорию для log-файлов, a также скопированы следующие скрипты запуска:

/etc/init.d/utm5_core
/etc/init.d/utm5_radius
/etc/init.d/utm5_rfw
/etc/init.d/utm5_dhcp
/etc/init.d/utm5_traffic_collector

Шаг 2. Проверьте и отредактируйте конфигурационный файл ядра

Перейдите в директорию /netup/utm5/, откройте файл utm5.cfg и проверьте параметры, отвечающие за взаимодействие с базой данных (БД).

Подробное описание всех параметров конфигурационного файла utm5.cfg смотрите в соответствующем разделе.

Если у Вас уже есть БД, укажите в конфигурационном файле её параметры (тип, название, логин/пароль, кодировка и др.), чтобы при первом же запуске ядро подключилось к ней.

Если БД нет, то при первом запуске ядра она будет создана автоматически с теми параметрами, которые указаны в конфигурационном файле.

Если Вы хотите включить автоматическое обновление структуры и индексов БД при каждом запуске ядра, включите в конфигурационном файле параметры verify_database и verify_database_index. По умолчанию первый параметр включён, а второй – отключён.

Учётная запись пользователя БД, используемая ядром NetUP 5+, должна обладать правами создания и изменения таблиц БД.

Шаг 3. Запустите ядро

Если установка пакета NetUP 5+ прошла успешно и в конфигурационном файле заданы все необходимые параметры, скопируйте файл лицензионного ключа reg.sql в директорию /netup/utm5/ и запустите ядро биллинговой системы командой: /etc/init.d/utm5_core start

При запуске ядра будет автоматически активирована лицензия, после чего файл reg.sql будет удалён. Ядро подключится к существующей базе данных или создаст новую, в соответствии с параметрами в конфигурационном файле.

Только для CentOS
Чтобы ядро NetUP 5+ автоматически запускалось при загрузке ОС, выполните следующие команды (требуются права суперпользователя):

chkconfig --add utm5_core
chkconfig utm5_core on

Выполните аналогичные команды для других модулей системы NetUP 5+, если это необходимо.

Выполните следующие шаги, если вы приобрели лицензию Telecom.

Шаг 4. Подготовьтесь к запуску личного кабинета пользователя и подключению платёжных систем

Чтобы иметь возможность устанавливать новые платёжные системы и обслуживать запросы личного кабинета пользователя, распакуйте архив utm5_customer_portal.zip и запустите файл install.sh с правами root.

При желании вы можете добавить utm5_customer_portal в автозагрузку командой:
systemctl enable utm5-customer-portal.service

Для запуска необходимо выполнить следующую команду:
systemctl start utm5-customer-portal.service

Шаг 5. Проверьте и отредактируйте конфигурационный файл customer portal

Перейдите в директорию /netup/utm5/, откройте файл customer_portal_config.env и проверьте параметры.

Запуск биллинга и личного кабинета пользователя

Используйте данную инструкцию, если на Вашем сервере нет других сайтов.

Если Вы уже используете NetUP 5+, сначала обновите ядро биллинга.

Шаг 1. Установите на Ваш сервер nginx

Используйте команду:
sudo apt install nginx

Шаг 2. Добавьте необхоимую локализацию в ОС

В зависимости от выбранной операционной системы выполните необходимые действия по добавлению локализации en_US.utf8. Это нужно для корректной работы регистро-независимого поиска.

Шаг 3. Распаковка архивов с WEB интерфейсами

Скачайте архив в Вашем личном кабинете и выполните следующие команды:

  • для запуска веб-интерфейса биллинга

    cd /var/www/
    sudo mkdir admin
    cd admin
    sudo cp (путь к архиву) .
    sudo unzip utm5_http.zip

  • для запуска веб-интерфейса личного кабинета пользователя

    cd /var/www/
    sudo mkdir cabinet
    cd cabinet
    sudo cp (путь к архиву) .
    sudo unzip utm5_customer_http.zip

  • для запуска веб-интерфейса Hotspot & Captive Portal

    cd /var/www/ sudo mkdir captive cd captive sudo cp (путь к архиву) . sudo unzip utm5_captive_portal_http.zip

Шаг 4. Отредактируйте конфигурационный файл

Перейдите в директорию /etc/nginx/sites-enabled/default

Замените содержимое на:

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  root /var/www/;

  index index.html;

  server_name utm;

  location / {
        try_files $uri $uri/ =404;
  }
  location /admin/websoket_chat {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9081;
  }
  location /api/ {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9080;
  }
  location /cabinet/customer_api/auth/chat {
        rewrite /cabinet/customer_api/auth/chat /customer_api/auth/chat  break;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8000;
  }
  location /customer_api/ {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8000;
  }
}

Шаг 5. Перезапустите nginx

sudo service nginx stop
sudo service nginx start

Шаг 6. Убедитесь, что веб-интерфейс и личный кабинет пользователя доступны

Введите в браузер <адрес Вашего сервера>/admin, например, 10.1.5.229/admin. Если браузер отобразит страницу авторизации, значит Вы всё сделали верно.

Введите в браузер <адрес Вашего сервера>/cabinet, например, 10.1.5.229/cabinet. Если браузер отобразит страницу авторизации, значит Вы всё сделали верно.

Введите в браузер <адрес Вашего сервера>/captive, например, 10.1.5.229/captive. Если браузер отобразит страницу регистрации, значит Вы всё сделали верно.

В веб-интерфейсе администратора перейдите Настройки ⇒ Платежные системы и подключите платёжные системы, которые должны отображаться в личном кабинете пользователя. Чтобы подключить платёжную систему, выберите её из списка и в поле Enabled установите значение yes.

Обновление биллинга

Актуально для перехода между версиями NetUP 5+. В случае, если вы хотите выполнить переход с UTM5 - проконсультируйтесь с технической поддержкой NetUP.

Шаг 1. Убедитесь, что у вас имеется актуальная версия лицензионного ключа. Это файл reg.sql, который должен находиться в директории /netup/utm5

При первом запуске обновленное ядро автоматически загрузит лицензионный ключ из файла /netup/utm5/reg.sql в БД и затем удалит этот файл. Таким же образом следует обновить данные о лицензии в случае каких-либо изменений в её составе.

Если по какой-то причине лицензия не подгружается ядром, то можно добавить файл лицензии в БД вручную:

mysql UTM5 < reg.sql

Последнюю доступную вам версию ключа можно найти в вашем личном кабинете у нас на сайте: www.netup.tv/ru/utmoffice. Перед загрузкой ключа под таблицей нажмите "Продлить подписку на обновления", если таковая кнопка доступна.

Шаг 2. Остановите все компоненты NetUP 5+ (ядро, RADIUS-сервер, DHCP-сервер и т. д.).

Например, в Debian для остановки ядра выполните команду:

/etc/init.d/utm5_core stop

Далее следует убедиться, что службы остановлены. Например, для проверки состояния ядра выполните команду:

ps ax | grep utm5_core

Шаг 3. Выполните резервное копирование конфигурационных файлов из директории /netup/utm5/.

Шаг 4. Убедитесь в наличии актуальной резервной копии базы данных SQL и детальной информации о трафике.

В случае отсутствия резервной копии произведите резервное копирование базы данных (например, утилитами mysqldump, pg_dump). Убедитесь в том, что все данные можно восстановить из резервной копии.

Особое внимание стоит уделить применяемым кодировкам в таблицах БД. Стандартно предполагается кодировка UTF8, если в вашей БД имеются таблицы в другой кодировке - не проводите обновление! Обратитесь в службу технической поддержки.

Шаг 4. Удалите старую версию пакета NetUP 5+. Например, в Debian удаление производится командой:

dpkg -r utm5

Шаг 5. Установите новую версию пакета NetUP 5+. Например, в Debian установка производится командой:

dpkg -i utm5-3.004.deb

Если в системе отсутствуют какие-либо библиотеки, прописанные в зависимостях установочного пакета, появится соответствующее сообщение, и установка будет приостановлена. В этом случае выполните команду apt-get install -f. Будут установлены все недостающие библиотеки, и установка NetUP 5+ продолжится.

Шаг 5. Запустите ядро NetUP 5+

Например, в Debian для запуска ядра и модуля DHCP выполните команды:

/etc/init.d/utm5_core start
/etc/init.d/utm5_dhcp start

При первом запуске новой версии ядра производится автоматическое обновление структуры БД (если соответствующий параметр не отключен в конфигурационном файле). В связи с этим необходимо, чтобы учётная запись пользователя БД, используемая ядром UTM5, обладала правами, необходимыми для создания и изменения таблиц БД. При необходимости можно обновить структуру БД вручную. Обновление производится командой:

mysql -f UTM5 < /netup/utm5/UTM5_MYSQL_update.sql

Для автоматического обновления индексов при первом запуске новой версии ядра, необходимо добавить в конфигурационный файл ядра параметр:

verify_database_index=enable

Следует учесть, что данная операция может занять много времени.

При необходимости произведите обновление индексов базы данных вручную. Обновление производится командой:

mysql -f UTM5 < /netup/utm5/UTM5_indexes.sql

Данная операция может занять значительное время. Для минимизации простоя можно использовать функцию архивирования таблиц с информацией о списаниях.

Следует учесть, что по умолчанию всегда выполняется проверка структуры архивных таблиц на соответствие требованиям ядра. Если в файле конфигурации ядра включен дополнительный параметр verify_archive_tables, то ядро попытается привести структуру таблиц в соответствие требованиям. Если попытка будет успешной, то данные из архива после завершения изменения структуры будут использоваться при формировании отчётов. В противном случае архивные данные при формировании отчётов учитываться не будут.

Шаг 6. Обновите личный кабинет для абонентов.

Скачайте свежий дистрибутив личного кабинета для абонентов, обычно это архив под названием utm5_customer_portal.zip. Выполните замену файлов на своём веб-сервере.

Шаг 7. Обновите Web-интерфейс администратора.

Скачайте свежий дистрибутив Web-интерфейса администратора, обычно это архив под названием utm5_http.zip. Выполните замену файлов на своём веб-сервере.

Особенности обновления между версиями

Особенности обновления 5.5.003-release

Перед обновлением на версию 5.5.003-release необходимо перенести данные групп пользователей в новую таблицу. Сделать это можно с помощью запроса:

CREATE TABLE user_groups LIKE groups; INSERT INTO user_groups SELECT * FROM groups;

Для корректной работы личного кабинета абонента и его функции "чата с технической поддержкой оператора" необходимо обновить конфигурацию nginx:

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  root /var/www/;

  index index.html;

  server_name utm;

  location / {
        try_files $uri $uri/ =404;
  }
  location /admin/websoket_chat {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9081;
  }
  location /api/ {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9080;
  }
  location /cabinet/customer_api/auth/chat {
        rewrite /cabinet/customer_api/auth/chat /customer_api/auth/chat  break;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8000;
  }
  location /customer_api/ {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8000;
  }
}

Запуск из образов Docker

Используйте данную инструкцию, если на Вашем сервере установлена ОС Linux (Debian).

Шаг 1. Установите Docker и Docker-compose

Используйте команду:

apt install docker docker-compose -y

Подробнее об установке читайте на официальном сайте.

Шаг 2. Создайте файл docker-compose.yml

Сохраните в этот файл следующую конфигурацию:

version: '3'
services:
  utm:
    image: netup/utm:latest
    restart: always
    ports:
      - '11758:11758'
      - '9080:9080'
    volumes:
      - './log:/netup/utm5/log'
    links:
      - utmdb
  utmdb:
    image: 'mysql:5.7'
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    ports:
      - "3306:3306"
  utm_customer_portal:
    image: netup/utm_customer_portal
    restart: always
    volumes:
      - "./log:/customer_portal/log"
    links:
      - utm
      - utmdb
  web:
    image: netup/utm_http
    restart: always
    ports:
      - '80:80'
    links:
      - utm
      - utm_customer_portal

Шаг 3. Запустите docker-compose

Используйте команду:
docker-compose up

Шаг 4. Подключитесь к биллингу с помощью веб-интерфейса

Введите в браузер <адрес Вашего сервера>/admin, например, localhost/admin. Если браузер отобразит страницу авторизации, значит Вы всё сделали верно.

По умолчанию логин и пароль для входа – init и init.

Шаг 5. Убедитесь, что личный кабинет пользователя доступен

Введите в браузер <адрес Вашего сервера>/cabinet, например, localhost/cabinet. Если браузер отобразит страницу авторизации, значит Вы всё сделали верно.

В веб-интерфейсе администратора перейдите Настройки ⇒ Платежные системы и подключите платёжные системы, которые должны отображаться в личном кабинете пользователя. Чтобы подключить платёжную систему, выберите её из списка и в поле Enabled установите значение yes.

Ядро биллинга

Ядро – это отдельный многопоточный процесс, работающий в пользовательском режиме.

Настроить работу ядра можно с помощью конфигурационного файла и веб-интерфейса администратора.
Параметры из конфигурационного файла используются при инициализации ядра и компонентов системы, соответственно, изменения параметров вступают в силу при следующем запуске ядра.
Параметры, которые можно настроить в веб-интерфейсе, определяют поведение ядра и его компонентов после запуска. Вы можете менять значения данных параметров в любой момент работы ядра и изменения вступят в силу с момента их внесения.

Основные компоненты ядра

UTM_large

Обработчик запросов URFA (UTM Remote Function Access) – сервер вызовов удалённых процедур.
Он принимает соединения от клиентов системы и выполняет запрошенные команды внутри ядра. Этот компонент служит в большей степени для организации пользовательских и администраторских интерфейсов.

Буфер NetFlow принимает данные о трафике в формате NetFlow версий 5,7,9 и 10 (IPFIX). Для устройств, поддерживающих экспорт статистики по иным протоколам, воспользуйтесь преобразователем статистики в совместимый формат.

Классификатор трафика сортирует трафик по классам на основании параметров, заданных в настройках биллинга.
Нетарифицированная информация о трафике, принадлежащая одному абоненту, агрегируется в первичном хранилище. После тарификации эта информация переносится во вторичное хранилище и агрегируется в одну запись при одинаковой стоимости трафика. Списание по информации из вторичного хранилища происходит при превышении максимальной стоимости трафика или максимального времени хранения информации в одной записи, при изменении стоимости трафика (например, если стоимость трафика изменяется после достижения определённого объёма), при получении ядром сигнала SIGHUP и при закрытии отчётного периода.

Тарификатор и классификаторы отвечают за тарификацию всех услуг, в том числе услуг передачи IP-трафика. Они переводят количество оказанных оператором услуг в денежный эквивалент с учётом всех зависимостей, указанных администратором биллинга.

Модуль журналирования регистрирует в log-файлах все события в работе NetUP 5+, что позволяет администраторам проводить диагностику и получать информацию о сбоях работе.

DBA (Модуль доступа к базе данных) переводит внутрисистемные запросы данных в запросы к внешней базе данных.

В качестве системы управления базой данных используйте MySQL.

Приём данных происходит посредством буфера NetFlow и обработчика запросов URFA. Исходные данные считываются из базы данных при запуске.

Любые изменения в базе данных, сделанные напрямую через СУБД во время работы ядра, могут привести к неконтролируемому поведению системы.

Данные NetFlow поступают на обработку в бизнес-модуль, где рассчитываются все необходимые списания. В случае высокой пиковой загрузки поток NetFlow может быть буферизован для снижения возможных потерь. Необработанные данные NetFlow сохраняются в файлах специального формата. Модуль, сохраняющий эти данные, при запуске создаётся в отдельном потоке и, по возможности, с высоким приоритетом.

Запуск

Исполняемый файл ядра NetUP 5+ расположен в /netup/utm5/bin/utm5_core
В командной строке можно передавать следующие параметры:

-p <путь>

Путь к pid-файлу

-c <путь>

Путь к конфигурационному файлу

-v

Вывод информации о полном номере сборки, времени сборки и допустимых параметрах командной строки

Существуют три способа запуска utm5_core:

  1. Непосредственный запуск бинарного файла /netup/utm5/bin/utm5_core с необходимыми параметрами.

  2. Запуск с помощью скрипта watchdog с указанием параметра start
    /netup/utm5/bin/safe_utm5_core start
    Скрипт автоматически перезапустит utm5_core, если он по каким либо причинам некорректно завершит работу.

  3. Запуск с помощью скрипта автоматического запуска (рекомендуемый способ)
    /etc/init.d/utm5_core start
    Для остановки utm5_core и скрипта watchdog следует выполнить следующую команду
    /etc/init.d/utm5_core stop

Конфигурационный файл

По умолчанию ядро NetUP 5+ использует конфигурационный файл /netup/utm5/utm5.cfg

Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #, считается комментарием.

Параметры, связанные с базой данных

Параметр Возможные значения По умолчанию Описание

database_type

mysql

обязательный параметр

Тип базы данных

database

строка

обязательный параметр

Название базы данных

database_host

строка

localhost

Адрес хоста, на котором находится база данных

database_login

строка

логин текущего пользователя

Логин для доступа к базе данных

database_password

строка

пустая строка

Пароль для доступа к базе данных

database_sock_path
Действует только для MySQL

строка

/tmp/mysql.sock

Путь к unix-сокету.
Используется для подключения к серверу базы данных только в случае, когда database_host не указан или его значение равно localhost

database_port
Действует только для MySQL

строка

3306

Номер порта для доступа к базе данных

dbcount

число
от 2 до 64

6

Количество соединений с базой данных, которые ядро открывает для пользовательских операций

dbcount_sys

число
от 2 до 64

4

Количество соединений с базой данных, которые ядро открывает для системных операций

database_reconnect_count

натуральное число

5

Количество попыток соединения с базой данных, если соединение не было установлено, или количество попыток выполнения SQL-запроса, если его выполнение закончилось неудачно

database_reconnect_sleep

натуральное число

2

Задержка в секундах перед повторной попыткой соединения с базой данных или перед повторным выполнением SQL-запроса

database_charset
Действует только для MySQL

кодировка

utf8

Кодировка соединения с базой данных

verify_database

enable, disable

enable

Верификация базы данных перед запуском ядра NetUP 5+

verify_archive_tables

enable, disable

disable

Если включена верификация базы данных перед запуском, также верифицировать архивные таблицы

verify_database_index

enable, disable

disable

Верификация индексов перед запуском ядра NetUP 5+

Параметры, связанные c URFA-сервером

Параметр Возможные значения По умолчанию Описание

urfa_bind_host
Можно указать несколько значений

IP-адрес интерфейса или 0.0.0.0

сервер отключён

IP-адрес, на котором будет прослушиваться порт для приёма URFA-запросов

urfa_bind_port

число от 1 до 65534

11758

Порт, который будет прослушиваться URFA-сервером

Параметры, связанные со Stream-сервером

Параметр Возможные значения По умолчанию Описание

stream_bind_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

IP-адрес, на котором будет прослушиваться порт для приема Stream-запросов

stream_bind_port

число
от 1 до 65534

12758

Порт, который будет прослушиваться Stream-сервером

Параметры, связанные с NXT-серверами

Параметр Возможные значения По умолчанию Описание

nxt_bind_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

IP-адрес, на котором будет прослушиваться порт для приёма запросов NXT v.1

nxt_bind_port

число
от 1 до 65534

11777

Порт, который будет прослушиваться сервером NXT v.1

nxt_v2_bind_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

IP-адрес, на котором будет прослушиваться порт для приема запросов NXT v.2

nxt_v2_bind_port

число
от 1 до 65534

11778

Порт, который будет прослушиваться сервером NXT v.2

iptv_cluster_host

IP-адрес

не задан

IP-адрес NetUP IPTV cluster core

iptv_cluster_port

число
от 1 до 65534

50500

Порт, который будет прослушивать IPTV cluster core в ожидании соединения

Параметры буфера NetFlow

Параметр Возможные значения По умолчанию Описание

nfbuffer_host

строка

0.0.0.0

IP-адрес, на котором будет прослушиваться UDP-порт для приёма потока NetFlow

nfbuffer_port

строка

9997

Порт, на котором ядро принимает поток NetFlow

nfbuffer_bufsize

натуральное число

устанавливается ОС

Размер буфера UDP-сокета, используемого для приёма потока NetFlow

Параметры, связанные с подсчетом трафика

Параметр Возможные значения По умолчанию Описание

classifier_traffic_file

путь к файлу

/netup/utm5/db/traffic.dat

Файл для хранения информации о трафике при остановке ядра NetUP 5+

Параметры генерации документов

Параметр Возможные значения По умолчанию Описание

doc_path

путь к директории

/netup/utm5/doc

Директория для хранения *.odt файлов

tmp_path

путь к директории

/tmp

Папка для хранения временных файлов

libreoffice_path

путь к файлу

/usr/bin/libreoffice

Путь к исполняемому файлу LibreOffice

max_upload_size

целое число в байтах

1 000 000

Максимальный размер загружаемого шаблона документа / договора

Параметры журналирования

Параметр Возможные значения По умолчанию Описание

log_level

число
от 0 до 3

1

Определяет уровень сообщений, записываемых в основной поток сообщений

log_file_main

путь к файлу

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

путь к файлу

стандартный поток ошибок

Файл потока сообщений с диагностической и отладочной информацией

log_file_critical

путь к файлу

стандартный поток ошибок

Файл потока сообщений о критических ошибках

log_file_verificator

путь к файлу

/netup/utm5/log/ve-rificator.sql

Файл сообщений верификатора базы данных

syslog_name

строка

не задано

Префикс, добавляемый к записям при включённой опции записи в системный журнал (syslog)

rotate_logs

yes, on, enable

ротация отключена

Включает ротацию log-файлов

max_logfile_count
Действует, если включена ротация log-файлов

число

не ограничено

Максимальное количество хранимых log-файлов

max_logfile_size
Действует, если включена ротация log-файлов

размер в байтах

10485760

Размер log-файла, при достижении которого производится ротация

core_pid_file

путь к файлу

/var/run/utm5_core.pid

PID-файл

Параметры, связанные с размером стека

Параметр Возможные значения По умолчанию Описание

thread_stack_size

размер в байтах (не менее 65536)

8388608

Размер стека нити, отвечающей за бизнес-логику

rpc_stack_size

размер в байтах (не менее 65536)

не задано

Размер стека нити URFA-сервера

Параметры, связанные со специальной лицензией

Параметр Возможные значения По умолчанию Описание

ssl_cert_file

путь к файлу

/netup/utm5/ cert.crt

Файл сертификата

ssl_privkey_file

путь к файлу

/netup/utm5/ privkey.pem

Файл приватного ключа

ssl_privkey_passphrase

строка

пустая строка

Пароль приватного ключа

Параметры, связанные с REST API SERVER

Параметр Возможные значения По умолчанию Описание

rest_api_port

число от 1 до 65535

9080

Порт, который будет прослушиваться сервером

rest_api_thread_count

число от 1 до 65535

2

Количество обслуживающих потоков

Модули

Динамическое шейпирование

Схема

Параметры RADIUS

Модуль Dynashape предназначен для регулирования пропускной способности канала (шейпинга) в зависимости от времени и от объёма трафика, потреблённого пользователем. Ядро биллинговой системы формирует правила в соответствии с заданными параметрами шейпинга и передаёт их на исполнение. Реализация исполняемых файлов управления программными шейперами для конкретной сетевой конфигурации возлагается на системного администратора.

Схема

Шейпинг может быть настроен отдельно для каждой услуги передачи IP-трафика. Настройки шейпинга включают в себя набор ограничений пропускной способности и параметры, определяющие условия применения того или иного ограничения.

Настроить шейпинг для услуги:

  1. Выберите услугу и задайте основные параметры шейпинга, в том числе:

    • типы IP-групп, к которым будет применяться шейпинг (VPN или не VPN);

    • временные диапазоны действия шейпинга;

    • границы потребления трафика, при превышении которых будут последовательно налагаться ограничения;

    • значения пропускной способности для каждого временного диапазона и для каждого уровня потребления трафика;

    • классы трафика, к которым будет применяться шейпинг.

  2. В случае шейпинга с помощью RADIUS-атрибутов – на той же странице задайте RADIUS-атрибуты, устанавливающие пропускную способность. Динамическое изменение атрибутов в зависимости от потреблённого трафика обеспечивается использованием переменных, выбираемых из списка (см. Параметры RADIUS).

  3. Назначьте правила firewall для событий Установка пропускной способности, Изменение пропускной способности и Снятие ограничений входящего (исходящего) канала, используя переменную BANDWIDTH, которая в момент применения правила заменяется на заданное значение пропускной способности.

Ограничения применяются в течение выбранных диапазонов времени для IP-групп выбранных типов и для выбранных классов трафика, в зависимости от потребления трафика по данной сервисной связке. При попадании под условия шейпинга (т. е. при наступлении заданного временного диапазона или при переходе количества трафика через заданные границы) выполняется событие Установление пропускной способности, а при смене условий – Изменение пропускной способности входящего (исходящего) канала. Также при каждом из этих событий посылаются соответствующие RADIUS-атрибуты и удаляются их предыдущие значения. При выходе из-под условий шейпинга (т. е. при окончании времени ограничений или при обнулении трафика в момент смены отчётного периода) происходит событие Снятие ограничений и удаление RADIUS-атрибутов.

Смена ограничений при наступлении временного диапазона происходит не позднее пяти минут после начала диапазона. Смена ограничений в зависимости от количества трафика происходит после очередной агрегации трафика, периодичность которой задаётся параметром Период агрегации трафика.

Заданная величина пропускной способности в случае использования внешних скриптов передаётся в них непосредственно, т. е. ядро NetUP 5+ не производит с ней никаких действий. В случае использования RADIUS-атрибутов величина интерпретируется как значение в Кбит/сек и может пересчитываться в значения в других единицах, а также в зависимые величины (см. Параметры RADIUS).

При необходимости изменения, применения или снятия ограничений для текущей сессии, NetUP 5+ RADIUS может отправить на NAS запрос Change-of-Authorization (CoA), если NAS поддерживает запросы CoA. В запросе CoA используются атрибуты, позволяющие идентифицировать сессию (User-Name, Framed-IP-Address, Called-Station-Id и т. п.) и новые значения RADIUS-параметров, отвечающих за ограничения сессии. В запрос также будет включён DAC secret, если его значение задано.

CoA запросы и ответы формируются в соответствии с RFC 5176.

Параметры RADIUS

Для построения RADIUS-атрибутов используются переменные, которые непосредственно при отправке команды заменяются соответствующими значениями. Значения вычисляются из заданной пропускной способности.

Переменная Описание Значение
(W – заданная пропускная способность)

IN_BANDWIDTH_BITS

Пропускная способность входящего канала [бит/с]

W*1024

IN_BANDWIDTH_KBITS

Пропускная способность входящего канала [Кбит/с]

W

IN_BANDWIDTH_MBITS

Пропускная способность входящего канала [Мбит/с]

W/1024

OUT_BANDWIDTH_BITS

Пропускная способность исходящего канала [бит/с]

W*1024

OUT_BANDWIDTH_KBITS

Пропускная способность исходящего канала [Кбит/с]

W

OUT_BANDWIDTH_MBITS

Пропускная способность исходящего канала [Мбит/с]

W/1024

IN_CISCO_NORMAL_BURST

Размер всплеска (burst) для входящего потока в байтах

1.5*(W*1024)/8

IN_CISCO_EXTENDED_BURST

Расширенный размер всплеска для входящего потока в байтах

1.5*2(W*1024)/8

OUT_CISCO_NORMAL_BURST

Размер всплеска для исходящего потока в байтах

1.5*(W*1024)/8

OUT_CISCO_EXTENDED_BURST

Расширенный размер всплеска для исходящего потока в байтах

1.5*2*(W*1024)/8

Турбо-режим

В настройках Динамического шейпирования конкретной услуги доступна вкладка Турбо-режим. Здесь можно задать условия данного режима, т. е. временного изменения параметров доступа в Интернет: ограничение пропускной способности (или его отсутствие) входящего и исходящего каналов во время действия турбо-режима, длительность действия (строго по времени или по достижении определённого значения входящего/исходящего трафика), и разовую услугу, применяемую в качестве оплаты за включение. Пользователь может включить турбо-режим самостоятельно в Web-интерфейсе личного кабинета.

Если в свойствах турбо-режима выбрана опция Объем трафика и заданы лимиты трафика для входящего и исходящего каналов, то турбо-режим будет отключен только после того, как будут израсходованы оба лимита.

Телефония

Алгоритм работы

Схемы организации сети

Данный модуль предназначен для обработки запросов на авторизацию и учёт потребленных услуг от голосовых шлюзов, гейткиперов (gatekeepers), голосовых прокси-серверов. Поддерживается как классическая, так и IP-телефония. Учёт данных происходит либо на основе запросов NetUP 5+ RADIUS (см. Сервисы ⇒ RADIUS), либо на основе CDR-файлов посредством вспомогательной утилиты utm5_send_cdr (см. Утилиты ⇒ Импорт текстовых файлов).

Термин Пояснение

IP-телефония,
IP telephony, Voice over IP (VoIP), Internet Telephony

Передача речи по сетям с использованием протокола IP

ТфОП,
Public Switched Telephony Network (PSTN)

Телефонная сеть общего пользования. В это понятие включены городские и национальные сети обычной телефонии

АОН,
Caller ID, Automatic Number Identification (ANI)

Номер вызывающего абонента или услуга определения номера вызывающего абонента

Шлюз IP-телефонии
VoIP gateway

Устройство, имеющее порт для подключения к сети на базе протокола IP, а также, по необходимости, порты для подключения к ТфОП. Обычно данное устройство служит для стыковки ТфОП и IP-сети. Примером может служить маршрутизатор Cisco 3620 с модулем NM-2V + VIC2FXO

H.323

Стандарт, предложенный Международным союзом электросвязи (ITU-T), описывающий построение сетей IP-телефонии. Стандарт описывает протоколы, связанные с регистрацией оборудования IP-телефонии (RAS – Registration, Admission and Status), установления соединения (H.225.0, H.245), передачи речи, авторизации пользователей и др.

H.323 привратник
(H.323 гейткипер, H.323 gatekeeper)

Привратник отвечает за регистрацию оконечного оборудования (шлюзов, клиентских устройств), контроль прав доступа, номерной план. Практически все привратники имеют возможность проводить авторизацию и передачу статистики по состоявшимся звонкам по протоколу RADIUS

Кодеки
G.711 (64 кбит/сек, высокое качество),
G.723.1 (5.3 - 6.4 кбит/сек, среднее качество),
G.729 (8 кбит/сек, среднее качество)

Алгоритмы сжатия звука на передающей стороне и декодирования на принимающей стороне. Используются для минимизации трафика, поэтому кодеки в основном характеризуются полосой пропускания, необходимой для передачи речи с использованием этого кодека. При передаче голоса без сжатия потребуется полоса пропускания в 64 Кбит/сек. Кодеки с высокой степенью сжатия требуют больших вычислительных ресурсов, поэтому для кодирования большого количества голосовых потоков используются специальные микросхемы, так называемые DSP-процессоры.

Interactive Voice Response (IVR)

Технология голосовых меню, которая часто используется для авторизации пользователей ТфОП для звонков по IP-телефонии

Алгоритм работы

RADIUS-запросы, имеющие отношение к телефонии, опознаются системой по наличию атрибута cisco-h323-conf-id. В противном случае запрос интерпретируется как относящийся к услуге коммутируемого доступа, а в TelInfo структуре поле h323_conf_id будет инициализировано дефолтным значением (пустой строкой).

Для регистрации абонента привратник посылает на сервер RADIUS запрос на регистрацию с указанием ID вызывающего абонента Calling-ID (31) и его логина, но без указания Called-ID (30). Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки. Если сервисная связка обнаружена и соответствующий лицевой счёт не заблокирован, то выдаётся положительный ответ; в противном случае выдаётся отказ в регистрации. Положительный ответ может содержать телефонный номер пользователя, если он указан в свойствах сервисной связки.

Для авторизации звонка привратник или голосовой шлюз посылает на сервер RADIUS запрос на регистрацию с указанием Calling-ID (31) и Called-ID (30). Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки. Если связка обнаружена, баланс счёта положителен, звонок входит в направление, включённое в состав услуги телефонии (непосредственно или в составе зоны), и текущее время входит в разрешённый временной диапазон (также установленный в свойствах услуги), то выдаётся положительный ответ; в противном случае сервер RADIUS выдаёт отказ в авторизации. Положительный ответ включает максимальную длительность соединения, рассчитываемую либо как срок окончания временного диапазона, для которого задана цена услуги (если данный диапазон не покрывает всё время суток), либо как срок исчерпания баланса счёта, с учётом текущего баланса и стоимости услуги (возможно, меняющейся со временем), в зависимости от того, что из этого наступает скорее.

Для тарификации звонка привратник или голосовой шлюз при начале звонка посылает на сервер RADIUS запрос Accounting-Start с указанием Calling-ID (31), Called-ID (30) и, возможно, времени начала соединения. Если время начала не указано, таковым считается время прихода запроса Accounting-Start. Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки. Если связка не обнаружена, запрос игнорируется. В противном случае определяется стоимость минуты разговора, заданная в свойствах услуги для данного временного диапазона и телефонного направления (или зоны). Если звонок не подпадает под направления, заданные в свойствах услуги, или время звонка не входит в заданные временные диапазоны, звонок тарифицируется по нулевой стоимости. В момент окончания звонка посылается запрос Accounting-Stop с указанием Calling-ID (31), Called-ID (30) и, возможно, длительности звонка и/или времени окончания соединения. Сервер RADIUS осуществляет тарификацию с учётом стоимости минуты разговора, определённой ранее, и длительности соединения. Если длительность соединения не указана, за неё принимается разность между временем окончания и временем начала. Если время окончания не указано, таковым считается время прихода запроса Aссounting-Stop. Если на протяжении звонка происходит смена временных диапазонов – звонок разбивается на части, которые тарифицируются по-отдельности. Если на протяжении звонка по какой-либо причине меняется стоимость минуты разговора, например, в следствие пересечения границы тарификации, звонок разбивается на части, в пределах которых стоимость минуты постоянна, далее эти части тарифицируются по-отдельности. Информация о списании передаётся в ядро NetUP 5+.

Звонки, для которых не передан запрос Accounting-Stop, в зависимости от настроек RADIUS могут быть либо проигнорированы, либо признаны завершившимися в определённый момент на основании запросов Interim-Update, и тарифицированы соответственно.

В случае, если поставщик информации не поддерживает её передачу RADIUS-серверу посредством запросов Accounting-Request, для разбора информации о звонках используется утилита utm5_send_cdr (см. Утилиты ⇒ Импорт текстовых файлов). Данная вспомогательная утилита разбирает файлы с информацией о звонках и передаёт полученные данные в ядро NetUP 5+ по протоколу URFA.

Схема организации сети

images\IPTel
Схема организации сети

Шлюз VoIP, соединяющий ТфОП с IP-сетью, организует преобразование голосового трафика из сети на базе протокола IP в ТфОП. Таким образом, пользователь с IP-телефоном либо компьютером с установленным программным телефоном (Microsoft NetMeeting, OpenPhone и др.) может вызывать абонента городской телефонной сети (ТфОП).

Аналогично и в обратную сторону: абонент городской телефонной сети (ТфОП) может вызывать абонента в сети с протоколом IP. Для этого необходимо набрать номер шлюза в сети ТфОП (на схеме это 9391000) и затем после авторизации (если этот механизм включён на шлюзе) набрать внутренний номер абонента в сети с протоколом IP (на схеме это номера 100 и 200).

images\IPTel two
Схема с участием привратника H.323

В схеме с участием привратника H.323 все устройства сети должны зарегистрироваться на привратнике. При этом авторизация может проводиться по протоколу RADIUS с использованием стандартной схемы Access-Request.

В итоге у привратника находится таблица IP-адресов и номеров всех устройств в сети. Соответственно, все вызовы начинаются с обращения к привратнику для преобразования набранного номера в IP-адрес. При этом привратник может запросить у сервера RADIUS авторизацию данного звонка и передать заполненные атрибуты Called-Station-Id (30) – набранный номер, и Calling-Station-Id (31) – номер вызывающего абонента. Сервер RADIUS проверяет баланс пользователя, тарифный план на вызываемое направление, и если баланс позволяет, то передаёт пакет Access-Accept, в котором может указать максимальное время соединения для данного пользователя по данному направлению. Обычно эта информация указывается в атрибуте h323-credit-time, vendor 9 (Cisco).

В случае, если авторизация прошла успешно, после согласования всех параметров устанавливается соединение между вызываемым и вызывающим терминалами. При этом привратник передаёт на сервер RADIUS пакет о начале соединения (Accounting-Start), в котором указывает параметры установленного соединения.

В случае, если терминалы находятся в одной сети, то общение между ними производится напрямую. Если вызываемый терминал находится в другой сети, то общение между терминалами производится через один из шлюзов. Также возможен вариант, когда общение клиента производится только с привратником. В этом случае привратник выполняет функции прокси, и реальные IP-адреса терминалов скрываются. Такая схема работы применяется, если канал напрямую между терминалами по качеству хуже (например, большие потери IP-пакетов либо задержки), чем между привратником и каждым терминалом.

По окончании соединения привратник пересылает на сервер RADIUS пакет с информацией о завершившемся звонке. В пакете указываются время соединения, причина завершения соединения и другие параметры. По этим данным сервер RADIUS проводит тарификацию сессии, списание средств и запись в журнал событий.

Для авторизации пользователей ТФоП может применяться IVR по следующей модели:

  1. Абонент ТфОП набирает городской номер доступа оператора IP-телефонии. При этом трубку поднимает шлюз IP-телефонии (например, Cisco 3640 с платой E1), подключённый к этой линии.

  2. Шлюз загружает звуковой файл (обычно *.au ) с записанным приглашением и проигрывает его абоненту. При этом обычно предлагается ввести номер и пин-код предоплаченной телефонной карты.

  3. После ввода определённого количества цифр производится авторизация с введёнными данными на сервере RADIUS. При этом номер карты обычно записывается в атрибут User-Name (1), а пин-код – в атрибут Password (2).

  4. В случае успешной авторизации сервер RADIUS присылает пакет Access-Accept, в котором указывает количество оставшихся средств на счёте. Для этого используются атрибуты h323-credit-amount и h323-currency с vendor=9 (Cisco). Шлюз IP-телефонии загружает соответствующие голосовые файлы, проигрывает абоненту остаток средств на счёте и предлагает ввести номер, по которому необходимо выполнить вызов. Следует заметить, что в основном IP-телефония выгодна для звонков на большие расстояния (междугородние и международные звонки).

  5. После ввода номера производится повторная авторизация на сервере RADIUS, при этом дополнительно передаётся атрибут Called-Station-Id (30), в котором записывается набранный номер. В зависимости от остатка средств на счёте и стоимости минуты соединения по этому направлению сервер RADIUS вычисляет максимальное время сессии и передаёт вычисленное время в пакете Access-Accept в атрибуте h323-credit-time. При отсутствии в запросе на аутентификацию атрибута Called-Station-Id (30) сервер R-ADIUS отдаёт атрибут h323-return-code (9,103) со следующим значением:

    • 0 – пользователь активен;

    • 1 – пользователь не существует;

    • 2 – пользователь заблокирован.

  6. После получения положительного ответа от сервера RADIUS шлюз IP-телефонии устанавливает соединение с вызываемым абонентом. Соединение будет разорвано, если длительность сессии составит количество секунд, вычисленное на предыдущем шаге.

  7. При установлении соединения на сервер RADIUS отсылается пакет Accounting-Start, при разрыве – пакет Accounting-Stop.

Тарификация входящих звонков

Включение опции: Системные настройкиТарификация ⇒ флаг Телефонный звонок тарифицируется сначала по исходящему номеру, если нет совпадений, то по входящему

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

Автоматическая регистрация

Гостевой доступ

Доступ с автоматической регистрацией

В биллинге предусмотрены два варианта активации предоплаченных интернет-карт для получения услуги коммутируемого доступа: гостевой доступ и обычный доступ с автоматической регистрацией пользователя. В первом случае пользователь, соединяясь впервые, использует известный ему гостевой логин и пароль и регистрируется в системе. После регистрации он заходит в систему, используя собственные параметры доступа. Во втором случае пользователь вводит номер и ПИН-код своей карты в качестве логина и пароля для коммутируемого соединения, после чего пользователь будет автоматически зарегистрирован в системе и сразу получит доступ в Интернет.

Для реализации автоматической регистрации пользователей этими двумя способами необходимо создать тарифный план и подключить к нему услугу коммутируемого доступа с соответствующей стоимостью соединений по коммутируемым линиям.

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

Гостевой доступ

В случае реализации гостевого доступа необходимо создать пользователя, логин и пароль которого будут известны всем перед регистрацией. Например, логин guest и пароль guest.

Гостевая учётная запись должна быть настроена таким образом, чтобы пользователь мог получить доступ только к веб-интерфейсу для активации интернет-карт. При необходимости можно также ограничить время соединения (например, 600 секундами).

Необходимо создать услугу Коммутируемый доступ со следующими параметрами: пул – GUEST, максимальный таймаут – 600 сек., стоимость соединения – 0 у. е. в час.

На маршрутизаторе, либо в NetUP 5+, необходимо создать пул IP-адресов с именем GUEST (например, 172.16.0.0/16). Маршрутизатор необходимо настроить таким образом, чтобы клиенты с IP-адресами из этого пула могли получать доступ только к веб-серверу, на котором производится активация карт, и к DNS-серверу. В целях безопасности рекомендуется организовать отдельный DNS-сервер, который не связан с Internet и содержит только записи, необходимые клиенту для доступа к веб-серверу регистрации.

После авторизации на веб-сервере регистрации интернет-карт абонент выбирает пункт меню Авторегистрация пользователя и вводит данные, указанные на интернет-карте. Если все данные введены верно, и карта не была активирована ранее и не заблокирована, то в NetUP 5+ автоматически будет создан новый карточный пользователь, и абонент получит информацию о логине и пароле для подключения по коммутируемым линиям. Выбрав пункт меню Вход в UTM на странице регистрации и указав логин и пароль, выданные системой после регистрации, абонент сможет получить доступ к своему личному кабинету, где для него доступна статистика его лицевого счёта.

Доступ с автоматической регистрацией

Для реализации моментального доступа по интернет-картам (с автоматической регистрацией) требуется дополнительная настройка RADIUS-сервера. В конфигурационном файле RADIUS-сервера /netup/utm5/radius5.cfg необходимо задать параметр radius_card_autoadd=yes

После перезапуска RADIUS-сервер будет автоматически регистрировать пользователей в NetUP 5+ при первой попытке доступа по предоплаченным картам.

Для получения доступа абонент должен указать номер интернет-карты в качестве логина и ПИН-код в качестве пароля. Если пользователь подключается по этой карте впервые, то RADIUS-сервер произведёт автоматическую регистрацию, и абонент моментально получит доступ в интернет. При каждом новом подключении пользователь должен будет ввести номер карты в качестве логина и ПИН-код в качестве пароля. После того как баланс карты истечёт, пользователь должен активировать новую карту.

Следует отметить, что подобная автоматическая регистрация возможна только при использовании протокола аутентификации PAP. Этот способ по умолчанию используется Windows для авторизации при модемном доступе, поэтому в большинстве случаев дополнительных настроек не требуется. Однако следует иметь в виду, что иногда необходимо менять конфигурацию клиентов, прежде чем они смогут автоматически зарегистрироваться таким способом.

Если доступ с автоматической регистрацией настроен правильно, то при первом входе пользователя в журнале RADIUS-сервера должны появиться следующие записи:

?Debug: Oct 27 12:08:00 RADIUS Auth: Packet from <example.org>
?Debug: Oct 27 12:08:00 RADIUS Auth: User <5> connecting
ERROR: Oct 27 12:08:00 RADIUS DBA: Can’t find login <5>
ERROR: Oct 27 12:08:00 RADIUS DBA: Can’t find card login <000000005>
?Debug: Oct 27 12:08:00 RADIUS Auth: Attempt to add new Card user: <5>
?Debug: Oct 27 12:08:00 RADIUS DBA: Sending Auto-Add Request for Card-ID: 5
?Debug: Oct 27 12:08:00 RADIUS URFA[plugin]: DLink: SLID/SID/AID: 14/6/14
?Debug: Oct 27 12:08:00 RADIUS URFA[plugin]: Account <14> with balance <10.000>
?Debug: Oct 27 12:08:00 RADIUS Auth: Got AutoAdd 14 UID from core.
ERROR: Oct 27 12:08:00 RADIUS DBA: Can’t find login <5>
?Debug: Oct 27 12:08:00 RADIUS DBA: login_store iter→second.dialup.session_count:0
Info: Oct 27 12:08:00 RADIUS Auth: User <5> added.
?Debug: Oct 27 12:08:00 RADIUS Auth: Auth scheme: PAP
?Debug: Oct 27 12:08:00 RADIUS Auth: PAP: <51154755> vs <51154755>
?Debug: Oct 27 12:08:00 RADIUS Auth: PAP: Authorized user <5>
?Debug: Oct 27 12:08:00 RADIUS Auth: Dialup session limit:0 session count:0 for user:5
?Debug: Oct 27 12:08:00 RADIUS Auth: Calculated maximum session time: 36000
?Debug: Oct 27 12:08:00 RADIUS DBA: dialup_link_up-date called for slink:14
?Debug: Oct 27 12:08:00 RADIUS DBA: soft dialup_ link_update for slink:14 session_count:1

HotSpot & Captive Portal

Данный модуль позволяет с помощью веб-интерфейса регистрировать в системе новых пользователей и проводить первую оплату за подключаемые услуги.

Авторизация пользователей осуществляется посредством регистрации с помощью мобильного телефона. Штатно в биллинге предусмотрена интеграция с сервисом smsc.ru.

Принцип работы:

Абонент при подключении к сети попадает на портал авторизации. Ему необходимо ввести свой номер телефона, после чего дождаться СМС с логином и паролем для входа в систему.

Только после первого входа в личный кабинет создаётся карточный пользователь и применяется тариф, который был выбран по-умолчанию.

Для корректной работы интеграции необходимо скорректировать настройки файла конфигурации customer_portal.

Имя пользователя
sms_service_login =

Пароль
sms_service_pass =

URL
sms_service_url = https://smsc.ru/sys/send.php?

Шаблон сообщения с зарезервированными словами (LOGIN,PASS)
smsc_msg_template = "Some text login: LOGIN password: PASS"

Имя отправителя сообщения
smsc_sender_name =

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

Логика работы регистрации:

Портал авторизации хранит информацию о прошедших регистрацию пользователях до перезагрузки системы.

  • В случае, когда система не перезагружалась, а пользователь пытается провести повторную регистрацию - происходит действие, обозначенное параметром send_sms_to_registered в конфигурации.

  • В случае, когда система была перезагружена, а пользователь пытается пройти регистрацию ещё раз - происходит проверка по логинам в БД. Если пользователь существует, то отрабатывает настройка send_sms_to_registered, если нет - происходит новая регистрация.

Настройка HotSpot под MikroTik

MikroTik содержит в себе встроенный функционал HotSpot, который можно использовать для работы с NetUP 5+.

Схема работы заключается в том, что непосредственно на MikroTik необходимо создать совместимую с биллингом страницу входа, которая открывается у абонента автоматически после подключения к точке. По мере успешной авторизации поднимается RADIUS-сессия, а после отключения клиента - сессия закрывается.

Порядок настройки:

  1. Выполнить подключение к MikroTik с доступом к файловой системе (например, ftp или winbox). Сделать дубликат папки стандартного хотспота hotspot, название папки задать utm5_hotspot или любое другое.

  2. Подготовить страницу авторизации и прописать необходимый домен в файле login.html из архива с шаблоном. Стандартно в примере прописан домен customer.portal/, замену нужно выполнить везде. Далее добавить все файлы шаблона в созданную папку utm5_hotspot.

  3. Настройки MikroTik выполнить согласно документации со следующими параметрами:

Нажмите, чтобы посмотреть скриншоты настроек в MikroTik
1
2
3
4
5
5

Логика авторизации HotSpot-абонента в интеграции с MikroTik:

  1. Абонент попадает на страницу авторизации, указывает номер телефона, выбирает тариф и нажимает кнопку регистрации.

  2. Абонент попадает на customer_portal со статусом "в процессе регистрации". В этот момент происходит отправка ему SMS через шлюз со сгенерированным паролем.

  3. Абонент вводит свой номер телефона и пароль из СМС.

  4. В customer_portal абонент переходит в статус "авторизован", в ядро 5+ отправляется запрос на создание нового абонента с логином в виде его номера телефона и паролем из смс, применяется выбранный при входе тариф.

  5. customer_portal сигнализируют об успешности регистрации, далее происходит авторизация через Raduis-сервер NetUP. Если на этом этапе не настроек профиль ISG, то абонент не получит доступ в интернет из-за нулевого баланса.

Нажмите, чтобы посмотреть пример настройки со стороны 5+
  1. Необходимо создать тарифных план с услугой HotSpot.

  2. В настройках Личный кабинетCaptive Portal добавить созданный тарифный план в список доступных для абонентов.

  3. В настройках ISG необходимо настроить профиль, который позволит октрывать абоненту HotSpot-сессию при первичном подключении с нулевым балансом.

5
  1. Добавить MikroTik в список NAS

5
  1. В случае успешной настройки будет подниматься HotSpot-серрсия на MikroTik и 5+. Отображение есть на странице Общая информацияИнформация о сессиях.

Интеграция с IPTV - NetUP MW

Данный модуль предназначен для интеграции биллинга с системой IPTV компании NetUP. Благодаря этому модулю система NetUP 5+ получает возможность добавления услуг просмотра ТВ каналов и списания средств за пользование этими услугами с пользователей. Также появляется возможность создания сервисных связок для услуг данного типа и, на их основании, управления доступом к просмотру ТВ каналов (прекращения доступа при блокировке лицевого счёта, предоставления доступа при внесении средств).

Предусмотрена возможность интеграции NetUP 5+ с системами IPTV других производителей. В этом случае взаимодействие может осуществляться посредством событий RFW и сторонних скриптов.

Для взаимодействия необходима установка специальной версии системы управления NetUP Middleware со стороны комплекса IPTV. Данное действие осуществляется вместе с технической поддержкой компании NetUP.

Поддерживаются следующие услуги:

  • Live (Эфирные каналы)

  • VoD (Виодео по запросу)

  • CatchUP & PauseTV (Запись архива эфира, пауза эфира)

NetUP IPTV предоставляет услуги на основании карт доступа. Наличие карты доступа является обязательным условием для получения доступа к просмотру ТВ каналов. Модуль интеграции позволяет создавать пользовательские карты доступа.

Управление доступом к ТВ каналам осуществляется посредством взаимодействия с NetUP IPTV Middleware. При необходимости предоставить клиенту доступ к медиа-контенту, NetUP 5+ отправляет IPTV Middleware команду разрешить просмотр медиа-контента клиенту с соответствующей картой доступа на неограниченный срок. В случае блокировки лицевого счета или отключения услуги (например, при смене тарифа), NetUP 5+ отправляет команду изменить время окончания предоставления доступа к контенту на текущее время, и, таким образом, прекратить доступ к контенту.

Для подключения модуля необходимо наличие лицензии Telecom.

Интеграция c IPTV - Смотрёшка

Последнее обновление модуля в 5.5.011 в связи с изменениями в работе сервиса!

Поддержка сервиса «Смотрёшка» позволяет подключать и тарифицировать услуги IPTV «Смотрёшка». Подключение услуг производится администратором через веб-интерфейс администратора.

При подключении к сервису «Смотрёшка» агент (провайдер) получает следующие параметры:

–URL агента следующего вида: https://provider_name.proxy.lfstrm.tv

–ID пакетов ТВ-каналов: 0001, 0002, 0003,...

Порядок настройки:

  1. В веб-интерфейсе NetUP 5+ откройте: НастройкиСистемныеОсновноеСмотрёшка. В поле Адрес хоста сервиса Смотрёшка введите полученный URL агента, и введите префикс (обязательно!) для идентификации пользователей в общей базе Смотрёшки. Нажмите Сохранить.

  2. Откройте ТарификацияШаблоны услуг и нажмите ДобавитьУслуга IPTV. В разделе Основное задайте наименование услуги (например, Смотрёшка IPTV) и выберете нужные дополнительные параметры.

  3. Перейдите в раздел Параметры услуги. В поле Используемая система IPTV выберите Lifestream. Нажмите Сохранить. Услуга Смотрёшка IPTV будет добавлена в список шаблонов.

  4. Далее необходимо создать тарифный план с услугой Смотрёшка IPTV. При добавлении услуги в тарифный план: если не требуется автоматическое подключение услуги пользователю при создании тарифной связки, снимите галочку Подключать по умолчанию. В разделе Параметры услуги введите в поле Пользовательские данные ID пакета ТВ-каналов. Задайте периодическую составляющую стоимости. Нажмите Сохранить. Услуга будет добавлена в тарифный план.

  5. Перед подключением тарифа пользователю необходимо в его карточке, в разделе Дополнительные параметры, указать в поле Lifestream user email адрес электронной почты, на который будут отправлены логин и пароль для авторизации пользователя на сервере «Смотрёшка». Поле Lifestream user id будет автоматически заполнено после подключения тарифа пользователю и успешной синхронизации на стороне сервера «Смотрёшка».

Интеграция c IPTV - 24часаТВ

Интеграция реализована для варианта "48 часов"

Начиная с версии 5.5.014 добавлена интеграция с сервисом 24часаТВ.

Особенности работы интеграции:

  • Услуга добавляется аналогично другим стандартным типа IPTV.

  • У абонента не может быть одновременно две услуги типа 24часаТВ!

  • Стоимость услуг определяется сервисом 24часаТВ и не может быть задана вручную при создании услуги.

  • Если абонент самостоятельно отписывается от услуги, то она автоматически снимается и в биллинге.

  • Если абонент регистрируется самостоятельно, то сервис 24часаТВ отправляет данные о его IP-адресе и номере телефона в NetUP 5+. В этот момент в NetUP 5+ происходит сопоставление IP (если он выдан статикой) и, если неудачно, номера телефона. После этой процедуры абонент появится в списке привязанных.

  • Если абонент сам покупает переход на более дорогой пакет (или это делает администратор через панель управления), то переход происходит сразу с перерасчётом средств.

  • Если абонент или администратор выбирают переход на более дешёвый пакет - он применяется в следующем расчётном периоде биллинга 24часаТВ.

  • Модуль позволяет выполнять ручную приостановку предоставления услуг по сервисам 24часаТВ как со стороны абонента (в ЛК NetUP 5+), так и администратором из веб-интерфейса управления.

Порядок настройки:

  1. В веб-интерфейсе NetUP 5+ откройте: НастройкиЛичный кабинет24TV

  2. На вкладке параметры заполните авторизационные данные, полученные от сервиса 24часаТВ, а также активируйте параметр Enable 24TV in customer portal. Данная опция активирует модуль и отображает в личном кабинете абонентов дополнительный блок с информацией о подписке. Помимо использования API-ключа применяется обязательная базовая авторизация. Её настройка согласуется с представителями сервиса 24часаТВ.

  3. Далее необходимо создать стандартную услугу IPTV. Для этого зайдите в УслугиДобавитьУслуга IPTV. В параметрах услуги выберете тип 24часаТВ и выберете пакет, для которого создаётся услуга. Пакеты сами загружаются из базы 24часаТВ. Заполните вкладку основных параметров и сохраните изменения.

  4. Теперь абоненты могут регистрироваться сами через приложения или быть добавленными администратором.

Регистрация абонентов администратором NetUP 5+:

  1. В карточку абонента NetUP 5+ необходимо обязательно добавлять номер мобильного телефона и ФИО, для которых в последствии осуществляется регистрация.

  2. Услуги IPTV для 24часаТВ должны быть заранее созданы.

  3. Выполните регистрацию абонента в базе 24часаТВ. Сделать это можно во вкладке НастройкиЛичный кабинет24TV ⇒ Абоненты ⇒ Добавить. ФИО и телефон подгружаются из карточки абонента автоматически, но вы можете подправить их вручную.

  4. Зайдите в карточку абонента и добавьте ему созданную услугу 24часаТВ под желаемый пакет. Во время добавления услуги расчётный период можно выбрать произвольный, на расчёты это не влияет (только в этой интеграции!).

Списания можно контролировать согласно отчёту по индивидуальным услугам.

Дополнительная информация

  • Путь обработки запросов (запрашивается администрацией 24чТВ): /customer_api/integrations/24tv

  • API ключ можно получить в личном кабинете 24чТВ.

  • Пара логин и пароль для базовой авторизации придумывается самостоятельно и сообщается администрации 24чТВ.

Интеграция с Рентсофт

NetUP 5+ интегрирована с системой Рентсофт (Rentsoft), которая позволяет абонентам оформлять ежемесячную подписку на различные популярные программные продукты (антивирусы и т.п.).
Списание оплаты за подписку производится вместе со списанием за доступ в Интернет. Услуги, оказываемые посредством системы Рентсофт, не вносятся в список услуг NetUP 5+, однако списания за данные услуги регистрируются и вынесены в отдельный отчёт – Индивидуальные услуги. Счета за такие списания выставляются непосредственно после самого списания.

Первичная настройка модуля осуществляется через Web-интерфейс администратора 5+ в меню НастройкиСистемныеRentsoft.

Здесь необходимо активировать модуль, а затем внести авторизационные данные и прочие параметры, которые можно найти в личном кабинете на сайте Rentsoft.

Следующий шаг: НастройкиЛичный кабинетRentsoft. Здесь необходимо создать группу пользователей, для которых будет доступна данная услуга, а так же задать сопутствующие параметры.

Настройки в личном кабинете со стороны Рентсофт:

Адрес для списания средств: IP_адрес/customer_api/integrations/rentsoft

URL размещение IFRAME: IP_адрес/#/rentsoft

Для URL "информации о пополнении" и URL "для отображения баланса" можно использовать прямой адрес личного кабинета абонентов.

Рекомендуемые правила CSS:

@color-brandPrimary: #117a8b;
@color-brandPrimaryHover: #138496;

Результат выполнения данной инструкции: появление в личном кабинете абонентов новой вкладки "Подписки", где будет доступен фрейм с позициями от Rentsoft.

"Чат с техподдержкой" для абонентов

Данная функция (добавлена в 5.5.003) позволяет абонентам из личного кабинета писать в службу технической поддержки своего оператора связи. Все сообщения попадают в веб-панель администратора NetUP 5+.

Для корректной работы функции обновите конфигурацию nginx согласно разделу Обновление 5.5.003.

Все чаты с абонентами создаются в меню: ОсновноеТех. поддержка

Настройки осуществляются: НастройкиЛичный кабинетЧат тех. поддержки

Здесь можно определить группы пользователей, для которых чат будет отображаться.

Интеграция с 1С

В комплекте с NetUP 5+ модуль 1С не поставляется. Для его разработки привлекается внешний партнёр - компания Портал-ЮГ. Они же оказывают поддержку данного модуля, а также осуществляют его продажу.

Со стороны биллинговой системы никаких дополнительных модулей не требуется.

Возможности

  • Позволяет передавать информацию между АСР NetUP 5+ и системой "1С:Предприятие 8".

  • Обеспечивает синхронизацию данных между этими системами.

  • Передача данных осуществляется с использованием технологии REST API.

  • Не требует изменения конфигурации "1С:Предприятия" — может работать с доработанными конфигурациями.

  • Обеспечивает выполнение следующих операций:

    • создание записей в справочниках "Контрагенты" и "Договоры контрагентов";

    • создание документов "Счет" или "Реализация товаров и услуг" (по выбору пользователя, в последнем случае доступно создание документов "Счет-фактура выданный");

    • создание документов "Приходный кассовый ордер" и "Поступление на расчетный счет", фиксирующих поступление платежей по оказанным услугам;

    • передача информацию о созданных в 1С платежах в АСР NetUP 5+;

    • передача записей справочника "Контрагенты" в АСР NetUP 5+.

Особенности работы

Все операции выполняются только по уже синхронизированным контрагентам. Настоятельно рекомендуется в первую очередь выполнить загрузку контрагентов, и только после этого при необходимости выполнить выгрузку контрагентов из 1С в АСР NetUP 5+.

При загрузке контрагенты опознаются по совпадению ИНН/КПП, при неудаче поиска — по наименованию, при повторной неудаче — в 1С создается запись о контрагенте.

Документы загружаются в разрезе лицевых счетов. В данном контексте Лицевой счет абонента в АСР NetUP 5+ = Договор контрагента в 1С.

Бонусная система

Доступно с 5.5.011

Включение данного модуля позволяет абонентам накапливать бонусные баллы. Для их учёта у каждого абонента имеется один дополнительный бонусный счёт, состояние которого отражается в карточке абонента. Бонусный счёт всегда один вне зависимости от числа лицевых счетов.

Бонусы доступны для использования только при самостоятельном подключении тарифов и услуг абонентом через ЛК.

Начисление бонусов происходит автоматически по следующим событиям:

  • Процент от внесённого платежа

  • Процент от списания за услугу

Ручное начисление бонусов администратором на текущий момент недоступно (опция появится в ближайших апдейтах).

Включение бонусной системы:

  1. НастройкиСистемныеОсновноеБонусы. Активировать пункт включить бонусы и выставить желаемые коэффициенты для системы начисления и списания.

  2. Настроить разрешения для самостоятельного подключения услуг абонентом через ЛК: НастройкиЛичный кабинетТарифы и услуги. При добавлении разрешения для тарифа или услуги поставить галочку Бонусы активны.

После включения функции в личном кабинете абонентов появится строка количества бонусов, но отображается она только при условии, что бонусов больше нуля. Бонусы начисляются и в случае добавления платежей через панель администратора.

Серверы

RADIUS

Запросы DM и CoA

Схема работы сервера RADIUS

Авторизация и аккаунтинг

Тарификация трафика

Демон utm5_radius

Конфигурационный файл

Динамическое распределение IP-адресов

Сервер RADIUS взаимодействует с ядром NetUP 5+ по протоколу Stream, а с серверами доступа (далее – NAS) по протоколу RADIUS в соответствии со стандартами RFC 2865, 2866 и 5176.

Протокол Remote Authentication Dial In User Service (RADIUS) обеспечивает авторизацию, аутентификацию и аккаунтинг между сервером доступа (NAS) и сервером авторизации (RADIUS).

Один экземпляр ядра NetUP 5+ может работать только с одним RADIUS-сервером.

Если NAS взаимодействует по протоколу RADIUS, он не хранит базу данных пользователей. Чтобы подключить пользователя, NAS отправляет Access-Request (запрос доступа) на сервер RADIUS.
Если сервер разрешает соединение, то в ответ отправляет на NAS Access-Accept, если запрещает доступ – Access-Reject. Если серверу RADIUS требуется дополнительная информация, он отправляет на NAS запрос Access-Challenge.

RADIUS_NAS

Если NAS настроен на передачу информации о соединении, то после установления соединения сервер RADIUS отправляет запрос на учёт (Accounting-Request), который содержит информацию о начале сессии. В зависимости от конфигурации, NAS также может отправлять дополнительные запросы на учёт – Accounting-Request, содержащие информацию о текущем состоянии установленного соединения, с периодичностью, определённой в конфигурации NAS.

Если для соединения был отправлен хотя бы один запрос Accounting-Request, то при разрыве данного соединения NAS должен отправить Accounting-Request с итоговой информацией о соединении.

При получении запроса Accounting-Request сервер RADIUS создаёт, изменяет или удаляет объект, ассоциированный с соединением. В зависимости от содержания запроса, сервер может выполнить дополнительные действия, направленные на сохранение в оперативном доступе необходимой информации о соединении.

В случае успешной обработки Accounting-Request RADIUS отправляет на NAS Accounting-Response – ответ об успешной отработке запроса.
В случае неудачной обработки любого запроса ответы на NAS не передаются.
Пакеты от неизвестного (незарегистрированного в системе) NAS игнорируются.

Сервер RADIUS и NAS обмениваются RADIUS-пакетами по протоколу UDP. Для приёма запросов на проверку доступа (Access-Request) RADIUS обычно использует порт 1812, а для приёма запросов на учёт (Accounting-Request) – порт 1813.

В общем случае RADIUS-пакет выглядит следующим образом:

RADIUS_packet
  • Code – поле, используемое для идентификации типа RADIUS-пакета. Сервер RADIUS поддерживает RADIUS-пакеты со следующими кодами:

    Тип Название RADIUS-сервер принимает / передаёт

    1

    Access-Request

    принимает

    2

    Access-Accept

    передаёт

    3

    Access-Reject

    передаёт

    4

    Accounting-Request

    принимает

    5

    Accounting-Response

    передаёт

    11

    Access-Challenge

    передаёт

  • Identifier – число, предназначенное для соотнесения запроса и ответа.
    Дублирующиеся запросы с одинаковым идентификатором, поступившие в течение короткого промежутка времени от одного и того же NAS, игнорируются.

  • Length – суммарная длина полей Code, Identifier, Authenticator и Attributes.

  • Authenticatorдля запроса – это уникальная последовательность символов, используемая совместно с MD5-суммой общего для RADIUS и NAS секретного слова (secret) для шифрования пароля пользователя с помощью обратимого алгоритма;
    для ответа – это MD5-сумма полей Code, Identifier, Length, Authenticator, Attributes и общего секретного слова.
    В целях обеспечения безопасности, общее секретное слово должно быть достаточно длинным и сложным для подбора. Категорически не рекомендуется использовать пустое общее секретное слово. Для определения того, какое общее секретное слово будет использоваться, сервер RADIUS использует адрес отправителя RADIUS-пакета.

  • Attributes – поле переменной длины, содержащее список атрибутов RADIUS.

В биллинге, начиная с версии 5-3.004, реализована поддержка тегированных атрибутов RADIUS

Каждый RADIUS-атрибут содержит специфичную дополнительную информацию о запросе или ответе.

RADIUS_attributes

В общем случае RADIUS-атрибут выглядит следующим образом:

  • Type – число, определяющее назначение данного атрибута.
    Описание типов RADIUS-атрибутов смотрите здесь.

  • Length – суммарная длина полей Type, Length и Value.

  • Value – информация, специфичная для каждого типа атрибута. В зависимости от типа атрибута данное поле может содержать следующие данные:

    text

    от 1 до 253 байт, содержащих текст в UTF-8 (в строке недопустимо использование символа с нулевым кодом)

    string

    от 1 до 253 байт, содержащих бинарную информацию

    address

    32 бита, интерпретируемые как адрес

    integer

    32 бита, интерпретируемые как целое число без знака

    time

    32 бита, интерпретируемые как время в секундах с 00:00:00 1 января 1970 UTC.

Некоторые атрибуты могут быть включены в пакет более одного раза. В этом случае их интерпретация зависит от типа атрибута. Порядок следования атрибутов является существенным.

В пакет также включаются дополнительные атрибуты, указанные в настройках NAS, услуг и сервисных связок. Атрибуты, указанные в настройках NAS, добавляются первыми, в настройках услуг – вторыми, в настройках сервисных связок – в последнюю очередь. NetUP 5+ позволяет настроить определённые действия при добавлении атрибутов, например, заменить или удалить ранее добавленный атрибут. Таким образом, больший приоритет имеют атрибуты, указанные в свойствах сервисных связок.

В дальнейшем при указании на какой-либо RADIUS-атрибут будет использоваться его общепринятое название, а идентификатор типа будет указан в скобках. Например, атрибут User-Name (1).

Существует тип атрибута Vendor-specific (26), предназначенный для передачи расширенных атрибутов, назначение которых определяется различными организациями.

RADIUS_vendor

Данные, передаваемые в этом атрибуте, интерпретируются следующим образом:

  • Vendor-Id – число, идентифицирующее организацию, которая определяет назначение данного атрибута;

  • Vendor-Type – число, определяющее назначение данного атрибута;

  • Vendor-Length – суммарная длина полей Vendor-Type, Vendor-Length и Data;

  • Data – данные специфичной части атрибута.

В дальнейшем при упоминании vendor-specific-атрибутов будет использоваться их общепринятое название, а Vendor-Id и Vendor-Type будут указаны в скобках через точку с запятой. Например, Cisco-AVPair (9;1).

Запросы DM и CoA

Если необходимо изменить параметры сессии или разорвать её, сервер RADIUS отправляет запрос в соответствии со стандартом 5176. Для изменения параметров или разрыва каждой сессии RADIUS отправляет отдельный запрос.

Запрос разрыва сессии (Disconnect Message – DM) и запрос изменения параметров сессии (Change of Authorization – CoA) имеют одинаковый формат и отправляются по умолчанию на UDP-порт 3799. Номер порта можно изменить в настройках NAS.

Запросы DM используются, если баланс лицевого счета пользователя становится отрицательным. Для идентификации сессии в запросе могут присутствовать следующие атрибуты:

User-Name

имя пользователя, ассоциированного с одной или более сессиями

NAS-Port

порт, используемый сессией, которую нужно разорвать

Framed-IP-Address

IPv4 адрес, ассоциированный с сессией

Vendor-Specific

один или более vendor-specific атрибутов

Called-Station-Id

идентификатор вызываемой стороны

Calling-Station-Id

идентификатор вызывающей стороны

Acct-Session-Id

идентификатор сессиb на NAS

Если NAS удаётся идентифицировать и разорвать сессию, он отвечает на запрос Disconnect-ACK, в противном случае – Disconnect-NAK.

Запросы CoA используются для изменения параметров шейпинга (регулирования пропускной способности канала) для текущей сессии. Как правило, эти параметры меняются в определённое время суток или по достижении определённого лимита трафика.

Если NAS поддерживает запросы CoA и в интерфейсе администратора, в настройках NAS, выбрана соответствующая опция, то при наступлении любого из двух этих событий сервер RADIUS отправит NAS соответствующий запрос CoA.

Аналогично запросу DM, запрос CoA содержит атрибуты, позволяющие идентифицировать сессию, а также новые значения параметров RADIUS, которые необходимо применить. Если NAS удаётся идентифицировать сессию и применить новые параметры, он отвечает на запрос CoA-ACK, в противном случае –CoA-NAK.

Схема работы сервера RADIUS

  1. Соединение с ядром биллинга.

  2. Получение от ядра информации о необходимых событиях.

  3. Взаимодействие с NAS.

  4. Передача ядру биллинга данных о взаимодействии.

При запуске RADIUS подключается к ядру NetUP 5+, авторизуется, используя соответствующие параметры конфигурационного файла, и устанавливает соединение по протоколу Stream.
После установления соединения ядро биллинга направляет RADIUS-серверу информацию обо всех необходимых объектах в соответствующих событиях.
Сервер RADIUS поддерживает постоянное соединение с ядром по протоколу Stream и при создании, изменении или удалении объектов системы, параметры которых необходимы серверу, ядро биллинга отправляет определённое событие.

При получении соответствующего события RADIUS-сервер создаёт, изменяет или удаляет во внутренних таблицах данные о следующих объектах:

  • IP-группы;

  • NAS;

  • лицевые счета;

  • временные диапазоны;

  • услуги передачи трафика и телефонии;

  • сервисные связки услуг коммутируемого доступа и телефонии;

  • телефонные зоны;

  • телефонные направления;

  • именованные IP-пулы.

Авторизация и аккаунтинг

При поступлении запроса Access-Request сервер RADIUS проводит процедуру аутентификации пользователя и определяет сервисную связку, которой принадлежит логин, полученный в запросе на авторизацию.

Для аутентификации может быть использован один из следующих методов: PAP, CHAP, MS-CHAP v1, MS-CHAP v2, EAP-MD5, EAP-TTLS, Digest.

Аутентификация по методу Digest отклоняется от RFC и реализована согласно спецификации tools.ietf.org/id/draft-sterman-aaa-sip-00.txt

В запросе на авторизацию в обязательном порядке должен быть указан атрибут User-Name (1). Часть значения атрибута User-Name (1) до символа : записывается в параметр Callback_prefix. Логин рассматривается без префикса. Все буквенные символы в логине принудительно переводятся в нижний регистр. Если атрибут User-Name (1) не указан, сервер игнорирует Access-Request и не производит последующие действия.
Если аутентификация прошла неудачно или метод аутентификации не поддерживается, на NAS отправляется ответ Access-Reject.
Если в конфигурационном файле сервера RADIUS установлен параметр guest_pool_name, то незарегистрированные пользователи также могут быть авторизованы.

Перечень производимых действий зависит от типа сервисной связки.

Для сервисной связки услуги передачи IP-трафика:

  • Если в конфигурационном файле сервера RADIUS установлен параметр radius_auth_vap, то лицевой счёт, на который ссылается сервисная связка, проверяется на отсутствие действующей в данный момент блокировки.

  • Проверяется наличие хотя бы одного свободного IP-адреса для данной IP-группы.

  • Если параметр IP-группы Разрешённые CID имеет непустое значение, то проверяется значение атрибута Calling-Station-Id (31) на соответствие заданному в значении данного параметра регулярному выражению.

  • Если в конфигурационном файле сервера RADIUS установлен параметр radius_nas_port_vpn, то проверяется значение атрибута NAS-Port-Type (61) на точное соответствие значению хотя бы одного параметра radius_nas_port_ vpn.

Если хотя бы одна из проверок завершится неудачно, то сервер отправляет в ответ Access-Reject и дальнейшие действия не производит.
При успешном прохождении проверок отправляется ответ Access-Accept, содержащий следующие атрибуты:

Service-Type (6)

передаётся значение 2

Framed-IP-Netmask (9)

передаётся значение 0xFFFF FFFF

Framed-Routing (10)

передаётся значение 0

Framed-Protocol (7)

передаётся значение 1

Framed-IP-Address (8)

передаётся первый свободный IP-адрес для данной IP-группы. IP-адрес помечается как занятый на время, указанное в значении параметра radius_ippool_acct_timeout в конфигурационном файле RADIUS-сервера.

Session-Timeout (27)

передаётся значение параметра radius_default_session_timeout из конфигурационного файла RADIUS-сервера.

Для сервисной связки услуги коммутируемого доступа:

  • Если параметр Разрешён Callback не установлен, проверка возвращает отрицательный результат при наличии Callback_prefix. Если параметр Разрешён Ringdown не установлен, проверка возвращает отрицательный результат при отсутствии Callback_prefix.

  • Если параметр Разрешённые CID имеет непустое значение, проверяется соответствие значения атрибута Calling-Station-Id (31) заданному в значении данного параметра регулярному выражению.

  • Если параметр Разрешённые CSID имеет непустое значение, проверяется соответствие значения атрибута Called-Station-Id (30) заданному в значении данного параметра регулярному выражению.

  • Проверяется количество установленных для данной сервисной связки соединений на соответствие максимальному числу одновременных сессий, заданному в свойствах услуги, на которую ссылается сервисная связка.

  • Если в конфигурационном файле сервера RADIUS не установлен параметр blocked_pool_name, проверяется отсутствие действующей блокировки лицевого счета.

  • Вычисляется максимальное время соединения по балансу лицевого счета и параметрам сервисной связки. Проверка пройдёт успешно, если значение максимального времени соединения больше 0, и текущее время входит в установленный временной диапазон, а также если средств на балансе лицевого счета достаточно для оплаты как минимум одной секунды соединения в текущее время.

  • Если в свойствах услуги указан пул, зарегистрированный на RADIUS-сервере, определяется первый свободный IP-адрес в данном пуле. Если свободные IP-адреса отсутствуют, то проверка не проходит.

  • Если в конфигурационном файле сервера RADIUS установлен параметр radius_ nas_port_dialup, проверяется значение атрибута NAS-Port-Type (0;61) на точное соответствие значению хотя бы одного параметра radius_nas_port_ dialup.

Если хотя бы одна из проверок завершится неудачно, то сервер отправляет в ответ Access-Reject и дальнейшие действия не производит.
При успешном прохождении проверок отправляется ответ Access-Accept.

Если пользователь заблокирован, и в конфигурационном файле сервера RADIUS установлен параметр blocked_pool_name, то адрес будет выдан из пула, предназначенного для заблокированных пользователей (заданного этим параметром).

При снятии блокировки с лицевого счёта будет отправлен запрос DM (disconnect-message), соответственно, сессия будет разорвана и потребуется повторное подключение.

Если пользователь не зарегистрирован, и в конфигурационном файле сервера RADIUS установлен параметр guest_pool_name, то адрес будет выдан из пула, предназначенного для гостевых пользователей (заданного этим параметром).

Если в свойствах услуги коммутируемого доступа в качестве параметра Название пула установлено имя зарегистрированного в системе IP-пула, передаются следующие атрибуты:

Service-Type (6)

передаётся значение 2

Framed-IP-Netmask (9)

передаётся значение 0xFFFF FFFF

Framed-Routing (10)

передаётся значение 0

Framed-Protocol (7)

передаётся значение 1

Framed-IP-Address (8)

передаётся свободный IP-адрес для данной IP-группы; IP-адрес помечается как занятый на время, указанное в значении параметра radius_ippool_acct_timeout в конфигурационном файле RADIUS-сервера

Session-Timeout (27)

передаётся максимальное время текущей сессии

Если в свойствах услуги коммутируемого доступа в качестве параметра Название пула установлено имя незарегистрированного в системе IP-пула, передаются следующие атрибуты:

Service-Type (6)

передаётся значение 2

Framed-MTU (12)

передаётся значение 1500

Framed-Routing (10)

передаётся значение 0

Framed-Protocol (7)

передаётся значение 1

Session-Timeout (27)

передаётся максимальное время сессии

Cisco-AVPair (9;1)

передаётся значение addr-pool=<имя пула>, где <имя пула> – имя незарегистрированного в системе IP-пула

Кроме того, если на этапе авторизации был выделен ненулевой Callback_prefix, в ответ добавляются следующие атрибуты:

Callback-Number (19)

передаётся значение callback number, если в конфигурационном файле RADIUS-сервера не задан параметр radius_callback_avpair_enable

Callback-Id (20)

передаётся логин для Callback, если в конфигурационном файле RADIUS-сервера не задан параметр radius_callback_avpair_enable

Cisco-AVPair (9;1)

передаётся значение lcp:callback-dialstring= <callback_prefix>, если в конфигурационном файле RADIUS-сервера задан параметр radius_callback_avpair_enable

После выдачи IP-адрес помечается как занятый на время, указанное в параметре radius_ippool_timeout конфигурационного файла RADIUS.

Для любых сервисных связок в ответ Access-Accept включаются атрибуты, установленные для услуги, на которую ссылается сервисная связка.

Запросы на учёт (Accounting-Request) используются RADIUS-сервером для определения занятости выделенных IP-адресов, тарификации услуг hotspot, коммутируемого доступа и телефонии, тарификации трафика, а также для динамического создания, изменения и удаления IP-групп.

Запрос Accounting-Request должен обязательно содержать следующие атрибуты:

  • Acct-Status-Type (40)

  • Acct-Session-Id (44)

  • Framed-IP-Address (8)

При отсутствии хотя бы одного из данных атрибутов запрос игнорируется.

Тип запроса на учёт определяется атрибутом Acct-Status-Type (40).

RADIUS-сервер различает три типа запросов Accounting-Request:

Acct-Status-Type Названия Комментарий

(1)

Start

сообщает о начале сессии

(2)

Stop

сообщает о завершении сессии

(3)

Interim-Update

сообщает промежуточные данные установленного соединения

При получении запроса Start:

  • Создаётся объект, описывающий сессию с идентификатором, указанным в атрибуте Acct-Session-Id (44); по протоколу Stream ядру передаётся соответствующее событие.

  • Если логин, указанный в атрибуте User-Name (1), принадлежит IP-группе или сервисной связке услуги коммутируемого доступа, последний IP-адрес для данной IP-группы или сервисной связки помечается как занятый на неопределённое время. IP-адрес помечается как занятый на время, указанное в параметре radius_ippool_timeout, если этот параметр установлен. Когда установлен параметр interim_update_interval, IP-адрес освободится в течение тройного промежутка времени, установленного для этого параметра, если для сессии не поступало запросов Interim-Update.

  • IP-адрес, ассоциированный с сессией, помечается как занятый.

При получении запроса Stop:

  • Если значение атрибута User-Name (1) соответствует логину сервисной связки услуги коммутируемого доступа, то выполняется тарификация сессии на основании времени, указанного в атрибуте Acct-Session-Time (46). Информация о необходимом списании передаётся ядру по протоколу Stream соответствующим событием.

  • Объект, описывающий сессию с идентификатором, указанным в атрибуте Acct-Session-Id (44), удаляется. Информация об удалении данного объекта передаётся ядру по протоколу Stream соответствующим событием.

  • IP-адрес помечается как свободный.

При получении запроса Interim-Update:

  • Обновляется объект, описывающий сессию с идентификатором, указанным в атрибуте Acct-Session-Id (44); по протоколу Stream ядру передаётся соответствующее событие.

  • Если логин, указанный в значении атрибута User-Name (1), принадлежит IP-группе или сервисной связке услуги коммутируемого доступа, включён механизм контроля сессий по запросу Interim-Update и установлен параметр interim_update_interval, то IP-адрес освободится только в том случае, если в течение тройного промежутка времени, заданного в этом параметре, для сессии не поступало запросов Interim-Update.

Следует отметить, что есть определённые особенности обработки запросов на учёт. В общем случае, при поступлении запроса Stop или Interim-Update с идентификатором сессии, которая ранее не была зарегистрирована со статусом «открыта», будет создана новая сессия. Сервер RADIUS может хранить информацию о закрытых сессиях в кеше, чтобы не создавать повторную сессию по запросу Stop или Interim-Update, содержащему идентификатор сессии, которая уже была закрыта. По умолчанию данная возможность отключена. Чтобы задействовать кеш закрытых сессий, в конфигурационном файле необходимо установить значения для двух параметров:

  • use_closed_sessions_cache=on

  • closed_sessions_cache_size=<число>– размер кеша закрытых сессий; определяет количество закрытых сессий, о которых будет храниться информация.

Если кеш задействован, то когда сессии присваивается статус «закрыта», идентификатор Acct-Session-Id данной сессии помещается в кеш закрытых сессий. При поступлении запроса Stop или Interim-Update производится поиск Acct-Session-Id в кеше. Если содержащийся в запросе идентификатор сессии будет найден, то информация об этом запросе не будет передана ядру биллинга. При поступлении запроса Start идентификатор сессии из этого запроса удаляется из кеша.

Когда количество записей в кеше достигает максимального, при добавлении новой записи самая старая запись удаляется. Чем больше размер кеша, тем меньше вероятность создания повторной сессии по запросу Stop или Interim-Update, но тем больше времени и ресурсов компьютера потребуется для поиска в кеше.
Для каждой отдельной системы требуемый размер кеша зависит от многих параметров, таких как, например, количество зарегистрированных пользователей, число сессий на каждого пользователя и т. п. Поэтому для параметра closed_sessions_cache_size значение по умолчанию не предусмотрено.

При остановке RADIUS-сервера вся информация о закрытых сессиях будет утеряна.

Тарификация трафика

Если сервер доступа не поддерживает экспорт статистики по протоколу NetFlow, то информация о потреблённом трафике может быть получена на основании запросов Stop или Interim-Update. Для использования этого механизма необходимо присвоить произвольное значение системному параметру radius_do_accounting (для тарификации по запросам Stop) или radius_do_interim_accounting (для тарификации по запросам обоих типов).

При получении запроса Stop или Interim-Update RADIUS-сервер создаст две записи с информацией о трафике, которые далее будут тарифицироваться в ядре биллинга по стандартному механизму.

В первой записи с информацией о трафике в качестве адреса отправителя будет указан IP-адрес сервера доступа, а в качестве адреса получателя – IP-адрес абонента, использованный в данной сессии. Количество потреблённых байт берётся из атрибутов Acct-Input-Octets (42) и Acct-Input-Gigawords (52), содержащихся в запросе Stop или Interim-Update. Во второй записи с информацией о трафике в качестве адреса получателя будет указан IP-адрес сервера доступа, а в качестве адреса отправителя – IP-адрес абонента, использованный в данной сессии. Количество байт берётся из атрибутов Acct-Output-Octets (43) и Acct-Output-Gigawords (53).

Сформированные записи передаются ядру NetUP 5+ в соответствующем событии по протоколу Stream.

Если задан параметр interim_update_interval, то подразумевается, что NAS должен отправлять запросы Interim-Update по каждой открытой сессии с данной периодичностью. При отсутствии новых запросов в течение тройного периода или при поступлении запроса Stop сессия считается завершённой, а связанные с ней IP-адреса освобождаются.

По умолчанию значение для данного параметра не установлено, и сессия завершается только при поступлении запроса Stop. Если NAS поддерживает отправку запросов Interim-Update, рекомендуется определить значение для этого параметра во избежание возникновения "повисших" сессий.

Демон utm5_radius

Исполняемый файл RADIUS расположен в /netup/utm5/bin/utm5_radius. В командной строке можно передавать следующие параметры:

-p <путь>

Путь к pid-файлу

-c <путь>

Путь к конфигурационному файлу

-v

Вывод информации о версии и допустимых параметрах командной строки

Существуют 3 способа запуска utm5_radius:

  1. Непосредственный запуск бинарного файла /netup/utm5/bin/utm5_radius с необходимыми параметрами.

  2. Запуск с помощью скрипта watchdog с указанием параметра start
    /netup/utm5/bin/safe_utm5_radius start/
    Скрипт автоматически перезапустит utm5_radius, если он по каким-либо причинам некорректно завершит работу.

  3. Запуск с помощью скрипта автоматического запуска (рекомендуемый способ):
    /etc/init.d/utm5_radius start
    В этом случае произойдёт запуск скрипта watchdog. Для остановки utm5_radius и скрипта следует выполнить команду:
    /etc/init.d/utm5_radius stop

Конфигурационный файл

По умолчанию сервер RADIUS использует конфигурационный файл /netup/utm5/radius5.cfg.

Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #, считается комментарием.

Параметр Возможные значения По умолчанию Описание

core_host

IP-адрес

обязательный параметр

IP-адрес хоста, на котором запущено ядро NetUP 5+

core_port

от 1 до 65534

обязательный параметр

Порт, на котором ядро NetUP 5+ слушает Stream (параметр stream_bind_port в конфигурационном файле ядра)

radius_login

строка

radius

Логин пользователя для доступа к ядру биллинга

radius_password

строка

radius

Пароль пользователя для доступа к ядру биллинга

radius_pid_file

имя файла

/var/run/utm5_radius.pid

PID-файл

database_use

строка

false

Если true, то запросы авторизации абонентов не будут отправляться в ядро, модуль RADIUS обработает их самостоятельно. Позволяет снизить нагрузка на ядро при использовании конфига c ISG.

radius_ping_interval

число

30

Длительность повторных попыток соединения с ядром (в секундах)

radius_acct_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

Адрес хоста для приёма запросов на учёт (Accounting-Request)

radius_acct_port

число от 1 до 65534

1813

Порт для приёма запросов на учёт (Accounting-Request)

radius_auth_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

Адрес хоста для приёма запросов на проверку доступа (Access-Request)

radius_auth_port

от 1 до 65534

1812

Порт для приёма запросов на проверку доступа (Access-Request)

radius_auth_mppe

enable

генерация ключей не производится

Включает генерацию ключей MPPE 128 бит, используемых при авторизации по протоколу MS-CHAP-v2

radius_auth_vap

1

авторизация разрешена

Если значение установлено, то заблокированным пользователям, логины которых указаны в сервисной связке услуги передачи трафика, запрещается авторизоваться

radius_ippool_acct_timeout

время в секундах

30

Время, в течение которого IP-адрес будет помечен как занятый после отправки Access-Accept

radius_ippool_timeout

время в секундах

до момента прихода Stop-пакета

Время, в течение которого IP-адрес будет помечен как занятый после прихода Accounting-Start. Не рекомендуется использовать этот параметр

radius_auth_null

yes или enable

не задано

При включении этой опции RADIUS-сервер будет принимать и успешно авторизовать запросы без атрибута User-Password (2), если пароль пользователя, указанный в сервисной связке, пустой

radius_auth_h323_remote_address

enable, on, yes

не задано

При включении данной опции для телефонных звонков аутентификация производится не по атрибуту User-Name (1), а по значению атрибута h323-remote-address (9;23). Значение атрибута используется в качестве логина

radius_nas_port_vpn
Можно указать несколько параметров

натуральное число

не задано (проверка не производится)

Если установлено,то значение атрибута NAS-Port-Type (61) будет проверяться на соответствие установленному значению при авторизации пользователя IP-трафика

radius_nas_port_dialup
Можно указать несколько параметров

натуральное число

не задано (проверка не производится)

Если установлено,то значение атрибута NAS-Port-Type (61) будет проверяться на соответствие установленному значению при авторизации пользователя услуги коммутируемого доступа

radius_nas_port_tel
Можно указать несколько параметров

натуральное число

не задано (проверка не производится)

Если установлено,то значение атрибута NAS-Port-Type (61) будет проверяться на соответствие установленному значению при авторизации пользователя услуги телефонии

radius_nas_port_hotspot
Можно указать несколько параметров

натуральное число

не задано (проверка не производится)

Если установлено,то значение атрибута NAS-Port-Type (61) будет проверяться на соответствие установленному значению при авторизации пользователя услуги hotspot

send_xpgk_ep_number

любое

не задано (номера не передаются)

Если данная опция включена, то при авторизации абонента, в случае использования услуги телефонии, в ответе Access-Accept будет передан атрибут Cisco-AVPair (9;1) со значением xpgk-ep-number=<список телефонных номеров через “;”>

send_h323_ivr_in

любое

не задано (номера не передаются)

Если данная опция включена, то при авторизации абонента, в случае использования услуги телефонии, в ответе Access-Accept будет передан атрибут Cisco-AVPair (9;1) со значением: h323-ivr-in=terminal-alias: <список телефонных номеров через “;”>

h323_origin_-reject

строка

не задано

Устанавливает нулевую стоимость для запросов Accounting-Request, в которых атрибут h323-call-origin (9;26) равен значению данного параметра

interim_update_interval

время в секундах большее 60

не задано (используется стандартный механизм)

Включает механизм контроля сессий на основании запросов Interim-Update. Значение передаётся в атрибуте Acct-Interim-Interval (85) пакета Access-Accept

radius_default_session_timeout

натуральное число

86400

Значение атрибута Session-Ti-meout (27), передаваемое в ответе Access-Accept для сервисной связки услуги передачи трафика

radius_callback_avpair_enable

любое

не задано

Включает передачу атрибута Cisco-AVPair (9;1) со значением lcp:callback-dialstring=<callback n-umber>, где callback number – часть логина от начала строки до символа ':'

radius_acct_rewrite_login_answer

enable, on, true

не задано

Если атрибут h323-call-origin (9;26) имеет значение originate, задание параметра включает замену логина на значение атрибута h323-remote-address (9;23) при обработке пакетов Accounting-Request

radius_acct_rewrite_ login_originate

enable, on, true

не задано

Если атрибут h323-call-origin (9;26) имеет значение answer, то задание параметра включает замену логина на значение атрибута h323-remote-address (9;23) при обработке пакетов Accounting-Request

blocked_pool_name

строка

не задано

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

guest_pool_name

строка

не задано

Имя IP-пула, адреса из которого выдаются гостевым пользователям для ограниченного доступа

named_pool_shuffle

yes, no

не задано

Включает выдачу адресов из случайного диапазона (если в системе заведено несколько IP-пулов с одним именем). По умолчанию адреса выдаются последовательно из очередного пула до его исчерпания; пулы следуют в порядке их добавления

radius_auth_tel_ext_reg

yes, on, enable

не задано

Включает распознавание запроса на регистрацию телефонного звонка по равенству Calling-Station-Id = Called-Station-Id в Access-Request

tls_certificate_path

строка

не задано

Путь к файлу сертификата при использовании EAP-TTLS

tls_private_key_path

строка

не задано

Путь к файлу приватного ключа при использовании EAP-TTLS

tel_session_timeout

натуральное число

86400

Максимальная продолжительность VoIP сессии (в секундах)

disconnect_request_timeout

натуральное число

5

Время ожидания ответа PoD при разрыве сессии вручную

incoming_trunk_format

любое

не задано

Формат входящего транка в виде vendor_id:attribute_id:regexp

outgoing_trunk_format

любое

не задано

Формат исходящего транка в виде vendor_id:attribute_id:regexp

pbx_id_format

любое

не задано

Формат идентификатора звонка в виде vendor_id:attribute_id:regexp

override_service_type

yes, on, enable

не задано

Присвоить тип услуги “framed” независимо от типа услуги, указанного во входящем запросе

dac_bind_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

Адрес хоста для приёма запросов от RADIUS-сервера на изменение параметров соединения

h323_currency

строка

USD

Код валюты

use_closed_sessions_cache

yes, on, enable

не задано

Хранить в кэше информацию о последних закрытых сессиях

closed_sessions_сache_size

натуральное число

0

Размер кэша закрытых сессий. Измеряется в количестве сессий, о которых хранится информация

h323_return_code_positive

yes, on, enable

не задано

Возвращать атрибут Cisco:h323_return_code с положительным значением

Параметры журналирования: Возможные значения По умолчанию Описание

log_level

число от 0 до 3

1

Определяет уровень сообщений, которые пишутся в основной поток сообщений

log_file_main

имя файла

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

имя файла

стандартный поток ошибок

Файл отладочного потока сообщений

log_file_critical

имя файла

стандартный поток ошибок

Файл критического потока сообщений

rotate_logs

yes, on, enable

ротация отключена

Включает ротацию log-файлов

max_logfile_size
Действует, если включена ротация лог-файлов.
Интерфейсные параметры.

размер в байтах

10485760

Размер файла, при достижении которого производится ротация

syslog_name

строка

не задано

Префикс, добавляемый к записям при включённой опции записи в системный журнал (syslog)

Динамическое распределение IP-адресов

Для тарификации трафика в случае когда пользователю динамически назначается IP-адрес, в NetUP 5+ введена схема динамической привязки IP-адреса к сервисной связке услуги передачи IP-трафика.

Для применения схемы к лицевому счёту необходимо привязать услугу передачи IP-трафика, коммутируемого доступа или hotspot с установленной опцией Динамическое распределение IP-адресов.

Если поступил запрос Accounting-Start с атрибутом User-Name (1), который содержит логин, указанный в свойствах сервисной связки услуги с установленной опцией Динамическое распределение IP-адресов, и атрибутом Framed-IP-Address (8), который содержит ненулевой IP-адрес, то ядро NetUP 5+ передаёт событие, инициализирующее процедуру привязки выданного IP-адреса к лицевому счёту. В событии передаются данные о лицевом счёте абонента и выданном IP-адресе. Обработчик события вызывает функцию, выполняющую все необходимые проверки и, при необходимости, непосредственную динамическую привязку.

Функция динамической привязки IP-адреса выполняет следующие действия:

  1. поиск сервисной связки, ссылающейся на данный лицевой счёт и на услугу передачи IP-трафика с установленной опцией Динамическое распределение IP-адресов. Если сервисная связка не найдена, дальнейшие действия не производятся;

  2. поиск IP-группы, в которую входит указанный IP-адрес. Если такая IP-группа найдена, она удаляется;

  3. создание IP-группы, для которой в качестве IP-адреса сети устанавливается указанный IP-адрес, а в качестве маски – 255.255.255.255. Остальным параметрам IP-группы присваиваются значения по умолчанию;

  4. создание IP-группы, привязанной к сервисной связке, найденной на этапе 1.

При создании или удалении IP-группы выполняются следующие действия:

  • если статус Internet для лицевого счета, которому принадлежит IP-группа, установлен в состояние Включён, перед созданием или удалением IP-группы статус Internet устанавливается в состояние Выключен, а после создания или удаления IP-группы статус Internet устанавливается в состояние Включён.

  • помимо указанных действий возможна генерация одного или нескольких событий на выключение доступа в Интернет для лицевого счета в том случае, если статус Internet – Выключен.

Во избежание ошибок в работе NetUP 5+ не рекомендуем использовать динамическую привязку IP-адреса, если IP-адреса из пула пересекаются с IP-адресами, статически привязанными к сервисным связкам услуги передачи IP-трафика.

DHCP

Сущности

Обработка DHCP-запроса

Конфигурационный файл

Сервер DHCP позволяет привязать статический IP-адрес или пул динамических адресов к MAC-адресу, к коммутатору или к определённому порту коммутатора. Он принимает DHCP-запросы и обрабатывает их в соответствии с RFC2132.

Сервер DHCP может назначать только IPv4-адреса.

Сервер использует информацию из базы данных, а также взаимодействует с ядром NetUP 5+ по протоколу Stream и может получать от него сообщения об изменении информации в базе данных и необходимости её обновления.

По умолчанию сервер работает в режиме not authoritative. Режим работы можно изменить в конфигурационном файле (параметр is_authoritative).

Сущности

При формировании ответа DHCP использует следующие сущности:

  1. Профиль оборудования – это сущность, содержащая общие характеристики определённого типа коммутаторов:

    Наименование

    строка, содержащая имя коммутатора.
    Уникальность наименования не проверяется, но рекомендуется

    Ёмкость

    количество портов коммутатора.
    Можно указать несколько значений через запятую

    Параметры DHCP Option 82

    описание параметров DHCP Option 82, используемых коммутатором данного типа при формировании DHCP-запроса

    Remote ID

    идентификатор DHCP-ретранслятора, через который был получен запрос

    Порт

    порт DHCP-ретранслятора, через который был получен запрос

    VLAN ID

    идентификатор VLAN (если используется)

    В характеристики этих параметров входят: тип параметра (строка/бинарный), расположение в DHCP Option 82, смещение и длина параметра. Эти характеристики используются при чтении параметров DHCP Option 82, входящих в DHCP-запрос.

  2. Коммутатор – это сущность, содержащая параметры конкретного коммутатора:

    Наименование

    строка длиной до 255 символов, содержащая имя коммутатора.
    Целесообразно использовать некое информативное название, которое поможет идентифицировать коммутатор.
    Уникальность наименования не проверяется, но рекомендуется

    Фактический адрес

    комментарий, позволяющий однозначно идентифицировать физическое местоположение коммутатора

    Тип

    внутренний идентификатор профиля оборудования, содержащего параметры, присущие данному типу коммутаторов

    Remote ID

    идентификатор DHCP-ретранслятора, используемый при формировании запроса к DHCP-серверу.
    Тип параметра и ограничение длины устанавливается в настройках соответствующего профиля оборудования

    Количество портов

    количество портов коммутатора.
    Возможные значения этого параметра задаются в профиле оборудования

    параметры доступа к коммутатору

    IP-адрес, логин и пароль коммутатора

    Перечисленные выше параметры можно использовать в правилах firewall (сервер RFW), которые подразумевают необходимость отправки команд коммутатору. Например, если при образовании задолженности необходимо отключить порт коммутатора, чтобы заблокировать пользователю доступ в интернет.

    Данным параметрам в правилах firewall соответствуют следующие переменные: USW_IP, USW_LOGIN, USW_PASS, USW_REMOTE_ID, USW_ID, USW_PORT, UVLAN, SWITCH_IP, SWITCH_PORT
    Подробнее смотрите здесь.

    В свойства коммутатора можно добавить значения дополнительных опций DHCP. Эти опции и их значения будут включены в ответ DHCP-сервера, если DHCP-клиент добавит их в список запрашиваемых опций.

  3. DHCP-пул – это сущность, содержащая параметры пула IP-адресов и значения стандартных опций DHCP, которые используются DHCP-сервером при формировании ответа при выдаче IP-адреса из этого пула. Среди них есть обязательные параметры: шлюз, маска, DNS сервер 1, время аренды в секундах (не рекомендуется устанавливать менее 3600 секунд, значение по умолчанию – 86400 секунд = 24 часа).
    Необязательные параметры: DNS сервер 2, NTP сервер, Домен.
    В свойства пула DHCP можно добавить значения дополнительных опций DHCP. Эти опции и их значения будут включены в ответ DHCP-сервера, если DHCP-клиент добавит их в список запрашиваемых опций.
    Параметры Шлюз и Маска используются, чтобы установить принадлежности IP-адреса определённому пулу DHCP.
    В свойства пула DHCP также входят диапазоны IP-адресов.
    Кроме того, для пула DHCP задаётся действие при блокировании. Этот параметр определяет логику обработки DHCP-запроса, поступающего от заблокированного пользователя. Возможные действия: Использовать пул для заблокированных абонентов и Игнорировать запрос.

    Если в DHCP-запросе указаны конкретные опции DHCP, в DHCP-ответ будут добавлены те из них, значения которых заданы и имеются в базе данных. Если в DHCP-запросе не указано никаких опций, в DHCP-ответ будут добавлены все опции, значения которых установлены и имеются в базе данных.

  4. IP-группа – это описание сети и связанных с ней параметров, принадлежащих сервисной связке услуги передачи IP-трафика. На основании настроек IP-групп происходит выдача IP-адреса и идентификация трафика для дальнейшей тарификации. В IP-группе определяется соответствие между статическим IP-адресом или пулом динамических IP-адресов и следующими параметрами:

    • MAC-адрес

    • Внутренний ID коммутатора

    • Порт коммутатора

    • VLAN ID

Чтобы установить соответствия необходимо указать статический IP-адрес или выбрать пул динамических адресов. Необходимо также указать значения описанных выше параметров, к которым следует привязать IP-адрес или пул динамических адресов.

Диапазоны статических IP-адресов не должны пересекаться с диапазонами динамических IP-адресов.
То есть пул статических адресов не следует указывать в качестве пула динамических адресов ни в одной IP-группе, в противном случае в работе DHCP-сервера могут возникнуть сбои.

Порт и VLAN ID – это параметры DHCP Option 82. Сервер DHCP считывает их согласно Профилю оборудования, выбранному для данного коммутатора.

После создания сервисной связки услуги передачи IP трафика, добавления IP-группы, содержащей параметры, к которым можно привязать IP-адрес, в базе данных появится запись, хранящая соответствие между статическим IP-адресом или пулом DHCP и этими параметрами.

Обработка DHCP-запроса

При получении DHCP-запроса, сервер сравнивает параметры запроса с соответствующими параметрами IP-групп, имеющимися в базе данных. При этом приоритет параметров по убыванию следующий: MAC-адрес ⇒ ID коммутатора ⇒ Порт ⇒ VLAN ID. Сервер сортирует записи в базе по данным параметрам в порядке убывания, и затем производит поиск. Каждая запись содержит параметры одной IP-группы.

DHCP-сервер просматривает записи, для которых заполнены поля:

  • MAC-адрес

  • MAC-адрес и ID коммутатора

  • MAC-адрес, ID коммутатора и Порт

  • MAC-адрес, ID коммутатора, Порт и VLAN ID

  • ID коммутатора

  • ID коммутатора и Порт

  • ID коммутатора, Порт и VLAN ID

В первую очередь сравнивается MAC-адрес (если он задан в базе данных). Далее происходит чтение DHCP Option 82, если она включена в поступивший DHCP-запрос, на основании параметров профиля оборудования, соответствующего коммутатору, указанному в проверяемой в данный момент записи в базе данных. Если чтение параметров прошло успешно, то происходит сравнение параметров, указанных в DHCP-запросе. Сравниваются только те параметры, значения которых заданы в проверяемой на данный момент записи в базе данных. Если какой-либо параметр не был задан в запросе, сравнение по нему не проводится. Поиск является успешным при наличии совпадений и отсутствии несовпадений соответствующих значений в базе данных и в DHCP-запросе.

После выдачи IP-адреса и прочих настроек сети, DHCP-сервер добавляет в базу данных запись о начале и сроке аренды данного IP-адреса. Срок аренды устанавливается в свойствах пула DHCP.

Конфигурационный файл

По умолчанию сервер DHCP использует конфигурационный файл /netup/utm5/dhcpd5.cfg

Формат конфигурационных файлов: параметр=значение.

Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.

Параметр Возможные значения По умолчанию Описание

database_type обязательный параметр

mysql, postgres

mysql

Тип базы данных NetUP 5+

database обязательный параметр

строка

UTM5

Имя базы данных NetUP 5+

database_host

IP-address/hostname

localhost

Адрес сервера базы данных NetUP 5+

database_login

строка

root

Логин пользователя для доступа к базе данных NetUP 5+

database_password

строка

нет

Пароль пользователя для доступа к базе данных NetUP 5+

database_sock_path

путь к файлу

/var/run/mysqld/ mysqld.sock

Только для MySQL. Путь к сокет-файлу базы данных. Используется в том случае, если параметр database_host не задан или имеет значение “localhost”

database_port

от 1 до 65534

3306

Только для MySQL. Порт сервера базы данных

database_charset

кодировка

utf8

Только для MySQL. Кодировка соединения с базой данных

core_host обязательный параметр

IP-адрес

127.0.0.1

Адрес сервера, на котором запущено ядро биллинга

core_port обязательный параметр

от 1 до 65534

12758

Порт, на котором ядро NetUP 5+ слушает Stream (параметр stream_bind_port в конфигурационном файле ядра)

dhcp_login

строка

dhcp

Логин для доступа к ядру биллинга

dhcp_password

строка

dhcp

Пароль для доступа к ядру биллинга

dhcp_lease_expire_timeout

время в секундах

1800

Минимальное время после истечения срока аренды, в течение которого клиент может продолжать использовать назначенный DHCP-сервером IP-адрес

dhcp_lease_validation_period

время в секундах

86400

Периодичность проверки оставшегося времени аренды IP-адреса

interface

Пара <interface name>,<IP-address>. Добавьте несколько интерфейсов, каждый с новой строки: interface=<interface name>,<IP-address>interface=<interface name>,<IP address> и т.д.

нет

Список интерфейсов, принимающих DHCP-запросы, и соответствующих им IP-адресов. Если в качестве имени интерфейса задано eth0, то возможны два случая: 1) IP-адрес указан (например, 10.0.0.1) - сервер принимает только unicast-запросы на адрес 10.0.0.1:67; 2) В качестве IP-адреса указан 0.0.0.0 - сервер принимает broadcast запросы, поступившие на eth0 (в Linux используются опции сокета SO_BROADCAST и SO_BINDTODEVICE)

is_authoritative

yes, on, enable

отключено

Режим работы DHCP-сервера: authoritative или not authoritative

load_log

yes, on, enable

отключено

При запуске DHCP-сервера загружать из базы журнал аренды. Для большинства систем подходит значение по умолчанию

log_level

от 0 до 3

1

Определяет уровень сообщений, которые попадают в основной поток сообщений

log_file_main

путь к файлу

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

путь к файлу

стандартный поток ошибок

Файл потока сообщений с диагностической и отладочной информацией

log_file_critical

путь к файлу

стандартный поток ошибок

Файл потока сообщений о критических ошибках

max_logfile_count

число

не ограничено

Максимальное количество хранимых log-файлов

max_logfile_size

размер в байтах

10485760

Размер файла, при достижении которого производится ротация

ping_retry_count

число

1

Количество попыток отправки ICMP-запроса (см. use_ping)

rotate_logs

yes, on, enable

ротация отключена

Включает ротацию log-файлов

siaddr

IP-адрес

IP-адрес сервера ()

IP-адрес следующего сервера, участвующего в загрузке

use_ping

yes, on, enable

отключено

Если в процессе принятия решения о выдаче IP-адреса обнаруживается, что для данного адреса уже существует аренда, отправить ICMP-запрос на этот IP-адрес, чтобы выяснить фактический статус клиента

use_old_lease

yes, on, enable

отключено

При невозможности соотнести данные DHCP Option 82 в поступившем DHCP-запросе продлевать существующую аренду для данного MAC-адреса

RFW

Правила firewall

Переменные

События

Брандмауэр

Настройка службы utm5_rfw

Конфигурационный файл

Синхронизация правил

Аффектор RFW является демоном исполнения команд, поступающих от ядра биллинга. RFW предназначен для управления сторонним ПО, включая брандмауэры, маршрутизаторы, шейперы и т.д.

Схема работы:

  • Соединение с ядром биллинга;

  • Получение команд от ядра;

  • Выполнение команд локально или удалённо.

При запуске RFW авторизуется в системе, используя параметры, указанные в конфигурационном файле. Для успешной авторизации RFW должен быть зарегистрирован в списке брандмауэров (Веб-интерфейс администратора: НастройкиОборудованиеСписок брандмауэров). Количество зарегистрированных в системе RFW не ограничено.

RFW устанавливает постоянное соединение с ядром биллинга по протоколу Stream, ожидая команд, генерируемых ядром при наступлении определённых событий. Соотнесение событий и исполняемых команд производится в интерфейсе администратора на странице НастройкиОборудованиеПравила firewall.

Команды исполняются локально на том же сервере, где запущен RFW, если в качестве типа брандмауэра выбрано Локальный, и удалённо по rsh – если в качестве типа брандмауэра выбрано Cisco (rsh).

Дополнительно, начиная с версии 5.5.004 предусмотрен вариант отправки RFW-команд с помощью HTTP-запросов.

Если RFW не подключён к ядру, команды кешируются в течение 24 часов. При повторном подключении RFW к ядру может происходить выполнение некоторых команд согласно установленным флагам синхронизации; при подключении без указания флагов все кешированные правила будут отправлены на аффектор. Кроме того при запуске RFW или при его повторном подключении к ядру может исполняться произвольная команда, заданная параметром firewall_flush_cmd.

Правила firewall

Правило firewall – это объект, задающий шаблон выполняемой команды и определяющий условия её выполнения.

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

Готовые для выполнения правила передаются на выполнение RFW.

Правила firewall обладают следующими группами параметров:

  • Областью применимости (для каких пользователей правило выполняется);

  • Инициирующим событием (причина выполнения правила);

  • Местом выполнения (RFW, которому передаётся правило, и соответствующий ему брандмауэр, на котором правило выполняется);

  • Шаблоном (собственно команда).

Для построения шаблонов команд используются переменные, которые непосредственно при отправке команды на RFW заменяются соответствующими значениями.

Область применимости – свойство, определяющее лицевые счета, к которым применимо данное правило. Если выбрана опция Все пользователи, под действие правила подпадают все лицевые счета, зарегистрированные в системе. В противном случае для выбора подмножества лицевых счетов можно использовать следующие условия: выбор по идентификатору пользователя, выбор по принадлежности пользователя к группе и выбор по тарифному плану. По умолчанию правило применяется к лицевым счетам, удовлетворяющим любому из заданных условий, если их более одного (т. е. учитывается объединение условий – логическое ИЛИ). При выборе альтернативной опции учитывается пересечение условий (логическое И), т. е. правило применяется к лицевым счетам, удовлетворяющим всем условиям.

При выборе лицевых счетов по тарифному плану под условие попадают лицевые счета, на которые ссылаются тарифные связки, имеющие указанный тарифный план в качестве текущего. Правила, применимые к сервисным связкам или IP-группам, будут применяться ко всем сервисным связкам или IP-группам этих лицевых счетов, включая те, которые связаны с другими тарифными планами.

Инициирующее событие (одно или более) – выбирается из списка.

Брандмауэер и его тип – свойства, задающие конкретный брандмауэр путём выбора из списка, или все брандмауэры, если выбрана соответствующая опция.

Шаблон команды – строка, которая может содержать переменные, заменяемые соответствующими значениями непосредственно при отправке команды на RFW.

В случае локального исполнения RFW выполняет команду следующим образом:
[sudo_path ][firewall_path ]arg1[ arg2[ arg3…​]],
где необязательные параметры sudo_path и firewall_path берутся из конфигурационного файла, а остальная часть строки – из шаблона команды после подстановки значений переменных. Таким образом, если оба параметра sudo_path и firewall_path не заданы, шаблон команды должен начинаться с имени внешнего исполняемого файла.

В случае выполнения по rsh, команда отправляется в том виде, в котором поступила от ядра (т.е. шаблон с подставленными значениями).

Переменные

В шаблонах команд можно использовать переменные из таблицы ниже. Если в команде Вы используете переменную, которую нельзя применить к выбранному событию, вместо неё будет использовано значение по умолчанию.

Список событий:

Параметр По умолчанию Область применимости Описание

UID

пустая строка

Все события, кроме событий Закрытие файла детальной статистики и Закрытие файла логов

Идентификатор пользователя

UGROUP

пустая строка

Список идентификаторов групп, в которых состоит пользователь, разделённых ;

LOGIN

пустая строка

Логин пользователя

EMAIL

пустая строка

Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов и Удаление пользователя

Адрес электронной почты, установленный в свойствах пользователя

ACCOUNT_ID

0

Идентификатор лицевого счета

RULE_ID

0

Идентификатор пользователя плюс значение параметра fw_rule_ offset из списка системных параметров

FULL_NAME

пустая строка

Полное наименование пользователя

MOBILE_PHONE

пустая строка

Номер мобильного телефона пользователя

WORK_PHONE

пустая строка

Номер рабочего телефона пользователя

HOME_PHONE

пустая строка

Номер домашнего телефона пользователя

SWITCH_IP

пустая строка

Название брандмауэра, установленного в поле Удалённый коммутатор

SWITCH_PORT

пустая строка

Порт, установленный в свойствах пользователя

SLINK_ID

0

Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов, Добавление пользователя, Изменение пользователя и Изменение баланса счёта

Идентификатор сервисной связки

ULOGIN

пустая строка

Включение/Выключение Интернета, Добавление/Изменение/Удаление связки dialup, Включение hotspot, Выключение hotspot, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал

Логин, указанный в свойствах сервисной связки или IP-группы

UIP

0.0.0.0

Включение/Выключение Интернета, Включение hotspot, Выключение hotspot, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал

Адрес сети пользователя, указанный в свойствах IP-группы в поле IP

UMASK

255.255.255.255

Маска сети через точку (например, 255.255.255.0).

UINVERTMASK

0.0.0.0

Инвертированная маска сети через точку, например, 0.255.255.255. Используется при работе с маршрутизаторами Cisco

UBITS

32

Бинарная маска сети, например, 32 означает то же, что и 255.255.255.255

MAC

пустая строка

Включение/Выключение Интернета, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала, Снятие ограничений на исходящий канал

MAС-адрес, указанный в свойствах IP-группы

SERVICE_ID

0

Добавление/Изменение/Удаление связки dialup, Открытие сессии, Закрытие сессии, Добавление/Изменение/Удаление связки IP-трафика, Добавление/Изменение/Удаление связки телефонии, Добавление/Изменение/Удаление тех.параметра, Добавление/Изменение/Удаление связки IPTV

Идентификатор услуги

UPASS

пустая строка

Добавление/Изменение/Удаление связки dialup, Включение hotspot и Выключение hotspot

Пароль сервисной связки услуги hotspot или услуги коммутируемого доступа

DIALUP_FLAGS

пустая строка

Добавление/Изменение/Удаление связки dialup

Флаги сервисной связки услуги коммутируемого доступа:
0 – установлен параметр Разрешён Ringdown;
3 – установлен параметр Разрешён Callback;
1 – установлены оба параметра

UCID

пустая строка

Значение параметра CID сервисной связки услуги коммутируемого доступа

UCSID

пустая строка

Значение параметра CSID сервисной связки услуги коммутируемого доступа

DIALUP_LIST

пустая строка

Изменение состояния блокировки

Список параметров сервисных связок услуги коммутируемого доступа для данного лицевого счета в формате идентификатор/логин/пароль/CID/CSID/ флаги через ;

BLOCK_TYPE

-1

Числовое представление типа блокировки

SLINK_LIST

пустая строка

Список всех идентификаторов сервисных связок, принадлежащих лицевому счёту, через ;

EXTERNAL_ID

пустая строка

Внешний ID лицевого счёта

BALANCE

0

Оповещение об изменении баланса

Баланс счёта

TECH_PARAM_TYPE

0

Добавление тех.параметра, Изменение тех.параметра и Удаление тех.параметра

Тип технического параметра:
1 – web, 2 – email

TECH_PARAM_ID

0

Идентификатор технического параметра

TECH_PARAM_VALUE

пустая строка

Значение технического параметра

TECH_PARAM_PASS

пустая строка

Пароль технического параметра

TECH_PARAM_T_ID

-1

ID типа технического параметра:
1 – web, 2 – email

SERVICE_TYPE

0

Открытие сессии, Закрытие сессии, Добавление тех.параметра, Изменение тех.параметра и Удаление тех.параметра

Тип услуги

TARIFF_LINK_ID

0

Добавление / Изменение / Удаление связки IP-трафика / Видео по запросу

Идентификатор тарифной связки

DISCOUNT_PERIOD_ID

0

Идентификатор расчётного периода

START_DATE

0

Дата начала действия сервисной связки

END_DATE

0

Дата окончания действия сервисной связки

IP_GROUP_ID

0

Идентификатор IP-группы сервисной связки

IPTV_SERVICE_DATA

пустая строка

Добавление/Изменение/Удаление связки IPTV

Пользовательские данные, задаваемые в параметрах услуги

IP_GROUP_LIST

пустая строка

Изменение состояния блокировки, Добавление связки IP-трафика, Изменение связки IP-трафика и Удаление связки IP-трафика

Список IP-групп в формате адрес/маска/логин/пароль/MAC/поставщик NetFlow через ;

TIME_LIMIT

0

Включение hotspot, Выключение hotspot

Остаток времени для сервисной связки услуги hotspot

TEL_LIST

пустая строка

Добавление связки телефонии, Изменение связки телефонии, Удаление связки телефонии и Изменение типа блокировки

Список телефонных номеров в формате номер/логин/разреш.CID/вход.транк/исход.транк/pbx_id/пароль через ;

NAS_ID

пустая строка

Открытие сессии и Закрытие сессии

Идентификатор NAS

NAS_IP

0.0.0.0

IP-адрес NAS

SESSION_ID

пустая строка

Идентификатор сеcсии (строка)

ACCT_STATUS_TYPE

0

Статус сессии:
1 – открыта, 2 – закрыта

CALLING_SID

пустая строка

ID вызывающей станции

IP_GROUP_ID

пустая строка

ID вызываемой станции

FRAMED_IP

0.0.0.0

IP-адрес, указанный в RADIUS-атрибуте Framed-IP-Address (8)

BANDWIDTH

0

Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал

Текущая пропускная способность полосы

PATH

пустая строка

Закрытие файла детальной статистики и Закрытие файла логов

Путь к файлу детальной статистики или log-файлу

PAYMENT_AMOUNT

0

Внесение платежа

Размер платежа

PAYMENT_TYPE

0

ID метода платежа

ACTION

пустая строка

Запись в отчёт Изменение пользователей

ID действия

COMMENTS

пустая строка

Комментарий к изменениям данных пользователя

WHO

пустая строка

ID вносившего изменения

PASSWORD

пустая строка

Регистрация абонента HotSpot

Пароль для входа пользователя в личный кабинет

TEL_NUMBER

пустая строка

Номер мобильного телефона пользователя

TILL

пустая строка

Длительность существования карточки абонента. При повторной регистрации до окончания периода, длительность обновляется

USW_IP

пустая строка

Включение/Выключение Интернета

IP-адрес коммутатора в свойствах IP-группы

USW_LOGIN

пустая строка

Логин коммутатора в свойствах IP-группы

USW_PASS

пустая строка

Пароль коммутатора в свойствах IP-группы

USW_REMOTE_ID

пустая строка

Remote ID коммутатора в свойствах IP-группы

USW_ID

пустая строка

ID коммутатора в свойствах IP-группы

USW_PORT

пустая строка

Порт коммутатора в свойствах IP-группы

UVLAN

пустая строка

VLAN в свойствах IP-группы

События

Список возможных событий, инициирующих выполнение команды:

Включение Интернета

выполняется для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "выключен" на "включён"

Выключение Интернета

выполняется дважды для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "включ`н" на "выключен"

Добавление пользователя

выполняется для пользователя при добавлении данного пользователя в систему (через интерфейс администратора или автоматически)

Изменение пользователя

выполняется для пользователя при изменении данных этого пользователя

Удаление пользователя

выполняется для пользователя при его удалении

Изменение состояния блокировки

выполняется для лицевого счёта при изменении состояния блокировки (т. е. при его блокировке или разблокировке)

Оповещение об изменении баланса

выполняется для лицевого счёта при прохождении его баланса через границы, заданные системным параметром notification_borders. Событие выполняется только в случае прохождения границы, вызванного уменьшением баланса

Открытие сессии

выполняется для сервисной связки при поступлении RADIUS-запроса Accounting-Start

Закрытие сессии

выполняется для сервисной связки при поступлении RADIUS-запроса Accounting-Stop

Добавление связки dialup

выполняется для сервисной связки услуги коммутируемого доступа при её создании

Изменение связки dialup

выполняется для сервисной связки услуги коммутируемого доступа при изменении её параметров

Удаление связки dialup

выполняется для сервисной связки услуги коммутируемого доступа при её удалении

Добавление связки IP-трафика

выполняется для сервисной связки услуги передачи IP-трафика при её добавлении

Изменение связки IP-трафика

выполняется для сервисной связки услуги передачи IP-трафика при изменении её параметров

Удаление связки IP-трафика

выполняется для сервисной связки услуги передачи IP-трафика при её удалении

Добавление связки телефонии

выполняется для сервисной связки услуги телефонии при её добавлении

Изменение связки телефонии

выполняется для сервисной связки услуги телефонии при изменении её параметров

Удаление связки телефонии

выполняется для сервисной связки услуги телефонии при её удалении

Включение hotspot

выполняется для сервисной связки hotspot при авторизации пользователя

Выключение hotspot

выполняется для сервисной связки hotspot при выходе пользователя или прекращении сессии

Регистрация абонента hotspot

выполняется для пользователя при добавлении данного пользователя в систему через веб-интерфейс

Добавление тех. параметра

выполняется для сервисной связки при добавлении к ней технического параметра

Изменение тех. параметра

выполняется для сервисной связки при изменении связанного с ней технического параметра

Удаление тех. параметра

выполняется для сервисной связки при удалении связанного с ней технического параметра

Установка ширины входящего канала

выполняется для каждой IP-группы при наступлении условий шейпирования для входящего канала по данной сервисной связке

Изменение ширины входящего канала

выполняется для каждой IP-группы при смене условий шейпирования для входящего канала по данной сервисной связке (например, при переходе трафика через границы шейпирования)

Снятие ограничений на входящий канал

выполняется для каждой IP-группы при выходе входящего канала по данной сервисной связке из-под условий шейпирования (например, при обнулении количества трафика в момент завершения отчётного периода)

Установка ширины исходящего канала

выполняется для каждой IP-группы при наступлении условий шейпирования для исходящего канала по данной сервисной связке (например, при достижении трафиком нижней границы шейпирования)

Изменение ширины исходящего канала

выполняется для каждой IP-группы при смене условий шейпирования для исходящего канала по данной сервисной связке

Снятие ограничений на исходящий канал

выполняется для каждой IP-группы при выходе исходящего канала по данной сервисной связке из-под условий шейпирования

Закрытие файла детальной статистики

выполняется для файла детальной статистики при его закрытии

Закрытие файла логов

выполняется для log-файла при его закрытии

Внесение платежа

выполняется при внесении платежа

Новая DHCP аренда

выполняется при выдаче нового IP-адреса

Обновление DHCP аренды

выполняется при обновлении аренды IP-адреса

Истечение DHCP аренды

выполняется при истечении аренды IP-адреса

Добавление связки IPTV

выполняется при создании сервисной связки IPTV

Изменение связки IPTV

выполняется при изменении сервисной связки IPTV

Удаление связки IPTV

выполняется при удалении сервисной связки IPTV

Добавление связки Видео по запросу

выполняется при создании сервисной связки Видео по запросу

Изменение связки Видео по запросу

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

Удаление связки Видео по запросу

выполняется при удалении сервисной связки Видео по запросу

Запись в отчёт Изменения пользователей

выполняется при любых изменениях данных пользователя, которые отражены в отчёте Изменения пользователей

Брандмауэр

Брандмауэр – это объект системы, предназначенный для идентификации аффектора, коммутатора или поставщика NetFlow.

На странице интерфейса администратора Настройки: Список брандмауэров приведён список зарегистрированных в системе брандмауэров, с возможностью добавления, редактирования и удаления.

Брандмауэр обладает следующими параметрами:

Идентификатор брандмауэра

устанавливается автоматически

Тип

локальный, если команды будут исполняться локально, или Cisco (rsh), если команды будут передаваться по протоколу rsh или HTTP. Тип брандмауэра должен соответствовать параметру firewall_type конфигурационного файла RFW, сопоставляемого с данным брандмауэром

Наименование

уникальное имя, по которому происходит идентификация подключающихся к ядру RFW. Наименование брандмауэра должно соответствовать параметру rfw_name конфигурационного файла RFW, сопоставляемого с данным брандмауэром

IP

адрес поставщика NetFlow, указываемый в свойствах IP-группы

Логин

логин, используемый в качестве remote login при авторизации по rsh. Только для типа брандмауэра Cisco (rsh). В качестве local login всегда передаётся netup

Комментарий

носит информационный характер

RFW через HTTP-запросы

NetUP 5+ начиная с версии 5.5.004 позволяет направлять RFW команды с помощью HTTP-запросов.

НастройкиОборудованиеHTTP-Серверы: Здесь необходимо ввести название и URL, который будет использоваться при срабатывании события, а так же метод запроса (GET, PUT, POST, DELETE, PATCH).

В дальнейшем, при формировании правил firewall по обычной схеме появится новый Тип брандмауэра - HTTP.

Настройка службы utm5_rfw

Исполняемый файл utm5_rfw называется /netup/utm5/bin/utm5_rfw . В командной строке можно передавать следующие параметры:

-c <путь>

Путь к конфигурационному файлу

-s <флаги>

Синхронизация правил firewall при запуске (выполняются только команды, связанные с данным RFW, и только на данном RFW)

-f

Параметр устарел (аналог -s enable)

-o

Параметр устарел (аналог -s disable)

-v

Вывод информации о версии и допустимых параметрах командной строки

В UNIX-системах существует 3 способа запуска utm5_rfw:

  1. Непосредственный запуск бинарного файла /netup/utm5/bin/utm5_rfw с необходимыми параметрами.

  2. Запуск с помощью скрипта watchdog с указанием параметра start:

    /netup/utm5/bin/safe_utm5_rfw start
    В этом случае исполняемому файлу будет передан параметр -f. Скрипт автоматически перезапустит utm5_rfw в случае, если он по каким-либо причинам некорректно завершит работу.

  3. Запуск с помощью скрипта автоматического запуска (рекомендуемый способ):

    /etc/init.d/utm5_rfw start
    Для остановки utm5_rfw и скрипта watchdog следует выполнить команду:
    /etc/init.d/utm5_rfw stop

Для запуска RFW на удалённой машине необходимо, чтобы параметры core_host и core_port в его конфигурационном файле соответствовали адресу и порту, которые используются ядром NetUP 5+ для соединения по протоколу Stream.

На одной машине может одновременно работать несколько RFW с различными конфигурационными и PID-файлами.

Конфигурационный файл

По умолчанию RFW использует конфигурационный файл /netup/utm5/rfw5.cfg

Формат конфигурационных файлов: параметр=значение.

Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.

Параметр Возможные значения По умолчанию Описание

database_type обязательный параметр

mysql, postgres

mysql

Тип базы данных NetUP 5+

rfw_name

строка

обязательный параметр

Имя RFW, по которому происходит его идентификация при подключении к ядру биллинга. Это же значение должно быть указано в поле Наименование при добавлении брандмауэра в список брандмауэров

core_host

IP-адрес

обязательный параметр

IP-адрес хоста, на котором запущено ядро NetUP 5+

core_port

число от 1 до 65534

обязательный параметр

Порт, на котором ядро NetUP 5+ слушает Stream (параметр stream_bind_port в конфигурационном файле ядра)

rfw_login

строка

обязательный параметр

Логин пользователя для доступа к ядру NetUP 5+

rfw_password

строка

обязательный параметр

Пароль пользователя для доступа к ядру биллинга

firewall_type

local, cisco

local

Тип firewall. Должен соответствовать параметру Тип брандмауэра с соответствующим именем. Если установлено значение local, команды будут исполняться локально, а в случае cisco – будут передаваться по протоколу rsh

sync_flags

см. ниже

не задано

Флаги синхронизации

Параметры, действующие при заданном параметре firewall_type=local:

sudo_path

имя исполняемого файла

не задано

Имя исполняемого файла sudo

firewall_path

имя исполняемого файла

пустая строка

Имя исполняемого файла, осуществляющего управление сторонним ПО

firewall_flush_cmd

имя исполняемого файла

пустая строка

Скрипт, выполняемый при соединении и пересоединении с ядром

dont_fork

yes, enable, true

команды исполняются параллельно

Если значение установлено – правила выполняются последовательно, т.е. каждое правило исполняется только после выполнения предыдущего. При использовании команды iptables рекомендуется установить данную опцию

Параметры, действующие при установленном firewall_type=cisco:

cisco_ip

IP-адрес

обязательный параметр

IP-адрес, на который будут передаваться команды по протоколу rsh

Параметры журналирования: Возможные значения По умолчанию Описание

log_level

число от 0 до 3

1

Определяет уровень сообщений, которые пишутся в основной поток сообщений

log_file_main

имя файла

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

имя файла

стандартный поток ошибок

Файл отладочного потока сообщений

log_file_critical

имя файла

стандартный поток ошибок

Файл критического потока сообщений

rotate_logs

yes, on, enable

ротация отключена

Включает ротацию log-файлов

max_logfile_count
a.Действует, если включена ротация log-файлов

число

не ограничено

Максимальное количество хранимых log-файлов

max_logfile_size
a.Действует, если включена ротация log-файлов

размер в байтах

10485760

Размер файла, при достижении которого производится ротация

pid_file

имя файла

/var/run/utm5_rfw.pid

PID-файл

syslog_name

string

не задано

Префикс, добавляемый к записям при включённой опции записи в системный журнал (syslog)

Параметр core_timeout является устаревшим и не рекомендуется к использованию.

Синхронизация правил

При автоматическом запуске модуля при старте системы может быть инициировано выполнение определённых правил для восстановления конфигурации стороннего ПО.

Выполняются только команды, связанные с данным RFW, и только на данном RFW. Набор правил для выполнения определяется флагами.

Флаги синхронизации (возможные значения перечислены ниже) задаются параметром конфигурационного файла sync_flags или параметром командной строки -s, причём последний имеет приоритет. Можно одновременно использовать несколько флагов, разделяя их двоеточиями.

enable

выполнить правила, ассоциированные с событием "Включение Internet"

disable

выполнить правила "Выключение Internet"

users

выполнить правила "Добавление пользователя"

iptraffic

выполнить правила "Добавление связки IP-трафика"

dialup

выполнить правила "Добавление связки dialup"

blocks

выполнить правила "Изменение типа блокировки"

shaping

выполнить правила "Установление ограничений dynashape"

Коллектор трафика NetUP 5+

Коллектор предназначен для сбора первичной информации о трафике в формате NetFlow, его конвертации во внутренний формат NetUP 5+ и классификации. Использование дополнительных коллекторов трафика позволяет снизить нагрузку на сервер, на котором работает ядро биллинга, а также корректно обрабатывать информацию от поставщиков NetFlow, находящихся в подсетях с пересекающимися адресными пространствами. Исполняемый файл называется utm5_traffic_collector и находится в директории /netup/utm5/bin.

В стандартной конфигурации системы NetUP 5+ доступен один коллектор трафика - System. Настройки взаимодействия с коллектором со стороны ядра биллинга находятся в интерфейсе администратора, в группе Настройки, на странице Коллекторы трафика.

По умолчанию коллектор трафика NetUP 5+ на UNIX-системах использует конфигурационный файл /netup/utm5/utm5_traffic_collector.cfg.

Формат конфигурационных файлов: параметр=значение.

Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.

Параметр Возможные значения По умолчанию Описание

core_host обязательный параметр

IP-адрес

127.0.0.1

Адрес сервера, на котором запущено ядро NetUP 5+

core_port обязательный параметр

от 1 до 65534

12758

Порт, на котором ядро NetUP 5+ слушает Stream (параметр stream_bind_port в конфигурационном файле ядра)

tc_login

строка

collector

Логин для доступа к ядру NetUP 5+. Можно установить на странице “Системные пользователи” в интерфейсе администратора

tc_password

строка

collector

Пароль для доступа к ядру NetUP 5+. Можно установить на странице “Системные пользователи” в интерфейсе администратора

tc_name

строка

traffic_collector

Уникальное имя коллектора в системе. Можно установить в настройках коллектора на странице “Коллекторы трафика” в интерфейсе администратора

nfbuffer_host

строка

0.0.0.0

IP-адрес, на котором будет прослушиваться UDP-порт для приёма потока NetFlow

nfbuffer_port

строка

9997

Порт, на котором ядро принимает поток NetFlow

nfbuffer_bufsize

натуральное число

устанавливается ОС

Размер буфера UDP-сокета, используемого для приема потока NetFlow

log_level

от 0 до 3

1

Определяет уровень сообщений, которые попадают в поток сообщений

log_file_main

путь к файлу

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

путь к файлу

стандартный поток ошибок

Файл потока сообщений с диагностической и отладочной информацией

log_file_critical

путь к файлу

стандартный поток ошибок

Файл потока сообщений о критических ошибках

rotate_logs

yes, on, enable

ротация отключена

Включает ротацию log-файлов

max_logfile_count

число

не ограничено

Максимальное количество хранимых log-файлов

max_logfile_size

размер в байтах

10485760

Размер log-файла, при достижении которого производится ротация

tc_pid_file

путь к файлу

/var/run/utm5_traffic_collector.pid

Путь к PID-файлу коллектора трафика

Утилиты

REST API

Для организации собственных интеграций с различными сервисами мы предлагаем использовать новое, очень простое в освоении REST API.

Документация для работы выбирается в соответствии с версией биллинговой системы на странице www.netup.tv/ru/utm5/documentation

Методы авторизации:

  • Получение временного токена через api/login. Полученный session_id необходимо размещать в cookie "session_id" для каждого запроса.

  • Создание постоянного токена через Web-интерфейс администратора в системном пользователе. Он размещается в cookie "token" для каждого запроса.

Брокер сообщений RabbitMQ

RabbitMQ (www.rabbitmq.com) является брокером сообщений, который позволяет взаимодействовать NetUP 5+ с прочим программным обеспечением при помощи протокола AMQP. Библиотеки AMQP сущесвутют для множества языков программирования.

Классическая архитектура решения выглядит так:

Producer (NetUP 5+) ⇒ Queue (очередь в RabbitMQ) ⇒ Consumer (подписчик - произвольное ПО).

После установки и настройки RabbitMQ необходимо выполнять подключение со стороны NetUP 5+ (web): Настройки ⇒ Оборудование ⇒ RABBITMQ SERVICES

Условия добавления сообщений интегрированы в Правила Firewall на странице настроек оборудования.

Urfaclient

Urfaclient был перенесён из UTM5 в NetUP 5+ для сглаживания процесса перехода пользователей, которые уже наладили свою инфраструктуру с помощью этого инструмента. В настоящий момент мы рекомендуем применять для собственных интеграций исключительно REST API.

Схема

Скрипт

Файл данных

Запуск утилиты

Конфигурационный файл

Примеры

Urfaclient предназначен для осуществления унифицированного доступа к структурам ядра NetUP 5+ посредством RPC интерфейса (URFA).

Urfaclient состоит из:

  • библиотеки liburfaclient.so, обеспечивающей взаимодействие утилиты и ядра биллинга;

  • утилиты utm5_urfaclient, предназначенной для выполнения требуемых действий;

  • схемы, описывающей URFA-функции, входные и выходные параметры используемых URFA-функций;

  • URFA-скриптов, специфичных для производимого действия или последовательности действий.

Вывод вызываемых URFA-функций пишется в стандартный поток вывода (stdout).

При проведении требуемых действий в некоторых случаях может не проводиться ряд проверок, которые проводят интерфейс администратора или веб-интерфейс пользователя при выполнении того или иного действия. Кроме того, вызов некоторых функций может потребовать последующего вызова других функций с целью создания объектов, необходимых для сохранения логической целостности данных.
Перед выполнением любого действия на системах, находящихся в коммерческой эксплуатации, с помощью пакета Urfaclient необходимо проверить корректность действий на стендовой системе.
Пакет Urfaclient предназначен для взаимодействия с ядром NetUP 5+ на низком уровне и требует четкого понимания логики производимых действий.
Компания NetUP не несет ответственности за любые последствия, вызванные некорректным использованием пакета.

Схема

Схема api.xml содержит представленные в виде XML-тегов описания входных и выходных параметров функций; последовательности действий в зависимости от значения данных параметров.

Путь к файлу api.xml может быть указан в качестве параметра командной строки -api. По умолчанию: /netup/utm5/xml/api.xml.

Значения выражений в текущей реализации представляют либо значения переменной, составляющей выражение, либо значение встроенной функции, либо константу, если не найдено переменной или функции с соответствующим именем.

Переменные в системе представляют массивы строк. По умолчанию происходит обращение к нулевому элементу данного массива, если явно не указан индекс массива.

Интерпретация значений переменных зависит от контекста. Например, в случае тега integer на этапе передачи значения из переменной происходит парсинг строк, на этапе приёма значения в переменную происходит сериализация строк.

Необходимо внимательно относиться к выбору имён переменных, так как все переменные в данной реализации являются глобальными.

Встроенные функции системы:

  • now()– возвращает строковое представление текущего времени в формате unix;

  • max_time()– возвращает строковое представление максимального значения времени в NetUP 5+ в формате unix (2000000000, ~2033 год);

  • size(varname)– возвращает длину массива с именем var_name.

Допустимые теги: Описание

urfa

Корневой тег.
Не содержит атрибутов. Может содержать один или несколько тегов function.

function

Описывает функцию.
Обязательные атрибуты: name – имя функции; id – идентификатор функции.
Должен содержать теги input и output (по одному на описание функции).
Порядок следования тегов input и output значения не имеет.

input

Содержит описание входных параметров функции.
Не имеет атрибутов. Может содержать упорядоченную последовательность тегов: integer, long, double, string, ip_address, if, for, error.

output

То же, что и input, только для выходных параметров функции.

integer

Может находиться внутри тега input и output; передает целое значение со знаком длиной 32 бита.
Должен содержать свойство name – имя переменной-источника или получателя.
Может содержать свойства:
default – выражение для значения по умолчанию. Имеет значение только для входных параметров, в случае если не найдена переменная с именем, указанным в свойстве name. При отсутствии переменной и значения по умолчанию произойдет завершение программы с ненулевым кодом возврата.
array_index – выражение для номера ячейки массива-источника или массива-получателя.

long

Аналогичен тегу integer, но содержит описание целых знаковых параметров длиной 64 бита (int64_t).

double

Аналогичен тегу integer, но содержит описание параметров с плавающей точкой (double).

string

Аналогичен тегу integer, но содержит описание строковых параметров.

ip_address

Аналогичен тегу integer, но содержит описание параметров типа IPv4-адреса (например 192.168.0.1 или 255.255.0.0). Внутренним представлением IPv4 адреса является целое число длиной 32 бит (тип int32_t).

if

Предназначен для обеспечения ветвления в последовательности параметров в зависимости от значения переменной.
Должен иметь атрибуты: variable – имя проверяемой переменной, value – выражение для сравниваемого значения, condition – условие сравнения (eq – равно, ne – не равно).
Может содержать упорядоченную последовательность тегов: integer, long, double, string, ip_address, if, for, error.
Другие вложенные теги недопустимы.

for

Предназначен для обеспечения реализации циклов.
Должен иметь атрибуты: name – имя переменной-счётчика, from – выражение для начального значения счётчика, count – выражение для числа итераций цикла.
Может содержать упорядоченную последовательность тегов: integer, long, double, string, ip_address, if, for, error.
Другие вложенные теги недопустимы.

error

Вызывает выход из программы с ненулевым кодом возврата, если не указано обратное.
Может иметь атрибуты: icode – код возврата программы, comment – описание ошибки, variable – имя переменной, значение которой будет выведено после комментария при завершении программы.

Скрипт

URFA-скрипт описывает последовательность действий: вызова URFA-функций, циклов и условных операторов, представленную в виде XML-тегов. На каждое действие присутствует по одному файлу с именем <имя_действия.хml>.

Имя директории, в которой находятся URFA-скрипты, может быть указано в качестве параметра командной строки -x. По умолчанию имя директории – /netup/utm5/xml/. Например, для действия add_user по умолчанию будет использоваться файл /netup/utm5/xml/add_user.xml.

URFA-скрипт должен соответствовать требованиям схемы.

Допустимые теги: Описание

urfa

Корневой тег.
Должен содержать упорядоченную последовательность тегов: call, parameter, add, sub, mul, div, cat, if, for, message, out, set, error, remove.

call

Осуществляет вызов URFA-функции, определённой в api-файле.
Должен иметь атрибут function – имя вызываемой функции.
Может иметь атрибут output, при нулевом значении которого не происходит вывода результата работы функции в виде xml-документа.
Может содержать теги parameter.
Другие вложенные теги недопустимы.

parameter

Должен содержать свойство name – имя переменной.
Может определять начальные значения переменных, если имеет атрибут value, в противном случае определяет допустимый параметр командной строки.
Если значение переменной указано как в файле действия в атрибуте value, так и в командной строке, то приоритетной является командная строка. Все присутствующие в командной строке значения данного параметра, либо его значение по умолчанию, помещаются в список переменных как массив с именем, определённым свойством name.
Многомерные массивы при необходимости могут быть переданы в функцию через файл данных – см. Файл данных.
Также может иметь атрибут comment – описание переменной и соответствующего ключа командной строки, выводимое при одновременном указании ключей командной строки -a [имя_действия] и -help.

add

Тег арифметического действия (сложения).
Должен иметь атрибуты: arg1 – первое слагаемое, arg2 – второе слагаемое, dst – имя переменной для записи результата.

sub

Тег арифметического действия (вычитания).
Должен иметь атрибуты: arg1 – уменьшаемое, arg2 – вычитаемое, dst – имя переменной для записи результата.

mul

Тег арифметического действия (умножения).
Должен иметь атрибуты: arg1 – первый множитель, arg2 – второй множитель, dst – имя переменной для записи результата.

div

Тег арифметического действия (деления).
Должен иметь атрибуты: arg1 – делимое, arg2 – делитель, dst – имя переменной для записи результата.

cat

Тег операции конкатенации строк.
Должен иметь атрибуты: arg1 – первая строка, arg2 – вторая строка, dst – имя переменной для записи результата.

if

Предназначен для обеспечения ветвления в последовательности параметров в зависимости от значения переменной.
Должен иметь атрибуты: variable – имя проверяемой переменной, value – выражение для сравниваемого значения, condition – условие сравнения (eq – равно, ne – не равно).
Может содержать упорядоченную последовательность тегов: call, parameter, add, sub, mul, div, cat, if, for, message, out, set, error, remove.
Другие вложенные теги недопустимы.

for

Предназначен для обеспечения реализации циклов.
Должен иметь атрибуты: name – имя переменной-счётчика, from – выражение для начального значения счётчика, count – выражение для числа итераций цикла.
Может содержать упорядоченную последовательность тегов: call, parameter, add, sub, mul, div, cat, if, for, message, out, set, error, remove.
Другие вложенные теги недопустимы.

message

Должен иметь атрибут text.
Выводит в поток STDOUT отладочные сообщения, определённые в атрибуте text.

out

Должен иметь атрибут var.
Выводит в поток STDOUT значение переменной, заданной атрибутом var, в виде массива.

set

Определяет значения переменных.
Должен иметь атрибут dst и один из атрибутов: src или value.
Одновременное указание атрибутов src и value недопустимо.
Может также иметь атрибуты:
dst_index – выражение для номера ячейки массива-приёмника (0, если атрибут не указан);
src_index – выражение для номера ячейки массива-источника (0, если атрибут не указан);
dst – определяет имя переменной-приёмника (если переменная-приёмник не существует, она будет создана);
src – определяет имя переменной-источника;
value – определяет выражение для присвоения переменной.
В текущей реализации допускается присвоение нового элемента массива либо в существующую ячейку, либо в ячейку с индексом, равным текущему размеру массива. Индекс первого элемента массива – 0.
Выход за границы массива-источника также недопустим и приводит к аварийному завершению программы.

error

Вызывает выход из программы с ненулевым кодом возврата, если не указано обратное.
Может иметь атрибуты: code – код возврата программы, comment – описание ошибки, variable – имя переменной, значение которой будет выведено после комментария при завершении программы.

shift

Предполагает сдвиг значений массива, указанного в свойстве name, на одну позицию влево с удалением первого элемента. Данный тег предназначен для внутреннего использования, и его применение не рекомендуется.

break

Осуществляет выход из первого по вложенности тега for с продолжением выполнения скрипта со следующей за циклом строки.

remove

Удаляет элемент массива либо весь массив, имя которого должно присутствовать в свойстве name. Индекс элемента массива может быть указан в виде выражения в свойстве array_index, в противном случае удаляется весь массив. При удалении элемента массива последующие элементы смещаются на одну позицию влево.

Файл данных

Файл данных описывает массив или несколько массивов, которые следует передать как аргументы в функции. Путь к файлу данных должен быть указан в качестве параметра командной строки – datafile.

Допустимые теги: Описание

urfa

Корневой тег.
Должен содержать один или несколько тегов array.

array

Массив произвольной размерности.
Должен иметь атрибуты: name – имя переменной; dimension – размерность массива.
Также может иметь атрибут comment – произвольный комментарий.
Должен содержать упорядоченную последовательность тегов dim.
Другие вложенные теги недопустимы.

dim

Элемент массива, который может сам по себе быть массивом.
Может иметь атрибут comment – произвольный комментарий.
Содержимое тега должно представлять либо значение элемента массива, либо упорядоченную последовательность тегов dim.
Другие вложенные теги недопустимы.

Запуск утилиты

Вызов утилиты осуществляется из командной строки с указанием параметров. Запуск Urfaclient производится командой –
/netup/utm5/bin/utm5_urfaclient

Параметры командной строки начинаются со знака “ - ”, затем следует название ключа и через пробел значение параметра (исключение составляет ключи -help, -debug, -u и -dealer, не требующие значения).

Большинство ключей имеют соответствия среди параметров конфигурационного файла. Общий список всех ключей и параметров приведён ниже.

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

Все строковые значения должны передаваться в кодировке UTF-8. Порядок указания параметров не имеет значения.

Конфигурационный файл

По умолчанию Urfaclient использует конфигурационный файл /netup/utm5/utm5_urfaclient.cfg.

Формат конфигурационного файла: параметр=значение.

Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.

Все значения параметров файла конфигурации могут быть указаны и в командной строке. Параметры, указанные в командной строке, имеют приоритет над параметрами, указанными в файле конфигурации и в файле данных.

Список возможных параметров и ключей командной строки:

Ключ Параметр По умолчанию Описание

-h

core_host

127.0.0.1

IP-адрес хоста, на котором запущено ядро NetUP 5+

-p

core_port

11758

Порт, на котором ядро NetUP 5+ слушает URFA (параметр urfa_bind_port в конфигурационном файле ядра)

-l

core_login

init

Логин для доступа к ядру NetUP 5+

-P

core_password

init

Пароль для доступа к ядру NetUP 5+

-x

xml_path

/netup/utm5/xml/

Имя директории, содержащей схему и URFA-скрипты

-api

api

/netup/utm5/xml/api.xml

Путь к файлу схемы

-u

plain_user

не установлено

Если указано значение “yes”, возможен вызов только пользовательских функций, в противном случае – только системных

-dealer

dealer

не установлено

Если указано значение “yes”, возможен вызов только функций дилера

-s

session_key

не установлено

При указании данного параметра происходит восстановление сессии пользователя по ключу, указанному в качестве значения параметра. При этом в файле конфигурации, либо в командной строке должны быть указаны логин и пароль системного пользователя

-i

user_ip

127.0.0.1

При восстановлении сессии по ключу значение данного параметра определяет IP-адрес, с которого была инициализирована восстанавливаемая сессия

-a

нет

не установлено

Имя действия (обязательный параметр)

-c

нет

/netup/utm5/utm5_urfaclient.cfg

Путь к конфигурационному файлу

-help

нет

не установлено

Показывает справку по параметрам вызванного скрипта, если таковая есть

-debug

нет

не установлено

Выводит дополнительные отладочные данные в процессе выполнения

-datafil e

нет

не установлено

Имя файла данных

-<имя>

нет

не установлено

Значение специфичного параметра <имя>

Примеры

Примеры URFA-скриптов находятся в директории /netup/utm5/xml. Там же находятся схема (api.xml) и примеры файлов данных – search_users_new_data.xml и teldata.xml.

Пример запуска утилиты:

utm5_urfaclient -a link_tariff_with_services -user_id 5
-account_id 5 -discount_period_id 2 -tariff_current 1
-ip_address 10.4.5.7 -iptraffic_login test4
-iptraffic_password 123

В данном примере выполняется скрипт link_tariff_with_services.xml, содержащий пример подключения к лицевому счёту пользователя тарифного плана с подключением всех услуг, входящих в состав этого тарифного плана с отмеченным флагом Подключать услугу по умолчанию.

По результатам работы утилита пишет данные в стандартный поток вывода.

Импорт из текстовых файлов

Разбор файлов

Запуск утилит

Конфигурационные файлы

Используйте утилиту utm5_send_traffic для импорта информации о трафике в том случае, если эта информация не содержит данных об адресах отправителя или получателя трафика, но содержит информацию о количестве трафика, его классе, логине сервисной связки услуги передачи трафика, которой должен принадлежать данный трафик. Если поставщик информации о трафике поддерживает передачу данной информации по протоколу NetFlow, рекомендуется передавать информацию о трафике по протоколу NetFlow.

Используйте утилиту utm5_send_cdr для импорта информации о телефонных звонках в том случае, если поставщик информации не поддерживает её передачу RADIUS-серверу посредством запросов на учёт (Accounting-Request). Если поставщик информации о телефонных звонках поддерживает её передачу посредством запросов на учёт (Accounting-Request), рекомендуется непосредственно передавать её RADIUS-серверу.

Разбор файлов

В случае разбора файла с информацией о трафике выполняются следующие действия:

  1. Устанавливается соединение с ядром NetUP 5+ по протоколу URFA.

  2. Построчно считывается текстовый файл, каждая строка которого разбирается в соответствии со стандартным форматом.

  3. Данные, содержащиеся в каждой строке, сохраняются во внутренней структуре хранения данных.

  4. Структура с данными передаётся ядру биллинга посредством вызова URFA-функции 0x5511.

  5. Утилита utm5_send_traffic завершает работу.

Файл с информацией о трафике должен содержать данные, отвечающие следующим требованиям:

  1. Каждая строка файла содержит данные формата:
    <LOGIN> <BYTES> <TCLASS> <IP>

    LOGIN

    логин, указанный в свойствах услуги передачи трафика, которому должен принадлежать данный трафик

    BYTES

    количество трафика в байтах (не должно превышать 2 Гб)

    TCLASS

    класс трафика, зарегистрированный в ядре NetUP 5+, которому должен принадлежать трафик

    IP

    IP-адрес, который будет указан для данного трафика при формировании отчёта по трафику с группированием по IP. Поле IP-адреса может иметь произвольное значение в формате IP-адреса. Поддерживается IPv6.

  2. Файл не содержит строк с какой-либо другой информацией или в другом формате.

В случае разбора файла с информацией о телефонных звонках выполняются следующие действия:

  1. Устанавливается соединение с ядром NetUP 5+ по протоколу URFA.

  2. Построчно считывается текстовый файл, каждая строка которого разбирается в соответствии с форматом, заданным в конфигурационном файле.

  3. Данные, содержащиеся в каждой строке, сохраняются во внутренней структуре хранения данных.

  4. Структура с данными передаётся ядру NetUP 5+ посредством вызова URFA-функции 0x10310.

  5. Утилита utm5_send_cdr завершает работу.

Файл с информацией о телефонных звонках должен содержать данные, отвечающие следующим требованиям:

  1. Каждая запись о звонке находится в отдельной строке.

  2. Запись о каждом звонке занимает не более одной строки.

  3. Каждая запись о звонке соответствует формату записи, заданному в конфигурационном файле. Формат записи должен соответствовать общим требованиям к формату записи о звонке.

  4. Файл не содержит строк с какой-либо другой информацией или в другом формате.

Требования к формату записи о звонке:

  1. Каждая запись о звонке содержит данные в текстовом виде.

  2. Каждая запись о звонке разделена одинаковыми разделителями на несколько полей. Обязательно присутствие следующих полей:

    • Идентификатор вызывающего абонента (телефонный номер);

    • Идентификатор вызываемого абонента (телефонный номер);

    • Длительность звонка в секундах без указания единицы измерения;

    • Дата и время начала звонка, если необходимо датировать звонок временем, отличным от времени передачи информации о нем.

  3. Могут присутствовать также следующие необязательные поля:

    • Входящий транк;

    • Исходящий транк;

    • Идентификатор АТС (PBX ID);

    • Уникальный числовой идентификатор звонка (идентификатор сессии).

Если формат длительности звонка в конфигурационном файле не установлен, то по умолчанию используется следующий:
<чч>:<мм>:<сс>.<мск> <врз> <днл> <мес> <дт> <гггг>

Поле Количество символов Описание

чч

2

часы

мм

2

минуты

сс

2

секунды

мск

3

миллисекунды

врз

3

временная зона

днл

3

день недели

мес

3

месяц

дт

2

дата

гггг

4

год

Например, 00:35:05.000 UTC Tue Jul 19 2016.

Миллисекунды и день недели игнорируются.

Разделитель полей в записи о звонке устанавливается в конфигурационном файле и является единым для всего разбираемого файла.

Запуск утилит

Запуск утилит производится командами:
/netup/utm5/bin/utm5_send_traffic
и
/netup/utm5/bin/utm5_send_cdr

В командной строке можно передавать обеим утилитам следующие параметры:

-c <путь>

Путь к конфигурационному файлу.

-s <путь>

Путь к файлу с импортируемой информацией. Если задан символ “ - ”, то читается стандартный поток ввода.
По умолчанию используется файл /netup/utm5/source.dat

-v

Вывод информации о версии и допустимых параметрах командной строки

Конфигурационные файлы

Утилиты используют конфигурационные файлы utm5_send_traffic.cfg и utm5_send_cdr.cfg, расположенные на UNIX-системах в директории /netup/utm5/.

Формат конфигурационных файлов: параметр=значение.

Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.

Ниже следует список возможных параметров.

Параметры соединения с ядром биллинга (общие для обеих утилит):

Параметр Возможные значения По умолчанию Описание

core_host

IP-адрес

127.0.0.1

IP-адрес хоста, на котором запущено ядро NetUP 5+

core_port

натуральное число от 1 до 65534

11758

Порт, на котором ядро NetUP 5+ слушает URFA (параметр urfa_bind_port в конфигурационном файле ядра)

core_login

строка

init

Логин пользователя для доступа к ядру NetUP 5+

core_password

строка

init

Пароль пользователя для доступа к ядру NetUP 5+

Параметры разбора файлов c информацией о телефонных звонках (актуально для utm5_send_cdr.cfg):

Параметр Возможные значения По умолчанию Описание

pbx_calling_sid

натуральное число

0

Номер позиции в импортируемом файле, которая содержит запись о вызывающем номере

pbx_called_sid

натуральное число

1

Номер позиции в импортируемом файле, которая содержит запись о вызываемом номере

pbx_duration

натуральное число

2

Номер позиции в импортируемом файле, которая содержит запись о длительности звонка

pbx_duration_format

строка формата

формат по умолчанию

Формат записи времени звонка.
В строке формата времени допускается использование спецификаторов %H, %h, %M, %m, %S и %s (см. ниже)

pbx_session_id

строка формата

3

Номер позиции в импортируемом файле, которая содержит запись об идентификаторе сессии.

pbx_date_time

строка формата

4

Номер позиции в импортируемом файле, которая содержит запись о дате и времени начала звонка.

pbx_date_format

строка формата

формат по умолчанию

Формат даты и времени начала звонка.

radius_auth_host

IP-адрес интерфейса или 0.0.0.0

0.0.0.0

Адрес хоста для приема запросов на проверку доступа (Access-Request)

pbx_time

натуральное число

не задано

Номер позиции в импортируемом файле, которая содержит запись о времени звонка (если время хранится отдельно от даты)

pbx_time_format

строка формата

не задано

Формат времени начала звонка.
В строке формата времени допускается использование спецификаторов %H, %h, %M, %m, %S и %s (см. ниже)

pbx_accounting_code

натуральное число

не задано

Номер позиции в импортируемом файле, которая содержит запись об имени пользователя (если она есть)

pbx_incoming_trunk

натуральное число

не задано

Номер позиции в импортируемом файле, которая содержит запись о входящем транке (если она есть)

pbx_outgoing_trunk

натуральное число

не задано

Номер позиции в импортируемом файле, которая содержит запись об исходящем транке (если она есть)

pbx_id

натуральное число

не задано

Номер позиции в импортируемом файле, которая содержит запись об идентификаторе АТС (если она есть)

pbx_delimiter

строка

пробел

Символ-разделитель между полями

pbx_quote

строка

пустая строка

Символ, в который заключены поля

tariffy_incoming

натуральное число

0 - откл

Номер позиции в импортируемом файле, которая содержит метку о необходимости тарификации вызова как входящего. В CDR на указанной позиции: если 1 - тарифицировать, 0 - нет.

Спецификаторы для настройки даты и времени:

%Y

год (1970…​)

%y

последние два разряда года (00..99)

%N

месяц (01…​12)

%n

месяц без нулей слева (1..12)

%H

час (00..23)

%h

час без нулей слева (0..23)

%D

день месяца (01..31)

%d

день месяца без нулей слева (1..31)

%M

минуты (00..59)

%m

минуты без нулей слева (0..59)

%S

секунды (00..60)

%s

секунды без нулей слева (0..60)

%b

сокращенное название месяца (Jan..Dec)

%U

время в формате unix timestamp

%z

временная зона (например MSK) – только для Linux

%

любой символ

Параметры журналирования: Возможные значения По умолчанию Описание

log_level

число от 0 до 3

1

Определяет уровень сообщений, которые пишутся в основной поток сообщений (если при запуске не задан параметр -d)

log_file_main

имя файла

стандартный поток ошибок

Файл основного потока сообщений

log_file_debug

имя файла

стандартный поток ошибок

Файл отладочного потока сообщений

log_file_critical

имя файла

стандартный поток ошибок

Файл критического потока сообщений

Экспорт статистики

Для эмуляции работы пользователей и экспорта статистики по протоколу NetFlow v.5 используйте утилиту utm5_flowgen, которая устанавливается в директорию: /netup/utm5/bin/utm5_flowgen

В командной строке можно передать следующие параметры:

-h

IP-адрес хоста, на который будут отправлены сгенерированные NetFlow-пакеты.
Значение по умолчанию – 127.0.0.1.

-p

Порт, на который будут отправлены сгенерированные NetFlow-пакеты.
Значение по умолчанию – 9996

-c

Количество записей NetFlow. Значение по умолчанию - 65535

-v

Версия протокола NetFlow. Поддерживаются версии 5 и 9

-f

В качестве пересылаемых данных использовать данные из указанного файла.
По умолчанию используются данные из /dev/random. Только для NetFlow версии 5

-t

Периодичность отправки пакетов NetFlow

-s

IP-адрес отправителя трафика в записи NetFlow

-d

IP-адрес получателя трафика в записи NetFlow

-z

Порт источника трафика в записи NetFlow

-x

Порт получателя трафика в записи NetFlow

-n

Номер AS источника трафика в записи NetFlow

-m

Номер AS получателя трафика в записи NetFlow

-i

Индекс входящего интерфейса в записи NetFlow

-o

Индекс исходящего интерфейса в записи NetFlow

-b

Количество переданных байт в записи NetFlow

-P

Количество переданных пакетов в записи NetFlow

-j

TOS, указанный в записи NetFlow

-k

TCP-флаги в записи NetFlow

-l

Идентификатор протокола в записи NetFlow. Например: 6=TCP, 17=UDP и т. д.

-N

IP-адрес следующего маршрутизатора в записи NetFlow

-u

Использовать *.utm файл в качестве источника отправляемой статистики NetFlow

Следующая команда генерирует один пакет NetFlow с информацией о 1048576 байтах, переданных между адресами 10.0.0.1 и 10.0.0.2:

/netup/utm5/bin/utm5_flowgen -c 1 -s 10.0.0.1 -d 10.0.0.2 -b 1048576

Для эмуляции работы пользователей и экспорта статистики по протоколу RADIUS используется утилита utm5_radgen, которая устанавливается в следующую директорию:
/netup/utm5/bin/utm5_radgen.

В командной строке можно передать следующие параметры:

-p

Порт, на который следует отправить сгенерированные RADIUS-пакеты

-h

IP-адрес, на который следует отправить сгенерированные RADIUS-пакеты

-s

Секретное слово для взаимодействия с RADIUS-сервером

-c

Код RADIUS-пакета. Значение по умолчанию: 1 (Access-Request)

-i

Идентификатор RADIUS-пакета.
Значение по умолчанию: 1

-u

Пароль пользователя в открытом виде. Данное значение будет использовано при формировании атрибута Password (код атрибута 2)

-a

Значения атрибутов

-b

Значения атрибутов в бинарном представлении (HEX ASCII)

-q

Быстрый режим: не дожидаться ответа

-f

Имя файла, из которого необходимо считать аутентификатор.
По умолчанию: /dev/random

-v

Показать версию утилиты

Возможно указание нескольких атрибутов. Строка имеет следующий формат:
vendor_id:attr_id:is_digit:value

Поля разделены двоеточием. Первое поле указывает на идентификатор вендора. Значение по умолчанию: 0.

Второе поле указывает на идентификатор атрибута.

Третье поле используется для указания типа данных: 0 – строковый, 1 – цифровой.

Четвёртое поле используется для передачи самого значения.

Примеры:

  1. Для отправки запроса на авторизацию (Access-Request) необходимо выполнить следующую команду:

    value/netup/utm5/bin/utm5_radgen -h 127.0.0.1 -p 1812 -s secret -u password -a 0:1:0:username
    В результате будет сгенерирован RADIUS-пакет с запросом на авторизацию для пользователя username с паролем password.

  2. Для отправки запроса на аккаунтинг (Accounting-Request) необходимо выполнить следующую команду:

    /netup/utm5/bin/utm5_radgen -h 127.0.0.1 -p 1813 -s secret -a 0:1:0:username -a 0:40:1:1 -a 0:44:0:sessionid1 -c 4
    В результате будет сгенерирован RADIUS-пакет с запросом на аккаунтинг для пользователя username, и будет указано, что происходит открытие сессии (start). Идентификатор сессии sessionid1.

  3. Для отправки запроса на аккаунтинг (Accounting-Request) необходимо выполнить следующую команду:

    /netup/utm5/bin/utm5_radgen -h 127.0.0.1 -p 1813 -s secret -a 0:1:0:username -a 0:32:0:localhost -a 0:40:1:2 -a 0:44:0:sessionid1 -a 0:46:1:100 -c 4
    В результате будет сгенерирован RADIUS-пакет с запросом на аккаунтинг для пользователя username, и будет указано, что происходит закрытие сессии (stop). Идентификатор сессии sessionid1. Длительность сессии (Acct-Session-Time) – 100 секунд.

Формирование отчётов по трафику

Утилита get_nf_direct предназначена для формирования детальных отчётов по трафику на основании сохранённой первичной информации о трафике.

Исполняемый файл называется /netup/utm5/bin/get_nf_direct.

В командной строке можно передавать следующие параметры:

-D <путь>

Имя директории, в которой находятся файлы с первичной информацией о трафике

-b <путь>

Имя файла с первичной информацией о трафике

-a

Идентификатор лицевого счета в системе, для которого формируется отчёт

-s <IP-адрес>

Адрес отправителя трафика, для которого формируется отчёт

-d <IP-адрес>

Адрес получателя трафика, для которого формируется отчёт

-p <порт>

Порт отправителя трафика, для которого формируется отчёт

-P <порт>

Порт получателя трафика, для которого формируется отчёт

-c <класс>

Класс трафика, для которого формировать отчёт

-f <время>

Время в формате Unix Time Stamp, начиная с которого формировать отчёт

-t <время>

Время в формате Unix Time Stamp, по которое формировать отчёт. Если значение не указано, используется текущее время

-l <число>

Максимальное количество строк, которые будут использоваться при формировании отчёта.
По умолчанию не ограничено

-e

Отображать статистику в расширенном виде

-C

Вывод в формате CSV

-h

Вывод информации о версии и допустимых параметрах командной строки

Внесение платежей

Утилита utm5_payment_tool предназначена для внесения платежей на лицевой счет абонента с использованием стороннего программного обеспечения. Вызов утилиты осуществляется из командной строки с указанием параметров. Запуск утилиты производится командой:
/netup/utm5/bin/utm5_payment_tool

Параметры командной строки начинаются со знака “ - ”, затем следует название ключа и через пробел значение параметра. Общий список всех ключей и параметров приведён ниже.

Все строковые значения должны передаваться в кодировке UTF-8. Порядок указания параметров не имеет значения.

По умолчанию утилита utm5_payment_tool использует конфигурационный файл /netup/utm5/utm5_payment_tool.cfg.

Значения параметров в конфигурационном файле для этой утилиты имеют больший приоритет, чем значения параметров, указанные в командной строке.

Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #, считается комментарием.

Ключ Параметр По умолчанию Описание

-h <IP-адрес>

core_host

127.0.0.1

Адрес сервера, на котором запущено ядро NetUP 5+

-P <порт>

core_port

11758

Порт, на котором ядро NetUP 5+ слушает URFA

-l

core_user

init

Логин для доступа к ядру NetUP 5+

-p

core_password

init

Пароль для доступа к ядру NetUP 5+

-k

user_comment

пустая строка

Комментарий для абонента

-L

admin_comment

пустая строка

Комментарий для администратора

-c

currency_id

810 (RUR)

ID валюты платежа (трёхзначный цифровой код)

-m

payment_method

0 (оплата наличными)

ID метода платежа. Полный список доступных методов смотрите в справочнике в интерфейсе администратора

-i

turn_on_internet

no

Открыть доступ в Интернет после внесения платежа: yes / no

-a

accoun_id

не задано

Номер лицевого счёта абонента

-e

external_number

не задано

Внешний идентификатор платежа

-b

payment

0.0

Сумма платежа

Проверка структуры БД

Утилита db_archiver используется при обновлении NetUP 5+ и предназначена для проверки и приведения структуры БД в соответствие требованиям новой версии ядра биллинга. Кроме того, утилита позволяет архивировать таблицы, подлежащие архивации.

Исполняемый файл называется /netup/utm5/bin/db_archiver.

В командной строке можно передавать следующие параметры:

-a

Архивировать таблицы, подлежащие архивации

-c <путь>

Путь к конфигурационному файлу NetUP 5+.
По умолчанию: /netup/utm5/utm5.cfg

-d

Записать в log-файл различия между текущей структурой БД и структурой БД, необходимой для работы новой версии NetUP 5+

-e

Обновить только те столбцы таблиц, которые помечены для обновления компанией NetUP

-f

Обновить все столбцы, формат которых отличается от формата в новой версии NetUP 5+

-g

Обновить таблицы, подлежащие архивации

-i

Обновить индексы

-n

Не считать за изменение структуры первичный ключ без значения по умолчанию

-t

Верифицировать архивные таблицы

-l

Приостановить действия ядра NetUP 5+, требующие записи в БД. Это требуется для архивации таблиц без остановки ядра. Этот параметр следует использовать совместно с параметром -a

-q

Не требовать подтверждения действий и минимизировать количество записей в log-файл. Это может потребоваться, например, при использовании этой утилиты по расписанию

-u

Обновить структуру базы данных. Этот параметр используется совместно с параметрами -e, -f, -g и -i. Например: -uef

-v

Вывести в log-файл описание структуры БД новой версии NetUP 5+

-x <login>

Логин для соединения с ядром по протоколу URFA

-y <password>

Пароль для соединения с ядром по протоколу URFA. Логин и пароль для соединения с ядром по протоколу URFA могут потребоваться только если они отличаются от указанных в конфигурационном файле ядра

-?, -h

Вывод справки

Работа с электронной почтой

NetUP 5+ может автоматически отправлять пользователям некоторые сообщения по электронной почте, если адрес электронной почты указан в свойствах пользователя.

Отправка осуществляется через SMTP-сервер, определяемый параметром smtp_relay. SMTP-сервер должен быть правильно настроен и своевременно отправлять исходящие сообщения не позднее 1 секунды с момента получения данных. Задержка в обработке пересылаемых писем может резко ухудшить быстродействие биллинга. Рекомендуется использовать локальный SMTP-сервер.

Сообщения могут быть следующих типов:

  • Счета – отправка происходит при выставлении счёта пользователю, если в свойствах пользователя выбрана опция Высылать счета по email или при выборе пункта Отослать на email в контекстном меню данного счёта в отчёте по документам.
    Тема сообщения определяется системным параметром invoice_subject. Текст сообщения определяется системным параметром invoice_text, а в приложении содержится счёт (HTML-файл), формируемый на основе шаблона документа Счёт.

  • Уведомления о платежах – отправка происходит в момент поступления платежа на счёт пользователя, если в свойствах платежа выбрана соответствующая опция.
    Тема сообщения – Payment notification. Текст сообщения формируется на основе шаблона, хранящегося в системном параметре payment_notification_message.

  • Уведомления о состоянии счёта – отправка происходит, когда баланс пользователя (без учёта кредита) пересекает границы, заданные системным параметром notification_borders, если он задан.
    Тема сообщения определяется системным параметром notification_message_subject. Текст сообщения формируется на основе шаблона, хранящегося в системном параметре notification_message.

Переменные шаблонов документов

Группа Документ:

Переменная Тип Описание

document.number

int32

Номер документа

document.alt_number

string

Альтернативный номер документа

document.date

int32

Дата создания документа

Группа Пользователь:

Переменная Тип Описание

user.id

int32

ID абонента

user.full_name

string

Наименование абонента

user.login

string

Логин абонента

user.password

int32

Пароль абонента

user.actual_address

string

Фактический адрес

user.juridical_address

string

Юридический адрес

user.home_telephone

string

Домашний телефон

user.work_telephone

string

Рабочий телефон

user.mobile_telephone

string

Мобильный телефон

user.tax_number

string

ИНН абонента

user.kpp_number

string

КПП абонента

user.icq_number

string

Номер ICQ

user.web_page

string

Веб-страница

user.district

string

Район

user.building

string

Строение

user.entrance

string

Подъезд

user.floor

string

Этаж

user.flat_number

string

Квартира

user.personal_manager

string

Персональный менеджер

user.basic_account

int32

ID основного лицевого счета

user.passport

string

Паспорт

user.email

string

E-mail

user.comments

string

Комментарий

user.bank_account

string

Банковский счёт

user.bank_name

string

Наименование банка

user.bank_city

string

Город банка

user.bank_bic

string

БИК

user.bank_corr_account

string

Корреспондентский счет

user.currency_short_name

string

Краткое наименование валюты

user.currency_full_name

string

Полное наименование валюты

user.currency_code

int32

Код валюты

user.params.{param_id}

string

Дополнительный параметр абонента с ID {param_id}. Переменная {param_id} может принимать значения целочисленного ID доп. параметра абонента

user.contacts.{contact_id}.email

string

E-mail дополнительного контакта с ID {contact_id}. Переменная {contact_id} может принимать значения headman - руководитель, booker - бухгалтер, либо целочисленный порядковый номер дополнительного контакта, начиная с единицы.

user.contacts.{contact_id}.full_name

string

Полное наименование дополнительного контакта с ID {contact_id}

user.contacts.{contact_id}.short_name

string

Краткое наименование дополнительного контакта с ID {contact_id}

user.contacts.{contact_id}.position

string

Должность дополнительного контакта с ID {contact_id}

user.contacts.{contact_id}.reason

string

Описание дополнительного контакта с ID {contact_id}

user.contacts.{contact_id}.telephone

string

Телефон дополнительного контакта с ID {contact_id}

Группа Лицевой счёт:

Переменная Тип Описание

account.account_id

int32

ID лицевого счета

account.external_id

string

Внешний ID лицевого счета

account.balance

double

Баланс

account.credit

double

Кредит

account.vat_rate

double

НДС в %

account.sale_tax_rate

double

НСП в %

account.access_card_number

string

Номер карты доступа IPTV

Группа Провайдер:

Переменная Тип Описание

provider.full_name

string

Полное наименование поставщика

provider.short_name

string

Краткое наименование поставщика

provider.juridical_address

string

Юридический адрес

provider.actual_address

string

Фактический адрес

provider.tax_number

string

ИНН

provider.kpp_number

string

КПП

provider.booker_full_name

string

Полное имя руководителя

provider.booker_short_name

string

Краткое имя руководителя

provider.bank_account

string

Банковский счет

provider.bank_name

string

Наименование банка

provider.bank_city

string

Город банка

provider.bank_bic

string

БИК

provider.bank_corr_account

string

Корреспондентский счет

Группа Договор:

Переменная Тип Описание

contract.number

int32

ID первого договора

contract.name

string

Наименование первого договора

contract.date

int32

Дата создания первого договора

contract.{contract_id}.number

int32

ID договора с порядковым номеров {contract_id}. Переменная {contract_id} принимает значение порядкового номера договора абонента, начиная с единицы

contract.{contract_id}.name

string

Наименование договора с порядковым номером {contract_id}

contract.{contract_id}.date

int32

Дата создания договора с порядковым номером {contract_id}

user.connect_date

int32

Дата подключения пользователя (отображается в формате unixtime)

user.connect_date..date_short

string

Дата подключения пользователя (отображается в формате ДД.ММ.ГГГГ)

Группа Платеж:

Переменная Тип Описание

payment.id

int32

ID транзакции платежа

payment.amount_in_currency

double

Сумма в валюте

payment.amount_absolute

double

Сумма в системной валюте

payment.date.actual

int32

Дата платежа

payment.date.enter

int32

Дата внесения

payment.date.burn

int32

Дата сгорания

payment.document_number

string

Номер платежного документа

payment.comments.user

string

Комментарий для пользователя

payment.comments.admin

string

Комментарий для администратора

payment.hash

int32

Хэш-код

payment.currency_rate

double

Курс валюты

payment.currency_short_name

string

Краткое наименование валюты

payment.currency_full_name

string

Полное наименование валюты

payment.currency_code

int32

Код валюты

Группа Счёт:

Переменная Тип Описание

bill.sum_without_tax

double

Сумма без налогов

bill.sum_with_tax

double

Сумма с налогами

bill.size

int32

Количество строк в счете

bill.period_start

int32

Дата начала периода

bill.period_end

int32

Дата конца периода

bill.balance_when_created

double

Баланс в момент выставления

bill.debt

double

Задолженность

bill.payment_amount

double

Сумма платежа без учета налогов

bill.payment_amount_with_tax

double

Сумма платежа с учетом налогов

bill.date

int32

Дата

Сводка детализации звонков:

Переменная Тип Описание

summary.periodic_fee

double

Сумма списаний по периодическим услугам

summary.total_fee

double

Сумма списаний по услугам телефонии

summary.other_fee

double

Сумма списаний по прочим услугам

summary.local.charges

double

Сумма списаний за местные вызовы

summary.local.count

double

Количество местных вызовов

summary.local.duration

double

Суммарная длительность местных вызовов

summary.innerzone.charges

double

Аналогично для внутризоновых вызовов

summary.innerzone.count

double

^

summary.innerzone.duration

double

^

summary.intercity.charges

double

Аналогично для междугородних вызовов

summary.intercity.count

double

^

summary.intercity.duration

double

^

summary.international.charges

double

Аналогично для международных вызовов

summary.international.count

double

^

summary.international.duration

double

^

Сервисные связки IPTV:

Переменная Тип Описание

iptv.access_card_number

int32

Номер карты доступа IPTV

iptv.activation_code.part1

string

Код активации карты доступа, часть 1. Код активации состоит из шести частей, для каждой части есть своя переменная, отличающаяся цифрой в конце (.part2,.part3 и т. д.)

Контрольные примеры

Все контрольные примеры выполняются корректно только при работе NetUP 5+ с демо-лицензией.

Работа с RabbitMQ

Данный пример подразумевает наличие сконфигурированного и интегрированного с биллингом RabbitMQ.

Пример кода на языке Golаng для получения сообщения из очереди my-queue и выдачи его в лог:

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/streadway/amqp"
)

const host = "amqp://test:test@10.1.4.34:5672/"
const queue = "my-queue"
const exchange = "my-exchange"

func handleError(err error, msg string) {
	if err != nil {
		log.Fatalf("%s: %s", msg, err)
	}
}

func main() {
	fmt.Println("Started")

	conn, err := amqp.Dial(host)

	amqpChannel, err := conn.Channel()
	handleError(err, "Can't create a amqpChannel")
	defer amqpChannel.Close()

	err = amqpChannel.ExchangeDeclare(
		exchange, // name
		"fanout", // type
		false,    // durable
		false,    // auto-deleted
		false,    // internal
		false,    // no-wait
		nil,      // arguments
	)
	handleError(err, "Could not declare Exchange")

	q, err := amqpChannel.QueueDeclare(queue, true, false, false, false, nil)
	handleError(err, "Could not declare queue")

	err = amqpChannel.QueueBind(
		q.Name,   // queue name
		"",       // routing key
		exchange, // exchange
		false,
		nil,
	)
	handleError(err, "Failed to bind a queue")

	err = amqpChannel.Qos(1, 0, false)
	handleError(err, "Could configure QoS")

	messageChannel, err := amqpChannel.Consume(
		q.Name,
		"",
		false,
		false,
		false,
		false,
		nil)
	handleError(err, "Could not register consumer")

	type Task struct {
		CMD string
	}

	stopper := make(chan bool)

	go func() {
		log.Printf("Consumer ready, PID: %d", os.Getpid())

		for d := range messageChannel {
			log.Printf("Received a message: %s", d.Body)

			if err := d.Ack(false); err != nil {
				log.Printf("Error : %s", err)
			} else {
				log.Printf("Acknowledged message")
			}
		}
	}()

	<-stopper
}

Передача трафика

Контрольный пример предназначен для проверки корректности функционирования биллинговой системы NetUP 5+ на вашем сервере. Суть проверки заключается в загрузке в базу данных параметров пяти пользователей и эмуляции работы этих пользователей в течение трёх месяцев. Необходимые данные для запуска контрольного примера входят в комплект поставки биллинговой системы.

Остановите сервисы, критичные к изменению даты на сервере.

  1. Остановите ядро биллинговой системы utm5_core.

  2. Установите дату на сервере на 00 часов 00 минут 1 апреля 2003 года.

    date 0304010000

  3. Для загрузки данных в базу выполните команды:

    mysqladmin drop UTM5
    mysqladmin create UTM5
    mysql UTM5 < UTM5_MYSQL_kp.sql
    mysql -f UTM5 < UTM5_MYSQL_update.sql

  4. Отредактируйте файл kp.pl. Укажите на каком порту ядро биллинговой системы принимает NetFlow-пакеты, а также путь к утилите, генерирующей NetFlow-пакеты – utm5_flowgen (обычно /netup/utm5/bin/utm5_flowgen).

  5. Запустите ядро биллинговой системы utm5_core.

  6. Запустите программу kp.pl командой: perl kp.pl

В процессе работы программы дата на сервере будет меняться с 1 апреля 2003 г. до 1 июля 2003 г. Таким образом, будет эмулирована работа тестовых пользователей в течение трёх месяцев: апреля, мая, июня 2003 г.
В случае корректной работы биллинговой системы полученные вами значения после отработки программы kp.pl должны совпадать с указанными в таблицах.
После выполнения контрольного примера установите корректную дату на сервере.

Первый месяц (апрель 2003 г.)

cli1 cli2 cli3 cli4 cli5

Объем в день, МБ

0,5

2

4

10

40

Количество дней

30

30

30

30

30

Объем за месяц, МБ

15

60

120

300

1200

Стоимость единицы превышения

0,2

0,2

0,2

0,15

0,15

Предоплачено, МБ

50

50

50

500

500

Стоимость превышения

0

2

14

0

105

Абонплата

3

3

3

100

100

Остаток

-3

-5

-17

-100

-205

Второй месяц (май 2003 г.)

cli1 cli2 cli3 cli4 cli5

Объем в день, МБ

1

2,5

5

20

50

Количество дней

31

31

31

31

31

Объем за месяц, МБ

31

77,5

155

620

1550

Стоимость единицы превышения

0,2

0,2

0,2

0,15

0,15

Предоплачено, МБ

50

50

50

500

500

Стоимость превышения

0

5,5

21

18

157,5

Абонплата

3

3

3

100

100

Остаток

-6

-13,5

-41

-218

-462,5

Третий месяц (июнь 2003 г.)

cli1 cli2 cli3 cli4 cli5

Объем в день, МБ

1,5

3

6

30

60

Количество дней

30

30

30

30

30

Объем за месяц, МБ

45

90

180

900

1800

Стоимость единицы превышения

0,2

0,2

0,2

0,15

0,15

Предоплачено, МБ

50

50

50

500

500

Стоимость превышения

0

8

26

60

195

Абонплата

3

3

3

100

100

Остаток

-6

-13,5

-41

-218

-462,5

ИТОГО остаток

-9

-24,5

-70

-378

-757,5

Коммутируемый доступ

Контрольный пример предназначен для проверки корректности функционирования биллинговой системы NetUP 5+ на вашем сервере. Суть проверки заключается в загрузке в базу данных параметров трех пользователей и эмуляции работы этих пользователей в течение трёх месяцев. Необходимые данные для запуска контрольного примера входят в комплект поставки биллинговой системы.

Остановите сервисы, критичные к изменению даты на сервере.

  1. Остановите ядро биллинговой системы utm5_core.

  2. Установите дату на сервере на 00 часов 00 минут 1 апреля 2003 года.

    date 0304010000

  3. Для загрузки данных в базу выполните команды:

    mysqladmin drop UTM5
    mysqladmin create UTM5
    mysql UTM5 < UTM5_MYSQL_kp.sql
    mysql -f UTM5 < UTM5_MYSQL_update.sql

  4. Отредактируйте файл kp_dialup.pl. Укажите на каком порту процесс utm5_radius принимает пакеты Radius Accounting , а также путь к утилите, генерирующей RADIUS-пакеты – utm5_radgen (обычно /netup/utm5/bin/utm5_radgen).

  5. Запустите ядро биллинговой системы utm5_core и RADIUS-сервер utm5_radius.

  6. Запустите программу kp_dialup.pl командой: perl kp_dialup.pl

В процессе работы программы дата на сервере будет меняться с 1 апреля 2003 г. до 1 июля 2003 г. Таким образом, будет эмулирована работа тестовых пользователей в течение трёх месяцев: апреля, мая, июня 2003 г.
В случае корректной работы биллинговой системы полученные вами значения после отработки программы kp_dialup.pl должны совпадать с указанными в таблицах.
После выполнения контрольного примера установите корректную дату на сервере.

Первый месяц (апрель 2003 г.). Количество дней – 30.

dialup1 dialup2 dialup3

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

Длительность в день, час

0,1

0,1

0,2

0,2

0,3

0,3

Объем за месяц, час

3

3

6

6

9

9

Стоимость, у.е./час

1

2

1

2

1

2

Стоимость, у.е.

3

6

6

12

9

18

Абонплата

10

10

10

Остаток

-19

-28

-37

Второй месяц (май 2003 г.). Количество дней – 31.

dialup1 dialup2 dialup3

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

Длительность в день, час

0,1

0,1

0,2

0,2

0,3

0,3

Объем за месяц, час

3,1

3,1

6,2

6,2

9,3

9,3

Стоимость, у.е./час

1

2

1

2

1

2

Стоимость, у.е.

3,1

6,2

6,2

12,4

9,3

18,6

Абонплата

10

10

10

Остаток

-19,3

-28,6

-37,9

Третий месяц (июнь 2003 г.). Количество дней – 30.

dialup1 dialup2 dialup3

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

08:00 - 19:59

20:00 - 07:59

Длительность в день, час

0,1

0,1

0,2

0,2

0,3

0,3

Объем за месяц, час

3

3

6

6

9

9

Стоимость, у.е./час

1

2

1

2

1

2

Стоимость, у.е.

3

6

6

12

9

18

Абонплата

10

10

10

Остаток

-19

-28

-37

ИТОГО остаток

-57,3

-84,6

-111,9

Телефония

  1. Для загрузки базы данных с данными для контрольного примера выполните команды:

    mysql UTM5 < /netup/utm5/tests/UTM5_tel_kp_clean.sql
    mysql -f UTM5 < /netup/utm5/UTM5_MYSQL_update.sql /dev/null 2>&1

  2. Запустите RADIUS-сервер и ядро биллинговой системы.

  3. Для загрузки тестовых данных из CDR-файла выполните команду: /netup/utm5/bin/utm5_send_cdr -c /netup/utm5/utm5_send_cdr.cfg -s /netup/utm5/tests/src.cdr

    В результате в базу данных будут загружены и протарифицированы телефонные звонки по двум тестовым абонентам в июле 2005 г.

  4. Установите соединение с ядром через интерфейс администратора.

В системе должны присутствовать два тестовых абонента, телефонные направления и тарифные планы согласно времени суток и дням недели.

Тестовые абоненты

Абонент 1

Абонента 2

Телефонный номер

5409652

5409653

План

Тариф1

Тариф2

Телефонные направления

Зона Префикс (код)

Москва(1)

7095

Санкт-Петербург (2)

7812

МТС (моб.) (3)

7910, 7915, 7916, 7917

Челябинск (4)

7351

Тюмень (5)

7345

Италия (6)

81039

Франция (7)

81033

Судан (8)

810249

Тарифные планы

Тариф 1:

  • бесплатный порог – 5 секунд,

  • длительность начального периода – 60 секунд,

  • шаг тарификации начального периода – 10 секунд,

  • шаг тарификации следующего периода – 1 секунда,

  • размер единицы тарификации – 60 секунд,

  • абонентская плата – 10 у. е.

Cтоимость звонков по тарифу 1 (в у.е.):

Зона Рабочие дни Выходные дни

00:00 - 09:00

09:00 - 23:59:59

Москва(1)

0,1

0,2

0,1

Санкт-Петербург (2)

0,2

0,4

0,3

МТС (моб.) (3)

0,2

0,3

0,2

Челябинск (4)

0,4

0,6

0,4

Тюмень (5)

0,5

0,8

0,6

Италия (6)

1

1,3

1,1

Франция (7)

1,2

1,6

1,2

Судан (8)

2,1

2,9

2,5

Тариф 2:

  • бесплатный порог – 0 секунд,

  • длительность начального периода – 60 секунд,

  • шаг тарификации начального периода – 10 секунд,

  • шаг тарификации следующего периода – 1 секунда,

  • размер единицы тарификации – 60 секунд,

  • абонентская плата – 5 у. е.

Стоимость звонков по тарифу 2 (в у.е.):

Зона Рабочие дни Выходные дни

00:00 - 09:00

09:00 - 23:59:59

Москва(1)

0,08

0,15

0,08

Санкт-Петербург (2)

0,15

0,22

0,2

МТС (моб.) (3)

0,2

0,3

0,2

Челябинск (4)

0,35

0,5

0,4

Тюмень (5)

0,4

0,7

0,4

Италия (6)

1,2

1,5

1,2

Франция (7)

1,5

1,9

1,5

Судан (8)

2,4

3,1

2,3

Тестовые телефонные звонки абонента 1

Дата Зона Длительность Длительность (округлённая) Стоимость
за минуту
Стоимость

01.07.05
11:20:00

Санкт-Петербург (2)

730

730

0,4

4,867

01.07.05
15:55:40

МТС (моб.) (3)

4200

4200

0,3

21

01.07.05
21:05:00

Челябинск (4)

174

174

0,6

1,74

02.07.05
01:25:00

Тюмень (5)

724

724

0,6

7,24

03.07.05
11:15:00

Италия (6)

601

601

1,1

11,018

04.07.05
21:53:00

Франция (7)

3714

3714

1,6

99,04

05.07.05
12:13:00

Судан (8)

24

30

2,9

1,45

06.07.05
01:25:00

Москва(1)

64

64

0,1

0,107

07.07.05
11:05:20

Франция (7)

7201

7201

1,6

192,027

08.07.05
21:25:00

МТС (моб.) (3)

1925

1925

0,3

9,625

09.07.05
09:55:00

Челябинск (4)

721

721

0,4

4,807

10.07.05
08:05:00

Челябинск (4)

9

10

0,4

0,067

11.07.05
04:35:00

Италия (6)

1372

1372

1

22,867

12.07.05
13:10:00

Челябинск (4)

84

84

0,6

0,84

13.07.05
01:05:00

Судан (8)

193

193

2,1

6,755

14.07.05
16:03:00

Франция (7)

420

420

1,6

11,2

15.07.05
18:04:00

Челябинск (4)

2352

2352

0,6

23,52

16.07.05
19:15:00

Италия (6)

54

60

1,1

1,1

17.07.05
16:35:00

Москва(1)

23

30

0,1

0,05

18.07.05
14:10:00

Москва(1)

1325

1325

0,2

4,417

19.07.05
23:01:00

Тюмень (5)

1271

1271

0,8

16,947

20.07.05
00:35:00

Санкт-Петербург (2)

721

721

0,2

2,403

21.07.05
00:35:00

Италия (6)

13

20

1

0,333

22.07.05
10:22:00

Москва(1)

82

82

0,2

0,273

23.07.05
06:16:00

Санкт-Петербург (2)

3

3

0

0

24.07.05
01:14:00

Судан (8)

3125

3125

2,5

130,208

25.07.05
12:19:00

Судан (8)

1099

1099

2,9

53,118

26.07.05
13:45:00

Санкт-Петербург (2)

1221

1221

0,4

8,14

27.07.05
11:05:00

Москва(1)

70

70

0,2

0,233

28.07.05
15:17:00

Санкт-Петербург (2)

132

132

0,4

0,88

29.07.05
12:25:00

Москва(1)

1925

1925

0,2

6,417

30.07.05
21:25:00

Италия (6)

134

134

1,1

2,457

31.07.05
02:00:10

Москва(1)

85

85

0,1

0,142

Итого:

Италия (6)

2174

2187

37,775

Челябинск (4)

3340

3341

30,973

Москва (1)

3574

3581

11,638

МТС (моб.) (3)

6125

6125

30,625

Тюмень (5)

1995

1995

24,187

Судан (8)

4441

4447

191,531

С.-Петербург (2)

2807

2807

16,29

Франция (7)

11335

11335

302,267

35791

35818

645,287

Тестовые телефонные звонки абонента 2

Дата Зона Длительность Длительность (округлённая) Стоимость
за минуту
Стоимость

01.07.05
04:15:10

Москва(1)

19

20

0,08

0,027

02.07.05
14:25:30

Франция (7)

71

71

1,5

1,775

03.07.05
18:11:24

Москва(1)

1234

1234

0,08

1,645

04.07.05
01:21:10

Италия (6)

939

939

1,2

18,78

05.07.05
07:12:23

Москва(1)

15

20

0,08

0,027

06.07.05
17:22:13

Санкт-Петербург (2)

43

50

0,22

0,183

07.07.05
22:45:52

Судан (8)

18

20

3,1

1,033

08.07.05
09:10:15

Санкт-Петербург (2)

20

20

0,22

0,073

09.07.05
12:32:16

Москва(1)

81

81

0,08

0,108

10.07.05
19:11:25

Тюмень (5)

345

345

0,4

2,3

11.07.05
02:50:38

Италия (6)

607

607

1,2

12,14

12.07.05
06:00:20

Челябинск (4)

4521

4521

0,35

26,373

13.07.05
13:11:45

Санкт-Петербург (2)

92

92

0,22

0,337

14.07.05
10:12:28

МТС (моб.) (3)

165

165

0,3

0,825

15.07.05
15:27:13

Москва(1)

13

20

0,15

0,05

16.07.05
11:58:22

Москва(1)

441

441

0,08

0,588

17.07.05
14:17:23

Санкт-Петербург (2)

1002

1002

0,2

3,34

18.07.05
20:34:31

Италия (6)

1935

1935

1,5

48,375

19.07.05
11:15:53

Москва(1)

11741

11741

0,15

29,353

20.07.05
17:52:33

Москва(1)

4232

4232

0,15

10,58

21.07.05
19:20:41

Челябинск (4)

261

261

0,5

2,175

22.07.05
02:16:14

Тюмень (5)

594

594

0,4

3,96

23.07.05
15:47:22

Италия (6)

334

334

1,2

6,68

24.07.05
11:17:27

Франция (7)

955

955

1,5

23,875

25.07.05
22:34:51

Тюмень (5)

1245

1245

0,7

14,525

26.07.05
10:37:21

Москва(1)

6977

6977

0,15

17,443

27.07.05
14:47:29

Москва(1)

1316

1316

0,15

3,29

28.07.05
08:45:23

Санкт-Петербург (2)

2892

877

0,15

2,193

28.07.05
08:45:23

Санкт-Петербург (2)

2892

2015

0,22

7,388

29.07.05
11:04:03

Италия (6)

775

775

1,5

19,375

30.07.05
18:05:11

МТС (моб.) (3)

231

231

0,2

0,77

31.07.05
23:14:43

Москва(1)

492

492

0,08

0,656

Итого:

Челябинск (4)

4782

4782

28,548

Италия (6)

4590

4590

105,35

МТС (моб.) (3)

396

396

1,595

Москва (1)

26561

26574

63,766

Тюмень (5)

2184

2184

20,785

Судан (8)

18

20

1,033

Санкт-Петербург (2)

6941

4056

13,515

Франция (7)

1026

1026

25,65

46498

43628

260,241

Обслуживание системы

Резервное копирование БД

Для предотвращения потери данных необходимо регулярно производить резервное копирование базы данных (БД) с помощью штатных средств сервера БД (см. документацию к используемой БД). Рекомендуется создавать резервные копии перед всеми нетривиальными операциями с базой (архивация таблиц списаний, прямое обращение к базе вручную, отладка скриптов urfaclient и т. п.), а также на регулярной основе, как минимум раз в месяц.

Существуют два вида резервных копий: краткая и полная. В полную входят все таблицы, а в краткую – все, кроме таблиц со списаниями.

В связи с большим объёмом таблиц со списаниями создание полной копии может занимать длительное время. При проведении этой процедуры рекомендуется останавливать ядро NetUP 5+. В противном случае длительная блокировка таблиц может привести к аварийному завершению работы ядра.

Для крупных проектов, когда таблицы особенно велики и в то же время длительный простой биллинговой системы крайне нежелателен, рекомендуется использовать slave-сервер БД, с помощью которого можно создать резервную копию, не останавливая биллинг.

Верификация целостности БД

При загрузке ядра NetUP 5+ одновременно с заполнением системного кэша происходит верификация базы данных. Найденные несоответствия в отношении кэшируемых данных устраняются автоматически. Эти же данные, но содержащиеся в базе, должны быть исправлены вручную с использованием информации из log-файла верификатора.

Директория хранения log-файла верификатора определяется значением системного параметра log_file_verificator (по умолчанию /netup/log/verificator.log). Для каждого несоответствия приводятся:

  • описание ошибки с указанием её уровня (ERROR или WARNING);

  • предполагаемые действия по устранению ошибки;

  • команда SQL (если требуется), эквивалентная автоматическому исправлению, которое было применено к данным в кэше:

    -- WARNING slink 4876 exists only in dtagg_periodic + — SQL DESC check slink exists and delete dtagg_periodic entry for deleted slink
    UPDATE dtagg_periodic SET is_closed=1 WHERE slink_id=4876;

Объекты, перечисленные в verificator.log , не загружаются системой, не учитываются при тарификации и не отображаются в интерфейсе администратора.

Перед исправлением ошибок рекомендуется остановить ядро NetUP 5+ и создать резервную копию базы данных (по крайней мере, таблиц, задействованных в исправлении).

В простейшем случае исправление сводится к подаче log-файла верификатора на вход MySQL: mysql UTM5 < /netup/utm5/log/verificator.log

Следует учесть, что некоторые SQL-запросы в log-файле по умолчанию закомментированы, так как их непосредственное применение может привести к потере данных. При наличии таких запросов следует проверять каждый случай по отдельности.

Архивирование таблиц списаний

Архивирование применяется к некоторым наиболее быстро растущим таблицам с целью снизить накладные расходы на операции вставки. В ходе архивирования таблица переносится (переименовывается) в архивную, и одновременно создаётся пустая (текущая) таблица с тем же названием и той же структурой для вновь поступающих данных. Операция может применяться периодически по мере роста таблиц. Ограничения описаны ниже.

В настоящий момент механизм архивирования распространяет своё действие на следующие таблицы:

Таблица Тип Название поля даты

discount_transactions_all

1

discount_date

discount_transactions_iptraffic_all

2

discount_date

tel_sessions_log

3

recv_date

tel_sessions_detail

4

dhs_sessions_log

5

recv_date

dhs_sessions_detail

6

payment_transactions

7

payment_enter_date

user_log

8

date

dhcp_leases_log

9

updated

invoices

10

invoice_date

invoice_entry

11

invoice_entry_details

12

Чтобы произвести архивирование таблиц:

  1. Подключитесь к NetUP 5+ через интерфейс администратора.

  2. Перейдите Настройки ⇒ Системные ⇒ Архивирование БД.

  3. Нажмите Создать в верхней части страницы, чтобы произвести архивирование.

Архивирование можно производить не чаще одного раза в 28 дней. Если соответствующая кнопка не активна, значит с момента предыдущего архивирования прошло менее 28 дней.

Если необходимо производить архивирование чаще, чем это позволяет делать интерфейс администратора, воспользуйтесь утилитой db_archiver (см. Утилита db_archiver).

Интерфейс администратора

Вводная информация

Веб-интерфейс находится в разработке, поэтому раздел содержит описание только тех страниц, которые уже доступны.

На страницах веб-интерфейса используются следующие иконки:

search ⇒ найти

save ⇒ сохранить

edit ⇒ редактировать

delete ⇒ удалить

Кроме того, есть функциональные кнопки, например, add или add

Кликните по иконке или кнопке, чтобы открыть соответствующее диалоговое окно и выполнить необходимое действие.

Примеры выполнения действий, таких как добавить нового пользователя или подключить пользователю услугу, а также описание диалоговых окон смотрите в разделе Быстрый старт.

Меню веб-интерфейса расположено в верхней части окна. В нём отображаются названия групп. Каждая группа объединяет несколько страниц:

Основное

Пользователи

Системные пользователи

Лицевые счета

Пул карт оплаты

Группы

IP-группы

Телефонные номера

Тарификация

Услуги / Тарифы

Настройки телефонии

Основные параметры

Другое

Справочники

Методы платежей

Валюта

IP зоны

Дома

Улицы

Списки банков

Отчёты

Платежи

Услуги

Другое

Оборудование

Профили

Коммутаторы

DHCP пулы

DHCP аренда

Настройки

Платёжные системы

Главная страница веб-интерфейса – Пользователи.

Состояние системы и статус лицензии

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

Данный экран находится в меню: Основное ⇒ Общая информация

Доступна информация:

  • Общее доступное число абонентов и ЛС в вашей конкретной лицензии и сколько уже их создано

  • Дата окончания лицензии

  • Состояние ОЗУ, ТОП процессов

  • Статистика работы с БД

  • Просмотр информации о RADIUS-сессиях, кнопка их сброса и отправки PoD.

Абоненты

Страница отображает список пользователей (абонентов). ID пользователей выделены цветом: красный означает, что счета пользователя заблокированы, зелёный – не заблокированы, жёлтый – некоторые из счетов заблокированы, а некоторые нет.

Напротив каждого пользователя расположены кнопки:

promised_payment ⇒ внести обещанный платёж,

payment ⇒ внести платёж на счёт пользователя,

download ⇒ выгрузить памятку пользователя,

delete_user ⇒ удалить пользователя.

Кликните по кнопке, в открывшемся окне заполните необходимые поля и подтвердите выполнение соответствующего действия.

Кликните по строке с данными пользователя, чтобы развернуть панель, которая содержит подробную информация о нём.

На панели есть разделы: Пользователь, Тарификация и Отчеты. Каждый из разделов объединяет несколько вкладок. Перейдите на одну из них, измените данные пользователя и кликните Сохранить.


Раздел Пользователь объединяет следующие вкладки:

Основное

ID пользователя, основной лицевой счёт, логин, имя, пароль и опция "Работа по предоплате".
Здесь Вы можете изменить пароль пользователя.

Дополнительные параметры

Параметры для подключения IPTV: Lifestream user id / email, iptvportal login / password, Megogo user email. Также сюда можно добавлять собственные поля (Настройки ⇒ Системные ⇒ Дополнительно, "Добавить" с опцией "отображать в интерфейсе").

Контакты

Полный адрес, телефон, email и т.п.
Опция "Юридическое лицо".

Дополнительные контакты

Например, контакты руководителя или бухгалтера.

Личные данные

Банковский счёт, данные паспорта, ИНН, банк, КПП, дата подключения и персональный менеджер.

Группы

ID и наименование групп, в которые включён пользователь.
Здесь Вы можете добавить пользователя в группу или исключить из неё.

Другое

Профиль документов, удалённый коммутатор, порт, валюта.

Документы

ID документа, ID шаблона, дата создание и наименование документа, путь к нему и его тип.
Загрузите в биллинг документы пользователя (в формате .odt) или создайте их на основе существующих в биллинге шаблонов.

Информация

Дата и время создания пользователя, дата и время последнего изменения его данных.


Раздел Тарификация объединяет следующие вкладки:

Лицевые счета

ID и баланс лицевых счетов пользователя, сумма кредита и тип блокировки.
Кликните по строке с данными лицевого счёта, чтобы перейти к его редактированию.

Услуги

ID, название и тип услуги, включена ли услуга в тарифный план, стоимость услуги, ID связки и ID расчётного периода.
Здесь Вы можете добавлять пользователю услуги, редактировать или удалять их.

Тарифы

ID связки, ID текущего и следующего тарифного плана, расчётный период.
Здесь Вы можете добавлять пользователю тарифы, редактировать или удалять их. Чтобы удалить тарифный план, сначала удалите все тарифные связки.

Технические параметры

Произвольные параметры, ассоциированные с лицевым счётом пользователя. Значения технических параметров можно подставлять в команды для управления сторонним ПО, отправляемые системой при определённых событиях.

Коды активации IPTV

Список кодов активации для карты доступа, закреплённой за выбранным лицевым счётом.


Отчеты разделены на три группы:

Платежи

Платежи, движение средств, сгорающие платежи, другие списания и документы (счёт, счёт-фактура, акт о выполненной работе и детальный отчёт).

Услуги

Основной, услуги, индивидуальные услуги, трафик, детальный трафик, телефония, телефонные направления.

Другое

Блокировки, изменения пользователей, сессия и DHCP аренда.

Установите параметры для фильтра и кликните Генерировать, чтобы сформировать отчёт.

Для выгружаемых CSV-отчётов доступна настройка внутреннего разделителя: Настройки ⇒ Cистемные ⇒ основное ⇒ прочее: выбор разделителя в csv.


Полезные ссылки:

Удаление (архивация) абонентов

Удаление пользователя физически ничего не удаляет из базы данных! Фактически, присвоение этого статуса переводит его в разряд "архивных".

При удалении пользователя через веб-интерфейс у него автоматически отключается все имеющиеся услуги.

  1. Перейдите на страницу Абоненты и найдите нужного абонента в списке.

  2. В строке с данными пользователя кликните по кнопке его удаления.

  3. Подтвердите удаление в открывшемся окне.

После данной процедуры абонент попадает в список "Удалённые". В случае необходимости его можно восстановить, собрать необходимые отчёты и т.д.

Системные пользователи

У системного пользователя есть следующие параметры:

  • ID системного пользователя.

  • Логин и Пароль для входа в биллинг.

  • IPv4 подсеть, IPv6 подсеть – адрес подсети, из которой разрешается доступ пользователю.

  • Группы – список системных групп, в которые входит пользователь.

    Изменения, внесённые в список системных групп, вступают в силу только после перезапуска ядра NetUP 5+.

  • API-токен

Кликните edit в строке с данными системного пользователя. В открывшемся окне Вы можете увидеть все параметры выбранного пользователя и изменить их, если это необходимо.


Полезные ссылки:

Базовые объекты ⇒ Классы пользователей

Лицевые счета

Кликните по строке с данными лицевого счёта, чтобы развернуть панель, которая содержит подробную информация о выбранном счёте. На панели есть три вкладки:

Основное

ID лицевого счета, сумма кредита, баланс, ставка НДС, внешний ID и ставка НСП.

Настройки IPTV

Карта доступа IPTV, Irdeto IPTV, Irdeto IPTV STB.
Если к лицевому счёту ещё не привязана карта доступа NetUP IPTV, кликните кнопку add и карта будет создана автоматически.

Состояние

Безлимитный режим (все списания с клиента производить по нулевой стоимости), интернет, тип блокировки и даты блокировки.
Здесь Вы можете включить или отключить интернет, а также установить или снять блокировку.

Обратите внимание, что после снятия ручной блокировки необходимо также вручную изменить статус интернета для данного счёта на Включён.


Полезные ссылки:

Базовые объекты ⇒ Лицевой счёт
Быстрый старт ⇒ Добавить лицевой счёт пользователю

Пул карт оплаты

Страница содержит список пулов карт оплаты. Пользователи могут активировать карты оплаты для пополнения своего баланса.

У пула есть следующие параметры: ID, Количество карт в пуле, сколько Активировано карт, когда пул Создан и Обновлён.

Вы можете добавлять новые пулы карт оплаты в биллинг и редактировать существующие.

Обратите внимание, что созданные пулы нельзя удалить, но можно очистить пул от просроченных карт, кликнув по соответствующей кнопке.


Полезные ссылки:

Базовые объекты ⇒ Карты оплаты
Быстрый старт ⇒ Добавить пул карт оплаты и Редактировать пул карт оплаты
Веб-интерфейс ⇒ << , Карточные пользователи>>

Группы

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

Вы можете создавать новые группы и удалять их из биллинга. Во время добавления группы Вам необходимо указать ID и Название для неё.

Кликните edit напротив одной из существующих групп, чтобы увидеть список пользователей, включённых в неё.
Чтобы исключить пользователя из группы, найдите его в списке и кликните delete.

IP-группы

Страница содержит список IP-групп, созданных в составе сервисных связок услуг передачи трафика.

Телефонные номера

Страница содержит список телефонных номеров, созданных в составе сервисных связок услуг.

Услуги / Тарифы

Страница Услуги / Тарифы объединяет следующие вкладки:

Услуги

Шаблоны услуг

Тарифные планы

Услуги в тарифах

Подробнее о каждой вкладке читайте ниже.


Услуги

Вкладка содержит список разовых и периодических услуг, которые могут быть подключены абонентам вне тарифного плана.

Удалить можно только ту услугу, которая не используется.
Если услуга используется, т.е. на неё ссылаются сервисные связки, сначала удалите эти сервисные связки, а затем удалите саму услугу.

У услуг есть основные и специфичные параметры:

Основное

  • ID – присваивается автоматически по завершении добавления услуги в биллинг.

  • Наименование услуги.

  • Тип – выбирается перед созданием услуги.

  • Комментарий.

  • Юр.лицо, от имени которого услуга предоставляется.

Разовая услуга

  • Стоимость услуги.

  • Удалять из группы пользователей после списания за данную услугу.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

Периодическая услуга

  • Стоимость услуги.

  • Производить списание денежных средств с лицевого счёта абонента:

    • В начале расчётного периода – списание средств производится единовременно при создании сервисной связки и при установке системой нового расчётного периода для данной сервисной связки.
      Расчётный период указывается в свойствах сервисной связки периодической услуги.

    • В конце расчётного периода – списание средств производится единовременно непосредственно перед закрытием расчётного периода.

    • Постепенно в течение расчётного периода – списание средств производится постепенно в течение всего расчётного периода и зависит от параметра Количество списаний в неделю, указанного в свойствах расчётного периода, на который ссылается сервисная связка услуги (подробнее читайте ниже).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Схема коэффициентов, применяемая к периодической составляющей стоимости услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

Услуга передачи IP-трафика

  • Стоимость услуги.

  • Производить списание денежных средств с лицевого счёта абонента (список, как для периодической услуги).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Схема коэффициентов, применяемая к периодической составляющей стоимости услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Период агрегации трафика – по умолчанию – 0.

  • Лимит одновременных сессий – максимальное количество одновременно установленных соединений под одним логином.

  • опция Обнулять предоплаченный трафик в конце расчётного периода. Если опция включена, неизрасходованный предоплаченный трафик в конце периода обнуляется, в противном случае – переносится на следующий расчётный период.

  • опция Динамическое распределение IP-адресов используется для привязки услуги типа hotspot или dial-up к услуге передачи трафика с целью тарификации не только по времени соединения, но и по потреблению трафика.

    У обеих услуг, которые нужно связать, данная опция должна быть включена. С одним лицевым счётом может быть связана только одна услуга типа hotspot или dial-up с включённой опцией Динамическое распределение IP-адресов.

  • RADIUS параметры, которые будут добавлены в RADIUS-запрос.

  • Границы тарификации – границы количества трафика за расчётный период, используемые для назначения различной стоимости мегабайта трафика в заданных этими границами диапазонах. Для каждой границы указаны: класс, объём и стоимость трафика.

    Стоимость, связанная с границей, определяет стоимость трафика данного класса в объёме от данной границы до следующей. По умолчанию присутствует граница 0 со стоимостью 0.

  • Группы – добавление групп позволяет объединить несколько классов трафика и поменять логику его тарификации. Объединение классов трафика в группу max используется для тарификации по превалирующему классу, т. е. тариф для всего трафика устанавливается по указанным границам тарификации на основании трафика того класса, которого больше всего. При достижении границы тарификации любым классом, трафик любого класса тарифицируется по указанной стоимости.
    Объединение классов трафика в группу sum используется для тарификации по сумме трафика для классов трафика, входящих в группу, т. е. тариф устанавливается по указанным границам тарификации на основании суммарного количества трафика. При достижении границы тарификации суммарным трафиком, входящих в группу классов, выбранный класс будет тарифицироваться по указанной стоимости.

    Создание групп должно предшествовать созданию границ тарификации. После того, как границы определены, интерфейс создания групп блокируется.

  • Предоплаченный трафик – количество предоплаченного трафика по классам трафика (одна запись для каждого класса). Данный тип трафика расходуется в первую очередь и тарифицируется по нулевой стоимости. Неиспользованный предоплаченный трафик может переноситься на следующий расчётный период. Параметр Накапливать не более ограничивает количество неиспользованного предоплаченного трафика, переносимого на следующий расчётный период, независимо от происхождения. Если параметр равен нулю, накопление не ограничивается.

    Предоплаченный трафик и механизм групп не могут использоваться одновременно, т.к. являются взаимоисключающими.

Услуга hotspot

  • Стоимость услуги.

  • Производить списание денежных средств с лицевого счёта абонента (список, как для периодической услуги).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Лимит одновременных сессий позволяет установить ограничение на количество одновременных сессий.

  • Динамическое распределение IP-адресов – используется для привязки данной услуги к услуге передачи трафика (у которой также должен быть выставлен данный флаг!) с целью тарификации не только по времени соединения, но и по потреблению трафика. С одним лицевым счётом может быть связана только одна услуга типа hotspot или dial-up с выставленным флагом.

  • Разрешённые подсети, в которые должен попадать IP-адрес абонента при авторизации в веб-интерфейсе NetUP 5+. В противном случае запрос на авторизацию будет отклонён.

  • Стоимость времени соединения в зависимости от временного диапазона. В таблице обязательно должна быть хотя бы одна запись. Время предоставления услуги учитывается с точностью до секунды.

  • RADIUS параметры, которые будут добавлены в RADIUS-запрос.

Услуга dial-up

  • Стоимость услуги.

  • Производить списание денежных средств с лицевого счёта абонента (список, как для периодической услуги).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Название пула, из которого будут выдаваться IP-адреса. Параметры кэшируются RADIUS. В случае, если в биллинге пул задан, выдаётся первый свободный адрес из указанного пула, если пул не задан, то выдаётся его имя.

  • Максимальный таймаут – длительность сессии до принудительного обрыва (в секундах; типичное значение – 86400, т. е. сутки).

  • Лимит одновременных сессий – максимальное количество одновременно установленных соединений под одним логином. Параметр кэшируется RADIUS.

  • Префикс логина, автоматически добавляемый к логину при создании сервисной связки.

  • Динамическое распределение IP-адресов – используется для привязки данной услуги к услуге передачи трафика (у которой также должен быть выставлен данный флаг!) с целью тарификации не только по времени соединения, но и по потреблению трафика. С одним лицевым счётом может быть связана только одна услуга типа hotspot или dial-up с выставленным флагом.

  • Стоимость времени соединения в зависимости от временного диапазона. В таблице обязательно должна быть хотя бы одна запись. Время предоставления услуги учитывается с точностью до секунды.

  • RADIUS параметры, которые будут добавлены в RADIUS-запрос.

Услуга телефонии

  • Стоимость услуги.

  • Минимальная сумма счёта – минимальная стоимость услуги для абонента.

  • Производить списание денежных средств с лицевого счёта абонента (список, как для периодической услуги).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Схема коэффициентов, применяемая к периодической составляющей стоимости услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Бесплатное время – если длительность звонка меньше данного значения, звонок является бесплатным. При большей длительности – полное время соединения оплачивается по установленной стоимости.

  • Длительность начального периода – количество секунд, в течение которых происходит округление с особым шагом.

  • Шаг начального периода – шаг округления времени (сек.) для соединений, длительность которых не превосходит начального периода.

  • Шаг последующего периода – шаг округления времени (сек.) для более длительных соединений.

  • Размер единицы тарификации – время (сек.), цена за которое приводится в таблице цен.

  • Лимит одновременных сессий – максимальное количество одновременно установленных соединений под одним логином.

  • Учитывать бесплатное время в накапливаемой суммарной продолжительности звонков, от которой может зависеть стоимость.

  • Редактор цен – стоимость единицы тарификации во внутренних условных единицах, устанавливаемых в зависимости от временного диапазона и телефонной зоны или направления.

    Создать услугу телефонии можно только при наличии телефонной зоны и/или направления.

  • Границы тарификации – границы суммарной длительности звонков за расчётный период, которые устанавливаются в зависимости от телефонной зоны или направления. Границы используются для назначения различной стоимости секунды телефонного соединения в заданных этими границами диапазонах. Цена от данной границы до следующей будет определяться стоимостью, связанной с данной границей.

    Установить границы тарификации для определённого направления или зоны можно только при наличии данного направления или зоны в редакторе цен этой услуги телефонии.

  • Предоплаченные единицы – размеры предоплаченного телефонного трафика, которые устанавливаются в зависимости от телефонной зоны или направления.

  • Плата за соединение – размеры фиксированной платы за соединение, которые устанавливаются в зависимости от телефонной зоны или направления. Данная плата не зависит от длительности звонка и взимается в дополнение к переменной части стоимости, устанавливаемой на страницах Редактор цен и Границы тарификации.

  • RADIUS параметры, которые будут добавлены в RADIUS-запрос.

Услуга IPTV

  • Стоимость услуги.

  • Производить списание денежных средств с лицевого счёта абонента (список, как для периодической услуги).

  • Политика списания, которая будет выбрана по умолчанию при создании сервисной связки этой услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Используемая система IPTV: NetUP, Megogo, Lifestream, IPTVPortal, IrdetoCAS, Другое. По умолчанию – NetUP. В зависимости от выбранной системы в настройках отображается определённый набор дополнительных параметров:

    • NetUP: Тип (TV-каналы или Радио), Медиа-контент и Медиа-группа.

    • Megogo: ID услуги, Пробный период (часов), Дополнительный пакет.

    • Остальные системы IPTV: Пользовательские данные – произвольное текстовое поле. Данные для него можно передавать в виде строки в событии RFW.

Услуга видео по запросу

  • Стоимость и Длительность услуги.

  • Тип контрактных окончаний, который можно выбрать из списка ранее созданных комментариев.

  • Используемая система IPTV: NetUP, Megogo, Другое. По умолчанию – NetUP. В зависимости от выбранной системы в настройках отображается определённый набор дополнительных параметров:

    • NetUP: Тип (TV-каналы или Радио), Медиа-контент и Медиа-группа.

    • Megogo: ID услуги, Пробный период (часов), Дополнительный пакет.

    • Другое: Пользовательские данные – произвольное текстовое поле. Данные для него можно передавать в виде строки в событии RFW.

Услуга заморозки средств

  • Стоимость - определяет сумму, которая будет заморожена.

  • Тип списания - определяет действие или момент списания суммы. Дата списания выставляется непосредственно при подключении услуги абоненту.

Подробнее о назначении услуг читайте в Базовые объекты ⇒ Услуги.

Если для услуги Вы выбрали Производить списание ⇒ Постепенно в течение расчётного периода, то минимальная сумма списаний за один раз будет определена на основании стоимости услуги и параметров выбранного расчётного периода.

В настройках расчётного периода можно указать Количество списаний в неделю. На основании количества списаний определяется минимальный интервал времени между списаниями.
При инициализации сервисной связки расчётный период делится на равные части.
При завершении каждой такой части генерируется событие бизнес-логики, обработчик которого определяет, какое количество средств должно быть списано для данной сервисной связки на момент вызова обработчика, и какое количество средств было списано. Если разница между значениями превышает минимальный объём средств, который списывается по сервисной связке, то производится списание необходимой суммы, кратное минимальному количеству средств.

Если Количество списаний в неделю не задано, то при инициализации сервисной связки, ссылающейся на периодическую услугу с постепенным списанием средств и расчётный период без заданного количества списаний в неделю, расчётный период, на который ссылается данная сервисная связка, делится на равные части, количество которых определяется параметром Число периодических списаний в расчётном периоде (по умолчанию 64).
При завершении каждой части генерируется событие бизнес-логики. Обработчик события выбирает все зарегистрированные сервисные связки, которые ссылаются на периодические услуги с плавным списанием и на расчётный период без заданного количества списаний в неделю. Для каждой такой сервисной связки определяется количество средств, которое должно быть списано. Если разница между значениями превышает значение параметра Минимальная сумма периодического списания, заданное в настройках тарификации, то производится списание необходимой суммы.

Начиная с версии 5.4.004 абонент может самостоятельно подключать себе доступные обычные услуги. Чтобы разрешить абоненту это делать, зайдите в Настройки, далее Личный кабинетПодключение тарифов и услуг. Нажмите кнопку Добавить и выберете услугу, которую хотите разрешить к подключению самостоятельно, заполните сопутствующие настройки. С 5.5.015 доступна опция, позволяющая абоненту ещё и самостоятельно отключать услугу.


Шаблоны услуг

Вкладка содержит список шаблонов, на основании которых в тарифные планы можно добавлять услуги.

Удалить можно только тот шаблон, который не используется.
Если шаблон используется, сначала удалите все услуги, которые с помощью него были созданы, а затем удалите сам шаблон.

У шаблона есть все те же параметры, что и у услуги соответствующего типа (см. предыдущий раздел), а также следующие опции:

  • Подключать по умолчанию – автоматически подключать услугу при создании тарифной связки.

  • Разрешить множественное подключение – разрешить подключать данную услугу более одного раза.


Тарифные планы

У тарифного плана есть следующие параметры:

  • ID – присваивается автоматически.

  • Название тарифа.

  • Комментарий.

  • Создан, Изменён – дата создания и дата последнего изменения тарифного плана.

  • Создал, Изменил – логин системного пользователя, создавшего или последним изменившего тарифный план.

  • Опция Обнулять баланс в конце расч. периода – если включена, то баланс лицевого счета, связанного с таким тарифом, будет обнулён при закрытии расчётного периода.

  • Услуги, входящие в тарифный план.

В тарифный план можно включить только услуги, созданные на основе шаблона.

В состав тарифного плана не могут входить две услуги, происходящие от одного и того же шаблона.


Услуги в тарифах

Вкладка содержит список услуг, включённых в тарифные планы.

Над списком расположены search ⇒ найти услугу в списке, а напротив услуг – edit ⇒ редактировать и delete ⇒ удалить.


Пользовательский тарификатор

Доступен с версии UTM 5.5.001.

В случае, когда необходимо реализовать тарифный план с уникальной логикой работы (например, особые акции и т.д.) - воспользуйтесь системой пользовательской тарификации. Фактически, данная система выносит внутренний тарификатор NetUP 5+ за пределы ядра в виде lua-скриптов, которые вы можете самостоятельно редактировать.

Используйте данную опцию с осторожностью, обязательно делайте бекапы базы данных перед началом тестирования на "боевых" серверах!

Для начала работы необходимо активировать пользовательский тарификатор в файле конфигурации utm5.cfg):

## =============================================================================
## CUSTOM TARIFFICATOR
## =============================================================================

use_tarifficator=lua_script
## Description: Calculate periodic charge
## Possible values: utm5_core or lua_script
## Default value: utm5_core

## path_lua_script
## Description: absolute path to lua script
## Possible values: "/netup/utm5/lua_tarifficator/customTarifficator.lua"
## Default value:   "/netup/utm5/lua_tarifficator/customTarifficator.lua"

## load_lua_script
## Description: Load lua script every tariffing calculation or once at core`s start
## Possible values: every_time or once
## Default value: once

Опция load_lua_script=every_time предназначена для отладки скрипта и позволяет не перезапускать ядро каждый раз при его изменении.

Настоятельно не рекомендуется включать опцию load_lua_script=every_time на постоянной основе т.к. это значительно снизит производительность биллинга.

Рабочая папка скрипта /netup/utm5/lua_tarifficator содержит:

customTarifficator.lua - главный скрипт тариффикатора.

constants.lua - модуль с константами для работы главного скрипта

userStructures.lua - модуль с схемой пользовательских структур и дефолтными значениями. Содержит комментарии с описанием.

scriptTrf.log - лог для дампа пользовательских структур от ядра. Cоздаётся в зависимости от флага в isLogScript в файле customTarifficator.lua

Желаемый результат тарификации достигается переписыванием данного набора скриптов в соответствии со своей задачей. Базовый набор скриптов в точности повторяет логику работы стандартного таррификатора из ядра NetUP 5+.

Настройки телефонии

Страница Настройки телефонии объединяет следующие вкладки:

Телефонные направления

Телефонные зоны

Подробнее о каждой вкладке читайте ниже.


Телефонные зоны

Телефонная зона – это набор телефонных направлений, объединённых для удобства тарификации телефонных разговоров

У телефонной зоны есть следующие параметры:

  • ID – присваивается автоматически.

  • Наименование зоны.

  • Тип: местный, внутризоновый, междугородный, международный.

  • Направления – перечень телефонных направлений, входящих в данную телефонную зону.

Каждое телефонное направление может входить только в одну зону.


Телефонные направления

Телефонное направление – это множество телефонных звонков. Телефонные направления используются для классификации телефонных звонков и их последующей тарификации.

У телефонной зоны есть следующие параметры:

  • ID – присваивается автоматически.

  • Зона.

  • Тип: местный, внутризоновый, междугородный, международный.

    Тип присваивается автоматически при включении направления в зону. Каждое телефонное направление может входить только в одну зону.

  • Наименование направления.

  • Вызываемый префикс – префикс или регулярное выражение, на соответствие которому проверяется вызываемый номер.

  • Вызывающий префикс – префикс или регулярное выражение, на соответствие которому проверяется вызывающий номер.

    Регулярное выражение строится в соответствии со стандартом POSIX 1003.2.

  • Входящий и исходящий транк.

  • ID АТС.

  • Опция Пропустить – отменяет учёт данного направления.

    Если включена опция Пропустить, никакие звонки не будут идентифицированы как принадлежащие к данному направлению.

При проведении идентификации звонка все направления сортируются в обратном лексикографическом порядке: сначала по вызываемому, затем – вызывающему префиксу, затем по названию входящего, а затем – исходящего транка. Т.е. в начале списка располагаются направления с самым длинным вызываемым префиксом. Направления, у которых совпадают вызываемые префиксы, расположены в порядке убывания вызывающего префикса. Направления, у которых совпадают вызываемые и вызывающие префиксы, расположены в порядке убывания входящего транка и так далее.

Поиск производится с начала сортированного списка до первого совпадения. Для положительной идентификации звонок должен удовлетворять всем параметрам (вызывающий и вызываемый префикс, входящий и исходящий транк, идентификатор АТС), которые заданы для данного направления.

Рекомендуем создать направление “по умолчанию” с выражением ^.*$, включающее все возможные номера.


Основные параметры

Страница Основные параметры объединяет следующие вкладки:

Расчётные периоды

Политики списания

Схемы коэффициентов

Подробнее о каждой вкладке читайте ниже.


Расчётные периоды

Вкладка содержит список расчётных периодов.

Удалить расчётный период нельзя.

При редактировании действующего периода можно менять дату его окончания и выбирать отчётный период.

У расчётного периода есть следующие параметры:

  • Начало – дата и время начала периода.

  • Окончание – дата и время конца периода. При создании новых периодов не вводится, а рассчитывается автоматически.

    По окончании каждого из периодов автоматически создаётся новый период того же типа.

  • Тип периода, принимающий одно из следующих значений: Ежедневный, Недельный, Ежемесячный, Квартальный, Годовой, Другая длина.

    Ежемесячный период завершается в следующем календарном месяце после начала, того же числа, в которое начался. Однако если дата начала периода больше, чем количество дней в следующем месяце (например, 30 января), то период длится до конца следующего месяца.

  • Отчётный период – позволяет привязать дату выставления счетов к календарному месяцу. Использование возможно для типа периода Ежемесячно.

  • Длина (сек.) – длительность периода. Приводится только для типа Другая длина. Минимально возможная длительность периода составляет 3600 секунд.

  • Опция Задать количество списаний – если включена, позволяет установить Количество списаний в неделю периодической составляющей стоимости в неделю.


Политики списания

Каждая политика списания содержит в себе настройки пересчёта периодической составляющей стоимости услуги, объёма предоплаченных услуг и возврата средств клиенту. В частности, это настройки пересчёта абонентской платы, предоплаченного трафика и звонков.

У политики списания есть следующие параметры:

Наименование политики

Основное

Пересчёт при создании сервисной связки

  • Абон.плата

  • Трафик

  • Звонки

Не списывать при отсутствии блокировки

  • Абон.плата

Данное условие работает только в случае, когда для блокировки, которая применяется к абоненту, выбрано условие Пересчитывать абонентскую плату. Подробнее читайте в разделе Создание политики списания.

Настройки системной блокировки

  • Устанавливать при недостатке средств

Если опция включена, то в момент, когда на счёте будет не достаточно средств для списания платы за следующий расчётный период (списания средств при этом не происходит!), лицевой счёт будет заблокирован. Если эта опция не активна, лицевой счёт будет заблокирован только когда баланс счёта станет отрицательным.

Пересчёт при блокировке

Три вида блокировки: Административная, Пользовательская, Системная

  • Не списывать абон. плату пока лицевой счёт находится в блокировке

  • Пересчитывать абон. плату пропорционально времени, проведённому в блокировке в пределах учётного периода

  • Пересчитывать предоплаченный трафик аналогично абонентской плате, пересчитывать объём предоплаченного трафика

  • Пересчитывать предоплаченные звонки аналогично абонентской плате, пересчитывать длительность предоплаченных звонков

Следует учитывать, что параметры пересчёта устанавливаются при входе в блокировку. Т.е. при выходе из блокировки, пересчёт будет производиться согласно параметрам, установленным при входе в неё, даже если в течение блокировки будут изменены параметры политики списания.

Возврат средств

В какой момент следует произвести возврат средств при возникновении задолженности пользователю (в случае излишнего списания):

  • При снятии блокировки

  • При внесении платежа

  • В конце расчётного периода

  • При удалении сервисной связки

Время проверки

В какой момент времени производить проверку средств на счёте. Время проверки используется только в том случае, если активна опция Настройки системной блокировки ⇒ Устанавливать при недостатке средств. Если в какой-то момент средств на счёте хватает для предоставления услуги на оставшуюся часть расчётного периода, происходит списание средств со счёта и услуга предоставляется.

Схемы коэффициентов

Тарификация ⇒ Основные параметры ⇒ Схемы коэф.

Вкладка содержит схемы коэффициентов.

Удалить можно только ту схему коэффициентов, которая не используется.
Если схема используется в услуге, которая уже включена в сервисную связку, сначала удалите сервисную связку и после этого удалить схему коэффициентов. Услугу удалять не требуется. После удаления схемы из биллинга, из услуги она удалится автоматически.

У схемы коэффициентов есть следующие параметры:

  • Наименование

  • Комментарий

  • Стоимость:

    • От – порядковый номер расчётного периода, с которого начинает действовать коэффициент,

    • До – порядковый номер расчётного периода, по окончании которого коэффициент перестанет действовать

    • Действие – количество расчётных периодов, в течении которых будет действовать коэф.

      Порядковый номер расчётного периода устанавливается автоматически. Порядок нумерации расчётных периодов индивидуален для каждой сервисной связки и начинается с нуля: 0 – порядковый номер расчётного периода, действующего в момент создания сервисной связки, 1 – порядковый номер первого полного расчётного периода, 2 – порядковый номер второго полного расчётного периода и т.д. в зависимости от длительности действия сервисной связки.

    • Коэффициент – числовой множитель, применяемый к стоимости услуги в указанный период времени

      В те периоды, когда коэффициенты из схемы не действуют, стоимость услуги составляет 100%.

Другое

Страница Другое объединяет следующие вкладки:

Типы контрактных окончаний

Классы трафика

Подробнее о каждой вкладке читайте ниже.


Типы контрактных окончаний

Тип контрактного окончания – это дополнительный комментарий к услуге. Один и тот же тип контрактного окончания может быть использован для неограниченного количества услуг.

После редактирования типа контрактного окончания, его значение изменится во всех услугах, где данный тип используется. В случае удаления типа контрактного окончания из системы, его значение будет автоматически удалено из всех услуг.

У типа контрактных окончаний есть следующие параметры:

  • ID

  • Наименование

  • Дата создания

  • Дата изменения

Классы трафика

Удалить можно только тот класс трафика, который не используется.
Если класс используется, сначала удалите сущности (услуги и т.д.), которые ссылаются на него, а затем сам класс.

После удаления класса из биллинга, относившийся к нему трафик отображается в отчётах как неидентифицированный, а сам класс продолжает отображаться как существующий.

У класса трафика есть следующие параметры:

  • ID

  • Межабонентский трафик – возможные значения: На получателя, На отправителя, Обоим.

  • Название класса трафика

  • Опция Не сохранять первичную информацию – если включена, то детальная информация по трафику данного класса не будет сохраняться. Актуально для трафика, стоимость которого равна нулю или детализация по которому не может понадобиться (например, локальный трафик). Позволяет уменьшить размер файлов с первичной информацией.

  • Временной диапазон – если назначен, класс трафика будет действовать только в указанное время.

  • Цвет на графике, которым будет отображаться график для трафика данного класса в графических отчётах.

  • Опция Показывать – если включена, трафик данного класса будет отображаться в графических отчётах.

  • Опция Заливать определяет тип заливки графика для трафика данного класса в графических отчётах.

К классу можно добавить Подклассы со следующими параметрами:

Источник,
Адресат

  • Адрес – обязательный параметр, может быть как в формате IPv4, так и IPv6.

  • Порт

  • Интерфейс

  • АС – номер автономной системы.

Общая часть

  • Протокол

  • Следующий маршрутизатор

  • TOS – поле TCP/IP "тип сервиса".

  • TCP-флаги

  • Поставщик NetFlow

  • Пропустить

Тип IP-адресов(IPv4 или IPv6) источника и адресата должен совпадать, тип адреса маршрутизатора может быть произвольным.

Если значение поставщика NetFlow не установлено, его адрес не участвует в логике определения принадлежности подкласса к классу.

Если включена опция Пропустить, то в логике определения класса данный подкласс учитывается со значением отрицания, т.е. трафик из данного подкласса не будет маркироваться данным классом. При этом продолжается сравнение с другими классами трафика. Данная схема удобна в том случае, если необходимо отдельный адрес или группу адресов из всей сети выделить в отдельный класс трафика.

Методы платежей

Вкладка содержит список методов платежей.

Встроенные методы платежей (имеющие id<100) присутствуют по умолчанию и не подлежат редактированию. Для удобства дифференциации платежей можно также создавать пользовательские методы, которым автоматически присваиваются последовательные идентификаторы, начиная со 100. По функциональности эти методы эквивалентны стандартному методу Оплата наличными. Пользовательские методы платежей можно редактировать, но невозможно удалить.

Валюты

Вкладка содержит список зарегистрированных в биллинге валют.

У валюты есть следующие параметры:

  • ID – цифровой трёхзначный код валюты согласно стандарту ISO 4217.

  • Сокр. назв. – трёхбуквенный код валюты согласно стандарту ISO 4217.

  • Наименование валюты.

  • Процент – искусственная поправка к курсу, применяемая при его online-обновлении.

  • Курс валюты относительно внутренней условной единицы системы.

  • История изменения курса – таблица прошлых значений курса, действовавших в системе, и дат их введения. В первой строке таблицы указывается курс, действующий в системе на данный момент.

В окне Валюта нажмите кнопку Обновить online, чтобы установить курс валюты по отношению к рублю согласно текущему курсу ЦБ РФ (с поправкой на параметр Процент, если он отличен от 0).
Для рубля всегда устанавливается значение 1. Функция Обновить online доступна, если значение параметра ISO-код системной валюты равно 810 (см. Настройки системы), т.е. если системной валютой является российский рубль.

IP-зоны

У каждой IP-зоны есть ID, Имя и список подсетей, включённых в зону. Для каждой Подсети устанавливаются Сеть и Шлюз.

Удалить IP-зону нельзя.

Дома

Если в Контактах пользователя указать дом из справочника, такому пользователю IP-адрес будет выдаваться из IP-зоны дома.

У дома есть следующие параметры:

  • ID дома.

  • Подключен – дата подключения в сеть.

  • Индекс, Страна, Область, Город, Улица, Номер дома, Корпус.

  • IP-зоны, в которые дом включён.

Улицы

Вкладка содержит список зарегистрированных в биллинге улиц.

У улицы есть следующие параметры: Страна, Область, Город, Улица.

Банки

Зарегистрированные в биллинге банки можно привязывать к пользователю на вкладке Пользователь ⇒ Личные данные.

У банка есть следующие параметры: БИК, Имя, Город, Кор.счёт.

Платежи

В верхней части окна расположены настройки фильтра:

  • количество записей на страницу,

  • произвольный временной интервал,

  • промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,

  • группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;

  • тип документа: Счёт / счёт-фактура / акт о выполненной работе / детальный отчёт, если нужен отчёт о выданных документах.

Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.

Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт.

Наименование Назначение отчёта Данные в отчёте:

Платежи

Отчёт по платежам предоставляет информацию о зачисленных на лицевые счета пользователей средствах за заданный промежуток времени

  • ID лицевого счёта

  • фактическая дата и дата введения платежа в систему

  • сумма платежа в валюте системы и в валюте оплаты

  • валюта

  • метод осуществления платежа

  • лицо, внёсшее платёж

  • комментарий к платежу

  • платёжный документ

  • дата сгорания платежа

Платежи абонентов

Отчёт по платежам абонентов составляется согласно таблице payment_orders, полезно для сопоставления платежей между ПС и биллингом.

  • ID транзакции

  • Сумма

  • Логин

  • Полное имя

  • ID лицеового счета

  • Дата изменения

  • Время транзакции

  • Название ПС

  • Состояние

  • Код валюты

  • Статус "удаления"

Движение средств

Отчёт о движении средств предоставляет информацию о платежах, произведённых самими пользователями через веб-интерфейс

  • переведено со счёта и переведено на счёт

  • сумма и дата платежа

  • ID пользователя

  • логин и полное имя пользователя

Сгорающие платежи

Данный отчёт предоставляет информацию по сгорающим платежам за выбранный период

  • ID лицевого счёта

  • логин

  • дата первого и последнего платежа

  • дата сгорания платежа

  • сумма

  • списано на текущий момент

Другие списания

Данный отчёт предоставляет информацию о списаниях, не связанных с услугами. В отчёт включаются списания по следующим причинам:

  • сгорание платежей;

  • откат платежей;

  • обнуление счета в конце расчётного периода.

Кроме этого, в отчёт входят поступления средств в результате возврата за время блокировки, если для какой-либо из сервисных связок пользователя настроена соответствующая опция пересчёта.

  • ID лицевого счёта

  • логин

  • наименование платежа

  • тип списания

  • дата списания

  • сумма

Документы

На вкладке можно сформировать следующие типы отчётов:

  • отчёт по счетам;

  • отчёт по счетам-фактурам;

  • отчёт по актам о выполненных работах;

  • детальный отчёт.

  • номер и альтернативный номер счёта

  • номер платёжного документа

  • ID и полное имя пользователя

  • КПП, ИНН

  • год, месяц, время

  • оплачен / не оплачен

  • сумма с учётом и без налогов, сумма налогов

  • дата создания и дата изменения

  • статус

  • отослан ли документ на e-mail

Услуги

В верхней части окна расположены настройки фильтра:

  • количество записей на страницу,

  • произвольный временной интервал,

  • промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,

  • группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;

  • тип трафика: С группировкой по IP / часам / дням / месяцам / группам, если нужен отчёт о трафике;

  • коллектор трафика в детальном отчёте о трафике.

Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.

Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт.

Наименование Назначение отчёта Данные в отчёте:

Основной

Данный отчёт предоставляет информацию о движениях по лицевым счетам пользователей за заданный промежуток времени.
В основном отчёте НЕ отображаются списания, возникшие в результате обнуления баланса в конце расчётного периода (если такая возможность используется) или в результате сгорания платежа, а также платежи с методом Кредит. Если за выбранный период движений по счёту не было, то везде, включая колонки входящего и исходящего остатка, отображается сумма 0.

  • номер лицевого счёта

  • входящий остаток

  • сумма списаний за каждый тип услуги

  • сумма налогов и с налогами

  • платежи

  • исходящий остаток

Услуги

Отчёт по услугам предоставляет информацию о списаниях с лицевых счетов пользователей за оказание разовых и периодических услуг за определённый промежуток времени

  • ID лицевого счёта

  • логин и полное имя пользователя

  • название и тип услуги

  • время списания

  • расчётный период

  • сумма

Индивидуальные услуги

Данный отчёт предоставляет информацию о списаниях, производимых по запросу модуля интеграции с системой Rentsoft

  • ID лицевого счёта

  • логин пользователя

  • дата

  • Mark (уникальный идентификатор транзакции)

  • сумма и сумма с налогами

  • услуга и ID услуги

  • отменено (флаг отмены списания)

Трафик

Данный отчёт предоставляет информацию об объёмах переданного IP-трафика для каждого лицевого счёта и класса трафика за заданный промежуток времени

  • ID лицевого счёта

  • логин

  • класс трафика

  • количество МБ

  • цена за МБ

  • сумма

Детальный трафик

Детальный отчёт по трафику строится на базе исходных данных о переданном трафике.
За большие промежутки времени накапливается огромное количество статистики, поэтому создание такого детализированного отчёта может занять длительное время. Для создания отчёта за большой промежуток времени рекомендуется воспользоваться фильтром Коллектор трафика, либо выбрать данные непосредственно из базы данных детальной статистики с помощью утилиты get_nf_direct

  • дата

  • ID связки

  • лицевой счёт

  • класс трафика

  • источник

  • получатель

  • пакеты

  • байты

  • порт источника и порт получателя

  • TCP-флаги

  • протокол

  • TOS

Телефония

Отчёт по телефонии базируется на статистике сервера RADIUS и суммирует данные о телефонных звонках.
Звонок, попадающий на границу периодов времени с разной стоимостью разговора, будет формально разделён по этой границе и отображён в отчёте как два звонка с одинаковыми ID сессии, но разной стоимостью за минуту.
Нетарифицированные звонки также входят в отчёт, и отображаются с нулевой стоимостью.

  • ID сессии и лицевого счёта

  • дата получения

  • время начала и окончания

  • вызываемый абонент и вызывающий абонент

  • порт и ID сессии NAS

  • логин

  • NAS IP

  • статус

  • зона и направление

  • длительность сессии

  • округлённая длительность (вычисляется с учётом шага тарификации в свойствах подключённой услуги телефонии)

  • входящий и исходящий транк

  • ID АТС

  • цена за единицу и стоимость

  • причина отключения

  • коэффициент

  • флаги

Телефонные направления

Данный отчёт содержит сводные данные о звонках по различным телефонным направлениям

  • ID и наименование направления

  • длительность

  • стоимость

  • количество звонков

  • количество звонков с нулевой стоимостью

Другое

В верхней части окна расположены настройки фильтра:

  • количество записей на страницу,

  • произвольный временной интервал,

  • промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,

  • группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;

  • тип изменения пользователей для отчёта об изменении пользователей.

Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.

Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт.

Наименование Назначение отчёта Данные в отчёте:

Блокировки

Отчёт предоставляет информацию обо всех блокировках, осуществлённых за заданный период времени

  • ID лицевого счёта

  • логин

  • тип блокировки

  • начало и окончание

  • расчётный период

  • удалено

Изменения пользователей

Отчёт предоставляет сведения об изменениях характеристик пользователей и некоторых других системных объектов (услуг, тарифных планов, политик списания) за выбранный период

  • ID пользователя

  • логин пользователя и системного пользователя, внёсшего изменения

  • время изменения и комментарий

  • действие (тип записи)

Сессия

Отчёт по модемным сессиям и сессиям VPN, который базируется на статистике сервера RADIUS и суммирует данные о сессиях коммутируемого доступа

  • ID сессии и лицевого счёта

  • время окончания

  • вызываемый и вызывающий абонент

  • IP-адрес

  • порт и ID сессии NAS

  • логин

  • NAS IP

  • статус

  • объём входящего и исходящего трафика в байтах и гигабайтах

  • длительность

  • причина отключения

  • стоимость

  • флаги

DHCP аренда

Данный отчёт предоставляет историю аренды IP адресов, выдаваемых встроенным DHCP сервером

  • ID пользователя

  • логин

  • IP

  • MAC

  • Relay-Agent info

  • дата и время обновления

  • дата и время истечения

Профили

Вкладка содержит список профилей оборудования.

У профиля есть следующие параметры:

  • Наименование коммутатора.

  • Ёмкость портов – количество портов в данном профиле. Можно указать несколько значений через запятую.

  • Опция Нумерация портов с нуля.

  • На вкладках REMOTE ID, PORT ID и VLAN ID, если включена опция Активировать, доступны следующие параметры:

    • ТипString или Binary (строковый или бинарный).

      Для PORT ID и VLAN ID имеет значение порядок байт. Для них можно выбрать тип Binary (BE) – big endian или Binary (LE) – little endian.

    • Расположение – опция, относительно начала которой отсчитывается смещение при чтении параметра. Началом опции считается её код. Если выбрано значение Option 82, смещение отсчитывается от начала всей опции 82.

    • Смещение в байтах, указывает на начало данного параметра относительно начала выбранной опции.

    • Длина параметра в байтах.

Коммутаторы

Вкладка содержит список добавленных в биллинг коммутаторов.

У коммутатора есть следующие параметры:

Вкладка Параметры:

Основное

  • имя – наименование коммутатора в базе данных (уникальность не проверяется, но рекомендуется);

  • фактический адрес – комментарий, позволяющий однозначно определить, где коммутатор располагается физически.

Параметры оборудования

  • тип – список, позволяющий выбрать один из созданных ранее профилей оборудования;

  • параметр Remote ID DHCP опции 82, используемый при формировании DHCP запроса коммутатором. Тип параметра устанавливается в соответствующем профиле оборудования;

  • количество портов в данном коммутаторе.

Параметры доступа

IP, логин и пароль для доступа к коммутатору. Эти параметры можно использовать в правилах firewall.

Использование портов

после добавления коммутатора в биллинг, ему присваивается ID и в свойствах появляется вкладка Использование портов, которая отображает количество свободных и занятых портов.

Привязанные пулы

ID пула и шлюз.

DHCP опции

ID, тип и значение дополнительных опций DHCP. Добавленные опции будут включены в DHCP-ответ, если DHCP-клиент добавит их в список запрашиваемых опций.

DHCP пулы

Вкладка содержит список добавленных в биллинг DHCP пулов.

У DHCP пула есть следующие параметры:

Вкладка Параметры:

Основные параметры

  • шлюз;

  • маска;

  • DNS сервер 1, 2;

  • NTP сервер;

  • домен;

  • время аренды;

  • действие при блокировке – поведение DHCP-сервера, если запрос приходит от пользователя, лицевой счёт которого заблокирован:

    • Не установлено – выдать IP вне зависимости от того, заблокирован ли лицевой счет пользователя;

    • Использовать пул для заблокированных абонентов – при выборе этого значения, необходимо также выбрать пул, из которого будет выдан IP-адрес в случае если запрос пришел от заблокированного пользователя. Этот вариант доступен когда в системе зарегистрировано больше одного DHCP пула;

    • Игнорировать запрос, если он поступает от заблокированного пользователя.

Динамические диапазоны

  • первый и последний адрес пула, например, 10.1.0.1 – 10.1.0.50.

DHCP опции

ID, тип и значение дополнительных опций DHCP. Добавленные опции будут включены в DHCP-ответ, если DHCP-клиент добавит их в список запрашиваемых опций.

DHCP аренда

Страница содержит список действующих аренд DHCP, а также список адресов с истекшей арендой.

В списке отображены следующие параметры:

  • ID – автоматически присвоенный номер записи;

  • IP – выданный IP адрес;

  • MAC – адрес клиента, получившего этот IP адрес;

  • Server id – IP-адрес сервера;

  • Client id – атрибут HostName DHCP опции 12 из запроса DHCP клиента;

  • Истекает – время окончания аренды данного IP-адреса;

  • Обновлён – время начала аренды данного IP-адреса;

  • Flags – статус аренды:

    • Static – адрес назначен статически (введён в настройках IP-группы);

    • Dynamic – адрес назначен динамически;

    • Static, Modified – адрес назначен статически, после этого настройки IP-группы изменились, либо она была удалена;

    • Dynamic, Modified – адрес назначен динамически, после этого настройки IP-группы изменились, либо она была удалена.

DHCPv6

Начиная с версии 5.5.001 NetUP 5+ поддерживается DHCPv6 на базе движка ISC Kea. Реализована поддержка всех функций, кроме dhcpv4 over v6, reservations, hooks.

В качестве документации рекомендуется опираться на официальный мануал движка: downloads.isc.org/isc/kea/1.5.0-P1/doc/kea-guide.pdf#chapter.9

Для запуска сервера можно использовать команду /etc/init.d/utm5_dhcpv6 start

Основной файл конфигурации: /netup/utm5/dhcpdv6.cfg

Обязательная часть конфигурации:

{
  "dhcpv6" : {
      "log_settings": {
        "log_main_path": "/netup/utm5/log/dhcpv6_main.log",
        "log_debug_path": "/netup/utm5/log/dhcpv6_debug.log",
        "log_critical_path": "/netup/utm5/log/dhcpv6_critical.log",
        "syslog_name": "log_utm5_dhcpd6",
        "log_level" : 1,
        "rotate_logs": "yes",
        "max_logfile_count" : 1,
        "max_logfile_size": 104857600
      },
      "core_connection" : {
        "core_host": "127.0.0.1",
        "core_port": 12758,
        "core_rest_port" : 9080,
        "token": "UHdRfkmfyu2NCcqSHIQd7lC2cCo9qS",
        "core_login" : "dhcp6",
        "core_password" : "dhcp6pass",
        "use_core_db_connect": "yes"
      },
      "server_port": 547,
      "client_port": 546,
      "server_settings" : {
// This is an example configuration file for DHCPv6 server in Kea.
// It's a basic scenario with one IPv6 subnet configured. It is
// assumed that one subnet (2001:db8:1::/64 is available directly
// over ethX interface.

      "Dhcp6":{
      // Kea is told to listen on ethX interface only.
        "interfaces-config": {
          "interfaces": [ "*" ]
        },

      // We need to specify the the database used to store leases. As of
      // September 2016, four database backends are supported: MySQL,
      // PostgreSQL, Cassandra, and the in-memory database, Memfile.
      // We'll use memfile  because it doesn't require any prior set up.
        "lease-database": {
          "type": "mysql",
          "name": "UTM5",
          "user": "root",
          "password": "root",
          "host": "localhost",
          "port": 3306
        },

      // Addresses will be assigned with preferred and valid lifetimes
      // being 3000 and 4000, respectively. Client is told to start
      // renewing after 1000 seconds. If the server does not respond
      // after 2000 seconds since the lease was granted, client is supposed
      // to start REBIND procedure (emergency renewal that allows switching
      // to a different server).
        "preferred-lifetime": 3000,
        "valid-lifetime": 4000,
        "renew-timer": 1000,
        "rebind-timer": 2000,

      // The following list defines subnets. Each subnet consists of at
      // least subnet and pool entries.
        "subnet6": [
          {
            "pools": [ { "pool": "2001:db8:1::8000:0:0/81" } ],
            "pd-pools": [
                      {
                          "prefix": "2001:db8:abcd::",
                          "prefix-len": 48,
                          "delegated-len": 64,
                          "user-context": {
                          "purpose": "For CPE devices"
                          }
                      }
            ],
            // end of pools
            "subnet": "2001:db8:1::/64",
            "interface": "docker0"
          }
        ]

      }

    }
  }
}

Первичный запуск рекомендуется делать с наличием в конфигурации параметров "subnet6", "pools", "interfaces-config" и "lease-database", как оно реализовано в примере. В дальнейшем это можно скорректировать через веб-интерфейс.

Если файл конфигурации корректный, то это явно указывается в логе при запуске: Dhcp6Srv: Processing of config success.

Прочие настройки

Профили ISG

Эта страница содержит список профилей и атрибутов ISG.

Профили ISG (Intelligent Services Gateway) используются для описания взаимодействия сервера RADIUS с интеллектуальным шлюзом IPoE (в частности, Cisco ISG). Эти профили устанавливаются в качестве параметра для NAS, зарегистрированных в системе.

Нажмите Добавить, чтобы добавить новый профиль ISG. Профиль обладает следующими параметрами:

  • ID - назначается автоматически

  • Наименование - произвольное информационное поле

Далее следует группа параметров Авторизации, отвечающих за обработку запросов на авторизацию:

  • Тип логина - это тип данных, содержащихся в атрибуте User-Name. Может быть MAC, IP адрес, либо логин, указанный в настройках IP-группы

  • Тип пароля - использовать пароль, указанный в настройках IP-группы, либо ввести произвольный пароль (при этом появляется дополнительное поле Пароль). Доступна возможность задавать пароль равный логину.

  • Таймаут авторизации - период времени в секундах, в течение которого RADIUS-сервер ожидает первый пакет с кодом Accounting-Start. Если в течение этого времени такой пакет не приходит, RADIUS-сервер завершает сессию.

  • Код ответа при разблокированном лицевом счете дает возможность выбрать код ответа в такой ситуации - Access-Accept, либо Access-Reject.

  • Код ответа при заблокированном лицевом счете аналогично предыдущему, но при заблокированном лицевом счете.

  • Назначить адрес - определяет необходимость добавления атрибута Framed-IP-Address в ответ на запрос авторизации. Значение атрибута зависит от типа логина - MAC или IP. В случае авторизации по IP, в атрибуте Framed-IP-Address используется IP-адрес, пришедший в запросе на авторизацию. В случае авторизации по MAC, используется IP-адрес, определяемый настройками IP-группы (адрес из RADIUS-пула, указанного во вкладке Опции RADIUS, либо адрес из диапазона, указанного во вкладке Статический IP. Подробнее см. IP-группы). В случае авторизации по логину в IP-группе, используются настройки IP-группы и значение флага на добавление атрибута Framed-IP-Address не влияет.

Далее следует группа параметров вкладки Установка RADIUS атрибутов, которая представляет собой список дополнительных RADIUS-атрибутов, добавляемых в ответ на запрос авторизации.

Для RADIUS-атрибута задаются следующие параметры:

  • ID вендора - идентификатор вендора.

  • ID атрибута - идентификатор атрибута.

  • Значение - значение атрибута.

  • Тип значения - число, строка, IP-адрес или бинарный.

  • Настройки - условия применения данного атрибута. Настройки позволяют применить атрибут только для определенной услуги, в рамках которой производится авторизация, и для определенного состояния лицевого счета (заблокирован/не заблокирован)

  • Настройки использования - данные настройки позволяют производить при добавлении атрибута следующие операции:

    • Заменить атрибут - если атрибут с таким ID был добавлен ранее, заменить его значение значением данного атрибута

    • Удалить атрибут - если атрибут с таким ID был добавлен ранее, удалить его

    • Использовать сценарии - использовать сценарии для осуществления более сложных задач. Например, если необходимо создать vendor specific атрибут и присвоить ему значение существующего стандартного атрибута. Для этого в поле Значение укажите в фигурных скобках через запятую ID вендора и ID атрибута, значение которого нужно скопировать. Например, {9, 44}

  • Срок действия - позволяет ограничить срок действия данного правила. Т.е. по истечении срока действия, данный дополнительный атрибут перестаёт добавляться в запросы.

Далее следует группа параметров CoA, отвечающих за применимость CoA-запросов и позволяющих модифицировать их содержание:

  • Флаг Активен определяет, следует ли использовать CoA-запросы

Настройки атрибута, добавляемого в CoA-запрос аналогичны настройкам атрибута, добавляемого в ответ на запрос авторизации и позволяют добавлять его в зависимости от наступившего события - блокирования лицевого счета, разблокирования лицевого счета, либо удаления сервисной связки.

Личный кабинет абонентов

Вводная информация

В состав биллинговой системы NetUP 5+ входит готовый к использованию личный кабинет для абонентов. Он решает классические задачи, такие как:

  • Просмотр баланса всех лицевых счетов

  • Перемещение средств между счетами

  • Просмотр своего профиля

  • Подключённые услуги, тарифы и управление ими

  • Приём платежей

  • Отображение отчётов и статистики

  • Добровольные блокировки

  • Возможность отправки заявок в техподдержку провайдера

Предоставляемый ЛК базируется на технологии PWA (статья на Wiki)

Личный кабинет всегда доступен в виде исходников на сайте NetUP, выкладывается вместе с обновлениями биллинговой системы.

Группы настроек личного кабинета

Основной пул настроек: НастройкиЛичный кабинет

  • Доступные для смены тарифные планы

  • Активные платёжные системы

  • Группы доступа обещанного платежа, добровольных блокировок, движения средств

Дополнительные: НастройкиСистемныеЛичный кабинет

Здесь можно задать настройки доступности просмотра отчётов, а также возможность редактирования профиля.

Настрайка Формат мобильного телефона позволяет задать формат номера для контантов абонента в панели администратора, а так же при логине абонента по номеру телефона в ЛК и самостоятельном редактировании.

Скрытые параметры можно настроить в файле конфигурации: /netup/utm5/customer_portal_config.env

#########
#   Основные настройки 5.5.007
#########

# Путь для записи лог-файлов
# Для быстрой отладки можно поставить log_file_path = console
log_file_path = /netup/utm5/log/

# Путь до конфига схемы верификатора платежных систем
verificator_file_path = /netup/utm5/verificator_schemas/

# Порт API для личного кабинета
api_port = 8000

# URL личного кабинета абонентов
# На этот URL происходит редирект после проверки состояния платежа
web_customer_portal_url = http://localhost/cabinet

# URL до API для кабинета абонентов
web_customer_portal_api_url = http://localhost/customer_api

# Варианты авторизации пользователя в личный кабинет:
# login - по логину , basic_acc_id - по номеру лицевого счета
# Стандартно = login
login_type = login

#########
#   Настройки кеша запрашиваемых отчётов
#########

# Включение кеша для отчётов
# Стандартно : false
use_report_cache = false

# Частота обновления кеша в минутах
# Стандартно: 60
report_cache_updater_timeout = 60


#########
#   Настройки ядра
#########

# Токен системного пользователя, создается через админ-панель
# Используется для авторизации в ядро
core_token = init

# Хост REST-API ядра
core_rest_api_host = 127.0.0.1

# Порт REST-API ядра
core_rest_api_port = 9080


#########
#   Настройки базы данных
#########

# Имя базы данных
db_name = UTM5

# Пароль к БД
# Может быть пустым
db_pass =

# Имя пользователя для доступа к БД
db_user = root

# Хост БД
db_host = 127.0.0.1

# Порт хоста БД
db_port = 3306


#########
#   Проверки статуса платежей
#########

# Задержка проверки состояния платежа в минутах
# Если = 0, то проверка выключена ("= 0" актуально, если есть несколько копий кабинета абонентов)
payment_orders_checker_delay = 1

# Условие проверки статуса платежей, если: (created_date > (current_time - payment_orders_checker_created_max))
payment_orders_checker_created_max = 15

# Задержка повторной загрузки настроек из ядра в минутах
# Если = 0, то выключено
settings_reload_delay = 1


#########
# Параметры интеграции с СМС-шлюзом
# Стандартно используется https://smsc.ru
#########

# Логин
sms_service_login =

# Пароль
sms_service_pass =

# URL-шлюза
sms_service_url = https://smsc.ru/sys/send.php?

# Шаблон сообщения для отправки логина и пароля. Переменные: LOGIN, PASS
smsc_msg_template = "Some text login: LOGIN password: PASS"

# Имя отправителя (Метка в поле "номер телефона отправителя")
smsc_sender_name =

# Переотправлять смс с логином и паролем для уже зарегистрированных клиентов: yes, no
send_sms_to_registered = no

# Включить использование специальнго URL для отправки смс (customer_api/sms/send_smsc), yes or no
smsc_special_url_enabled = no

# Токен для специальнго URL (customer_api/sms/send_smsc)
smsc_special_url_token = init

Платёжные системы

Поддерживаемые ПС

Платёжные системы доступны при наличии лицензии Telecom.

В NetUP 5+ на текущий момент переработаны и доступны следующие платёжные системы:

  • QIWI (ОСМП)

  • Универсальный ОСМП (произвольная настройка)

  • СбербанкОнлайн v1b (Протокол №2, приложение 16)

  • СбербанкОнлайн v2 (Протокол №1, версия Б)

  • СбербанкОнлайн v3 (приложение 11)

  • Федеральная Система Город

  • Сбербанк-эквайринг

  • Коммерцбанк Таджикистана

  • Робокасса (и Робочеки)

  • Яндекс

  • Тинькофф-Банк

  • Альфа-Банк

  • PayPal

  • Уникасса (Кассира.Нет \ ПСКБ терминальный)

  • Click.UZ

  • Payme

  • Uzpaynet

  • Eleksnet v3.5

  • РФИ-Банк (Эквайринг)

  • Центральная касса (c эквайрингом)

  • CyberPlat

  • ExpressPay

  • AtlasPay

  • ПСКБ - Петербургский Социальный Коммерческий Банк

  • ПромСвязьБанк

  • БСПБ - Банк Санкт-Петербург (обновлена в 5.5-015)

  • Московский кредитный банк (Протокол v2)

  • ChronoPay

  • Капитал-банк

  • РНКБ - Российский национальный коммерческий банк

Список пополняется с каждым обновлением, если необходимой платёжной системы нет - рекомендуется обратиться в отдел продаж info@netup.ru

В веб-интерфейсе администратора: Группа "настройки" ⇒ Личный кабинет ⇒ Платежные системы

Платёжные системы у различных банков бывают двух видов:

  • Эквайринговые - когда абонент в личном кабинете оператора связи вводит желаемую сумму, после чего попадает на страницу банка для ввода реквизитов и оплаты. Далее его возвращает обратно в личный кабинет.

  • Терминальные - позволяет оператору связи иметь собственную "кнопку" оплаты в различных терминалах выбранной платёжной системы. Обычно сюда так же входит "кнопка" на сайте платёжной системы.

Соответствующая страница настроек в NetUP 5+ отображает список доступных платёжных систем, с помощью которых пользователь может оплачивать услуги.

При настройке платёжных систем необходимо учитывать, что все запросы стандартно могут быть приняты только про протоколу HTTP. Для поддержки HTTPS необходимо должным образом сконфигурировать nginx.

Для всех терминальных систем начиная с версии 5.5.005 появилась возможность задавать дополнительную комиссию в процентах. Настройка осуществляется для каждого модуля отдельно.

Рекурентные платежи

Рекурентные платежи производятся только в интеграциях с эквайринговыми платежными системами. Опция может быть доступна и реализована в NetUP 5+ в том случае, если сама платежная система поддерживает эту фукнцию. При активации этой функции в биллинге абонент во время оплаты будет видеть чекбокс Подключить автоплатеж.

В NetUP 5+ на текущий момент рекурентные платежи поддерживаются системами:

  • Тинькофф-Банк

Настройка рекурентных платежей

В настройках каждой конкретной платежной системы из поддерживающих такие платежи необходимо активировать пункт Доступны регулярные платежи и задать нижнюю границу баланса.

Опция автоплатежа подключается на конкретной ЛС абонента. Опция не может быть подключена двукратно на один ЛС, даже от разных платежных систем. Если при наличии одной подключенной опции абонент добавит вторую - первая будет отключена и заменена актуальным запросом.

Граница баланса для регулярного платежа - при подключенной опции, по достижении указанной суммы на лицевом счете, биллинг будет делать запрос на проведение автоплатежа.

Действия при обновлении биллинга

После процедуры обновления биллинга новые параметры для уже настроенных платежных систем могут не появиться в веб-интерфейсе. Чтобы их получить - удалите настройки платежной системы и добавьте её снова. В этом случае все параметры станут доступны. Делать это нужно только если известно, что в обновлении новые настройки добавлены, но вы их не видите в панели администратора!

Особые настройки терминальных ПС

Кастомные сертификаты, URL и порты

Начиная с версии 5.5.007 появилась возможность использовать RSA encrypted ключ, пароль приватного ключа и клиентские сертификаты для корректной установки SSL-соединения при использовании терминальных платёжных систем.

Настройки расположены в блоке Дополнительный порт внутри конфигурации каждой конкретной ПС.

Допускается запуск нескольких терминальных ПС на одном порту с одинаковым сертификатом или без него.

При использовании шифрованных ключей с паролем необходимо наличие DEK-блока с информацией о его типе. Пример:

Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC

Пример команды openssl для шифрования созданного ключа и добавления нужной информации:

openssl rsa -aes256 -in dec.key -out encrypted_aes_priv.key

При изменении конфигурации ЛК абонентов перезапускается самостоятельно и создаёт об этом запись в лог-файлах.

Настройки конкретных ПС

Универсальный ОСМП (qiwi)

Данный модуль позволяет взаимодействовать с любой платёжной системой, которая использует стандартный протокол ОСМП без необходимости дорабатывать биллинговую систему. Количество таких платёжных систем может быть любым, сам модуль при этом добавляется в единичсном экземпляре через веб-интерфейс админитратора.

Видимая группа параметров совпадает с таковой у классического модуля ОСМП-qiwi. Для корректной работы необходимо со стороны оператора платёжной системы установить правильный вид URL:

название_платежной_системы - префикс, заменяется на любое имя. При этом, модуль будет автоматически, на основе запроса по созданному URL различать обращения от различных ПС в рамках протокола ОСМП.

Пример:

В базу данных информация будет заноситься согласно префиксу:

transaction_id будет - payberry_terminal:123123

payment_system_name - payberry_terminal

Различать платежи по конкретной ПС наиболее просто по payment_system_name.

Для идентификации источника платежа в отчетах по платежам используется поле Комментарий для администратора, заполняется автоматически согласно префиксу.

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

СбербанкОнлайн (Протокол №1, Версия Б)

СбербанкОнлайн (Протокол №2, приложение 16)

Актуальный шаблон настроек со стороны СберБанк:

Адрес для платежей: IP_биллинга/customer_api/callbacks/osmp/sberbank

Версия протокола TLS 1.2

Метод передачи информации: GET

Кодировка: Windows-1251

Тип SSL-соединения: Одностороннее (без проверки)

Наличие Basic авторизации: Нет

Сбербанк-эквайринг

С версии 5.5.003 стал доступен вариант авторизации с помощью Token’ов.

Как правило, для настройки интеграции Сбербанк предлагает следующий опросник:

Вопрос: Наличие Basic авторизации в биллинговой системе?
Ответ: Нет (доступно при использовании nginx).

Вопрос: Порт?
Ответ: 9080 (стандартный порт ЛК NetUP 5+).

Вопрос: Метод передачи данных (GET или POST)?
Ответ: GET.

Вопрос: Использование MD5 сигнатуры запросов (да или нет)?
Ответ: Нет.

Вопрос: тип SSL-соединения (двустороннее или одностороннее)?
Ответ: HTTP (SSL доступен при использовании nginx и сертификата).

Вопрос: Набор реквизитов идентифицирующих плательщика в реестре переводов?
Ответ: Применять номер лицевого счета.

Для настройки параметров в веб-интерфейсе администратора выберете:

Настройки ⇒ Личный кабинет ⇒ Платёжные системы ⇒ Sberbank

Описание параметров к заполнению:

  • Username и Password – Имя пользователя и пароль, выданные банком.

  • Currency – Код валюты (для отправки платежа в банк).

  • Language – Язык интерфейса.

  • Return URL – Веб-страница, на которую вернётся пользователь после совершения платежа (нужно указать адрес личного кабинета для абонентов).

  • Page view – Вид страницы: DESKTOP – для загрузки страниц, предназначенных для отображения на экранах ПК; MOBILE – для загрузки страниц, предназначенных для отображения на экранах мобильных устройств.

  • Test mode (yes,no) – Тестовый режим проведения платежей.

  • Turn on inet after payment (1,0) – Включить интернет после проведения платежа: 1 – включить, 0 – не включать.

  • Payment method ID – ID платёжного метода, который будет присвоен платежу в биллинге.

  • Internal currency ID – Код валюты (из биллинга).

  • Enabled – Статус платёжной системы: yes – отображается в личном кабинете пользователя, no – не отображается.

QIWI (терминальный)

Даёт возможность абонентам оплачивать услуги через сайт qiwi.com и их терминалы.

Параметры, доступные к настройке в NetUP 5+:

  • Internal currency ID – Код валюты (из биллинга).

  • Turn on inet after payment (1,0) – Включить интернет после проведения платежа: 1 – включить, 0 – не включать.

  • Payment method ID – ID платёжного метода, который будет присвоен платежу в биллинге.

Для правильного зачисления платежей в личном кабинете на сайте QIWI необходимо задать адрес callback’ов вида: ваш_домен/customer_api/callbacks/osmp/qiwi

Робокасса (эквайринг)

Модуль интеграции сервиса Робокасса с поддержкой функции "Робочеки".

1) Для настройки параметров в веб-интерфейсе администратора NetUP 5+ выберете:

Настройки ⇒ Личный кабинет ⇒ Платёжные систем ⇒ Добавить ⇒ Robokassa.

Сюда необходимо вносить значения, описание которых будут далее.

2) Зайдите в личный кабинет на сайте Робокассы, откройте настройки:

robo1

3) Сгенерируйте пароли, затем внесите их в настройки Робокассы в NetUP 5+.

4) Поле "Логин" в NetUP 5+ заполняется "Идентификатором магазина".

5) Алгоритм шифрования в настройках Робокассы должен быть MD5, а методы отсылки "GET".

6) Поле ResultURL обязательно заполняется ссылкой вида: ваш_домен/customer_api/callbacks/robokassa

7) Success URL и Fail URL - адресом личного кабинета.

Сохранив все настройки можно тестировать систему.

Uzpaynet (терминальный)

В данной платёжной системе реализованы следующие виды запросов:

Cancel transaction
Check transaction
Get information
Get statement
Perfom transaction

Быстрый старт

Веб-интерфейс находится в разработке, поэтому раздел содержит описание только тех действий, которые уже доступны

Добавить нового пользователя (абонента)

  1. Перейдите на страницу Основное ⇒ Пользователи и кликните add_user над списком пользователей.

  2. В открывшемся окне впишите логин, имя пользователя и установите пароль.

    Пароль для пользователя генерируется автоматически, но Вы можете изменить его.

  3. Включите опцию Работа по предоплате, если это необходимо.

    Если включена опция Работа по предоплате, то счета для периодических услуг, со списанием средств в начале расчётного периода, будут выставляться пользователю также в начале периода. Данный параметр не влияет на порядок списаний.

  4. Нажмите Сохранить и пользователь появится в общем списке.

    Одновременно с учётной записью будет создан основной лицевой счёт пользователя, а также установлена валюта для выставления счетов – российский рубль (RUR). Если необходимо изменить валюту для выставления счетов пользователю, кликните по строке с его данными, перейдите на вкладку Пользователь ⇒ Другое, выберите Валюту из списка и нажмите Сохранить.

  5. Настройте параметры лицевого счёта пользователя. Кликните по строке с данными пользователя и перейдите на вкладку Тарификация ⇒ Лицевые счета. Кликните по строке с данными лицевого счёта, чтобы перейти к редактированию его параметров, внесите необходимые изменения и нажмите Сохранить.

    C пользователем может быть связано произвольное количество дополнительных лицевых счетов. Как добавить лицевой счёт пользователю, читайте в следующем разделе.

Добавить лицевой счёт пользователю

  1. Найдите пользователя в списке – впишите в поле поиска любые сведения о пользователе и нажмите search

  2. Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Лицевые счета.

  3. Кликните add_account над списком лицевых счетов и в открывшемся окне заполните необходимые поля:

    Кредит

    Кредит счёта. Можно изменить вручную или посредством совершения платежа с методом Кредит. По умолчанию – 0 (ноль).

    Ставка НДС

    Налог на добавленную стоимость, применяемый при выписывании счетов. По умолчанию – 0 (ноль).

    Внешний ID

    Идентификатор счёта для интеграции с какими-либо внешними системами. По умолчанию – пустая строка.

    Ставка НСП

    Налог с продаж, применяемый при выписывании счетов. По умолчанию – 0 (ноль).

    Интернет

    Статус интернета: включён или выключен. По умолчанию – включён.

    Тип блокировки

    Статус блокировки: не заблокирован или административная блокировка. По умолчанию – не заблокирован.

    Авт. включать

    Опция, которая позволяет настроить автоматическое включение интернета при пополнении счета и выходе из блокировки. По умолчанию – не включена.

    Безлимитный режим

    Опция, которая позволяет все списания с клиента производить по нулевой стоимости. По умолчанию – не включена.

  4. Нажмите Сохранить.

    После создания лицевого счёта Вы можете редактировать его параметры. Кликните по лицевому счёту, чтобы развернуть панель с его данными, внесите необходимые изменения и нажмите Сохранить.

Подключить услугу пользователю

  1. Найдите пользователя в списке.

  2. Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Услуги.

  3. Кликните add и в открывшемся окне выберите одну из доступных услуг, а затем нажмите Ok, чтобы открыть окно с параметрами выбранной услуги. Если необходимо, измените параметры услуги, заполните поля и нажмите Ok, чтобы добавить услугу – создать сервисную связку.

Для периодических услуг обязательно нужно указывать расчётный период. Если в списке нет подходящего расчётного периода, создайте его, а затем вернитесь к добавлению услуги.

Выгрузить памятку пользователя

  1. Перейдите на страницу Пользователи и найдите пользователя в списке.

  2. В строке с данными пользователя кликните save

  3. В открывшемся окне переименуйте файл, если это необходимо, выберите формат файла (.pdf или .odt) и нажмите Скачать

Внести платёж на счёт пользователя

  1. Перейдите на страницу Пользователи и найдите пользователя в списке.

  2. В строке с данными пользователя кликните payment

  3. В открывшемся окне выберите лицевой счёт из списка, чтобы открыть форму для внесения платежа, и заполните необходимые поля:

    Платеж

    Впишите сумму платежа. По умолчанию – 0 (ноль).

    Валюта

    Список валют, которые занесены в биллинг. По умолчанию – рубль (RUR).

    Дата платежа

    По умолчанию – текущая дата.

    Дата сгорания

    Включите опцию и укажите дату истечения платежа. По умолчанию эта дата не установлена.

    Метод платежа

    Выберите метод из списка. По умолчанию – Cash payment.

    Другие настройки

    Комментарии

    Впишите комментарии для администратора и пользователя, если это необходимо.

    Внешний номер платежа

    Если платёж производится согласно внешнему платёжному документу, введите номер этого документа.

    Номер счета

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

    Включить интернет

    Включите опцию, если необходимо включить интернет для пользователя. Интернет будет подключён при условии, что баланс пользователя станет положительным после внесения данного платежа.

    Обязательно укажите Сумму платежа и выберите из списка Метод платежа, остальные поля можно оставить со значениями по умолчанию или пустыми.

  4. Нажмите Сохранить.

Внести обещанный платёж

  1. Перейдите на страницу Пользователи и найдите пользователя в списке.

  2. В строке с данными пользователя кликните promised_payment, чтобы открыть соответствующее окно.

    Обещанный платёж можно выдать только тем пользователям, которые входят в группу, указанную администратором биллинга в настройках обещанного платежа, и только на ту сумму, которая не превышает сумму установленной Максимальной оплаты. Чтобы посмотреть параметры обещанного платежа, кликните Другие настройки.

  3. Впишите сумму обещанного платежа и нажмите Сохранить.

Подключить пользователю тариф

  1. Перейдите на страницу Пользователи и найдите пользователя в списке.

  2. Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Тарифы.

  3. Если у пользователя несколько лицевых счетов, выберите из списка лицевой счёт, к которому хотите привязать тариф, а затем кликните add.

  4. В открывшемся окне выберите Текущий тарифный план, Следующий тарифный план (или оставьте Не менять) и Расчётный период, а затем нажмите Ok, чтобы создать тарифную связку.

  5. Для каждой включённой в тариф услуги появится окно, в котором Вы можете изменить параметры услуги, если это необходимо. Нажмите Ok, чтобы добавить услугу, или нажмите Отмена, чтобы исключить услугу из тарифного плана для данного пользователя.

    Если в текущем тарифном плане присутствуют разовые услуги с опцией Подключать по умолчанию, то для каждой из них выберите желаемую дату и время списания.

Создать класс трафика

Для классификации трафика по умолчанию в системе заведены 2 класса трафика:

  • Incoming (входящий) – ID (10), включает единственный подкласс, у которого параметр Адресат содержит адрес и маску локальной сети;

  • Outgoing (исходящий) – ID (20), параметр Источник содержит те же адрес и маску.

Можно завести дополнительные классы, например, для тарификации трафика в разное время суток по разной ставке.

Обратите внимание! Для создания классов, принадлежность трафика к которым определяется в зависимости от времени, необходимо предварительно создать временные диапазоны.

  1. Перейдите на вкладку Тарификация ⇒ Другое ⇒Классы трафика и нажмите add над списком классов.

  2. В открывшемся окне укажите идентификатор класса (например, 15), название класса (например, Ночной входящий), выберите временной диапазон, (например, Ночь) и добавьте подклассы трафика.

  3. Нажмите над списком подклассов трафика add. В открывшемся окне, на вкладке Адресат введите IP-адрес и маску подсети для локальной сети, а на вкладке Источник, введите IP-адрес и маску подсети для источника трафика (например, введите 0.0.0.0/0 если источник трафика не имеет значения) и нажмите Ok.

  4. Установив все необходимые параметры, нажмите Ok в окне создания класса трафика, чтобы добавить его в биллинг.

Создать услугу передачи IP-трафика

Необходимо предварительно создать классы трафика.

  1. Перейдите на страницу Тарификация ⇒ Услуги/Тарифы и нажмите add над списком услуг.

  2. В открывшемся окне выберите тип услуги Услуга передачи IP-трафика и нажмите Ok.

  3. В окне свойств услуги, ведите наименование, комментарий и выберите юр.лицо (наименование вашей компании).

  4. Перейдите на вкладку Параметры услуги и укажите стоимость услуги, момент списания оплаты и, если необходимо, заполните другие параметры или оставьте значения по умолчанию.

  5. Перейдите на вкладку Границы тарификации и нажмите add. В открывшемся окне выберите класс трафика для границы, объём трафика (0), и стоимость трафика, превышающего границу, в валютных единицах за мегабайт. Нажмите Ok.

  6. Если нужно добавить предоплаченный трафик, перейдите на вкладку Предоплаченный трафик и нажмите add. В открывшемся окне выберите класс и объём трафика, а также укажите сколько трафика можно накапливать. Нажмите Ok.

  7. Установив все необходимые параметры, нажмите Ok в окне создания услуги, чтобы добавить услугу в биллинг.

Создать услугу NetUP IPTV и подключить её пользователю

  1. Перейдите на страницу Тарификация ⇒ Услуги/Тарифы и нажмите add над списком услуг.

  2. В открывшемся окне выберите тип услуги Услуга IPTV и нажмите Ok.

  3. В окне свойств услуги, ведите наименование, комментарий и выберите юр.лицо (наименование вашей компании).

  4. Перейдите на вкладку Параметры услуги и укажите стоимость услуги, момент списания оплаты, используемую систему IPTV ⇒ NetUP и выберите нужный медиа-контент или группу контента, к которым нужно предоставить доступ пользователям этой услуги. Если необходимо, заполните другие параметры или оставьте значения по умолчанию. Установив все необходимые параметры, нажмите Ok, чтобы добавить услугу в биллинг.

    Создайте шаблон услуги IPTV, если необходимо включить её в тарифный план.

  5. Перейдите на страницу Пользователи и найдите в списке пользователя, которому хотите подключить услугу IPTV.

  6. Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Лицевые счета.

  7. Если у пользователя несколько лицевых счетов, выберите из списка лицевой счёт, к которому хотите привязать услугу и перейдите на вкладку Настройки IPTV.

  8. Нажмите add напротив Карта доступа IPTV и в поле отобразится номер карты доступа для данного лицевого счёта.

    Код активации карты доступа смотрите на вкладке Тарификация ⇒ Коды активации IPTV

  9. Перейдите Тарификация ⇒ Услуги и нажмите add над списком подключённых пользователю услуг.

  10. Выберите созданную вами услугу IPTV из списка, в открывшемся окне выберите расчётный период и нажмите Ok.

Добавить пул карт оплаты

  1. Перейдите на страницу Основное ⇒ Пулы карт оплаты и нажмите add над списком пулов.

  2. В открывшемся окне заполните необходимые поля:

    Количество карт

    Число генерируемых карт. По умолчанию – 100 (сто).

    Баланс

    Стоимость карты. Обязательное поле.

    Валюта

    Валюта стоимости карты. По умолчанию – рубль (RUR).

    Длина ПИН-кода

    Количество цифр для ПИН-кода карты. По умолчанию – 8 (восемь).
    Для генерации ПИН-кодов предусмотрена опция Уникальные ПИН-коды. Включите её, чтобы гарантировать уникальность ПИН-кодов.

    Случайные номера

    Включите опцию, чтобы генерировать случайные номера (идентификаторы) для карт. По умолчанию – опция отключена, идентификаторы карт идут подряд.

    Активировать до

    Дата и время действия карт. По умолчанию – текущие дата и время. Включите опцию Не установлено, если не хотите ограничивать срок действия карт.

    Дней использования

    Срок истечения платежа, который вносится при активации карты. Если установлено нулевое значение, при активации вносится несгорающий платеж. По умолчанию – 0 (ноль).

    ID тарифа

    Тариф, который будет подключён карточному пользователю после активации карты и регистрации в биллинге.

    Если в тариф, привязанный к карте, входят услуги с периодической составляющей, при регистрации карточного пользователя они будут привязаны к системному периоду (01.01.1970 – 19.01.2038). Поэтому имеет смысл включать в эти тарифы только такие услуги, периодической составляющей стоимости которых можно пренебречь.

    Обязательно укажите Баланс, остальные поля можно оставить со значениями по умолчанию или пустыми.

  3. Нажмите Ok и новый пул появится в общем списке.

Добавить политику списания

Для создания политики списания:

  1. Перейдите на страницу Политики списания в группе страниц Тарификация.

  2. Нажмите кнопку add. Откроется окно параметров политики списания.

  3. Введите наименование политики списания.

  4. В группе опций Пересчет при создании сервисной связки отметьте нужные опции, если требуется, чтобы при создании связки происходил пересчёт соответствующих параметров.

  5. В группе Не списывать при отсутствии блокировки отметьте опцию Абон.плата, если во время блокировки пользователя с его счета должно происходить списание оплаты за какие-либо услуги.

Данное условия работает только в случае, когда для блокировки, которая применяется к абоненту, выбрано условие Пересчитывать абонентскую плату

Пример: к абоненту применена Пользовательская блокировка. Чтобы во время данной блокировки происходило списание абонентской платы необходимо выбрать следующие опции: Не списывать при отсутствии блокировки абон. плату и Пересчитывать абон.плату в группе опций Пересчет при блокировке, на вкладке с настройками для Пользовательской блокировки.

  1. В группе опций Пересчет при блокировке для каждого вида блокировки (Административная, Пользовательская и Системная) выберите необходимые опции:

    • Не списывать абон. плату - пока лицевой счет находится в блокировке

    • Пересчитывать абон. плату - пропорционально времени, проведенному в блокировке в пределах учетного периода

    • Пересчитывать предоплаченный трафик - аналогично абонентской плате, пересчитывать объем предоплаченного трафика

    • Пересчитывать предоплаченные звонки - аналогично абонентской плате, пересчитывать длительность предоплаченных звонков

  2. В группе опций Возврат средств выберите события, при которых должен происходить возврат средств пользователю в случае излишнего списания.

  3. В настройках системной блокировки выберите опцию Устанавливать при недостатке средств.

  4. Нажмите Сохранить. Создание политики списания завершено.

Редактировать пул карт оплаты

  1. Перейдите на страницу Основное ⇒ Пулы карт оплаты и кликните edit напротив одного из пулов, чтобы открыть окно редактирования.

  2. В открывшемся окне есть следующие возможности:

    • нажмите add над списком карт, если хотите добавить карты в выбранный пул;

    • кликните по строке с данными карты и нажмите Заблокировать или Разблокировать, чтобы выполнить соответствующее действие;

    • нажмите add над списком владельцев карт в нижней части окна, если хотите добавить в список системного пользователя, который имеет право производить автоматическую регистрацию пользователей на основании карт из этого пула;

    • кликните add напротив системного пользователя, чтобы удалить его из списка владельцев.

      Разграничение пулов по владельцам актуально при наличии нескольких веб-интерфейсов, работающих от имени разных системных пользователей. Если список владельцев пустой, то автоматическую регистрацию пользователей по картам из этого пула может производить любой системный пользователь.

  3. Нажмите Ok, чтобы сохранить внесённые изменения.