Spam and robocalls have become an increasingly significant problem in the US, leading to consumers losing trust in businesses. STIR/SHAKEN is a set of protocols designed for businesses to gain back this trust by authenticating the businesses making calls and the caller ID used in them.
STIR/SHAKEN stands for the Secure Telephone Identity Revisited (STIR) and Signature-based Handling of Asserted Information Using toKENs (SHAKEN). Under STIR/SHAKEN, every voice call in the US is assigned an attestation — a stamp of legitimacy provided by the originating service provider, authenticating that the call originated from its network. Calls are then passed to the terminating service provider for verification. There are three levels of call attestations:
For both outbound and inbound Voice API calls, Plivo will display the verification status of a call as a parameter called STIR Verification, which can have one of three values:
The STIR Verification parameter will be added to:
Plivo will sign outbound calls as Verified (attestation A) for calls that use a Plivo DID as caller ID. The DID used should be rented by the same Plivo account that originates the outbound calls. All other outbound calls, assuming they are signed at all, are signed Not Verified (attestation B or C).
As the regulatory ecosystem evolves, some of the rules governing the attestation level of an outbound call might be subject to change. For now, Plivo will be signing all outbound calls to the USA unless a customer violates the rules:
In these scenarios, Plivo may stop signing all calls initiated by the customer. That could lead to lower answer rates, because calls won’t be marked as Verified. Worst case, they could be marked as spam by receiving networks.
In the SIP response, Plivo will send in a new header called X-Plivo-Stir-Verification whose value is one of the aforementioned three states. You can also see STIR verification values on the Voice > Logs page of the console as part of CDR.
Plivo will validate attestation of calls to Plivo DIDs and toll-free numbers in the US. The validated STIR/SHAKEN verification level will be passed as part of webhook requests to various URLs — answer_url, fallback_url, and hangup_url. Verification levels will also be visible on the Plivo console and in call detail records.
As mentioned earlier, In the SIP response, Plivo will send in a new header called X-Plivo-Stir-Verification whose value is one of the aforementioned three states. You can also see STIR verification values on the Voice > Logs page of the console as part of CDR.