Robocall Mitigation
Robocall mitigation is the layered apparatus that carriers, federal regulators, and third-party analytics providers use to block, label, or downrank unwanted calls. Calls flagged as "Spam Likely" see answer rates drop 50-80%. Application developers operate inside this system and must build for it.
The layered ecosystem
Originating carrier (signs with STIR/SHAKEN)
↓
Intermediate carriers (pass through, may add tags)
↓
Analytics providers (Hiya, First Orion, TNS, YouMail)
↓
Terminating carrier (applies tags, may block outright)
↓
Recipient's phone (displays tag, allows answer)
Each layer makes independent decisions. A call rated "trusted" by your originating carrier can still be flagged "Spam Likely" by the terminating carrier based on independent reputation data.
The TRACED Act and the FCC RMP
The Pallone-Thune TRACED Act of 2019 requires:
- All US carriers implement STIR/SHAKEN on IP-based networks by 2021-06-30 (see STIR/SHAKEN)
- Carriers without full STIR/SHAKEN deployment must file a Robocall Mitigation Plan (RMP) in the FCC database
- Terminating carriers must verify or block calls from carriers not registered in the RMP database
- FCC empowered to fine non-compliant carriers up to $10,000 per violation and revoke STI-CA certificates
For voice service providers, RMP registration is mandatory. For application platforms (SignalWire, Twilio), the originating carrier (the platform) handles compliance.
The four analytics tag providers
Most carriers contract with one of these for reputation scoring:
| Provider | Carrier customers | Branded tag | |---|---|---| | Hiya | Samsung, AT&T (partial), T-Mobile (partial) | "Spam Risk" / "Scam Risk" | | First Orion | T-Mobile (Scam Shield), some MVNOs | "Scam Likely" | | TNS (Transaction Network Services) | Verizon (Call Filter), AT&T (Call Protect) | "Telemarketer" / "Spam Risk" | | YouMail | Free consumer app, also carrier-licensed | "Robocaller" / "Scam Caller" |
A call gets a "Spam Likely" tag when:
- Recent call volume from the number is high
- Average call duration is very short (typical for unanswered robocalls)
- Recipients have manually marked it as spam
- The number's reputation across analytics databases is negative
- STIR/SHAKEN attestation is missing or low
Per-carrier mitigation programs
T-Mobile Scam Shield
- Tags suspected spam as "Scam Likely"
- Blocks high-confidence scam calls outright (caller hears busy signal)
- Free for all T-Mobile subscribers, premium tier ($4/mo) adds caller ID and reverse lookup
- Aggressive — false positive rate ~15-25% on legitimate business calls
AT&T Call Protect
- Tags as "Spam Risk" or "Telemarketer"
- Blocks confirmed fraud automatically
- Free baseline, premium tier adds enhanced caller ID
Verizon Call Filter
- Free baseline + premium tier
- Tags as "Potential Spam" or "Spam Likelihood: High/Medium/Low"
- Custom block lists per user
Comcast Xfinity Mobile
- Uses Verizon's Call Filter (MVNO)
What gets a number tagged
Empirically, in the first 30 days after a number is provisioned, reputation forms based on:
| Signal | Impact | |---|---| | Volume of outbound dials | High volume + low answer rate = bad reputation | | Average call duration | Very short (< 10 sec) = likely robocall | | Diversity of destinations | Calling many unrelated numbers in a small window = bad | | Manual user spam reports | Single biggest negative signal | | STIR/SHAKEN attestation level | Attestation A protects, C hurts | | Caller ID consistency | Changing caller ID mid-campaign = bad | | Geographic mismatch | LA number calling Phoenix mostly = neutral, calling random country codes = bad | | Time-of-day pattern | Calling 2 AM local time = bad |
Application-developer playbook
What you can do as someone running SignalWire or other voice platforms:
1. Set up brand reputation early
Register your numbers in the analytics provider databases:
- Hiya Connect — submit your business profile, get caller ID branding shown
- First Orion ENGAGE — similar branded caller ID program
- TNS Origin Identification — branded business calling
Branded caller ID shows your business name + logo on the recipient's phone, bypassing "Unknown Caller" and "Spam Likely" tags.
2. Match caller ID to actual number ownership
If your caller ID is +13105551234, your outbound traffic should originate from a network that legitimately owns that number. STIR/SHAKEN Attestation A requires this.
3. Pace outbound dialing
Most carriers' reputation engines flag:
-
100 dials per minute from one number
-
1000 unique destinations per hour from one number
-
5000 short-duration (< 10 sec) outbound calls per day from one number
Pace below these thresholds. Spread campaigns across many numbers with similar profiles.
4. Improve answer rates
A number's reputation improves when calls get answered and conversations happen. Low answer rates ("ghost callers") drive reputation down.
Tactics:
- Match area code to caller's region ("snowshoeing" is bad — see below)
- Use voicemail drop appropriately when answered by machine (so the call counts as "attempted" not "abandoned")
- Provide opt-in proof to carrier dispute resolution teams to fight false positives
5. Snowshoeing is bad
Snowshoeing means using many different numbers to spread call volume evenly so no single number trips reputation thresholds. Carriers detect this via:
- Many numbers calling from the same SBC (Session Border Controller)
- Similar dial patterns
- Same content (when sampled by analytics)
When detected, the whole number range gets flagged together. Don't snowshoe. Build reputation per number organically.
6. Submit dispute requests
If your legitimate business number gets tagged "Spam Likely":
| Carrier | Dispute path | |---|---| | AT&T (TNS) | https://www.callprotect.tns.com/ | | Verizon (TNS) | Same TNS portal | | T-Mobile (First Orion) | https://callscoreinfo.com/ | | Hiya | https://www.hiya.com/business | | YouMail | https://directory.youmail.com/ |
Submit business documentation. Resolution: 5-30 business days. Re-tagging is possible if behavior continues to look spammy.
7. Number rotation strategy
Rotate numbers every 30-90 days for outbound campaigns. Reputation deteriorates gradually with sustained outbound; fresh numbers start clean. Don't rotate so fast that you can't build branded caller ID.
8. Avoid TCPA-flagged content
Carrier analytics inspect the audio of recorded sample calls. "Free trial," "you've been selected," "limited time offer" trigger ML models that flag the number.
SignalWire-specific guidance
Number reputation visibility
SignalWire doesn't expose analytics-provider scores directly. Check externally via:
- https://www.nomorobo.com/lookup — free
- https://www.tellows.com/ — community-rated
- https://www.hiya.com/business — paid
If a number is consistently labeled "Spam Likely" across multiple lookups, retire it.
STIR/SHAKEN with SignalWire
SignalWire automatically signs outbound calls with Attestation A when the number is owned by the project. For BYOC scenarios, attestation may drop. See STIR/SHAKEN.
Caller ID branding
SignalWire integrates with Hiya, First Orion, and TNS for branded caller ID. Setup is via SignalWire support — submit your brand info and they provision via the analytics provider.
Common failure modes
| Symptom | Cause | Fix | |---|---|---| | New number gets "Spam Likely" within days | Snowshoeing detected, or content flagged | Pace dialing, vary content, register with analytics providers | | Branded caller ID not showing despite registration | Analytics provider hasn't propagated yet (24-72 hours) | Wait, re-confirm in lookups | | T-Mobile blocks outright but other carriers don't | T-Mobile Scam Shield is most aggressive | Submit dispute, reduce volume, vary content | | Answer rate dropped 40% overnight | Number got flagged | Lookup reputation, dispute if false positive, rotate to clean number if not | | Calls "completed" but actually ringing-then-blocked | Carrier blocked at terminating switch | CDR will show short duration; cross-check with carrier |
When to retire a number
Retire when:
- Reputation lookup shows persistent spam tagging
- Answer rate < 30% for 2+ weeks after operational changes
- Recipient feedback shows the number is being filtered
Retire by stopping outbound and either reassigning to inbound-only use or releasing back to the carrier pool (after 30 days, the next subscriber inherits a fresh reputation).
Toll-free and short codes are safer
Toll-free numbers (after TFV) and short codes have much stronger reputation footing because:
- They're explicitly registered business numbers
- Carriers know they're A2P channels and apply different filtering rules
- Recipients trust them more
For high-volume outbound that survives carrier filtering, toll-free or short code is often the right answer. See toll-free vs short code.
Related patterns
- STIR/SHAKEN — caller ID attestation framework
- Voicemail drop — pace outbound to avoid reputation hits
- Call quality metrics — diagnose if "calls are completing" but actually being blocked
- Toll-free vs short code — alternatives for high-volume outbound
References
- TRACED Act of 2019 — Pub. L. 116-105
- 47 CFR §64.6300-§64.6308 — STIR/SHAKEN and RMP implementing rules
- FCC Robocall Mitigation Database — https://fccprod.servicenowservices.com/rmd
- Hiya Connect, First Orion ENGAGE, TNS Origin ID — vendor documentation
- Industry Traceback Group — voluntary investigation framework