Лицензионное соглашение
Настоящее лицензионное соглашение (далее «соглашение») является юридическим соглашением, заключаемым между Вами (физическим или юридическим лицом, далее «пользователь») и ООО «НетАП» (далее «компания NetUP»), относительно программного продукта компании NetUP «Автоматизированная система расчётов «NetUP 5+», включающего в себя программное обеспечение, любые печатные материалы и любую «встроенную» или «электронную» документацию (далее «продукт»).
-
Объем лицензии
-
Единичный комплект продукта может быть использован для установки только на одном компьютере.
-
Продукт считается используемым, если он загружен в оперативную память или записан на жёстком диске, компакт-диске или ином запоминающем устройстве определённого компьютера.
-
Пользователь имеет право на создание архивной копии, предназначенной исключительно для индивидуального использования в целях восстановления продукта, либо на перенесение продукта на жёсткий диск при условии, что оригинальный экземпляр сохраняется исключительно в качестве резервного или архивного.
-
-
Права пользователя и услуги, обеспеченные гарантийными обязательствами, предоставляются только зарегистрированным пользователям.
-
Настоящая лицензия относится также к дополнениям и обновлениям исходного продукта, предоставляемым компанией NetUP, если иное не указано в документах, сопровождающих дополнение или обновление.
-
Продукт разрешается переносить на другую рабочую станцию. Пользователь не имеет права передавать продукт другому лицу, в том числе предоставлять продукт в прокат, в аренду или во временное пользование.
-
Запрещается любыми способами распространять файлы дистрибутива системы, её частей или лицензионных ключей.
-
Запрещается вскрывать технологию или декомпилировать продукт, за исключением тех случаев и только в той степени, когда это явно разрешено действующим законодательством, несмотря на наличие в лицензионном соглашении данного ограничения.
-
При несоблюдении пользователем положений и условий настоящего соглашения компания вправе прекратить его действие без возврата полученных денежных средств. В этом случае пользователь обязан уничтожить все имеющиеся у него копии продукта и его составных частей. Нарушение норм об охране авторских прав может также повлечь за собой гражданско-правовую, административную и уголовную ответственность в соответствии с законодательством РФ и международными соглашениями.
-
Приобретая данное программное обеспечение, пользователь соглашается с тем, что компания вправе хранить и использовать по своему усмотрению технические сведения, сообщаемые пользователем службе технической поддержки компании.
-
В наибольшей степени, допускаемой применимым законодательством, ни при каких обстоятельствах компания NetUP и её поставщики не несут ответственности за какой-либо особый, случайный, косвенный или опосредованный ущерб или убытки (включая, но не ограничиваясь только перечисленным, упущенную выгоду; утрату конфиденциальной или иной информации; убытки, вызванные перерывами в коммерческой или производственной деятельности; нанесение ущерба здоровью; нарушение неприкосновенности частной жизни; неисполнение любого обязательства, включая обязательство действовать добросовестно и с разумной осмотрительностью; убытки, вызванные небрежностью; любой иной ущерб и прочие убытки имущественного или иного характера), возникающие в связи с использованием или невозможностью использования продукта, оказанием или неоказанием услуг по поддержке или в иных случаях, предусмотренных или связанных с положениями данного лицензионного соглашения, даже в случае нарушения обязательства, возникновения гражданского правонарушения (включая небрежность), объективной (независящей от вины) ответственности за какой-либо ущерб, нарушения компанией NetUP или её поставщиками договорных или гарантийных обязательств, даже если компания или её поставщики были заранее извещены о возможности такого ущерба. Компания NetUP и её поставщики не несут ответственности и не имеют никаких обязательств в случае несанкционированного использования продукта, не предусмотренного настоящим соглашением.
-
Настоящее соглашение вступает в силу с момента установки продукта.
-
Все права собственности, авторские права на продукт и в отношении него принадлежат компании NetUP или её поставщикам. Данный продукт предоставляется в пользование («лицензируется»), а не продаётся.
-
Внедрение и техническая поддержка продукта осуществляются компанией на основании отдельно заключаемого договора с пользователем.
-
Срок действия лицензии устанавливается равным сроку полезного использования продукта согласно ТУ и составляет 9 лет с момента генерации ключа.
Сертификация
Федеральное агентство связи (РОССВЯЗЬ) зарегистрировало сертификат на биллинговую систему NetUP 5+. Это подтверждает, что автоматизированная система расчетов NetUP 5+ соответствует всем современным требованиям и может применяться в сетях связи общего пользования ёмкостью до 250 тысяч абонентов.
Сертификат соответствия № ОС-4-СТ-0748 на АСР "NetUP UTM 5", версия ПО 5.5 (16.09.2021 - 16.09.2024)
Нажмите, чтобы посмотреть сертификат

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

Подробная структура биллинга описана в соответствующем разделе и доступна для пользователей, которые отвечают за администрирование системы.
Базовые объекты
Классы пользователей
В биллинге пользователи делятся на следующие классы:
Системные пользователи |
Имеют доступ к администрированию биллинговой системы. Обычный пользователь не может одновременно являться системным, и наоборот. |
Дилеры |
Могут выполнять отдельные функции администратора по отношению к пользователям, с которыми связаны. Например, назначать услуги и вносить платежи. |
Пользователи |
Клиенты, абоненты, потребители услуг, оплату которых контролирует биллинговая система NetUP 5+. В биллинге можно создавать группы и объединять в них пользователей. |
Карточные пользователи |
Разновидность пользователей со специальными свойствами. Такие пользователи создаются в биллинге автоматически в результате активации предоплаченной карты. |
Лицевой счёт
У каждого пользователя в системе может быть один или несколько лицевых счетов.
Лицевой счёт – это объект системы, содержащий информацию о финансовом состоянии пользователя. Все услуги, которые предоставляются пользователю, как отдельные, так и в составе тарифного плана, привязываются к его лицевому счёту посредством сервисных и тарифных связок.
Абоненту доступна возможность перемещать средства между своими лицевыми счетами из личного кабинета. Для активации данной функции необходимо зайти в Настройки, далее Личный кабинет - Движение средств. Здесь необходимо активировать функцию для нужной вам группы абонентов. Теперь кнопка "Перевести средства" будет появляться в личном кабинете абонентов при условии, что есть более чем один привязанный лицевой счёт.
Лицевой счёт может быть заблокирован, что приводит к приостановке предоставления связанных с ним услуг. В NetUP 5++ предусмотрено три типа блокировок:
-
Административная – активируется администратором, если необходимо заблокировать лицевой счёт пользователя вручную.
-
Пользовательская – активируется пользователем в Личном кабинете, например, если пользователь не планирует в течение некоторого времени пользоваться доступом в Интернет и не желает, чтобы абонентская плата за этот период списывалась в полном объёме.
-
Системная – вступает в силу автоматически, когда сумма баланса и кредита лицевого счёта становится отрицательной или когда на лицевом счёте недостаточно средств для списания периодической составляющей стоимости услуг, а также при превышении квоты.
В настройках Политики списания можно установить дополнительные параметры для каждого типа блокировки. Например, пересчитывать абонентскую плату при активации блокировки.
В случае блокировки лицевого счёта пользователя параметр Интернет автоматически меняет своё значение на Выключен, но после снятия блокировки меняет значение на Включён, только если выбрана опция Автоматически включать. |

