compliance · operator playbook
A2P 10DLC Survival Guide for Voice Agencies: Carrier Filtering Is Now Real-Time (2026)
On February 1, 2025, US carriers flipped a switch. Every SMS sent from an unregistered ten-digit long code number stopped arriving. Not throttled. Not surcharged. Blocked. T-Mobile, AT&T, and Verizon moved A2P 10DLC enforcement from soft filtering to a hard 100% block at the carrier edge, per the Twilio February 2025 changelog. Through 2026 the policy has only tightened. In January 2026 T-Mobile raised its pass-through fees again, and Twilio's January 2026 fee bulletin passed the increase through to every customer. For AI voice agencies the news is uncomfortably direct. Every appointment confirmation, missed-call recap, two-factor code, opt-out acknowledgement, and drip text your voice agent triggers now runs through a registered Brand and a registered Campaign, or it never reaches the phone. This post is the operator survival guide. Cost grid for 2026. Error-code dictionary. Trust-score math. The use cases that get rejected and why. The two-week registration timeline that the agency owner has to plan around when launching a new client.
The shorter way to say it. SMS is no longer the free side channel attached to your voice agent. It is a fully verified route, gated by carrier-enforced registration, billed with per-message surcharges that move every January, and instrumented with new granular error codes that landed in March 2026. Treat the SMS surface the same way you treat the voice surface. Registered. Logged. Audited. Or accept that your confirmation texts will silently die at the carrier edge and your clients will quietly cancel.
By builders, for builders. I am not a lawyer and this is not legal advice. I run an AI voice infrastructure platform and this is the operator posture we run on Hermes itself, verified against the public guidance from Twilio's A2P 10DLC compliance documentation, the GoHighLevel campaign-rejection guides linked below, and the operator commentary in the AAA Skool community.
What exactly is A2P 10DLC and why does it apply to voice agencies?
A2P 10DLC stands for application-to-person on ten-digit long codes. It is the framework the US carriers built so that every business sending SMS from a normal local phone number has to identify itself, declare its use case, and accept carrier-controlled throughput and content policies. Two registrations matter. The Brand is your legal entity, the EIN, the registered address, the corporate website. The Campaign is the specific use case under that Brand: appointment confirmations, two-factor authentication, customer care, marketing promotions. Each Campaign carries its own carrier fees, monthly subscription, and message throughput allowance.
The reason this applies to AI voice agencies is the messaging surface that every modern voice agent triggers. The agent confirms an appointment, the platform sends a text. The agent misses the consumer, the platform sends a callback link. The agent collects a phone number, the platform sends an opt-in confirmation. Every one of those texts is application-to-person SMS from a ten-digit long code. Every one of them is gated by the registration regime. The voice agency that thinks of itself as a "voice-only" business until the day a client asks for SMS reminders learns very quickly that the SMS side has its own multi-week registration timeline and its own fee structure. The GoHighLevel registration guide gives the same baseline for any agency operating inside the GHL ecosystem.
When did real-time carrier blocking actually start?
February 1, 2025. All major US carriers moved from throttling to full blocking on unregistered traffic on that date, and the policy has held through 2026, per the Apten 2026 A2P 10DLC compliance overview. Before that date the carriers throttled unregistered messages and added surcharges. After the cutover the carriers reject the message before it leaves the gateway. Twilio surfaces this as error code 30034, the unregistered message rejection, which any voice agency operator can verify in the message-log table of their platform within minutes of provisioning a new number and trying to send.
The operational reality on the agency floor is that two kinds of mistakes show up. The first is the agency that provisioned numbers in late 2024 under the throttled regime, never finished Brand registration, and watched delivery rates collapse on the morning of February 1, 2025. The second, more common in 2026, is the agency that onboards a new client, provisions a new pool of local numbers, and discovers two weeks later that no confirmation text from the new agent has ever delivered, because the agency assumed the platform handled registration automatically. Neither pattern is recoverable by retrying. The only path through is a registered Brand and a registered Campaign that covers the use case the text actually falls under.
"High opt-out rates, spam complaints, or unusual traffic patterns trigger carrier filtering, even for registered campaigns. The blocking enforcement is no longer probabilistic. It is rule-based and real time, and the first signal an operator sees is delivery rates falling off a cliff." [Apten, 2026 A2P 10DLC Compliance Overview]
What are the actual 2026 fees and penalties?
Three buckets. Registration. Monthly. Per-message. Plus the non-compliance fine schedule that T-Mobile publishes separately. The first bucket is the easy one. Brand registration on Twilio is $4.50 one-time for Sole Proprietor or Low Volume Standard, $46 to $48 for Standard Brand with secondary vetting, per the official Twilio A2P 10DLC fee schedule. Each Campaign adds a $15 vetting fee at registration and a $1.50 to $10 per month subscription depending on use case. So a Standard Brand with two Campaigns lands around $76 to $96 one-time plus $3 to $20 per month before the first message ever sends.
The second bucket is the per-message carrier surcharges. Each of the three major carriers passes through a per-segment fee on every outbound SMS or MMS. The current range across T-Mobile, AT&T, and Verizon sits at $0.003 to $0.005 per SMS segment. T-Mobile raised its pass-through fees again in January 2026, per the Tuco AI 2026 A2P 10DLC cost analysis, which is why the 10,000-message-per-month business now pays roughly $30 to $50 per month in carrier surcharges alone, on top of the platform's per-message cost.
The third bucket is the fine schedule, which the agency owner needs to understand even if they never trigger it, because the schedule reflects what the carriers are actually pricing into the enforcement. T-Mobile publishes a tiered penalty grid, summarized in the BCM One 10DLC non-compliance fine reference. The numbers: $10,000 per instance for text enablement before program approval, $10 per message for grey-route traffic (sending A2P over P2P routes), $1,000 per program for snowshoeing, dynamic routing, or unauthorized number swapping. Content violations carry a separate tier. Tier 1 violations (phishing, smishing, social engineering) are $2,000 per instance. Tier 2 (illegal content) is $1,000. Tier 3 (SHAFT and other policy violations) is $500. The fines are pass-through, meaning the platform passes them to the operator on the next invoice.
How does the TCR trust score actually work?
When the Brand registration completes, The Campaign Registry assigns the Brand a Trust Score between 0 and 100. The score does not affect whether the messages deliver. It affects how many messages can deliver per minute. A Brand above 75 unlocks premium throughput up to 4,500 messages per minute per Campaign, per the Telnyx trust-score reference. A Brand between 50 and 75 gets standard throughput and has access to most use cases. A Brand below 50 falls into restricted throughput, and certain marketing use cases get auto-rejected.
The five weighting factors the TCR uses, in the 2026 calibration: business verification at 30% (EIN, registered address, corporate identity match), brand reputation at 25% (existing TCR history, prior violations), messaging history at 20% (volume, opt-out rate, complaint rate), use case alignment at 15% (does the Campaign match the business profile), and documentation quality at 10% (consent flow screenshots, opt-in language, sample messages). The voice agency owner can move the score by fixing the documentation side, where most low scores actually come from. Appeals are free within 45 days, $40 after, and a second-vetting fee buys a re-evaluation.
"Scores above 75 enable automated approval with premium throughput up to 4,500 messages per minute per campaign. For high-volume agency traffic, the difference between a 72 and an 80 is the difference between a queued appointment-confirmation burst and a delivered one." [Telnyx, 10DLC Trust Score and Throughput Reference]
What error codes does a voice agency actually see when 10DLC is misconfigured?
Four codes carry 90% of the operator pain. Memorize them. They are the cheapest diagnostic you have.
| Code | What it means | Root cause | Operator fix |
|---|---|---|---|
| 30034 | Message from unregistered number | Brand or Campaign never registered for this sending number | Complete Brand + Campaign registration, then re-provision |
| 30007 | Carrier filtered | Content mismatch with declared Campaign use case, or high complaint rate | Rewrite content to match Campaign, add STOP language, lower send velocity |
| 30008 | Message expired | Queue backed up behind low trust score throughput | Raise trust score, split Campaigns by use case, reduce per-minute burst |
| 30032 | Toll-Free number not verified | TFN used before Toll-Free verification finished | File TFN verification with the hosting carrier, wait for approval |
Any voice platform that exposes these error codes in the message log gives the operator a chance to debug. Any platform that hides the codes under a generic "failed" label gives the operator nothing but a churn-flavored client call. The GoHighLevel LC Phone System error dictionary is the reference I send operators when they ask which codes their platform should surface.
What use cases get rejected during Campaign registration?
The 2026 rejection patterns, distilled from operator reports and the GoHighLevel rejection-reasons portal: EIN and registered-address mismatch with the corporate website, use of a PO Box for the Brand address, use case that does not match the actual content in the sample messages, forbidden content categories (cannabis, gambling outside specifically licensed jurisdictions, hate speech), missing consent disclosure language in the opt-in flow, and the catch-all rejection for "low quality" submissions where the consent screenshot does not clearly show the opt-in box and the seller name. Starting March 23, 2026, GoHighLevel rolled out granular error codes that split the old catch-all 30883 across the SHAFT categories, giving operators a precise rejection reason per violation, per the HighLevel campaign rejection reasons guide.
For voice agencies the safe Campaign mapping is usually two registered Campaigns per client: one for "transactional / customer care" (appointment confirmation, missed-call follow-up, two-factor) and one for "marketing / promotional" (drip nurture, re-engagement, promotion announcements). Splitting the Campaigns by use case raises the per-month subscription cost slightly but keeps the carrier filtering predictable, because the transactional Campaign carries different throughput rules than the marketing Campaign.
How does the FCC one-to-one consent rule fit into 10DLC compliance?
Two separate compliance stacks. A2P 10DLC governs whether the carrier delivers the message. The TCPA governs whether the sender is allowed to dial or text the consumer in the first place. The FCC's one-to-one consent rule, which would have required a separate opt-in per seller, was vacated by the Eleventh Circuit on January 24, 2025, the day before it was scheduled to take effect. The FCC formally eliminated the rule later in 2025.
As of 2026, the operating consent floor is the long-standing TCPA prior-express-written-consent framework: a clear, conspicuous opt-in that names the seller and discloses that automated calls and texts may be sent. A single consent can cover multiple sellers if the disclosure is honest. The carriers, however, still treat the consent record as the precondition for Campaign approval. The Campaign Registry vetting will reject the registration if the opt-in language is too vague or hidden, even though no FCC rule any longer requires the one-to-one structure. The deeper TCPA picture (Lowrey v. OpenAI, state laws, AI disclosure requirements) is covered in detail in the TCPA after Lowrey v. OpenAI post.
What does the 2026 A2P 10DLC platform comparison look like?
For agency owners selecting a voice platform, the messaging-compliance posture is now a material differentiator. Below is the operator grid the migration team uses on Hermes onboarding calls.
| Requirement | Raw Twilio | GHL Pro | Voicerr / wrappers | Hermes |
|---|---|---|---|---|
| Brand registration intake | Manual | Guided form | Varies | Guided + status tracking |
| Campaign use-case templates | No | Yes | Limited | Voice-agency presets |
| Trust score surfacing | Console only | Hidden | Hidden | Dashboard visible |
| Error code visibility | Yes | Partial | Hidden | Surfaced per message |
| Per-message carrier surcharge transparency | Itemized | Bundled | Bundled markup | Itemized, passthrough |
| Consent log exportable for TCPA discovery | Manual | Partial | No | One-click |
The pricing-and-margin breakdown for the full stack comparison lives at the Hermes vs the Vapi + GHL stack page. The cost-transparency case for itemized carrier surcharges versus bundled markup runs through the five-invoice problem post. The white-label dimension, which interlocks with consent-record ownership when a client asks who is registered under whose Brand, sits at the white-label audit checklist.
What concrete steps should an agency take this week?
The seven-step survival list, ordered by urgency for the voice agency that is operating in 2026 and either has never finished A2P 10DLC or has a Campaign that is filtering at unexpected rates.
Step 1. Pull every sending number across every client and run a message-log report filtered for 30034 errors in the last 30 days. Any non-zero count means there is an unregistered Campaign somewhere in the stack. Document the gap.
Step 2. Verify that the Brand registration is under the legal entity that actually owns the phone numbers. EIN mismatch is the most common rejection reason in 2026 and the easiest to fix before submission.
Step 3. Split Campaigns by use case. One transactional Campaign covering appointment confirmations, missed-call follow-up, and two-factor. One marketing Campaign covering drip and promotional. Do not combine. The throughput rules and the content-filter thresholds are different per use case.
Step 4. Document the consent flow with screenshots that clearly show the opt-in checkbox, the seller name, and the disclosure that automated calls and texts may be sent. This is the evidence package that drives the documentation quality factor in the trust score, and the evidence package that survives a TCPA discovery request.
Step 5. Enable STOP and HELP keyword handling on every Campaign and honor opt-outs across both SMS and voice within the legally required window. Cross-channel opt-out propagation is now a checklist item the carriers grade on, not just a TCPA obligation.
Step 6. Monitor trust score weekly. A 78 that drops to a 62 over four weeks is the early signal of complaint volume or content-mismatch issues, and the operator usually has a two-to-four week window to correct before throughput collapses entirely.
Step 7. Audit the platform's invoicing. The carrier surcharges should show as a passthrough line item, not bundled into a padded per-message rate. If the line items are missing, the platform is either eating the cost (unlikely past a few hundred thousand monthly messages) or marking it up behind the scenes. Either way the operator should know. The margin math post walks the exact bleed pattern that bundled fees create at fifty-client scale.
What if the agency discovers an active violation?
Pause the Campaign before the next send. Preserve the message logs and consent records. Notify the client in writing the same day, naming the issue and the corrective action. If the violation falls under T-Mobile's tiered fine schedule (smishing, illegal content, SHAFT violations), expect the pass-through fine on the next invoice and treat it as a fixed cost of the cleanup. If the violation crosses into TCPA territory (unconsented outbound marketing to DNC numbers), bring TCPA counsel in before any external communication. The plaintiff bar runs templated demand letters, and a two-week head start on counsel usually changes the settlement math by an order of magnitude. The deeper compliance posture lives at the Hermes TCPA compliance reference page.
What is the regulatory direction for the rest of 2026?
Three signals worth tracking. First, carrier enforcement tightens, not loosens. T-Mobile has raised pass-through fees in January 2025 and again in January 2026. The cadence is annual, and the next move is priced for January 2027 already. Second, granular rejection reasons are the new default. The March 2026 GoHighLevel rollout of per-violation error codes is the industry pattern, and the rest of the platform ecosystem is rolling out the same surfacing within the year. Third, the consent-record audit trail is the new compliance floor. Carriers grade on it for Campaign approval. Plaintiff firms request it in discovery. State AI laws layer additional disclosure obligations on top. Agencies that have the consent log exportable, the disclosure script enforced, and the per-state calling-window respected do not bleed money on compliance events. Agencies without those primitives pay every fine, lose every demand letter, and eventually lose the client.
Frequently asked questions
What is A2P 10DLC and why does it apply to AI voice agencies?
A2P 10DLC is the application-to-person framework that US carriers (T-Mobile, AT&T, Verizon) use to register every business that sends SMS from a ten-digit long code phone number. It exists because business SMS volume grew faster than the carriers could police, and consumers stopped trusting unverified texts. The framework requires two registrations: a Brand (your legal entity) registered with The Campaign Registry, and one or more Campaigns (the actual use case, like appointment confirmations or two-factor codes). AI voice agencies fall inside the framework the moment they send any SMS alongside the call. That includes appointment confirmation texts, missed-call follow-ups, recap links after a voice conversation, drip nurture, opt-out confirmations, and call-back requests. If your voice agent ever triggers a text message to a US cell phone, you need a registered Brand and a registered Campaign for that use case, or the carrier will block the text at the edge.
When did carriers start blocking unregistered A2P 10DLC traffic?
February 1, 2025. That is the date all major US carriers moved from throttling to a full 100% block on unregistered 10DLC traffic. Before that date, unregistered messages got slow-walked and surcharged. After that date, they simply do not arrive. Twilio published a changelog confirming the cutover and the full-blocking enforcement remains in effect through 2026. The implication for voice agencies: any number that you provision today and start sending SMS from, without registering Brand and Campaign first, will produce a 30034 error and a zero-delivery rate on every text.
What are the actual A2P 10DLC fees in 2026?
Three categories. Registration: $4.50 for Sole Proprietor or Low Volume Standard Brand, $46 to $48 for Standard Brand with secondary vetting, plus a $15 campaign vetting fee per Campaign. Monthly: $1.50 to $10 per Campaign per month depending on use case. Per-message carrier surcharges: roughly $0.003 to $0.005 per outbound SMS segment across T-Mobile, AT&T, and Verizon, with T-Mobile raising its pass-through fees again in January 2026. A 10,000-message-per-month agency now pays roughly $30 to $50 per month in carrier surcharges alone, on top of the platform's per-message fee. The non-compliance side is uglier: T-Mobile assesses $10,000 for text enablement before program approval, $10 per message for grey-route traffic, $1,000 for snowshoeing or number swapping, and tiered violation fines up to $2,000 per incident for SHAFT or smishing content.
What is a TCR trust score and why does it matter for voice agencies?
The Campaign Registry assigns every registered Brand a Trust Score between 0 and 100. Carriers use the score to set message throughput: a Brand above 75 gets premium throughput up to 4,500 messages per minute per Campaign, a Brand between 50 and 75 gets standard throughput, and a Brand below 50 gets restricted throughput or rejection on certain Campaigns. The score is weighted across business verification (30%), brand reputation (25%), messaging history (20%), use case alignment (15%), and documentation quality (10%). For voice agencies, the operational impact is concrete: a low trust score means your appointment-confirmation Campaign cannot burst to a thousand sends after a busy clinic morning, and the texts queue or drop. Appeals are free within 45 days of the initial score and $40 thereafter.
What is the difference between the FCC one-to-one consent rule and A2P 10DLC?
Two different stacks of compliance. A2P 10DLC is carrier-enforced and governs whether the message gets delivered. The FCC one-to-one rule was a TCPA rule that would have required separate consent per seller. The Eleventh Circuit vacated the rule in January 2025, the day before it was scheduled to take effect, and the FCC formally eliminated it later in 2025. As of 2026, a single, clear, express opt-in can cover multiple sellers under TCPA, as long as the consent is honest about who will be calling or texting. The A2P 10DLC framework is unaffected by the one-to-one ruling. Carriers still require Brand and Campaign registration regardless of how consent is collected, and the consent record still has to be producible in discovery if a TCPA complaint hits.
What error codes does an AI voice agency see when 10DLC is misconfigured?
The four codes that drain agency message budgets. 30034 means the message was sent from an unregistered number, and the carrier rejected it before the consumer phone touched it. 30007 means the carrier filtered the message, usually because the Campaign use case does not match the actual content or because complaint volume tripped a threshold. 30008 means the message expired before the carrier accepted it, which on a voice-flow context usually points to a queue backed up behind a low trust score. 30032 means a Toll-Free number was used without verification. Any voice platform that shows you 30034 on day one is telling you the agency never finished Brand registration. Any platform that hides the error code under a generic 'failed' status is telling you it does not want the operator to see what is happening.
Can a voice agency use Toll-Free numbers to skip A2P 10DLC?
Partial yes, with a worse trust profile. Toll-Free numbers do not require A2P 10DLC registration with The Campaign Registry, but they require their own Toll-Free verification with the carrier hosts and have lower default throughput. They are useful for two-factor codes, transactional confirmations, and customer service replies. They are a poor fit for outbound marketing, appointment-reminder blasts to wide lists, or any campaign where the consumer expects a local 10-digit caller ID. The real-world voice-agency stack usually ends up with both: a local 10DLC pool for outbound dialer + appointment confirmations under a registered Campaign, and a Toll-Free for support and OTP. Both have to be registered. Neither is a true bypass of the carrier verification regime.
How does Hermes handle A2P 10DLC for AI voice agencies?
Hermes ships Brand registration intake at onboarding, Campaign registration support for the standard voice-agency use cases (appointment confirmation, missed-call follow-up, recap links, two-factor, customer care), trust score monitoring, error-code surfacing, and per-state calling-window enforcement on the platform tier you already pay for, across the $149 Starter, $399 Business, and $699 Agency plans. The platform records consent provenance with timestamp, source, IP, and consent text per contact, which is the evidence package every TCPA discovery request asks for first. By builders, for builders. The compliance posture is the same posture we run for our own operator stack, not a feature gate sold separately at the next tier.
Where this leaves you
A2P 10DLC is no longer a compliance footnote. It is the difference between an appointment confirmation that arrives and one that silently fails. The 2026 cost grid moved up. The error codes got granular. The trust score became the throughput governor. The carriers stopped throttling and started blocking. Voice agencies that ship SMS alongside the voice agent need a Brand, a Campaign per use case, a trust score above 75, an error-code dashboard, and an itemized carrier-surcharge invoice. Anything less is a slow-motion delivery failure that turns into a client churn event.
By builders, for builders. The seven-step survival list above is the same one Hermes runs on every new client onboarding. The migration team will walk it with you in the first session. If you find a gap in the platform's handling of any step, the bounty is on the record. Email me.
next step
Get the 10DLC posture audited before the next client onboards
The Founders' Beta locks in the Agency tier at $699/month with guided Brand registration, voice-agency Campaign presets, trust score surfacing, error-code visibility per message, itemized carrier-surcharge invoicing, and consent-log export for TCPA discovery. Migration team walks the 7-step survival audit with you in the first onboarding session. First agent live in 72 hours.
Alfredo Romero is CEO of Hermes, the voice infrastructure platform for AI agencies. This post is operator commentary, not legal advice. Connect on LinkedIn.
written by
Alfredo Romero
CEO and Co-Founder, Hermes
Alfredo runs sales, operations, and strategy at Hermes. Before founding Hermes he ran agencies for nine years and spent the last three building the AI voice operations side. He writes the operator playbook from real builds, not theory.
