Konstas.Engineering Notes
Networking · Cybersecurity · Infrastructure
Telecom

STIR/SHAKEN: FCC-Mandated Call Authentication for VoIP Carriers

Articles · 2026 · Ioannis (John) Konstas

← All Articles

How STIR/SHAKEN works, attestation levels A/B/C, PASSporT token structure, STI-CA certificate requirements, and Asterisk implementation.

What Is STIR/SHAKEN

The FCC-mandated framework that digitally signs outbound calls to prevent caller ID spoofing.

STIR/SHAKEN is the call authentication framework all US carriers and CLECs must implement. It digitally signs outbound calls so that receiving carriers can verify the caller ID has not been spoofed — addressing the robocall and caller ID fraud epidemic that has eroded trust in the telephone network.

Mandatory for all CLECs since September 2025. Carriers without STIR/SHAKEN are required by FCC rules to have their calls blocked by terminating carriers.

How It Works

Originating Carrier                    Receiving Carrier
        │                                    │
        │ 1. Sign the call                   │
        │    Create PASSporT JWT token        │
        │                                    │
        │──── SIP INVITE with Identity: ───►│
        │      header (JWT token)            │ 2. Verify signature
        │                                    │    against originator's cert
        │                                    │    (fetched from STI-CA)
        │                                    │
        │                                    │ 3. Display verification
        │                                    │    result to called party
        │                                    │    (checkmark or "Spam?")

The PASSporT (Personal Assertion Token) is a JSON Web Token (JWT) signed with the carrier's STIR/SHAKEN private key. It contains: originating number, destination number, attestation level, originating carrier ID, and a timestamp. The receiving carrier fetches the public certificate from the STI-CA to verify the signature.

Attestation Levels

Carriers must set the attestation level honestly — it indicates how much the carrier knows about the call's origin.

LevelNameMeaningWhen to Use
AFull AttestationThe carrier knows the customer and the number is legitimately assigned to themRetail customers using their assigned DID numbers
BPartial AttestationThe carrier knows the customer but cannot fully verify the number they are presentingBusiness customers using their own numbers ported in
CGateway AttestationThe carrier received the call from another carrier and cannot vouch for the originTransit / wholesale calls, international gateway

Over-claiming attestation (using A when B or C is correct) is an FCC violation. Under-claiming (using C for all calls) degrades call scoring and may trigger blocking. Set the level accurately.

Implementation in Asterisk

Asterisk 16.15+ includes native STIR/SHAKEN via the res_stir_shaken module.

; /etc/asterisk/stir_shaken.conf

[attestation]
global_disable = no

[certificate]
type = certificate
path = /etc/asterisk/stir_shaken/cert.pem
private_key = /etc/asterisk/stir_shaken/key.pem
attestation = A          ; A, B, or C
origid = your-carrier-id ; Your unique carrier identifier

[verification]
type = verification
failure_action = continue  ; continue | reject | ignore
; Use "continue" during rollout; "reject" once fully deployed

Asterisk adds the Identity: SIP header automatically to all outbound INVITEs when STIR/SHAKEN is configured. The PASSporT token is generated using the private key and embedded as a Base64-encoded JWT.

Certificate Requirements

Obtaining a STIR/SHAKEN Certificate

You must obtain a certificate from an FCC-approved STI-CA (Secure Telephone Identity Certification Authority). Approved STI-CAs include TransNexus, Sansay, Comcast, and iconectiv.

The certificate contains your public key and carrier identity. It is published at a public URL so receiving carriers can fetch it during call verification. Your private key never leaves your server.

Robocall Mitigation Database (RMD)

All carriers must file a Robocall Mitigation Plan with the FCC's RMD at fcc.gov/robocall-mitigation-database. This is a prerequisite for STIR/SHAKEN certificate issuance and for interconnecting with other carriers.

Without an active RMD filing, other US carriers are required by FCC rules to block all calls from your network. This must be completed before any commercial interconnection, not after.

What the Mitigation Plan Must Include

STIR/SHAKEN vs. Caller ID Spoofing

Without STIR/SHAKENWith STIR/SHAKEN
Any carrier can claim any caller IDCaller ID is cryptographically signed
No way for receiving party to verify originReceiving carrier verifies signature against STI-CA
Robocallers easily spoof legitimate numbersSpoofed calls fail verification — marked or blocked
Consumers ignore unknown callsVerified calls display checkmark on modern phones

← All articles

Research and direction by Ioannis (John) Konstas; compiled and finalized with AI assistance.

👁· views