Услуги
Услуга – это объект системы, определяющий правила тарификации.
Для подключения услуг к лицевому счёту пользователя используются сервисные связки. Сервисные связки можно создавать по одной или группами в составе тарифного плана.
В биллинге услуги подразделяются на два вида и восемь типов.
Виды услуг:
Обычная услуга | создаётся без участия шаблонов и не входит в состав тарифного плана, а также может быть подключена неограниченное количество раз. Например, разовая услуга “Выезд настройщика”. |
---|---|
Услуга, входящая в состав тарифного плана |
создаётся на основании шаблона и может использоваться только в составе тарифного плана. Данный вид услуги отличается от обычной наличием следующих опций:
В процессе добавления услуги в тарифный план, параметры услуги можно менять. Любые изменения настроек применяются только к добавляемой услуге и не затрагивают сам шаблон. |
Типы услуг:
Разовая услуга |
предназначена для единовременных списаний денежных средств с лицевого счета абонента. |
Периодическая услуга |
предназначена для периодических списаний с лицевого счёта абонента. |
Услуга передачи |
предназначена для тарификации трафика. |
Услуга hotspot |
предназначена для организации беспроводного доступа по Wi-Fi с тарификацией по времени и авторизацией пользователей по протоколу RADIUS или через стандартный веб-интерфейс системы. |
Услуга dial-up |
предназначена для организации коммутируемого доступа с тарификацией по времени. |
Услуга телефонии |
предназначена для тарификации телефонных звонков. |
Услуга IPTV |
предназначена для предоставления и тарификации услуг IP-телевидения. |
Услуга видео по запросу |
предназначена для предоставления и тарификации услуг видео по запросу (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, в состав которого входит услуга Б. Для того, чтобы произошёл корректный перенос всех параметров подключённой услуги А, необходимо, чтобы обе услуги, А и Б, происходили от общего шаблона.
Несовместимые тарифные планы также можно переключать, но услуги, которых нет в тарифном плане следующего учётного периода, будут удалены.
Политики списания
Политика списания – это набор правил, которые применяются при списании средств со счёта пользователя в тех случаях, когда по какой-то причине пользователь не смог получить услуги в полном объёме.
Например, Вы подключили пользователю услугу не в начале расчётного периода, соответственно, услуга будет оказываться только в течение оставшейся части, или пользователь добровольно ушёл в блокировку, потому что не планирует пользоваться услугами какое-то время.
В подобных ситуациях политика списания даёт возможность пересчитать стоимость услуг и списать меньшее количество средств, либо вернуть часть средств, если списание уже произошло. Пересчёт средств происходит пропорционально части расчётного периода, в течение которой услуга оказывалась или будет оказываться по факту.
Сумма средств, списываемых со счёта за оказание услуги, определяется не только стоимостью, указанной при создании услуги, но и свойствами сервисной связки. |
Помимо пересчёта стоимости, политика списания позволяет пересчитывать объём оказываемых услуг. Например, для услуги предоставления доступа в интернет, есть возможность, помимо абонентской платы, также пересчитать объём предоплаченного трафика, а для услуги телефонии – продолжительность предоплаченных звонков.
Пересчёт периодической составляющей стоимости услуги и возврат средств подчиняется следующим правилам:
Дата и время начала действия сервисной связки могут не совпадать с текущими датой и временем, а быть установлены в прошлом или в будущем. В том случае, если эти дата и время установлены в прошлом, для пересчёта используются текущие дата и время.
Т.е. пересчитанная стоимость = (стоимость всего расчётного периода) × l1/L, если дата и время начала действия сервисной связки установлены в будущем.
И пересчитанная стоимость = (стоимость всего расчётного периода) × l2/L, если дата и время начала действия сервисной связки установлены в прошлом, либо совпадают с текущими датой и временем.
По такой же логике может быть пересчитан объем предоплаченного трафика и продолжительность предоплаченных звонков.
Кроме того, в настройках политики списания можно указать момент, когда необходимо производить возврат средств:
-
при снятии блокировки;
-
при внесении платежа;
-
в конце расчётного периода;
-
при удалении сервисной связки.
Необходимость вернуть средства пользователю может возникнуть, например, если пользовательская блокировка была включена в тот момент, когда расчётный период ещё не закончился, а средства за оказание услуг в течение этого расчётного периода уже были списаны в полном объёме.
В NetUP 5+ предусмотрено три типа блокировок:
-
Административная – активируется администратором, если необходимо заблокировать лицевой счёт пользователя вручную.
-
Пользовательская – активируется пользователем в Личном кабинете, например, если пользователь не планирует в течение некоторого времени пользоваться доступом в Интернет и не желает, чтобы абонентская плата за этот период списывалась в полном объёме.
-
Системная – вступает в силу автоматически, когда сумма баланса и кредита лицевого счёта становится отрицательной или когда на лицевом счёте недостаточно средств для списания периодической составляющей стоимости услуг, а также при превышении квоты.
Для каждого вида блокировки политика списания даёт возможность настроить следующие параметры:
-
не списывать абонентскую плату, когда счёт находится в блокировке;
-
пересчитывать абонентскую плату при блокировке счёта;
-
пересчитывать предоплаченный трафик при блокировке счёта;
-
пересчитывать предоплаченные звонки при блокировке счёта.
При всех операциях пересчёта абонентская плата, объём предоплаченного трафика и продолжительность предоплаченных звонков уменьшаются пропорционально времени, проведённому в блокировке в данном расчётном периоде. Т. е. в случае блокировки счёта в одном расчётном периоде и её снятия в другом, пересчёт произойдёт 2 раза.
Списание периодической составляющей стоимости для нескольких услуг происходит в произвольном порядке. Если после очередного списания лицевой счёт блокируется системной блокировкой, то списания по оставшимся услугам происходят согласно настройкам политик списания при системной блокировке.
Периодическая составляющая стоимости услуги может быть скорректирована в свойствах сервисной связки. |
Платежи
В биллинге предусмотрены несколько способов ввода платежей:
-
автоматический перевод платежей на лицевой счёт абонента при оплате абонентом услуг через электронные платёжные системы;
-
автоматический перевод платежей на лицевой счёт абонента из стороннего программного обеспечения с помощью утилиты utm5_payment_tool;
-
ручной ввод платежа администратором через форму "Внести платёж" в интерфейсе NetUP 5+.
Для разделения платежей по типам в биллинге используются методы платежей.
Методы объединены в соответствующий справочник и по умолчанию в него включены: оплата наличными, банковский перевод, оплата через карту, кредит. Вы можете добавить в справочник дополнительные методы.
Оплата наличными |
для платежей, поступающих через утилиту utm5_payment_tool |
Банковский перевод |
для платежей, поступающих через электронные платёжные системы |
Кредит |
для Обещанных платежей, которые пользователи оформляют самостоятельно в личном кабинете |
Обещанные платежи доступны пользователям, если в биллинге настроены свойства обещанных платежей. |
Суммы платежей типа Кредит отображаются в отдельной колонке на странице лицевого счёта пользователя. Для таких платежей обязательным параметром является дата истечения платежа, при наступлении которой платёж аннулируется (сгорает).
Сумма кредита не добавляется к общему балансу пользователя, но позволяет не блокировать его лицевой счёт до наступления даты истечения платежа, при условии, что кредит и баланс пользователя в сумме дают положительный баланс. |
Например, есть пользователь с отрицательным балансом -100 рублей. Администратор выдал этому пользователю кредит в сумме 200 рублей сроком на 3 дня. В таком случае, у пользователя есть 3 дня, чтобы пополнить свой баланс, в течении которых он не попадёт в блокировку, а сможет пользоваться всеми уже оплаченными услугами и даже подключить какие-то новые услуги на сумму 100 рублей. Если сумма услуг превысит 100 рублей, лицевой счёт пользователя будет заблокирован, пока его баланс не станет положительным или пока ему не предоставят новый кредит. Если пользователь в течении кредитного периода подключает услуги, то стоимость услуг списывается с баланса. Таким образом, пользователь в итоге оплатит сумму за все услуги, но не сумму кредита.
Администратор NetUP 5+ может вручную изменить баланс кредитного счёта при редактировании лицевого счёта пользователя, но не может изменить дату истечения выданного кредита. |
В том числе в биллинге возможны платежи, которые предполагают временное пополнение баланса лицевого счёта пользователя – сгорающие платежи. Для них также обязательна дата истечения платежа, но могут использоваться все методы, кроме Кредит.
Сгорающие платежи суммируются с балансом пользователя и отображаются на лицевом счёте до наступления даты истечения платежа. Если сумма списаний за установленный период окажется меньше суммы сгорающего платежа, то при наступлении даты истечения неистраченный остаток платежа всё равно будет списан со счёта клиента.
Если до времени истечения поступят другие сгорающие платежи, то сгорание всех откладывается до самой поздней даты истечения.
Для отслеживания сгорающих платежей в интерфейсе биллинга предусмотрен отдельный отчёт.
В системе NetUP 5+ реализована функция отката платежа. Операция отката платежа может быть выполнена администратором NetUP 5+ через контекстное меню в отчёте по платежам.
Формально откат происходит через внесение платежа с противоположной суммой и со специальным методом платежа – Откат.
Процедура отката неприменима к сгорающим и кредитным платежам. |
Карты оплаты
Система поддерживает работу с картами оплаты, которые могут быть активированы пользователями в веб-интерфейсе. Карты могут иметь ограниченную дату использования или ограниченный срок действия, а также к ним можно привязать тарифный план.
Если карта активирована для входа в систему, в биллинге будет создан карточный пользователь с балансом, равным балансу карты. Этот пользователь получит логин вида card_NUM, где вместо card указывается префикс логина карточных пользователей, а вместо NUM – номер карты.
Если к карте оплаты привязан тарифный план, тогда к основному лицевому счёту пользователя подключатся услуги из этого тарифного плана. Если задан срок действия карты, то её баланс поступает на счёт пользователя в виде сгорающего платежа с данным сроком действия.
Если карту активирует существующий пользователь, то баланс карты будет добавлен к балансу этого пользователя, а связанный с картой тарифный план будет проигнорирован.
Документы
В биллинге можно формировать следующие типы документов:
-
памятки пользователя;
-
договоры;
-
квитанции об оплате;
-
счета;
-
счета-фактуры;
-
акты выполненных работ;
-
детализации счетов.
Документы генерируются автоматически на основе шаблонов.
Сформированные документы, кроме договоров, в системе не хранятся, а генерируются непосредственно перед использованием.
Пользовательские договоры могут быть сформированы на основе шаблона или загружены из файла. Каждый сформированный или загруженный договор сохраняется в анкете пользователя на странице Документы.
Счета можно выставлять вручную и автоматически. При ручном выставлении счёта баланс пользователя не изменяется.
Счета за разовые услуги выставляются сразу после подключения этих услуг. Счета за периодические услуги и периодическую составляющую стоимости специализированных услуг выставляются пользователю в начале расчётного периода, если в свойствах услуги указан метод снятия средств "В начале расчётного периода" и у соответствующего лицевого счёта пользователя установлен параметр "Работа по предоплате". В противном случае – в конце периода.
При автоматическом выставлении счетов, позиции в них формируются по тарифным связкам и расчётным периодам, за исключением услуг телефонии, которые выделяются в отдельный счёт. Новые услуги, подключённые в течение текущего периода, не учитываются при формировании счёта, если у лицевого счёта установлен параметр "Работа по предоплате".
Выставленные счета генерируются из шаблонов непосредственно перед использованием и могут быть отредактированы для печати, но без сохранения изменений.
Счета с отрицательной ставкой НДС в системе не отображаются.
Описание системы
Подробная структура биллинга

Ядро – это основной модуль, который отвечает за работу с базой данных, обеспечивает доступ к ней и обрабатывает входящую информацию согласно внутренним правилам (таким как тарификация, периодические списания). При высоких нагрузках структура ядра позволяет равномерно использовать все предоставленные ресурсы.
Ядро может взаимодействовать с различными маршрутизаторами и поставщиками информации о трафике, а также работать по протоколу 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, который в биллинге отвечает за учёт и тарификацию услуг беспроводного доступа.
Подробнее о всех модулях и возможностях биллинга Вы можете узнать у менеджеров нашей компании, которые помогут разобраться, какие модули необходимо подключить для выполнения Ваших задач.
Установка и запуск
Получение лицензионного ключа
-
Оплатите лицензию.
-
Войдите в личный кабинет на нашем сайте — my.netup.tv. Перейдите в раздел Лицензионные ключи, заполните форму Добавления лицензии и нажмите Применить.
-
После обработки Вашего запроса появится ключ с параметрами согласно условиям оплаченной лицензии. Затем загрузите ключ – файл reg.sql.
Используйте этот ключ, чтобы активировать биллинг. Без активации Вам будет доступна только демо-версия с ограничением на 10 абонентов.
По истечении срока действия лицензии ядро NetUP 5+ перестанет запускаться. |
Требования к ПО
Операционная система |
64-разрядная: |
Сервер баз данных |
В качестве СУБД необходимо использовать MariaDB. |
Локальное время сервера |
Должно соответствовать текущей дате, в противном случае система может работать некорректно. |
На сервере необходимо предусмотреть дисковое пространство для log-файлов и файлов с первичными данными о трафике, размер которых зависит от нагрузки на систему и может достигать значительных величин. |
Порядок установки
Шаг 1. Установите пакет NetUP 5+
Debian |
Выполните команду: |
CentOS 7 / 8 |
Выполните команду: |
В результате будет создана директория /netup, содержащая основные рабочие файлы, файлы конфигурации, директорию для log-файлов, a также скопированы следующие скрипты запуска:
|
Шаг 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+, если это необходимо. |
Выполните следующие шаги, если вы приобрели лицензию 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. |
Ядро биллинга
Ядро – это отдельный многопоточный процесс, работающий в пользовательском режиме.
Настроить работу ядра можно с помощью конфигурационного файла и веб-интерфейса администратора.
Параметры из конфигурационного файла используются при инициализации ядра и компонентов системы, соответственно, изменения параметров вступают в силу при следующем запуске ядра.
Параметры, которые можно настроить в веб-интерфейсе, определяют поведение ядра и его компонентов после запуска. Вы можете менять значения данных параметров в любой момент работы ядра и изменения вступят в силу с момента их внесения.
Основные компоненты ядра

Обработчик запросов 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
В командной строке можно передавать следующие параметры:
|
Путь к pid-файлу |
|
Путь к конфигурационному файлу |
|
Вывод информации о полном номере сборки, времени сборки и допустимых параметрах командной строки |
Существуют три способа запуска utm5_core:
-
Непосредственный запуск бинарного файла
/netup/utm5/bin/utm5_core
с необходимыми параметрами. -
Запуск с помощью скрипта watchdog с указанием параметра start
/netup/utm5/bin/safe_utm5_core start
Скрипт автоматически перезапустит utm5_core, если он по каким либо причинам некорректно завершит работу. -
Запуск с помощью скрипта автоматического запуска (рекомендуемый способ)
/etc/init.d/utm5_core start
Для остановки utm5_core и скрипта watchdog следует выполнить следующую команду
/etc/init.d/utm5_core stop
Конфигурационный файл
По умолчанию ядро NetUP 5+ использует конфигурационный файл /netup/utm5/utm5.cfg
Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #
, считается комментарием.
Параметры, связанные с базой данных
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
mysql |
обязательный параметр |
Тип базы данных |
|
строка |
обязательный параметр |
Название базы данных |
|
строка |
localhost |
Адрес хоста, на котором находится база данных |
|
строка |
логин текущего пользователя |
Логин для доступа к базе данных |
|
строка |
пустая строка |
Пароль для доступа к базе данных |
|
строка |
/tmp/mysql.sock |
Путь к unix-сокету. |
|
строка |
3306 |
Номер порта для доступа к базе данных |
|
число |
6 |
Количество соединений с базой данных, которые ядро открывает для пользовательских операций |
|
число |
4 |
Количество соединений с базой данных, которые ядро открывает для системных операций |
|
натуральное число |
5 |
Количество попыток соединения с базой данных, если соединение не было установлено, или количество попыток выполнения SQL-запроса, если его выполнение закончилось неудачно |
|
натуральное число |
2 |
Задержка в секундах перед повторной попыткой соединения с базой данных или перед повторным выполнением SQL-запроса |
|
кодировка |
utf8 |
Кодировка соединения с базой данных |
|
enable, disable |
enable |
Верификация базы данных перед запуском ядра NetUP 5+ |
|
enable, disable |
disable |
Если включена верификация базы данных перед запуском, также верифицировать архивные таблицы |
|
enable, disable |
disable |
Верификация индексов перед запуском ядра NetUP 5+ |
Параметры, связанные c URFA-сервером
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес интерфейса или 0.0.0.0 |
сервер отключён |
IP-адрес, на котором будет прослушиваться порт для приёма URFA-запросов |
|
число от 1 до 65534 |
11758 |
Порт, который будет прослушиваться URFA-сервером |
Параметры, связанные со Stream-сервером
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приема Stream-запросов |
|
число |
12758 |
Порт, который будет прослушиваться Stream-сервером |
Параметры, связанные с NXT-серверами
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приёма запросов NXT v.1 |
|
число |
11777 |
Порт, который будет прослушиваться сервером NXT v.1 |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приема запросов NXT v.2 |
|
число |
11778 |
Порт, который будет прослушиваться сервером NXT v.2 |
|
IP-адрес |
не задан |
IP-адрес NetUP IPTV cluster core |
|
число |
50500 |
Порт, который будет прослушивать IPTV cluster core в ожидании соединения |
Параметры буфера NetFlow
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
строка |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться UDP-порт для приёма потока NetFlow |
|
строка |
9997 |
Порт, на котором ядро принимает поток NetFlow |
|
натуральное число |
устанавливается ОС |
Размер буфера UDP-сокета, используемого для приёма потока NetFlow |
Параметры, связанные с подсчетом трафика
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
путь к файлу |
/netup/utm5/db/traffic.dat |
Файл для хранения информации о трафике при остановке ядра NetUP 5+ |
Параметры генерации документов
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
путь к директории |
/netup/utm5/doc |
Директория для хранения *.odt файлов |
|
путь к директории |
/tmp |
Папка для хранения временных файлов |
|
путь к файлу |
/usr/bin/libreoffice |
Путь к исполняемому файлу LibreOffice |
|
целое число в байтах |
1 000 000 |
Максимальный размер загружаемого шаблона документа / договора |
Параметры журналирования
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
число |
1 |
Определяет уровень сообщений, записываемых в основной поток сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл основного потока сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений с диагностической и отладочной информацией |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений о критических ошибках |
|
путь к файлу |
/netup/utm5/log/ve-rificator.sql |
Файл сообщений верификатора базы данных |
|
строка |
не задано |
Префикс, добавляемый к записям при включённой опции записи в системный журнал (syslog) |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
число |
не ограничено |
Максимальное количество хранимых log-файлов |
|
размер в байтах |
10485760 |
Размер log-файла, при достижении которого производится ротация |
|
путь к файлу |
/var/run/utm5_core.pid |
PID-файл |
Параметры, связанные с размером стека
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
размер в байтах (не менее 65536) |
8388608 |
Размер стека нити, отвечающей за бизнес-логику |
|
размер в байтах (не менее 65536) |
не задано |
Размер стека нити URFA-сервера |
Параметры, связанные со специальной лицензией
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
путь к файлу |
/netup/utm5/ cert.crt |
Файл сертификата |
|
путь к файлу |
/netup/utm5/ privkey.pem |
Файл приватного ключа |
|
строка |
пустая строка |
Пароль приватного ключа |
Модули
Динамическое шейпирование
Модуль Dynashape предназначен для регулирования пропускной способности канала (шейпинга) в зависимости от времени и от объёма трафика, потреблённого пользователем. Ядро биллинговой системы формирует правила в соответствии с заданными параметрами шейпинга и передаёт их на исполнение. Реализация исполняемых файлов управления программными шейперами для конкретной сетевой конфигурации возлагается на системного администратора.
Схема
Шейпинг может быть настроен отдельно для каждой услуги передачи IP-трафика. Настройки шейпинга включают в себя набор ограничений пропускной способности и параметры, определяющие условия применения того или иного ограничения.
Настроить шейпинг для услуги:
-
Выберите услугу и задайте основные параметры шейпинга, в том числе:
-
типы IP-групп, к которым будет применяться шейпинг (VPN или не VPN);
-
временные диапазоны действия шейпинга;
-
границы потребления трафика, при превышении которых будут последовательно налагаться ограничения;
-
значения пропускной способности для каждого временного диапазона и для каждого уровня потребления трафика;
-
классы трафика, к которым будет применяться шейпинг.
-
-
В случае шейпинга с помощью RADIUS-атрибутов – на той же странице задайте RADIUS-атрибуты, устанавливающие пропускную способность. Динамическое изменение атрибутов в зависимости от потреблённого трафика обеспечивается использованием переменных, выбираемых из списка (см. Параметры RADIUS).
-
Назначьте правила 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 – заданная пропускная способность) |
---|---|---|
|
Пропускная способность входящего канала [бит/с] |
W*1024 |
|
Пропускная способность входящего канала [Кбит/с] |
W |
|
Пропускная способность входящего канала [Мбит/с] |
W/1024 |
|
Пропускная способность исходящего канала [бит/с] |
W*1024 |
|
Пропускная способность исходящего канала [Кбит/с] |
W |
|
Пропускная способность исходящего канала [Мбит/с] |
W/1024 |
|
Размер всплеска (burst) для входящего потока в байтах |
1.5*(W*1024)/8 |
|
Расширенный размер всплеска для входящего потока в байтах |
1.5*2(W*1024)/8 |
|
Размер всплеска для исходящего потока в байтах |
1.5*(W*1024)/8 |
|
Расширенный размер всплеска для исходящего потока в байтах |
1.5*2*(W*1024)/8 |
Турбо-режим
В настройках Динамического шейпирования конкретной услуги доступна вкладка Турбо-режим
. Здесь можно задать условия данного режима, т. е. временного изменения параметров доступа в Интернет: ограничение пропускной способности (или его отсутствие) входящего и исходящего каналов во время действия турбо-режима, длительность действия (строго по времени или по достижении определённого значения входящего/исходящего трафика), и разовую услугу, применяемую в качестве оплаты за включение. Пользователь может включить турбо-режим самостоятельно в Web-интерфейсе личного кабинета.
Если в свойствах турбо-режима выбрана опция Объем трафика и заданы лимиты трафика для входящего и исходящего каналов, то турбо-режим будет отключен только после того, как будут израсходованы оба лимита. |
Телефония
Данный модуль предназначен для обработки запросов на авторизацию и учёт потребленных услуг от голосовых шлюзов, гейткиперов (gatekeepers), голосовых прокси-серверов. Поддерживается как классическая, так и IP-телефония. Учёт данных происходит либо на основе запросов NetUP 5+ RADIUS (см. Сервисы ⇒ RADIUS), либо на основе CDR-файлов посредством вспомогательной утилиты utm5_send_cdr (см. Утилиты ⇒ Импорт текстовых файлов).
Термин | Пояснение |
---|---|
IP-телефония, |
Передача речи по сетям с использованием протокола IP |
ТфОП, |
Телефонная сеть общего пользования. В это понятие включены городские и национальные сети обычной телефонии |
АОН, |
Номер вызывающего абонента или услуга определения номера вызывающего абонента |
Шлюз IP-телефонии |
Устройство, имеющее порт для подключения к сети на базе протокола 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 привратник |
Привратник отвечает за регистрацию оконечного оборудования (шлюзов, клиентских устройств), контроль прав доступа, номерной план. Практически все привратники имеют возможность проводить авторизацию и передачу статистики по состоявшимся звонкам по протоколу RADIUS |
Кодеки |
Алгоритмы сжатия звука на передающей стороне и декодирования на принимающей стороне. Используются для минимизации трафика, поэтому кодеки в основном характеризуются полосой пропускания, необходимой для передачи речи с использованием этого кодека. При передаче голоса без сжатия потребуется полоса пропускания в 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.
Схема организации сети

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

В схеме с участием привратника 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 по следующей модели:
-
Абонент ТфОП набирает городской номер доступа оператора IP-телефонии. При этом трубку поднимает шлюз IP-телефонии (например, Cisco 3640 с платой E1), подключённый к этой линии.
-
Шлюз загружает звуковой файл (обычно *.au ) с записанным приглашением и проигрывает его абоненту. При этом обычно предлагается ввести номер и пин-код предоплаченной телефонной карты.
-
После ввода определённого количества цифр производится авторизация с введёнными данными на сервере RADIUS. При этом номер карты обычно записывается в атрибут
User-Name (1)
, а пин-код – в атрибутPassword (2)
. -
В случае успешной авторизации сервер RADIUS присылает пакет
Access-Accept
, в котором указывает количество оставшихся средств на счёте. Для этого используются атрибутыh323-credit-amount
иh323-currency с vendor=9 (Cisco)
. Шлюз IP-телефонии загружает соответствующие голосовые файлы, проигрывает абоненту остаток средств на счёте и предлагает ввести номер, по которому необходимо выполнить вызов. Следует заметить, что в основном IP-телефония выгодна для звонков на большие расстояния (междугородние и международные звонки). -
После ввода номера производится повторная авторизация на сервере 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 – пользователь заблокирован.
-
-
После получения положительного ответа от сервера RADIUS шлюз IP-телефонии устанавливает соединение с вызываемым абонентом. Соединение будет разорвано, если длительность сессии составит количество секунд, вычисленное на предыдущем шаге.
-
При установлении соединения на сервер 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-сервера должны появиться следующие записи:
|
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-сессия, а после отключения клиента - сессия закрывается.
Порядок настройки:
-
Выполнить подключение к MikroTik с доступом к файловой системе (например, ftp или winbox). Сделать дубликат папки стандартного хотспота
hotspot
, название папки задатьutm5_hotspot
или любое другое. -
Подготовить страницу авторизации и прописать необходимый домен в файле login.html из архива с шаблоном. Стандартно в примере прописан домен
customer.portal/
, замену нужно выполнить везде. Далее добавить все файлы шаблона в созданную папкуutm5_hotspot
. -
Настройки MikroTik выполнить согласно документации со следующими параметрами:
Нажмите, чтобы посмотреть скриншоты настроек в MikroTik






