# Troubleshooting business SMS that is not delivered

Canonical: https://warmtransfer.net/knowledge/business-sms-delivery-troubleshooting

Last verified: 2026-10-02

Twilio's status sent means only that the nearest upstream carrier accepted the message, and Twilio separates undelivered (a delivery receipt reported non-delivery) from failed (the message never left Twilio)[^51][^52]. AWS End User Messaging SMS reports carrier-side outcomes through event types such as TEXT_CARRIER_BLOCKED, TEXT_SPAM and TEXT_SUCCESSFUL[^8][^9][^10].

## Reading delivery status

In Twilio, status sent is not confirmation of handset delivery[^51]. Twilio sets delivered only after it receives delivery confirmation from the upstream carrier and, where available, from the destination handset[^50]. Twilio uses failed when a message never left Twilio, for example because of queue overflow, account suspension or media errors[^52].

In AWS, TEXT_SUCCESSFUL means the recipient's carrier accepted the message, and depending on the destination country TEXT_SUCCESSFUL and TEXT_DELIVERED may be used interchangeably[^10]. AWS emits TEXT_CARRIER_BLOCKED when the recipient's carrier blocks delivery, typically because it judged the message malicious or abusive[^8]. AWS emits TEXT_SPAM when the recipient's carrier identifies the message as unsolicited commercial content and blocks it, and this event is separate from TEXT_BLOCKED, which indicates device or carrier blocking of that recipient[^9].

We infer that a business-SMS ticket cannot be closed as delivered when the platform shows sent (Twilio) or TEXT_SUCCESSFUL (AWS) but the user reports no message, because carrier acceptance is not handset delivery and some destinations may not return a distinct delivery receipt[^49].

AWS charges for an SMS once it accepts the send request, even if the recipient never receives it, for example when the number is no longer in service[^6]. AWS publishes US carrier deactivation reports, processed daily and retained for 90 days of date-specific objects, so senders can remove deactivated or reassigned numbers from their lists[^7].

## Diagnosing Twilio error codes

| Error | What Twilio documents |
|---|---|
| 30003 | The destination handset is unavailable on the carrier network, for example powered off or out of coverage, and Twilio's first suggested fix is to retry[^30]. |
| 30006 | The destination cannot receive the message, typically because it is a landline or a carrier a short code cannot reach, and Twilio advises not retrying landline numbers[^31]. |
| 30007 | The message was blocked by Twilio's own filtering or by a wireless carrier[^33]. |
| 30023 | The Brand has sent its maximum allowable daily messages to the carrier; the cap can be shared across Brands under the same EIN and resets at 00:00 Pacific Time[^34]. |
| 30032 | A Toll-Free number sent to a US or Canadian mobile subscriber before Toll-Free Verification was approved[^37]. |
| 30034 | A +1 10DLC number not associated with an approved A2P 10DLC Campaign sent to a US number[^39]. |
| 30883 | An A2P 10DLC campaign was rejected in manual vetting because its use case, sample messages or business category is prohibited content, including SHAFT material and marijuana or CBD[^40]. |
| 21610 | The recipient has opted out of messages from that Twilio number, Channels sender or Messaging Service[^28]. |

For 30007 on messages believed to be policy-compliant, Twilio asks customers to collect at least 3 Message SIDs in undelivered status and open a support case with those examples[^32]. WarmTransfer's reading of the sources is that when a Twilio US 10DLC send fails with 30034 rather than 30007, the first check is registration and sender-pool association rather than message content, because 30034 is defined by campaign association and 30007 by filtering[^48]. Twilio lists more than 1 10DLC number on a Sole Proprietor Campaign as a cause of 30034, because a Sole Proprietor Campaign permits only 1 10DLC number[^38].

A toll-free verification that is still Pending (under review) also produces 30032, and only an approved verification lifts the block[^36]. Twilio error 30027 (T-Mobile daily message limit reached) is deprecated and no longer generated, and Twilio now returns 30023 when the limit is exceeded[^35]. Twilio treats a 30883 rejection as non-remediable: do not resubmit the same campaign, and instead appeal through Support or create a new campaign with a materially different use case[^41].

