AddTrunk) and applied automatically for calls on
that trunk.
STIR/SHAKEN
The gateway signs outbound calls with a PASSporT JWT (RFC 8224 / 8225) and attaches it as anIdentity header. A typical signed INVITE looks
like:
attest value is the trunk’s configured attestation
level:
| Attest | Meaning |
|---|---|
A | Full attestation — caller has a verified relationship with the calling number. |
B | Partial attestation — caller is known but the number isn’t directly verified. |
C | Gateway attestation — call is being routed but origin is unverified. |
AddTrunk extras (or, for tenants on
shared infrastructure, the gateway’s deployment config). The signing
certificate (x5u URL) is sourced from the gateway’s cert_path —
rotate it via ReloadCertificates.
Inbound SIP INVITEs are validated symmetrically: the Identity header
is checked against the published x5u cert, and the result surfaces in
the CallEvent.status string (STIR_VERIFIED, STIR_FAILED,
STIR_MISSING).
P-Asserted-Identity (PANI)
For carrier interconnects that prefer PANI over STIR, the gateway also emits an RFC 3325P-Asserted-Identity header carrying the verified caller-id:
Privacy: id; the gateway will switch
automatically if the SDK’s OriginateRequest flags the call as
caller-id-restricted.
PIDF-LO geolocation
For E911-style emergency routing, the gateway can attach a Presence Information Data Format — Location Object (RFC 4119, RFC 5491) as a SIP body part. Configure it on the trunk:multipart/mixed INVITE body:
Geolocation header points at the cid: of the PIDF-LO part,
plus Geolocation-Routing: yes for emergency-routing carriers.
Per-call overrides
The standardOriginateRequest does not carry any of these fields —
that’s deliberate, since regulated metadata shouldn’t be set ad-hoc by
SDK callers. If you need to override the trunk default for a single
call (e.g. a softphone roaming to a different civic address), use
ExecuteDialplan with action ANSWER and supply the override via
app_args as a JSON blob:
Disabling
For lab / development environments where regulatory headers cause noise in test SBCs, setregulatory.enabled: false in the gateway config.
Do not disable in production — most carriers will silently degrade
calls without a valid Identity header (lower attestation, displayed
as “Spam Likely” on receiving handsets).