Логика авторизации HotSpot-абонента в интеграции с MikroTik:
-
Абонент попадает на страницу авторизации, указывает номер телефона, выбирает тариф и нажимает кнопку регистрации.
-
Абонент попадает на
customer_portal
со статусом "в процессе регистрации". В этот момент происходит отправка ему SMS через шлюз со сгенерированным паролем. -
Абонент вводит свой номер телефона и пароль из СМС.
-
В
customer_portal
абонент переходит в статус "авторизован", в ядро 5+ отправляется запрос на создание нового абонента с логином в виде его номера телефона и паролем из смс, применяется выбранный при входе тариф. -
customer_portal
сигнализируют об успешности регистрации, далее происходит авторизация через Raduis-сервер NetUP. Если на этом этапе не настроек профиль ISG, то абонент не получит доступ в интернет из-за нулевого баланса.
Нажмите, чтобы посмотреть пример настройки со стороны 5+
-
Необходимо создать тарифных план с услугой HotSpot.
-
В настройках
Личный кабинет
⇒Captive Portal
добавить созданный тарифный план в список доступных для абонентов. -
В настройках
ISG
необходимо настроить профиль, который позволит октрывать абоненту HotSpot-сессию при первичном подключении с нулевым балансом.

-
Добавить MikroTik в список NAS

