Implementing Forced Authorization Codes
Forced Authorization Codes (FAC) are another method of call restriction, requiring a user to enter in a code prior to the call being connected. However, the primary use of Forced Authorization Codes is call accounting and billing.
Getting ready
We need to know which patterns will be requiring Forced Authorization Codes, and the codes themselves.
How to do it...
To implement Forced Authorization Codes, perform the following:
- Add a new Forced Authorization Code (Call Routing | Forced Authorization Codes).
- Click on Add New.
- For this recipe we will name it
John Smith - International
with an Authorization Code of1234
and the default Authorization Level of0
. - Click on Save and repeat for any additional Forced Authorization Codes.
- Find the route pattern (Call Routing | Route/Hunt | Route Pattern).
- Check Require Forced Authorization Code and then click on Save:
How it works...
When a user attempts to use a route pattern that requires Forced Authorization Codes, he will hear a tone prior to entering the code. Once the correct code is entered, the call is routed and that call is specifically marked in call records with the Forced Authorization Code used.
There's more...
Forced Authorization Codes are primarily for billing and accounting purposes.
Depending on requirements, we may have a situation where it is necessary to allow the management unfettered access to international calls, while requiring other employees to use Forced Authorization Codes.
If we require Forced Authorization Codes for segments of users but not for all, we need to create one partition for each group that requires their use. In the previous example, we needed only one partition, which we will call PT-FAC.
For each FAC partition created, that same partition will need to exist in a calling search space. Those using Forced Authorization Codes will need to be assigned the appropriate calling search space.
How we implement Forced Authorization Codes depends heavily on the environment in which they are being deployed.
In environments with traditional call routing, using route patterns pointing to specific gateways, the route patterns' pattern will match the digits dialed by the user.
In environments where E.164 call routing is implemented because translation patterns are used to convert the dialed digits into an E.164 compatible format, the pattern we use must match this format and not the dialed digits. In the case of enforcing FAC for international calls, we would use the pattern \+[^1]!
with an appropriate FAC partition.
We use this pattern because we assume there is a translation pattern matching 9011.!
. Converting the number into +011 will match any number E.164 that doesn't begin with the US country code of 1. This is necessary, as Forced Authorization Codes do not apply to translation patterns.