Shipped surface

What Open Voice Shield actually does

Open Voice Shield takes your SIP traffic as an ordinary hop, relays and records the media, and routes the call on to your own destination. After hangup it transcribes and scores the conversation, producing a fraud verdict with its evidence. Everything on this page is in production today, with one exception: Voice AI forwarding is labelled beta wherever it appears.

The groups below follow the order a call meets them. Integration detail is on how it works; the controls behind it are on security.

Group 1 — the call path

SIP pass-through, IP authentication and routing

OVS is a SIP proxy with a media server anchoring the media, so it is in the media path. That is how the call gets recorded. It is not a B2BUA: the dialog is proxied, record-routed and relayed on.

IP whitelist authentication

Every INVITE is authorized by source IP against a per-tenant CIDR allow-list. No digest auth, no registration: REGISTER is answered 403. An unlisted source, a suspended account, an exhausted balance and a port limit each get their own SIP response code.

Prefix routing and tech prefix

Routing rules match a leading prefix of the dialed number, longest match first, priority as tie-break. Each rule points at one of your destinations, which may carry a tech_prefix prepended to the Request-URI user before relay. With no rule: the whitelisted IP's destination, then the account default, then the source IP.

Custom SIP header capture

Named headers on the initial INVITE are captured onto the call. X-Customer-ID and X-Customer-Name ship configured, in indexed CDR columns you can filter by. Other configured headers go to a JSON map on the call, the webhook payload and the alert e-mail.

Credit cut-off by dialog timeout

The authorization response carries a max_call_seconds computed from the prepaid balance. The proxy enforces it from the 200 OK and BYEs both sides on expiry, so a call cannot outrun the money that pays for it. Re-INVITEs cannot extend it.

Live call monitoring

Every ringing and answered call, live: ANI, dialed number, customer reference, routing, elapsed time, remaining credit. A port-bank faceplate shows one LED per licensed port. Administrators see all tenants, with a per-customer summary.

Voice AI forwarding beta

A destination can be a voice AI agent reached as a SIP endpoint over TLS, so a screened call goes to an agent instead of a human queue. Beta: exercised only against a test agent, no certificate verification on the TLS client profile, and one shared digest credential rather than one per destination.

Group 2 — the verdict

Recording, transcription and fraud analysis

Analysis begins after the BYE, never during the call. Nothing is injected into the live audio: no prompt, no tone, no added delay.

The per-call pipeline, in the order it runs.
Stage What happens Result on the call
Capture The media server writes one pcap per media stream while it relays the RTP. pcap on the media node
Decode The pcap is parsed, RTP grouped by SSRC, G.711 PCMU/PCMA decoded to PCM, gaps filled from RTP timestamps. stereo 8 kHz WAV
Transcribe Each channel is transcribed separately, then merged by start time, so every line is attributed to caller or callee. speaker-labelled transcript
Analyze The analysis engine reads the transcript and call metadata, returning a strict JSON verdict. analysis record
Notify Matching alert rules e-mail the analysis. A configured webhook is POSTed, HMAC-signed. alert + webhook delivery

What the verdict contains

Recommendation
block review allow — the single field an automation rule or a human triages on.
Probability
An integer 0–100: how strongly the call reads as fraudulent.
Category
One of a fixed, groupable set: credit card scam, tech support scam, government impersonation, bank impersonation, debt collection, prize or lottery scam, utility scam, compliant telemarketing, non-compliant telemarketing, robocall, legitimate business, personal, unknown.
Entity and caller identity
The organization the caller claimed to represent, and the identity they gave.
Red flags
A numbered list you can read against the transcript: urgency, fear tactics, PII harvesting, no opt-out, no identification, pressure for verbal authorization.
TCPA comment
A plain-language note on telemarketing-compliance risk for that call. It is a reading of the conversation, not a legal determination.
Title, summary, keywords and language
A one-line headline, a short summary, extracted keywords and the detected language.

Two honest limits

Calls shorter than the configured minimum are marked skipped, not analyzed. Codecs other than G.711 — G.722, Opus, dynamic payload types — are not decoded today. Such a call is relayed and billed normally, but records unsupported_codec instead of a transcript.

Each call records whether its speech-to-text and analysis stages ran on the server or against a cloud API. We publish no accuracy figure: none has been measured against a labelled corpus. What has been measured is on the benchmark page.

Group 3 — the response

Acting on a verdict

The enforcement surface is the next call from that number, not the current one. The analysis exists only after the call has ended.

Automation rules on the ANI