## Registration and verification

### Twilio A2P 10DLC campaigns

A Twilio A2P 10DLC campaign_status is IN_PROGRESS while vetting is incomplete, VERIFIED when approved, FAILED when rejected, and rarely SUSPENDED[^24]. Twilio advises editing and resubmitting a failed A2P campaign rather than deleting it, because the vetting fee is charged once per Campaign[^22]. Twilio reserves delete-and-recreate for changing the use case or for cases where the Brand must be edited[^22].

The Campaign Registry states that it does not review, approve or reject 10DLC campaigns, and that this is done by Campaign Service Providers and their upstream connection partners[^55]. Brands do not register directly with The Campaign Registry; they register through a Campaign Service Provider that operates the messaging platform[^56].

### Twilio Toll-Free Verification

Twilio Toll-Free Verification moves through Not Verified (system processing), Verification in Progress (under review by Verification Ops), Approved and Rejected[^58]. A rejected verification can be resubmitted within 7 days for priority review, while deleting and resubmitting instead places the request at the back of the queue[^57]. Toll-Free Verification requires a paid account, and trial accounts cannot submit[^59].

### AWS End User Messaging SMS registrations

AWS End User Messaging SMS registrations can be CREATED, SUBMITTED, REVIEWING, REQUIRES_UPDATES, AUTHENTICATION_REQUIRED, COMPLETE, CLOSED or DELETED, and a resource can be used only once its registration is COMPLETE[^12]. While a registration is REVIEWING, neither the registration nor its associated resources can be changed, and REQUIRES_UPDATES flags the fields to fix before resubmitting[^16].

AWS states that a US toll-free number registration can take up to 15 business days to process after submission[^18]. From 15 September 2026, new AWS toll-free number registrations require a publicly accessible Privacy Policy URL and Terms and Conditions URL, and existing verified toll-free numbers are not affected[^19]. AWS toll-free rejections for non-compliant opt-in commonly cite missing explicit SMS consent language, a company name that does not match the screenshots, requiring a text to sign up for service, or opt-in consent placed only in the Terms of Service[^14]. AWS rejects toll-free registrations as Non Compliant Opt In Third Party when opt-in information is shared with third parties, and the fix is to remove that language or state that opt-in data is not shared[^13].

AWS gives up to 4 weeks for 10DLC campaign registration for both US and international companies, compared with 1-2 business days (US) or up to 3 weeks (international) for brand registration and for vetting[^3]. Sources disagree on how long number association takes: the AWS 10DLC timing table gives up to 10 days for requesting a 10DLC number after campaign approval[^1], while the body of the same page states that associating a phone number with a 10DLC campaign can take approximately 14 days[^2].

In AWS, a phone number cannot be used across multiple 10DLC campaigns, though one campaign may have several numbers[^4]. AWS applies 10DLC throughput at the campaign level, so all numbers on a campaign share one send-rate limit and adding numbers does not add throughput[^5]. AWS states that 10DLC brand vetting scores are not applied retroactively: vetting done after a campaign exists does not raise that campaign's throughput, so vet before creating campaigns[^21]. AWS documents that after a 10DLC campaign reaches its T-Mobile daily message cap, further messages to T-Mobile recipients fail until the cap resets[^20].

## Content and link filtering

Twilio requires A2P 10DLC campaigns to use a dedicated branded short domain owned by the business, and randomly shortened URLs from free services such as bit.ly or TinyURL lead to campaign rejection[^23]. AWS advises against free link shorteners such as tinyurl.com or bitly.com because carriers tend to filter messages containing them, and it states that paid shorteners on a domain dedicated to the sender are acceptable[^11].

AWS lists restricted SMS content categories that are subject to heavy filtering or outright blocking: gambling, high-risk financial services, debt forgiveness, get-rich-quick schemes, illegal substances, prescription drugs, phishing, SHAFT and third-party lead generation[^15].

## Opt-out handling

