Formatting data for blocking and identity information
Set up your PIR payload for call blocking and identity information.
Overview
With Live Caller ID Lookup, when a device receives an incoming call, the system reaches out to a third-party service to fetch private information retrieval (PIR) data from your server. You need to format that data so the system can make the following requests:
A blocking information request
An identity information request
For more information, see the Swift homomorphic encryption library.
Block a caller
The blocking information request is a single byte with two defined values:
- 0
This value means don’t block the caller.
- 1
This value means block the caller.
Identify caller information
The identity request displays caller information on the device. This information is a serialized protocol buffer message of type CallIdentity. The following example shows the response formatting for an identity request:
syntax = "proto3";
// The image format.
enum ImageFormat {
// The unspecified format.
IMAGE_FORMAT_UNSPECIFIED = 0;
// The High Efficiency Image File Format (HEIF/HEIC).
IMAGE_FORMAT_HEIC = 1;
}
// The identity category.
// The system might show identity information differently based on the category.
enum IdentityCategory {
IDENTITY_CATEGORY_UNSPECIFIED = 0;
IDENTITY_CATEGORY_PERSON = 1;
IDENTITY_CATEGORY_BUSINESS = 2;
}
// The icon.
message Icon {
// The image format for the icon.
ImageFormat format = 1;
// The encoded image in the specified format.
bytes image = 2;
}
// The caller identity.
message CallIdentity {
// The identity information.
string name = 1;
// The icon that displays the identity.
Icon icon = 2;
// The cache expiration in minutes.
// The system reuses this response for the specified minutes before requesting it again.
uint32 cache_expiry_minutes = 3;
// The identity category.
IdentityCategory category = 4;
}See Also
Live Caller ID Lookup
Understanding how Live Caller ID Lookup preserves privacySetting up the HTTP endpoints for Live Caller ID LookupGetting up-to-date calling and blocking information for your appLiveCallerIDLookupProtocolLiveCallerIDLookupExtensionConfigurationLiveCallerIDLookupExtensionContextCallLookupExtensionStatusLiveCallerIDLookupManager