Regulus FAQ Regulus Current Release: 2.4.125-26

We have put up this document to serve as a FAQ. It may come really handy to you if you are a Regulus user or simply evaluating the product. Please read this document before engaging with Regulus setup and contact us if you have any questions about Regulus.

Last released date: 2013/12/23 23:58:31


REGULUS
What is Regulus ?
The
rulers component ?
The
regents component ?
Licensing
Upgrade policy ?
To
evaluate before buying ?
Platform
Available platform ?
Is 
Regulus Portable ?
RADIUS
compatible ?
Starting Regulus
How to start Regulus?
Checking if regulus is running?
Starting Monitoring terminal server?
How to restart Regulus?
Starting Regulus in debug mode?
User Profiles
Main account ?
Current contract ?
Next contract ?
Recurring contract ?
Automatic
renewal ?
The
squatter alarm ?
What is a
product ?
What is a
counter ?
The
"U" counter ?
Contract management
How to set a contract as paid ?
How to collect a contract ?
A contract
is not paid ?
renewal versus refilling ?
A few hours left
in contract ?
Invoicing
How to customize invoices ?
How to configure taxes name ?
How to change the currency symbole ?
Security
The Rulers is down ?
The Access privileges ?

Regulus
    Regulus is a real-time monitoring / accounting / billing software package. It allows you to track your user acceses, maintain logs and can restrict user acceses according to any policy you have defined. User acceses are constantly monitored by the second (frame level), by the daemon (rulers) component in the software that operates on your central system 24 hours a day.

    Regulus is composed of two (2) programs: the rulers component and one or more regent components. Combined in one easy to use software package. The two (2) components work together to control and keep track of user accesses on your systems.

    What is the rulers component?

    Rulers is the core of Regulus. It acts has a traffic controller. It takes account for every entrance and exit that occur in the system, while continuously updating currently connected user accounts in the database. Every  5 seconds or so, Rulers makes the decision whether a user is to be left using the system or not. It will order a Regent to disconnect the user based on any of the reasons below, which ever comes first:

    • The user account has expired or is terminated.
    • The customer is using your resources after the grace period allowed to pay his contract.
    • The user has used all his available time or bandwidth on the network.
    • The user has no right to access the network for the current period of the day.
    • There are too many users using that same ID on that account.
    • There are too many users connected on that contract.
    • A staff operator has requested that the user be disconnected.
    • The user has an uncommitted contract and lines are needed for committed customers.
    • The user has reached his maximum session time.

    By managing the usage of your network, Rulers takes care of your teleport to be free enough at any time to receive customers connections. Of course if the ISP sells too much committed contracts, Regulus will not be able to keep access free for customers. A proper balance between committed and uncommitted access time is the way to reach the ISP ideal situation .

    What is the Regent component?

    The Regent component acts as a traffic light for the rulers, it is connected to each of the terminal servers you want to monitor. It continuously does one of two things:

    • Refresh the list of currently connected users.
    • Disconnect a user at Rulers' request.

    Regent is rather a simple program, it will connect to terminal server through a SNMP session to monitor it. There is one regent per monitored terminal server. Each regent is started automatically by the rulers,  if  Rulers detect a dead Regent, it will start a new one for that terminal server and send an E-mail message to the Regulus manager. .




    Licensing

    What upgrade policy is included?

    When you purchase a Regulus license, you also get the following:

    • Free update for six (6) months, you can access and install all Regulus updates.
    • Free customer support for six (6) months, for all questions related to Regulus.

    Can you evaluate before buying?

    To evaluate Regulus, all you have to do is request an evaluation license, with this license you get a fully functional Regulus for a period of two months, free of charge. That will give you plenty of time to see how Regulus can improve your day to day operation. Your feedback is welcomed, and will help improve our product.

    Our RPM package is very easy to install. Once installed you must follow the easy step-by-step procedures described in the README file (by default in the directory /var/lib/regulus2) and make sure all the installation went well.


    Platform

    On what platform is regulus available ?

    Regulus is developed and runs on Linux. Starting with Regulus Release-2.0.0, Regulus use PHP, SQL data-base. The Regent component also only runs on Linux and it is capable of monitoring the following terminal servers brand:

    • Ascend
    • Cisco
    • Livingston.
    • Patton.

    If your terminal server is not in that list, please contact us, usually we can provide a Regent customized for a terminal server within few days.

    Is Regulus portable ?

    Regulus is intended to be as portable as possible in the UNIX world by complying with the POSIX-1003.1 standard. Please contact us if you need to have Regulus ported to another UNIX flavor.

    Is Regulus RADIUS compatible ?

    Radius and Regulus can work side by side, RADIUS is a very good standard to do user authentication, Regulus' purpose is to make sure the customer is entitled to be on your network. If RADIUS lets a user enter the system and Regulus does not have the necessary information to bill the user, Regulus will leave the user online but will send a "squatter alarm" to the operator.

    Radius users file (/etc/raddb/users) can be updated on-line by Regulus. Every time a user's passwd is change within Regulus (see screen PA-001 bellow) a script utility (regadduser.sh) do a Radius user file update. This script can be modified to fit your exact needs.


    Starting Regulus

    How to start Regulus?

    After a RPM install, Regulus is not started, please look at the README file and follow the step by step procedure to check if every thing went fine.

    Regulus will be started with each system reboot by using the standard /etc/rc.d/init.d file proceeding. if you need to stop Regulus manualy just type /etc/rc.d/init.d/regulus stop

    Checking if regulus is running?

    To check if Regulus is indeed up and running from the WEB interface, the best is to click on "ISP's staff access mode" then on "Load statistics", you should see a screen like this one.

    this screen report at the minute level a summary of connection, status update and disconnect event of all monitored users.

    Starting Monitoring terminal server?

    Monitoring Terminal server is a key feature of Regulus, the monitoring is done by Regulus in real-time while the user is using your resources. To activate the terminal monitoring you must click on "Terminals" in the Regulus main control screen then click on "add". this screen will appear.

    Enter the hostname.your.domain of your terminal server in the "Terminal name" field, set the monitoring to "1, Regent is started, terminal is monitored" set the "Type of terminal" (Cisco, ascend_max, Livingston, Patton) provide the "SNMP password", this field is the refered as the "SNMP community writing password" in your terminal server documentation. set the maximun number of line monitored by this terminal server and the "hunt group" (the group of line used by this terminal server). Once everything is setup (not used field are reserved for future upgrade) click on "WRITE" and the terminal server to be monitored will be defined.

    How to restart Regulus?

    When the Regulus configuration is changed (IE: adding a terminal on the monitored list) a sign "restart needed" will be displayed at the top left of screens, go to the "main staff screen" (ms-001) and notice a new clickable namesd "restart regulus" (near Maintenance), when you have completed the needed configuration changes click on it to restart Regulus, within a minute, Regulus will running again with taking you new configuration in count.

    Starting Regulus in debug mode?

    It could happend Regulus is not working and you are not able to understand why, you can then use the debug mode, to do so you must stop Regulus the usual way and restart it in debug mode. Being logged as pseudo user "regulus", enter the command line /var/lib/regulus2/bin/rulers -d9 -f this will start Regulus in foreground mode with debug level 9. usualy the problem met by Regulus is reported in the trace, if you still have difficulties just contact us w'll help you.


    User Profiles

    What is a main account ?

    Every user allowed to connect to your network needs to be known by Regulus. Not only does Regulus need to know the usual customer information (login id, name, etc..) but it needs to know details about a connection plan to deliver to your customer. Regulus follows a simple security principle: one user, one ID, one password. Users can share the same connection plan, but all access will be logs under their own connection ID. When you create a user profile with the WEB interface, the bare minimum Regulus needs to know is only 3 fields: the "User ID", the "billed to" and the "Max user on this ID". In most cases, the "Billed to" field is the same as the "User ID" and the "Max user on the ID" is 1. In some cases you may want userB to also use userA's contract, in these cases userB's "Billed To" field will be set to userA.

    What is a current contract ?

    As your users are connected, the Regulus on-going task is to check if the customer is properly using its current contract. Once installed, the current contract defines the connection plan given to the user. Main current contract parameters are: starting date, ending date, paid date. If the user connection is not done between the starting and ending dates; or if the current contract is not declared paid within the grace period, the user will be disconnected and a message is issued to your staff (and user) stating the disconnect reason.

    What is the next contract ?

    Every time your staff is gives a new contract to a customer, they need to enter the product name and the next contract's start and end dates. That next contract will become the current contract as soon as the date applies and the customer connects to the network. A next contract can become the current one, even if the current one is not yet exhausted or completed. Usually a staff member needs to enter a next contract once when the account is created. The next contract can still be used in some special cases (i.e., the user wants to use another product only for the next month). Using the next contract entry is mandatory when you want to define the first contract allocated to your customer.

    What is the recurring contract ?

    In the user's contract area you can define a recurring contract. The recurring contract's object is to automatically carry over a new contract every time it is needed. An invoice will be issued within the defined advance notice starting from the current contract ending date.  As for the next contract the recurring contract will become current one as soon as the date applies and the user connects to the network. Staff members can override the automatic process and create the recurring contract (which will be then be in a waiting state) by clicking on the "recurring contract" link inside the contract entry. Unless the automatic renewing flag is set the recurring contract will be issued only at the time the customer connects to the network  inside the advance notice period, then the new invoice will not be created if your customer is no longer using your services.

    Can a contract be renewed automatically ?

    As stated in the previous paragraph, the recurring contract invoice is generated only if the customer connect himself, by selecting the "scheduled invoicing" option, a batch process (see invoice.sh in the examples directory) activated under cron control, can then detect the contracts that need to be renewed and issue an invoice even if the customer did not connect to the network inside the "advance notice" period.

    What is a squatter alarm ?

    From time to time, but often enough when first installing Regulus, you should receive "squatter alert!" messages. Such a message is issued when there are discrepancies between your authentication process (example: RADIUS) and Regulus. A connected customer is declared "squatter" when Regulus sees him connected but is not able to find any meaningful data to charge him. As long as squatters are connected, a message will be issued every hour. For Regulus, squatters are free loaders on the system; you should be very concerned when you are notified of one. Once the user profile is properly entered, the user needs to disconnect to lose the squatter status.

    What is a product ?

    With every contract you define a connection plan (also called product). That connection plan is used by Regulus to serve and bill the customer. You can define all kinds of connection plans to reach your marketing goal. Every connection plan is flexible enough to meet every customer market. A connection plan is defined with counters - up to 5 counters can be put together to fit exactly the needs expressed by your customers. Within our demo package, seventeen (17) products are defined as ENTR50, DIAL10, DIAL40, WEEK10, DAY24, STAFF etc. Please review these and use them as practical examples before defining your own. Regulus offers you the opportunity to define as many products (packages) you may wish, each product must identified with a specific reference name. Each product can have a minimum unit applied per connection. That minimum amount of units (seconds) is then added to the users' counter every time the user establishes a connection.

    What is a counter ?

    Counters are defined in a WEB page.

    counters are the element used to define product, you have many counter types. here is a typical counter definition:

    In that definition we have a counter name "m50", which is automatically refilled with 50 hours every month, consumed at level 1.0 between midnight and 6 PM, and twice and half as fast between 6 PM and midnight. Counter can be refilled with different period (day, week, month, quarter, semester, year, never) for all the contract duration, you can define a contract for a 6 months duration, using a product named DIAL50 which uses a counter name m50, your customer can use 50 hours every month for 6 month. If he connects only between 6 PM and midnight he could use only 25 hours a month (an all mix between that). All regulation will be done quite automatically by Regulus and your imagination is the limit.  Each counter used in a product must be declared. It can have as many coefficients as required, defined to the exact minute of any given day. If in a period on a given day a counter has no coefficient defined, that counter won't work on that day, if none of the counters used by the product as time definition for a specific time in the day, the user using that product can't access your (or will be disconnected of your) facilities during that unspecified time frame.

    What is a U counter ?

    There is a special "U" counter, "U" stands for uncommitted. If a customer is using such a counter, he is will be disconnected to make space for a customer which will be using a committed counter. This feature is interesting because you can defined committed and uncommitted counters inside the same product. You can define product giving 100 hours/month of committed time and 300 hours/month uncommitted. The disconnection algorithm is that the biggest uncommitted users will be disconnect first, so that heavy users, (you know the one which stay connected all day long, but pay only for the very small contract) will be disconnected first.

    Regulus can be used to charge the user in "pay as go" mode. To do so, the counter used must be set "billable after" (image de l'ecran). The value and the period assign to the counter refilling can be used as a credit limite for the user.


    Contract Management

    How to set a contract as paid ?

    Regulus can work in two modes, if you have already an accounting procedure you can just declare the contract as paid by entering a date in the "Payment received date" in the contract screen as you receive the customer payment. As soon a contract is declared as paid, Regulus will allow the user to stay connected inside his defined contract. If you want to deliver a contract but you have not been paid yet, Regulus will used a Grace period (referred as the "Week's grace" in the contract screen) to decide if can still authorize the customer access. Grace period is started from the current contract starting date.

    How to collect a contract ?

    If you want to use the Regulus invoice collection capability, you need to click on the "invoiced" flag inside the invoicing contract screen, as soon a contract is declared "invoiced", a new click able link appears and you can call the "collection" screen. Please note, all invoiced contract are linked to a retailer, a report by retailer can be generated.

    Recurring Contract issued by Regulus are set in the "invoiced" state and then are ready to be collected.

    What happens if a contract is not paid ?

    In the event a contract is not paid within the grace period, all the users related to the unpaid contract will be disconnected. Experience has shown that customers try to connect 3 to 4 times, before calling to pay the late bill.  By adding X weeks to the grace period, it is very easy for your staff to allow a delay for the customer paiement to be validated. Caution however: if you define a recurring contract with a grace period longer than the renewal time, the customer could get service without ever paying or getting disconnected.

    What is the difference between contract renewal and refilling ?

    As explained previously, a contract  allows a customer to be connected to your facilities between given dates. The contract can be renewed and billed automatically for specified time. Inside the contract duration, counters will be refilled according to their own schedule. In real life you can easily define and bill quarterly contracts giving your customer 10 hours a week. Every step will be done without staff manipulation; the invoice will be issued via mail to your customer and the only book entry would be to mark the contract "paid" as you receive the customer payment.

    How to advise my customers that they have only a few hours left ?

    You can define a counter to trigger a message to the user as soon as that counter is used for the first time. Such configuration allows you to dispatch a message to your customer advising him about the few remaining hours in its current contract (see the DIAL40 product in the predefined product).


    Invoicing

    How to customize invoices ?

    To customize your invoices you need to duplicate the following files:

    footer.English.BESTISP.html,
    headerinv.BESTISP.html

    From /var/lib/regulus2/html to /var/lib/regulus2/conf/html. The new set of copied file must be edited to display your exact invoices headers.

    In the name footer.English.BESTISP.htlm, "English" reflect the user (your customers) used language, while "BESTISP" is the retailer (by default, if you have no retailer defined, you are a BESTISP), such you can issue invoices with a differente format for each reseller and using own customers language.

    Files stored and customised in /var/lib/regulus2/conf/html are kept from one update to the other, while files in /var/lib/regulus2/html are modified by each Regulus release installation.

    Same principle apply for the customer statement, file involved is state.English.BESTISP.html.

    How to configure taxes name?

    Regulus allow you to display up to 3 taxe levels on the invoices, to configure the taxe names, edit the file
    /var/lib/regulus2/conf/htmlequi.conf
    and look for variable named
    "$deftax1", "$deftax2", "$deftax3",
    All changes will appear in the invoice sent to customers.
    If you do not have need for all the taxes level defined, then set the definition to ""

    How to change the currency symbole?

    In the file named /var/lib/regulus/conf/htmlequi.conf, find the variable named "$currency", change the value according you currency symbole or name.
    You can too change the currency symbole position to be before or after the amount displayed. The position variable name is "$poscurr".


    Security

    What happens when Rulers is down ?

    Regulus update takes minutes. However if you are doing some long maintenance on your Regulus system configuration, your users will still be able to connect to your system. Regulus will not do any accounting, and your customers will get a free ride. If you define other contracts, counters or add terminal server definitions Regulus will detect that automatically and advice you to restart Regulus.

    What are the access privileges for staff members?


  1. staff
      Full access everywhere but "maintenance" area

  2. admin
      Can access the "maintenance" area
      Full access to utilities.
        - data-base management.
        - Regulus management.

      Full access to end user record.
      Can't access to accounting area.

  3. sheriff
      Can manually disconnect a on-line end-user.

  4. support
      Is allowed:
      To see the on-line user list and Regulus statistics .
      To see (only) the end-user record.
      To access end-user connection logs and add support "comment".
      To change the end-user dial-in password.
      To generate the end-user account statement.
      To see on-line documentation.
      Is NOT allowed:
      To add a new contract and modify end-user record.
      To create a new end-user.
      To manually disconnect a end-user.
      To access the current and past "bank deposit slip".

  5. account
      Is allowed:
      To access "current deposit" record.
      To access end-user account statement.
      To access end-user connection logs.
      To create new end-user and to issue new end-user contract
      To do contract collection.
      To access on-line documentation
      Can't access to the user on-list list neither load statistic.

  6. sticker
      Allow to generate a batch of sticker label (utilities to sell pre-paid account).

  7. retailer
      To be recognized as a retailer the user ID use to access Regulus must be the same a defined retailer within Regulus
      Is allowed:
      To see its own statement (retailer level) or to see one of the retailer end-user statement.
      To see and to modify any of the retailer's end-user, this include issuing and collecting contract.
      Is NOT allowed:
      To cancel a current contract.
      To make an "issued" contract a "current" contract

  8. demo
      This level is for demo purpose only, it allow everything but:
      Can't access to the Regulus list generator.
      Can't disconnect a user.

    RECAPITULATING
    staff admin support account retailer demo sticker
    Monitoring
    monitored terminal server list x   x     x  
    disconnect statistics x   x x   x  
    Regulus load statistics x   x     x  
    user
    Data-base access x p p x p x p
    Manual invoicing. x     x   x  
    Maintenance   x       p  
    accounting
    End-user statement. x   x x x x  
    Access to bank deposit slip x     x   x  
    Regulus list x            
    Utilities
    Data-base management x x       x  
    Stickers x         x x
    Regulus management x x       x  
    On-line documentation. x x x x   x x
    End-user Regulus access x   x     x  

    x=Full privilege   p=partial privilege.


Page updated on: Sat Apr 27 14:12:08 EDT 2024 SAFE TEAM, Thanks you for your support COPYRIGHT©S.A.F.E. Inc. 1995-2014