Twilio's default opt-out keywords are STOP, UNSUBSCRIBE, END, QUIT, STOPALL, REVOKE, OPTOUT and CANCEL[^54]. Its default opt-in keywords are START and UNSTOP, HELP is the default help keyword, and keyword matching is case-insensitive[^54]. After a user opts out, later outgoing Twilio messages from the account to that user fail asynchronously with error 21610 rather than being rejected at API submission[^53]. A recipient blocked under 21610 regains delivery by texting START or another opt-in keyword to the sender, and under the documented process the sending business cannot clear the block on the recipient's behalf[^29].

AWS states that for US toll-free numbers the opt-out and opt-in keywords are set at the carrier level as STOP and UNSTOP, that these are the only usable keywords, and that neither the keywords nor their responses can be modified[^17]. Another vendor's documentation conflicts with this, and that vendor's description of toll-free opt-out keywords is not covered by the sources below.

Under 47 CFR 64.1200(a)(10), consumers may revoke consent by any reasonable method, including replying to a text with words such as stop, quit, end, revoke, opt out, cancel or unsubscribe[^27]. The same paragraph requires callers and texters to honor a revocation within 10 business days of receipt[^26]. 47 CFR 64.1200(a)(12) permits 1 confirmation text after a revocation if it only confirms the request and contains no marketing, and a confirmation sent within 5 minutes is presumed to fall within prior consent[^25]. FCC DA 26-12 (6 January 2026) extends until 31 January 2027 the waiver of the part of 64.1200(a)(10) that would make a revocation in response to 1 informational message apply to all unrelated robocalls and robotexts from that caller[^46].

## Carrier-side blocking under US rules

FCC 23-21 requires mobile wireless providers to block texts purporting to be from NANP numbers on a reasonable do-not-originate list, including invalid, unallocated and unused numbers[^44]. That do-not-originate requirement does not cover text messages from short codes[^47]. FCC 23-21 also requires mobile wireless providers to establish a point of contact for text senders to report and resolve unwarranted blocking, and it permits providers to require documented objective evidence[^42].

FCC 23-107 requires terminating mobile wireless providers, on notice from the FCC Enforcement Bureau, to block all texts from the identified numbers and respond to the Bureau[^45]. FCC 23-107 also codified that National Do-Not-Call Registry protections extend to text messages, so marketing texts to a registered wireless number require prior express invitation or permission[^43].

## See also