A rule reads like a sentence: when probability is at or above a threshold and the recommendation is one you chose, block that calling number or divert it, for a window you set or permanently. The control applies at authorization, before routing, so a blocked ANI gets SIP 403 and shows in the CDR as blocked_by_rule. A controlled-numbers table lists every active control with its reason and expiry; one action releases it.

E-mail alert rules

Rules match on minimum probability, category and recommendation, deliver to up to ten addresses, throttle repeats and can attach the transcript. Every account is seeded with one enabled rule — probability 90 or above with a block recommendation — so the first dangerous call reaches you with nothing configured. Every attempt is recorded as sent, failed or skipped.

Fraud cases

Open a case from the call detail, title pre-filled from the analysis. Set severity, assign it to a user on your account, and work it through open, in review, resolved or dismissed with a comment thread. Creation, assignment and comments e-mail the people involved.

Webhooks

A completed analysis is POSTed to your endpoint, signed HMAC-SHA256 in X-OVS-Signature, with an X-OVS-Delivery id for idempotency. The payload carries call metadata, captured headers and the analysis, so you can drive your own switch from it.

Group 4 — the evidence

What you can hand to someone else

A fraud verdict is only useful if you can prove it. Every call keeps its raw material; three routes get it out.

Evidence artefacts per call and how each leaves the platform.
Artefact Contents How you get it
Recording Stereo WAV, caller on one channel and callee on the other Player in the call detail, or streamed download
SIP ladder The traced SIP messages of that call, timestamped with direction Diagnostics card, plus a .txt download
Media pcap The media capture(s), zipped when the call had several legs GET /calls/<id>/pcap
Analyst bundle Self-contained HTML report, JSON, transcript, WAV, SIP log and pcaps One .zip from the call's action menu
Shared link Read-only verdict, red flags, transcript and audio — nothing else A URL and a generated password

The offline analyst bundle

One action produces a single .zip that opens days later with no account, no network and no tooling. The report inside is self-contained — inline CSS, no scripts, no web fonts, no remote images — and prints cleanly. Anything retention has already deleted is listed as a noted omission, not silently missing.

Share one call with a client, a carrier or an investigator without giving them an account. The platform generates the password — twelve characters, grouped for reading aloud, no ambiguous glyphs — and shows it once. A link expires in 24 hours, 7 days, 30 days or never, can be revoked or rotated, and records how often it was opened. The shared page omits routing internals, the SIP log and the pcap.

Group 5 — the account

Users, credentials and data control

Multiple users

Up to ten users on an account, as owners or members. Owners invite, deactivate and reactivate. An invited user gets a temporary password by e-mail and must change it at first sign-in. The audit log records the acting user, not just the account.

Passkeys

WebAuthn passkeys as an optional second factor. Register one or more, name them, see when each was last used, remove them. Removing the last turns two-factor off.

API keys and the REST API

Every screen in the portal is a documented REST endpoint. Keys are bound to the user who minted them, revocable, and dead the moment that user is deactivated. The API reference is on this same origin.

Storage offload

Recordings and captures stay on the operator's disk, or move to an operator-controlled S3 bucket after a configurable number of hours. Playback, download and export work the same either way.

Retention

Independent retention windows for recordings, pcaps and SIP logs; zero means keep them. Expiry deletes the object, local or in the bucket. The call record keeps its metadata.

Backups and restore

A scheduled gzipped database dump, written to a bucket or local disk at a time you set, keeping the last N. Backups list size and date, can be taken on demand, downloaded, and restored behind a typed confirmation.

Group 6 — the money

Billing, plans and pilots

Billing is prepaid. A call is charged for its minutes, and its first analysis is charged a flat per-call fee. A re-analysis is never charged.

Billing mechanics. Live rates and bundle sizes are on pricing, read from the plans API.
MechanicBehaviour
Usage Per-minute rate with a plan-specific minimum billable duration, then per second.
Analysis fee A flat charge when a call's first analysis completes; re-runs are free.
Bundles A monthly plan with included minutes and concurrent ports. Overage at the plan rate.
Balance gate An empty balance refuses the next call at authorization with SIP 402, and caps the current one.
Pilot A time-boxed, optionally minute-capped free period. Ledger lines show $0.00 with the waived amount beside them. Billing resumes when it ends, never retroactively.
Ledger Every charge, fee, top-up and adjustment is a line you can read and export.

On the operator side, each call carries its own commercial line, with running totals for whatever filter the CDR is showing.

See it on your own traffic

Whitelist your SIP server's IP, point a trunk at the ingress, place one call. The verdict is in the console when the call ends.