UTM 5.3 005 - Eng PDF
UTM 5.3 005 - Eng PDF
billing system
v. 5.3-005
Contents
1 License agreement
.................................................................8
2 Introduction
Intended audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Notation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
List of terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 System description
How to Connect the System to the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Structure of the UTM Billing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
UTM Remote Function Access (URFA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
User’s rights. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Version policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
External charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 Basic system objects
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
System users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
System groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Prepaid cards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Traffic classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Accounting periods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Tariff plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Tariff plans compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Charge policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Periodic cost component recalculating rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Recalculation on block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Repay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
System block settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Time ranges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Coefficient scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Currencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Payments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IP addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2
3
4
5
6
7
License agreement 3
This License agreement (hereinafter "the Agreement") is a legal agreement made between you (natural or legal person,
hereinafter "the user") and NetUP company (hereinafter "NetUP") concerning the above software NetUP product, and
including the software, print materials, and any inline or electronic documentation (hereinafter "the product").
1. License scope.
1.1. One product set may be installed on only one computer.
1.2. The product is considered used if it is loaded in the RAM memory, or stored on hard disk, CD or other storing
device of a certain computer.
1.3. The user has a right to create an archive copy intended exclusively for individual use for the product recovery
or storing it on hard disk on condition that the original copy is stored as backup or archive copy.
2. The user rights and warranty services are rendered only to the registered users.
3. This license also refers to the original product updates and add-ons provided by NetUP, if not specified otherwise in
the accompanying documents.
4. The user may install a copy of the product on a second workstation for testing purposes. The user may NOT sell,
lease, rent or share his license with a third party.
5. Sharing or distributing the product or any part of it or the license key files is prohibited.
6. It is not allowed to disclose the technology or decompile the product, except in cases when despite this restriction
in the license agreement it is explicitly allowed by the active legislation, and to the degree that is clearly defined
therein.
7. NetUP has a right to terminate this agreement when its provisions and terms are violated by the user. In this case,
the user is obliged to destroy all available product copies and its components. Copyright infringement can lead to
substantial penalties according to Russian and international legal policies.
8. The user agrees that NetUP has a right to collect and use at its own discretion the technical data supplied by the
user to the support department of NetUP.
9. To the maximum degree allowed by the active legislation and under no circumstances, NetUP and its vendors are
liable for any special, occasional, direct or indirect damage, or loss (including without limitations the following: loss
of profit; loss of confidential or other information; loss caused by breakages in commercial or production
operations; damage to health; violation of privacy; non-fulfillment of any obligation including obligation to act
conscientiously and with reasonable precautions; loss caused by negligence; and any other property or other kind
loss) in result of use or impossibility to use the product, rendering or non-rendering maintenance services, or in
other cases envisaged or related to provisions of this license agreement, including violation of obligation, civil
offence (including negligence), impersonal (independent of guilt) liability for some damage, violation by NetUP or
its vendor of any contract or warranty liabilities, even if NetUP or its vendors have been notified in advance of this
possible damage. NetUP and its vendors are not liable and bear no obligations in case of this product unauthorized
use, which is not envisaged by this agreement.
10.This agreement becomes valid on the moment of installing the product.
11.All property rights, author's rightsfor this product and in relation to it belong to NetUP or its vendors. This product is
provided for use ("licensed"), not for sale.
12.Installation and maintenance of the product is provided by NetUP under a separate agreement.
13.License validity period is equal to the useful lifetime of the product according to technical conditions and is 9 years
since generation of the license key.
8
Intended audience
Introduction 4
Intended audience
The present manual is intended for the providers of Internet and telephony services using the UTM5 billing system. The
document covers basic functionality of UTM5 v. 5.3-004, as well as the typical necessary actions during its startup,
deployment, and operation.
Notation conventions
The following elements are emphasized in the text:
Terms (on first occurrence)
Interface strings
Hyperlinks
Inline code pieces and commands
Code blocks
Notes
Generic warnings
List of terms
Networking
– DNS – (Domain Name Service) is a distributed system that translates human-readable domain names to numerical
IP addresses.
– TCP/IP – (Transmission Control Protocol / Internet Protocol) is a stack of protocols used in computer networks.
– HTTP – (Hypertext Transport Protocol) is an application layer network protocol.
– HTTPS – (HTTP Secure) is extension of HTTP enabling encrypted communication.
– UDP – (User Datagram Protocol) is a transport level network protocol used to transfer data without guaranteed
reliability.
– TCP – (Transmission Control Protocol) is a transport level network protocol used for reliable and ordered transfer
of data.
– MAC – (Media Access Control) is a level of communications system that provides addressing and channel access
control mechanisms.
– MAC address – is a unique identifier assigned to network interfaces for communications on the physical network
segment.
– SSL – (Secure Socket Layer) is a cryptographic network protocol.
– Switch – is a networking device that connects network segments.
9
List of terms
Other terms
– XML – (eXtensible Markup Language) is a language for representing structured data.
– Database – is a system that organizes and stores large amounts of data.
– Cluster – is a group of connected computers used as a single computing facility.
– Billing system – is a system that automatically accounts for the use of services and sends bills to the customers.
– ISO – is the International Organization for Standardization.
– ANSI – is the American National Standards Institute.
10
How to Connect the System to the Network
System description 5
How to Connect the System to the Network
A versatile nature of the billing system allows integrating it into existing or intended network infrastructure in various
ways. UTM5 can work with various hardware- and software-based routers and it doesn't limit the number of
communication paths (accounted for simultaneously) and types of devices arranging these paths. Hereinafter the main
commonly used variants are examined.
– Local network is connected to the Internet via a hardware-based router supporting statistics collection
Cisco, MikroTik, NSG, Revolution and other routers typically support export of the traffic statistics. In that case the
server with the billing system may be installed either inside or outside the local network (e.g. in the head office available
via Internet). Statistics is collected and routers are monitored remotely.
– Local network is connected to the Internet via switch or hardware-based router not supporting statistics collection.
This type of connection allows installing the billing system on a router or on a remote server. Statistics is read from a
router interface and processed by a local machine (in the former case), or it is transmitted via the network and
processed by another server (in the latter case).
Alongside with the above mentioned ways of local networks’ traffic counting, there are many other ways, e.g. counting
of uplinks, or any combination of the presented ways.
– Client connects to the Internet via dial-up
In this case the access server may be either Cisco or a PC-router with connected modems. Authorization of a user is
performed via RADIUS protocol. Tariffication is based either on connection time or on traffic.
11
Structure of the UTM Billing System
Administrator’s
Cisco router interface
NetFlow NetFlow v5 or v9 Dealer’s
provider interface
rsh Cashier’s
Firewall
interface
VPN
NAS utm5_tray
Core
Stream utm5_send_traffic
DHCP Stream server
server
NetFlow buffer utm5_send_cdr
NXT (NetUP XML Transaction) – an application level protocol, using TCP as a transport protocol and SSL for data
encryption and sender authentication. A transaction is the basic data exchange unit. Each transaction may be
addressed to one or more system components and includes a set of events intended for processing by the receiving
component.
Stream - is a binary application level protocol, using TCP as the transport level protocol and meant for synchronous
communication.
12
UTM Remote Function Access (URFA)
User’s rights
Users of the system are split into two types: ordinal users (clients, subscribers) and administrators (system users).
Depending on the type, a user has some list of permitted operations. The clients are permitted to execute operations
with the identifier more than 0x80000000; other operations are accessed by administrators only. Only system users
are allowed to communicate over Stream, NXTv1 and NXTv2 protocols.
Version policy
Every new major release of UTM5 is preceded by the release candidate version(s), which are suitable for early feature
testing but not recommended to use in production. These are followed by the release version. If any critical problems
are discovered later, one or more update versions may be issued; these contain no new functionality as compared to
the release version, only the bug fixes.
It is recommended to install the latest update, or just the latest release if there are no updates to it.
Logging
If some system component needs to leave a log message, it passes the event level and message text to the logging
module.
Following event levels exist:
The logging module puts the text to the appropriate log stream, depending on the module settings and the event level.
The stream is associated with certain file also specified in the module settings. By default all streams are associated
with the standard error stream.
13
External charges
Some components may activate the built-in mechanism of log file rotation. At that, after logging an event the module
checks file size against some specified threshold. If the file size exceeds the threshold, the file is closed and renamed
to include a certain suffix. If the number of files is limited, the suffix is “ .0 " If the number of files is unlimited. the suffix
is " .<timestamp> ", where .<timestamp> is the Unix Time Stamp of file closing time. If a file with such suffix already
exists, the suffix is incremented. After that the number of files is also checked and older files are removed if the number
exceeds the limit.
Logging settings for each particular module are described in more detail later on.
External charges
UTM5 contains an integration module intended to work with Rentsoft system, which is a distributor of software and
digital content. The charges for the subscription are made along with the charges for the Internet services. Services
provided by Rentsoft are not included in the list of UTM5 services. The corresponding charges, however, are registered
and gathered in a special report, see Administrator’s interface: Custom charges report on page 66. The invoices
for these charges are issued immediately upon the charge-off.
For more details on the possible settings and parameters of the integration module, see:
rentsoft.ru/provider/new/netup_netup300/
14
Introduction
First group is composed of the objects having immediate effect on the system’s functioning, and includes:
– Traffic classes (page 17);
– Telephone zones;
– Telephone directions;
– Time ranges (page 23).
Second group contains the objects which affect the system indirectly, including:
– Tariff plans (page 18);
– Accounting periods (page 18);
– Services (page 18);
– Currencies (page 24).
To clarify the distinction further: a traffic class has immediate effect on the system, since it is used non-stop in the
classification of traffic data, as long as the system receives those data. On the other hand, currency has no direct
involvement in the everyday routine activities and is used only to prepare invoices or accept payments, thus being an
object of indirect effect.
Users
Users are the customers of services (IP traffic, telephony, etc.) controlled by the UTM5 billing system. A lot of operations
may be done with the users, including: assignment of services of different types, billing, making payments, viewing
statistics, etc.
15
Accounts
Users may be combined in groups. Each user has one or more accounts, to which the services of various types may
be attached, either separately or in bundles as a part of a tariff plan.
There is a special variety of users called card users. Those are created via the activation of prepaid cards (see Prepaid
cards on page 17).
Interface for handling users is described in Administrator’s interface: Users on page 33. Group operations interface
is described in Administrator’s interface: Groups on page 38. Outlines of creation of users and other operations with
them are given in Creating users on page 102and the subsequent examples.
Accounts
User account is an object containing the financial information. Account may be linked to services in a form of service
links or tariff links.
Blockings
Account may get blocked, which suspends all services attached to it. UTM5 provides three block types:
1. System is a blocking type that is automatically triggered by the system in case the sum of the accounts balance and
credit becomes negative, or (in certain conditions) when the personal account's balance is not enough to charge for
the periodic component of the services cost, or when a traffic quota is exceeded.
2. Administrative is a blocking type that is manually triggered by an administrator.
3. User is manually triggered by the user via User interface e.g. in case the user goes on vacation and doesn't plan to
user the internet for a certain amount of time.
For each block type one can set additional parameters, such as periodic fee or prepaid traffic recalculation. These and
several more parameters can be managed via Charge policy settings (see Recalculation on block on page 22and
Creating a charge policy on page 47).
Keep in mind that when a user account is blocked, the Internet parameter in the personal account properties
is always switched Off, but is not always switched On when the blocking ends. If the Auto enable inet option
for the Internet parameter in the user account settings is not checked, and the account was unblocked manually,
one also has to manually change the internet status for this user.
Interface for handling accounts is located on the user properties page (see page 35). Creation of accounts and other
operations with them are described in page 103and subsequent examples.
System users
System users a special class of users having the rights to administrate the system using the UTM control center.
System users have negative user ID. An ordinary user can not be an administrator at the same time, and vice versa.
By default, the following system users exist in the system:
– init – is the top-level administrator;
– web – is the system account for the web interface;
– radius – is the system account for the RADIUS server.
– rfw – is the system account for the RFW daemon.
– dhcp – Is the system account for the DHCP server.
– collector – Is the system account for the Traffic collector daemon.
A system user has the following properties: login, password, subnet the user is allowed to login from, and list of system
groups to which the user belongs.
Interface for handling system users is described in Administrator’s interface: System users on page 37.
16
System groups
System groups
The access rights of a system user are determined by the system group where the user belongs. For simultaneous
members of multiple groups, the privileges are summarized among all groups. All calls for forbidden operations are
registered in the system core journal. Initially the following system groups exist in the system:
– Wheel – is the group of administrators (all functions permitted).
– Dealers – may create users, assign services and make payments.
Interface for handling system groups is described in Administrator’s interface: System groups on page 38.
Prepaid cards
may work with prepaid cards intended for activation via web interface (see Web interface on page 177) or via the
utm5_tray application (see utm5_tray utility on page 173). A card may have either limited term of use, or an
expiration date.
If the card is activated on the entrance page, a card user is generated by the system. User’s login is set to card_NUM,
where card_ is the value of system parameter card_user_prefix (see System core: Settings available in the
administrator’s interface on page 117) and NUM is the card number. User’s balance is set to the card balance value.
If the card has a tariff plan attached to it, the services from the plan will be attached to the user’s personal account. If
the card has limited term of use, its balance goes to the user’s account in a form of expiring payment (see Payments
on page 24) with this term of expiration.
Otherwise, i.e. if the card is activated by an already existing user, the card’s balance is added to the user’s account,
and the tariff plan associated with the card (if any) is ignored.
Interface for handling users is described in Administrator’s interface: Card users on page 37. Creation of prepaid
cards is described in Administrator’s interface: Card pools on page 39.
Traffic classes
Traffic running towards a user and back is divided to several classes. Certain rules specify a set of attributes combining
traffic records into classes. Traffic classes may be defined using any NetFlow v5 attributes. They are: affiliation of
source or recipient's IP address with any subnet, port of source or recipient, autonomous system of source or recipient,
network protocol, next router (hop), TOS, TCP flags, router interface via which a packet goes. Additionally, a traffic
record may be related to a certain class depending on time and date.
Traffic belongs to a class if:
– it belongs to one of its subclasses;
– it does not belong to any its subclass with Skip option set;
– it came during the accounting period set for this class.
Traffic is checked against all classes in the decreasing order by ID until first match. If no match has been found, the
traffic is attributed to the class with ID=0 (unclassified).
Traffic subclass is a set of features (may include the data from NetFlow records and the IP address of the NetFlow
provider) that determine the attribution of the traffic to the particular class, or negation thereof.
Traffic subclass is a set of features (may include the data from NetFlow records and the IP address of the NetFlow
provider) that determine the attribution of the traffic to the particular class, or negation thereof.
Traffic belongs to a subclass if:
– sender and destination addresses belong to the corresponding networks set in the subclass parameters;
– the rest of NetFlow record parameters is compatible with those stated in the subclass properties;
– IP address of the NetFlow provider coincides with that set in the subclass properties, or none are set.
Interface for handling traffic classes and subclasses is described in Administrator’s interface: Traffic classes on
page 43.
17
Accounting periods
Accounting periods
An accounting period is a period of time to which various periodic activities are related (such as charge-off for periodic
services). Standard accounting periods are: daily, weekly, monthly, quarterly, annual, and period of fixed amount of
days.
Keeping general directory of accounting periods allows settling invoices with all users or with groups of users at the
same time, e.g., from the first day of a month till the first day of the next month.
When an accounting period is closed, the following operations are performed:
– recalculation of subscription fee and prepaid traffic (considering blockings);
– transfer of the prepaid traffic left (if any) to the next accounting period;
– charge-offs;
– automatic change of tariff plan, if requested;
– resetting balance to zero for those user accounts that have this option checked;
– if Dynashape module is present (see UTM5 Dynashape on page 148): issue of Delete bandwidth limit events for
the IP addresses of service links subject to shaping, and execution of the corresponding firewall rules
– automatic creation of a new accounting period. The new period starts exactly at the end of the one being closed, and
effectively stands in its place for all purposes, i.e. has the same type, duration, number of charges, and is connected
to the same service and/or tariff link(s).
Interface for handling accounting periods is described in Administrator’s interface: Accounting periods on page 46.
Tariff plans
A tariff plan is a bundle of services provided as a package. The system allows creating those packages, and then to
assign the whole package to users at once. On attaching a tariff plan to a user it is necessary to select an accounting
period and define settings for the services. A tariff plan may be set up to prolong automatically onto the next accounting
period, or to switch to another compatible plan at the end of period.
Interface for working with tariff plans is described in Administrator’s interface: Tariff plans on page 42. User
accounts are linked to tariff plans via tariff links (see Creating tariff links on page 107).
Services
A service is a very basic object of tariffication that defines its rules.
Interface dealing with services is described in Administrator’s interface: Services on page 48. Users are linked to
services via service links (see Creating service links on page 105). Service links may be created either manually (one
by one), or in a bunch via tariff plans.
All the services have the following common parameters:
18
Services
– Service ID;
– Service name (a mandatory parameter);
– Comment;
– Sort of service;
– Service type;
The sort of service determines the area where it is applicable. supports the following sorts of services:
– Common services;
– Tariff plan services.
The type of service determines the rules of tariffication applicable to this service. supports the following types of
services:
Type Meaning
1 One-time service
2 Periodic service
3 IP traffic service
4 Hotspot service
5 Dialup service
6 Telephony service
7 IPTV service
8 Video on demand service
Services of any particular type may have their specific parameters (see Types of services on page 20). The
tariffication logic may also be type-specific.
The service costs as entered in the interface are the before-tax values. Tax rates, including the value-added tax (VAT)
and sales tax, are specified separately in the user account properties and considered in all charge-offs.
All services except for One-time services have the start date and end date among their parameters. Start date is the
date when the service provision and fee charges start. Start date is not used in the current release of UTM5. End date
is the date when the providing of service stops, together with the charge-offs for the service. At this date the service is
removed, if it is not attached to any service link.
The following types of service:
– IP traffic,
– Dialup,
– Hotspot,
– Telephony
– IPTV
have periodic portion of the cost as one of their parameters. The corresponding charge-offs are made in a similar
manner to those for a periodic service, while the reports refer to them by their respective types of service.
Sorts of services
Common service;
Common services are intended to be applied to some users in circumstances not provisioned by the tariff plan. For
example, it may be a one-time service “Equipment setup”.
Common service;
19
Services
– created directly;
– able to produce an arbitrary number of service links;
– never included in a tariff plan.
Service templates
Service templates (in earlier versions of sometimes referred to as “fictive services”) are used as the parent entities that
produce the tariff plan services on their creation and on automatic switching of tariff plans.
A service template is:
– created directly;
– not used in the tariffication logic; not a service by itself, i.e. is never attached to a service link;
– never included in a tariff plan, but acts as a parent to those services which are.
The interface for creation of service templates and operations with them is described in Administrator’s interface:
Service templates on page 55.
Ideally, there should be one service template for each logical class of services, like:
– one for the services with periodic charges;
– one for the Internet traffic using a real IP address;
– one for the general Internet traffic;
– one for the Internet users in a separated address space, etc.
Each of these service templates should have the parameters most appropriate for the particular logical class of
services. These parameters will be copied by default to the derived tariff plan services, once those are created.
Types of services
One-time service
One-time service is normally intended to perform a single charge off the user’s account. The charge-off time is
determined by the service link parameters. Price of service may be set to negative value, effectively turning the
charge-off into a contribution. The time of charging is determined by service link parameters. The service may also have
a special parameter that requests for the exclusion of the user from some given group simultaneously with the
charge-off.
Interface for creating a one-time service is described in Administrator’s interface: One-time service on page 49; for
the corresponding service link, see Administrator’s interface: One-time service link on page 91.
20
Services
Periodic service
Periodic service is intended for periodic charges off the user’s account. The charge-off may be applied in a variety of
ways: at the beginning of an accounting period, or at the end, or in smaller portions throughout the whole period. The
price to be charged in the initial period may be corrected depending on the service link parameters, and the price of
the current period may depend on the user account’s parameters and/or blocking options.
Interface for creating a one-time service is described in Periodic service on page 49; for the corresponding service
link, see Periodic service link on page 91.
IP traffic service
Services of this type are intended for tariffication of IP traffic. The price may depend on time and on the amount of traffic
consumed. The service may contain so-called prepaid traffic, i. e. some limited amount of traffic that is passed through
without payment. Also, maximum limits for traffic (so-called quotas) may be set up to block the user after the given
amount is exhausted.
Interface for creating a one-time service is described in IP traffic service on page 50; for the corresponding service
link, see IP traffic service link on page 93.
Hotspot service
Services of this type are intended to tariff hotspot access charged per time. The authorization may be done by means
of RADIUS protocol (if supported by the hardware) or via the web interface. Different prices may be set for various time
ranges.
Interface for creating a one-time service is described in Hotspot service on page 51; for the corresponding service link,
see Hotspot service link on page 95.
Dialup service
Services of this type are intended to tariff dial-up access charged per time, possibly with different prices for various time
ranges.
Interface for creating a one-time service is described in Dialup service on page 52; for the corresponding service link,
see Dialup service link on page 95.
Telephony service
Services of this type are intended to tariff phone calls charged per time. The call price may depend on time and call
direction, and may include fixed connection price. Prepaid time option is also available. Either the caller or the called
number must be registered in the properties of the telephony service link, otherwise the tariffication is impossible.
Interface for creating a one-time service is described in Telephony service on page 53; for the corresponding service
link, see Telephony service link on page 95.
IPTV service
A services of this type isd intended to tariff IP television services. It let’s one grant access to the IPTV content for a client
and charge the client’s personal account with a periodic fee.
21
Charge policy
Charge policy
The charge policy is a set of rules that are used when charging a user account. These rules are applied when a client
for some reason didn’t receive the service for some part of the accounting period. This is possible when creating a
service link in the middle of an accounting period (when the client will receive the service only for the rest of the
accounting period), or when a client uses voluntary blocking (when the client’s account was already charged with the
periodic part of the service cost).
The charge policy allows one to charge the client for the correct amount of money
according to the part of the accounting period that he actually was using or is going to use the service (for more
information on how it is calculated Periodic cost component recalculating rules on page 22).
The cost of a service is not only influenced by the cost that is set when creating it, but is influenced by the charge
policy.
Along with the cost of services the charge policy allows to correct the service parameters such as the amount of prepaid
traffic or the amount of free minutes (for dial-up service).
l1
l2
L
(accounting period)
The time and date of the service link creation may not match the current time and date and may be set in the future or
in the past. If the date and time of the service link creation is set in the past, the current date and time is used instead.
This means that:
Recalculated price = (Full price for accounting period) × l1/L, if the starting date has been set in the future, or otherwise
Recalculated price = (Full price for accounting period) × l2/L.
The same rules are used to recalculate the amount of prepaid traffic or prepaid calls duration.
Recalculation on block
The current UTM5 version has three types of blocking - administrator’s, system and user’s block.
– Administrator’s block is triggered by the administrator when the user’s account needs to be blocked manually.
– User’s block is triggered by the user when he doesn’t plan to use the service for some time (e.g. going on vacation).
– System block is triggered automatically when the user’s account balance becomes negative. Or, in a certain setup,
when the user’s account doesn’t have enough cash balance for charging it with the periodic fee.
For each blocking type the charge policy allows one to set up the following parameters:
22
Repay
Repay
One may need a repayment when an account was excessively charged. E.g. when a user’s account was charged with
a periodic fee for the whole accounting period and during the period user decides to trigger a voluntary blocking.
The charge policy allows one to set up when exactly does the repayment take place:
– On block expire
– On payment
– On charge period end
– On remove service link
Periodic fee charges are done for several services is done in an arbitrary order. If personal account is blocked after a
charge for one of the services, charges for the remaining services are done according to the charge policy for accounts
in system blocking.
Time ranges
A time range is a set of periods of time. Time ranges are used for setting up dependency of a service cost on time and
date. For instance, to arrange lower tariffs at night time, one has to create a time range with time limits of 2:00 a.m. till
8:00 a.m., Sunday till Saturday, then create a separate traffic class and relate the new time range to it, and finally to
create a service including this traffic class and assign this service to the users.
Interface for working with time ranges is described in Administrator’s interface: Time ranges on page 55.
Coefficient scheme
Coefficient scheme is a sequence of coefficients, applied to the periodic service fee. This scheme allows one to
schedule service cost variations.
E.g. make service cost 50% for the first month, 100% from second to sixth, then 75% for the seventh month and 100%
after that. In this case one will need two coefficients in the scheme: for the first month - a 0,5 coefficient and a 0,75
coefficient for the seventh. Service cost for periods that aren't covered with scheme coefficients, is 100%.
A coefficient schemescheme may be added when creating or editing a service (see Administrator’s interface:
Periodic service on page 49).
If at least one service link is connected to a service, one can't change its coefficient scheme.
23
Currencies
Currencies
A Currency is a currency unit, used by the system. NetUP UTM5 UTM5 may work with any number of currencies. All
personal accounts and charges are made in internal conventional units, so the actual currencies are only used for
payment processing and billing. When a payment is processed, the payment currency is converted to internal units.
On the other hand, when a bill is issued, the internal units are converted to some currency.
A currency is characterized by its identifier, short name, full name, and the exchange rate (regarding standard unit and
discretionary interest coefficient, which multiplies the official rate to get the provider’s internal rate). The history of
exchange rate since the system’s deployment is also available in order to perform financial operations post factum. The
exhange rate may be updated online from a variety of providers.
Interface for handling system currencies is described in Administrator’s interface: Currency on page 58.
Each user is associated with some preferred currency for billing. By default, it is defined by the system_currency system
parameter (see Administrator’s interface: Parameters on page 67). NetUP UTM5 The preferred currency may be
changed at any moment. As a result, all bills will use the newly selected currency, no matter where they created before
or after its selection.
See : Other on page 35for setting the user’s preferred currency.
Payments
There are several ways to make a payment, including:
– automatic payment via e-payment systems;
– automatic payment via any third-party software using the utm5_payment_tool utility;
– manual payment by an administrator, dealer, or cashier via the UTM Control Center.
Manual payment is made by an administrator or other operator via the Payment page of the administrator’s interface,
which may be called by the New payment from the list of users or from the user details window.
In the payment dialog the operator enters the sum of payment, currency, payment date, and probably some other data.
In particular, one of the optional parameters is the number of internal or external billing document which is the reason
for the payment.
There is an option to define whether the Internet should be switched on for the account, in case if the account balance
after the payment allows that. If not checked, then Internet status would not change on payment.
A payment may be provided with the expiration date. These are called expiring payments and summed up in a separate
report. If an expiring payment has not been spent till its expiration date, i. e. if the sum of charges since the payment
date is less than the payment sum, then the rest of the sum is expired (gets withdrawn from the client’s account).
However, if more expiring payments come in before the expiration date, the expiration of all these payments is
postponed till the latest of their expiration dates.
There is a special payment method called credit. Such payments are displayed in the user account balance under
special category and are obliged to have the expiration date, on which they are undone. When undoing a credit
payment, the total credit of the given account is checked, and if it is about to turn negative after withdrawal, the sum
of withdrawal is decreased so as to adjust the total credit to zero. Total credit of an account may also be set manually
to arbitrary value by the administrator (see : Loan on page 89).
The interface of making payments is described in Administrator’s interface: Payment page on page 88.
24
Documents
Payment rollback
UTM5 billing system has an option of payment rollback. Payments can be rolled back by an administrator or an operator
via the UTM5 Control Center. Nominally, the rollback is done by making a payment of special method (Rollback) having
the opposite sum.
The rollback procedure is not applicable to the expiring or credit payments.
Rolling back is done via the context menu in the report on payments, see Administrator’s interface: Report on
payments on page 63.
Documents
The system contains several kinds of documents:
– User info sheet;
– Contracts;
– Receipts;
– Invoices;
– VAT invoices;
– Certificates of completion;
– Bill details.
The documents are automatically generated from templates (see Document templates on page HIDDEN).
Generated documents except for contracts are not stored in system, and are rather generated immediately before use.
User contracts may be generated using a template or uploaded from a file. Each generated or uploaded contract is
stored in user properties on the Documents page.
Invoices
Invoices for services are summarized in a special report on the Documents page of the administrator’s interface (see
Report on invoices on page 64). Invoices may be created either automatically or manually. Manual invoices have no
effect on the user’s account balance.
An invoice for a one-time service is issued immediately upon attachment of the service. If the user’s account has its
Payment in advance option checked (see : Main parameters: on page 34) and the service’s charge method is set
as At the beginning of the period, the invoices for the periodic services and for the periodic portion of special services’
price are issued at the beginning of an accounting period. Otherwise they are issued at the end of an accounting period.
Items in the automatic invoices are aggregated by tariff links (with the exception of telephony services, if any, which
remain separated from the rest) and by accounting periods. Charges for the new services (those added during the
current period) are also not aggregated and stay in a separate invoice, if Payment in advance is checked.
After having been generated from a template, an invoice may be edited for printing, but the changes can not be saved.
Invoices with negative VAT rate are hidden in the report.
IP addresses
Multiple kinds of system objects contain subnet address (i.e. an IP address with a mask) as one of their properties. As
a rule, an IP address and a mask are entered in the administrator’s interface via one common input field as
<address>/<number of significant bits>. If no mask is entered, this is interpreted as an extremely narrow
subnet consisting of single address.
UTM5 supports both IPv4 and IPv6 address formats. IPv6 addresses should be entered in the standard
colon-separated form, with possible omission of consecutive zero sections. For example, 2001:db8::ae21:ad12 is the
equivalent of 2001:0db8:0000:0000: 0000:0000:ae21:ad12.
25
Getting License Key
Once you fill the form, click Send. If the request is processed successfully, UTM5 modules activation form will appear.
Each available module has an Activate button. After pressing it a icon appears (Activated). Activate all the needed
modules and press to download the key (reg.sql).
When new modules are purchased, one has to activate the license once more and to download the new license key.
Starting with version 5.3-004 a new parameter - max release date is introduced to the license. This parameter
determines the date till which the license is valid for installing and operating new UTM5 builds and updates. The release
date is set for a UTM5 installation package and remains the same for all it's updates that will be issued since the
release. E.g. the 5.3-004-release and the 5.3-004-update10 packages share the same release date. In order to install
builds and updates with a release date greater than the one in the license key, one has to update the release date and
generate a new key in the Customer area on the https://www.netup.tv/en/utmoffice . In order to do that, one must
have a valid updates subscription or a technical support subscription. When the license expires, the UTM5 core won’t
start.
If the system is installed without a license key, it will operate in demo mode with certain restrictions.
Restrictions for every module are shown on the License page of the administrator’s interface (see : Licenses on
page 88)
26
Installing Basic Components
Installation requirements
UTM5.3-004 requires a server with 64-bit Linux (Debian Jessie (recommended) / Wheezy, CentOS 5/6/7) or FreeBSD
10.1 / 10.2 / 10.3. It also requires a MySQL (recommended) or a PostgreSQL database server. Data Base Management
System (DBMS) may be installed on a separate server. We recommend using MySQL with InnoDB support to ensure
maximum reliability and integrity of stored data.
Using SELinux with default settings may prevent normal operation of certain UTM5 components (e.g., User Web
Interface). Be sure to carefully setup SELinux or disable it
Be sure to check the server’s date and time settings (including time zone), before installing UTM5. Otherwise, the billing
system may not function properly.
In addition to disk space required for installation UTM5 requires extra space for raw traffic data and system logs
storage.
After installing UTM5 one should install the User Web Interface (see Web interface: Installation on page 177).
It will require Apache Web server for proper operation
Installation Procedure
1. Installing UTM5-3.004 package:
– on Debian, run the following command: :
dpkg -i utm5-3.004.deb
If any library specified in the installation package dependencies is missing, the OS will display the corresponding
message and interrupt the installation process. In that case, run the following command: apt-get install
-f.
The OS will automatically download and install all the required libraries and then resume the installation.
The installer will create /netup/ directory to store program data, configuration and log files. It will also create the
following startup scripts:
– on Debian and CentOS:
* /etc/init.d/utm5_core
* /etc/init.d/utm5_radius
* /etc/init.d/utm5_rfw
* /etc/init.d/utm5_dhcp
* /etc/init.d/utm5_traffic_collector
– On FreeBSD or Solaris:
27
Updating to version 5.3-004
* /usr/local/etc/rc.d/utm5_core.sh
* /usr/local/etc/rc.d/utm5_radius.sh
* /usr/local/etc/rc.d/utm5_rfw.sh
* /usr/local/etc/rc.d/utm5_dhcp.sh
* /usr/local/etc/rc.d/utm5_traffic_collector.sh
2. Examining UTM5 core configuration:
We strongly recommended to check and (if necessary) edit the /netup/utm5/utm5.cfg file BEFORE starting
UTM5 core for the first time. In particular, be sure to check the database (DB) interaction parameters.
For detailed configuration file description please refer to System core: Configuration file on page 114.
– If planning to use an existing DB, be sure to check the utm5.cfg DATABASE section parameters (e.g., DB type,
name, charset, login, password, etc.).
– If the database does not exist, UTM5 will automatically create it at first startup. Consider that the database will use
the parameters set in utm5.cfg.
– Check and edit the configuration if necessary. UTM5 core may perform DB structure/indexes update and archived
tables verification at each start. This is controlled by the utm5.cfg verify_database,
verify_database_index parameters. By default, DB structure check is enabled, indexes check is disabled
The DB user account used by UTM5 must have privileges for creating and modifying databases and tables
/etc/init.d/utm5_core start
– On FreeBSD or Solaris:
/usr/local/etc/rc.d/utm5_core.sh start
At startup UTM5 core will import license information from /netup/utm5/reg.sql and delete the file. Then the
core will try to connect to a database using utm5.cfgDATABASE section parameters. If the DB specified in the
configuration file does not exist, UTM5 will try to create it.
4. For CentOS only. In order to make UTM5 core start automatically after OS boot-up, execute the following
commands (root privileges required):
Other UTM5 modules may be added to the autorun list in a similar way.
On Debian and FreeBSD, UTM5 installer automatically adds modules’ startup scripts to the autorun list
Installation requirements
When upgrading from UTM5 version 5.3-001-update6 or older, we strongly recommend that you read earlier update
guides and changelogs (please refer to UTM 5.3-002 upgrade to version 5.3-003 user manual in Documentation
section at https://www.netup.tv/en/utm5/documentation ).
Please refer to OS compatibility for the UTM5.3-004 compatible OS list.
28
Updating to version 5.3-004
In order to avoid any dtagg_iptraffic table automatic data conversion issues, set the max_allowed_packet
MySQL settings parameter to 32M or greater.
Update Procedure
1. Stop all UTM5 components (i.e.,UTM5 core, RADIUS server, DHCP server, etc.). For example in Linux execute the
following command to stop UTM5 core:
/etc/init.d/utm5_core stop
Then make sure that the service actually stopped. For example, execute the following command to check if UTM5
core is running:
ps ax | grep utm5_core
dpkg -r utm5
On FreeBSD, run:
On CentOS, run:
5. Install the new version of UTM5. On Debian, execute the following command:
dpkg -i utm5-3.004.deb
If any library specified in the installation package dependencies is missing, the OS will display the corresponding
message and interrupt the installation process. In that case, run the following command: apt-get install
-f.
The OS will automatically download and install all the required libraries and then resume the installation.
On FreeBSD, run:
6. The new version of UTM5 core will automatically update the DB structure at first launch (provided that the
corresponding utm5.cfg parameter is enabled). The DB user account used by UTM5 must have privileges for
creating and modifying databases and tables.
One can also update DB structure manually. For example, if using MySQL, execute the following command :
29
Updating to version 5.3-004
7. In order to automatically update DB indexes at first launch, add the following parameter to the UTM5 core
configuration file (utm5.cfg):
verify_database_index=enable
One can also update DB indexes manually. For example, if using MySQL, execute the following command:
This operation may take some time to complete In order to minimize idle time, one might use Table archiving
function before updating the database indexes function.
By default all archived tables structure is checked for compliance with UTM5 core requirements. If
utm5.cfgverify_archive_tables parameter is enabled, UTM5 core will attempt to bring the tables structure in line
with the requirements. If successful, the archived data will be used when generating reports. Otherwise, the
system will ignore the information from those archived tables.
8. Starting with version 5.3-004, license determines availability of UTM5 updates. Be sure to visit the Customer Area
at https://www.netup.tv/en/utmoffice and update the license prior to upgrading to 5.3-004. Then, download the
updated reg.sql file and place it to /netup/utm5/ directory BEFORE the first start of the updated UTM5 core.
At first start the updated core will import the license information from netup/utm5/reg.sql and delete the file.
License renewal is also required in case of purchasing any additional UTM5 modules and/or services.
Be sure to update the license before upgrading to version 5.3-004! Otherwise, the updated UTM5 core will not
start.
All UTM5 components must have the same build number. When using multiple servers running different UTM5
components, be sure to update all the components to the latest UTM5 build. Components from different UTM5
builds may not interact properly.
For example, on Linux, run the following commands to start UTM5 core and DHCP module:
/etc/init.d/utm5_core start
/etc/init.d/utm5_dhcp start
10.Document generation system implemented in UTM5.3-004 is incompatible with the system, implemented in
versions older than 5.3-003. Please refer to the current UTM5 documentation to get familiar with the new document
generation system, and update all document templates to comply with the new format. In order to generate
documents in PDF format, LibreOffice package is required to be installed on the server running UTM5; otherwise,
the documents will be generated in ODT format.
30
Introduction
Administrator’s interface 8
Introduction
UTM5 control center is a program used to control user accounts and billing system settings. Examples of use are given
in Usage examples on page 99.
The interface version must be the same as the UTM5 core version, otherwise the interface may function
improperly.
Top-level menu is described in Menu. General interface features and common principles are described in Common
features (page 32). The basic interface pages are accessible via the links in the left pane which are grouped in the
following sections:
– Users and groups (page 33);
– Messages (page 41);
– Tariffication (page 42);
– Reference book (page 58);
– Reports (page 59);
– Settings (page 67);
– Interfaces (page 81);
– Additional Features (page 85);
– Inventory (page 85)
– About (page 87).
Depending on the settings and permissions of the particular operator, some pages may be hidden and inaccessible. If
all pages in some group are hidden, the group itself is hidden too.
The pages which are accessible neither directly from the left pane nor from the basic interface pages with standard Add
/ Edit buttons are described in Stray pages (page 88).
Once started, the program is represented by an icon in the system tray (see Tray icon on page 176).
Menu
Below is the description of the program’s top-level menu.
System
– Reconnect – stops the control center and opens the connection window (see Usage examples: Installation and
startup on page 99).
– Import – opens the Import window (see Structured data import on page 158).
– Exit – closes the control center.
Settings
– Settings – opens the edit settings window. Contains the following settings:
– UsersPerPage – is the number of users per one page as shown in the list of users (see Users on page 33);
– CSVSeparator – is the separator selection for exported CSV files (is one of the following: comma or a
semicolon);
31
Common features
– TurnInternetOn – is the default setting of Internet status switch for newly created accounts;
– NotVPN – is the default setting of Not VPN IP group flag for newly created IP groups;
– DoNotAffectFW – is the default setting of Do not affect firewall rules flag for newly created IP groups;
– UseCustomPassword – is the flag to use custom set of symbols to generate passwords for newly created users;
– CustomPasswordCharset – is the set of characters used to generate passwords for new users, once the
UseCustomPasswordoption is checked;
– CustomPasswordLength – is the generated passwords’ length, once the UseCustomPasswordoption is
checked;
– DoubleRounding – is the number of digits after the decimal point to which all the output sums are rounded;
– HousesPerPage – Is the number of houses per page;
– FirstTime – is the flag of running the program for the first time;
– Language – is the interface language;
– SavePassword – is the flag that controls whether or not to save the password;
– SaveSettings – is the flag that controls whether or not to save the settings.
– Shortcuts – opens the Shortcuts window for setting hot keys to various typical activities. This window contains the
following tabs:
– Main window – contains shortcuts for the pages available in the side menu of the main window of the
administrator’s interface;
– User – contains shortcuts for the pages available in the side menu of the edit user window;
– Dealer – contains shortcuts for the pages available in the side menu of the main window of the dealer’s interface;
– Service – contains shortcuts for the service setup pages;
– Time zone – selects the time zone from the drop-down list.
– Messages – sets up the message preview options (see Messages on page 41).
Normally, time zone is imported from the OS settings while installing UTM5.
Help
– About – displays the version info.
– Contents – opens NetUP UTM5 help.
Common features
The basic interface pages contain lists of entities (users, services, etc.) with a number of features for each entity.
Mouse right-clicking on the list reveals a context menu that contains a number of handy commands including Edit,
Remove (once the operator has sufficient privileges), Refresh, Columns, and probably also some commands specific
to a particular type of entities.
Columns of the tables can be reordered by drag-and-dropping. Their width may also be adjusted by dragging the
column borders. The representation of particular columns may be switched on or off via the context menu item named
Columns. As a rule, the default settings imply that all possible columns are displayed.
Entries in the list may be ordered by any column via clicking on the column header. Repeated clicking on the same
column header reverses the sort order.
Multiple selection of list items may be performed by left-clicking with pressed Shift (selects a range of entries) or Ctrl
(selects multiple entries one by one). Pressing Ctrl + A selects all entries on the page.
The Export item of the context menu exports the list in the CSV or XML format, considering the current column display
settings.
32
Users and groups
Depending on the purpose of the page and the user’s rights, the page may contain an interface for addition, editing or
removal of its elements in a form of buttons Add, Edit, and Delete. Some of the buttons may be disabled due to the
insufficient access rights. In case of view-only access the Edit button is substituted by Read. As a rule, the addition or
editing of an element is performed in a separate window. The corresponding form may or may not have the
button which resets all its fields at once.
The button refreshes the list to reflect possible changes that could have been introduced by another
administrator in the meantime, or could have occurred automatically.
The top menu (see Menu on page 31), the left pane with quick links, and the bottom status line displaying current server
time are visible and accessible from any interface page.
In case if the connection to UTM5 core is lost, focus switches from the main window to the pop-up window with
Reconnect button.
Users
This page contains the list of users (see Basic system objects: Users on page 15) with the interface for creating,
removing, editing a user, or making payment.
– User ID – of the user.
– Login – is the user’s login.
– Primary account – is the account number.
– Full name – is the full name of the user or a title of the legal entity.
– Blocking type; – is the blocking status of the user.
– Balance – is the account balance.
– IP (VPN) and IP (non-VPN) – are the lists of user’s networks set in the properties of IP traffic service links.
Page contains the following interface elements:
– button opens the user creation window (see Adding users on page 34).
– buttons open the user details window similar to that of a regular user, i.e. containing the following
page groups: User (page 34)Tariffication (page 35), and Reports (page 36).
– button removes the selected card user(s), once the related service links and tariff links are removed, or
displays an error message otherwise.
– button opens the search window (see Search page on page 89).
– button opens the payment window (see Payment page on page 88).
Context menu of the list of users contains quick links for the following operations with the selected user(s):
– Switch Internet on;
– Switch Internet off;
– Make a payment.
33
Users and groups
Unlike the majority of other lists, the list of users is displayed pagewise, with the page number and the number of users
per page set in the bottom part of the page. These settings are persistent, i. e. once set, they are saved and resumed
on the next launch of the program.
List entries are marked with color. Red means that the user’s accounts are blocked, green means they are not, and
yellow means that some accounts are blocked, while others are not.
Adding users
The Add user window contains the following pages:
– Main parameters: – includes login, full name, password, and the Payment in advance check box. Login name
must be unique and consist of the following symbols: lowercase latin letters (a-z), numbers (0-9), dots, commas,
“@”, “_”, “-” and “/”. One may choose to generate a random password, which is then automatically substituted into
the Password and Confirm password fields, and shown openly in the Generated password field for copying. This
login:password pair is used solely for the access to the user interfaces (see and ).
This “login: Password” pair is only used to access the user interface (see utm5_tray utility on page 173and Web
interface on page 177).
– Additional parameters – includes bank account details and some other data, including custom parameters (see :
Additional parameters on page 69).
– Contacts – includes user’s personal data (address, phone, e-mail).
– Other – other user associated parameters: documents profile remote switch address, port, and preferred currency.
For more information about document profiles see Document profiles on page 76.
User
The User group in the user properties window includes the following pages:
– Main parameters: – includes login, full name, password, and the following elements:
34
Users and groups
– Payment in advance check box (if checked, the invoices for the periodic services with charge method set as At
the beginning of the period are issued at the beginning of the accounting period; has no effect on charges);
– Generate document for user button that displays the handout document for the user containing login, password,
and the provider’s contact information;
– Link to dealer button that opens the interface to link this user to one of the existing dealers (see Dealer module
on page 166).
– Additional parameters – includes bank account details and some other data, including custom parameters (see :
Additional parameters on page 69). Bank details may be filled in automatically by linking the user to a bank (see
Banks on page 59).
– Contacts – includes personal data (address, phone, e-mail) of the contact person. The address may be filled in
automatically by linking the user to a house (see Buildings on page 59).
Also, this page contains the Send invoices by email check box that gets active once an e-mail is entered.
– Additional contacts – includes personal data of additional contact persons, if any.
– Groups – is the list of groups the user belongs to, together with the interface to add the user to a group or remove
from it.
– Other – are special parameters associated with the user, including document profile, remote switch address, port,
and preferred currency. For more information about document profiles see Document profiles on page 76.
– Documents – is the list of documents for the user, together with the interface to generate, edit and delete them.
Documents may be generated from templates (see Document templates on page HIDDEN), or may be uploaded
as *.odt files.
– Additional info – is the view-only auxiliary information (dates of creation and last modification of the user).
Tariffication
The Tariffication group in the user properties window includes the following pages:
– Accounts – is the list of the user’s accounts containing the interface to create, edit, and remove the accounts, as
well as to make payments.
Creation and editing of an account is performed in a special window (see Personal account on page 89).
For usage examples see Creating account on page 103and Removing an account on page 103.
To change the blocking settings of an already blocked account, it is necessary to lift the existing blocking and
then impose it again with new settings.
Right click one of the listed accounts to open the context menu. This menu, along with standard elements, contains
the following:
– Switch Internet off – switches off Internet for the selected account
– Balance correction – allows one to correct balance for the selected account.
One can also add a comment for this action. Balance correction operations and comments for these operations
get to the User Change Log report.
– Service links – is the list of the user’s service links together with the interface to create, edit, and remove them, also
containing the following interface elements:
35
Users and groups
– Prepaid traffic – sets the prepaid traffic (active if the item selected in the list is an IP traffic service link);
The amount of prepaid traffic can't be reduced. It can be increased, but consider that the final amount is
calculated by adding new amount to the initially set value, or to the remainder, if part of the initially set prepaid
traffic had been consumed. E.g. 150 Mb of prepaid traffic is left and one wants to add 100 Mb. In this case one
should set the amount to 100. In case one wants to add another 100 Mb, she should add 200, because this
amount would be added to the initial 150 Mb.
– Set RADIUS parameters – sets the RADIUS attributes for the selected service link;
– Select account – is the drop-down list to select one of the user’s accounts.
Creation and editing of a service link is performed in a special window (see Service link on page 91).
For usage example see Creating service links on page 105.
– Tariff links – is the list of the user’s service links together with the interface to create, edit, and remove them, also
containing the following interface elements:
– History – displays the history of tariff plans previously associated with the user;
– Select account – is the drop-down list to select one of the user’s accounts.
Creation and editing of a service link is performed in a special window (see Tariff link on page 90).
For usage example see Creating service links on page 105.
– Technical parameters – are the arbitrary parameters associated with the user. Their values may be used in the
commands for controlling the external software, which are sent by as a response to certain events, see UTM5 RFW:
Firewall rules on page 138.
– IPTV activation codes – is a list of activation codes for an access card, assigned to the selected personal account.
Reports
The Reports group in the user properties window includes the reports of various types for the selected user, each on
a separate page. The interface is similar to that on the general reports page (see Reports on page 59), except for the
following details:
– Group selector is missing;
– On all pages, except for Detailed Traffic, Graphic Report and User Change Log, there is a drop-down list to select
one of the user’s accounts, or all accounts.
– On the Documents page, on the Invoice tab there is a New invoice button.
The following types of reports are included:
– General – is the report on payments and charge-offs of all types;
– Blockings – is the report on blockings of the given user;
– Traffic – covers the consumption of traffic by classes;
– Telephony – contains the statistics of phone calls;
– Telephone directions – contains aggregated statistics of phone calls by directions;
– Sessions – contains the statistics of dialup and VPN sessions;
– Payments – contains the statistics of payments to the user’s account(s);
– Services – contains the statistics of services;
– Other charges – lists the charges not related to any services (payment expiration, rollback, etc.);
– Internal transfer – lists the transfers of funds between one’s accounts, which the users may perform on their own;
– Detailed traffic report – covers the traffic consumption in full detail, with source and destination addresses and port
numbers;
– Documents – contains the statistics of invoices. The Invoice tab also contains the New invoice button, which
allows creation of an invoice with arbitrary positions;
36
Users and groups
Card users
This page contains the list of card users, which are the users generated automatically on registration of prepaid cards
on the automatic registration page of the web interface (see Web interface: Entrance page on page 177). Card users
are not supposed to be created manually. Page contains the following interface elements:
– buttons open the user details window similar to that of a regular user,
– button rremoves the selected card user(s), once the related service links and tariff links are removed,
or displays an error message otherwise.
– button opens the payment window (see Payment page on page 88).
System users
This page contains the list of system users (see Basic system objects: System users on page 16) with the interface
for creating, removing, or editing them. When creating a system user, she can be included in one or more groups (see
System groups on page 38), which determines her privileges.
Dealers
This page contains the list of dealers with the interface for creating, removing, or editing them. Dealers are the special
entities that may perform some administrative functions over a particular subset of users.
See Dealer module on page 166for the details on dealers’ purpose, functions, creation, and operation.
37
Users and groups
Groups
This page contains the list of user groups with interface to create, edit, and remove them, as well as to perform group
operations.
Editing of a group may include removal of users from the said group. Addition of users to a group may be performed
on the user properties page (see : Groups on page 35) and on the search page (see Search page on page 89).
Group operations include:
– Switch Internet on for all members of the selected group;
– Switch Internet off for all members of the selected group;
– Group all blocked users (i.e. all blocked users are added to the selected group);
– Set tariff plan for next accounting period for the members of the selected group having particular current value
of the next tariff plan, or for the whole group (if the value is specified as “Any”).
Each user is normally associated with some current tariff plan and some tariff plan for the next accounting period.
These two plans may or may not coincide. The selection is based upon the latter.
– Change policy for the members of the selected group that have currently active policy, selected in the Old policy
field.
System groups
This page contains the list of system groups with the interface for creating, removing, editing, or copying them. System
groups are used to set the permissions of system users (see System users on page 37).
The and buttons open the Time range window containing two tabs: Plain view and Tree
view.
Each system group has the following parameters: ID, name, comment, and the list of available functions. The latter may
be picked via any of the two interfaces:
– On the Tree view tab the visual interface is presented, with all functions grouped in the hierarchical tree by
application field. The tree is redundant, so that some low-level functions are included in multiple branches
simultaneously. On changing the permission for such a function a warning window appears with a listing of other
branches affected by this permission.
38
Users and groups
– On the Plain view tab all functions are displayed in an unstructured alphabetic list.
The Wheel and Dealers system groups are built-in, so their properties can not be altered.
Card pools
This page contains the list of prepaid cards pools (see Basic system objects: Prepaid cards on page 17), with the
interface to add or modify them. Card pools can not be removed.
button opens the card generation window (see Generating cards on page 39). Generated cards can't be
edited or deleted.
button opens the card pool properties window (see Editing card pools on page 40).
button opens the cards search window, where the cards may be searched by an arbitrary combination of
conditions on card ID, pool ID, tariff ID, PIN code, card balance, currency, and the activation date.
Generating cards
Card generation window contains the following fields:
– ID – is the pool ID (if points at the existing pool, the
cards are added to it; otherwise, a new pool is created).
– Quantity; – is the number of cards to be generated.
– Balance – is the monetary value of one card.
– Currency – is the currency in which the card value is
specified.
– PIN code length – is the number of digits in the PIN
codes to be generated.
– Random numbers – switches on generation of
random ID numbers for the cards; if not set, the
numbers are issued sequentially.
– Unique PIN – requires that the generated PIN codes are unique.
– Use before – is the optional date to activate the card strictly before.
– Days – is the optional term of expiration of the payment made when the card gets activated. If not set, the payment
is not expiring.
– Tariff ID – is the optional tariff attached to the card users on registration.
The created cards may be neither edited nor removed.If the tariff for the card users contains some services with
periodic component, on user’s registration those get attached to the system accounting period, which is since
1/1/1970 till 1/19/2038. Therefore only the services with no or negligible periodic payment are suitable to include
in such tariff plans.
39
Users and groups
IP groups
This page contains the list of IP groups defined within service links of IP traffic services (see IP traffic service link on
page 93).
Telephone numbers
This page contains the list of telephone numbers defined within telephony service links (see Telephony service link
on page 95).
40
Messages
Messages
This page contains interface for sending and receiving system messages from the users and other administrators.
Users may send their messages via web interface (see Web interface: Messages on page 179) or via the utm5_tray
application (see utm5_tray utility: Messages on page 175). If the web_message_group parameter (see Settings
available in the administrator’s interface on page 117) is set, then the messages sent via web interface will be seen
only by the members of the system group specified by this parameter.
41
Tariffication
Tariffication
Tariff plans
This page contains the list of registered traffic classes (see Basic system objects: Tariff plans on page 18) with the
interface for creating, removing, or editing them. with the interface for creating, removing, or editing them.
A tariff plan can be removed only if it is not used at the moment. Otherwise, in the first place it is necessary to remove
all tariff links attached to it.
42
Tariffication
To add a new service to the tariff plan, press Add. The list of existing service templates will show up.
A tariff plan may not contain multiple services originating in the same template.
Traffic classes
This page contains the list of registered traffic classes (see Basic system objects: Traffic classes on page 17) with
the interface for creating, removing, or editing them. A traffic class can only be removed if it is not used at the moment.
Otherwise, it is necessary first to remove all tariff links attached to it. Once a traffic class is removed, the traffic belonging
to it would pass for unidentified in the control center reports (see Administrator’s interface: Reports on page 59). At
the same time, in the web interface reports (see Web interface: Reports on page 179) the removed traffic class would
continue to show up as existing.
For the example of usage see Creating traffic classes on page 101.
Below is the list of traffic class parameters and their meanings:
– ID – is a mandatory parameter. The numbers should be selected in such a way that the numbers of child classes
would be higher than that of their parent class.
– Name; – is a mandatory parameter.
– Don’t save – check box disables saving of raw traffic data files, if checked. May be worthwhile to set for the free
traffic or in other cases when the detailed information is unlikely to ever become necessary. Reduces the raw traffic
data files size.
Format of the raw traffic data files has been altered in UTM5.3-001, so that the files saved in earlier versions can
no longer be read.
43
Tariffication
– Time range – limits the traffic class existence with the given time range, if selected.
– Graph color – is the color to represent the traffic of this class in the graphic reports.
– Display – enables display of this class in the graphic reports.
– Fill in – sets fill style for the graph reports.
Besides that, the traffic classes page contains interface for working with subclasses. The interface consists of the
following buttons.
– Add;
– Edit;
– Delete;
– Export – all subclasses of the given class as a CSV or XML file with following contents.
– CSV: each subclass is described on a single line. Properties’ values are separated with semicolons, and each line
ends with a semicolon. Names of the properties are listed in the first line.
– XML: the root tag is UTM_export. Each subclass is described in a separate instance of the row tag. Inside it there
is the tag row_id followed by the subclass properties, each wrapped in its own dedicated tag, in the same order
as in the CSV file.
– Import – imports a CSV or XML file of similar format and attaches all retrieved subclasses to the given class.
Traffic subclasses
A traffic subclass is characterized by the following
parameters:
– For the source or destination:
– Network address and mask (mandatory, may be
entered as IPv4 or IPv6, see IP addresses on
page 25for the formatting details);
– Port;
– Interface;
– AS (autonomous system number);
– Protocol;
– Next router;
– TOS (TCP/IP “type of service” field);
– TCP flags;
– Router IP.
Types (IPv4 vs. IPv6) of the source and destination addresses must coincide; type of the router IP does not have
to follow them and may be arbitrary.
Telephone zones
This page contains the list of registered telephone zones with the interface for creating, removing, or editing them.
44
Tariffication
Telephone directions
This page contains the list of registered telephone zones with the interface for creating, removing, or editing them.
Telephone direction is a set of telephone numbers. The
attribution of a particular number to a direction is checked
by means of regular expressions. Telephone directions are
used to classify phone calls for subsequent tariffication.
Every telephone direction may be included in one and only one telephone zone.
– Type – is the call type (local, intercity, etc.; inherited from the parent zone, if it is set).
– Name – is a mandatory parameter.
Classification criteria (at least one must be non-empty):
– Called prefix – is a prefix or a regexp for checking the calling number. is a prefix or a regexp (POSIX 1003.2
compatible) for checking the called number.
– Calling prefix – is a prefix or a regexp for checking the calling number.
– Incoming trunk;
– Outgoing trunk;
– PBX ID;
– “Skip” flag – cancels identification (if checked, no calls will be identified into this direction).
45
Tariffication
The list of directions is kept ordered lexicographically by called prefix, then by calling prefix, then by incoming trunk,
and then by outgoing trunk. The search is performed from the beginning of the list till the first match. Directions with
matching called prefix are sorted by the calling prefix in a descending order. Directions with both prefixes matching are
sorted by the incoming trunk, etc.
Search goes from the beginning of the sorted list until the first match. To be identified with the direction, a call must
match all parameters (called prefix, calling prefix, incoming trunk, outgoing trunk, PBX ID) which are set for this
direction.
It is recommended to create the default direction with called prefix ^.*$, so as to leave no number unassigned.
Accounting periods
This page contains the list of current accounting periods (see Basic system objects: Accounting periods on
page 18). with the interface for adding or editing them.
An accounting period can not be removed.
Once a period finishes, a new period of the same type is created automatically.
Below is the list of accounting period parameters and their meanings:
– Start time – is the date and time when the period begins.
– End time – is the date and time when the period ends. When
creating a new period, this field is missing, since the date is
calculated automatically.
– Period type – is selected among the following:
– daily;
– weekly;
– monthly;
– quarterly;
– annual;
– custom duration.
Monthly period ends in the next calendar month after its start, on the same day of month. However, if the starting
date exceeds the number of days in the next month (say, January 30), the period lasts only till the end of the next
month.
– Report period – allows one to link the invoices generation date to a calendar month. Is only available for a monthly
period type.
– Custom duration – is the length of period in seconds. Enabled only if Period type is set to Custom duration. The
shortest possible duration is 3600 seconds.
– Set number of charges – enables setting number of charges per week.
– Charges per week – is the number of periodic charge-offs per week. Enabled only if Set number of charges is
checked.
When an existing period is edited, its ending date is the only property that may be changed.
Charge policies
This page contains the list of active charge policies. For more information on Charge policies see Basic system
objects: Charge policy on page 22
Every charge policy contains certain rules for recalculation of periodic component of a service price, prepaid services
amount and refunding rules. I.e. it is the periodic fee, prepaid traffic and calls amount recalculation settings.
46
Tariffication
This condition only works if the Recalc periodic fee option is selected for the block type that is used for
blocking the user’s personal account (see Usage examples: Creating a charge policy on page 104)
47
Tariffication
– Recalculation on block – contains recalculation parameters for different blocking types (contains the following
tabs: Administrative, User and System):
Switching to another tab preserves all the parameters for the previously chosen block type.
– Do not charge periodic fee – means that the account won’t be charged for the periodic fee while in block
– Recalc periodic fee – means that the periodic fee will be recalculated proportionally to the time spent in block
during the current accounting period
– Decrease prepaid traffic – means that the amount of prepaid traffic will be recalculated in the same way as the
periodic fee
– Recalc prepaid telephony – means that the amount of prepaid calls will be recalculated in the same way as the
periodic fee.
Note that the recalculation parameters are set when blocking starts. This means that when the blocking ends,
periodic fee, prepaid traffic and calls will be recalculated according to the charge policy parameters recorded
when blocking started, even if the charge policy parameters were changed since then.
– Repay – is a set of rules that define which event should be coupled with a customer debt repayment (when the
customer’s account has been charged excessively):
– On block expire
– On payment
– On charge period end
– On service link removal
– System block settings – has the following parameters:
– Set system block on funds lack – sets system block when an account has insufficient funds for fee withdrawal
at the beginning of the next accounting period (fee withdrawal doesn’t happen in this case). If this option is
disabled, the check is not performed. In that case if an account has insufficient funds, it’s balance will become
negative after withdrawal and the account will be blocked.
– Block timemarks – is the time for daily check of blocked account’s balance. If at some point of time there’s
enough funds to pay for the services for the rest part of the current accounting period, UTM withdraws that money
and unblocks the account. Block timemarks are only used when the first option is enabled.
Services
The Services page contains the list of registered services (see Basic system objects: Services on page 18) with the
interface for creating, removing, editing, or copying them.
A service can be removed only if it is not used at the moment. Otherwise, in the first place it is necessary to remove
all service links based on it.
Pressing opens the service properties window focused on the Main page. This page includes the following
elements:
– Name – is the name of the service.
– Comments – is an arbitrary comment.
– Type – is the drop-down list for selecting the type of service.
– Supplier to invoice – is the legal entity on whose behalf the service is provided (see Companies on page 74).
The contents and composition of other pages (see below) varies depending on the selected Type value.
On pressing , the service properties window with disabled Type field shows up.
Attachment of services to the users is normally done by means of service links created via the user properties page
(see : Tariffication on page 35).
48
Tariffication
One-time service
One-time service properties window consists of two pages:
Periodic service
Periodic service properties window consists of two pages:
49
Tariffication
– Contract type – comment that can be selected from a list of precreated comments. For more details see
Administrator’s interface: Contract types on page 57
If the flow method is selected, the charge-off is performed as follows. Based on the price of the service and the length
of the accounting period, the minimal one-time payment value is determined. Based on the number of charge-offs, the
minimal time between charge-offs is calculated. Once the service link is initialized, the corresponding accounting period
is divided into equal parts. At the end of each part, the total cost of the service to the moment and the total payments
for the service to the moment are determined, and if the difference between these two values exceeds the minimal
payment, then the sum rounded to the multiple of the minimal payment is charged off the user’s account.
If the number of charge-offs per week is not set in the accounting period properties, the period is divided into equal parts
anyway, but the number of parts is given by the flow_discounts_per_period system parameter (by default 64). At the
end of each part a business logic event is generated. The event handler runs through all periodic services linked to this
period and having flow method of charging. For every such service, the amount to be charged is determined, and if it
exceeds the discount_barrier parameter, the charge-off is made.
All these parameters are also relevant for services of other types, which however possess a number of extra
parameters specific to each type.
Parameters of the corresponding service link are described in Periodic service link on page 91.
IP traffic service
IP traffic service properties window contains the following pages:
50
Tariffication
– Tariffication borders contains the tariffication borders, which are the traffic volume values defined for different traffic
classes separately and used to set variable traffic prices per megabyte depending on the amount consumed within
the accounting period. Each border specification consists of the following values:
– Traffic class (or a group of classes, see below);
– Traffic volume;
– Price.
The price linked to this border determines the cost of the traffic of this class from the current to the next border.
There is a default (hidden) border at traffic volume 0 having price 0.
– RADIUS parameters – (see Additional RADIUS attributes on page 71).
– Groups contains the interface of group tariffication. Group is a union of several traffic classes. The use of groups
alters the very logic of tariffication in a following way.
Each group is characterized by type, which may be either max or sum.
A group of type max is tariffed by the prevailing class, i. e. the price for the whole group is determined via
tariffication borders based on the amount of traffic for the class with maximum traffic. This means that when the
amount of traffic of any class reaches the tariffication border, the rest of the traffic will be tariffed with the new price.
A group of type sum is tariffed by the price determined according to the summary amount of traffic for all classes.
This means that when the sum of the amounts of traffic for all the group member traffic classes reaches the
tariffication border, they will be tariffed with the new price.
Groups must be created ahead of the tariffication borders. Once the custom borders are defined, the group
creation interface is disabled. Once the custom borders are defined, the group creation interface is disabled.
– Prepaid traffic. contains the list of prepaid traffic amounts for each of the traffic classes. The prepaid traffic is
expended first of all and tariffed by zero price. At the end of the accounting period the unused prepaid traffic is
transferred to the following period. The Accumulate no more than parameter, if set to a non-zero value, limits the
amount of unused traffic that may be transferred so, regardless of its origin. If the parameter is set to 0, accumulation
of prepaid traffic is not limited.
Prepaid traffic and group tariffication are mutually exclusive options, i.e. their simultaneous use is impossible.
Parameters of the corresponding service link are described in IP traffic service link on page 93.
Hotspot service
Hotspot service properties window contains the following pages:
51
Tariffication
– Allowed networks – contains the list of allowed IP addresses from which the user is allowed to authorize on the
UTM5 web interface. Authorization requests from other addresses are denied.
– Price per hour – contains the list of connection time prices for various time ranges.
– RADIUS parameters – see Additional RADIUS attributes on page 71.
Parameters of the corresponding service link are described in Hotspot service link on page 95.
Dialup service
Dialup service properties window contains the following pages:
52
Tariffication
Telephony service
Telephony service properties window contains the following pages:
To create a telephony service, at least one telephone zone or direction must exist in the system.
To set the tariffication borders for a particular telephone zone or direction, this zone or direction must be present
in the price editor (see above) of this telephony service.
– Prepaid values contains the amounts of prepaid telephone traffic allocated separately for different telephone zones
and/or directions.
53
Tariffication
– Fixed cost contains the fixed cost of a call defined separately for different telephone zones and/or directions. This
cost is imposed on every call, regardless its duration, in addition to the variable part defined in Price editor and
Tariffication borders.
– RADIUS parameters (see Additional RADIUS attributes on page 71).
Parameters of the corresponding service link are described in Telephony service link on page 95.
IPTV service
IPTV service becomes available after purchasing IPTV integration module license. It’s properties window contains the
following pages:
54
Tariffication
Service templates
The Service templates page contain the list of registered service templates (see Basic system objects: Service
templates on page 20) with the interface for creating, removing, or editing them. A service template can be removed
only if it is not used at the moment. Otherwise, in the first place it is necessary to remove all services derived from it.
Service templates serve solely as the parent entities for the services included in tariff plans. The properties of a service
template are essentially similar to those of a service of the same type (see Services on page 48), except for:
– Attach by default – means that the service will be linked to the customer as soon as the tariff link is created
– Allow multiple linking – allows one to link the same service to the same customer multiple times
The parameters of the services, created based on the templates may be edited when creating a tariff plan. Any changes
to the added service do not change the parent service (template) settings.
Time ranges
This page contains the list of registered time ranges (see Basic system objects: Time ranges on page 23). with the
interface for creating, removing, or editing them Range.
55
Tariffication
A time range can be removed only if it is not used at the moment. Otherwise, in the first place it is necessary to remove
all entities (services, tariff plans, accounts, etc.) relying on it.
Below is the list of time range parameters and their meanings:
– ID – number (assigned automatically).
– Priority – is the order of precedence of time ranges in case they overlap (see below). The higher the number in the
Priority field, the higher priority the time range has.
– Name of the range.
– Range – is the set of time intervals that actually constitute the range.
The and buttons open the Time range window containing two tabs: Visual and Simple.
On the Visual tab a visual editor of time ranges is presented. Colored cells correspond to the hours included in the
range. To include or exclude a single cell, click on it once. With Shift key pressed the selection works in block mode,
i.e. encloses the whole block once its opposite angles are marked by two consecutive mouse clicks. With Ctrl key
pressed the selection works in intersection mode, i.e. spans onto cells coinciding by one coordinate with the cell being
selected, and by the other coordinate with those selected earlier.
The Simple tab presents text interface for setting time ranges. By pressing Add and Remove enter time ranges for
whatever days of week you need.
Visual interface is restricted to hourly precision, i.e. treats each hour as a whole; more accurate timing is possible
only within the text interface. Once the fractional hour borders get involved, the visual interface is rendered
view-only.
In the Days field you may enter individual days to be included in the range. These days are included as a whole, from
12:00 a.m. till 11:59 p.m. If the list of days and the table of hour ranges are used simultaneously, the time range consists
of their union.
If the two time ranges overlap, the ambiguous time is appropriated to the one with higher priority. In the case of
equal priority the outcome is platform-dependent and generally unreliable. Such collisions are to be avoided.
Coefficient schemes
This page contains the list of registered coefficient schemes (see Basic system objects: Coefficient scheme on
page 23). with the interface for creating, removing, or editing the schemes.
56
Tariffication
A coefficient scheme may be deleted only if a service that uses this scheme hasn’t been used in any service links. If
a service is used in a service link, one has to delete the service link to be able to delete the coefficient scheme. Deleting
the service is not necessary. After deleting a coefficient scheme, it will be automatically removed from the service.
A coefficient scheme has the following parameters:
– ID – number (assigned automatically).
– Scheme Name.
– Comment.
– Scheme Creation date.
– Scheme Change date.
The and buttons open the Coefficient scheme window that allows one to add and
remove coefficients affecting the service price over the specified time period:
– Since – is the serial number of the accounting period from which the coefficient becomes active
– Till – is the serial number of the accounting period, after which the coefficient will be inactive
The serial number of an accounting period is set automatically. The order of the accounting periods numbers
is individual for each service link and starts from zero: 0 – is the serial number of the accounting period that was
set during the creation of the service link, 1 – is the serial number of the first full accounting period, 2 – the serial
number of the second full accounting period and so on, depending on the duration of the service link
– Coefficient – Is the multiplier that is applied to the service cost in the set period of time
The service cost is 100% over the periods that are not covered with coefficients
Contract types
This page shows the list of contract types. with the interface for creating, removing, or editing them.
Contract type is an additional comment to a service. A contract type may be added to any number of services. A
contract type may be added when creating or editing a service (see Services on page 48). A contract type must be
Added on the Contract type page in order to get to the available contract types list.
A contract type has the following parameters:
– ID – number (assigned automatically).
– Name.
– Creation date.
– Modification date.
57
Reference book
After editing a contract type, its value will change in all the services that are using it. If a contract type is removed from
the system, it is also automatically removed from all the services.
Reference book
Payment methods
This page contains the list of payment methods (see Basic system objects: Payments on page 24) used to make
payments.
The predefined payment methods (those with ID<100) are not editable. User methods are automatically given
sequential IDs starting from 100. These methods are functionally equivalent to the predefined Cash payment method.
User methods are editable, but can not be removed.
Currency
This page contains the list of registered Currencies (see Basic system objects: Currencies on page 24). with the
interface for creating, removing, or editing them Currencies. The and buttons open the
Currency details window.
Currency is characterized by the following parameters:
– ID – is the digital currency code according to ISO 4217.
– Abbreviation – is the three-letter currency code according to ISO4217.
– Name – is the full name of the currency.
– Percent – is an arbitrary correction to the exchange rate which is applied upon
its online update.
– Exchange rate – is the exchange rate against the internal system currency.
The Online update button evokes the online update of the currency exchange
rate. Russian rouble exchange rate is always 1. The Online update functionality
is only available if the system_currency (see Parameters on page 67) is set to
Russian ruble (ISO code 810), which is the default setting.
This shall not be confused with the standard button next to the list of currencies, which refreshes
only the list of currencies, but not their rates.
By default 1 russian rouble equals 1 system unit, meaning that all calculations are performed in roubles.
– Currency rate history – contains the history of former exchange rates in the system. The first line of the table
contains the current currency exchange rate.
IP zones
List of IP zones is intended for operations with large multi-segment and distributed networks, and contains data on
various network segments, including network, mask, and gateway. An IP zone may consist of one or several segments.
58
Reports
Buildings
List of connected buildings is intended for convenient operations with networks that span several buildings. The record
on house contains its address and the ID of its IP zone. When a user is connected to a house (see : Contacts on
page 35), the IP addresses for the user are issued from the IP zone associated with the house, see IP traffic service
link on page 93.
Buildings can not be removed.
Users may be connected to houses. An example is given in Linking a user to a house on page 108.
Banks
List of banks serves to quickly fill the bank data in the forms. A bank ID is linked to the following data: BIC, name,
address and correspondent account. Users may be connected to banks (see : Additional parameters on page 35).
An example is given in Linking a user to a bank on page 108.
Reports
UTM5 supports a variety of reports (see the list below). Reports can be generated either for a certain user or for all users
at once. Generated reports can be saved as an external file of XML or CSV format.
It is possible to set any time interval for a report to be created. The interval is either entered manually or set to one of
the accounting periods.
When a report for all users is composed, it may be limited to some group of users by selecting the group from the
drop-down list.
When a report for one user is composed, it may be limited to one of the user’s accounts.
The Filter roll-up pane may be used for additional filtering of the report data. The exact list of available filtering
parameters depends on the report type . An arbitrary set of conditions may be specified and logically combined as either
All conditions or Any condition.
If the number of entries in the report exceeds 9999, a warning message shows up during its generation. In this case it
may be worthwhile to interrupt the operation and generate the report again with narrower sampling, to avoid memory
overflow.
Any report contains the summary line that sums up the values across each column.
General report
General report (turnover balance sheet) summarizes all flow of funds on the user's personal accounts during the given
time span.
The report includes the following data:
59
Reports
– Account ID;
– Initial balance;
– One-time service charges;
– Periodic service charges;
– IP traffic service charges;
– Hotspot service charges;
– Dial-up access service charges;
– Telephony service charges;
– Tax amount;
– Total sum adjusted for taxation;
– Total sum of charges;
– Closing balance.
The general report does not contain the charge-offs caused by the nullification of one’s balance at the end of accounting
period (if this option is employed), those caused by the expiration of expiring payments, and the credit payments.
If the selected time span contains no flow of funds, then all columns, including the incoming and closing balance, will
read 0.
Traffic report
Traffic report summarizes the amount of transferred IP traffic for each personal account and traffic class during the
given time span.
Traffic report includes the following data:
– Account ID;
– Login;
– Number of bytes in a kilobyte;
– Traffic class;
– Amount of traffic transferred (in megabytes);
– Price per unit of transferred traffic (cost of 1 MB);
– Sum charged off the user’s personal account.
The data may be grouped by IP addresses, by hours, by days, by months, or by groups of users.
Report on services
This report summarizes information on charge-offs from the user account made during the given time span for the
provided services. The report includes the following data:
– Account ID;
– Date of charge;
– Accounting period;
– Service type;
60
Reports
– Service name;
– Amount of service provided.
Besides the total summary line, the lower part of the report contains separate sub-totals on various types of services.
Telephony report
Report on telephony sessions is based on RADIUS server statistics and summarizes data on telephony sessions
(calls). The report includes the following data:
– Session ID;
– Account ID;
– Receive date;
– Start date; End date;
– Calling station ID;
– Called station ID;
– NAS port;
– Access server (NAS) session ID;
– Login;
– NAS IP address;
– Session status;
– Incoming traffic amount;
– Outgoing traffic amount;
– Telephone zone;
– Telephone direction;
– Session duration;
– Rounded duration of the call (calculated based on the rounding step as set in the properties of the telephony service);
– Incoming trunk; Outgoing trunk;
– PBX ID;
– Cost per unit time;
– Total cost;
– Disconnect reason.
A call spanning across the border between time periods having different prices per minute is nominally split in two and
represented in the report as two calls with the same session ID but with different prices per minute.
A call that has not been tariffed yet is represented in the report as a call with zero price.
Besides the total summary line, the lower part of the telephony report contains sub-totals on individual telephone
directions.
61
Reports
Sessions report
Report on modem sessions and VPN sessions is based on RADIUS server statistics and summarizes data on dialup
access sessions. The report includes the following data:
– Session ID;
– Account ID;
– Start date;
– End date;
– Calling station ID;
– Called station ID;
– IP address issued by NAS;
– NAS port;
– Access server (NAS) session ID;
– Login;
– NAS IP address;
– Session status;
– Incoming traffic amount (bytes);
– Outgoing traffic amount (bytes);
– Incoming traffic amount (gigabytes);
– Outgoing traffic amount (gigabytes);
– Session duration;
– Disconnect reason.
– Total cost;
Sessions registered on the RADIUS server (i.e. probably currently active) are highlighted in green.
Report on blockings
This report summarizes information concerning all blockings (see Accounts on page 16) set within the given time
span. The following data are available in the report:
– Account ID;
– Blocking start date;
– Blocking expiry date;
– Blocked item;
– Blocking type;
– Blocking comment.
62
Reports
Report on payments
This report provides information about payments made by a certain user during the given time span. The following data
are available in the report:
– Account ID;
– Actual payment date;
– Date of payment processing by the system;
– Sum of payment in system currency;
– Sum of payment in payment currency;
– Currency of payment;
– Payment method;
– Payer;
– Payment comment.
For the Credit payments, the payment status is automatically filled into the Comment field:
– Credit opened till: <date> – is the status before the expiration date;
– Credit closed successfully – is the status after expiration if the account balance is positive;
– Credit overdue – is the status after expiration if the account balance is negative.
Besides the total summary line, the lower part of the report contains sub-totals on various methods of payment.
The context menu of the payments report contains the following extra items:
– Print receipt – for the given payment;
– Roll back – the given payment (not applicable to expiring payments).
Other charges
This report contains information about the charge-offs other than service charges, including:
– Expiration of expiring payments;
– Payment rollback;
– Resetting of user’s account to zero at the end of period.
In addition, the report contains rebates for the services not used because of blocking, if some of the user’s service links
have their recalculation options set correspondingly.
63
Reports
Besides the total summary line, the lower part of the report contains sub-totals on various transaction reasons.
Internal transfer
This report provides information about the internal transfers of funds, i. e. the transfers between different accounts of
one user, made either via web interface or via utm5_tray application.
Report on invoices
This page allows one to generate the following report types:
– Invoice;
– VAT invoice;
– Acceptance report;
– Detail invoice.
Each report type is generated in a separate tab.
This report summarizes the information on invoices issued during the given time span, including the following:
– Internal number;
– Alternative number;
– External number;
– Account ID;
– Full name;
– Time;
– Paid (invoice status);
– Sum;
– Creation date;
– Modification date;
– Status
– Is mailed.
The report for a single user contains an additional button New invoice that may be used to generate a New invoice
with arbitrary positions. Each position is characterized by:
– Name
– Quantity;
– Cost per unit;
– Total cost (calculated automatically).
64
Reports
The context menu of the invoices report contains the following extra items:
– Pay opens the New payment window (see page 88). Payment sum set to the sum of the selected invoice. After
commiting a payment, the invoice is marked as Paid. This oprion is only avaialbe on the Invoice tab.
– Edit – opens the selected invoice in ODT format for editing.
– View – opens the selected invoice in PDF.
– Rebuild – generates the invoice again. E.g. this might be useful when after generating an invoice, the administrator
decides to edit one of the document templates.
– Save as ODT allows one to save the invoice in ODT format.
– Save as PDF allows one to save the invoice as PDF.
– Send by e-mail sends the selected invoice(s) to the e-mail set in the user’s properties.
– Correction of invoice positions allows one to arbitrarily edit invoice positions. Correction is available for periodic
fees positions. Any change to invoice positions will affect personal account’s balance in order to preserve the report’s
integrity. E.g. when reducing position cost by $5, account’s balance will increase by $5; This oprion is only avaialbe
on the Invoice tab.
All changes made via correction of invoice positions appear in the User change log. The corresponding Invoice entry
will have a Invoice position correction record in it’s Action column, the ID of the corrected entry in the DB, the amount
of correction and new account balance in the Comment column.
– Delete invoice allows one to delete an invoice. This oprion is only avaialbe on the Invoice tab.
65
Reports
Graphic report
Graphic report is used for visual data representation. The available data types are listed in the Service type dropdown
list:
– IP traffic – represents the traffic consumption by all users, grouped by traffic classes;
– Dialup – represents the number of dialup sessions per hour;
– Telephony – represents the number of phone calls per hour.
66
Settings
– Service;
– Service ID;
– Revoked (a flag that shows whether the charge has been revoked).
DHCP lease
This report provides information on the IP address lease history (IP addresses provided by the UTM5 DHCP module).
There are the following columns in the report:
– ID
– Login;
– IP
– MAC
– Updated (date and time of lease update)
– Expired (time and date of lease expiration)
Settings
Parameters
This page contains the system core parameters that are set via Administrator’s Interface. These parameters are divided
into the following groups:
– Tarrification settings
– Card user settings
– Notification settings
– SMTP protocol settings
– Invoice document settings
– Other settings
– RADIUS protocol settings
– Default settings
Select a settings group and double click it or press . This will open a popup window with a list of editable
parameters:
67
Settings
The Traffic aggregation timeout and Minimum traffic charge threshold parameters define the rate at which the
customer's personal account is being charged.
These parameters are considered simultaneously. Customer’s personal account is charged when either
condition is satisfied: The aggregation timeout is exceeded or the amount of traffic has reached the threshold.
The lower these parameters, the faster will grow the tables that store charges statistics. Those tables are the
largest in the database and may require table archiving in order to reduce the DB load (see Archiving of tables
on page 201).
68
Settings
tariff.link_id,company.id:service.link
This means that two invoices will be generated. One will include all positions for the services that are associated with
the same tariff plan and the same company. The other will include the positions for each common service.
The single rule is equivalent to empty parameter value field:
No field names are set, thus all positions will be included in a single invoice.
The separate rule is equivalent to setting colon in the parameter value field:
No field names are set, but the colon determines that all common services will be calculated separately. Hence, if a
user have both tariff plan services and common services connected, then two invoices will be generated.
Additional parameters
provides the functionality of custom user parameters. Once created, those parameters may be assigned, viewed, and
edited via the administrator’s interface along with the rest of user’s properties, as well as used in the document
templates. This page contains the interface for creation, modification, and removal of additional users’ parameters.
Parameters’ values for the particular user are set on the user properties page (see : Additional parameters on
page 35). To make a parameter appear there, the Visible option has to be checked upon its creation.
Firewalls
This page contains the list of firewalls registered in the system (see UTM5 RFW on page 137) together with the
interface for creating, removing, or editing them. Working firewalls are highlighted in green.
Each firewall has the following parameters:
– ID – is assigned automatically;
– Type – may be one of the following:
– Local – firewall is used;
– Remote Cisco – firewall controlled via rsh is used.
Firewall type must conform to the firewall_type parameter of the config
file associated with this firewall.
– Name – is the parameter by which the core identifies various rfw. Name must
conform to the rfw_name parameter of the config file associated with this
firewall.
– IP – address of the NetFlow supplier stated in the properties of IP traffic service link. I.e. a NetFlow provider should
be registered as a firewall.
– Login – for rsh authorization. Only for Remote Cisco firewall type. netup is always used as the local login.
– Comments – are optional.
69
Settings
Firewall rules
This page contains the list of firewall rules together with the interface for creating, removing, or editing them.
The and buttons open the Firewall rule window containing the firewall properties.
The meanings of particular parameters, as well as the general usage of firewall rules, are described in UTM5 RFW on
page 137.
NAS list
The NAS list page contains the list of registered network access servers.
70
Settings
– NAS IP – is the NAS IP address (see IP addresses on page 25for the formatting details.)
– Auth Secret – is the password used to process authorization requests from NAS and send responses. Must
coincide with the common secret word set in the NAS properties for this type of requests.
– Acc Secret – is the password used to process accounting
requests from NAS and send responses. Must coincide with the
common secret word set in the NAS properties for this type of
requests.
– DAC secret – is the password used in sending extended
messages (RFC 5176). We recommend using strong passwords.
– DAE server port – is the port on NAS appointed to receive
extended messages.
– ISG profile – is an ISG profile that will be used to treat requests
coming from this particular NAS (see ISG profiles on page 73).
– Send disconnect request – flag authorizes the use of
Disconnect-request packets on this NAS (for more information see
UTM5 RADIUS: DM and CoA requests on page 121).
– Send CoA request – flag authorizes the use of
Change-of-Authorization packets on this NAS (for more information see UTM5 Dynashape: Workflow description
on page 148).
– Set RADIUS parameters – Opens the RADIUS parameters window (see below Additional RADIUS attributes)
Setting RADIUS attributes is only possible after registering a NAS. One needs first to create a NAS, then open
it for editing. Then the RADIUS attributes will be available for adding.
– Parameters list – opens the NAS settings window. It allows one to use custom RADIUS settings for the selected
NAS.
71
Settings
– Expire settings – allows one to set an expire date for this rule. So that these additional attributes will not be added
to the RADIUS requests after the expire date.
The additional RADIUS attributes may set some connection parameters (bandwidth limitation, protocol, addresses,
etc.) for each service, for a service link, or for a NAS. The access server must be able to support those attributes.
RADIUS attributes are described in RFC 2865 and RFC 2866.
RADIUS accounts
This page contains the list of RADIUS accounts.
A RADIUS account allows one to log in on a RADIUS server and receive authorization parameters as a set of attributes
that are included in an Access-Accept response type.
Press on the RADIUS accounts page to edit parameters of the selected account.
72
Settings
ISG profiles
This page contains the list of ISG profiles.
ISG profiles are used for configuring the interaction between RADIUS server and intelligent gateway IPoE (i.e. Cisco
ISG). These profiles are used as a parameter for registered NASs.
73
Settings
When on ISG profile page, select one of the profiles and press to edit it.
Companies
This page contains legal and financial data on the company’s legal entities to use in document templates.
74
Settings
Telephony operators
This page contains the list of telephony operators. These must be stored by UTM5 in order to track mutual settlement
charges for the passage of another’s telephone traffic. When a Telephony operator is created or edited, the following
multi-page window shows up:
– Details – includes the properties of the legal entity identified with this operator, and also the balance of settlement
charges.
– Service – includes the parameters of the special telephony service intended solely to account for settlement
charges with this operator. This service does not show up in the list of services, can not be attached to ordinary
users, has no name, no prepaid traffic units, and no linked RADIUS attributes. Tariffication borders for this service
are not cumulative, i.e. the service usage amounts on which the price depends refer to one single call. In all other
respects it is just like usual telephony service (see Telephony service on page 53).
– Reports – (available only when editing an existing operator) includes the reports on payments and charges for this
operator.
IP Pools
This page contains the list of pools of IP addresses to be issued to dialup users.
При наличии нескольких If several IP pools share the same name then the usage thereof is controlled by the
parameter named_pool_shuffle (see UTM5 RADIUS: named_pool_shuffle on page 130). In earlier versions
of UTM (prior to 5.2.1-009-update2) the systems’s behavior in this case was unpredictable.
75
Settings
Document profiles
This page contains a list of document profiles.
A profile of documents is a set of templates with one template for each document type:
These profiles are used for generating documents like contract or an invoice.
The Document profiles page gives access to the following actions:
The first profile (default) can not be deleted. It is set as a default profile for all users. One can assign another
profile to a user in User’s properties (User > Other)
Replacements in documents
This page contains the list of replacements that can be used in document templates.
76
Settings
Dynamic shaping
This page displays the dynamic shaping parameters for those services which are enabled with it, together with the
interface for enabling or disabling shaping and setting its parameters. Shaping is applicable solely to the IP traffic
services. One can add shaping, cancel itm or edit it's parameters.
The and buttons open the Dynamic shaping window containing the following interface
elements:
– Service – is the drop-down list for selecting the service to apply shaping to. Disabled during editing (may be set only
once).
– Apply to VPN IP, Apply to non-VPN IP – are the flags controlling the application of shaping to different types of IP
addresses. Disabled during editing (may be set only once).
– On the tabs Incoming and Outgoing:
77
Settings
– Using the buttons Add time range and Remove time range select the time range to apply shaping.
Usage of the overlapping time ranges is inadmissible here, as well as in other circumstances.
– Using the buttons Add border and Remove border set the border values of traffic amount (in bytes) for shaping.
The units of K (kilobytes), M (megabytes), or G (gigabytes) may be used; if no units are given, the number is
interpreted as a value in bytes. It may be worthwhile to set the lower border to zero, so as to establish bandwidth
limitations for any amount of traffic starting from zero.
– For each border and for each time range set the bandwidth limitation. It will be valid during the given time range
if the amount of traffic is above the given border (and still below the next one, if any).
– In the Traffic classes group enter the desired traffic classes to apply shaping to, using the drop-down list and the
buttons Add traffic class and Remove.
– Turbo mode tab is optionally used to set up the turbo mode, which is a brief temporary enhancement of Internet
access bandwidth. Its parameters include: bandwidth limitation for incoming and outgoing channels separately (or
no limitation whatsoever, if such an option is selected), duration, and the name of a one-time service used as a
payment for engaging turbo mode. Customers may switch turbo mode on via web interface at their own discretion.
If the turbo mode settings include the Traffic amount and the incoming and outgoing traffic limits are set, the
turbo mode will be switched off only when both limits are reached.
– The RADIUS parameters tab contains the parameters that wiil be sent to the RADIUS server: Vendor ID,
Parameter ID, and the string from the Value field. The command may include variables selected from the drop-down
list. On execution the variables are substituted with their values. See UTM5 Dynashape: RADIUS parameters on
page 149for the list of variables.
Emergency calls
This page contains the list of telephone zones and/or directions which are available for a call even when the user’s
account is blocked.
78
Settings
Archive DB
This page contains an interface for automatic DB archiving
In order for the archived data to be used in reports, the archived tables structure must comply with the core
requirements. Otherwise these data will be ignored. Press to verify the archived tables structure. When
the verification is finished, the Status column will display verification results (OK if an archive complies with the core
requirements and Need repair Press to repair the archived tables structure. In case of success, the
status will change from Need repair to OK. Otherwise the status will change to Unable to repair. Such tables can only
be repaired manually.
NetFlow providers
This page contains the list of NetFlow providers registered in the system.
79
Settings
Each entry describes a NetFlow provider and has the following parameters:
Traffic collectors
This page contains the list of available traffic collectors registered in the system.
Each entry describes a traffic collector and has the following parameters:
– ID – internal ID that is assigned automatically
– Name – is the traffic collector name
This name must be the same with the value of the tc_name
parameter in the traffic collector's configuration file
80
Interfaces
– press and then press in the popup window to open traffic collector settings:
Interfaces
This section covers the settings affecting user’s and cashier’s interfaces. Tray settings (page 81)contains settings
related to utm5_tray application (see utm5_tray utility on page 173). Parallel functionality of the web interface may
be set up by editing the XML templates in the root directory of the interface.
The pages Tariff switch, Voluntary suspension, Promised payments, and Internal transfer (page 84)describe
each a particular facility defined by a set of parameters. An arbitrary amount of separate sets may be created. Each
set has its own priority and refers to certain group of users. If there are several sets defined for this group (or the user
belongs to multiple groups), only one set is applied, namely the one with the highest priority. When this set is disabled,
so is this facility for this user, despite possible presence of other sets, if even for the same group.
Priority of sets may be edited by the buttons Up and Down. There is one special set associated with the group All which
is present by default, can not be removed, and has fixed priority of 0 (i. e. below others).
Tray settings
This page controls the settings related to the client tray application (see utm5_tray utility on page 173).
The Update info group of parameters controls the automatic update settings:
– Enable update – switches on automatic update.
– New version build (number) – is the build number of new version of the user application. On startup it is compared
to the current version number, and once the current version is found to be outdated, it is updated.
81
Interfaces
Cashier interface
This page controls the settings of UTM5 cashier interface (see Cashier module on page 170).
Tariff switch
This page contains the list of sets of parameters for switching tariff plans. The applicability of sets to a particular user
is determined based on group affiliation and priorities (see above).
82
Interfaces
The and buttons open the properties window containing the following elements:
– ID – of the set.
– Group – of users to which this set is applicable.
– Activated – is the flag that enables the set.
– Instant change – is the flag that allows the plan to be switched instantly. Otherwise the plan will be switched at the
end of the accounting period.
– Changes per period – is the maximum allowed number of plan switches during one accounting period.
– Available tariffs – is the list of tariff plans eligible for the switch. The list is controlled by the buttons Add, Edit, and
Remove.
Voluntary suspension
This page contains the list of sets of parameters for voluntary suspension. The applicability of sets to a particular user
is determined based on group affiliation and priorities (see above).
After suspension is activated, recurring fee is recalculated according to the periodic service link parameters (see
Periodic service link on page 91)
The and buttons open the properties window containing the following elements:
83
Interfaces
– ID – of the set.
– Group – of users to which this set is applicable.
– Min duration of the suspension;
– Max duration of the suspension;
– Interval between uses of this facility;
– Min balance – is the minimum value of the user’s
balance required to use suspension;
Promised payments
This page contains the list of sets of parameters for making promised payments. The applicability of sets to a particular
user is determined based on group affiliation and priorities (see above).
The and buttons open the properties window containing the following elements:
– ID – of the set.
– Group – of users to which this set is applicable.
– Max payment – that can be made.
– til positive balance flag – automatically sets the payment amount to minimum possible to turn the balance
positive;
– Max duration – is a promised payment expiration period;
– Interval between uses – of this facility
– Min balance – is the minimum value of the user’s balance required to make promised payments. If the Consider
flag is not set, the check is not performed;
– Service – is a one-time service used to collect fee for the promised payments.
– Free if balance over – is the minimum balance value required to make promised payments for free. If the Consider
flag is not set, the check is not performed;
– Activated – is the flag that enables the set.
Internal transfer
This page contains the list of sets of parameters for making internal transfers. The applicability of sets to a particular
user is determined based on group affiliation and priorities (see above).
The and buttons open the properties window containing the following elements:
84
Additional Features
– ID – of the set.
– Group – of users to which this set is applicable.
– Activated – is the flag that enables the set.
Additional Features
– Statistics – summarizes info on uptime and the number of NetFlow records in the system.
– LibURFA Plugins – displays the list of plugins and their version numbers.
– Symbols – displays the list of URFA functions.
– Connections – displays the list of open connections.
– Hotspot sessions – displays the list of Hotspot sessions opened via the web interface (but not the RADIUS hotspot
sessions).
– RADIUS sessions – displays the list of active sessions on RADIUS server.
– RADIUS attributes – displays the list of custom RADIUS attributes. These may be attached to particular users,
network access servers, services of IP traffic, dialup, and telephony, and also to corresponding service links.
– Change password – contains the interface for changing the administrator password. The Change button turns
active only if New password and Confirm new password coincide.
Inventory
This group contains pages that allow one to tweak the entities, used by UTM5 DHCP module (see DHCP on page 184)
Switch types
This page contains the list of available switch types.
85
Inventory
Switches
This page contains the list of switches available in the system. Every switch description contains its ID, name, comment
and other parameters that allow one to identify this particular switch.
DHCP pools
This page contains the list of the DHCP pools. The connection between a DHCP pool and a DHCP client or a DHCP
Relay is set in the service link parameters.
86
About
– Lease time
The block action type defines the DHCP server behavior in case a DHCP request comes from a blocked user (a user
who’s personal account is blocked). This parameter might have the following values:
– Not set – which means that the DHCP server will lease an IP address for both blocked and not blocked users
– Use blocked – is an option that allows one to assign IP addresses from a certain DHCP pool to blocked users.
In order to use this option, one has to select a pool that will be used for treating requests from blocked users. This
option is only available when more than one DHCP pool is registered in the system
– Ignore request – means that DHCP requests coming from blocked users will be ignored by the DHCP server
– Dynamic ranges – is the range of addresses for the current DHCP pool.
DHCP lease
This page contains the list of active and
expired DHCP leases.
The table has the following columns:
– ID – is an automatically assigned record
number
– IP – is the leased IP address
– MAC – is the client’s MAC address
– Server ID – is the server’s IP address
– Client ID – is a HostName attribute of the
DHCP option 12 from the client’s DHCP request
– Expires on – is the date of the IP address lease expiration
– Updated – is the start date of the IP address lease
– Status – is the lease status. This parameter might have the following values:
– Static – the address has been assigned statically (has been entered in IP group settings)
– Dynamic – the address has been assigned dynamically
– Static, Modified – the address has been assigned statically, after that IP group settings have changed, or it has
neen removed
– Dynamic, Modified – the address has been assigned dynamically, after that IP group settings have changed, or
it has neen removed
About
This group contains two pages:
– About – contains the program version number and contact info of the license holder.
87
Stray pages
– Licenses – displays list of separate modules’ licenses and their terms of validity. Pressing Read reveals specific
inner parameters and limitations of a particular module.
Stray pages
Payment page
The payment page opens in a separate window and contains the
following interface elements:
– Login – is the user login (view-only).
– Switch internet on – enables switching the Internet status for
the given account to On after making the payment, should the
resulting account balance be positive.
The default setting for this option (on / off) is defined by one of
the interface parameters, see : TurnInternetOn on page 32.
– Account – is a drop-down list for selecting an account, if the
user has more than one of them.
– Amount; – of the payment.
– Currency – of the payment.
– Payment date – is the date when the payment is made.
– Expires on – is the date of expiration of the payment (optional
parameter).
– Payment method – is a drop-down list for selecting one of the registered payment methods. Once the payment
method is set to Loan, the Expires on parameter becomes mandatory.
– Payment document number – is the number of external document (if any) being the reason for the payment.
– Write out a receipt – enables the generation of a receipt for printing on pressing.
– Comment (For administrator, For user) – are arbitrary comments.
– Payment to invoice – is the number of internal invoice (if any) being the reason for the payment. If the payment is
being made according to some internal invoice, the Sum and Currency fields get filled with the values from the said
invoice and turn inactive.
– Send email notification – enables sending an e-mail notification to the user.
88
Stray pages
Search page
The search page opens in a separate window and contains the following interface elements:
– On the Simple tab one may perform a text search by login or by full name, as well as search by user ID, primary
account ID, IP address, or account balance.
– On the Custom tab one may perform a search by combination of an arbitrary number of conditions including any of
the user’s properties.
– The Link to dealer button opens the interface for linking the user to a dealer, like the similar button on the user
properties page (see : Main parameters: on page 34).
– The Edit button opens the user properties window, like the similar button on the user list page (see Users on
page 33).
– The Add to group button opens the interface for adding selected users to a group, like the similar button on the user
properties page (see : Groups on page 35).
– The New payment button opens the payment window (see Payment page on page 88).
Personal account
User account is an object containing the financial
information. User accounts are created, modified
or deleted via the user details window (see :
Accounts on page 35). A user may have multiple
accounts.
89
Stray pages
– Requirement payment – is the amount to be paid if the user wants to unblock his account in the current accounting
period. The payment is calculated as follows: the amount on the balance of the user's personal account minus the
amount of all payments that must be made in the current accounting period. The loan amount is not included in the
calculation.
– Internet status – of the account (on / off). The Auto enable inet flag allows one to set up UTM5 to automatically
enable Internet for this personal account as soon as the customer replenishes her account and the account
unblocks.
The flags Don’t charge recurrent fee and Decrease prepaid traffic which were among the account properties
in UTM versions up to 5.2.1-008 have been since transferred to charge policy properties, see Charge policies
on page 46.
– Blocking type; – shows whether the account is blocked, which can be done arbitrarily by the administrator or
automatically by the system. Note that after lifting a manual blocking you have to turn Internet on for that account
(this is done in the same window, see Internet statusabove).
– Block period – (optional) for the administrative blocking, if one is being set.
Unlike the current blocking status, a blocking scheduled for the future is not manifested at all in the account
properties. To look for it, check the corresponding report (see Report on blockings on page 62).
– Unlimited mode (must be used with care) – turns all charges off this account to zero, thus effectively making all
services free.
Tariff link
Tariff link is an object connecting a tariff plan to an account. Tariff links are created, modified or deleted via the user
details window (see : Tariff links on page 36). Prior to tariff link creation, an account has to be selected to associate
the link with.
90
Stray pages
After setting the necessary parameters and pressing the system will prompt to create the service links for the
services having Attach by default checked. Other services must be added later by pressing Add service link in the
tariff link details window.
Service link
Service link is an object connecting a service to an account. Tariff links are created, modified or deleted via the user
details window (see : Service links on page 35). Prior to tariff link creation, an account has to be selected to associate
the link with.
Service link parameters are listed below. The actual set of parameters vary depending on the service type.
– Service name;
– Accounting period; – to which the service link refers.
– Start date – since when the service is provided to the user.
– End date – since when the service stops being provided to the user. By that date the service link is deleted.
91
Stray pages
– Charge policy. – One can select a charge policy to apply to the service link. Press to see the chosen
charge policy parameters (for more information about the charge policy see Charge policies on page 46).
– Charged – the amount of all charges applied to user’s account during the current accounting period. Press
to open a periodic service statistics window. The button becomes active after saving the service link:
– Cost, % – is the actual cost of the service for this particular user. It is specified in percents relative to the base cost
of the service, and may be altered arbitrarily. This affects only the periodic component of the service cost.
Correction is made at the end of a service period It uses the correction field value at the moment of correction
After saving the service link, this field shows the current coefficient if the service is linked to a coefficient scheme
(see Basic system objects: Coefficient scheme on page 23). Press to see the link to a schedule:
This window allows one to change the coefficient scheme, its start date and the schedule for the cirrent service link.
– Coefficient scheme – select a scheme for the current service link. The default scheme is the one connected to the
selected service.
– House – select address. This field may be useful when the actual service provision address differs from the one,
specified in user properties, on the Contacts page. Press to see the list of houses that are registered in
the system (see Administrator’s interface: Buildings on page 59).
If the selected address is the same as in the one specified in the user properties, House field will become empty
after saving the service link.
92
Stray pages
– IP settings tab:
– IPv4/IPv6 subnet – is the IP address and mask of the group’s network.
See IP addresses on page 25for the formatting details. These
parameters are cached by UTM5 RADIUS.
The Dynamic flag will be set if the IP group is temporary and has been
created automatically for an IP address, assigned by the DHCP server
After the session is terminated, the IP address will remain assigned to the user for a certain period of time. This
time period is determined by the dynamic_ip_unlink_timeout parameter that can be found on the Settings page
in the Parameters list group.
– Allowed CID – is the regular expression against which the value of Calling-Station-ID attribute of the
authorization request is checked. If the attribute is not set (not supported by NAS) or does not match the regex,
authorization is denied.
This parameter is cached by UTM5 RADIUS.
93
Stray pages
Adding prepaid traffic is only possible when the prepaid traffic has not been
consumed yet. When the prepaid traffic is consumed, one cannot add prepaid
traffic any more.
94
Stray pages
Hotspot login may not start with a digit. Parameters of the service itself
are described in Hotspot service on page 51.
Service link of this type has the same parameters as the periodic service link
(see Periodic service link on page 91) plus the following specific
parameters:
– Login, Password – are to be used for the user’s authorization on the
access server. On successful authorization the server establishes
connection and issues the dynamic IP from a pool. These parameters are
cached by UTM5 RADIUS.
While accepting the login, UTM5 RADIUS may automatically cut off the
prefix defined by the radius_realm parameter (see Settings available in
the administrator’s interface on page 117).
– Allowed CID – is a regular expression to check against the
Calling-Station-ID attribute of the authentication request. These
parameters are cached by UTM5 RADIUS. If the regex is set, but the
attribute does not match it or is missing, the authorization is denied.
– Allowed CSID – is a regular expression to check against the
Called-Station-ID attribute of the authentication request. These parameters are cached by UTM5 RADIUS. If the
regex is set, but the attribute does not match it or is missing, the authorization is denied.
– Callback allowed – instructs the RADIUS server to check the incoming login (the part after colon) against the
Callback standard. This parameter is cached by UTM5 RADIUS. Login is the part coming after colon. These
parameters are cached by UTM5 RADIUS.
– Ringdown allowed – instructs the RADIUS server to check the incoming login for all non-Callback calls. These
parameters are cached by UTM5 RADIUS.
If neither Callback allowed nor Ringdown allowed are set, the authorization with the given login and password is
denied.
Parameters of the service itself are described in Dialup service on page 52.
95
Stray pages
– Allowed CID – which is a regular expression to check against the Calling-Station-ID attribute of the
authentication request. If the regex is set, but the attribute does not match it or is missing, the authorization is
denied.
The set of parameters identifying the telephony service link (which are: login, incoming trunk, outgoing trunk, and PBX
ID) must be unique. In each set at least one of these parameters must be filled, i.e. non-empty. If a call matches several
service links by some parameters, the one with the greatest number of matches is selected.
Parameters of the service itself are described in Telephony service on page 53.
96
Tray icon
– IPTV access card (for NetUP IPTV) – is the user’s IPTV access card number. If this card was not created earlier,
one can create it in this window. Press to create a new access card.
For more information on access card, see the IPTV administrator’s manual.
Correction is made at the end of a service period and it uses the value of the filed by the end of the period
– IPTV access card – is the user’s IPTV access card number. If this card was not created earlier, one can create it
in this window. Press to create a new access card.
For more information on access card, see the IPTV administrator’s manual.
Tray icon
When the control center is working, it is represented by an icon in the system tray. . The icon has a context menu
of its own, which contains the following items:
– Main window – activates the main window of the program.
– Frames – select one to move on top – – (active when there are multiple open windows) selects and activates any
of the control center windows, except the main one.
97
Tray icon
– Processes – select one to cancel – (active when there are processes running; at that, the icon changes to )
selects and terminates a process. May be worthwhile if the process is taking longer than expected.
– Cancel printing – (active when there is a printing task running) terminates printing.
– Exit – stops the control center.
98
Introduction
Usage examples 9
Introduction
This chapter contains typical scenarios of UTM usage. All actions are performed via the interfaces of the control center
which itself is described in Installation and startup. Complete description of the control center interface pages is given
in Administrator’s interface on page 31.
To perform the initial setup of the UTM system one generally needs to do the following:
– Create accounting periods (see Creating accounting periods on page 99);
– Create traffic classes (see Creating traffic classes on page 101);
– Create services (see Creating services on page 101);
– Create users (see Creating users on page 102);
– Assign services to users (see Creating service links on page 105and Creating tariff links on page 107).
Java Runtime Environment (JRE) version 8.0 (Java 1.8.x) or above is required in order to use the control center
JRE distributive is available for free at java.com .
3. Start the control center either by clicking on the file utm_admin.jar or from the
command line by executing
Note that the selected language is not applied immediately to the login dialog itself. Instead, the language switch
occurs on the next launch of the program.
7. Check Save options if you want to save the parameters just entered (except for password) in the settings file for
use during subsequent launches. Check Save password if you also want to save the password as well.
It is highly recommended to change the password for the system user init immediately after logging in for the
first time (see Administrator’s interface: Change password on page 85).
99
Creating time ranges
Use Shift in order to select multiple cells at a time. E.g. to select the whole time range select 00 hours on Sunday,
press Shift and select 23 hours on Saturday.
100
Creating traffic classes
In order to create traffic classes with time-dependent condition of membership, one has to create the
corresponding time ranges beforehand, see Creating time ranges on page 100.
8. After creating the subclass press in the Traffic class window to finalize the creation of the new traffic
class.
9. In a similar manner create the class Day Outgoing with the following properties:
– ID: 25;
– Time range: Day (supposed you’ve already created this time range);
– Subclass properties: enter local IP address/mask into the Source group.
1. In a similar manner create the class Internal with the following properties:
– ID: 1000;
– Time range: leave default value (Not defined);
– Subclass properties: enter local IP address/mask into both the Source and Destination groups.
Creating services
may contain services of various types (see Basic system objects: Services on page 18) which in turn may require
some type-dependent prerequisites. In particular, to create an IP traffic service, one has to create the necessary traffic
classes in the first place (see Creating traffic classes on page 101).
To create a new IP traffic service:
1. Click Services on the left pane under Tariffication. The list of existing services will appear.
2. Press to create a new service. The Service window will appear.
3. Enter the service name.
4. Set the service type to IP traffic. A set of additional shortcuts will appear on the left pane.
5. In Service parameters enter the periodic fee and select a charge-off method (at the beginning, or at the end of an
accounting period, or flow method).
6. In Tariffication borders press above the list of borders.
101
Creating users
7. In the window that appears, select a traffic class for the border, enter the border position in bytes (0) and cost for
traffic exceeding the border in currency units per megabyte. Press
8. In order to add prepaid traffic to the service, press above the list of prepaid units in Prepaid traffic.
9. In the window that appears select the class of prepaid traffic and enter its volume in bytes. Press
10.Press in the Service window to finalize the creation of the new service.
Creating users
New user account is created via the dialog window for adding users (called by pressing the button in the list of users).
Required information is a user login and a password. On creation of a new user account a password is being generated
automatically, yet it may be changed. A personal account is being created along with the user account.
When a user account has been created, one may start adding services. See Creating service links on page 105and
Creating tariff links on page 107for details.
Removing a user
To remove a user:
1. Press Users on the left pane under Users & Groups. A list of existing users will appear.
2. Select the user in the list and press . The user properties window will show up.
3. If the user’s accounts have some service links attached to them:
3.1. On the left pane of the user properties window open Service links under Tariffication. The list of service links
will appear.
3.2. Remove each service link by selecting it, pressing and selecting OK in the confirmation window.
102
Creating account
3.3. Repeat the previous step with the other user’s accounts, if any.
4. If the user’s accounts have some tariff links attached to them:
4.1. On the left pane of the user properties window open Tariff links under Tariffication. The list of tariff links will
appear.
4.2. Remove each tariff link by selecting it, pressing and selecting OK in the confirmation window.
4.3. Repeat the previous step with the other user’s accounts, if any.
5. Press to close the user properties window.
The user can not be removed while still having some service or tariff links attached.
Creating account
The user’s primary account is created automatically together with the user. Besides, an arbitrary number of additional
accounts may be created afterwards.
To create an additional account:
1. Press Users on the left pane under Users & Groups. A list of existing users will appear.
2. Select the user in the list and press . The user properties window will show up.
3. On the left pane of the user properties window open Accounts under Tariffication. The list of user’s accounts
(initially containing only one account) will appear.
4. Press The account properties
window will show up.
5. Select the Internet status for the account being
created (On / Off).
6. Select Credit for the account (a sum to be put
on this account upon creation).
7. Select Block ID for the account (see the list in
Accounts on page 16). In case of blocking
type other than No you may check the Block
period flag and set the time span for the
blocking to persist.
8. Enter the tax rates, namely VAT rate and Sale tax rate.
9. If necessary, check the Unlimited mode flag.
10.Press to finalize the creation of the new account.
Removing an account
To remove an additional account:
1. Press Users on the left pane under Users & Groups. A list of existing users will appear.
2. Select the user in the list and press . The user properties window will show up.
3. If the account has some service links attached to it:
3.1. On the left pane of the user properties window open Service links under Tariffication. The list of service links
will appear.
3.2. If another account is selected in the drop-down list, select the one you need. The list of service links will switch
to that of the selected account.
3.3. Remove each service link by selecting it, pressing and selecting OK in the confirmation window.
103
Creating a charge policy
104
Creating service links
accounting period.
This condition only works if the Recalc periodic fee option is selected for the block type that is used for
blocking the user’s personal account
For example, a user is blocked with the User’s block. To charge the fee while the user is blocked, check two
checkboxes in the Charge policy: the Periodic fee checkbox in the Don’t charge without block group and the
Recalc periodic fee checkbox in the Recalculation on block group in the User tab.
6. Check the checkboxes in the Recalculation on block group as needed. Switch to another Block type to check the
checkboxes for all the rest block types.
– Do not charge periodic fee
– Recalc periodic fee
– Decrease prepaid traffic
– Recalc prepaid telephony
7. In order to set up the parameters for another bocking type, switch to the corresponding tab.
8. In the next group - Repay, check the events that you want to be coupled with refund when excessive amount of
money was withdrawn from the user’s account.
9. Check the Set system block on funds lack checkbox in the System block settings group.
10.Press to finish creating the charge policy.
105
Creating a tariff plan
6. Select the service from the list and press . The service link
properties window will show up.
7. Press and select the accounting period for the service
link.
8. Select the starting date for the service.
9. Select the ending date, or check the Infinite date flag.
10.Select a charge policy.
11.Set the service cost correction if necessary.
12.Press to add an IP group.
106
Creating tariff links
6. In the same way one can add more services if needed. Press to
finish creating a tariff plan. A service plan may be edited later on.
107
Linking a user to a house
8. Press and select the accounting period for the tariff link.
Making payment
To make a payment to a particular account of the given user:
1. Press Users on the left pane under Users & Groups. A list of existing users will appear.
108
Creating dealers
Creating dealers
To create a new dealer:
1. Press Dealers on the left pane under Users & Groups. A list of registered dealers will appear.
2. Press The dealer properties window will show up.
109
Linking users to dealers
4. In the Permissions granted column mark the check boxes corresponding to the users of your choice, in order to
enable the dealer with the access to these users.
Note that the users (unlike other entities) are attached to dealers in exclusion mode, i.e. each user may be
attached to only one dealer. The users already attached to other dealers have their permission check boxes
disabled.
5. In a similar way set up the dealer’s access to other entities on the pages Accounting periods, Services, Tariffs,
and Houses.
6. Press to save the changes.
Creating firewalls
To create a new firewall:
1. Press Firewalls on the left pane under Settings. The list of existing firewalls will appear.
110
Creating firewall rules
1. Press Firewall rules on the left pane under Settings. The list of registered firewall rules will appear.
Firewall rules associated with the global system events (Raw traffic file closed and Log file closed) require
that the All users option must be checked.
1. In the Execute when group select one or more events to initiate the rule in question using the drop-down list of
events and the Add and Remove buttons.
2. Enter the command template in the Firewall rule field. Use the necessary variables by selecting them from the
drop-down list (see UTM5 RFW: Variables on page 138) and pressing Insert. On execution the variables are
substituted with their corresponding values. The set of available variables depends on the selected initiating events
(see the list in UTM5 RFW: Events on page 143). Attempts to use the non-available variables cause warnings.
111
Introduction
System core 10
Introduction
Core of the billing system is a basic module responsible for the database access. The core provides access to it and
processes incoming information under the internal rules (such as tariffication, periodical charge-offs, etc). The core is
a separate multithreaded process functioning in a user-operated mode. Due to its structure the core blends in with
multiple-processor architectures and uses all resources evenly at high workloads.
DMS
Inner cache
Log files Logging module NetFlow buffer Transaction
Event handlers
handlers
NetFlow provider
112
Startup
The log file keeps all records of UTM functions. It provides the administrators with all sorts of diagnostic information
about system failures.
The database access module is a united DB interface which transfers intrasystem data requests into requests to an
external database. It is an abstraction level giving the UTM independence of any particular DBMS.
Data are received via NFBuffer and URFA. Input data are read from the database when the system is launched.
Changes made directly in the database afterwards may cause uncontrolled behavior of the system.
NetFlow data go to the business module where they are processed and all necessary charge-offs are calculated. At
peak workloads NetFlow can be buffered to reduce possible losses. Raw NetFlow data are stored in files. At startup
this DB module is started in a separate thread with (if possible) high priority.
Startup
core executable file is /netup/utm5/bin/utm5_core.
Possible command line parameters are:
/netup/utm5/bin/safe_utm5_core start
/etc/init.d/utm5_core start
On FreeBSD or Solaris:
/usr/local/etc/rc.d/utm5_core.sh start
/etc/init.d/utm5_core stop
on FreeBSD or Solaris –
/usr/local/etc/rc.d/utm5_core.sh stop
Core settings
System core parameters may be set up in the following ways:
– Via the config file;
– Via the administrator’s interface (see for more detail).
Config file parameters are used during the initialization of the system core and other components. Any changes to these
parameters are applied after the next restart.
113
Core settings
Interface parameters, on the contrary, are related to the system’s behavior after startup and may be changed at any
moment, unless stated otherwise. The changes are applied immediately.
Configuration file
Config file used by the UTM5 system core is located at /netup/utm5/utm5.cfg.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
Below is the list of all possible parameters.
Database-related parameters:
114
Core settings
URFA-related parameters:
Stream-related parameters:
NXT-related parameters:
115
Core settings
Logging parameters (for more details see System description: Logging on page 13):
Stack parameters:
116
Core settings
License parameters:
Select a settings group and double click it or press . This will open a popup window with a list of
editable parameters:
The Traffic aggregation timeout and Minimum traffic charge threshold parameters define the rate at which the
customer's personal account is being charged.
These parameters are considered simultaneously. Customer’s personal account is charged when either
condition is satisfied: Traffic aggregation timeout is exceeded or the amount of traffic has reached the threshold.
117
Core settings
The lower these parameters, the faster will grow the tables that store charges statistics. Those tables are the
largest in the database and may require table archiving in order to reduce the DB load (see Archiving of tables
on page 201).
118
Introduction
UTM5 RADIUS 11
Introduction
UTM5 NetUP RADIUS server is an application intended for real-time processing of the incoming requests using
Remote Authentication Dial In User Service (RADIUS) protocol as described in RFC 2865, RFC 2866 and RFC 5176.
RADIUS protocol serves for secure authorization, authentication and accounting between NAS and authorization
servers.
This protocol makes it easier to manage large numbers of NAS. When there are several management devices that
users need to have access to in one network and each device stores user data for all the users in the network, it
becomes very hard to manage such a system. This can be solved by installing a common authorization server so that
all the network devices could query it over a standard RADIUS protocol. In this case one may use NAS from any
vendors that support RADIUS protocol.
Besides that, the protocol is applicable to collect information on consumed services, such as connection time, amount
of traffic, user’s IP address, etc.
NAS setup is described in Administrator’s interface: NAS list on page 70
UTM5 RADIUS interacts with the UTM5 core using Stream protocol.
One instance of UTM5 core may work with only one RADIUS server.
RADIUS server is a part of several different modules that require separate licenses. To verify the availability of the
licenses and their terms of validity, see : Licensesin the UTM5 administrator’s interface and check for at least one of
the following items in the list: VPN/Dial-up module, Telephony module, or Hotspot module.
In case if NAS is configured to send the connection info, after establishing a connection UTM5 RADIUS sends an
Accounting-Request. Depending on the configuration, NAS may also send additional periodical Accounting-Requests
containing current status info on the connection.
When a connection is broken, NAS must send a summarizing Accounting-Request, given that some
Accounting-Requests for this connection have already been exchanged before.
On receiving an Accounting-Request, UTM5 RADIUS creates, changes, or removes an object associated with the
given connection. Depending on the Accounting-Request contents, some additional actions may be performed to
maintain the delivered information on the connection.
After successfully handled an Accounting-Request, UTM5 RADIUS sends to NAS a confirmation
Accounting-Response. On failure, no response is sent. Packets from an unknown (not registered) NAS are ignored.
The interaction between UTM5 RADIUS and NAS is performed in RADIUS packets sent over UDP. Commonly, port
1812 is used by UTM5 RADIUS to receive Access-Requests, and port 1813 to receive Accounting-Requests.
119
RADIUS protocol description
– Identifier – is a one-byte field intended to relate the request to the response. Duplicate requests with the same ID
coming from the same NAS shortly after each other are ignored.
– Length – is a two-bytes field containing packet size.
– Authenticator is a 16-bytes field that contains data for checking the packet's authenticity. – For a request, it
is some unique sequence used together with the md5 of the secret word common for the UTM5 RADIUS and NAS
for reversible encoding of the user’s password. For a response, it is md5 of Code, Identifier, Length,
Authenticator, and Attributes fields together with the secret word.
The common secret word must be considerably hard to break. It is strongly not recommended to leave it blank.
UTM5 RADIUS uses the sender address of the RADIUS packet to derive the common secret word.
– Attributes – is a variable-length field containing the list of RADIUS attributes.
Each RADIUS attribute contains specific information on a request or a response. Generally, a RADIUS attribute looks
as follows:
– Type – is a number describing the attribute type.
Possible types are listed in RFC 1700.
http://www.iana.org/assignments/radius-types/radius-types.xhtml#radius-types-2
– Length – is the summary length of the Type, Length, and Value fields.
– Value – is the type-specific information. Depending on the type, may contain the following fields:
120
RADIUS protocol description
interpreted as follows:
– Vendor-Id – is a number describing the organization that defines this attribute (for more details see RFC 1700).
– Vendor-Type – is a number that described the attribute meaning.
– Vendor-Length – is the summary length of the Vendor-Type, Vendor-Length and Data fields.
– Data – contains the actual data.
From this point on, the vendor-specific attributes are referred by common name followed by the semicolon-separated
Vendor-Id and Vendor-Type in parentheses, for example: Cisco-AVPair (9;1).
121
Workflow description
NAS replies with a Disconnect-ACK in case it was able to identify and terminate the session, otherwise it replies with
a Disconnect-NAK.
CoA requests are used for changing shaping parameters for current session (for more information see UTM5
Dynashape: Workflow description on page 148). These parameters are most likely to be changed at a certain time
or after reaching a certain traffic limit. In case NAS supports CoA requests and a corresponding flag is checked in the
administrator’s interface, if one of these happens, UTM5 RADIUS will send a CoA request to NAS.
Like a DM request, CoA request contains attributes required for identifying a session and the new values of RADIUS
parameters that need to be updated (see UTM5 Dynashape: RADIUS parameters on page 149). If NAS is able to
identify session and update RADIUS parameters it replies with a CoA-ACK, otherwise it replies with a CoA-NAK.
Workflow description
RADIUS works as follows:
1. Connects to the UTM5 core.
2. Retrieves from UTM5 the info on events to await.
3. Interacts with NAS.
4. Sends the resulting data to UTM5.
On startup UTM5 RADIUS connects to the UTM5 core, authorizes according to its config file parameters, and
establishes a Stream connection.
Once a connection is set, the UTM5 core passes to UTM5 RADIUS the description of the needed objects in the
corresponding events.
UTM5 RADIUS keeps the Stream connection to the core. Upon creating, changing, or deleting system objects related
to UTM5 RADIUS functionality, the UTM5 core sends the corresponding event over Stream in order to inform RADIUS.
On reception of certain events, UTM5 RADIUS creates, modifies or deletes its inner records related to the following
objects:
– IP groups;
– NAS;
– Accounts;
– Time ranges;
– IP traffic, hotspot, and telephony services;
122
Workflow description
Authorization
On receiving an Access-Request UTM5 RADIUS performs the following:
1. User authentication with one of the methods:
– PAP
– CHAP
– MS-CHAP v1
– MS-CHAP v2
– EAP-MD5
– EAP-TTLS
– Digest
The authorization request must contain the User-Name (1) attribute. The portion of its value before ':’ is
interpreted as the Callback_prefix parameter and the rest proceeds to the next step and is interpreted as a login.
All letters contained in the login are cast to lower case. If the User-Name (1) attribute is missing, the
Access-Request is ignored and the rest of actions skipped.
If authentication fails or requires unsupported method, an Access-Reject is sent to NAS.
If the guest_pool_name parameter is set in the UTM5 RADIUS config file (see Configuration file on
page 127), the guest users may be authorized as well.
1. Using the login from step, a corresponding service link is found. The following actions depend on the service link
type.
– For an IP traffic service link:
* If the radius_auth_vap parameter is set in the UTM5 RADIUS config file, the account referred in the given
service link is checked for blocking.
* The given IP group is checked for presence of free IP addresses.
* If the IP group parameter Allowed CID is not empty, the Calling-Station-Id (31) value is checked against it as
a regular expression.
* If the radius_nas_port_vpn parameter is set in the UTM5 RADIUS config file, the NAS-Port-Type (61)
value is checked to match one of its values.
Failure of any of these checks result in sending an Access-Reject packet and skipping the rest of actions.
If the checks are successful, an Access-Accept packet is sent with the following attributes:
* Service-Type (6) set to 2.
* Framed-IP-Netmask (9) set to 0xFFFF FFFF.
* Framed-Routing (10) set to 0.
* Framed-Protocol (7) set to 1.
* Framed-IP-Address (8) set to the first free IP address in the given IP group. The IP address is marked busy
for the time span defined by the parameter radius_ippool_acct_timeout from the UTM5 RADIUS
config file.
123
Workflow description
* Session-Timeout (27) set to the value of radius_default_session_ timeout parameter from the UTM5
RADIUS config file.
– For a dial-up service link:
* The Callback_prefix parameter is checked for consistency with the Callback allowed and Ringdown
allowed parameters. That is, if Callback allowed is not set, Callback_prefix must not be set. On the
contrary if Ringdown allowed is not set, Callback_prefix must be set.
* If Allowed CID is not empty, the Calling-Station-Id (31) value is checked against it as a regular expression.
* If Allowed CSID is not empty, the Called-Station-Id (30) value is checked against it as a regular expression.
* The amount of connections established for this service link is compared to the maximum number of
simultaneous connections set in the service properties.
* If the blocked_pool_name parameter is not set in the UTM5 RADIUS config file, the given account is
checked for blocking.
* Maximum connection time is calculated from the account balance and the service link parameters. The check
will sucessfully pas if the max connection time is greater than 0 and the current time is in the set bounds and
if the current account balance is enough for at least one second of connection.
* If a registered IP pool is set in the service properties, it is checked for presence of free addresses. If there are
no free addresses, the check won't pass.
* If the radius_nas_port_vpn parameter is set in the UTM5 RADIUS config file, the NAS-Port-Type (61)
value is checked to match one of its values.
Failure of any of these checks result in sending an Access-Reject packet and skipping the rest of actions.
If the checks are successful, an Access-Accept packet is sent.
the user is blocked and the blocked_pool_name parameter is set in the UTM5 RADIUS config file, the IP
address will be issued from the pool intended for blocked users, which is defined by this parameter.
When user’s account is unblocked, a DM (disconnect message) will be sent in order to break the session. After
that, the customer will require to reconnect
If the user is not registered and the guest_pool_name parameter is set in the UTM5 RADIUS config file, the IP
address will be issued from the pool intended for guest users, which is defined by the guest_pool_name
parameter.
If the dial-up service parameter Pool name is set to some registered IP pool, the following attributes are
returned:
* Service-Type (6) set to 2.
* Framed-IP-Netmask (9) set to 0xFFFF FFFF.
* Framed-Routing (10) set to 0.
* Framed-Protocol (7) set to 1.
* Framed-IP-Address (8) set to the free IP address from the given IP group. The IP address is marked busy for
the time span defined by the parameter radius_ippool_acct_timeout from the UTM5 RADIUS config
file.
* Session-Timeout (27) set to the maximum session time.
If the dial-up service parameter Pool name is set to some registered IP pool, the following attributes are
returned:
* Service-Type (6) set to 2.
* Framed-MTU (12) set to 1500.
* Framed-Routing (10) set to 0.
* Framed-Protocol (7) set to 1.
* Session-Timeout (27) set to the maximum session time.
124
Workflow description
Accounting
Accounting-Requests are used by UTM5 RADIUS to determine if an IP address is occupied, charge for hotspot, dial-up
or telephony services, charge for consumed traffic and dynamically create, modify or remove IP groups.
Accounting-Request must contain the following attributes:
– Acct-Status-Type (40)
– Acct-Session-Id (44)
– Framed-IP-Address (8)
If any of these attributes is missing, the request is ignored.
Type of the request is defined by the Acct-Status-Type (40) attribute.
UTM5 The following request types are recognized by RADIUS:
125
Session control mechanism
When the number of entries reaches the cache size limit, the oldest entry is removed and the new one is added.
The larger the cache the less the probability of creation of a new session for a Stop or Interim-Update request.
But at the same time searching requires more resources.
For each system the cache size depends on many parameters such as the number of registered users, the
number of allowed sessions for a single user, etc. That is why the closed_sessions_cache_size parameter
doesn’t have a default value.
When RADIUS server stops, all the information about closed sessions is lost.
126
utm5_radius daemon
utm5_radius daemon
The UTM5 RADIUS executable file is called /netup/utm5/bin/utm5_radius.
Possible command line parameters are:
/netup/utm5/bin/safe_utm5_radius start
/etc/init.d/utm5_radius start
on FreeBSD or Solaris –
/usr/local/etc/rc.d/utm5_radius.sh start
/etc/init.d/utm5_radius stop
on FreeBSD or Solaris –
/usr/local/etc/rc.d/utm5_radius.sh stop
Core settings
UTM5 RADIUS server should be installed to /netup/utm5/bin/utm5_radius. Its parameters may be set up in the
following ways:
– Via the config file;
– Via the administrator’s interface (see System core: Settings available in the administrator’s interface on
page 117for more detail).
Config file parameters are used during the initialization of the UTM5 RADIUS module.
Configuration file
UTM5 RADIUS server running uses /netup/utm5/radius5.cfg as its config file.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
127
Core settings
128
Core settings
129
Core settings
Logging parameters (for more details see System description: Logging on page 13):
130
Dynamic IP address allocation
b. Interface parameters
string not set A prefix added to log file names when the
syslog_name
syslog recording is enabled
131
Introduction
Prior to the version UTM5.3-001 both these tasks were performed by a single application called UTM5 Unif. Input
files format and most of the config file parameters are retained fully compatible with those of UTM5 Unif.
Workflow description
where
– LOGIN – is the login of the IP traffic service link to which the traffic belongs;
– BYTES – is the traffic amount in bytes (should not exceed 2GB);
– TCLASS – is the number of traffic class registered in UTM5 to which this traffic belongs;
– IP – is an IP address specified for this traffic in traffic reports grouped by IP. May contain arbitrary value.
2. The file should contain neither strings containing any other information, nor information in a different format.
132
Utilities usage
4. Data structures in the internal format are passed to UTM5 by calling the URFA function 0x10310.
5. utm5_send_cdr stops.
The phone calls data file should contain the data in the following format:
1. Each record of a phone call must be on a separate line.
2. No record may span more than one line.
3. Each record must conform to the format specified in the config file. The format should conform the common
telephony call record requirements.
4. The file should contain neither strings containing any other information, nor information in a different format.
Each single record must meet the following requirements:
1. To contain text data on one call.
2. To contain several fields: The following fields are mandatory:
– Calling party ID (telephone number);
– Called party ID (telephone number);
– Call length in seconds;
– Call date and time, if the call is going to be recorded under date different from current;
The following optional fields may also appear:
– Incoming trunk;
– Outgoing trunk;
– PBX ID;
– Unique call ID (optional).
If the call date format is not specified in the config file, the following is assumed by default:
Utilities usage
The utilities are started as follows:
/netup/utm5/bin/utm5_send_traffic
133
Utilities usage
and
/netup/utm5/bin/utm5_send_cdr
Config files
The utilities use config files utm5_send_traffic.cfg and utm5_send_cdr.cfg, which on Unix platforms are
located at /net-up/utm5/. In Win32 version they are placed into the installation directory (which by default is
C:\Program Files\NetUP\UTM5\).
Config files have the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
Below is the list of possible parameters.
Parameters of connection to the UTM5 core (present in both files):
Parameters for parsing phone call info files (found only in utm5_send_cdr.cfg):
134
Utilities usage
a. Time format string may include specifiers %H, %h, %M, %m, %S, and %s, see below.
Date format string may include specifiers, see the full list below.
SpecifierDescrip
tion
%Y Four-digit year (1970...)
%y Two-digit year (00..99)
%N Month with leading zeros (01..12)
%n Month without leading zeros (1..12)
%H Hour with leading zeros (00..23)
%h Hour without leading zeros (0..23)
%D Day of the month with leading zeros (01..31)
%d Day of the month without leading zeros (1..31)
%M Minutes with leading zeros (00..59)
%m Minutes without leading zeros (0..59)
%S Seconds with leading zeros (00..60)
%s Seconds without leading zeros (0..60)
%b Three-letter month name (Jan..Dec)
%U Time in unix timestamp format
%z Time zone identifier (for example, GMT) – valid only for FreeBSD
and Linux
% any symbol
135
Utilities usage
Logging parameters (for more details see System description: Logging on page 13):
ParameterPossible
valuesDefault
valueDescription
log_level number from 0 to 1 Level of messages to be written to the log file
3 (unless -d option is set)
log_file_main file name standard error Main log file
stream
log_file_debug file name standard error Debugging log file
stream
log_file_critical file name standard error Critical log file
stream
136
UTM5 RFW workflow
UTM5 RFW 13
UTM5 RFW workflow
RFW is a daemon that executes the commands issued by the UTM5 core. RFW is intended for controlling the external
software, including firewalls, routers, shapers, etc.
RADIUS works as follows:
1. Connect to the UTM5 core;
2. Receive commands from UTM5;
3. Execute commands locally or remotely.
On startup UTM5 RFW authorizes in the system using the parameters given in its config file. For successful
authorization UTM5 RFW must be registered in the list of firewalls (see Administrator’s interface: Firewalls on
page 69). The amount of UTM5 RFWs in the system is unlimited.
UTM5 RFW establishes permanent connection with the UTM5 core using the Stream protocol and awaits for
commands issued by the core on some events. Commands for particular events are assigned in the administrator’s
interface on Settings: Firewall rules page.
The commands are executed either on the same server where RFW is running (if the firewall type is set to Local), either
remotely over rsh, if it was set to Remote Cisco.
If the RFW is not connected to the core, the commands are cached for 24 hours. On reconnection of RFW to the core
some commands may be executed according to the given synchronization parameters (see Synchronization of rules
on page 147); if the reconnection was without any flags, all cached rules will be sent to the affector. Also, an arbitrary
command may be assigned for execution on RFW startup by the firewall_flush_cmd parameter (see
Configuration file on page 145).
137
Firewall rules
Firewall rules
A firewall rule is an object that contains the command’s template and defines the conditions to execute the command.
The set of registered firewall rules may be found at Settings: Firewall rules page of the administrator’s interface.
Firewall rules ready for execution are passed to the UTM5 RFW.
Firewall rules have the following parameters:
– Applicability domain (to which users it is applicable);
– Initiating event (the event that causes the rule to execute);
– Place to apply (RFW to which the rule is passed and the corresponding firewall where it is actually executed);
– Template (the command proper).
The command templates may include variables which are substituted with their values on sending the command to
RFW.
– Applicability domain – is a property that defines accounts to which the rule is applicable. If All users option is
checked, the rule is applicable to all accounts in the system. Otherwise the subset of interest may be defined by
user ID, by group, or by the tariff plan. Several conditions may be used simultaneously, combined by default with
logical OR, though an alternative option of using logical AND is also available.
Selection by tariff plan covers the accounts having (among others) some tariff links with this tariff plan set as
current. The rules applicable to service links or IP groups will be applied to all service links or IP groups related
to these accounts, including those which by themselves are connected with different tariff plans.
– Initiating event – (one or more) is the event to trigger command execution is selected from the list (see Events on
page 143).
– Place to apply – selects the firewall to use from the list of existing firewalls, or probably selects all of them.
– Command template – is a string probably containing variables (see Variables) which are substituted with their
values on sending the command to the RFW.
When executing locally, an RFW calls the command as follows:
Here the optional parameters sudo_path and firewall_path are taken from the config file, and the rest is the
command template where variables are already substituted with their values. Therefore the case when neither
sudo_path nor firewall_path is set requires the command template to start with the name of some external
executable file.
In UTM5 assembled for Win32 the sudo_path and firewall_path parameters are not used.
When executed over rsh, the command is sent as is, i.e. just the template with substituted variable values.
An example of firewall rules creation is described in Creating firewall rules on page 110.
Rules created in versions prior to 5.2.1-007 must be converted (see Rules conversion on page 144).
Variables
Below is the list of all variables that may be used in command templates, together with their scope (i.e. the events to
which every particular variable is applicable). If the variables are used outside of their scope, they are substituted with
their default values.
138
Firewall rules
139
Firewall rules
140
Firewall rules
141
Firewall rules
SPLINK_ID, TRAFFIC_LIMIT, UTELLOGINS, UTELNUMBERS, and IP_LIST are obsolete and are not
used any more
142
Firewall rules
Events
Below is the list of events that may trigger a command:
– Turn Internet on – executes for each IP group in every IP traffic service link related to the given account when the
Internet status for this account is changed to On;
– Turn Internet off – executes twice for each IP group in every IP traffic service link related to the given account when
the Internet status for this account is changed to Off;
– Adding users – executes for the user being added to the system via the administrator’s interface or automatically;
– User modified – executes for the user whose data has been changed;
– Removing a user – executes for the user which is being deleted;
– Blocking events Block type changed – executes for an account on changing its blocking state (that is, on
blocking or unblocking);
– Balance events Balance notification sent – executes for an account when its balance passes by the threshold
defined by the system parameter notification_borders; Event is only executed if balance passes one of the
borders;
– Session events Session opened – executes for a service link on Accounting-Start RADIUS request;
– Session closed – executes for a service link on Accounting-Stop RADIUS request;
– Dialup events Dialup link added – executes for a dial-up service link on its creation;
– Dialup link modified – executes for a dial-up service link on changing its parameters;
– Dialup link deleted – executes for a dial-up service link on its removal;
– IP traffic events IP traffic link added – executes for an IP traffic service link on its creation;
– IP traffic link modified – executes for an IP traffic service link on changing its parameters;
– IP traffic link deleted – executes for an IP traffic service link on its removal;
– Telephony events Telephony service link added – executes for a telephony service link on its creation;
– Telephony service link modified – executes for a telephony service link on changing its parameters;
– Telephony service link deleted – executes for a telephony service link on its removal;
– Hotspot events Hotspot enabled – executes for a hotspot service link on user’s authorization;
– Hotspot disabled – executes for a hotspot service link on user’s logout or session stopping;
– Add hotspot user – executes for a hotspot user being added to the system via the web interface;
– Tech parameters events Tech parameter added – executes for a service link on creation of a technical parameter
(see : Technical parameters on page 36) related to it;
– Tech parameter modified – executes for a service link on changing a technical parameter related to it;
– Tech parameter deleted – executes for a service link on removal of a technical parameter related to it;
– Dynashape events Set bandwidth limit (incoming) – executes for each IP group on approaching the shaping
conditions (see Administrator’s interface: Dynamic shaping on page 77) imposed on the given service link for
the incoming channel;
– Edit bandwidth limit (incoming) – executes for each IP group on changing the shaping conditions imposed on the
given service link for the incoming channel (say, when the amount of traffic passes over the border limits);
– Delete bandwidth limit (incoming) – executes for each IP group on leaving the shaping conditions imposed on
the given service link for the incoming channel (say, when the amount of traffic is zeroed at the end of accounting
period);
143
Firewall
– Set bandwidth limit (outgoing) – executes for each IP group on approaching the shaping conditions imposed on
the given service link for the outgoing channel (say, when the amount of traffic reaches the lower border limit);
– Edit bandwidth limit (outgoing) – executes for each IP group on changing the shaping conditions imposed on the
given service link for the outgoing channel;
– Delete bandwidth limit (outgoing) – executes for each IP group on leaving the shaping conditions imposed on the
given service link for the outgoing channel;
– Log file events Raw traffic file closed – executes for the detailed statistics file on its closing;
– Log file closed – executes for the log file on its closing;
– Making payment – executes when a payment is made;
– DHCP lease events New DHCP lease – executes on new IP address allocation (DHCP lease is offered);
– DHCP lease update – executes when a DHCP lease is updated;
– DHCP lease expire – executes when a DHCP lease expires;
– IPTV events IPTV link added – executes on IPTV service link creation;
– IPTV link modified – executes on IPTV service link modification;
– IPTV link deleted – executes on IPTV service link deletion;
– VoD link added – executes on VoD service link creation;
– VoD link modified – executes on VoD service link modification;
– VoD link deleted – executes on VoD service link deletion;
– Stoer user log – executes for any User log events.
Rules conversion
Firewall rules created in version 5.2.1-006 or earlier must be manually converted.
Firewall
Firewall is a system object used to identify an affector, a commutator, or a NetFlow provider.
The Settings: Firewalls page of the administrator’s interface lists the registered firewalls and contains the interface
for adding, modifying or deleting them.
Each firewall has the following parameters:
– ID – is assigned automatically.
– Type – is Local to execute the commands locally, or Remotte Cisco to execute them remotely over rsh. Must
conform to the firewall_type parameter set in the RFW config file of this firewall.
– Name – is a unique name to identify the RFW. Must conform to the rfw_name parameter set in the RFW config file
of this firewall.
– IP – is an IP address of NetFlow provider to be set in the properties of an IP group.
– Login – is a login to use as remote login in rsh authorization. Relevant only for the Remote Cisco type. The
local login is always set to netup.
– Comments – is an arbitrary comment.
An example of firewall creation is described in the Creating firewalls on page 110.
utm5_rfw settings
The utm5_rfw executable file is called /netup/utm5/bin/utm5_rfw.
144
utm5_rfw settings
In the Win32 version of UTM5 RFW runs as a system service, so the command line parameters can not be used.
The sync_flags config file parameter may serve as a substitute for -s.
The following options for utm5_rfw startup on unix systems are available:
1. Direct start of the utm5_rfw executable with necessary parameters;
2. Start on watchdog with start parameter:
/netup/utm5/bin/safe_utm5_rfw start
In this case the -f command line parameter is effectively passed to the executable. The script will restart
utm5_rfw automatically on failure;
3. Start via the automatic startup script (recommended).
on Linux:
/etc/init.d/utm5_rfw start
On FreeBSD or Solaris:
/usr/local/etc/rc.d/utm5_rfw.sh start
/etc/init.d/utm5_rfw stop
on FreeBSD or Solaris –
/usr/local/etc/rc.d/utm5_rfw.sh stop
To start an RFW on a remote machine, it is essential that its config file parameters core_host and core_port
conform to the address and port used by the UTM5 core for Stream protocol connections.
Several RFWs may run on the same machine simultaneously, given that they have separate config and PID files.
Configuration file
By default, UTM5 RFW uses the config file /netup/utm5/rfw5.cfg.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
145
utm5_rfw settings
ParameterPossib
le valuesDefault
valueDescription
Common parameters:
rfw_name string Mandatory Name of the UTM5 RFW by which it is known to the
parameter UTM5 core. Must conform to the firewall’s Name
parameter
core_host IP address Mandatory IP address of the host running UTM5 core.
parameter
core_port 1 to 65534 Mandatory Port where the UTM5 core listens to Stream
parameter (stream_bind_port parameter in the configuration
file).
rfw_login string Mandatory System user login to UTM5 core
parameter
rfw_password string Mandatory System user password to UTM5 core
parameter
firewall_type local, cisco local Firewall type. Must conform to the Type parameter of
the corresponding firewall In local mode all
commands will be executed locally, in cisco mode
they will be passed over RSH.
sync_flags see below not set Syncronization flags
Relevant for firewall_type=local:
sudo_path executable file not set Name of the sudo executable file
name
firewall_path executable file empty string Name of the executable file controlling the external
name software
firewall_ executable file empty string Script running on connection and reconnection to the
flush_cmd name core
dont_fork yes, enable, true (execute in Enables sequential execution, so that each rule will be
parallel) run after the previous one is completed.
Recommended to use along with ipt-ables
Relevant for firewall_type=cisco:
cisco_ip IP address Mandatory IP address to send the rsh commands to.
parameter
Logging parameters (for more details see System description: Logging on page 13):
ParameterPossible
valuesDefault
valueDescription
log_level numberfrom 0 to 1 Level of messages to be written to the log file
3
log_file_main file name standard error Main log file
stream
log_file_debug file name standard error Debugging log file
stream
log_file_critical file name standard error Critical log file
stream
146
utm5_rfw settings
ParameterPossible
valuesDefault
valueDescription
rotate_logs yes, on, enable not set (rotation Enables log files rotation
off)
max_logfile_count number not set Maximum number of log files to keep
a. Действует, если (unlimited)
включена ротация
log-файлов.
Synchronization of rules
On automatic startup of RFW some rules may be executed in order to reinstall the configuration of the external
software. Only the rules related to the given RFW may be executed, and only on this RFW itself. The set of rules to
execute is defined by the flags (listed below).
The flags may be passed either via the config file parameter sync_flags or via the command line parameter -s, the
latter having higher priority. When several flags used simultaneously, they must be joined into a colon-separated string.
Available flags include:
– enable executes the rules related to the Internet on event;
– disable executes Internet off;
– users executes User added for all users;
– iptraffic executes IP traffic link added for all such links;
– dialup executes Dialup link added for all such links;
– blocks executes Block type changed for all accounts;
– shaping executes Set bandwidth limit for all IP groups.
147
Introduction
UTM5 Dynashape 14
Introduction
UTM5 Dynashape module is intended to impose limitations on the user’s channel bandwidth. The bandwidth limit may
depend on time and on the amount of traffic consumed by the user.
The system core composes the firewall rules according to the settings, and passes them for execution to the external
software. The development of shaping control executables for the particular networking configuration to the
administrator’s area of responsibility. See the examples in Appendix: Approaches to traffic shaping on page 207.
Dynashape module requires a separate license. One may check the presense and validity of the license in the UTM5
administrator's interface (About > Licenses > Dynashape).
Workflow description
Shaping may be set up separately for each IP traffic service. The shaping settings include the collection of bandwidth
limitations and the associated parameters that determine the conditions to apply each limitation.
To set up shaping for a service:
1. Select the service ans set up the basic shaping parameters (see Administrator’s interface: Dynamic shaping on
page 77), including:
– types of IP groups to which the shaping applies (VPN or non-VPN);
– time range(s) when the shaping applies;
– border values of traffic amount, on passing which the limitations will be applied sequentially;
– bandwidth values for each time range and for each border value;
– traffic classes to which the shaping applies.
1. In case of shaping with the RADIUS attributes, provide these attributes on the same page. The dynamic adjustment
of attributes depending on the allowed bandwidth is enabled by the use of variables (see RADIUS parameters).
2. Set the firewall rules (see Administrator’s interface: Firewall rules on page 70) for the events Set bandwidth
limit, Edit bandwidth limit and Delete bandwidth limit for incoming and outgoing traffic, using the BANDWIDTH
variable which on application is substituted with the allowed bandwidth value.
The limitations are applied during the selected time range(s) to the IP groups of selected kind(s) and to the selected
traffic classes, according to the amount of traffic consumed by the given service link. On getting under the shaping
conditions, or on changing those (i.e. on starting the time range for which the shaping is set, or when the traffic amount
surpasses the given border), correspondingly, the Set bandwidth limit or Edit bandwidth limit event for incoming or
outgoing traffic occurs. In addition, the respective RADIUS attributes are sent and their previous values (if any)
removed. On running away from the shaping conditions (i.e. when the corresponding time range finishes, or when the
traffic amount is nullified at the end of accounting period) the Delete bandwidth limit event is executed and the
RADIUS attributes deleted.
When a new time range starts, the ensuing limitations are set within 5 minutes from the beginning of the said range.
The limitations due to consumed traffic amount are set after the next aggregation, which happens at regular intervals
defined by the traffic_agregation_interval parameter (see System core: Settings available in the administrator’s
interface on page 117).
In case of shaping by external scripts the UTM5 core passes to them the given bandwidth value as is. On the contrary,
in case of RADIUS attributes-driven shaping the input value is interpreted as Kbits/sec, and may be converted to other
units as well as to derivative values, see RADIUS parameters.
If a NAS supports Change-of-Authorization (CoA),requests, UTM5 RADIUS can send a CoA request to modify, apply
or delete bandwith limitations. A CoA request contains attributes allowing session identification (User-Name,
Framed-IP-Address, Called-Station-Id, etc.) and the new RADIUS parameter values. DAC secret, if set, will also be
included to the request.
CoA requests and responses are generated according to RFC 5176.
148
RADIUS parameters
RADIUS parameters
The RADIUS attributes may include variables which get replaced with the respective values. calculated from the
bandwidth at given conditions.
Below is the list of available variables:
149
Warning
UTM5 Urfaclient 15
Warning
The UTM5 urfaclient module provides direct interface for low-level operations which (unlike those performed via the
control center or the web interface)
may lack proper verifications or the coupled actions necessary to maintain the data integrity.
Therefore any urfaclient operation to be applied to the production system must be thoroughly checked in the test
environment beforehand.
NetUP does not assume responsibility for any possible losses caused by incorrect usage of the urfaclient module.
Introduction
The UTM5 urfaclient module is intended for the unified access to the core data structures via RPC interface (URFA).
UTM5 urfaclient is composed of the following parts:
– core library liburfa-client.so that provides the necessary means for the interaction of the utm5_urfaclient
utility and UTM5 core;
– utm5_urfaclient utility that actually performs the requested actions;
– schemes describing input and output parameters of the involved URFA functions;
– specific URFA scripts for any particular action or a sequence thereof.
Output of the executed URFA functions is directed to stdout.
Dynashape module requires a separate license. To verify the availability of the license, see About: Licenses in the
UTM5 administrator interface and check the list item denoted URFA client.
Scheme
The api.xml scheme contains XML description of the following:
– input and output parameters of various functions;
– action sequence, probably dependent on the parameters’ values.
Path to api.xml may be passed via the command line key -api. By default, it is /-netup/utm5/xml/api.xml.
Expression value is either the value of a variable, or the output value of a built-in function, or a constant, if neither a
variable nor a function with such name exist.
Variables are actually arrays of strings. When array index is not specified, zeroth element is assumed by default.
Interpretation of variables is context-dependent. Say, an integer tag implies parsing of string on return and serialization
on assignment.
All variables belong to the global scope, so care must be taken to avoid name conflict.
The built-in system functions are:
– now() returns string representation of current time in unix format;
– max_time() returns string representation of maximum possible time in UTM5 in unix format (2000000000, year
2033);
– size(varname) returns the length of the var_name array.
Tags available
– urfa – is a root tag. Has no attributes. May contain one or several function tags.
150
Scheme
151
URFA scripts
URFA scripts
URFA script describes a sequence of URFA function calls, loops and conditional operators in a form of XML tags. Each
action correspond to one file called <action_name>.õml.
Name of the directory containing URFA scripts may be passed via the command line key -x. The default value is
/netup/utm5/xml/. For example, the add_user action by default uses the file
/ne-tup/utm5/xml/add_user.xml.
URFA script must conform to the scheme.
Tags available
– urfa – is a root tag. Must contain an ordered sequence of the following tags:
– call
– parameter
– add
– sub
– mul
– div
– cat
– if
– for
– message
– out
– set
– error
– remove
152
URFA scripts
Multidimensional arrays, whenever required, must be entered by means of the datafile (see Data files on
page 155).
Also may have the comment attribute containing the description of the variable which may be printed out via
combined use of the command line keys -a [action_name] and -help.
– add – is the tag of arithmetic addition. Must have the following attributes:
– arg1 – first addend,
– arg2 – second addend,
– dst – name of the variable to store the result.
– sub – is the tag of arithmetic subtraction. Must have the following attributes:
– arg1 – minuend,
– arg2 – subtrahend,
– dst – name of the variable to store the result.
– mul – is the tag of arithmetic multiplication. Must have the following attributes:
– arg1 – first multiplicand,
– arg2 – second multiplicand,
– dst – name of the variable to store the result.
– div – is the tag of arithmetic division. Must have the following attributes:
– arg1 – dividend,
– arg2 – divisor,
– dst – name of the variable to store the result.
– cat – is the tag of string concatenation. Must have the following attributes:
– arg1 – first string,
– arg2 – second string,
– dst – name of the variable to store the result.
– if – provides conditional operator in a sequence of parameters depending on the variable value. Must have the
following attributes:
– variable, which is the name of the variable to be checked;
– value to check against;
– condition to check (eq for “equal”, ne for “not equal”).
May contain an ordered sequence of the following tags:
– call
– parameter
– add
153
URFA scripts
– sub
– mul
– div
– cat
– if
– for
– message
– out
– set
– error
– break
– remove
Other nested tags are not allowed.
– for – provides loop operation. Must have the following attributes:
– name of the iterator variable;
– from (starting iterator value);
– count (number of iterations).
May contain an ordered sequence of the following tags:
– call
– parameter
– add
– sub
– mul
– div
– cat
– if
– for
– message
– out
– set
– error
– break
– remove
Other nested tags are not allowed.
– message – must have the text attribute. Outputs a debugging message, defined in the text attribute, to STDOUT.
– out – must have the var attribute. Outputs a variable defined by var to STDOUT.
– set – sets the variable value. Must have the following attributes: dst and either src or value. Simultaneous use
of src and value is forbidden.
May also have the following attributes:
– dstindex is the array index for destination (0 assumed by default);
– srcindex is the array index for source (0 assumed by default);
154
Data files
– dst defines the name of the destination variable (created if does not exist);
– src defines the name of the source variable;
– value is the expression to assign to the variable.
New element of an array may be written either to an existing element or to the next adjacent one (i.e. the element
with index equal to the current size of the array). Indexes start from 0. Calls to out-of-range elements cause
program abort.
– error – causes exit with a non-zero error code. May have the following attributes:
– icode, the exit code to return;
– comment (error description);
– variable to print out after the comment.
– shift – shifts the name array one step to the left, removing the first element. Usage not recommended.
– break – interrupts the innermost for tag execution and continues from the following line.
– remove – removes the whole array name, or its single element with index array_index, in case if the attribute is
given, otherwise the whole array is removed. In this case the subsequent elements are shifted left by one.
Data files
Data file describes an array or several arrays of data to be used as input parameter(s) in a function. Data file should
be passed to urfaclient via the command line key -datafile.
Tags available
– urfa – is a root tag. Must contain a sequence of array tags.
– array – is a top-level array.
Mandatory attributes:
– name (variable name).
– dimension (array dimension).
Also may have the comment attribute containing an arbitrary comment.
Must contain an ordered sequence of dim tags.
Other nested tags are not allowed.
– dim – describes an array element, which itself may or may not be an array.
May have the comment attribute containing an arbitrary comment.
Must contain either a value or an ordered sequence of dim tags.
Other nested tags are not allowed.
utm5_urfaclient utility
urfaclient is called as follows:
Launch UTM5 Urfaclient with the following command:
/netup/utm5/bin/utm5_urfaclient
Each command line parameter consists of the space-separated key-value pair, with the exception of the -help, -debug,
-u, and -dealer keys which require no value.
Most of parameters have their counterparts in the config file. The complete list of command line keys and config file
parameters is given below.
Besides that, some action-specific parameters are possible. Depending on the nature of the action, they may or may
not be mandatory.
All string values must be passed in UTF-8 encoding.
155
utm5_urfaclient utility
Configuration file
UTM5 Urfaclient uses the config file /n-etup/utm5/utm5_urfaclient.cfg.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
All parameters may be passed to the program via the command line as well. The command line parameters have
priority over those given in the config file and in the data file (if any).
The list of available parameters and command line keys is given below.
156
Usage example
Usage example
Sample URFA scripts and other files are located at /netup/utm5/xml. Of all XML files found there, api.xml is the
scheme file, search_users_new_data.xml and teldata.xml are data files, and the rest are scripts.
Utility usage example:
In this example a link_tariff_with_services.xml script is called, which attaches certain tariff plan to a
specified user account, together with attachment of all services having their Attach by default flag set.
The resulting output is directed to STDOUT.
157
Introduction
Interface
To import data:
1. From the top menu of the control center, select Menu: Import.
2. Press Browse and browse to the XML file.
3. Set the check boxes corresponding to the entities you want to import. (Other
entities contained in the file, if any, will be ignored.)
4. Press Import.
The imported XML file is checked for consistency to the scheme (see below).
Non-redundancy of entries and validity of internal cross-references (i.e. the existence
of entities referenced in the data being imported) are also checked. On success the file is imported into the database.
Otherwise, an error message pops up and the import operation doesnot occur.
158
XML file scheme
159
XML file scheme
Elements: user
Contains description of a user. May include the following elements (login and one account are mandatory, the rest is
optional):
ElementTypeDefault
valueDescription
id number Not set Account ID (reserved for future use). Not related to
the actual ID assigned to the user when recorded
into the database
login string Mandatory User login
element
accounts Collection of account elements (see account on page 161)
Must be present and contain at least one element
password string not set Password
full_name string not set Full name
is_juridical 0, 1 0 1 – for a legal entity,
0 – for an individual
jur_address string not set Legal address
act_address string not set Actual address
district string not set District
building string not set Building
entrance string not set Entrance
floor string not set Floor
flat_number string not set Flat number
passport sting not set Passport data
house_id number not set ID of the house in UTM
work_tel string not set Work phone
home_tel string not set Home phone
mod_tel string not set Mobile phone
icq_number string not set ICQ
tax_number string not set Tax payer identification number
kpp_number string not set Industrial Enterprise Code
email string not set Е-mail
bank_id number not set Bank ID
bank_account string not set Bank account ID
comments string not set Comments
personal_manager string not set Personal manager
connect_date number not set Connection date in the Unix timestamp format
is_send_invoice 0, 1 0 Send invoice over email parameter (1 – yes, 0
– no).
advance_payment 0, 1 0 Advance payment parameter (1 – yes, 0 –
no).
switch_id number not set Switch ID
160
XML file scheme
ElementTypeDefault
valueDescription
port_number number not set Switch port number
binded_currency_id number not set ID of the user’s preferred currency
parameters collection of parameter elements (see parameter on page 161)
groups collection of group elements (see group on page 161)
account
The account element may contain:
ElementTypeDefault
valueDescription
id number Not set Account ID (reserved for future use). Not related to
the actual ID assigned to the account once recorded
into the database.
is_blocked number 0 see Blocking type;
balance real number 0 Account balance
credit real number 0 Credit
vat_rate real number 0 VAT rate
sale_tax_rate real number 0 Sale tax rate
int_status 0, 1 1 Internet status
(0 – off, 1 – on).
Blocking type;
– 0 – not blocked;
– 256 – system block;
– 768 – system block, adjust recurring fee;
– 1280 – system block, adjust prepaid traffic;
– 1792 – system block, adjust recurring fee and prepaid traffic;
parameter
The parameter element must contain:
ElementTypeDefault
valueDescription
parameter_id number Mandatory ID of an additional parameter
element
parameter_value string Mandatory Parameter value
element
group
The group element must contain:
161
XML file scheme
Elements: zone
elements
162
XML file scheme
Elements: direction
163
Example XML file
A direction must be defined with at least one of the following elements: called_prefix, calling_prefix, incoming_trunk,
outgoing_trunk, or pbx_id.
164
Example XML file
</import>
165
Introduction
Dealer module 17
Introduction
Dealer module provides the interface for creating and operating dealers. The module consists of the following parts:
– core library liburfa-dealer.so containing the dealer functionality;
– part of the administrator’s interface responsible for handling dealers;
– dealer interface proper.
Dealer is a system object providing an ability to connect to the billing system and perform some administrative
operations regarding a particular subset of users. Dealer’s interface is a Java application based on UTM Control Center
and analogous to the administrator’s interface, but with limited functionality.
Creation and operation of dealers require a separate license. To verify the availability of the license and its term of
validity, see About: Licenses in the UTM5 administrator’s interface and check the list item denoted Dealer interface.
The creation of dealers and their abilities are described below.
Creating dealers
Creation of dealers is performed in the administrator’s interface under Users and groups: Dealers.
Technically, a dealer is treated by the system as if it were a system user hardwired to the special system group Dealers.
The properties of this system group (in particular, the list of permitted operations), as well as those of other system
groups, may be checked under Users and groups: System groups
The Dealers system group is built-in, so its properties can not be changed via the administrator’s interface.
Among other dealer’s properties there is an Access rights group of parameters that regulates the access of this
particular dealer to the following entities:
– Users (see Users on page 15);
– Accounting periods (see Accounting periods on page 18);
– Services (see Services on page 18);
– Tariffs (see Tariff plans on page 18);
– Houses (the list of registered buildings).
For each of these kinds, a list of options is provided to set up dealer’s access to each entity individually. By default the
access to all of them is denied, except for the users (if any) created by this very dealer.
The other available group of pages is the Reports group. There are reports for users who are assigned to the selected
dealer. The following reports are available in this group:
– General report (see General report on page 59);
– Traffic repor(see Report on blockings on page 62) t;
– Report on services (see Traffic report on page 60);
– Telephony report (see Telephony report on page 61);
– Sessions report (see Sessions report on page 62);
– Report on payments (see Report on payments on page 63);
– Report on services (see Report on services on page 60);
– Report on invoices (see Report on invoices on page 64).
Each user may be attached to only one dealer.
166
Dealer interface
Dealer’s access to a particular user may also be set up on the user’s properties page using the Link to dealer button
(see ).
The creation of dealers and setting up their privileges are described in the following examples: Creating dealers on
page 109, Setting dealer’s permissions on page 109, and Linking users to dealers on page 110.
Once created and set up, the dealer may act as an administrator with limited rights in respect of the certain subsets of
users and other entities. In particular, a dealer may perform the following operations (see the corresponding examples
in Usage examples on page 99):
– Create and delete users;
– Change the user’s properties, except for the remote switch, preferred currency, technical parameters, group
attribution, and other dealers’ access to this user;
– Create, change, and remove accounts;
– Create, change, and remove service links;
– Create, change, and remove tariff links;
– Link users to houses;
– Make payments;
– Compose reports;
– Change own password.
Dealer interface
Java Runtime Environment (JRE) version 8.0 (Java 1.8.x) or above is required in order to use the control center
JRE distributive is available for free at java.com .
3. Start the dealer's control center either by clicking on the file utm_admin.jar or
from the command line by executing
The login dialog window similar to that in the administrator’s interface will appear.
4. Enter the IP address and colon-separated port number to connect to. If the port
number is omitted, the default value of 11758 is assumed.
5. Enter the login and password of the dealer specified at the time of its creation in
the administrator interface.
6. In the Settings group of parameters select the language to use.
Note that the selected language is not applied immediately to the login dialog itself. Instead, the language switch
occurs on the next launch of the program.
7. Check Save options if you want to save the parameters just entered (except for password) in the settings file for
use during subsequent launches. Check Save password if you also want to save the password as well.
It is highly recommended to change the dealer’s password immediately after logging in for the first time (see
Additional Features).
167
Dealer interface
Items of the dealer interface are listed below by chapters, as they appear on the left pane. Users, Reports, Additional
features and About. Interface elements and their behavior are compatible with those described in Administrator’s
interface: Common features on page 32.
In contrast to administrators, dealers can't open and edit other dealers, system users, groups and system
groups.
Users
This page contains a list of users accessible for the dealer, containing the following info about each user:
– User ID – of the user.
– Login – is the user’s login.
– Primary account – is the account number.
– Full name – is the full name of the user or a title of the legal entity.
– Blocking type; – is the blocking status of the user.
– Balance – is the account balance.
– IP (VPN) and IP (non-VPN) – are the user’s IP addresses.
An interface for adding, editing, or removal of users, as well as making payments, is included.Dealer has neither editing
nor viewing access to the lists of dealers, system users, groups, and system groups.
The and buttons open the user details window similar to that of the administrator’s
interface (see Administrator’s interface: Users on page 33). The window includes a number of interface pages
accessible via the quick links on the left pane, which are gathered into the following groups:
User
– Main parameters: – includes login, full name, password, and the following elements:
– Payment in advance check box;
– Generate document for user button that displays the handout document for the user containing login, password,
and the provider’s contacts;
– Additional parameters – contains bank account data, etc.
– Contacts – includes personal data (address, phone, e-mail) of the contact person.
– Additional contacts – contains personal data of additional contact persons, if any.
– Additional info – is the view-only auxiliary information (dates of creation and last modification of the user).
Dealer has neither editing nor viewing access to the user’s group membership, contracts, preferred currency,
and technical parameters.
Tariffication
– Accounts – contains the list of the user’s accounts.
– Service links – contains the list of user’s service links.
– Tariff links – contains the list of the user’s tariff plans.
– Technical parameters – are the arbitrary parameters associated with the user. Their values may be used in the
commands for controlling the external software, which are sent by as a response to certain events, see UTM5 RFW:
Firewall rules on page 138.
While dealing with the user’s accounts, service links, and tariff links, the dealer may use only the explicitly stated subset
of services, tariffs, and accounting periods.
168
Dealer interface
Reports
This group of pages contains interface for creating reports. The possible reports are the same as those listed in the
top-level group (see Reports on page 169), with the only distinction that they are based on the data related to the
currently selected user, rather than all users.
button removes the selected card user(s), once the related service links and tariff links are removed, or
displays an error message otherwise.
button opens the search window (see Search page on page 89).
button opens the payment window (see Payment page on page 88).
Reports
Dealer interface supports a variety of reports essentially similar to those presented in the administrator interface,
including:
– General report (see General report on page 59);
– Traffic repor(see Report on blockings on page 62) t;
– Report on services (see Traffic report on page 60);
– Telephony report (see Telephony report on page 61);
– Sessions report (see Sessions report on page 62);
– Report on payments (see Report on payments on page 63);
– Report on services (see Report on services on page 60);
– Report on invoices (see Report on invoices on page 64).
Reports for all users are limited to those users which the dealer has access to.
Unlike administrator, the dealer can not compose reports limited to custom groups of users.
Additional Features
This page contains interface for changing the dealer’s password. The Change button turns active only if New
password and Confirm new password coincide. If the passwords do not match, the Confirm button is unavailable.
About
This page displays the program version number and the general info related to the dealer.
169
Introduction
Cashier module 18
Introduction
Cashier is a system user with the primary capability of making payments. Cashier’s interface is a Java application
based on UTM Control Center and analogous to the administrator’s and dealer’s interfaces, yet with even more limited
functionality.
Creation and operation of cashiers require a separate license. To verify the availability of the license and its term of
validity, see About: Licenses in the UTM5 administrator’s interface and check the list item denoted Cashier interface.
The license may or may not set a limit for the number of cashiers simultaneously connected to the UTM5 core.
The creation of cashiers and their abilities are described below.
Creating cashiers
Like other system users, cashiers are created via the administrator’s interface under Users and groups: System
users. A system group with appropriate permissions should be set up (see System groups on page 17) for the
cashiers. The necessary functions (see the list below) are grouped in a separate branch on the tree view.
170
Cashier interface
Cashier interface
Java Runtime Environment (JRE) version 8.0 (Java 1.8.x) or above is required in order to use the control center
JRE distributive is available for free at java.com .
3. Start the cashier's control center either by clicking on the file utm_cashier.jar or from the command line by
executing
The login dialog window similar to that in the administrator’s interface will appear.
4. Enter the IP address and colon-separated port number to connect to. If the port number is omitted, the default
value of 11758 is assumed.
5. Enter the login and password of the cashier specified at the time of its creation in the administrator interface.
6. In the Settings group of parameters select the language to use.
Note that the selected language is not applied immediately to the login dialog itself. Instead, the language switch
occurs on the next launch of the program.
7. Check Save options if you want to save the parameters just entered (except for password) in the settings file for
use during subsequent launches. Check Save password if you also want to save the password as well.
Items of the interface are listed below by chapters, as they appear on the left pane. Add payment and Payments.
Interface elements and their behavior are compatible with those described in Administrator’s interface: Common
features on page 32.
171
Cashier interface
Payment page
Select a user in the search results to make a payment. The cashier can not access the complete list of registered users.
The search may be done by the user ID, account ID, login fragment, or name fragment (unless some of these options
are forbidden by the administrator). The number of users to display in search results may also be limited by the
administrator’s interface settings.
Payment method is set to Cash. Things left for the cashier to select are: account number, if the client got more than
one, currency (from the administrator-defined list) and the amount. Check Write out a receipt if you want to print a
receipt for the operation. One may add a comment to the payment in the Comment field.
Reports
Cashier’s interface supports the report on payments similar to that presented in the admin interface (see Report on
payments on page 63), except for:
– Only the payments made by this cashier are included;
– Selection by users group is disabled;
– The “Payment method” and “Received by” columns are removed as irrelevant;
– Context menu items “Print receipt” and “Roll back” are not available.
172
Introduction
utm5_tray utility 19
Introduction
For a more convenient access to the personal account balance use the utm5_tray utility. This program runs on the
client PC and refreshes the balance information and data on remaining prepaid traffic periodically. Also, with this tool
the Internet access may be switched on and off. The utm5_tray utility is an alternative for the web interface (see Web
interface on page 177) which mostly covers the same functionality.
Java Runtime Environment (JRE) version 8.0 (Java 1.8.x) or above is required in order to use the control center
JRE distributive is available for free at java.com .
Note that the selected language is not applied immediately to the login dialog itself. Instead, the language switch
occurs on the next launch of the program.
9. Set the flags Enable Internet on connect and/or Disable Internet on disconnect if you wish to tie the connection
status to utm5_tray being started.
10.Set the flag Disable Internet on connection loss if you want the billing system core to disable Internet for you
upon loss of connection.
11.Set the flag Start minimized if you wish to minimize the utm5_tray window right after starting up.
12.Set the flag Connect by default if you wish to start utm5_tray on computer startup.
13.Press Connect. The main utm5_tray window will show up.
Once started, the program is represented by an icon in the system tray (see Tray icon on page 176). When the main
window is closed, the program still persists in memory and may be activated by double-clicking on this icon.
173
Interface pages
Interface pages
The main window of utm5_tray contains several tabs with quick links at the top. The user’s access to particular tabs is
controlled by the administrator (see Administrator’s interface: Tray settings on page 81).
Main
The Main tab displays the following information:
– ID
– Login;
– Full name;
– Primary account number;
– Primary account balance;
– Primary account credit;
– VAT rate;
– Blocking type;
– Creation date;
– Internet status (with the ability to change it, unless
the account is blocked for running out of money).
Also, the page contains the following buttons:
– Details – opens the window with additional user info (passport data, address, contacts);
– Change user details – opens the window for editing user info. Name, address, passport data and the bank details
are write-only, that is, may be entered only once and can not be edited afterwards. The contact information (which
may include phone number, e-mail, web address, ICQ number) may be edited at any time.
– Change password – provides the interface for changing the user’s password.
Reports
The Reports tab contains interface for composing reports on given user, largely similar to that in the administrator’s
interface (see Reports on page 36).
174
Interface pages
– Invoices;
– Telephony;
– VPN;
– Blockings;
– Internal transfer.
The user’s access to particular kinds of reports is controlled by the administrator (see Administrator’s interface: Tray
settings on page 81).
Payments
The Payments tab contains the following interface elements:
Under Card activation the user can make a payment by entering the number and
PIN code of the prepaid card.
Under Receipt the user may compose a receipt with arbitrary sum for printing.
Services
This tab contains the list of services attached to the user’s accounts. For each service, it contains For each service the
list contains its name, type, the tariff plan where it belongs (if any), accounting period, and price per period.
Messages
This tab contains interface for exchanging system messages. Its counterpart on the administrator’s side is described
in Administrator’s interface: Messages on page 41.
Accounts
This tab contains the balance of all user accounts. There are also buttons for changing the internet status and for
imposing voluntary blocking, if this is permitted by the administrator’s settings and the user balance is above the
required threshold.
Tariffs
This tab contains the list of user’s tariff plans. There are also buttons for viewing the tariff plan history and for switching
to another tariff plan, if this is permitted by the administrator’s settings and the user balance is above the required
threshold.
Connection
This tab contains the same interface elements as the login dialog window. Any changes are applied at the next launch
of the program.
175
Tray icon
Tray icon
When utm5_tray is working, an icon appears in the system tray. Depending on the connection to the system core and
the Internet status, the icon may look as follows:
176
Introduction
Web interface 20
Introduction
provides web interface, where an end user may get a statement of account balance, make a payment via a prepaid
card, and perform some other activities. There is an alternative client covering the same functionality, which comes in
a form of a standalone program utm5_tray (see utm5_tray utility on page 173).
Installation
1. Download the server part of the user web interface from the customer area at https://www.netup.tv/en/utmoffice
( Downloads > file utm5_web_php.zip).
2. Unpack the archive on the web server.
3. In the web interface config file (see : Main on page 180) enter the address, port, login, and password for access to
the UTM5 core, as well as the path to where the archive has been unpacked.
4. In the PHP config file (commonly php.ini) set the following parameters:
– short_open_tag must be set to 1 (possible equivalents are: On, True, and Yes);
– time zone must be set correctly, for example:
date.timezone ='America/Chicago'
The web server must be capable of executing PHP files. Depending on the OS and on the PHP interpreter
version, installation of additional OpenSSL and PCRE extensions for PHP may be required.
Running the web interface requires PHP 5.4 or newer version. We do not recommend using other PHP versions.
Entrance page
To enter the web interface, launch an Internet browser, open the root page (by default, it is located at
h-ttp://your.server/utm5_web_php, where your.server stands for the domain name of the UTM5 server) and enter
the user’s login and password into the corresponding fields.
To enter using a prepaid card, enter the card number and PIN
for login and password. A card user will be created with login
card_NUM, where NUM is replaced with the card number.
User’s password is set to the card PIN.
To enter using hotspot, switch to the page Entrance (hotspot)
(unless you’ve been already redirected there automatically)
and enter the card number and PIN for login and password.
The session details page will show up to display the remaining
time, issued IP address and other session information.
Simultaneously, the page requested before will open in a separate window.
177
Interface pages
Interface pages
Common
User
First tab contains the general
information, including user’s ID, login, full
name, creation date, summary balance
of all accounts, and state.
Additional tab contains more info on the
user, including address, contact
information, and bank details.
Accounts
This page contains info on all the user’s accounts. For each account, it displays its ID, balance, credit, tax rates,
blocking state and Internet state. Blocked amount is the sum of charges for the services not used because of the
account blocking, which is due to be returned to the user by the end of the period. Besides that, a number of actions
can be applied to any account:
– Return – immediately the blocked amount, if any;
– Switch internet on – (if it is off and the account is not blocked);
– Turn Internet off – (if it is on);
– Make promised payment – which is a credit payment with limited sum and fixed due date. A commission fee may
be charged for using this facility. The credit parameters (maximum sum, due date, minimum interval between
promised payments, minimum balance, commission fee, minimum balance to use the facility without fee) are set up
by the administrator (see : Promised payments on page 84).
– Voluntary suspension – which is a temporal suspension that a user may impose on oneself, for example, to save
the periodic fee for the time span when the service is not required. A commission fee may be charged for using this
facility. The suspension parameters (minimum and maximum time, minimum interval between suspensions, ability
to unblock oneself early, minimum balance, commission fee, minimum balance to use the facility without fee) are
set up by the administrator (see : Voluntary suspension on page 83). Note that after using a voluntary suspension
on oneself the user has to turn Internet on manually (this is done on the same page, see Switch internet onabove).
– Internal transfer – of funds between one’s accounts.
Password
This page contains the interface for changing the user’s password to all password-protected services, as well as to the
web interface itself.
178
Interface pages
Messages
This page contains interface for exchanging system messages. The messages are divided into Incoming, Outgoing,
and New, and also can be filtered by time. Its counterpart on the administrator’s side is described in Administrator’s
interface: Messages on page 41.
Reports
This page contains the following user’s reports, each on a separate tab:
– Traffic report;
– Services report;
– Payments report;
– Invoices;
– Telephony report;
– Hotspot report;
– Blockings report;
– Internal transfer;
– Other charges.
Traffic classes removed by the administrator would still show up as existing in the web interface traffic report.
The functionality of reports is similar to that of the administrator’s interface (see Administrator’s interface: Reports
on page 59), except for the context menu.
Payments
Card activation tab page is where the user can make a payment by entering the number and PIN code of a prepaid
card.
Invoices tab contains the interface of generating a receipt for printing.
The rest of tabs (if any) contains the interface of making payments via various payment systems, one per tab. This
functionality is switched on/off and otherwise controlled by the separate config file, see : Payment systems on
page 181.
Exit
This hyperlink performs an immediate logout and returns to the authorization page.
179
Config files
Config files
Main
By default, UTM5 web interface uses the config file located at /lib/config.php relative to the web interface root
folder. Below is the list of possible parameters.
Possible
Parameter Default value Description
values
$CONF_DEFAULT_MODULE1 string 00_user Default page after user login
$CONF_DEFAULT_MODULE2 string card Default page after card login
$CONF_DEFAULT_MODULE3 string hotspot Default page after hotspot login
$CONF_DEFAULT_LOGIN string 00_login Default page before login
$CONF_PATH string /utm5_web_php/ Relative path from site root to the
web interface
$CONF_WEB_USER string web System user login
$CONF_WEB_PASS string web System user password
$CONF_CORE_HOST IP address 127.0.0.1 Address of the UTM5 core host
$CONF_CORE_PORT Натуральное 11758 Port number to connect to the core
number
$CONF_LANG ru, en ru Web interface language
$CONF_REDIRECT_HOTSPOT 0, 1 0 Enables redirect after the hotspot
login to the previously requested
page
1 – enabled
0 – disabled
$DB_HOST IP address localhost UTM5 database host IP address or
domain name
$DB_NAME string UTM5 UTM5 database name
$DB_LOGIN string root Login name for DBMS connection
$DB_PASS string not set Password for DBMS connection
$DB_CHARSET encoding utf8 Database connection encoding
$LOG_DIR string /netup/utm5/log/ Web interface log directory.
$PAYMENTS_LOG_DIR string /netup/utm5/log/ Web interface payments log
payments/ directory
$PAYMENT_SYSTEMS_VISIBLE true, false true Show/hide payment systems page
in the user web interface.
true – enabled
false – disabled
$PAYMENTS_CHECKING_PERIOD Integer 86400 Checking period for lost payments
in seconds
$LOG_LEVEL Integer from 1 7 Level (type) of log events.
to 7
$HOTSPOT_TARIFF_ID Integer Hotspot tariff plan ID.
$HOTSPOT_POOL_ID Integer Hotspot prepaid cards pool ID.
$HOTSPOT_CHECK_IP true, false true
180
Config files
Possible
Parameter Default value Description
values
$HOTSPOT_DURATION Integer 90000 Max Hotspot session duration.
$HOTSPOT_PHONE_REGEXP string 495[0-9]{7} Regular expression for checking a
telephone number
$HOTSPOT_PASSWORD_ALPHABET string qazxswedcvfrtgbn Character set used for Hotspot
hyujmkiolp123456 password generation.
7890QAZXSWEDCVFR
TGBNHYUJMKIOLP
$HOTSPOT_PASSWORD_LENGTH Integer 8 Password length.
$NBS_HOST IP address 127.0.0.1 Payment system integration
module host IP address or domain
name.
$NBS_PORT Integer 51010 Payment system integration
module host port.
$NBS_LOGIN string root Login name for payment systems
integration module connection
$NBS_PASS string root Password for payment systems
integration module connection
$KEYSTORE_FILE string lib/web-netup.ke Path to web-netup.keystore
ystore file
$KEY_PASS_FILE string lib/web-private. Path to web-private.pass fie
pass
$CONF_MEGOGO_ENABLED true, false false Enable/Disable Megogo
subscription page.
false – disabled
true – enabled
$CONF_MEGOGO_PAGE
Besides that, UTM5 Web interface configuration file may contain RentSoft integration parameters:
– $CONF_RENTSOFT_AG_NAME
– $CONF_RENTSOFT_SECRET
– $CONF_RENTSOFT_API_ADDR
These parameters are commented by default. For more information on configuring the RentSoft integration module,
please contact RentSoft support service .
Payment systems
A separate config file named /lib/payment_systems_config.php controls payment systems. It contains the
following parameters (among others):
Possible
Parameter Default value Description
values
$web_money_visible true, false false Switches on WebMoney support
$yandex_money_visible true, false false Switches on Yandex Money support
$chronopay_visible true, false false Switches on Chronopay support
$mobi_money_visible true, false false Switches on MobiMoney support
$web_creds_visible true, false false Switches on WebCreds support
181
Config files
Each of the above-mentioned lines is followed by several parameters specific to the corresponding payment system.
Additional modules
Several modules located at /modules (in particular, the module of promised payments called
promised_payment.php and the internal transfer module funds_flow.php) contain some config parameters of
their own. The parameter named $MOD_VISIBLE. must be set to true in order to include the corresponding module
in the web interface.
182
Introduction
Hotspot module 21
Introduction
Hotspot module is intended to provide Internet access paid by the hour. User authorization is performed using RADIUS
protocol or via the user Web interface (see Web interface on page 177). Operation of the hotspot module requires a
separate license. Verify the availability of the license and its terms of validity in the UTM5 administrator’s interface, see
About: Licenses in the administrator’s interface and check the list item denoted Hotspot module.
When using web interface for authorization, after entering card number and PIN, the page will update periodically to
keep the server aware that the service is still being provided. If the refresh does not happen in due time because the
user has closed the authorization page, the session expires. When the session is either expired or explicitly closed by
the user selecting Close in the menu, the Internet access is blocked and the user is charged for the session’s duration.
The expiration may also occur due to running out of money. The session lifetime is set by the hotspot_refresh_timeout
parameter (Settings > Parameters > Other settings).
To use the hotspot module, one has to create a tariff plan containing the hotspot service (see Hotspot service on
page 51). Price per hour may be time-dependent. A limited list of allowed networks to login from, as well as the
maximum connections number for the given login, may also be specified.
To use the hotspot module along with prepaid cards, it is necessary to create a pool of cards and connect them to the
tariff plan containing the hotspot service (see : Tariff ID on page 39). When issued a card, a user should in the first place
register it in Auto register user section of the web interface and thus obtain a login and password, which are
subsequently used for authorization in “Login to UTM (Card)” section (see Web interface: Entrance page on
page 177).
If the hotspot access has to be charged per traffic rather than per hour, the hotspot service must be linked to an IP traffic
service by checking the Dynamic IP address allocation option for both of them. At that, user authorization on the
UTM5 web interface would require the login and password stored in the properties of the hotspot service link.
183
Introduction
DHCP 22
Introduction
NetUP UTM5 DHCP functions as a DHCP server. It receives messages and processes them according to RFC 2132.
It uses the following entities: switch type, switch, DHCP pools and IP Groups.
UTM5 DHCP allows one to associate a static IP address or a dynamic address pool with a MAC address, switch or a
certain switch port. UTM5 DCHP only allows to assign IPv4 addresses.
UTM5 DCHP uses data from the database, communicates with the UTM5 Core via the Stream protocol and is able to
receive messages about changes in the database and the need to update certain information.
By default UTM5 DCHP works in not authoritative mode. That can be set up in the configuration file (is_authoritative
parameter).
You have to buy a separate license for this module, if you want to serve more clients.
184
Entities, used by UTM5 DHCP
– USW_REMOTE_ID
– USW_ID
– USW_PORT
– UVLAN
– SWITCH_IP
– SWITCH_PORT
For more details see UTM5 RFW: Variables on page 138
One can also add other DHCP options in the switch properties. These options and their values will be included in
the DHCP response if a DHCP client includes those options in the DHCP request.
3. DHCP pool- an entity that contains an IP pool parameters such as standard DHCP options that are used to form
the DHCP response when providing an IP address from this IP pool. The mandatory options are:
– Gateway
– Mask
– DNS server 1
– Lease time – is the lease time in seconds (lease time less than 3600 seconds is not recommended). Default
value is 86400 seconds (24 hours).
The nonmandatory options are:
– DNS server 2
– NTP server
– Domain
One can add extra DHCP options to the DHCP pool properties. These options and their values will be included in
the DHCP response if a DHCP client includes those options in the DHCP request.
The Gateway and Mask parameters are used to identify which DHCP pool does an IP address belong to.
IP address ranges are also a part of a DHCP pool properties. Every IP address range is defined by the first and the
last IP address.
Besides that there’s a Block action type for every DHCP pool. This parameter determines how a DHCP request
from a blocked user is processed. It allows one to provide IP addresses from this pool only to blocked users,
provide IP addresses from this pool despite of user being or not being blocked, or to ignore requests coming from
blocked users. Available options: Use blocked and Ignore request
If certain DHCP options are specified in a DHCP request, the DHCP response will include those options if their
values are set in the database. If no options are specified in a DHCP request, the DHCP response will include
all the options whose values are set in the database.
4. IP group - is a description of a network and its parameters, associated with an IP traffic service link. The IP traffic
is identified for the following tariffing and IP addresses are provided based on the IP group settings. An IP group
defines the link between a static IP address or a dynamic IP address pool and the following parameters:
– MAC address
– Internal switch ID
– Switch port
– VLAN ID
One needs to set a static IP address or a dynamic IP pool and set the values for the parameters named above to define
that link.
The static IP address ranges shouldn’t cross the dynamic IP address ranges. One shouldn’t use a static IP
address pool in one IP group and as a dynamic IP pool in another IP group. That may lead to an inappropriate
UTM5 DHCP behavior.
185
Processing a DHCP request
Port and VLAN ID are DHCP option 82 parameters. UTM5 DHCP reads them according to the Switch type chosen
for the current switch.
After adding an IP traffic service link and adding an IP group containing parameters defining a link with an IP address,
a record of correspondence of a static IP address or a dynamic pool and those parameters will appear in the database.
Configuration file
The default UTM5 DHCP configuration file for unix-systems is /-netup/utm5/dhcpd5.cfg and in windows UTM5
builds it is dhcpd5.cfg which can be found in the installation directory (by default it is
C:\ProgramFiles\NetUP\UTM5\).
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
The list of the possible parameters:
ParameterPossible
valuesThe default
valueDescription
database_type mysql, postgres mysql UTM5 database type
(mandatory
parameter)
186
Configuration file
ParameterPossible
valuesThe default
valueDescription
database (mandatory UTM5 UTM5 database name
parameter)
database_host Database server localhost UTM5 database host name
IP/hostname
database_login string root Login name to access the UTM5 database
database_password string not set Password use to access the UTM5
database
database_sock_path file path /var/run/mysqld/ MySQL only. The path to the database
mysqld.sock socket file. This parameter is used if the
database_host parameter is not set or has
a “localhost” value.
database_port 1 to 65534 3306 MySQL only. The database server port
database_charset encoding utf8 MySQL only. Database connection
encoding
core_host IP address 127.0.0.1 UTM5 core host IP address
(mandatory
parameter)
core_port 1 to 65534 12758 Port which UTM5 listens for Stream
(mandatory messages (stream_bind_port
parameter) parameter in the core’s configuration file)
dhcp_login string dhcp Login name for UTM5 core access.
dhcp_password string dhcp Password for UTM5 core access.
dhcp_lease_expire_timeou time in seconds 1800 Minimum time after lease expiration that
t the IP address, assigned by the DHCP
may still be used
dhcp_lease_validation_pe tim in seconds 86400 Remaining lease time check rate.
riod
interface <interface not set List of interfaces, accepting DHCP
name>,<IP requests and corresponding IP
address>pairs of addresses. If the name of the interface is
parameters. eth0, there are two possible cases:
Add multiple 1) IP address is set (e.g. 10.0.0.1) - the
interfaces each server accepts only unicast requests to
at new string: address 10.0.0.1:67
interface=<interf 2) IP address is set to 0.0.0.0 - the server
ace name>,<IP receives broadcast requests, that come to
address> etc. eth0 (in Linux socket options
SO_BROADCAST and
SO_BINDTODEVICE are used)
is_authoritative yes, on, enable disabled DHCP server mode: authoritative or not
authoritative
load_log yes, on, enable disabled Load leases log at DHCP startup. The
default value should be good for most
systems
log_level Number 1 Determines the level of the messages that
0 to 3 get to the main message stream
187
Configuration file
ParameterPossible
valuesThe default
valueDescription
log_file_main Path to file standard error The main message flow log file
flow
log_file_debug Path to file standard error The debug message flow log file
flow
log_file_critical Path to file standard error The critical error flow log file
flow
max_logfile_count Number Not limited Maximum number of stored log files.
max_logfile_size Size in bytes 10485760 The maximum log file size after which the
rotation triggers.
ping_retry_count Number 1 The ICMP request retries limit (see
use_ping).
rotate_logs yes, on, enable disabled Enables log file rotation
siaddr IP address Server IP The IP address of the next server
address participating in the download
use_ping yes, on, enable disabled If an existing lease is found when trying to
give an IP address to a client, send an
ICMP request to that IP address to find out
the actual status of the client.
use_old_lease yes, on, enable disabled Renew lease for a particular MAC address
in case the DHCP option 82 parameters
can’t be matched.
188
Introduction
Common features
The integration module interacts with IPTV middleware. In order to let the module connect to NetUP IPTV Core, the
DNS server on the UTM5 server should be able to resolve IPTV domain names. All the other billing systems interacting
with the IPTV cluster core must be disabled.
NetUP IPTV system uses access cards for client authorization. One needs an access card to access IPTV services.
The integration module allows one to create access cards and generate activation codes.
Client's TV channel access is managed by interacting with the NetUP IPTV Middleware system. When UTM5 needs
to grant access to media content, e.g. when an IPTV service is attached to client’s personal account, it sends a request
to IPTV middleware to grant access to certain media content to access card owner for an unlimited period of time. When
it needs to prevent a user from accessing the content (e.g. when an IPTV service is unattached from user’s personal
account or when user switches tariff plan), UTM5 requests from IPTV middleware to set access end time for user’s
access card to that media content to current time, which means that the content becomes no longer available.
Buying the module license makes IPTV service type available.
The process of UTM5 setup for integration with NetUP IPTV system is described below.
Connection
In order to connect to NetUP IPTV Core, open UTM5 configuration file and set the following parameters:
– iptv_cluster_host – is the IP address of NetUP IPTV Core
– iptv_cluster_port – is the port which NetUP IPTV Core is listening to for billing system connections
For proper operation the UTM5 server must resolve db.iptv to the IPTV cluster core IP address
189
Connection
If NetUP IPTV Billing service is running, left-click on it’s name to open a dialog window. Press Yes when that window
appears to stop the service.
After that go to the Connections page and left-click the IP address next to the NetUP IPTV Billing connection name.
In the Change Server Host window that will open, press Auto detect to reset the information about the billing system.
Now launch UTM5. After that go to the Connections page of the IPTV administrator’s web interface and make sure that
NetUP IPTV Billing is connected and the IP address matches the IP address of the server that is running UTM5.
If the UTM5 core was running while the NetUP IPTV Core connection setup, restart it after finishing the setup
process
190
Creating and attaching IPTV service
5. Once Account properties window opens, press next to the IPTV access card parameter. Access
card number will appear in the parameter field
One can find an activation code for the access card on IPTV activation codes page in Tariffication group.
Now create a new service (for more information see Usage examples: Creating services on page 101). Go to the
Service parameters page choose NetUP as an IPTV system and choose a media content or a group of media contents
which a user, to whose account this service will be attached, should be provided access to.
After that one can attach this service to a user’s account like any other
periodic service (see Usage examples: Creating service links on
page 105). If an access card had not been created beforehand, one can
create it at the service attachment and service link creation stage. In the
service link creation window press beside the IPTV access
card parameter.
191
Introduction
IP telephony module 24
Introduction
The IP telephony module is intended for processing authorization requests and consumed services accounting for
voice gateways, gatekeepers and voice proxy servers. It supports both traditional and IP telephony.
The data to be accounted for may be based either on UTM5 RADIUS server requests (see UTM5 RADIUS on
page 119) or on CDR files parsed by the utm5_send_cdr utility (see Text files import on page 132).
The module requires a separate license. To verify the availability of the license and its terms of validity, see About:
Licenses in the UTM5 administrator’s interface and check the list item denoted Telephony module.
List of terms
– IP telephony – is a general term denoting voice transmission over networks via IP. Also known as: Voice over IP,
VoIP, Internet Telephony.
– PSTN – is a Public Switched Telephone Network. This notion includes local and national telephone networks.
– Caller ID – is a phone number of a caller. ANI is Automatic Number Identification.
– VoIP gateway – is a device with an IP port and also (if required) ports to connect to PSTN. Usually the device is
used as a gateway between PSTN and IP network. Cisco router 3620 with the NM-2V + VIC2FXO module may serve
as an example of a device of this type.
– H.323 – is a standard offered by the International Telecommunications Union (ITU-T) describing principles of IP
telephony networks. The standard describes the protocols associated with IP telephony equipment registration
(RAS – Registration, Admission and Status), call setting-up (H.225.0, H.245), voice transmission, user
authorization, etc.
– H.323 gatekeeper – is responsible for registration of terminal equipment (gateways, client devices), access rights
control, distribution of numbers. Almost all gatekeepers can process authorization and transmit statistics on
telephone calls via RADIUS protocol.
– Codecs – are the sound compression algorithms on the transmission side and decompression on the receiving
side. Generally are used to minimize network traffic. That's why codecs are usually characterized by the bandwidth
required for voice transmission using this codec. Uncompressed voice transmission takes 64 Kb per second.
Codecs with high compression ratio require powerful computing resources. That's why encoding of a large number
of voice flows requires usage of special microprocessors (DSP, digital signal processor).
CodecBit rate,
Kbit/secQuality
G.711 64 High
G.723.1 5.3 – 6.4 Medium
G.729 8 Medium
– IVR – is Interactive Voice Response. Represents a technology of voice menu and is widely used for authorization
of PSTN users to call via IP telephony.
Workflow description
RADIUS requests concerned with telephony are recognized by the system based on the cisco-h323-conf-id attribute.
If it is missing, the request is interpreted as related to dialup service.
192
Network organization schemes
To register a caller, a gateway sends to the RADIUS server a registration request containing the Calling-ID (31) and
caller’s login, but no Called-ID (30). The RADIUS server in turn searches for the telephony service link which is
identified by the login in its properties (see : Login on page 95). If the link in question is not found or the corresponding
account appears to be blocked, the registration is denied. Otherwise, an affirmative response is sent, which may also
contain the user’s phone number if it is set in the service link properties.
To authorize a call, a gateway or a voice gateway sends to the RADIUS server a registration request containing the
Calling-ID (31) together with Called-ID (30). The RADIUS server in turn searches for the telephony service link which
is identified by the login in its properties. If the link is not found, or the account is blocked, or the call parameters do
not match those of any direction covered by the service, or the current time is not covered by the service, the registration
is denied. Otherwise, an affirmative response is sent, which also contains the maximum duration of a connection. The
maximum duration is calculated either as the time left till the end of time range covered by the service (unless the
service provides round-the-clock coverage), or as the time till the account’s balance runs out given its current balance
and the current connection price per minute (which may also be time-dependent), whichever of these happens sooner.
To account for a call, a gateway or a voice gateway sends to the RADIUS server an Accounting-Start request containing
the Calling-ID (31), Called-ID (30), and probably the starting time. If the starting time is not provided, the arrival time
of the Accounting-Start request is assumed instead. The RADIUS server in turn searches for the telephony service link
which is identified by the login in its properties. If the link is not found, the request is ignored. Otherwise the connection
price per minute is determined, which may depend on the telephone direction and current time. If the call parameters
do not match those of any direction covered by the service, or the current time is not covered by the service, the call
is accounted for by zero price. When a call finishes, an Accounting-Stop request is sent containing the Calling-ID (31),
Called-ID (30), and probably the call duration and/or its finishing time. Then the RADIUS server accounts for the call
considering its duration and the price per minute. If the call duration is not provided, the difference between the finishing
time and starting time is assumed instead. If the finishing time is not provided, the arrival time of the Accounting-Stop
request is assumed instead. If the price per minute is time-dependent and does change during the time span in
question, the call is split into parts of constant price and accounted for in parts. The charge-off information is passed
to the UTM5 core.
The calls lacking an Accounting-Stop request may be either ignored or considered finished by timeout based on
Interim-Update requests and accounted for accordingly, depending on the RADIUS server settings.
If the gateway does not support the Accounting-Request communication with the RADIUS server, it may dump the
phone call information to text files to be parsed later by the utm5_send_cdr utility (see Text files import on
page 132). This utility parses log files, retrieves individual calls and sends those to the UTM5 core using URFA.
193
Network organization schemes
In the scheme containing the H.323 gatekeeper, all devices should register on the gatekeeper. At that, authorization
may be processed via RADIUS protocol by using the common Access-Request scheme.
As a result the gatekeeper has a table with IP addresses and numbers of all network devices. All calls begin with
addressing to the gatekeeper for conversion of dialed numbers to IP addresses. For that the gatekeeper requests of
the RADIUS server to authorize the call and pass the filled in attributes Called-Station-Id (30) (dialed number) and
Calling-Station-Id (31) (a number of a calling subscriber). At that the RADIUS server checks a user balance, tariff plan
for a called direction and, if all is OK, gives the Access-Accept packet in which it may set the maximum connection
duration for the user calling to the certain direction. Usually this information is set in the h323-credit-time, vendor 9
attribute (Cisco).
In case authorization is successful (and after all parameters are coordinated) the connection between a called and a
calling station is established. At that the gatekeeper sends a packet (Accounting-Start) containing parameters for the
established connection to the RADIUS server.
In case both stations are in the same network the connection is being established directly. If the called station is in
another network then the connection is established via one of the gateways. Another variant is also possible, when a
user communicates with the gatekeeper only. In this case the gatekeeper acts as a proxy server and real IP addresses
of the stations are hidden. This scheme may be applied if the direct line between the stations is worse (e.g., serious
IP packets loss or a delay) than between the gatekeeper and both of the stations.
When the connection is finished the gatekeeper sends a packet containing information about the call to the RADIUS
server. In the packet it specifies the connection duration, a cause of the connection break and other parameters. Using
these data the RADIUS server rates the session, charges the user and puts a record in a log file.
Authorization of PSTN users may be done using IVR as follows:
1. A user of PSTN dials a local number of IP telephony access. The call is accepted by an IP telephony gateway (e.g.,
Cisco 3640 with E1 module) connected to the line.
2. The gateway loads an audio file (usually of the .au type) with an invitation record and plays it to the user. Usually
it prompts the user to enter a number and a PIN code of a prepaid telephone card.
3. After a special digit combination is entered, the authorization is being processed on the R-ADIUS server. At that,
the card number and PIN code are usually recorded to the attributes 1 (User-Name) and 2 (Password).
194
Network organization schemes
4. In case of successful authorization the RADIUS server sends an Access-Accept packet with the user balance. For
that the attributes h323-credit-amount and h323-currency with vendor=9 (Cisco) are used. IP telephony gateway
loads appropriate voice files and in this way informs the user of his balance and invites to enter a telephone
number. Note that usually IP telephony is profitable for remote calls (national and international calls).
5. After the number is entered it is processed through second authorization on the RADIUS server. At that, an
attribute Called-Station-Id containing the dialed number is transmitted additionally. Depending on the balance and
connection cost per minute, the RADIUS server calculates the maximum available session duration and sends the
value in the Access-Accept packet attribute h323-credit-time. If the Called-Station-Id attribute is missing, the
R-ADIUS server returns h323-return-code (9,103) attribute with the following meaning:
– 0 – means that the user is active;
– 1 – means that the user does not exist;
– 2 – means that the user is blocked.
1. After the affirmative reply is received from the RADIUS server, the IP telephony gateway establishes connection with
the called user. The connection will break if the session duration exceeds the maximum calculated in the previous
step.
2. On establishing the connection an Accounting-Start packet is sent on the RADIUS server. On breaking, the
Accounting-Stop packet is sent.
195
Introduction
Configuration file
By default, UTM5 Traffic collector uses the config file /netup/utm5/utm5_traffic_collector.cfg.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
The list of the possible parameters:
196
Configuration file
197
Introduction
Guest access
If you use guest access you have to generate a user with a login and a password known beforehand. For example,
login guest and password guest.
These settings should allow the guest access only to the web-site to activate the Internet-card. The session time can
be also restricted, say, to 600 seconds.
It is necessary to create a Dialup access service with pool GUEST, maximum connection timeout of 600 seconds, and
connection cost of 0 c.u. (currency units) per hour.
Then you have to generate a pool of IP addresses with login GUEST and certain-range addresses, e.g., 172.16.0.0/16,
on the router or in UTM. The router settings should allow this range of users to get access only to the DNS and to the
web server to activate the card. For the safety sake it is better to arrange an isolated DNS server, not connected to the
Internet and containing only the records, which the user will need to access the registration web server.
On login the registration web server the user selects the Automatic registration of user menu item and enters the
data from the Internet-card. If the data is entered correctly and the card was not activated or blocked in the past, a new
card user will be generated in UTM automatically, and the user will receive the login and password info for connection
in dial-up mode. By selecting the Login to UTM menu item and entering the login and the password received after the
registration the user may get access to his personal office and account statistics.
radius_card_autoadd=yes
Restart the server. RADIUS server will automatically register the user in UTM at his first attempt to get access on
prepaid card.
In order to receive access the user should enter the card number as login and its pin code as a password on every
connection. If the user connects with this card at a first time RADIUS server will register him automatically and connect
him to the Internet right at once. On every new connection the user would have to enter the card number as a login
and the PIN code as a password. When the card expires (balance turns red), the user has to activate a new card.
This kind of automatic registration is possible on authorization using PAP protocol only. This method is used by
Windows by default for modem connections and requires no additional settings. However, sometimes the users'
configuration should be changed to let them be registered automatically.
If access settings for the user automatic registration are correct the following records should appear in the RADIUS
server log file on the first connection:
198
Access with automatic registration
199
Introduction
E-mail notifications 27
Introduction
UTM5 may send automatic e-mail messages to the users (or rather those of them who has valid e-mail addresses
entered in their user info) for a number of reasons. Global system parameters related to e-mail are described in
Settings available in the administrator’s interface on page 117.
The messages are sent via SMTP server set by the smtp_relay parameter. The SMTP server must be set up correctly
and must send every incoming message within 1 second. Longer delays in email processing may drastically reduce
the billing performance. It is recommended to use the local SMTP server.
Possible types of e-mail messages include:
– Invoices – are sent when either an invoice is issued to a user having the Send invoices by email parameter
checked (see : Contacts on page 35), or when the Send by email context menu item is hit in the report on invoices
(see Report on invoices on page 64). Message subject is set by the invoice_-subject system parameter.
Message text is set by invoice_text, while the invoice itself is contained in an attachment as an HTML file. The
invoice is generated on the basis of the Invoice document template (see Document templates on page HIDDEN).
– Payment notifications – are sent on the event of a payment being made, if the corresponding parameter is
checked in the payment’s properties (see : Send email notification on page 88). Message subject is Payment
nofication. Message text is composed from the template stored in the payment_notification_message
system parameter.
– Balance notifications – are sent when the user’s balance (not considering the credit) crosses the borders defined
by the notification_borders system parameter, if the latest is set. Message subject is defined by the
notification_message_-subject system parameter. Message text is composed from the template stored in
the notification_message system parameter.
200
Database backup
System maintenance 28
Database backup
This is normally done with the standard tools specific to the particular kind of DB server. To prevent possible loss of
data, it is recommended to make backup copies of the database regularly (say, monthly). Besides regular backups, it
is also advisable to make an extra copy before any low-level operation on the database, like archiving of tables, direct
manual intervention, debugging of urfaclient scripts, etc.
The backup copy may be either brief or full. The latter one contains all tables, while the former one omits the charge-off
tables. It is recommended to stop the UTM5 core while creating a full backup copy (which may take considerable time,
due to the excessive size of charge-off tables). Otherwise prolonged blocking of tables may lead to core crash.
For large projects, where the tables are especially huge and yet it is critical to keep downtime low, we recommend the
use of a slave DB server, which makes it possible to create a backup copy without shutting down the billing.
The objects listed in verificator.log as condemned to deletion are not loaded by the system and also
neither accounted for in the reports nor shown wherever in the administrator’s interface.
When applying the fixes to the database, it is desirable to stop the UTM5 core and create a backup copy of the entire
database, or at least of the tables affected by the fix.
In the trivial case all fixes may be applied by simply feeding the verifier log file into MySQL:
However, some SQL queries in the log file are commented out, since they imply some (probably undesired) loss of data.
When dealing with such queries, one has to check every individual issue separately.
Archiving of tables
Some of the fastest-growing data tables may be archived in order to reduce the overhead expenses on insert
operations. An archiving implies that the table in question is renamed into an archive table, while an empty table with
the original name and structure is created to store the incoming data. Archiving may be done periodically. The
limitations are listed below.
201
Archiving of tables
One can do archiving once in 28 days. If button is not active, this means that less than 28 days passed
since the last archive was created.
Should you need to do the archiving more often, than is allowed by the administrator’s interface, please use the
db_archiver utility (see db_archiver utility on page 206)
202
NetFlow statistics generator
Auxiliary utilities 29
NetFlow statistics generator
To emulate activity of users and export statistics via NetFlow v.5 protocol there is a utility called utm5_flowgen which
is installed to /netup/utm5/bin/utm5_flowgen. It may accept the following command line parameters:
–h IP address of the host to send generated NetFlow packets to. Default value is 127.0.0.1
–p Port to send generated NetFlow packets to. Default value is 9996
–c Number of NetFlow records. Default value is 65535
–v NetFlow protocol version. Supports versions 5 and 9
-f Name of a file which will be used as the source of data for sending. The default source is /dev/random/
Only for NetFlow version 5
-t NetFlow packets send rate.
-s Sender IP address in the NetFlow record.
-d Destination IP address in the NetFlow record.
-z Traffic source port in the NetFlow record.
-x Traffic destination port in the NetFlow record.
-n Traffic source AS in the NetFlow record.
-m Traffic destination AS in the NetFlow record.
-i Incoming traffic index in the NetFlow record.
-o Outgoing traffic index in the NetFlow record.
-b Number of transmitted bytes in the NetFlow record.
-P Number of transmitted packets in the NetFlow record.
-j TOS in the NetFlow record.
-k TCP flags in the NetFlow record.
-l Protocol ID in the NetFlow record. E.g. 6=TCP, 17=UDP, etc.
–N Next router IP address in the NetFlow record
–u Use a *.utm file as a source for the detailed NetFlow statistics
The following example command generates one NetFlow packet describing 1048576 bytes of traffic transmitted from
10.0.0.1 to 10.0.0.2:
203
get_nf_direct utility
–u User password in public form. The value is sent with attribute ID equal to 2 (Password)
-a Attribute values
-b Binary attribute values in HEX ASCII
-q Quick mode: don’t wait for reply
-f Name of a file to read the authenticator from. By default, /dev/random
-v Display utility version
vendor_id:attr_id:is_digit:value
Fields are separated by colons. In the first field the vendor identifier is set. Default value is 0.
The second field contains attribute identifier.
The third field is used to set data type, i.e. numeric or char. If the value is 0 then the data is transmitted as a character
string. If the value is 1 then values are transmitted as digits (integer).
The 4th field is used for transmission of the value itself.
Examples
1. To send an authorization request (Access-request) run the following command:
A RADIUS authorization packet will be generated for a user username with password: password.
2. To send a request for accounting (Accounting-request) run the command:
A RADIUS packet will be generated with the accounting request for a user username stating that a session
started. with identifier sessionid1 is being started.
3. To send a request for accounting (Accounting-request) run the command:
A RADIUS packet will be generated with the accounting request for a user username stating that the session
stopped with identifier sessionid1 is being started. Session duration (Acct-Session-Time) is 100 seconds.
get_nf_direct utility
The get_nf_direct utility is designed to form detailed traffic reports based on the saved raw information.
The executable file is called /netup/utm5/bin/get_nf_direct.
It may accept the following command line parameters:
204
utm5_payment_tool utility
utm5_payment_tool utility
The utm5_payment_tool utility is intended for making payments to a customer's personal account using third party
software.
Launch utm5_payment_tool with the following command:
/netup/utm5/bin/utm5_payment_tool
Each command line parameter consists of the space-separated key-value pair. The complete list of command line keys
and config file parameters is given below.
All string values must be passed in UTF-8 encoding.
Order of parameters is not important.
Configuration file
utm5_payment_tool uses the config file /n-etup/utm5/utm5_payment_tool.cfg.
Config file has the following format:
parameter=value
A sequence of symbols before the equals sign is treated as parameter’s name, while the one after it stands for the
parameter’s value. Whitespaces count. Empty lines are ignored. Any line starting with # is considered a comment.
All parameters may be passed to the program via the command line as well. The config file parameters have priority
over those given in the command line.
The list of available parameters and command line keys is given below:
205
db_archiver utility
db_archiver utility
db_archiver is used when updating UTM5. It allows one to compare the current DB structure with the one needed by
the updated UTM5 core. It allows one to update the DB structure and to archive tables that are meant to be archived.
The executable file is /netup/utm5/bin/db_archiver.
It may accept the following command line parameters:
206
Approaches to traffic shaping
Appendix 30
Approaches to traffic shaping
Shaping is a limitation of bandwidth for IP traffic customers. The limitation may be of the following types:
– static (constant, defined solely by the tariff plan);
– dynamic (may depend on time and on the amount of traffic consumed).
UTM5 provides interface for setting up both static and dynamic shaping for selected services and tariff plans.
Actual bandwidth regulation occurs on the traffic routers, which may be PC-routers, Cisco routers, etc. The billing
software may interact with those in following manners:
1. Using external scripts. On some external event (say, when the traffic exceeds some threshold) the billing system
starts an external script controlling the shaper to change the bandwidth or probably break the connection. The user’s
IP address and the new bandwidth may be passed to the script as parameters.
The script calls external traffic control utilities (for example, tc from the iproute2 package for Linux, or ipfw for
FreeBSD with enabled dummynet). Usage of these utilities may require additional tuning of the OS and/or other
software.
1. Using RADIUS attributes (for VPN and dialup services). A response given by the RADIUS server to an authentication
request may include one or several attributes controlling the connection bandwidth for the given user on the given
NAS, if the NAS supports this functionality. Cisco routers are an example of such NAS.
In this way the bandwidth is set for a connection permanently as it is established, so any corrections will have to wait
till the next connection.
These two methods may be used either simultaneously as well as separately.
UTM5 uses the following approaches to shaping:
1. In case of shaping by the external scripts, the parameters to pass to the script are set up on the Firewall rules page
(see Administrator’s interface: Firewall rules on page 70for more expanded description of RFW workflow and for
interface details). Each rule is associated with one or several events that trigger the script with the prescribed
parameters. Path to the script is set via the firewall_path variable in the utm5_rfw.cfg config file.
– Static shaping may be done by the rules linked to the Internet on event.
– Dynamic shaping is possible in case if the corresponding module is present, and is set up by the rules linked to
the events Set bandwidth limit, Edit bandwidth limit and Delete bandwidth limit on incoming or outgoing
channel. Events of the first two kinds occur when the traffic amount passes over some predefined borders, and
the Delete bandwidth limit happens at the end of accounting period or when a service link is deleted. The borders
can be made time-dependent, so that the switch of time ranges may also fire the events of these types. See
Administrator’s interface: Dynamic shaping on page 77.
RADIUS parameters
Below is an example of RADIUS attribute for dynamic shaping to use with Cisco router.
207
Approaches to traffic shaping
– Vendor – is set to 9;
– Attribute – is set to 1;
– Attribute type – is set to string;
– Value –
Before sending this string to NAS, the system substitutes the IN_BANDWIDTH_BITS variable with the numeric value
of bandwidth for the given user (in bits/sec), determined from the current time and consumed traffic amount, as
prescribed by the shaping settings. The following two variables are interpreted as follows:
IN_CISCO_NORMAL_BURST is a number of bytes to send in one burst. It is calculated as the number of bytes passing
in 1.5 seconds at given bandwidth.
IN_CISCO_EXTENDED_BURST is the possible amount of bytes above burst size to send in one interval. If spent, it must
be compensated at the cost of bandwidth at periods when the load is below maximum. Its numeric value is twice larger
than the normal burst size.
The rest of instructions state that the traffic within the given bandwidth and the allowed excesses is to be passed
through (conform-action transmit), while the extra packets after the depletion of excess burst size are ignored
(exceed-action drop).
External scripts
The examples of executable files are presented below. It is supposed that the firewall rules for Set bandwidth limit, Edit
bandwidth limit, and Delete bandwidth limit are already created, and each of them lists the script parameters in the
following form:
First five parameters are the variables to be replaced with their values on execution:
UID user ID
UIP user IP address
UMASK user network mask
UBITS binary network mask
BANDWIDTH current connection bandwidth
Linux
Below is the example for the iproute2 software shaper running on GNU/Linux.
It is assumed that the following commands have been run in advance:
– a queueing discipline (qdisc) with ID=1 is created on the incoming interface eth0. The simple and quick Hierarchy
Token Bucket (htb) method of ordering is set for the queue.
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k
208
Template variables
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit burst 20k
– a root class with ID 1:1, guaranteed bandwidth of 50 Mbit/sec (rate 50mbit), and peak bandwidth of 100
Mbit/sec when unoccupied bandwidth is available (ceil 100mbit), passed through in a 200 KB bursts (burst 200k)
is created for the queue. It will be used as the parent for all other classes and distribute the bandwidth among them
with the ability to borrow the unoccupied portion from each other. Besides that, a class with ID 1:10 is created with
bandwidth 1Mbit/sec without borrowing, to let through the unidentified traffic from the queue.
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 1 fw classid 1:10
– a filter is created to direct the uncategorized traffic from the queue to the class with poor bandwidth.
Later on, when the script is called due to the Set bandwidth limit events, it works as follows:
– an iptables rule is created to mark the traffic packets incoming to the given IP address (outgoing traffic may be
shaped separately in a similar manner);
– a new filter is created sending the marked traffic into the new class;
– a new class is created with the given bandwidth.
On Edit bandwidth limit event the bandwidth of the class is altered, and on Delete bandwidth limit the class is deleted
together with the corresponding filter and the iptables rule.
The traffic to which no filters apply (i.e. belonging to the users for whom the shaping is not set up) skips the queue and
passes directly.
The script itself is given below:
#!/bin/bash if="eth1" echo $* echo "First create: tc qdisc add dev $if root handle 1: htb"
case "$6" in
0) iptables -t mangle -D FORWARD -s 0/0 -d $2/$3 -j MARK
--set-mark $1 tc filter del dev $if parent 1: protocol ip prio 3 handle $1 fw classid 1:$1
tc class del dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k;;
1) iptables -t mangle -A FORWARD -s 0/0 -d $2/$3 -j MARK
--set-mark $1 tc filter add dev $if parent 1: protocol ip prio 3 handle $1 fw classid 1:$1
tc class add dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k;;
2) tc class change dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k;; *) echo "Usage:
`basename $0` {UID UIP UBITS UMASK BANDWIDTH [0|1|2]}" >&2 exit 64;; esac
FreeBSD
Below is an example script for dummynet working on FreeBSD.
When the script is called on Set bandwidth limit, a pipe with limited bandwidth is created together with the rule that
directs the incoming traffic of certain user on the em0 interface to this pipe. On Edit bandwidth limit pipe bandwidth
is changed. On Delete bandwidth limit the pipe and the corresponding rule are deleted.
Script is designed to work in multipass regime (sysctl net.inet.ip.fw.one_pass must return 0).
#!/bin/sh case "$6" in 0) /sbin/ipfw delete $1 /sbin/ipfw pipe delete $1;; 1) /sbin/ipfw pipe
$1 config bw $5Kbit/s /sbin/ipfw add $1 pipe $1 ip from any to $2/$3 via em0;; 2) /sbin/ipfw
pipe $1 config bw $5Kbit/s;; esac
Template variables
This section contains the list of variables which may be used in templates of various types (see Document templates
on page HIDDEN).
209
Template variables
Variables
Template variables are split into several groups:
– Document
– User
210
Template variables
b. {contact_id} may take the following values: headman, booker (accountant) or an integer additional contact ID, starting with one
– Personal account
– Provider
211
Template variables
– Contract
– Payment
– Bill
212
Template variables
– Call details
Iterating variables
This section contains the list of iterating variables. When generating a document, these variables are replaced with an
array of values. They should be placed in a table row in a document template. In this case the number of rows in the
table is automatically increased to hold all the values that are returned.
Iterating variables also are split into several groups:
– IP group table iterators
IP group table iterators only include non dynamically created IP groups that have a non empty Login field and
a non zero IP address
213
Template variables
– Bill iterators
214
Template variables
Template types
Depending on the template type, it may include variables from the following groups:
Commercial invoice
Print receipt
User memo
Call details
Certificate
Contract
Bill
Document • • • • • • •
User • • • • • • •
Personal account • • • • • • •
Provider • • • • • • •
Contract • • • • • • •
Payment •
Bill • • •
Call details •
IPTV service links • •
Bill iterators • • •
IP group table iterators • •
Connected tariff plans table iterators • •
Call details iterators •
215
Template variables
Variable modifiers
Variable modifiers modify the values returned for variables. The following modifier types are available:
In order to use a variable modifier, add its name after the name of a variable, separated by two dots:
216
Phone: +7 495 510 1025
Fax: +7 499 783 0080
Address: Russia, Moscow, Ulofa Palme str. 1, sect. 7
Post: 119311, Russia, Moscow, P.O. Box #87
E-mail: info@utm-billing.com
Web: http://www.utm-billing.com