- [Business texting and 10DLC registration](https://warmtransfer.net/knowledge/business-texting-10dlc)
- [Toll-free numbering and RespOrg](https://warmtransfer.net/knowledge/toll-free-numbering)
- [Call blocking and analytics labeling remediation](https://warmtransfer.net/knowledge/call-blocking-labeling)

## Applicability

Applies to: Twilio Programmable Messaging, Amazon Web Services AWS End User Messaging SMS, and The Campaign Registry. Deployments: multi-tenant, carrier-network, and sender-obligation. Sources checked 2026-10-02. Twilio's 30034 error applies to US 10DLC sending[^39], its 30023 error concerns a Brand's daily message cap[^34], and its 30032 block covers toll-free sends to US or Canadian mobile subscribers[^37]. The AWS Privacy Policy and Terms and Conditions URL requirement applies to new toll-free registrations from 15 September 2026[^19]. The revoke-all waiver described above runs until 31 January 2027 under FCC DA 26-12[^46].

## What remains uncertain

How the T-Mobile 10DLC daily cap varies by brand trust score is not covered by the sources below. The specific per-carrier text-blocking points of contact under FCC 23-21 are not covered by the sources below. Whether the Eleventh Circuit vacated the FCC 23-107 one-to-one consent rule is not covered by the sources below. Error code mappings for CPaaS providers other than Twilio and AWS are not covered by the sources below. AWS describes the T-Mobile daily cap at the campaign level[^20], while Twilio describes the 30023 cap at the Brand level, shared across Brands under the same EIN[^34]. Whether these two descriptions refer to the same underlying carrier limit is not covered by the sources below. Short code provisioning delays and carrier approval are not covered by the sources below. Canadian toll-free messaging rules beyond the verification requirement described above, and CASL consent requirements, are not covered by the sources below. MMS-specific delivery failures related to media size and type are not covered by the sources below. Sources disagree on AWS 10DLC number association timing, with up to 10 days in the timing table[^1] and approximately 14 days in the page body[^2]. AWS states that US toll-free opt-out and opt-in keywords are fixed at the carrier level as STOP and UNSTOP[^17], another vendor's documentation conflicts with this, and the conflicting description is not covered by the sources below.

## Sources

[^1]: The AWS 10DLC timing table gives up to 10 days for the step of requesting a 10DLC number after campaign approval (disputed). Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), timing table, row Request your 10DLC number. Checked 2026-10-02.
[^2]: The AWS 10DLC page body states that associating a phone number with a 10DLC campaign can take approximately 14 days (disputed). Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), introductory body text after the timing table. Checked 2026-10-02.
[^3]: AWS gives up to 4 weeks for 10DLC campaign registration for both US and international companies, versus 1-2 business days (US) or up to 3 weeks (international) for brand registration and for vetting. Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), timing table. Checked 2026-10-02.
[^4]: In AWS, a phone number cannot be used across multiple 10DLC campaigns, though one campaign may have several numbers. Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), introductory body text. Checked 2026-10-02.
[^5]: AWS applies 10DLC throughput at the campaign level: all numbers on a campaign share one send-rate limit, so adding numbers does not add throughput. Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), 10DLC capabilities section. Checked 2026-10-02.
[^6]: AWS charges for an SMS once it accepts the send request, even if the recipient never receives it (for example a number no longer in service). Source: [AWS End User Messaging SMS Best Practices](https://docs.aws.amazon.com/sms-voice/latest/userguide/best-practices.html), Verify your destination phone numbers section. Checked 2026-10-02.
[^7]: AWS publishes daily-processed US carrier deactivation reports, retained for 90 days of date-specific objects, so senders can remove deactivated or reassigned numbers from lists. Source: [AWS End User Messaging SMS Best Practices](https://docs.aws.amazon.com/sms-voice/latest/userguide/best-practices.html), Handling deactivated phone numbers section. Checked 2026-10-02.
[^8]: AWS emits TEXT_CARRIER_BLOCKED when the recipient's carrier blocks delivery, typically because it judged the message malicious or abusive. Source: [Event types for SMS, MMS, and voice](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-types.html), SMS events, TEXT_CARRIER_BLOCKED. Checked 2026-10-02.
[^9]: AWS emits TEXT_SPAM when the recipient's carrier identifies the message as unsolicited commercial content and blocks it, separate from TEXT_BLOCKED (device or carrier blocking that recipient). Source: [Event types for SMS, MMS, and voice](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-types.html), SMS events, TEXT_SPAM and TEXT_BLOCKED. Checked 2026-10-02.
[^10]: In AWS, TEXT_SUCCESSFUL means the recipient's carrier accepted the message, and depending on destination country TEXT_SUCCESSFUL and TEXT_DELIVERED may be used interchangeably. Source: [Event types for SMS, MMS, and voice](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-types.html), SMS events, TEXT_DELIVERED and TEXT_SUCCESSFUL. Checked 2026-10-02.
[^11]: AWS advises against free link shorteners such as tinyurl.com or bitly.com because carriers tend to filter messages containing them; paid shorteners on a domain dedicated to the sender are acceptable. Source: [AWS End User Messaging SMS Best Practices](https://docs.aws.amazon.com/sms-voice/latest/userguide/best-practices.html), Use valid, safe links section. Checked 2026-10-02.
[^12]: AWS End User Messaging SMS registrations can be CREATED, SUBMITTED, REVIEWING, REQUIRES_UPDATES, AUTHENTICATION_REQUIRED, COMPLETE, CLOSED or DELETED, and a resource can be used only once the registration is COMPLETE. Source: [Check a registration's status in AWS End User Messaging SMS](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-status.html), status list. Checked 2026-10-02.
[^13]: AWS rejects toll-free registrations as Non Compliant Opt In Third Party when opt-in information is shared with third parties; fix by removing such language or stating opt-in data is not shared. Source: [Toll-free number registration rejection reasons](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-tfn-rejection-reason.html), table row Non Compliant Opt In Third Party. Checked 2026-10-02.
[^14]: AWS toll-free rejections for non-compliant opt-in commonly cite: no explicit SMS consent language, company name mismatch with screenshots, requiring a text to sign up for service, or opt-in consent placed only in the Terms of Service. Source: [Toll-free number registration rejection reasons](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-tfn-rejection-reason.html), table rows Compliant Opt In Missing / Non Compliant Opt In. Checked 2026-10-02.
[^15]: AWS lists restricted SMS content categories subject to heavy filtering or outright blocking: gambling, high-risk financial services, debt forgiveness, get-rich-quick schemes, illegal substances, prescription drugs, phishing, S.H.A.F.T. and third-party lead generation. Source: [AWS End User Messaging SMS Best Practices](https://docs.aws.amazon.com/sms-voice/latest/userguide/best-practices.html), Prohibited message content section, restricted content table. Checked 2026-10-02.
[^16]: While an AWS registration is REVIEWING, neither the registration nor its associated resources can be changed; REQUIRES_UPDATES flags the fields to fix before resubmitting. Source: [Check a registration's status in AWS End User Messaging SMS](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-status.html), REVIEWING and REQUIRES_UPDATES entries. Checked 2026-10-02.
[^17]: AWS states that for US toll-free numbers the opt-out and opt-in keywords are set at the carrier level as STOP and UNSTOP, are the only usable keywords, and neither they nor their responses can be modified (disputed). Source: [AWS End User Messaging SMS Best Practices](https://docs.aws.amazon.com/sms-voice/latest/userguide/best-practices.html), Prohibited message content section, third bullet. Checked 2026-10-02.
[^18]: AWS states a US toll-free number registration can take up to 15 business days to process after submission. Source: [United States Toll-free number registration process](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-tfn.html), first Important callout. Checked 2026-10-02.
[^19]: From 15 September 2026, new AWS toll-free number registrations require a publicly accessible Privacy Policy URL and Terms and Conditions URL; existing verified toll-free numbers are not affected. Source: [United States Toll-free number registration process](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-tfn.html), second Important callout. Checked 2026-10-02.
[^20]: AWS documents that after a 10DLC campaign reaches its T-Mobile daily message cap, further messages to T-Mobile recipients fail until the cap resets. Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), 10DLC capabilities section, T-Mobile daily cap paragraph. Checked 2026-10-02.
[^21]: AWS states 10DLC brand vetting scores are not applied retroactively: vetting done after a campaign exists does not raise that campaign's throughput, so vet before creating campaigns. Source: [United States 10DLC registration](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations-10dlc.html), 10DLC capabilities section, vetting paragraph. Checked 2026-10-02.
[^22]: Twilio advises editing and resubmitting a failed A2P campaign rather than deleting it, because the vetting fee is charged once per Campaign; delete-and-recreate is reserved for changing the use case or when the Brand must be edited. Source: [Troubleshooting and rectifying A2P Campaigns](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns), introduction and section 3.2 Editing a Campaign in the Console. Checked 2026-10-02.
[^23]: Twilio requires A2P 10DLC campaigns to use a dedicated branded short domain owned by the business; randomly shortened URLs from free services such as bit.ly or TinyURL lead to campaign rejection. Source: [Troubleshooting and rectifying A2P Campaigns](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns), section 3.3 Deleting and Recreating a failed Campaign via Console. Checked 2026-10-02.
[^24]: A Twilio A2P 10DLC campaign_status is IN_PROGRESS while vetting is incomplete, VERIFIED when approved, FAILED when rejected, and rarely SUSPENDED. Source: [Troubleshooting and rectifying A2P Campaigns](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns), section 4 Troubleshooting Campaigns via API. Checked 2026-10-02.
[^25]: 47 CFR 64.1200(a)(12) permits one confirmation text after a revocation if it only confirms the request and contains no marketing; one sent within five minutes is presumed within prior consent. Source: [47 CFR § 64.1200 - Delivery restrictions](https://www.law.cornell.edu/cfr/text/47/64.1200), paragraph (a)(12). Checked 2026-10-02.
[^26]: 47 CFR 64.1200(a)(10) requires callers and texters to honor a consent revocation within ten business days of receipt. Source: [47 CFR § 64.1200 - Delivery restrictions](https://www.law.cornell.edu/cfr/text/47/64.1200), paragraph (a)(10). Checked 2026-10-02.
[^27]: Under 47 CFR 64.1200(a)(10), consumers may revoke consent by any reasonable method, including replying to a text with words such as stop, quit, end, revoke, opt out, cancel or unsubscribe. Source: [47 CFR § 64.1200 - Delivery restrictions](https://www.law.cornell.edu/cfr/text/47/64.1200), paragraph (a)(10). Checked 2026-10-02.
[^28]: Twilio error 21610 means the recipient has opted out of messages from that Twilio number, Channels sender or Messaging Service. Source: [21610: Attempt to send to unsubscribed recipient](https://www.twilio.com/docs/api/errors/21610), page title and definition. Checked 2026-10-02.
[^29]: A recipient blocked under 21610 regains delivery by texting START or another opt-in keyword to the sender; the sending business cannot clear it on the recipient's behalf per the documented process. Source: [21610: Attempt to send to unsubscribed recipient](https://www.twilio.com/docs/api/errors/21610), Possible solutions section. Checked 2026-10-02.
[^30]: Twilio error 30003 means the destination handset is unavailable on the carrier network (for example powered off or out of coverage), and Twilio's first suggested fix is to retry. Source: [30003: Unreachable destination handset](https://www.twilio.com/docs/api/errors/30003), definition and Possible solutions sections. Checked 2026-10-02.
[^31]: Twilio error 30006 indicates the destination cannot receive the message, typically a landline or a carrier a short code cannot reach, and Twilio advises not retrying landline numbers. Source: [30006: Landline or unreachable carrier](https://www.twilio.com/docs/api/errors/30006), definition and Possible solutions sections. Checked 2026-10-02.
[^32]: For 30007 on messages believed to be policy-compliant, Twilio asks customers to collect at least three Message SIDs in undelivered status and open a support case with those examples. Source: [30007: Message filtered](https://www.twilio.com/docs/api/errors/30007), Possible solutions section. Checked 2026-10-02.
[^33]: Twilio error 30007 (Message filtered) means the message was blocked either by Twilio's own filtering or by a wireless carrier. Source: [30007: Message filtered](https://www.twilio.com/docs/api/errors/30007), page title and opening definition. Checked 2026-10-02.
[^34]: Twilio error 30023 means the Brand has sent its maximum allowable daily messages to the carrier; the cap can be shared across Brands under the same EIN and resets at 00:00 Pacific Time. Source: [30023: US A2P 10DLC - Daily Message Cap Reached](https://www.twilio.com/docs/api/errors/30023), definition, Possible causes and Possible solutions sections. Checked 2026-10-02.
[^35]: Twilio error 30027 (T-Mobile daily message limit reached) is deprecated and no longer generated; Twilio now returns 30023 when the limit is exceeded. Source: [30027: US A2P 10DLC - T-Mobile Daily Message Limit Reached](https://www.twilio.com/docs/api/errors/30027), deprecation note on page. Checked 2026-10-02.
[^36]: A toll-free verification that is still Pending (under review) also produces 30032; only an approved verification lifts the block. Source: [30032: Toll-Free Number Has Not Been Verified](https://www.twilio.com/docs/api/errors/30032), Possible causes section. Checked 2026-10-02.
[^37]: Twilio returns error 30032 when a Toll-Free number sends to a US or Canadian mobile subscriber before Toll-Free Verification is approved. Source: [30032: Toll-Free Number Has Not Been Verified](https://www.twilio.com/docs/api/errors/30032), opening definition. Checked 2026-10-02.
[^38]: Twilio lists more than one 10DLC number on a Sole Proprietor Campaign as a cause of 30034; a Sole Proprietor Campaign permits only one 10DLC number. Source: [30034: US A2P 10DLC - Message from an Unregistered Number](https://www.twilio.com/docs/api/errors/30034), Possible causes section. Checked 2026-10-02.
[^39]: Twilio blocks messages to US numbers sent from a +1 10DLC number that is not associated with an approved A2P 10DLC Campaign, returning error 30034. Source: [30034: US A2P 10DLC - Message from an Unregistered Number](https://www.twilio.com/docs/api/errors/30034), opening definition. Checked 2026-10-02.
[^40]: Twilio error 30883 means an A2P 10DLC campaign was rejected in manual vetting because its use case, sample messages or business category is prohibited content, including SHAFT material and marijuana or CBD. Source: [30883: Campaign vetting rejection - Content Violation](https://www.twilio.com/docs/api/errors/30883), definition and prohibited content list. Checked 2026-10-02.
[^41]: Twilio treats a 30883 content-violation rejection as non-remediable: do not resubmit the same campaign; appeal through Support or create a new campaign with a materially different use case. Source: [30883: Campaign vetting rejection - Content Violation](https://www.twilio.com/docs/api/errors/30883), Possible solutions section. Checked 2026-10-02.
[^42]: FCC 23-21 requires mobile wireless providers to establish a point of contact for text senders to report and resolve unwarranted blocking, and permits providers to require documented objective evidence. Source: [Targeting and Eliminating Unlawful Text Messages, Report and Order and FNPRM (FCC 23-21)](https://docs.fcc.gov/public/attachments/FCC-23-21A1.txt), paragraphs 27-28. Checked 2026-10-02.
[^43]: FCC 23-107 codified that National Do-Not-Call Registry protections extend to text messages: marketing texts to a registered wireless number require prior express invitation or permission. Source: [Targeting and Eliminating Unlawful Text Messages, Second Report and Order (FCC 23-107)](https://docs.fcc.gov/public/attachments/FCC-23-107A1.txt), paragraph 26. Checked 2026-10-02.
[^44]: FCC 23-21 requires mobile wireless providers to block texts purporting to be from NANP numbers on a reasonable do-not-originate list, including invalid, unallocated and unused numbers. Source: [Targeting and Eliminating Unlawful Text Messages, Report and Order and FNPRM (FCC 23-21)](https://docs.fcc.gov/public/attachments/FCC-23-21A1.txt), paragraph 13. Checked 2026-10-02.
[^45]: FCC 23-107 requires terminating mobile wireless providers, on notice from the FCC Enforcement Bureau, to block all texts from the identified numbers and respond to the Bureau. Source: [Targeting and Eliminating Unlawful Text Messages, Second Report and Order (FCC 23-107)](https://docs.fcc.gov/public/attachments/FCC-23-107A1.txt), paragraph 16. Checked 2026-10-02.
[^46]: FCC DA 26-12 (6 January 2026) extends until 31 January 2027 the waiver of the part of 64.1200(a)(10) that would make a revocation in response to one informational message apply to all unrelated robocalls and robotexts from that caller. Source: [Order, Rules and Regulations Implementing the Telephone Consumer Protection Act of 1991, CG Docket No. 02-278 (DA 26-12)](https://docs.fcc.gov/public/attachments/DA-26-12A1.txt), paragraphs 1, 6 and 12. Checked 2026-10-02.
[^47]: The FCC 23-21 do-not-originate text-blocking requirement does not cover text messages from short codes. Source: [Targeting and Eliminating Unlawful Text Messages, Report and Order and FNPRM (FCC 23-21)](https://docs.fcc.gov/public/attachments/FCC-23-21A1.txt), paragraph 16. Checked 2026-10-02.
[^48]: When a Twilio US 10DLC send fails with 30034 rather than 30007, the first check is registration and sender-pool association, not message content, because 30034 is defined by campaign association and 30007 by filtering (inferred). Source: [30034: US A2P 10DLC - Message from an Unregistered Number](https://www.twilio.com/docs/api/errors/30034), definition and Possible causes (compared with error 30007 page). Checked 2026-10-02.
[^49]: A business-SMS ticket where the platform shows sent (Twilio) or TEXT_SUCCESSFUL (AWS) but the user reports no message cannot be closed as delivered; carrier acceptance is not handset delivery, and some destinations may not return a distinct delivery receipt (inferred). Source: [Message resource](https://www.twilio.com/docs/messaging/api/message-resource), Message status values, sent and delivered (read with AWS TEXT_SUCCESSFUL definition). Checked 2026-10-02.
[^50]: Twilio sets delivered only after receiving confirmation of delivery from the upstream carrier and, where available, the destination handset. Source: [Message resource](https://www.twilio.com/docs/messaging/api/message-resource), Message status values, delivered. Checked 2026-10-02.
[^51]: In Twilio, status sent means only that the nearest upstream carrier accepted the outbound message; it is not confirmation of handset delivery. Source: [Message resource](https://www.twilio.com/docs/messaging/api/message-resource), Message status values, sent. Checked 2026-10-02.
[^52]: Twilio distinguishes undelivered (a delivery receipt said the message was not delivered) from failed (the message never left Twilio, for example queue overflow, account suspension or media errors). Source: [Message resource](https://www.twilio.com/docs/messaging/api/message-resource), Message status values, undelivered and failed. Checked 2026-10-02.
[^53]: After a user opts out, subsequent outgoing Twilio messages from the account to that user fail asynchronously with error 21610 rather than being rejected at API submission. Source: [Advanced Opt-Out for Messaging Services](https://www.twilio.com/docs/messaging/tutorials/advanced-opt-out), opt-out behaviour section. Checked 2026-10-02.
[^54]: Twilio's default opt-out keywords are STOP, UNSUBSCRIBE, END, QUIT, STOPALL, REVOKE, OPTOUT and CANCEL; default opt-in keywords are START and UNSTOP; HELP is the default help keyword; matching is case-insensitive. Source: [Advanced Opt-Out for Messaging Services](https://www.twilio.com/docs/messaging/tutorials/advanced-opt-out), default keywords section. Checked 2026-10-02.
[^55]: The Campaign Registry states it does not review, approve or reject 10DLC campaigns; that is done by Campaign Service Providers and their upstream connection partners. Source: [Resources - The Campaign Registry](https://www.campaignregistry.com/resources/), resources / FAQ entry on campaign approval (exact heading not captured). Checked 2026-10-02.
[^56]: Brands do not register directly with The Campaign Registry; they register through a Campaign Service Provider that operates the messaging platform. Source: [Resources - The Campaign Registry](https://www.campaignregistry.com/resources/), resources / CSP description. Checked 2026-10-02.
[^57]: A rejected Twilio toll-free verification can be resubmitted within seven days for priority review; deleting and resubmitting instead places the request at the back of the queue. Source: [Toll-free verification using the Console](https://www.twilio.com/docs/messaging/compliance/toll-free/console-onboarding), Rejected status row and important notes. Checked 2026-10-02.
[^58]: Twilio Toll-Free Verification moves through Not Verified (system processing), Verification in Progress (under review by Verification Ops), Approved and Rejected. Source: [Toll-free verification using the Console](https://www.twilio.com/docs/messaging/compliance/toll-free/console-onboarding), verification status table. Checked 2026-10-02.
[^59]: Twilio Toll-Free Verification requires a paid account; trial accounts cannot submit. Source: [Toll-free verification using the Console](https://www.twilio.com/docs/messaging/compliance/toll-free/console-onboarding), key requirements section. Checked 2026-10-02.
[^60]: Twilio documents Advanced Opt-Out keyword configuration as applying to long codes, short codes and toll-free numbers within a Messaging Service, with country-specific overrides (disputed). Source: [Advanced Opt-Out for Messaging Services](https://www.twilio.com/docs/messaging/tutorials/advanced-opt-out), scope / supported senders section. Checked 2026-10-02.
