Number masking or call masking allows businesses to facilitate communication while safeguarding their customer’s privacy. An intermediate virtual phone number is used to set up the call. The real phone number of the caller and recipient are kept hidden from each other.
A masking session is created by sending the real phone number of two parties who need to be connected. Plivo will return a virtual number from your account in response to the API request.
POST
https://api.plivo.com/v1/Account/{Auth ID}/Session
first_party(mandatory)char |
The real phone number of the first person in E.164 format. |
second_party(mandatory)char |
The real phone number of the second person in E.164 format. |
session_expiry(optional)int |
The time in seconds after which the mapping should be deleted automatically. Defaults to 1800 seconds Max: 86400 seconds Min: 60 seconds |
call_time_limit(optional)int |
The time in seconds after which the call should be disconnected. Defaults to 14,400 seconds (4 hours) Max: 86400 seconds Min: 60 seconds In case of the input being 1. Invalid - defaults to 14400 2. Below Min value - gets set to Min value 3. Above Max value - gets set to Max value |
record bool(optional) |
Possible values: true, false Defaults to "false" Behavior: 1. Recording starts only when both participants on the bridge have answered their calls. 2. There may be multiple calls that happen for a single session. This generates multiple recording files. |
record_file_format(optional)char |
Specifies the audio format for the recording. Allowed values: mp3, wav Defaults to mp3 |
recording_callback_url(optional) char |
The URL where the recording should be posted There may be multiple calls that happen for a single session. This generates multiple recording files and each of them is posted to this URL. The max URL length can be 1000. For longer URLs, an error is thrown. |
recording_callback_method(phase 2)char |
The HTTP verb that should be used to invoke the URL configured as recording_callback_url. Allowed values: GET, POST Defaults to POST |
api_id |
The unique identifier for the API request. |
session_uuid |
The unique identifier for the bridge. The bridge maps both the real phone numbers. |
virtual_number |
The Plivo phone number in E.164 format needs to be dialed to bridge Number 1 and Number 2. |
message |
The API response message |
1
1
1
1
1
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package main
import (
"fmt"
"net/http"
"time"
"github.com/plivo/plivo-go/v7"
)
func main() {
client, err := plivo.NewClient("<auth_id>", "<auth_token>", &plivo.ClientOptions{HttpClient: &http.Client{Timeout: time.Second * 10}})
if err != nil {
fmt.Print("Error", err.Error())
return
}
response, err := client.Calls.CreateMaskingSession(
plivo.CreateMaskingSessionParams{
FirstParty: "+912025550000",
SecondParty: "+912025551111"},
)
if err != nil {
fmt.Print("Error", err.Error())
return
}
fmt.Printf("Response: %#v\n", response)
}
// Setting timeout of 10 millisec
// {HttpClient: &http.Client{Timeout: time.Millisecond * 10}}
// Setting timeout of 10sec
// {HttpClient: &http.Client{Timeout: time.Second * 10}}
// Setting timeout of 10min
// {HttpClient: &http.Client{Timeout: time.Minute * 10}}