It is possible to have multiple isolated PortaBilling instances, or virtual environments, within the same PortaBilling installation. This functionality allows you to use PortaBilling as an ASP (Application Service Provider) platform, or to create test environments which do not affect billing production activities.
Each PortaBilling virtual environment contains a complete set of data specific to that environment. A user who logs in to a user account for a specific environment will see only the users, customers, tariffs, accounts, xDRs, statistics, and so on for that environment.
You may create new environments or delete them from the Configuration server web interface.
A new environment is created empty except for a single user account that you use to log in and then create other users, tariffs, customers, etc.
By default, the account’s username is <env>-root, where <env> is the name of the environment you just created.
When you create a new billing environment, you define your email and base currency. Please note that you define the base currency only once and cannot change it once you save the environment. The default base currency is US dollars.
The user’s password is randomly generated when you create the environment. So, if you create the environment EasyCall, to log into it you use the username EasyCall-root and then the generated password.
The password is displayed only during the environment creation step. Thus, you must copy the password before clicking Save.
There are a few restrictions on the use of virtual environments to ensure their correct functioning:
- The login name for admin users must be unique across all environments. For example, you may not have a user ‘jack’ in both ABC-Production and ABC-Test environments. Rather, two users will have to be created, possibly ‘abc-jack’ and ‘test-jack’. The same applies to login names used by your customers/accounts/vendors on their self-care pages.
- A gateway (node) may be registered to only one environment. So you cannot have a node with the same IP address in two environments.
You may have multiple customers, vendors, or account entries with the same name across environments. For example, you may have an account ‘12345’ in both ‘ABC-Production’ and ‘ABC-Test’ environments (from the previous example). In this case, the decision as to which account is used (from which environment) is determined by which gateway sends the accounting record (i.e. one registered in ABC-Production or in ABC-Test environment).
If you want to enable an administrator (user in PortaBilling) to switch between all the environments, you need to add the corresponding user login to the list of “superusers” on the Configuration server web interface:
- Open the Global.Superusers option.
- Add the login of a specific user to the list (note that this field is case-sensitive, so make sure that the value you specify here is exactly the same as on the user’s page in PortaBilling).
As a result, the administrators whose login is added to the “superusers” list, can open the list of environments in the top right corner, look up a specific one, e.g., by its number (i_env value), and switch to that environment.