> ## Documentation Index
> Fetch the complete documentation index at: https://docs.custral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SMS

> Two-way SMS/MMS over Twilio numbers, threaded into conversations.

SMS in Custral is two-way: outbound messages route through a Twilio number
you've connected to a Channel, and inbound messages land in the same
Conversation thread alongside email, voice, and chat. You can text from the
dedicated **Messages** inbox, the floating **Messages widget**, the reply box
inside any SMS conversation, or the mobile app.

## How SMS is wired

* A connected Twilio number becomes a **Channel** of type `sms`.
* Outbound and inbound messages thread into **one conversation per contact
  number**, so replies land in the thread the customer started.
* Inbound messages arrive on a Twilio webhook and are matched to an existing
  conversation or start a new one; **routing rules** decide which user(s) get
  assigned.
* All send paths (Messages screen, widget, reply box, mobile, automations) go
  through a single core, so threading and delivery stay consistent.

## A2P 10DLC registration (required for US delivery)

US carriers filter or block texts from **unregistered** businesses. Register
your workspace in **Settings → Phone & SMS → Compliance**:

* Submit your business (**Brand**) and messaging (**Campaign**) details. Brand
  types: **Standard** (needs an EIN), **Low-Volume Standard**, or **Sole
  Proprietor** (no EIN, lower throughput).
* Carrier vetting takes hours to days; the Compliance tab shows live Brand and
  Campaign status. Until the Campaign is **active**, the new-message composer
  shows a "register to send" notice.

## Opt-out (STOP / START)

Opt-out handling is automatic and mandatory: a recipient who replies **STOP**
(or UNSUBSCRIBE) is opted out, and Custral refuses further texts to them
(`recipient_opted_out`). **START** / YES opts them back in.

## Limits

* Twilio enforces per-segment rate limits and per-day caps. Custral surfaces
  Twilio's limits directly.
* MMS (image/video attachments) is supported on US/CA numbers only; inbound
  media is stored and rendered inline in the thread.

## Troubleshooting

| Symptom                                 | Likely cause                     | What to check                                                         |
| --------------------------------------- | -------------------------------- | --------------------------------------------------------------------- |
| Texts never arrive / Twilio error 30034 | Workspace isn't A2P-registered   | **Settings → Phone & SMS → Compliance**, is the Campaign **active**?  |
| "This recipient has opted out"          | The contact replied STOP         | They must text **START** to opt back in. Opt-outs can't be overridden |
| "Register to send" notice in composer   | A2P gate on and not yet approved | Complete / await registration in the Compliance tab                   |
| Inbound picture (MMS) not showing       | Media download/upload failed     | Confirm the number supports MMS (US/CA); media is best-effort         |
| Reply doesn't appear live               | Socket/room issue                | Reload the conversation. The message is still recorded                |

<Note>
  When reporting an issue, include the request id shown in the error toast. It links the in-app error to the server
  logs.
</Note>

## Related

* [Sending SMS](/comms/sms/sending)
* [Receiving SMS](/comms/sms/receiving)
* [Conversations & Threading](/comms/conversations/overview)
* [Deliverability](/comms/deliverability/overview)


## Related topics

- [Sending SMS](/comms/sms/sending.md)
- [Receiving SMS](/comms/sms/receiving.md)
- [SMS Overview](/blocks/embedded/phone/sms-overview.md)
- [Phone & SMS System](/blocks/widgets/dialer.md)
- [Phone & SMS Numbers](/comms/voice/numbers.md)
