Call Masking
Reading Time: 5 minutes

Call masking enables a company to ensure the privacy of its business and its customers. Typically, call masking is achieved by hiding the real number using an MSISDN temporary phone number as an intermediary. Call masking can either be one-way or two-way. Anonymization is achieved by setting proxy phone numbers so that the calling parties do not know the number of each other's phone numbers. 

You can utilize call masking to improve communication between a company's customer service representatives and its customers, preventing unauthorized interactions while at the same time enhancing the customer experience. 

Call masking is possible using an API. In the current article, we will highlight a few main aspects of an efficient cloud-based call number masking solution and we will see how simple it is for a developer to create a call masking scenario using a modern API.

Does call masking apply to any particular industry?

Indicatively, yet not exclusively, call masking is suitable for debt agencies, classified services, taxi services, deliveries, job sites, online dating services, social networks, international businesses, travel businesses.

Can call masking be used for incoming and outgoing calls?

Yes, call masking can mask the phone numbers of both incoming and outgoing calls. Modern call masking providers offer tailor-made solutions as per a company’s preference and business needs.

When a number is masked, what appears instead of the actual number?

A temporary masked number is displayed in place of the actual contact number hiding the personal phone number of both parties.

What makes a Call Masking API efficient?

We highlight here a few main elements of a call masking API that are key to any successful deployment of a call masking service. Employs best practices that are industry-standard to create an experience for customers that users have become accustomed to.

  • Protects your customers' privacy while transmitting and receiving calls.
  • The API provider must ensure that voice and text communications are enabled on the same number.
  • Phone number efficiency. As a developer, you can reduce business costs and optimize resources by using the same phone number on all your business communications.
  • Tracks every call from your customers for the purpose of generating new marketing strategies. Analyze call duration, volume, and other valuable data. Ensures company interests are protected; prevent private communications and off-platform interaction to drive profits.

Examples of call masking scenarios that work

One-way call masking (number masking of the customer only):

1. A customer calls a company’s customer support
2. The customer’s number is temporarily matched to a Virtual Number that the company’s customer support representative sees
3. The customer support rep calls the Virtual Number (MSISDN) to contact the customer back
4. The customer receives a call from the company’s customer support rep
5. The support request is verified by both parties

Two-way call masking (number masking of both parties):

1. A customer asks for support through the company’s customer support platform
2. A company rep is selected to match the customer’s request and the customer’s number is temporarily matched to a Virtual Number that the company rep sees
3. The company’s rep calls the Virtual Number (MSISDN) provided
4. The customer receives a call from an unknown virtual number that the call masking provider offers and bears the company’s Caller ID
5. The support request is verified by both parties

call masking scenario

Here are 4 steps to help you set up your successful call masking scenario

In the scenario that follows we manage to connect Client A with Recipient B without publishing the caller information to each other.

Given the following scenario entities:

  • Customer (A) with number: +123456789
  • Company (B) with number: +987654321

We want to reach the following outcome:

1. Client A makes a call to Center X.
2. Center X receives the call from Client A and then connects Client A with Recipient B. As a result, Client A and Recipient B are able to communicate.
3. Client A and Recipient B do not share each other's caller information (call number).

Steps to implement the above scenario:

1. Log in to a credible call masking provider platform and buy a Virtual Number. In this case, we will assume the Virtual Number is: “+12015976882"

2. In the Virtual Number settings, set up the callbacks (A. Dialplan URL and B. Inbound Voice Callback URL) for that number.

Call masking services

In this example, the call masking provider uses the Dialplan URL to initiate a POST request to the company's server to provide inbound call details. The payload looks like this:

JSON
{
“messageId": “me66d22e-dc10-48de-b696-45f63c6d0aad",
“conversationTrackingId": “666e3777-f32a-4350-996b-364018d457b5",
“from": “+123456789",
“to": “+12015976882"
}

A valid Dialplan should be reported to the call masking provider by the company's server as an HTTP 200 status and returned by the company's server with headers: Content-Type: application/json. A valid Dialplan looks like this:

JSON
“dialPlan": {
“verbs": [
{
“type": “SAY",
“message": {
“language": “en-US",
“gender": “female",
“text": “Hello from AMD company"
}
},
{
“type": “DIAL",
“from": “+12015976882",
“callback": “:https://my-outbound-callback.com",
“to": {
“phone": “+987654321"
}
}

In the case of an Inbound Voice Callback URL, which contains information on the inbound call (e.g. call status, duration, etc. ), a payload will look like this:

JSON
{
“messageId": “wwq6d22e-kz10-4dde-jojo-aksjc6d0aad",
“to": “+12015976882",
“from": “+123456789",
“country": “US",
“price": 0.0015,
“originatingService": “Voice",
“conversationTrackingId": “666e3777-f32a-4350-996b-364018d457b5",
“status": {
“name": “Completed",
“reason": “",
“description": “",
“updatedDate": “2020-03-09T10:11:27.441Z"
},
“direction": “Inbound",
“respectQuietHours": false,
“duration": 20,
“createdAt": “2020-03-09T10:11:07.547Z",
“chargeInterval": 1
}

In the provided Dialplan, you can route/bridge the call to another recipient. For our scenario, we included a Dial verb inside the Dialplan that would route the call to recipient B with the number: +987654321. An Outbound callback will be sent to the provided Callback Url in the Dial verb. The Callback Url is an example of what you will get:

JSON
{
“messageId": “an1t22-3jo2-8dds-djll-and9d9dalkdj",
“conversationTrackingId": “666e3777-f32a-4350-996b-364018d457b5",
“to": “+987654321",
“from": “+12015976882",
“status": {
“name": “Completed",
“updatedDate": “2020-03-09T10:11:27.547Z"
},
“direction": “Outbound",
“originatingService": “Voice",
“respectQuietHours": false,
“duration": 30,
“price": 0.002
}

3. Configure the call tracking. You will receive a different tracking number for each of the two calls – an initial call to Client A (+123456789) and then a bridged call to Recipient B (+987654321). In addition, you will receive a tracking ID for each conversation.

4. Estimate the calls’ duration. In the Inbound Callback URL, you will receive the total duration of the Inbound call. The Inbound call is from Client A: +123456789 to Center X: +12015976882. In the Inbound call, the duration is 20 seconds. In the Outbound call, the duration is the length of the conversation between Client A: +123456789 and Recipient B: +987654321. The conversation call lasted 30 seconds.

Final Thoughts

You know that a call masking service is working as it should when it prevents any unauthorized interactions, delivers upgraded customer experiences, and facilitates safe and enhanced business communications. Choose a reliable call masking API provider such as Routee to ensure that your communications remain private.

Grow your business with Routee's Call Masking Services