-
В случае успешной настройки будет подниматься 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,...
Порядок настройки:
-
В веб-интерфейсе NetUP 5+ откройте: Настройки ⇒ Системные ⇒ Основное ⇒ Смотрёшка. В поле Адрес хоста сервиса Смотрёшка введите полученный URL агента, и введите префикс (обязательно!) для идентификации пользователей в общей базе Смотрёшки. Нажмите Сохранить.
-
Откройте Тарификация ⇒ Шаблоны услуг и нажмите Добавить ⇒ Услуга IPTV. В разделе Основное задайте наименование услуги (например, Смотрёшка IPTV) и выберете нужные дополнительные параметры.
-
Перейдите в раздел Параметры услуги. В поле Используемая система IPTV выберите Lifestream. Нажмите Сохранить. Услуга Смотрёшка IPTV будет добавлена в список шаблонов.
-
Далее необходимо создать тарифный план с услугой Смотрёшка IPTV. При добавлении услуги в тарифный план: если не требуется автоматическое подключение услуги пользователю при создании тарифной связки, снимите галочку Подключать по умолчанию. В разделе Параметры услуги введите в поле Пользовательские данные ID пакета ТВ-каналов. Задайте периодическую составляющую стоимости. Нажмите Сохранить. Услуга будет добавлена в тарифный план.
-
Перед подключением тарифа пользователю необходимо в его карточке, в разделе Дополнительные параметры, указать в поле 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+), так и администратором из веб-интерфейса управления.
Порядок настройки:
-
В веб-интерфейсе NetUP 5+ откройте:
Настройки
⇒Личный кабинет
⇒24TV
-
На вкладке
параметры
заполните авторизационные данные, полученные от сервиса 24часаТВ, а также активируйте параметрEnable 24TV in customer portal
. Данная опция активирует модуль и отображает в личном кабинете абонентов дополнительный блок с информацией о подписке. Помимо использования API-ключа применяется обязательная базовая авторизация. Её настройка согласуется с представителями сервиса 24часаТВ. -
Далее необходимо создать стандартную услугу IPTV. Для этого зайдите в
Услуги
⇒Добавить
⇒Услуга IPTV
. В параметрах услуги выберете тип24часаТВ
и выберете пакет, для которого создаётся услуга. Пакеты сами загружаются из базы 24часаТВ. Заполните вкладку основных параметров и сохраните изменения. -
Теперь абоненты могут регистрироваться сами через приложения или быть добавленными администратором.
Регистрация абонентов администратором NetUP 5+:
-
В карточку абонента NetUP 5+ необходимо обязательно добавлять номер мобильного телефона и ФИО, для которых в последствии осуществляется регистрация.
-
Услуги IPTV для 24часаТВ должны быть заранее созданы.
-
Выполните регистрацию абонента в базе 24часаТВ. Сделать это можно во вкладке
Настройки
⇒Личный кабинет
⇒24TV
⇒ Абоненты ⇒Добавить
. ФИО и телефон подгружаются из карточки абонента автоматически, но вы можете подправить их вручную. -
Зайдите в карточку абонента и добавьте ему созданную услугу 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
Включение данного модуля позволяет абонентам накапливать бонусные баллы. Для их учёта у каждого абонента имеется один дополнительный бонусный счёт, состояние которого отражается в карточке абонента. Бонусный счёт всегда один вне зависимости от числа лицевых счетов.
Бонусы доступны для использования только при самостоятельном подключении тарифов и услуг абонентом через ЛК. |
Начисление бонусов происходит автоматически по следующим событиям:
-
Процент от внесённого платежа
-
Процент от списания за услугу
Ручное начисление бонусов администратором на текущий момент недоступно (опция появится в ближайших апдейтах).
Включение бонусной системы:
-
Настройки
⇒Системные
⇒Основное
⇒Бонусы
. Активировать пунктвключить бонусы
и выставить желаемые коэффициенты для системы начисления и списания. -
Настроить разрешения для самостоятельного подключения услуг абонентом через ЛК:
Настройки
⇒Личный кабинет
⇒Тарифы и услуги
. При добавлении разрешения для тарифа или услуги поставить галочкуБонусы активны
.
После включения функции в личном кабинете абонентов появится строка количества бонусов, но отображается она только при условии, что бонусов больше нуля. Бонусы начисляются и в случае добавления платежей через панель администратора.
Серверы
RADIUS
Сервер 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
.
Если 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-пакет выглядит следующим образом:
-
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-атрибут выглядит следующим образом:
-
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)
, предназначенный для передачи расширенных атрибутов, назначение которых определяется различными организациями.
Данные, передаваемые в этом атрибуте, интерпретируются следующим образом:
-
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 используются, если баланс лицевого счета пользователя становится отрицательным. Для идентификации сессии в запросе могут присутствовать следующие атрибуты:
|
имя пользователя, ассоциированного с одной или более сессиями |
|
порт, используемый сессией, которую нужно разорвать |
|
IPv4 адрес, ассоциированный с сессией |
|
один или более vendor-specific атрибутов |
|
идентификатор вызываемой стороны |
|
идентификатор вызывающей стороны |
|
идентификатор сессиb на NAS |
Если NAS удаётся идентифицировать и разорвать сессию, он отвечает на запрос Disconnect-ACK
, в противном случае – Disconnect-NAK
.
Запросы CoA используются для изменения параметров шейпинга (регулирования пропускной способности канала) для текущей сессии. Как правило, эти параметры меняются в определённое время суток или по достижении определённого лимита трафика.
Если NAS поддерживает запросы CoA и в интерфейсе администратора, в настройках NAS, выбрана соответствующая опция, то при наступлении любого из двух этих событий сервер RADIUS отправит NAS соответствующий запрос CoA.
Аналогично запросу DM, запрос CoA содержит атрибуты, позволяющие идентифицировать сессию, а также новые значения параметров RADIUS, которые необходимо применить. Если NAS удаётся идентифицировать сессию и применить новые параметры, он отвечает на запрос CoA-ACK
, в противном случае –CoA-NAK
.
Схема работы сервера RADIUS
-
Соединение с ядром биллинга.
-
Получение от ядра информации о необходимых событиях.
-
Взаимодействие с NAS.
-
Передача ядру биллинга данных о взаимодействии.
При запуске 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
, содержащий следующие атрибуты:
|
передаётся значение 2 |
|
передаётся значение 0xFFFF FFFF |
|
передаётся значение 0 |
|
передаётся значение 1 |
|
передаётся первый свободный IP-адрес для данной IP-группы. IP-адрес помечается как занятый на время, указанное в значении параметра |
|
передаётся значение параметра |
Для сервисной связки услуги коммутируемого доступа:
-
Если параметр
Разрешён 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-пула, передаются следующие атрибуты:
|
передаётся значение 2 |
|
передаётся значение 0xFFFF FFFF |
|
передаётся значение 0 |
|
передаётся значение 1 |
|
передаётся свободный IP-адрес для данной IP-группы; IP-адрес помечается как занятый на время, указанное в значении параметра |
|
передаётся максимальное время текущей сессии |
Если в свойствах услуги коммутируемого доступа в качестве параметра Название пула
установлено имя незарегистрированного в системе IP-пула, передаются следующие атрибуты:
|
передаётся значение 2 |
|
передаётся значение 1500 |
|
передаётся значение 0 |
|
передаётся значение 1 |
|
передаётся максимальное время сессии |
|
передаётся значение |
Кроме того, если на этапе авторизации был выделен ненулевой Callback_prefix
, в ответ добавляются следующие атрибуты:
|
передаётся значение callback number, если в конфигурационном файле RADIUS-сервера не задан параметр radius_callback_avpair_enable |
|
передаётся логин для Callback, если в конфигурационном файле 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) |
|
сообщает о начале сессии |
(2) |
|
сообщает о завершении сессии |
(3) |
|
сообщает промежуточные данные установленного соединения |
При получении запроса 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
идентификатор сессии из этого запроса удаляется из кеша.
Когда количество записей в кеше достигает максимального, при добавлении новой записи самая старая запись удаляется. Чем больше размер кеша, тем меньше вероятность создания повторной сессии по запросу |
При остановке 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
.
В командной строке можно передавать следующие параметры:
|
Путь к pid-файлу |
|
Путь к конфигурационному файлу |
|
Вывод информации о версии и допустимых параметрах командной строки |
Существуют 3 способа запуска utm5_radius:
-
Непосредственный запуск бинарного файла
/netup/utm5/bin/utm5_radius
с необходимыми параметрами. -
Запуск с помощью скрипта watchdog с указанием параметра start
/netup/utm5/bin/safe_utm5_radius start/
Скрипт автоматически перезапустит utm5_radius, если он по каким-либо причинам некорректно завершит работу. -
Запуск с помощью скрипта автоматического запуска (рекомендуемый способ):
/etc/init.d/utm5_radius start
В этом случае произойдёт запуск скрипта watchdog. Для остановки utm5_radius и скрипта следует выполнить команду:
/etc/init.d/utm5_radius stop
Конфигурационный файл
По умолчанию сервер RADIUS использует конфигурационный файл /netup/utm5/radius5.cfg
.
Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #
, считается комментарием.
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес |
обязательный параметр |
IP-адрес хоста, на котором запущено ядро NetUP 5+ |
|
от 1 до 65534 |
обязательный параметр |
Порт, на котором ядро NetUP 5+ слушает Stream (параметр |
|
строка |
radius |
Логин пользователя для доступа к ядру биллинга |
|
строка |
radius |
Пароль пользователя для доступа к ядру биллинга |
|
имя файла |
/var/run/utm5_radius.pid |
PID-файл |
|
строка |
false |
Если |
|
число |
30 |
Длительность повторных попыток соединения с ядром (в секундах) |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
Адрес хоста для приёма запросов на учёт (Accounting-Request) |
|
число от 1 до 65534 |
1813 |
Порт для приёма запросов на учёт (Accounting-Request) |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
Адрес хоста для приёма запросов на проверку доступа (Access-Request) |
|
от 1 до 65534 |
1812 |
Порт для приёма запросов на проверку доступа (Access-Request) |
|
enable |
генерация ключей не производится |
Включает генерацию ключей MPPE 128 бит, используемых при авторизации по протоколу |
|
1 |
авторизация разрешена |
Если значение установлено, то заблокированным пользователям, логины которых указаны в сервисной связке услуги передачи трафика, запрещается авторизоваться |
|
время в секундах |
30 |
Время, в течение которого IP-адрес будет помечен как занятый после отправки |
|
время в секундах |
до момента прихода Stop-пакета |
Время, в течение которого IP-адрес будет помечен как занятый после прихода |
|
yes или enable |
не задано |
При включении этой опции RADIUS-сервер будет принимать и успешно авторизовать запросы без атрибута |
|
enable, on, yes |
не задано |
При включении данной опции для телефонных звонков аутентификация производится не по атрибуту |
|
натуральное число |
не задано (проверка не производится) |
Если установлено,то значение атрибута |
|
натуральное число |
не задано (проверка не производится) |
Если установлено,то значение атрибута |
|
натуральное число |
не задано (проверка не производится) |
Если установлено,то значение атрибута |
|
натуральное число |
не задано (проверка не производится) |
Если установлено,то значение атрибута |
|
любое |
не задано (номера не передаются) |
Если данная опция включена, то при авторизации абонента, в случае использования услуги телефонии, в ответе Access-Accept будет передан атрибут |
|
любое |
не задано (номера не передаются) |
Если данная опция включена, то при авторизации абонента, в случае использования услуги телефонии, в ответе Access-Accept будет передан атрибут |
|
строка |
не задано |
Устанавливает нулевую стоимость для запросов Accounting-Request, в которых атрибут |
|
время в секундах большее 60 |
не задано (используется стандартный механизм) |
Включает механизм контроля сессий на основании запросов Interim-Update. Значение передаётся в атрибуте |
|
натуральное число |
86400 |
Значение атрибута |
|
любое |
не задано |
Включает передачу атрибута |
|
enable, on, true |
не задано |
Если атрибут |
|
enable, on, true |
не задано |
Если атрибут |
|
строка |
не задано |
Имя IP-пула, адреса из которого выдаются заблокированным пользователям для ограниченного доступа |
|
строка |
не задано |
Имя IP-пула, адреса из которого выдаются гостевым пользователям для ограниченного доступа |
|
yes, no |
не задано |
Включает выдачу адресов из случайного диапазона (если в системе заведено несколько IP-пулов с одним именем). По умолчанию адреса выдаются последовательно из очередного пула до его исчерпания; пулы следуют в порядке их добавления |
|
yes, on, enable |
не задано |
Включает распознавание запроса на регистрацию телефонного звонка по равенству |
|
строка |
не задано |
Путь к файлу сертификата при использовании EAP-TTLS |
|
строка |
не задано |
Путь к файлу приватного ключа при использовании EAP-TTLS |
|
натуральное число |
86400 |
Максимальная продолжительность VoIP сессии (в секундах) |
|
натуральное число |
5 |
Время ожидания ответа PoD при разрыве сессии вручную |
|
любое |
не задано |
Формат входящего транка в виде |
|
любое |
не задано |
Формат исходящего транка в виде |
|
любое |
не задано |
Формат идентификатора звонка в виде |
|
yes, on, enable |
не задано |
Присвоить тип услуги “framed” независимо от типа услуги, указанного во входящем запросе |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
Адрес хоста для приёма запросов от RADIUS-сервера на изменение параметров соединения |
|
строка |
USD |
Код валюты |
|
yes, on, enable |
не задано |
Хранить в кэше информацию о последних закрытых сессиях |
|
натуральное число |
0 |
Размер кэша закрытых сессий. Измеряется в количестве сессий, о которых хранится информация |
|
yes, on, enable |
не задано |
Возвращать атрибут |
Параметры журналирования: | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
число от 0 до 3 |
1 |
Определяет уровень сообщений, которые пишутся в основной поток сообщений |
|
имя файла |
стандартный поток ошибок |
Файл основного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл отладочного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл критического потока сообщений |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
размер в байтах |
10485760 |
Размер файла, при достижении которого производится ротация |
|
строка |
не задано |
Префикс, добавляемый к записям при включённой опции записи в системный журнал (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-адреса выполняет следующие действия:
-
поиск сервисной связки, ссылающейся на данный лицевой счёт и на услугу передачи IP-трафика с установленной опцией Динамическое распределение IP-адресов. Если сервисная связка не найдена, дальнейшие действия не производятся;
-
поиск IP-группы, в которую входит указанный IP-адрес. Если такая IP-группа найдена, она удаляется;
-
создание IP-группы, для которой в качестве IP-адреса сети устанавливается указанный IP-адрес, а в качестве маски –
255.255.255.255
. Остальным параметрам IP-группы присваиваются значения по умолчанию; -
создание IP-группы, привязанной к сервисной связке, найденной на этапе 1.
При создании или удалении IP-группы выполняются следующие действия:
-
если статус Internet для лицевого счета, которому принадлежит IP-группа, установлен в состояние Включён, перед созданием или удалением IP-группы статус Internet устанавливается в состояние Выключен, а после создания или удаления IP-группы статус Internet устанавливается в состояние Включён.
-
помимо указанных действий возможна генерация одного или нескольких событий на выключение доступа в Интернет для лицевого счета в том случае, если статус Internet – Выключен.
Во избежание ошибок в работе NetUP 5+ не рекомендуем использовать динамическую привязку IP-адреса, если IP-адреса из пула пересекаются с IP-адресами, статически привязанными к сервисным связкам услуги передачи IP-трафика. |
DHCP
Сервер DHCP позволяет привязать статический IP-адрес или пул динамических адресов к MAC-адресу, к коммутатору или к определённому порту коммутатора. Он принимает DHCP-запросы и обрабатывает их в соответствии с RFC2132.
Сервер DHCP может назначать только IPv4-адреса. |
Сервер использует информацию из базы данных, а также взаимодействует с ядром NetUP 5+ по протоколу Stream и может получать от него сообщения об изменении информации в базе данных и необходимости её обновления.
По умолчанию сервер работает в режиме not authoritative. Режим работы можно изменить в конфигурационном файле (параметр is_authoritative
).
Сущности
При формировании ответа DHCP использует следующие сущности:
-
Профиль оборудования – это сущность, содержащая общие характеристики определённого типа коммутаторов:
Наименование
строка, содержащая имя коммутатора.
Уникальность наименования не проверяется, но рекомендуетсяЁмкость
количество портов коммутатора.
Можно указать несколько значений через запятуюПараметры DHCP Option 82
описание параметров DHCP Option 82, используемых коммутатором данного типа при формировании DHCP-запроса
Remote ID
идентификатор DHCP-ретранслятора, через который был получен запрос
Порт
порт DHCP-ретранслятора, через который был получен запрос
VLAN ID
идентификатор VLAN (если используется)
В характеристики этих параметров входят: тип параметра (строка/бинарный), расположение в DHCP Option 82, смещение и длина параметра. Эти характеристики используются при чтении параметров DHCP Option 82, входящих в DHCP-запрос.
-
Коммутатор – это сущность, содержащая параметры конкретного коммутатора:
Наименование
строка длиной до 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-клиент добавит их в список запрашиваемых опций.
-
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-ответ будут добавлены все опции, значения которых установлены и имеются в базе данных.
-
IP-группа – это описание сети и связанных с ней параметров, принадлежащих сервисной связке услуги передачи IP-трафика. На основании настроек IP-групп происходит выдача IP-адреса и идентификация трафика для дальнейшей тарификации. В IP-группе определяется соответствие между статическим IP-адресом или пулом динамических IP-адресов и следующими параметрами:
-
MAC-адрес
-
Внутренний ID коммутатора
-
Порт коммутатора
-
VLAN ID
-
Чтобы установить соответствия необходимо указать статический IP-адрес или выбрать пул динамических адресов. Необходимо также указать значения описанных выше параметров, к которым следует привязать IP-адрес или пул динамических адресов.
Диапазоны статических IP-адресов не должны пересекаться с диапазонами динамических IP-адресов. |
Порт и 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
Формат конфигурационных файлов: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #
, считается комментарием.
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
mysql, postgres |
mysql |
Тип базы данных NetUP 5+ |
|
строка |
UTM5 |
Имя базы данных NetUP 5+ |
|
IP-address/hostname |
localhost |
Адрес сервера базы данных NetUP 5+ |
|
строка |
root |
Логин пользователя для доступа к базе данных NetUP 5+ |
|
строка |
нет |
Пароль пользователя для доступа к базе данных NetUP 5+ |
|
путь к файлу |
/var/run/mysqld/ mysqld.sock |
Только для MySQL. Путь к сокет-файлу базы данных. Используется в том случае, если параметр database_host не задан или имеет значение “localhost” |
|
от 1 до 65534 |
3306 |
Только для MySQL. Порт сервера базы данных |
|
кодировка |
utf8 |
Только для MySQL. Кодировка соединения с базой данных |
|
IP-адрес |
127.0.0.1 |
Адрес сервера, на котором запущено ядро биллинга |
|
от 1 до 65534 |
12758 |
Порт, на котором ядро NetUP 5+ слушает Stream (параметр |
|
строка |
dhcp |
Логин для доступа к ядру биллинга |
|
строка |
dhcp |
Пароль для доступа к ядру биллинга |
|
время в секундах |
1800 |
Минимальное время после истечения срока аренды, в течение которого клиент может продолжать использовать назначенный DHCP-сервером IP-адрес |
|
время в секундах |
86400 |
Периодичность проверки оставшегося времени аренды IP-адреса |
|
Пара <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) |
|
yes, on, enable |
отключено |
Режим работы DHCP-сервера: authoritative или not authoritative |
|
yes, on, enable |
отключено |
При запуске DHCP-сервера загружать из базы журнал аренды. Для большинства систем подходит значение по умолчанию |
|
от 0 до 3 |
1 |
Определяет уровень сообщений, которые попадают в основной поток сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл основного потока сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений с диагностической и отладочной информацией |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений о критических ошибках |
|
число |
не ограничено |
Максимальное количество хранимых log-файлов |
|
размер в байтах |
10485760 |
Размер файла, при достижении которого производится ротация |
|
число |
1 |
Количество попыток отправки ICMP-запроса (см. use_ping) |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
IP-адрес |
IP-адрес сервера () |
IP-адрес следующего сервера, участвующего в загрузке |
|
yes, on, enable |
отключено |
Если в процессе принятия решения о выдаче IP-адреса обнаруживается, что для данного адреса уже существует аренда, отправить ICMP-запрос на этот IP-адрес, чтобы выяснить фактический статус клиента |
|
yes, on, enable |
отключено |
При невозможности соотнести данные DHCP Option 82 в поступившем DHCP-запросе продлевать существующую аренду для данного MAC-адреса |
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, команда отправляется в том виде, в котором поступила от ядра (т.е. шаблон с подставленными значениями).
Переменные
В шаблонах команд можно использовать переменные из таблицы ниже. Если в команде Вы используете переменную, которую нельзя применить к выбранному событию, вместо неё будет использовано значение по умолчанию.
Список событий:
Параметр | По умолчанию | Область применимости | Описание |
---|---|---|---|
|
пустая строка |
Все события, кроме событий Закрытие файла детальной статистики и Закрытие файла логов |
Идентификатор пользователя |
|
пустая строка |
Список идентификаторов групп, в которых состоит пользователь, разделённых |
|
|
пустая строка |
Логин пользователя |
|
|
пустая строка |
Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов и Удаление пользователя |
Адрес электронной почты, установленный в свойствах пользователя |
|
0 |
Идентификатор лицевого счета |
|
|
0 |
Идентификатор пользователя плюс значение параметра |
|
|
пустая строка |
Полное наименование пользователя |
|
|
пустая строка |
Номер мобильного телефона пользователя |
|
|
пустая строка |
Номер рабочего телефона пользователя |
|
|
пустая строка |
Номер домашнего телефона пользователя |
|
|
пустая строка |
Название брандмауэра, установленного в поле Удалённый коммутатор |
|
|
пустая строка |
Порт, установленный в свойствах пользователя |
|
|
0 |
Все события, кроме событий Закрытие файла детальной статистики, Закрытие файла логов, Добавление пользователя, Изменение пользователя и Изменение баланса счёта |
Идентификатор сервисной связки |
|
пустая строка |
Включение/Выключение Интернета, Добавление/Изменение/Удаление связки dialup, Включение hotspot, Выключение hotspot, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
Логин, указанный в свойствах сервисной связки или IP-группы |
|
0.0.0.0 |
Включение/Выключение Интернета, Включение hotspot, Выключение hotspot, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
Адрес сети пользователя, указанный в свойствах IP-группы в поле IP |
|
255.255.255.255 |
Маска сети через точку (например, 255.255.255.0). |
|
|
0.0.0.0 |
Инвертированная маска сети через точку, например, 0.255.255.255. Используется при работе с маршрутизаторами Cisco |
|
|
32 |
Бинарная маска сети, например, 32 означает то же, что и 255.255.255.255 |
|
|
пустая строка |
Включение/Выключение Интернета, Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала, Снятие ограничений на исходящий канал |
MAС-адрес, указанный в свойствах IP-группы |
|
0 |
Добавление/Изменение/Удаление связки dialup, Открытие сессии, Закрытие сессии, Добавление/Изменение/Удаление связки IP-трафика, Добавление/Изменение/Удаление связки телефонии, Добавление/Изменение/Удаление тех.параметра, Добавление/Изменение/Удаление связки IPTV |
Идентификатор услуги |
|
пустая строка |
Добавление/Изменение/Удаление связки dialup, Включение hotspot и Выключение hotspot |
Пароль сервисной связки услуги hotspot или услуги коммутируемого доступа |
|
пустая строка |
Добавление/Изменение/Удаление связки dialup |
Флаги сервисной связки услуги коммутируемого доступа: |
|
пустая строка |
Значение параметра CID сервисной связки услуги коммутируемого доступа |
|
|
пустая строка |
Значение параметра CSID сервисной связки услуги коммутируемого доступа |
|
|
пустая строка |
Изменение состояния блокировки |
Список параметров сервисных связок услуги коммутируемого доступа для данного лицевого счета в формате |
|
-1 |
Числовое представление типа блокировки |
|
|
пустая строка |
Список всех идентификаторов сервисных связок, принадлежащих лицевому счёту, через |
|
|
пустая строка |
Внешний ID лицевого счёта |
|
|
0 |
Оповещение об изменении баланса |
Баланс счёта |
|
0 |
Добавление тех.параметра, Изменение тех.параметра и Удаление тех.параметра |
Тип технического параметра: |
|
0 |
Идентификатор технического параметра |
|
|
пустая строка |
Значение технического параметра |
|
|
пустая строка |
Пароль технического параметра |
|
|
-1 |
ID типа технического параметра: |
|
|
0 |
Открытие сессии, Закрытие сессии, Добавление тех.параметра, Изменение тех.параметра и Удаление тех.параметра |
Тип услуги |
|
0 |
Добавление / Изменение / Удаление связки IP-трафика / Видео по запросу |
Идентификатор тарифной связки |
|
0 |
Идентификатор расчётного периода |
|
|
0 |
Дата начала действия сервисной связки |
|
|
0 |
Дата окончания действия сервисной связки |
|
|
0 |
Идентификатор IP-группы сервисной связки |
|
|
пустая строка |
Добавление/Изменение/Удаление связки IPTV |
Пользовательские данные, задаваемые в параметрах услуги |
|
пустая строка |
Изменение состояния блокировки, Добавление связки IP-трафика, Изменение связки IP-трафика и Удаление связки IP-трафика |
Список IP-групп в формате |
|
0 |
Включение hotspot, Выключение hotspot |
Остаток времени для сервисной связки услуги hotspot |
|
пустая строка |
Добавление связки телефонии, Изменение связки телефонии, Удаление связки телефонии и Изменение типа блокировки |
Список телефонных номеров в формате |
|
пустая строка |
Открытие сессии и Закрытие сессии |
Идентификатор NAS |
|
0.0.0.0 |
IP-адрес NAS |
|
|
пустая строка |
Идентификатор сеcсии (строка) |
|
|
0 |
Статус сессии: |
|
|
пустая строка |
ID вызывающей станции |
|
|
пустая строка |
ID вызываемой станции |
|
|
0.0.0.0 |
IP-адрес, указанный в RADIUS-атрибуте |
|
|
0 |
Установка ширины входящего канала, Изменение ширины входящего канала, Снятие ограничений на входящий канал, Установка ширины исходящего канала, Изменение ширины исходящего канала и Снятие ограничений на исходящий канал |
Текущая пропускная способность полосы |
|
пустая строка |
Закрытие файла детальной статистики и Закрытие файла логов |
Путь к файлу детальной статистики или log-файлу |
|
0 |
Внесение платежа |
Размер платежа |
|
0 |
ID метода платежа |
|
|
пустая строка |
Запись в отчёт Изменение пользователей |
ID действия |
|
пустая строка |
Комментарий к изменениям данных пользователя |
|
|
пустая строка |
ID вносившего изменения |
|
|
пустая строка |
Регистрация абонента HotSpot |
Пароль для входа пользователя в личный кабинет |
|
пустая строка |
Номер мобильного телефона пользователя |
|
|
пустая строка |
Длительность существования карточки абонента. При повторной регистрации до окончания периода, длительность обновляется |
|
|
пустая строка |
Включение/Выключение Интернета |
IP-адрес коммутатора в свойствах IP-группы |
|
пустая строка |
Логин коммутатора в свойствах IP-группы |
|
|
пустая строка |
Пароль коммутатора в свойствах IP-группы |
|
|
пустая строка |
Remote ID коммутатора в свойствах IP-группы |
|
|
пустая строка |
ID коммутатора в свойствах IP-группы |
|
|
пустая строка |
Порт коммутатора в свойствах IP-группы |
|
|
пустая строка |
VLAN в свойствах IP-группы |
События
Список возможных событий, инициирующих выполнение команды:
Включение Интернета |
выполняется для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "выключен" на "включён" |
Выключение Интернета |
выполняется дважды для каждой IP-группы в каждой сервисной связке услуги передачи IP-трафика, принадлежащего лицевому счёту, при изменении статуса Internet данного счёта с "включ`н" на "выключен" |
Добавление пользователя |
выполняется для пользователя при добавлении данного пользователя в систему (через интерфейс администратора или автоматически) |
Изменение пользователя |
выполняется для пользователя при изменении данных этого пользователя |
Удаление пользователя |
выполняется для пользователя при его удалении |
Изменение состояния блокировки |
выполняется для лицевого счёта при изменении состояния блокировки (т. е. при его блокировке или разблокировке) |
Оповещение об изменении баланса |
выполняется для лицевого счёта при прохождении его баланса через границы, заданные системным параметром |
Открытие сессии |
выполняется для сервисной связки при поступлении RADIUS-запроса |
Закрытие сессии |
выполняется для сервисной связки при поступлении RADIUS-запроса |
Добавление связки 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. Тип брандмауэра должен соответствовать параметру |
Наименование |
уникальное имя, по которому происходит идентификация подключающихся к ядру RFW. Наименование брандмауэра должно соответствовать параметру |
IP |
адрес поставщика NetFlow, указываемый в свойствах IP-группы |
Логин |
логин, используемый в качестве |
Комментарий |
носит информационный характер |
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 . В командной строке можно передавать следующие параметры:
|
Путь к конфигурационному файлу |
|
Синхронизация правил firewall при запуске (выполняются только команды, связанные с данным RFW, и только на данном RFW) |
|
Параметр устарел (аналог -s enable) |
|
Параметр устарел (аналог -s disable) |
|
Вывод информации о версии и допустимых параметрах командной строки |
В UNIX-системах существует 3 способа запуска utm5_rfw:
-
Непосредственный запуск бинарного файла
/netup/utm5/bin/utm5_rfw
с необходимыми параметрами. -
Запуск с помощью скрипта
watchdog
с указанием параметраstart
:/netup/utm5/bin/safe_utm5_rfw start
В этом случае исполняемому файлу будет передан параметр-f
. Скрипт автоматически перезапуститutm5_rfw
в случае, если он по каким-либо причинам некорректно завершит работу. -
Запуск с помощью скрипта автоматического запуска (рекомендуемый способ):
/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
Формат конфигурационных файлов: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #
, считается комментарием.
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
mysql, postgres |
mysql |
Тип базы данных NetUP 5+ |
|
строка |
обязательный параметр |
Имя RFW, по которому происходит его идентификация при подключении к ядру биллинга. Это же значение должно быть указано в поле Наименование при добавлении брандмауэра в список брандмауэров |
|
IP-адрес |
обязательный параметр |
IP-адрес хоста, на котором запущено ядро NetUP 5+ |
|
число от 1 до 65534 |
обязательный параметр |
Порт, на котором ядро NetUP 5+ слушает Stream (параметр |
|
строка |
обязательный параметр |
Логин пользователя для доступа к ядру NetUP 5+ |
|
строка |
обязательный параметр |
Пароль пользователя для доступа к ядру биллинга |
|
local, cisco |
local |
Тип firewall. Должен соответствовать параметру Тип брандмауэра с соответствующим именем. Если установлено значение |
|
см. ниже |
не задано |
Флаги синхронизации |
|
|||
|
имя исполняемого файла |
не задано |
Имя исполняемого файла sudo |
|
имя исполняемого файла |
пустая строка |
Имя исполняемого файла, осуществляющего управление сторонним ПО |
|
имя исполняемого файла |
пустая строка |
Скрипт, выполняемый при соединении и пересоединении с ядром |
|
yes, enable, true |
команды исполняются параллельно |
Если значение установлено – правила выполняются последовательно, т.е. каждое правило исполняется только после выполнения предыдущего. При использовании команды |
|
|||
|
IP-адрес |
обязательный параметр |
IP-адрес, на который будут передаваться команды по протоколу rsh |
Параметры журналирования: | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
число от 0 до 3 |
1 |
Определяет уровень сообщений, которые пишутся в основной поток сообщений |
|
имя файла |
стандартный поток ошибок |
Файл основного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл отладочного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл критического потока сообщений |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
число |
не ограничено |
Максимальное количество хранимых log-файлов |
|
размер в байтах |
10485760 |
Размер файла, при достижении которого производится ротация |
|
имя файла |
/var/run/utm5_rfw.pid |
PID-файл |
|
string |
не задано |
Префикс, добавляемый к записям при включённой опции записи в системный журнал (syslog) |
Параметр |
Синхронизация правил
При автоматическом запуске модуля при старте системы может быть инициировано выполнение определённых правил для восстановления конфигурации стороннего ПО.
Выполняются только команды, связанные с данным RFW, и только на данном RFW. Набор правил для выполнения определяется флагами.
Флаги синхронизации (возможные значения перечислены ниже) задаются параметром конфигурационного файла sync_flags
или параметром командной строки -s
, причём последний имеет приоритет. Можно одновременно использовать несколько флагов, разделяя их двоеточиями.
|
выполнить правила, ассоциированные с событием "Включение Internet" |
|
выполнить правила "Выключение Internet" |
|
выполнить правила "Добавление пользователя" |
|
выполнить правила "Добавление связки IP-трафика" |
|
выполнить правила "Добавление связки dialup" |
|
выполнить правила "Изменение типа блокировки" |
|
выполнить правила "Установление ограничений 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
.
Формат конфигурационных файлов: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #
, считается комментарием.
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес |
127.0.0.1 |
Адрес сервера, на котором запущено ядро NetUP 5+ |
|
от 1 до 65534 |
12758 |
Порт, на котором ядро NetUP 5+ слушает Stream (параметр |
|
строка |
collector |
Логин для доступа к ядру NetUP 5+. Можно установить на странице “Системные пользователи” в интерфейсе администратора |
|
строка |
collector |
Пароль для доступа к ядру NetUP 5+. Можно установить на странице “Системные пользователи” в интерфейсе администратора |
|
строка |
traffic_collector |
Уникальное имя коллектора в системе. Можно установить в настройках коллектора на странице “Коллекторы трафика” в интерфейсе администратора |
|
строка |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться UDP-порт для приёма потока NetFlow |
|
строка |
9997 |
Порт, на котором ядро принимает поток NetFlow |
|
натуральное число |
устанавливается ОС |
Размер буфера UDP-сокета, используемого для приема потока NetFlow |
|
от 0 до 3 |
1 |
Определяет уровень сообщений, которые попадают в поток сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл основного потока сообщений |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений с диагностической и отладочной информацией |
|
путь к файлу |
стандартный поток ошибок |
Файл потока сообщений о критических ошибках |
|
yes, on, enable |
ротация отключена |
Включает ротацию log-файлов |
|
число |
не ограничено |
Максимальное количество хранимых log-файлов |
|
размер в байтах |
10485760 |
Размер log-файла, при достижении которого производится ротация |
|
путь к файлу |
/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).
При проведении требуемых действий в некоторых случаях может не проводиться ряд проверок, которые проводят интерфейс администратора или веб-интерфейс пользователя при выполнении того или иного действия. Кроме того, вызов некоторых функций может потребовать последующего вызова других функций с целью создания объектов, необходимых для сохранения логической целостности данных. |
Схема
Схема 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
.
Допустимые теги: | Описание |
---|---|
|
Корневой тег. |
|
Описывает функцию. |
|
Содержит описание входных параметров функции. |
|
То же, что и input, только для выходных параметров функции. |
|
Может находиться внутри тега input и output; передает целое значение со знаком длиной 32 бита. |
|
Аналогичен тегу integer, но содержит описание целых знаковых параметров длиной 64 бита (int64_t). |
|
Аналогичен тегу integer, но содержит описание параметров с плавающей точкой (double). |
|
Аналогичен тегу integer, но содержит описание строковых параметров. |
|
Аналогичен тегу integer, но содержит описание параметров типа IPv4-адреса (например |
|
Предназначен для обеспечения ветвления в последовательности параметров в зависимости от значения переменной. |
|
Предназначен для обеспечения реализации циклов. |
|
Вызывает выход из программы с ненулевым кодом возврата, если не указано обратное. |
Скрипт
URFA-скрипт описывает последовательность действий: вызова URFA-функций, циклов и условных операторов, представленную в виде XML-тегов. На каждое действие присутствует по одному файлу с именем <имя_действия.хml>
.
Имя директории, в которой находятся URFA-скрипты, может быть указано в качестве параметра командной строки -x. По умолчанию имя директории – /netup/utm5/xml/. Например, для действия add_user по умолчанию будет использоваться файл /netup/utm5/xml/add_user.xml.
URFA-скрипт должен соответствовать требованиям схемы.
Допустимые теги: | Описание |
---|---|
|
Корневой тег. |
|
Осуществляет вызов URFA-функции, определённой в api-файле. |
|
Должен содержать свойство name – имя переменной. |
|
Тег арифметического действия (сложения). |
|
Тег арифметического действия (вычитания). |
|
Тег арифметического действия (умножения). |
|
Тег арифметического действия (деления). |
|
Тег операции конкатенации строк. |
|
Предназначен для обеспечения ветвления в последовательности параметров в зависимости от значения переменной. |
|
Предназначен для обеспечения реализации циклов. |
|
Должен иметь атрибут text. |
|
Должен иметь атрибут var. |
|
Определяет значения переменных. |
|
Вызывает выход из программы с ненулевым кодом возврата, если не указано обратное. |
|
Предполагает сдвиг значений массива, указанного в свойстве name, на одну позицию влево с удалением первого элемента. Данный тег предназначен для внутреннего использования, и его применение не рекомендуется. |
|
Осуществляет выход из первого по вложенности тега for с продолжением выполнения скрипта со следующей за циклом строки. |
|
Удаляет элемент массива либо весь массив, имя которого должно присутствовать в свойстве name. Индекс элемента массива может быть указан в виде выражения в свойстве array_index, в противном случае удаляется весь массив. При удалении элемента массива последующие элементы смещаются на одну позицию влево. |
Файл данных
Файл данных описывает массив или несколько массивов, которые следует передать как аргументы в функции. Путь к файлу данных должен быть указан в качестве параметра командной строки – datafile
.
Допустимые теги: | Описание |
---|---|
|
Корневой тег. |
|
Массив произвольной размерности. |
|
Элемент массива, который может сам по себе быть массивом. |
Запуск утилиты
Вызов утилиты осуществляется из командной строки с указанием параметров.
Запуск Urfaclient производится командой –
/netup/utm5/bin/utm5_urfaclient
Параметры командной строки начинаются со знака “ - ”, затем следует название ключа и через пробел значение параметра (исключение составляет ключи -help, -debug, -u и -dealer, не требующие значения).
Большинство ключей имеют соответствия среди параметров конфигурационного файла. Общий список всех ключей и параметров приведён ниже.
Допускается указание параметров, специфичных для определённого действия. В зависимости от действия некоторые специфичные параметры могут являться обязательными.
Все строковые значения должны передаваться в кодировке UTF-8. Порядок указания параметров не имеет значения.
Конфигурационный файл
По умолчанию Urfaclient использует конфигурационный файл /netup/utm5/utm5_urfaclient.cfg.
Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #
, считается комментарием.
Все значения параметров файла конфигурации могут быть указаны и в командной строке. Параметры, указанные в командной строке, имеют приоритет над параметрами, указанными в файле конфигурации и в файле данных.
Список возможных параметров и ключей командной строки:
Ключ | Параметр | По умолчанию | Описание |
---|---|---|---|
|
|
127.0.0.1 |
IP-адрес хоста, на котором запущено ядро NetUP 5+ |
|
|
11758 |
Порт, на котором ядро NetUP 5+ слушает URFA (параметр urfa_bind_port в конфигурационном файле ядра) |
|
|
init |
Логин для доступа к ядру NetUP 5+ |
|
|
init |
Пароль для доступа к ядру NetUP 5+ |
|
|
/netup/utm5/xml/ |
Имя директории, содержащей схему и URFA-скрипты |
|
|
/netup/utm5/xml/api.xml |
Путь к файлу схемы |
|
|
не установлено |
Если указано значение “yes”, возможен вызов только пользовательских функций, в противном случае – только системных |
|
|
не установлено |
Если указано значение “yes”, возможен вызов только функций дилера |
|
|
не установлено |
При указании данного параметра происходит восстановление сессии пользователя по ключу, указанному в качестве значения параметра. При этом в файле конфигурации, либо в командной строке должны быть указаны логин и пароль системного пользователя |
|
|
127.0.0.1 |
При восстановлении сессии по ключу значение данного параметра определяет IP-адрес, с которого была инициализирована восстанавливаемая сессия |
|
|
не установлено |
Имя действия (обязательный параметр) |
|
|
/netup/utm5/utm5_urfaclient.cfg |
Путь к конфигурационному файлу |
|
|
не установлено |
Показывает справку по параметрам вызванного скрипта, если таковая есть |
|
|
не установлено |
Выводит дополнительные отладочные данные в процессе выполнения |
|
|
не установлено |
Имя файла данных |
|
|
не установлено |
Значение специфичного параметра |
Примеры
Примеры 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-серверу.
Разбор файлов
В случае разбора файла с информацией о трафике выполняются следующие действия:
-
Устанавливается соединение с ядром NetUP 5+ по протоколу URFA.
-
Построчно считывается текстовый файл, каждая строка которого разбирается в соответствии со стандартным форматом.
-
Данные, содержащиеся в каждой строке, сохраняются во внутренней структуре хранения данных.
-
Структура с данными передаётся ядру биллинга посредством вызова URFA-функции 0x5511.
-
Утилита utm5_send_traffic завершает работу.
Файл с информацией о трафике должен содержать данные, отвечающие следующим требованиям:
-
Каждая строка файла содержит данные формата:
<LOGIN> <BYTES> <TCLASS> <IP>
LOGIN
логин, указанный в свойствах услуги передачи трафика, которому должен принадлежать данный трафик
BYTES
количество трафика в байтах (не должно превышать 2 Гб)
TCLASS
класс трафика, зарегистрированный в ядре NetUP 5+, которому должен принадлежать трафик
IP
IP-адрес, который будет указан для данного трафика при формировании отчёта по трафику с группированием по IP. Поле IP-адреса может иметь произвольное значение в формате IP-адреса. Поддерживается IPv6.
-
Файл не содержит строк с какой-либо другой информацией или в другом формате.
В случае разбора файла с информацией о телефонных звонках выполняются следующие действия:
-
Устанавливается соединение с ядром NetUP 5+ по протоколу URFA.
-
Построчно считывается текстовый файл, каждая строка которого разбирается в соответствии с форматом, заданным в конфигурационном файле.
-
Данные, содержащиеся в каждой строке, сохраняются во внутренней структуре хранения данных.
-
Структура с данными передаётся ядру NetUP 5+ посредством вызова URFA-функции 0x10310.
-
Утилита utm5_send_cdr завершает работу.
Файл с информацией о телефонных звонках должен содержать данные, отвечающие следующим требованиям:
-
Каждая запись о звонке находится в отдельной строке.
-
Запись о каждом звонке занимает не более одной строки.
-
Каждая запись о звонке соответствует формату записи, заданному в конфигурационном файле. Формат записи должен соответствовать общим требованиям к формату записи о звонке.
-
Файл не содержит строк с какой-либо другой информацией или в другом формате.
Требования к формату записи о звонке:
-
Каждая запись о звонке содержит данные в текстовом виде.
-
Каждая запись о звонке разделена одинаковыми разделителями на несколько полей. Обязательно присутствие следующих полей:
-
Идентификатор вызывающего абонента (телефонный номер);
-
Идентификатор вызываемого абонента (телефонный номер);
-
Длительность звонка в секундах без указания единицы измерения;
-
Дата и время начала звонка, если необходимо датировать звонок временем, отличным от времени передачи информации о нем.
-
-
Могут присутствовать также следующие необязательные поля:
-
Входящий транк;
-
Исходящий транк;
-
Идентификатор АТС (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
В командной строке можно передавать обеим утилитам следующие параметры:
|
Путь к конфигурационному файлу. |
|
Путь к файлу с импортируемой информацией. Если задан символ “ - ”, то читается стандартный поток ввода. |
|
Вывод информации о версии и допустимых параметрах командной строки |
Конфигурационные файлы
Утилиты используют конфигурационные файлы utm5_send_traffic.cfg и utm5_send_cdr.cfg, расположенные на UNIX-системах в директории /netup/utm5/.
Формат конфигурационных файлов: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #
, считается комментарием.
Ниже следует список возможных параметров.
Параметры соединения с ядром биллинга (общие для обеих утилит):
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
IP-адрес |
127.0.0.1 |
IP-адрес хоста, на котором запущено ядро NetUP 5+ |
|
натуральное число от 1 до 65534 |
11758 |
Порт, на котором ядро NetUP 5+ слушает URFA (параметр urfa_bind_port в конфигурационном файле ядра) |
|
строка |
init |
Логин пользователя для доступа к ядру NetUP 5+ |
|
строка |
init |
Пароль пользователя для доступа к ядру NetUP 5+ |
Параметры разбора файлов c информацией о телефонных звонках (актуально для utm5_send_cdr.cfg
):
Параметр | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
натуральное число |
0 |
Номер позиции в импортируемом файле, которая содержит запись о вызывающем номере |
|
натуральное число |
1 |
Номер позиции в импортируемом файле, которая содержит запись о вызываемом номере |
|
натуральное число |
2 |
Номер позиции в импортируемом файле, которая содержит запись о длительности звонка |
|
строка формата |
формат по умолчанию |
Формат записи времени звонка. |
|
строка формата |
3 |
Номер позиции в импортируемом файле, которая содержит запись об идентификаторе сессии. |
|
строка формата |
4 |
Номер позиции в импортируемом файле, которая содержит запись о дате и времени начала звонка. |
|
строка формата |
формат по умолчанию |
Формат даты и времени начала звонка. |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
Адрес хоста для приема запросов на проверку доступа (Access-Request) |
|
натуральное число |
не задано |
Номер позиции в импортируемом файле, которая содержит запись о времени звонка (если время хранится отдельно от даты) |
|
строка формата |
не задано |
Формат времени начала звонка. |
|
натуральное число |
не задано |
Номер позиции в импортируемом файле, которая содержит запись об имени пользователя (если она есть) |
|
натуральное число |
не задано |
Номер позиции в импортируемом файле, которая содержит запись о входящем транке (если она есть) |
|
натуральное число |
не задано |
Номер позиции в импортируемом файле, которая содержит запись об исходящем транке (если она есть) |
|
натуральное число |
не задано |
Номер позиции в импортируемом файле, которая содержит запись об идентификаторе АТС (если она есть) |
|
строка |
пробел |
Символ-разделитель между полями |
|
строка |
пустая строка |
Символ, в который заключены поля |
|
натуральное число |
0 - откл |
Номер позиции в импортируемом файле, которая содержит метку о необходимости тарификации вызова как входящего. В CDR на указанной позиции: если 1 - тарифицировать, 0 - нет. |
Спецификаторы для настройки даты и времени:
|
год (1970…) |
|
последние два разряда года (00..99) |
|
месяц (01…12) |
|
месяц без нулей слева (1..12) |
|
час (00..23) |
|
час без нулей слева (0..23) |
|
день месяца (01..31) |
|
день месяца без нулей слева (1..31) |
|
минуты (00..59) |
|
минуты без нулей слева (0..59) |
|
секунды (00..60) |
|
секунды без нулей слева (0..60) |
|
сокращенное название месяца (Jan..Dec) |
|
время в формате unix timestamp |
|
временная зона (например MSK) – только для Linux |
|
любой символ |
Параметры журналирования: | Возможные значения | По умолчанию | Описание |
---|---|---|---|
|
число от 0 до 3 |
1 |
Определяет уровень сообщений, которые пишутся в основной поток сообщений (если при запуске не задан параметр -d) |
|
имя файла |
стандартный поток ошибок |
Файл основного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл отладочного потока сообщений |
|
имя файла |
стандартный поток ошибок |
Файл критического потока сообщений |
Экспорт статистики
Для эмуляции работы пользователей и экспорта статистики по протоколу NetFlow v.5 используйте утилиту utm5_flowgen, которая устанавливается в директорию: /netup/utm5/bin/utm5_flowgen
В командной строке можно передать следующие параметры:
|
IP-адрес хоста, на который будут отправлены сгенерированные NetFlow-пакеты. |
|
Порт, на который будут отправлены сгенерированные NetFlow-пакеты. |
|
Количество записей NetFlow. Значение по умолчанию - 65535 |
|
Версия протокола NetFlow. Поддерживаются версии 5 и 9 |
|
В качестве пересылаемых данных использовать данные из указанного файла. |
|
Периодичность отправки пакетов NetFlow |
|
IP-адрес отправителя трафика в записи NetFlow |
|
IP-адрес получателя трафика в записи NetFlow |
|
Порт источника трафика в записи NetFlow |
|
Порт получателя трафика в записи NetFlow |
|
Номер AS источника трафика в записи NetFlow |
|
Номер AS получателя трафика в записи NetFlow |
|
Индекс входящего интерфейса в записи NetFlow |
|
Индекс исходящего интерфейса в записи NetFlow |
|
Количество переданных байт в записи NetFlow |
|
Количество переданных пакетов в записи NetFlow |
|
TOS, указанный в записи NetFlow |
|
TCP-флаги в записи NetFlow |
|
Идентификатор протокола в записи NetFlow. Например: 6=TCP, 17=UDP и т. д. |
|
IP-адрес следующего маршрутизатора в записи NetFlow |
|
Использовать *.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.
В командной строке можно передать следующие параметры:
|
Порт, на который следует отправить сгенерированные RADIUS-пакеты |
|
IP-адрес, на который следует отправить сгенерированные RADIUS-пакеты |
|
Секретное слово для взаимодействия с RADIUS-сервером |
|
Код RADIUS-пакета. Значение по умолчанию: |
|
Идентификатор RADIUS-пакета. |
|
Пароль пользователя в открытом виде. Данное значение будет использовано при формировании атрибута Password (код атрибута 2) |
|
Значения атрибутов |
|
Значения атрибутов в бинарном представлении (HEX ASCII) |
|
Быстрый режим: не дожидаться ответа |
|
Имя файла, из которого необходимо считать аутентификатор. |
|
Показать версию утилиты |
Возможно указание нескольких атрибутов. Строка имеет следующий формат:
vendor_id:attr_id:is_digit:value
Поля разделены двоеточием. Первое поле указывает на идентификатор вендора. Значение по умолчанию: 0.
Второе поле указывает на идентификатор атрибута.
Третье поле используется для указания типа данных: 0 – строковый, 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. -
Для отправки запроса на аккаунтинг (
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. -
Для отправки запроса на аккаунтинг (
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.
В командной строке можно передавать следующие параметры:
|
Имя директории, в которой находятся файлы с первичной информацией о трафике |
|
Имя файла с первичной информацией о трафике |
|
Идентификатор лицевого счета в системе, для которого формируется отчёт |
|
Адрес отправителя трафика, для которого формируется отчёт |
|
Адрес получателя трафика, для которого формируется отчёт |
|
Порт отправителя трафика, для которого формируется отчёт |
|
Порт получателя трафика, для которого формируется отчёт |
|
Класс трафика, для которого формировать отчёт |
|
Время в формате Unix Time Stamp, начиная с которого формировать отчёт |
|
Время в формате Unix Time Stamp, по которое формировать отчёт. Если значение не указано, используется текущее время |
|
Максимальное количество строк, которые будут использоваться при формировании
отчёта. |
|
Отображать статистику в расширенном виде |
|
Вывод в формате CSV |
|
Вывод информации о версии и допустимых параметрах командной строки |
Внесение платежей
Утилита utm5_payment_tool предназначена для внесения платежей на лицевой счет абонента с использованием стороннего программного обеспечения. Вызов утилиты осуществляется из командной строки с указанием параметров. Запуск утилиты производится командой:
/netup/utm5/bin/utm5_payment_tool
Параметры командной строки начинаются со знака “ - ”, затем следует название ключа и через пробел значение параметра. Общий список всех ключей и параметров приведён ниже.
Все строковые значения должны передаваться в кодировке UTF-8. Порядок указания параметров не имеет значения.
По умолчанию утилита utm5_payment_tool использует конфигурационный файл /netup/utm5/utm5_payment_tool.cfg.
Значения параметров в конфигурационном файле для этой утилиты имеют больший приоритет, чем значения параметров, указанные в командной строке.
Формат конфигурационного файла: параметр=значение.
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра.
Пробелы учитываются.
Пустые строки игнорируются.
Строка, начинающаяся с символа #
, считается комментарием.
Ключ | Параметр | По умолчанию | Описание |
---|---|---|---|
|
|
127.0.0.1 |
Адрес сервера, на котором запущено ядро NetUP 5+ |
|
|
11758 |
Порт, на котором ядро NetUP 5+ слушает URFA |
|
|
init |
Логин для доступа к ядру NetUP 5+ |
|
|
init |
Пароль для доступа к ядру NetUP 5+ |
|
|
пустая строка |
Комментарий для абонента |
|
|
пустая строка |
Комментарий для администратора |
|
|
810 (RUR) |
ID валюты платежа (трёхзначный цифровой код) |
|
|
0 (оплата наличными) |
ID метода платежа. Полный список доступных методов смотрите в справочнике в интерфейсе администратора |
|
|
no |
Открыть доступ в Интернет после внесения платежа: yes / no |
|
|
не задано |
Номер лицевого счёта абонента |
|
|
не задано |
Внешний идентификатор платежа |
|
|
0.0 |
Сумма платежа |
Проверка структуры БД
Утилита db_archiver используется при обновлении NetUP 5+ и предназначена для проверки и приведения структуры БД в соответствие требованиям новой версии ядра биллинга. Кроме того, утилита позволяет архивировать таблицы, подлежащие архивации.
Исполняемый файл называется /netup/utm5/bin/db_archiver.
В командной строке можно передавать следующие параметры:
|
Архивировать таблицы, подлежащие архивации |
|
Путь к конфигурационному файлу NetUP 5+. |
|
Записать в log-файл различия между текущей структурой БД и структурой БД, необходимой для работы новой версии NetUP 5+ |
|
Обновить только те столбцы таблиц, которые помечены для обновления компанией NetUP |
|
Обновить все столбцы, формат которых отличается от формата в новой версии NetUP 5+ |
|
Обновить таблицы, подлежащие архивации |
|
Обновить индексы |
|
Не считать за изменение структуры первичный ключ без значения по умолчанию |
|
Верифицировать архивные таблицы |
|
Приостановить действия ядра NetUP 5+, требующие записи в БД. Это требуется для архивации таблиц без остановки ядра. Этот параметр следует использовать совместно с параметром -a |
|
Не требовать подтверждения действий и минимизировать количество записей в log-файл. Это может потребоваться, например, при использовании этой утилиты по расписанию |
|
Обновить структуру базы данных. Этот параметр используется совместно с параметрами -e, -f, -g и -i. Например: -uef |
|
Вывести в log-файл описание структуры БД новой версии NetUP 5+ |
|
Логин для соединения с ядром по протоколу URFA |
|
Пароль для соединения с ядром по протоколу URFA. Логин и пароль для соединения с ядром по протоколу URFA могут потребоваться только если они отличаются от указанных в конфигурационном файле ядра |
|
Вывод справки |
Работа с электронной почтой
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 |
|
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+ на вашем сервере. Суть проверки заключается в загрузке в базу данных параметров пяти пользователей и эмуляции работы этих пользователей в течение трёх месяцев. Необходимые данные для запуска контрольного примера входят в комплект поставки биллинговой системы.
Остановите сервисы, критичные к изменению даты на сервере. |
-
Остановите ядро биллинговой системы
utm5_core
. -
Установите дату на сервере на 00 часов 00 минут 1 апреля 2003 года.
date 0304010000
-
Для загрузки данных в базу выполните команды:
mysqladmin drop UTM5
mysqladmin create UTM5
mysql UTM5 < UTM5_MYSQL_kp.sql
mysql -f UTM5 < UTM5_MYSQL_update.sql -
Отредактируйте файл
kp.pl
. Укажите на каком порту ядро биллинговой системы принимает NetFlow-пакеты, а также путь к утилите, генерирующей NetFlow-пакеты –utm5_flowgen
(обычно/netup/utm5/bin/utm5_flowgen
). -
Запустите ядро биллинговой системы
utm5_core
. -
Запустите программу
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+ на вашем сервере. Суть проверки заключается в загрузке в базу данных параметров трех пользователей и эмуляции работы этих пользователей в течение трёх месяцев. Необходимые данные для запуска контрольного примера входят в комплект поставки биллинговой системы.
Остановите сервисы, критичные к изменению даты на сервере. |
-
Остановите ядро биллинговой системы
utm5_core
. -
Установите дату на сервере на 00 часов 00 минут 1 апреля 2003 года.
date 0304010000
-
Для загрузки данных в базу выполните команды:
mysqladmin drop UTM5
mysqladmin create UTM5
mysql UTM5 < UTM5_MYSQL_kp.sql
mysql -f UTM5 < UTM5_MYSQL_update.sql -
Отредактируйте файл
kp_dialup.pl
. Укажите на каком порту процессutm5_radius
принимает пакетыRadius Accounting
, а также путь к утилите, генерирующей RADIUS-пакеты –utm5_radgen
(обычно/netup/utm5/bin/utm5_radgen
). -
Запустите ядро биллинговой системы
utm5_core
и RADIUS-серверutm5_radius
. -
Запустите программу
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 |
Телефония
-
Для загрузки базы данных с данными для контрольного примера выполните команды:
mysql UTM5 < /netup/utm5/tests/UTM5_tel_kp_clean.sql
mysql -f UTM5 < /netup/utm5/UTM5_MYSQL_update.sql /dev/null 2>&1 -
Запустите RADIUS-сервер и ядро биллинговой системы.
-
Для загрузки тестовых данных из CDR-файла выполните команду:
/netup/utm5/bin/utm5_send_cdr -c /netup/utm5/utm5_send_cdr.cfg -s /netup/utm5/tests/src.cdr
В результате в базу данных будут загружены и протарифицированы телефонные звонки по двум тестовым абонентам в июле 2005 г.
-
Установите соединение с ядром через интерфейс администратора.
В системе должны присутствовать два тестовых абонента, телефонные направления и тарифные планы согласно времени суток и дням недели.
Телефонные направления
Зона | Префикс (код) |
---|---|
Москва(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 |
Санкт-Петербург (2) |
730 |
730 |
0,4 |
4,867 |
01.07.05 |
МТС (моб.) (3) |
4200 |
4200 |
0,3 |
21 |
01.07.05 |
Челябинск (4) |
174 |
174 |
0,6 |
1,74 |
02.07.05 |
Тюмень (5) |
724 |
724 |
0,6 |
7,24 |
03.07.05 |
Италия (6) |
601 |
601 |
1,1 |
11,018 |
04.07.05 |
Франция (7) |
3714 |
3714 |
1,6 |
99,04 |
05.07.05 |
Судан (8) |
24 |
30 |
2,9 |
1,45 |
06.07.05 |
Москва(1) |
64 |
64 |
0,1 |
0,107 |
07.07.05 |
Франция (7) |
7201 |
7201 |
1,6 |
192,027 |
08.07.05 |
МТС (моб.) (3) |
1925 |
1925 |
0,3 |
9,625 |
09.07.05 |
Челябинск (4) |
721 |
721 |
0,4 |
4,807 |
10.07.05 |
Челябинск (4) |
9 |
10 |
0,4 |
0,067 |
11.07.05 |
Италия (6) |
1372 |
1372 |
1 |
22,867 |
12.07.05 |
Челябинск (4) |
84 |
84 |
0,6 |
0,84 |
13.07.05 |
Судан (8) |
193 |
193 |
2,1 |
6,755 |
14.07.05 |
Франция (7) |
420 |
420 |
1,6 |
11,2 |
15.07.05 |
Челябинск (4) |
2352 |
2352 |
0,6 |
23,52 |
16.07.05 |
Италия (6) |
54 |
60 |
1,1 |
1,1 |
17.07.05 |
Москва(1) |
23 |
30 |
0,1 |
0,05 |
18.07.05 |
Москва(1) |
1325 |
1325 |
0,2 |
4,417 |
19.07.05 |
Тюмень (5) |
1271 |
1271 |
0,8 |
16,947 |
20.07.05 |
Санкт-Петербург (2) |
721 |
721 |
0,2 |
2,403 |
21.07.05 |
Италия (6) |
13 |
20 |
1 |
0,333 |
22.07.05 |
Москва(1) |
82 |
82 |
0,2 |
0,273 |
23.07.05 |
Санкт-Петербург (2) |
3 |
3 |
0 |
0 |
24.07.05 |
Судан (8) |
3125 |
3125 |
2,5 |
130,208 |
25.07.05 |
Судан (8) |
1099 |
1099 |
2,9 |
53,118 |
26.07.05 |
Санкт-Петербург (2) |
1221 |
1221 |
0,4 |
8,14 |
27.07.05 |
Москва(1) |
70 |
70 |
0,2 |
0,233 |
28.07.05 |
Санкт-Петербург (2) |
132 |
132 |
0,4 |
0,88 |
29.07.05 |
Москва(1) |
1925 |
1925 |
0,2 |
6,417 |
30.07.05 |
Италия (6) |
134 |
134 |
1,1 |
2,457 |
31.07.05 |
Москва(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 |
Москва(1) |
19 |
20 |
0,08 |
0,027 |
02.07.05 |
Франция (7) |
71 |
71 |
1,5 |
1,775 |
03.07.05 |
Москва(1) |
1234 |
1234 |
0,08 |
1,645 |
04.07.05 |
Италия (6) |
939 |
939 |
1,2 |
18,78 |
05.07.05 |
Москва(1) |
15 |
20 |
0,08 |
0,027 |
06.07.05 |
Санкт-Петербург (2) |
43 |
50 |
0,22 |
0,183 |
07.07.05 |
Судан (8) |
18 |
20 |
3,1 |
1,033 |
08.07.05 |
Санкт-Петербург (2) |
20 |
20 |
0,22 |
0,073 |
09.07.05 |
Москва(1) |
81 |
81 |
0,08 |
0,108 |
10.07.05 |
Тюмень (5) |
345 |
345 |
0,4 |
2,3 |
11.07.05 |
Италия (6) |
607 |
607 |
1,2 |
12,14 |
12.07.05 |
Челябинск (4) |
4521 |
4521 |
0,35 |
26,373 |
13.07.05 |
Санкт-Петербург (2) |
92 |
92 |
0,22 |
0,337 |
14.07.05 |
МТС (моб.) (3) |
165 |
165 |
0,3 |
0,825 |
15.07.05 |
Москва(1) |
13 |
20 |
0,15 |
0,05 |
16.07.05 |
Москва(1) |
441 |
441 |
0,08 |
0,588 |
17.07.05 |
Санкт-Петербург (2) |
1002 |
1002 |
0,2 |
3,34 |
18.07.05 |
Италия (6) |
1935 |
1935 |
1,5 |
48,375 |
19.07.05 |
Москва(1) |
11741 |
11741 |
0,15 |
29,353 |
20.07.05 |
Москва(1) |
4232 |
4232 |
0,15 |
10,58 |
21.07.05 |
Челябинск (4) |
261 |
261 |
0,5 |
2,175 |
22.07.05 |
Тюмень (5) |
594 |
594 |
0,4 |
3,96 |
23.07.05 |
Италия (6) |
334 |
334 |
1,2 |
6,68 |
24.07.05 |
Франция (7) |
955 |
955 |
1,5 |
23,875 |
25.07.05 |
Тюмень (5) |
1245 |
1245 |
0,7 |
14,525 |
26.07.05 |
Москва(1) |
6977 |
6977 |
0,15 |
17,443 |
27.07.05 |
Москва(1) |
1316 |
1316 |
0,15 |
3,29 |
28.07.05 |
Санкт-Петербург (2) |
2892 |
877 |
0,15 |
2,193 |
28.07.05 |
Санкт-Петербург (2) |
2892 |
2015 |
0,22 |
7,388 |
29.07.05 |
Италия (6) |
775 |
775 |
1,5 |
19,375 |
30.07.05 |
МТС (моб.) (3) |
231 |
231 |
0,2 |
0,77 |
31.07.05 |
Москва(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;
Объекты, перечисленные в |
Перед исправлением ошибок рекомендуется остановить ядро NetUP 5+ и создать резервную копию базы данных (по крайней мере, таблиц, задействованных в исправлении).
В простейшем случае исправление сводится к подаче log-файла верификатора на вход MySQL:
mysql UTM5 < /netup/utm5/log/verificator.log
Следует учесть, что некоторые SQL-запросы в log-файле по умолчанию закомментированы, так как их непосредственное применение может привести к потере данных. При наличии таких запросов следует проверять каждый случай по отдельности.
Архивирование таблиц списаний
Архивирование применяется к некоторым наиболее быстро растущим таблицам с целью снизить накладные расходы на операции вставки. В ходе архивирования таблица переносится (переименовывается) в архивную, и одновременно создаётся пустая (текущая) таблица с тем же названием и той же структурой для вновь поступающих данных. Операция может применяться периодически по мере роста таблиц. Ограничения описаны ниже.
В настоящий момент механизм архивирования распространяет своё действие на следующие таблицы:
Таблица | Тип | Название поля даты |
---|---|---|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
Чтобы произвести архивирование таблиц:
-
Подключитесь к NetUP 5+ через интерфейс администратора.
-
Перейдите Настройки ⇒ Системные ⇒ Архивирование БД.
-
Нажмите Создать в верхней части страницы, чтобы произвести архивирование.
Архивирование можно производить не чаще одного раза в 28 дней. Если соответствующая кнопка не активна, значит с момента предыдущего архивирования прошло менее 28 дней.
Если необходимо производить архивирование чаще, чем это позволяет делать интерфейс администратора, воспользуйтесь утилитой db_archiver
(см. Утилита db_archiver).
Интерфейс администратора
Вводная информация
Веб-интерфейс находится в разработке, поэтому раздел содержит описание только тех страниц, которые уже доступны. |
На страницах веб-интерфейса используются следующие иконки:
|
|
|
|
Кроме того, есть функциональные кнопки, например, или
Кликните по иконке или кнопке, чтобы открыть соответствующее диалоговое окно и выполнить необходимое действие.
Примеры выполнения действий, таких как добавить нового пользователя или подключить пользователю услугу, а также описание диалоговых окон смотрите в разделе Быстрый старт. |
Меню веб-интерфейса расположено в верхней части окна. В нём отображаются названия групп. Каждая группа объединяет несколько страниц:
Основное |
|
Тарификация |
|
Справочники |
|
Отчёты |
|
Оборудование |
|
Настройки |
Главная страница веб-интерфейса – Пользователи.
Состояние системы и статус лицензии
Веб-интерфейс администратора позволяет контролировать статус лицензии на биллинговую систему, а также состояние сервера и ОС.
Данный экран находится в меню: Основное ⇒ Общая информация
Доступна информация:
-
Общее доступное число абонентов и ЛС в вашей конкретной лицензии и сколько уже их создано
-
Дата окончания лицензии
-
Состояние ОЗУ, ТОП процессов
-
Статистика работы с БД
-
Просмотр информации о RADIUS-сессиях, кнопка их сброса и отправки PoD.
Абоненты
Страница отображает список пользователей (абонентов). ID пользователей выделены цветом: красный означает, что счета пользователя заблокированы, зелёный – не заблокированы, жёлтый – некоторые из счетов заблокированы, а некоторые нет.
Напротив каждого пользователя расположены кнопки:
⇒ внести обещанный платёж,
⇒ внести платёж на счёт пользователя,
⇒ выгрузить памятку пользователя,
⇒ удалить пользователя.
Кликните по кнопке, в открывшемся окне заполните необходимые поля и подтвердите выполнение соответствующего действия.
Кликните по строке с данными пользователя, чтобы развернуть панель, которая содержит подробную информация о нём.
На панели есть разделы: Пользователь, Тарификация и Отчеты. Каждый из разделов объединяет несколько вкладок. Перейдите на одну из них, измените данные пользователя и кликните Сохранить.
Раздел Пользователь объединяет следующие вкладки:
Основное |
ID пользователя, основной лицевой счёт, логин, имя, пароль и опция "Работа по предоплате". |
Дополнительные параметры |
Параметры для подключения IPTV: Lifestream user id / email, iptvportal login / password, Megogo user email. Также сюда можно добавлять собственные поля (Настройки ⇒ Системные ⇒ Дополнительно, "Добавить" с опцией "отображать в интерфейсе"). |
Контакты |
Полный адрес, телефон, email и т.п. |
Дополнительные контакты |
Например, контакты руководителя или бухгалтера. |
Личные данные |
Банковский счёт, данные паспорта, ИНН, банк, КПП, дата подключения и персональный менеджер. |
Группы |
ID и наименование групп, в которые включён пользователь. |
Другое |
Профиль документов, удалённый коммутатор, порт, валюта. |
Документы |
ID документа, ID шаблона, дата создание и наименование документа, путь к нему и его тип. |
Информация |
Дата и время создания пользователя, дата и время последнего изменения его данных. |
Раздел Тарификация объединяет следующие вкладки:
Лицевые счета |
ID и баланс лицевых счетов пользователя, сумма кредита и тип блокировки. |
Услуги |
ID, название и тип услуги, включена ли услуга в тарифный план, стоимость услуги, ID связки и ID расчётного периода. |
Тарифы |
ID связки, ID текущего и следующего тарифного плана, расчётный период. |
Технические параметры |
Произвольные параметры, ассоциированные с лицевым счётом пользователя. Значения технических параметров можно подставлять в команды для управления сторонним ПО, отправляемые системой при определённых событиях. |
Коды активации IPTV |
Список кодов активации для карты доступа, закреплённой за выбранным лицевым счётом. |
Отчеты разделены на три группы:
Платежи |
Платежи, движение средств, сгорающие платежи, другие списания и документы (счёт, счёт-фактура, акт о выполненной работе и детальный отчёт). |
Услуги |
Основной, услуги, индивидуальные услуги, трафик, детальный трафик, телефония, телефонные направления. |
Другое |
Блокировки, изменения пользователей, сессия и DHCP аренда. |
Установите параметры для фильтра и кликните Генерировать, чтобы сформировать отчёт.
Для выгружаемых CSV-отчётов доступна настройка внутреннего разделителя: Настройки ⇒ Cистемные ⇒ основное ⇒ прочее: выбор разделителя в csv.
Полезные ссылки: Базовые объекты ⇒ Классы пользователей |
Удаление (архивация) абонентов
Удаление пользователя физически ничего не удаляет из базы данных! Фактически, присвоение этого статуса переводит его в разряд "архивных". |
При удалении пользователя через веб-интерфейс у него автоматически отключается все имеющиеся услуги.
-
Перейдите на страницу Абоненты и найдите нужного абонента в списке.
-
В строке с данными пользователя кликните по кнопке его удаления.
-
Подтвердите удаление в открывшемся окне.
После данной процедуры абонент попадает в список "Удалённые". В случае необходимости его можно восстановить, собрать необходимые отчёты и т.д.
Системные пользователи
У системного пользователя есть следующие параметры:
-
ID системного пользователя.
-
Логин и Пароль для входа в биллинг.
-
IPv4 подсеть, IPv6 подсеть – адрес подсети, из которой разрешается доступ пользователю.
-
Группы – список системных групп, в которые входит пользователь.
Изменения, внесённые в список системных групп, вступают в силу только после перезапуска ядра NetUP 5+.
-
API-токен
Кликните в строке с данными системного пользователя. В открывшемся окне Вы можете увидеть все параметры выбранного пользователя и изменить их, если это необходимо.
Полезные ссылки: Базовые объекты ⇒ Классы пользователей |
Лицевые счета
Кликните по строке с данными лицевого счёта, чтобы развернуть панель, которая содержит подробную информация о выбранном счёте. На панели есть три вкладки:
Основное |
ID лицевого счета, сумма кредита, баланс, ставка НДС, внешний ID и ставка НСП. |
||
Настройки IPTV |
Карта доступа IPTV, Irdeto IPTV, Irdeto IPTV STB. |
||
Состояние |
Безлимитный режим (все списания с клиента производить по нулевой стоимости), интернет, тип блокировки и даты блокировки.
|
Полезные ссылки: Базовые объекты ⇒ Лицевой счёт |
Пул карт оплаты
Страница содержит список пулов карт оплаты. Пользователи могут активировать карты оплаты для пополнения своего баланса.
У пула есть следующие параметры: ID, Количество карт в пуле, сколько Активировано карт, когда пул Создан и Обновлён.
Вы можете добавлять новые пулы карт оплаты в биллинг и редактировать существующие.
Обратите внимание, что созданные пулы нельзя удалить, но можно очистить пул от просроченных карт, кликнув по соответствующей кнопке. |
Полезные ссылки: Базовые объекты ⇒ Карты оплаты |
Группы
Страница содержит список групп, в которые можно объединять пользователей, чтобы проводить групповые операции, например, включить или выключить интернет, изменить тарифный план или политику списания для всей группы пользователей.
Вы можете создавать новые группы и удалять их из биллинга. Во время добавления группы Вам необходимо указать ID и Название для неё.
Кликните напротив одной из существующих групп, чтобы увидеть список пользователей, включённых в неё.
Чтобы исключить пользователя из группы, найдите его в списке и кликните .
IP-группы
Страница содержит список IP-групп, созданных в составе сервисных связок услуг передачи трафика.
Телефонные номера
Страница содержит список телефонных номеров, созданных в составе сервисных связок услуг.
Услуги / Тарифы
Страница Услуги / Тарифы объединяет следующие вкладки:
Подробнее о каждой вкладке читайте ниже.
Услуги
Вкладка содержит список разовых и периодических услуг, которые могут быть подключены абонентам вне тарифного плана.
Удалить можно только ту услугу, которая не используется. |
У услуг есть основные и специфичные параметры:
Основное |
|
||||||||
Разовая услуга |
|
||||||||
Периодическая услуга |
|
||||||||
Услуга передачи IP-трафика |
|
||||||||
Услуга hotspot |
|
||||||||
Услуга dial-up |
|
||||||||
Услуга телефонии |
|
||||||||
Услуга IPTV |
|
||||||||
Услуга видео по запросу |
|
||||||||
Услуга заморозки средств |
|
Подробнее о назначении услуг читайте в Базовые объекты ⇒ Услуги. |
Шаблоны услуг
Вкладка содержит список шаблонов, на основании которых в тарифные планы можно добавлять услуги.
Удалить можно только тот шаблон, который не используется. |
У шаблона есть все те же параметры, что и у услуги соответствующего типа (см. предыдущий раздел), а также следующие опции:
-
Подключать по умолчанию – автоматически подключать услугу при создании тарифной связки.
-
Разрешить множественное подключение – разрешить подключать данную услугу более одного раза.
Тарифные планы
У тарифного плана есть следующие параметры:
-
ID – присваивается автоматически.
-
Название тарифа.
-
Комментарий.
-
Создан, Изменён – дата создания и дата последнего изменения тарифного плана.
-
Создал, Изменил – логин системного пользователя, создавшего или последним изменившего тарифный план.
-
Опция Обнулять баланс в конце расч. периода – если включена, то баланс лицевого счета, связанного с таким тарифом, будет обнулён при закрытии расчётного периода.
-
Услуги, входящие в тарифный план.
В тарифный план можно включить только услуги, созданные на основе шаблона. |
В состав тарифного плана не могут входить две услуги, происходящие от одного и того же шаблона. |
Услуги в тарифах
Вкладка содержит список услуг, включённых в тарифные планы.
Над списком расположены ⇒ найти услугу в списке, а напротив услуг –
⇒ редактировать и
⇒ удалить.
Пользовательский тарификатор
Доступен с версии 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
предназначена для отладки скрипта и позволяет не перезапускать ядро каждый раз при его изменении.
Настоятельно не рекомендуется включать опцию |
Рабочая папка скрипта /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
-
Межабонентский трафик – возможные значения: На получателя, На отправителя, Обоим.
-
Название класса трафика
-
Опция Не сохранять первичную информацию – если включена, то детальная информация по трафику данного класса не будет сохраняться. Актуально для трафика, стоимость которого равна нулю или детализация по которому не может понадобиться (например, локальный трафик). Позволяет уменьшить размер файлов с первичной информацией.
-
Временной диапазон – если назначен, класс трафика будет действовать только в указанное время.
-
Цвет на графике, которым будет отображаться график для трафика данного класса в графических отчётах.
-
Опция Показывать – если включена, трафик данного класса будет отображаться в графических отчётах.
-
Опция Заливать определяет тип заливки графика для трафика данного класса в графических отчётах.
К классу можно добавить Подклассы со следующими параметрами:
Источник, |
|
Общая часть |
|
Тип 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-зоны, в которые дом включён.
Улицы
Вкладка содержит список зарегистрированных в биллинге улиц.
У улицы есть следующие параметры: Страна, Область, Город, Улица.
Банки
Зарегистрированные в биллинге банки можно привязывать к пользователю на вкладке Пользователь ⇒ Личные данные.
У банка есть следующие параметры: БИК, Имя, Город, Кор.счёт.
Платежи
В верхней части окна расположены настройки фильтра:
-
количество записей на страницу,
-
произвольный временной интервал,
-
промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,
-
группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;
-
тип документа: Счёт / счёт-фактура / акт о выполненной работе / детальный отчёт, если нужен отчёт о выданных документах.
Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.
Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт. |
Наименование | Назначение отчёта | Данные в отчёте: |
---|---|---|
Платежи |
Отчёт по платежам предоставляет информацию о зачисленных на лицевые счета пользователей средствах за заданный промежуток времени |
|
Платежи абонентов |
Отчёт по платежам абонентов составляется согласно таблице payment_orders, полезно для сопоставления платежей между ПС и биллингом. |
|
Движение средств |
Отчёт о движении средств предоставляет информацию о платежах, произведённых самими пользователями через веб-интерфейс |
|
Сгорающие платежи |
Данный отчёт предоставляет информацию по сгорающим платежам за выбранный период |
|
Другие списания |
Данный отчёт предоставляет информацию о списаниях, не связанных с услугами. В отчёт включаются списания по следующим причинам:
Кроме этого, в отчёт входят поступления средств в результате возврата за время блокировки, если для какой-либо из сервисных связок пользователя настроена соответствующая опция пересчёта. |
|
Документы |
На вкладке можно сформировать следующие типы отчётов:
|
|
Услуги
В верхней части окна расположены настройки фильтра:
-
количество записей на страницу,
-
произвольный временной интервал,
-
промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,
-
группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;
-
тип трафика: С группировкой по IP / часам / дням / месяцам / группам, если нужен отчёт о трафике;
-
коллектор трафика в детальном отчёте о трафике.
Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.
Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт. |
Наименование | Назначение отчёта | Данные в отчёте: |
---|---|---|
Основной |
Данный отчёт предоставляет информацию о движениях по лицевым счетам пользователей за заданный промежуток времени. |
|
Услуги |
Отчёт по услугам предоставляет информацию о списаниях с лицевых счетов пользователей за оказание разовых и периодических услуг за определённый промежуток времени |
|
Индивидуальные услуги |
Данный отчёт предоставляет информацию о списаниях, производимых по запросу модуля интеграции с системой Rentsoft |
|
Трафик |
Данный отчёт предоставляет информацию об объёмах переданного IP-трафика для каждого лицевого счёта и класса трафика за заданный промежуток времени |
|
Детальный трафик |
Детальный отчёт по трафику строится на базе исходных данных о переданном трафике. |
|
Телефония |
Отчёт по телефонии базируется на статистике сервера RADIUS и суммирует данные о телефонных звонках. |
|
Телефонные направления |
Данный отчёт содержит сводные данные о звонках по различным телефонным направлениям |
|
Другое
В верхней части окна расположены настройки фильтра:
-
количество записей на страницу,
-
произвольный временной интервал,
-
промежуток времени, который совпадает с одним из расчётных периодов: Текущий день / неделя / месяц / год,
-
группа пользователей, если в отчёт нужно вывести данные только по конкретной группе;
-
тип изменения пользователей для отчёта об изменении пользователей.
Определив настройки фильтра, нажмите Генерировать, чтобы сформировать отчёт.
Чтобы сформировать отчёт по одному пользователю, перейдите на вкладку Основное ⇒ Пользователи, найдите пользователя в списке, перейдите на вкладку одного из отчётов, настройте фильтр и сгенерируйте отчёт. |
Наименование | Назначение отчёта | Данные в отчёте: |
---|---|---|
Блокировки |
Отчёт предоставляет информацию обо всех блокировках, осуществлённых за заданный период времени |
|
Изменения пользователей |
Отчёт предоставляет сведения об изменениях характеристик пользователей и некоторых других системных объектов (услуг, тарифных планов, политик списания) за выбранный период |
|
Сессия |
Отчёт по модемным сессиям и сессиям VPN, который базируется на статистике сервера RADIUS и суммирует данные о сессиях коммутируемого доступа |
|
DHCP аренда |
Данный отчёт предоставляет историю аренды IP адресов, выдаваемых встроенным DHCP сервером |
|
Профили
Вкладка содержит список профилей оборудования.
У профиля есть следующие параметры:
-
Наименование коммутатора.
-
Ёмкость портов – количество портов в данном профиле. Можно указать несколько значений через запятую.
-
Опция Нумерация портов с нуля.
-
На вкладках REMOTE ID, PORT ID и VLAN ID, если включена опция Активировать, доступны следующие параметры:
-
Тип – String или Binary (строковый или бинарный).
-
Расположение – опция, относительно начала которой отсчитывается смещение при чтении параметра. Началом опции считается её код. Если выбрано значение Option 82, смещение отсчитывается от начала всей опции 82.
-
Смещение в байтах, указывает на начало данного параметра относительно начала выбранной опции.
-
Длина параметра в байтах.
-
Коммутаторы
Вкладка содержит список добавленных в биллинг коммутаторов.
У коммутатора есть следующие параметры:
Вкладка | Параметры: |
---|---|
Основное |
|
Параметры оборудования |
|
Параметры доступа |
IP, логин и пароль для доступа к коммутатору. Эти параметры можно использовать в правилах firewall. |
Использование портов |
после добавления коммутатора в биллинг, ему присваивается ID и в свойствах появляется вкладка Использование портов, которая отображает количество свободных и занятых портов. |
Привязанные пулы |
ID пула и шлюз. |
DHCP опции |
ID, тип и значение дополнительных опций DHCP. Добавленные опции будут включены в DHCP-ответ, если DHCP-клиент добавит их в список запрашиваемых опций. |
DHCP пулы
Вкладка содержит список добавленных в биллинг DHCP пулов.
У DHCP пула есть следующие параметры:
Вкладка | Параметры: |
---|---|
Основные параметры |
|
Динамические диапазоны |
|
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, Версия Б)
Адрес для платежей: IP_биллинга/customer_api/callbacks/osmp/sberbankv1b
Сбербанк-эквайринг
С версии 5.5.003 стал доступен вариант авторизации с помощью Token’ов.
Как правило, для настройки интеграции Сбербанк предлагает следующий опросник:
Для настройки параметров в веб-интерфейсе администратора выберете:
Описание параметров к заполнению:
-
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+ выберете:
Сюда необходимо вносить значения, описание которых будут далее.
2) Зайдите в личный кабинет на сайте Робокассы, откройте настройки:

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
Адрес callback: domain/customer_api/callbacks/osmp/uzpaynet
Быстрый старт
Веб-интерфейс находится в разработке, поэтому раздел содержит описание только тех действий, которые уже доступны |
Добавить нового пользователя (абонента)
-
Перейдите на страницу Основное ⇒ Пользователи и кликните
над списком пользователей.
-
В открывшемся окне впишите логин, имя пользователя и установите пароль.
-
Включите опцию Работа по предоплате, если это необходимо.
-
Нажмите Сохранить и пользователь появится в общем списке.
-
Настройте параметры лицевого счёта пользователя. Кликните по строке с данными пользователя и перейдите на вкладку Тарификация ⇒ Лицевые счета. Кликните по строке с данными лицевого счёта, чтобы перейти к редактированию его параметров, внесите необходимые изменения и нажмите Сохранить.
Добавить лицевой счёт пользователю
-
Найдите пользователя в списке – впишите в поле поиска любые сведения о пользователе и нажмите
-
Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Лицевые счета.
-
Кликните
над списком лицевых счетов и в открывшемся окне заполните необходимые поля:
Кредит
Кредит счёта. Можно изменить вручную или посредством совершения платежа с методом Кредит. По умолчанию – 0 (ноль).
Ставка НДС
Налог на добавленную стоимость, применяемый при выписывании счетов. По умолчанию – 0 (ноль).
Внешний ID
Идентификатор счёта для интеграции с какими-либо внешними системами. По умолчанию – пустая строка.
Ставка НСП
Налог с продаж, применяемый при выписывании счетов. По умолчанию – 0 (ноль).
Интернет
Статус интернета: включён или выключен. По умолчанию – включён.
Тип блокировки
Статус блокировки: не заблокирован или административная блокировка. По умолчанию – не заблокирован.
Авт. включать
Опция, которая позволяет настроить автоматическое включение интернета при пополнении счета и выходе из блокировки. По умолчанию – не включена.
Безлимитный режим
Опция, которая позволяет все списания с клиента производить по нулевой стоимости. По умолчанию – не включена.
-
Нажмите Сохранить.
Подключить услугу пользователю
-
Найдите пользователя в списке.
-
Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Услуги.
-
Кликните
и в открывшемся окне выберите одну из доступных услуг, а затем нажмите Ok, чтобы открыть окно с параметрами выбранной услуги. Если необходимо, измените параметры услуги, заполните поля и нажмите Ok, чтобы добавить услугу – создать сервисную связку.
Выгрузить памятку пользователя
-
Перейдите на страницу Пользователи и найдите пользователя в списке.
-
В строке с данными пользователя кликните
-
В открывшемся окне переименуйте файл, если это необходимо, выберите формат файла (.pdf или .odt) и нажмите Скачать
Внести платёж на счёт пользователя
-
Перейдите на страницу Пользователи и найдите пользователя в списке.
-
В строке с данными пользователя кликните
-
В открывшемся окне выберите лицевой счёт из списка, чтобы открыть форму для внесения платежа, и заполните необходимые поля:
Платеж
Впишите сумму платежа. По умолчанию – 0 (ноль).
Валюта
Список валют, которые занесены в биллинг. По умолчанию – рубль (RUR).
Дата платежа
По умолчанию – текущая дата.
Дата сгорания
Включите опцию и укажите дату истечения платежа. По умолчанию эта дата не установлена.
Метод платежа
Выберите метод из списка. По умолчанию – Cash payment.
Другие настройки
Комментарии
Впишите комментарии для администратора и пользователя, если это необходимо.
Внешний номер платежа
Если платёж производится согласно внешнему платёжному документу, введите номер этого документа.
Номер счета
Если платёж производится по счёту, зарегистрированному в системе, выберите номер этого счёта из списка.
Включить интернет
Включите опцию, если необходимо включить интернет для пользователя. Интернет будет подключён при условии, что баланс пользователя станет положительным после внесения данного платежа.
-
Нажмите Сохранить.
Внести обещанный платёж
-
Перейдите на страницу Пользователи и найдите пользователя в списке.
-
В строке с данными пользователя кликните
, чтобы открыть соответствующее окно.
-
Впишите сумму обещанного платежа и нажмите Сохранить.
Подключить пользователю тариф
-
Перейдите на страницу Пользователи и найдите пользователя в списке.
-
Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Тарифы.
-
Если у пользователя несколько лицевых счетов, выберите из списка лицевой счёт, к которому хотите привязать тариф, а затем кликните
.
-
В открывшемся окне выберите Текущий тарифный план, Следующий тарифный план (или оставьте Не менять) и Расчётный период, а затем нажмите Ok, чтобы создать тарифную связку.
-
Для каждой включённой в тариф услуги появится окно, в котором Вы можете изменить параметры услуги, если это необходимо. Нажмите Ok, чтобы добавить услугу, или нажмите Отмена, чтобы исключить услугу из тарифного плана для данного пользователя.
Создать класс трафика
-
Перейдите на вкладку Тарификация ⇒ Другое ⇒Классы трафика и нажмите
над списком классов.
-
В открывшемся окне укажите идентификатор класса (например, 15), название класса (например, Ночной входящий), выберите временной диапазон, (например, Ночь) и добавьте подклассы трафика.
-
Нажмите над списком подклассов трафика
. В открывшемся окне, на вкладке Адресат введите IP-адрес и маску подсети для локальной сети, а на вкладке Источник, введите IP-адрес и маску подсети для источника трафика (например, введите 0.0.0.0/0 если источник трафика не имеет значения) и нажмите Ok.
-
Установив все необходимые параметры, нажмите Ok в окне создания класса трафика, чтобы добавить его в биллинг.
Создать услугу передачи IP-трафика
-
Перейдите на страницу Тарификация ⇒ Услуги/Тарифы и нажмите
над списком услуг.
-
В открывшемся окне выберите тип услуги Услуга передачи IP-трафика и нажмите Ok.
-
В окне свойств услуги, ведите наименование, комментарий и выберите юр.лицо (наименование вашей компании).
-
Перейдите на вкладку Параметры услуги и укажите стоимость услуги, момент списания оплаты и, если необходимо, заполните другие параметры или оставьте значения по умолчанию.
-
Перейдите на вкладку Границы тарификации и нажмите
. В открывшемся окне выберите класс трафика для границы, объём трафика (0), и стоимость трафика, превышающего границу, в валютных единицах за мегабайт. Нажмите Ok.
-
Если нужно добавить предоплаченный трафик, перейдите на вкладку Предоплаченный трафик и нажмите
. В открывшемся окне выберите класс и объём трафика, а также укажите сколько трафика можно накапливать. Нажмите Ok.
-
Установив все необходимые параметры, нажмите Ok в окне создания услуги, чтобы добавить услугу в биллинг.
Создать услугу NetUP IPTV и подключить её пользователю
-
Перейдите на страницу Тарификация ⇒ Услуги/Тарифы и нажмите
над списком услуг.
-
В открывшемся окне выберите тип услуги Услуга IPTV и нажмите Ok.
-
В окне свойств услуги, ведите наименование, комментарий и выберите юр.лицо (наименование вашей компании).
-
Перейдите на вкладку Параметры услуги и укажите стоимость услуги, момент списания оплаты, используемую систему IPTV ⇒ NetUP и выберите нужный медиа-контент или группу контента, к которым нужно предоставить доступ пользователям этой услуги. Если необходимо, заполните другие параметры или оставьте значения по умолчанию. Установив все необходимые параметры, нажмите Ok, чтобы добавить услугу в биллинг.
-
Перейдите на страницу Пользователи и найдите в списке пользователя, которому хотите подключить услугу IPTV.
-
Кликните по строке с данными пользователя и перейдите Тарификация ⇒ Лицевые счета.
-
Если у пользователя несколько лицевых счетов, выберите из списка лицевой счёт, к которому хотите привязать услугу и перейдите на вкладку Настройки IPTV.
-
Нажмите
напротив Карта доступа IPTV и в поле отобразится номер карты доступа для данного лицевого счёта.
-
Перейдите Тарификация ⇒ Услуги и нажмите
над списком подключённых пользователю услуг.
-
Выберите созданную вами услугу IPTV из списка, в открывшемся окне выберите расчётный период и нажмите Ok.
Добавить пул карт оплаты
-
Перейдите на страницу Основное ⇒ Пулы карт оплаты и нажмите
над списком пулов.
-
В открывшемся окне заполните необходимые поля:
Количество карт
Число генерируемых карт. По умолчанию – 100 (сто).
Баланс
Стоимость карты. Обязательное поле.
Валюта
Валюта стоимости карты. По умолчанию – рубль (RUR).
Длина ПИН-кода
Количество цифр для ПИН-кода карты. По умолчанию – 8 (восемь).
Для генерации ПИН-кодов предусмотрена опция Уникальные ПИН-коды. Включите её, чтобы гарантировать уникальность ПИН-кодов.Случайные номера
Включите опцию, чтобы генерировать случайные номера (идентификаторы) для карт. По умолчанию – опция отключена, идентификаторы карт идут подряд.
Активировать до
Дата и время действия карт. По умолчанию – текущие дата и время. Включите опцию Не установлено, если не хотите ограничивать срок действия карт.
Дней использования
Срок истечения платежа, который вносится при активации карты. Если установлено нулевое значение, при активации вносится несгорающий платеж. По умолчанию – 0 (ноль).
ID тарифа
Тариф, который будет подключён карточному пользователю после активации карты и регистрации в биллинге.
Если в тариф, привязанный к карте, входят услуги с периодической составляющей, при регистрации карточного пользователя они будут привязаны к системному периоду (01.01.1970 – 19.01.2038). Поэтому имеет смысл включать в эти тарифы только такие услуги, периодической составляющей стоимости которых можно пренебречь.
-
Нажмите Ok и новый пул появится в общем списке.
Добавить политику списания
Для создания политики списания:
-
Перейдите на страницу Политики списания в группе страниц Тарификация.
-
Нажмите кнопку
. Откроется окно параметров политики списания.
-
Введите наименование политики списания.
-
В группе опций Пересчет при создании сервисной связки отметьте нужные опции, если требуется, чтобы при создании связки происходил пересчёт соответствующих параметров.
-
В группе Не списывать при отсутствии блокировки отметьте опцию Абон.плата, если во время блокировки пользователя с его счета должно происходить списание оплаты за какие-либо услуги.
Данное условия работает только в случае, когда для блокировки, которая применяется к абоненту, выбрано условие Пересчитывать абонентскую плату |
Пример: к абоненту применена Пользовательская блокировка. Чтобы во время данной блокировки происходило списание абонентской платы необходимо выбрать следующие опции: Не списывать при отсутствии блокировки абон. плату и Пересчитывать абон.плату в группе опций Пересчет при блокировке, на вкладке с настройками для Пользовательской блокировки.
-
В группе опций Пересчет при блокировке для каждого вида блокировки (Административная, Пользовательская и Системная) выберите необходимые опции:
-
Не списывать абон. плату - пока лицевой счет находится в блокировке
-
Пересчитывать абон. плату - пропорционально времени, проведенному в блокировке в пределах учетного периода
-
Пересчитывать предоплаченный трафик - аналогично абонентской плате, пересчитывать объем предоплаченного трафика
-
Пересчитывать предоплаченные звонки - аналогично абонентской плате, пересчитывать длительность предоплаченных звонков
-
-
В группе опций Возврат средств выберите события, при которых должен происходить возврат средств пользователю в случае излишнего списания.
-
В настройках системной блокировки выберите опцию Устанавливать при недостатке средств.
-
Нажмите Сохранить. Создание политики списания завершено.
Редактировать пул карт оплаты
-
Перейдите на страницу Основное ⇒ Пулы карт оплаты и кликните
напротив одного из пулов, чтобы открыть окно редактирования.
-
В открывшемся окне есть следующие возможности:
-
нажмите
над списком карт, если хотите добавить карты в выбранный пул;
-
кликните по строке с данными карты и нажмите Заблокировать или Разблокировать, чтобы выполнить соответствующее действие;
-
нажмите
над списком владельцев карт в нижней части окна, если хотите добавить в список системного пользователя, который имеет право производить автоматическую регистрацию пользователей на основании карт из этого пула;
-
кликните
напротив системного пользователя, чтобы удалить его из списка владельцев.
-
-
Нажмите Ok, чтобы сохранить внесённые изменения.