Understanding users, applications, and rules

To use VoxImplant, you need to configure 3 sets of parameters:

Users

To make or receive calls using VoxImplant, users have to introduce themselves. You can define any number of users in your account, so some people will be able to authenticate into the application using a specified username and password.

Please note, a user alone can't make a call. You will need to assign it to an application so that the corresponding call processing scenario will take place.

Each user can be assigned to any number of applications, and they can log into them separately.

Rules

A rule is a criteria to be tested on dialed number that specifies which call scenarios will be executed for specific call. Each rule has 3 parameters:

  • Pattern - a regular expression that a dialed number will be checked against. Please note that this expression is applied to a whole number, so if one dials the number 123456, it will not match the pattern 123, but it will match pattern 123.+
  • Exclude pattern - an optional regular expression that a dialed number will be tested against. If they match, the rule will be marked as not matching the number.
  • Scenarios - a list of the scenarios that will be executed in the specified order when a rule will match.

Applications

An application is a set of call-processing rules and users that can use it. When you create an application, you need to specify, which users will have access to it. This list, of course, can be modified later.

Each application has a name, which is converted to a fully qualified domain name in following way: if, for instance, you name your application myapp, and your account name in VoxImplant is myaccount, the domain name for this application will be myapp.myaccount.voximplant.com. When a user logs into the the application, the code has to specify the username and the domain of the application. For example, if you use the Web SDK, you would write the following code to log in user testuser to the application myapp with the password testpass:

VoxImplant.getInstance().login("testuser@myapp.myaccount.voximplant.com", "testpass");

This may look a bit complicated, but it allows users to log in not only with any of the VoxImplant SDKs, but also with their SIP phone. They can use the same username and password regardless of the login method they use.

When a call arrives to VoxImplant, and it decides that it belongs to the current application, the rules of the current application are being checked in order. When the first rule, that has the Pattern that matches the dialed number and Exclude Pattern that doesn't match dialed number, is encountered, all scenarios assigned to that rule are executed in order. After that no more rules are checked for the current call. After that no more rules are checked for the current call.