>>>Other
Documents |
IBS Mini-Manual |
Copyright ParsPooyesh Co. 2003 under GPL license |
Table of Contents: |
I. Concepts |
A. Introduction
B. Groups and Rules
C. Permissions |
II. Interface Sections |
A. Internet Users |
|
1. Add New User
2. Generate Users
3. User Generations List
4. User Information |
|
|
a. Edit Info
b. Change Credit
c. Change Password
d. Check Password
e. Lock This User
f. Delete User
g. User Report |
|
5. Users List
6. Set MOTD |
B. VoIP Users |
|
1. Add New User
2. Generate Users
3. User Generations List
4. User Information |
|
|
a. Edit Info
b. Change Credit
c. Change Password
d. Check Password
e. Lock This User
f. Delete User
g. User Report |
|
5. Users List |
C. Groups |
|
1. Internet Add Group
2. Internet Groups List |
|
|
a. Rules List
b. Add New Rule |
|
3. VoIP Add Group
4. VoIP Groups List |
|
|
a. Rules List
b. Add New Rule |
|
5. VoIP Countries List
6. VoIP Charges List |
D. Admins |
|
1. Add New Admin
2. Delete Admin
3. Change Password
4. Admin Permissions
5. Admin Information |
|
|
a. Edit Info
b. Add Deposit
c. Change Deposit Ratio
d. Lock This Admin
e. Permissions
f. Admin Report |
|
6. Admins List |
E. Reports |
|
1. Internet Online Users
2. VoIP Online Users
3. CDR
4. Internet Connections
5. VoIP Calls
6. List RASes |
|
|
a. Add New RAS |
F. Graphs |
|
1. Internet Ports
2. Internet Onlines
3. VoIP Ports
4. VoIP Onlines
5. Termination Ports
6. Termination Onlines |
III. Troubleshooting |
|
I. Concepts |
A. Introduction |
|
IBS(ISP Billing System) is a free and open-source project, released
under GPL license that provides accounting services for ISPs that
sell Prepaid VoIP/DialUP/Lan accounts. It also supports VoIP Call
Detail Recording with radius accounting.
Web interface has been written in PHP4 and the core has been written
in Python. IBS uses Postgresql as database . IBS can work with
Cisco Routers/Access servers, Multiport (needs portslave) for dialup
connections, Cisco and Quintum Products for VoIP Call Detail Recording.
IBS supports LAN accounting using PPTP protocol (needs POPTOP),
PrePaid VoIP with IVR for cisco/quintum platforms, Traffic Shaping
for LAN clients, Integrated Mail System(needs Qmail and Courier IMAP)
and an apache authentication module (needs mod_auth_external).
IBS implements a thread pool, an event scheduler and a database
connection pool for better performance. The core is providing all
information to clients by a TCP connection. Interface uses this
connection to query information from IBS server.
|
B. Groups and Rules |
|
IBS Groups are charging methods that define how much credit will
be consumed by logged on users based on Time of day/Day of week
and called number prefix (VoIP only). There can be infinite number
of groups each with different Charge Per Minutes.
IBS supports different definable charging methods for different
users. For each type of connection, you can specify a charging
method for any user. You do that by putting that user in a
Charging Group( or Group ).
Each charging group contain some Charge Rules. Each charge rule
should have a day of week, an start time and end time, and a
CPM( charge per minute) for this period (internet groups) or a
charge list (for VoIP groups).
Charge Lists (for VoIP), specify a call destination based charging
method. A charge list is a list of country codes and their CPMs
(Charge Per Minute).Currently IBS only supports time-based charging rules. In furture IBS
will support transfer based and mixed charging rules. |
C. Permissions |
|
IBS has a flexible permission based authorization for
admins.
Each admin is permitted to do a job only if he has been given
related permissions.
There is only one exceptional permission: "Admin - GOD"
This permission means all possible positive permissions.
Giving this single permission to an admin means giving him
all permissions to do all tasks in IBS.
Some permissions are more configurable. They can be assigned
value(s). For example "Admin - Limit Login Address", can be
assigned multiple IP addresses, which will limit from which
IPs an admin can login to IBS Web Interface.
Some other permissions are designed for resellers. Resellers
are admins who have control over limited number of users,
which are owned by them (Every user has an owner as you can
see in User Information Page). This type of permissions like
"Internet - Change users information", can be assigned to
one of these two values: "All" or "Restricted".
Assigning "Restricted" means this admin has the permission to
change information only for users whose owners are that admin.
But, "All" means this admin can change information of ALL users.
|
|
|
To add new internet users. In this
page you can specify
following items( just mandatory fields are explained):
Username : username of the user.
Password : guess what!
Day limit : limits day usage of the user, so users cannot
exceed this limit in a single day. (-1 means unlimited)
Credit : Initial credit of the user
Exp. Date : User expiration date. This day is an absolute
date, this means even if the user never logs
into the system, the account will expire on
the specified date. IBS uses this date to delete
accounts which have expired more than six months
ago.
Rel. Exp. Date: Relative Expiration Date. This expiration date
is relative to the first login of the user.
Owner : Owner of the user. Used for reseller permissions.
After filling out above fields, you must select in which types
the user can login to the system. For each type, you have to
select charge group. |
|
User generation is a process in
which many users with
the same attributes can be created. Most fields in this
page are similar to Add New User page. The difference is in
how the username and passwords are created.
Each username is built up of three parts:
Prefix + Digits + (Postfix)
Prefix is an string which all users will start with.
Digits are incremented for each new user, you specify
how many digits should be used in "Serial Digits Count",
numbers will be left padded with 0 if needed. "Start"
specifies the start of counting, and count specifies how
many users should be generated.
Postfix is like Prefix, but it's just added to the end of
the username and is optional.
You can also specify how passwords should be generated,
if you want password to only contain digits, you can select
it. Otherwise let it unchanged.
For example:
Prefix = 'usr'
Serial Digits Count = '4'
Postfix = ''
Password Characters Count: '5'
Password Characters Type: 'Digits Only'
Start = 10
Count = 4
These settings will create 4 users like this:
| Username | Password
=======================
1 | usr0010 | 61238
2 | usr0011 | 29745
3 | usr0012 | 82352
4 | usr0013 | 90648
After you hit "Generate" button , A list of users which will be
generated is shown. Then by clicking apply generation those users
will be generated. |
|
Previously generated users list. You
can see usernames
and passwords by selecting a generation from table. |
|
Most of fields here are explained in
Add New User page.
Just two concepts here : every user has two important logs.
Connection Log and Credit Log, they both can be viewed in
User Report link in this page. Connection Log shows credit
which is decremented by the system when the user was online,
and Credit log which shows when and how much the credit has
been added to the user. When you add credit to a user, you
can enter how much money he has paid. The system tracks
paid money and credit increments, and calculates how much user
has to pay: the user "Due".
At the bottom of this page, there is a table that can be
used to see how much the user can stay online if the shown
rule is used. |
|
|
|
Change User Information. |
|
|
|
Add credit to the user, or add information about
paid
money in this page. |
|
|
|
Change user password. |
|
|
|
IBS doesn't save passwords as clear text. So if
you needed
to know if user's password is correct, you can test it in this
page. |
|
|
|
In this page you can lock the user. A user can
have
more than one locks, each lock can have a reason.
A locked user cannot login to the system. |
|
|
|
Delete a user from system.
WARNING: Deleting a user will also delete all his logs,
so it's better to just lock the user if you are
unsure if you need the logs or not. |
|
|
|
Credit Log and Connection Log can be viewed
here.
Disconnect reason shows why and how a user had beed disconnected.
See (Internet - User Information) for more information
about Credit Log and Connection Log. |
|
In this page you can have a very
datailed search for a user.
You can select from many conditions in this page to find
a user with least information you may have about him. |
|
(IBSDialer users only) Set Message
Of The Day. For users who
use IBSDialer to connect.
Message Title : This text will pop up on user's desktop,
as the user logs in using IBSDialer.
Contents : If the user clicks on popped up message,
a browser window will open and the "Contents"
will be shown to the user. |
|
|
(See Internet - Add New User)
The only important thing here is that usernames
should only contain digits. No alphabets.
And they can only be 8 digits. |
|
(See Internet - Generate Users)
For VoIP users, passwords can only contain digits, and its
length can only be 4.
|
|
(See Internet - Generations List) |
|
a. Edit Info
b. Change Credit
c. Change Password
d. Change Password
e. Lock This User
f. Delete User
g. User Report
(See Internet - User Information) |
|
(See Internet - Users List) |
|
|
Here you can make new groups. Notice
if you specify
"No Limit" for group type, then users in this group
can always login to the system anytime, and rules
you define won't take effect.
"Timely Internet User" is the usual group type for
normal users.
Checking "Group is visible to all admins" makes the group
visible to all admins by default, and not checking it
will makes the group visible to Admins who are granted
access to (by adding group name to
"Groups - Can list these Groups even if they are non-visible"
permission values). |
|
List of internet groups. You can
click on "List Group Rules" here
to add/delete/modify group rules. |
|
|
|
List of group rules and their information |
|
|
|
To add a new rule, you have to specify on which
days,
from Rule Start time till Rule End time, users in
this group will be charged at amount of CPM(Cost Per Minute)
for each minute of being online.
Rule Usage Limit specifies how long a user can use this
rule. For example think of a situation where you want
a user to connect for maximum of 1 hours between 8 AM
and 10 AM. We will create a rule starting @8 AM and
ending @10AM and enter "60" (minutes) in Rule Usage Limit
field. |
|
(See Groups - Internet Add Group) |
|
(See Groups - Internet Groups List) |
|
|
|
(See Groups - Internet Groups List - Rules List) |
|
|
|
(See Groups - Internet Groups List - Rules List)
The only difference is that instead of CPM( cost
per minute), you have to specify Rule Charging
Group, in which country codes and their CPMs
are defined. |
|
List of all countries,and their
country prefix code,
just to make it easier to add the country into a
VoIP Charge List. |
|
A Charge List contains a list of
countries and their
CPMs(Cost Per Minutes).
|
|
|
To add a new admin.
A newly created admin won't have any permissions, so
you have to add needed permissions after you create
an admin. |
|
To Delete an admin.
WARNING: Deleting an admin will also delete all his
logs. So it's better to lock the admin if you
are unsure if you will need his logs. |
|
To change an admin password. If you
have enough access,
a list will appear and you can select for which admin you
want to change password. |
|
List all admin's permissions. To add
a new permissoin
select "Add New Permission". |
|
Views information about an admin.
Admins have two important
reports. Deposit Report and Credit Usage Report, both can be viewed
in "Admin Report" page. Each admin has an "Deposit Ratio" value.
This value specifies discount for that admin. For example
suppose an admin whose "Deposit Ratio" is 10%, when you give
him 1000 more deposit, he can spend 1000 + 10% * 1000 = 1100. |
|
|
|
Change admin information. |
|
|
|
Add any amount of deposit to the Admin. You have
to
consider admin's "Deposit Ratio" here.
See (Admins - Admin Information) |
|
|
|
Change the value of "Deposit Ratio" for the
admin.
See (Admins - Admin Information) |
|
|
|
Locks the admin. A locked admin cannot login
into
the system.
|
|
|
|
Lists all admins permissions. |
|
|
|
"Credit Usage Report" and "Deposit Report" for
the selected
admin. See (Admins - Admin Information) |
|
|
Lists all admins and their brief information. |
|
|
Lists currently Internet online users. |
|
Lists currently VoIP online users. |
|
You can view a report of CDR(Call Detail Recording)
with the conditions you specify. |
|
You can view a report of Internet Connections
with the conditions you specify. |
|
You can view a report of VoIP Calls with the conditions
you specify. |
|
Lists all rases and their information. |
|
|
|
In this page you can add a new RAS.
You have to define all rases you want ibs users to login
on or ibs to controll.
You must specify the right ras type and "Radius Secret Key"
and "Snmp Community" if applicable.
(See docs/INSTALL.<ras type>) |
|
|
|
Lists all ports on this ras, you can add new ports to ras
using "Add New Port"
There are 3 port types:
-"Async" for internet dialup ports
-"Voice" for VoIP origination ports
-"Voice-termination" for VoIP termination ports
To see "* Ports graphs" correctly, you must define ports and
their types here. |
|
|
In this page you can see each port's usage. |
|
A graph of online users in specified time. |
|
In this page you can see each port's usage. |
|
A graph of online users in specified time. |
|
In this page you can see each port's usage. |
|
A graph of online users in specified time. |
|
|
IBS has extensive options for debugging and locating problems. IBS saves
its log files in '/var/log/ibs' by default. IBS core appends its logs
to 'ibs.log', and Web Interface uses 'ibs_interface.log'.
You can change its core log level in 'defs.py'.
On user login failure, one of important places to look for the cause
is "User Report". For each disconnection, the "Disconnect Reason"
is shown in this log. |
|