Introduction
Enswitch can hide phone numbers, if required for legal compliance or other purposes. This is done using a database table, and optionally an external web service. Customers are reminded that they should review their provider's conditions for the use and caching of data.
Every time a phone number is going to be displayed to a user Enswitch checks if the number should be hidden. If there is a record for the number in the "secret_numbers" database table then the "hide" column will be used.
If there is no record in the "secret_numbers" table and there is a URL configured in the "Secret numbers source URL" global configuration then a GET request will be made to the web page at the specified URL. The URL string will have the following characters replaced:
- %uniqueid will be replaced with a unique identifier, for example the uniqueid of the call
- %field will be replaced with the name of the data field, for example the "dtype" of an outbound call
- %number will be replaced with the number being checked
The web page must return JSON containing a "hide" field with a value of 0 for don't hide or 1 for hide. The value returned will be stored in the "secret_numbers" table for future reference.
If the "Secret numbers source URL" global configuration is not set then customers should populate the "secret_numbers" table using some other method of their choice, otherwise the number will not be hidden.
The following global configuration items can be set:
- Secret numbers debug: Whether or not to log debugging information.
- Secret numbers delete after: Number of days to delete entries in the "secret_numbers" table after.
- Secret numbers digits to replace: The number of digits to replace on hidden numbers, applied from the end backwards.
- Secret numbers replacement character: The character to replace hidden numbers with.
- Secret numbers source URL: The URL to query for whether to hide a number or not.
Logging is written to the Enswitch trace file.