What is RCS?
RCS stands for Rich Communication Services, a protocol used for a better P2P messaging experience and richer A2P business messaging. RCS messages, like SMS messages, are delivered as texts sent directly to the native Messages app on your iPhone or Android device. You may see other providers mention A2P RCS as “RCS Business Messaging”, abbreviated to RBM, but it’s all the same channel and technology.
What phone numbers are compatible with RCS?
Unlike SMS where you send messages from a phone number, RCS Business Messaging (A2P RCS) uses a verified RCS Sender. While you don't send messages from a phone number, you can display one or more contact phone numbers in your RCS Sender's branded profile that consumers can see by tapping on the Sender's display name. This profile can present your business description, business contact information, business website, privacy policy, and terms of service.
The FAQ below provides more information on Twilio’s RCS offering, Twilio’s RCS resources, and answers frequent questions.
- What is the benefit of using RCS?
- What regions and carriers currently support RCS?
- What devices support RCS?
- Does RCS support media?
- Does RCS support Group Messaging?
- Are there any throughput restrictions or daily caps on your RCS traffic?
- How much does RCS cost?
- What compliance considerations apply to RCS vs. other messaging channels?
- Are user-initiated messages supported with RCS?
- How do I register for RCS?
- Does RCS require a Messaging Service?
- Where can I find the API documentation for RCS?
- Can I register RCS Senders for my client businesses as an Independent Software Vendor (ISV)?
- What are the US carrier criteria to onboard onto RCS?
- How can I tell if my RCS message was delivered?
- What happens if my end user's device is not RCS-capable?
- What happens if my RCS message is not delivered?
- What happens if I use RCS without Twilio’s fallback capabilities?
- Why do some messages contain a warning that my RCS messages aren’t real?
- What are the most common RCS errors?
- When creating an RCS Sender, why is my updated profile information not showing up on my test device?
What is the benefit of using RCS?
For a full overview of what RCS is and what the benefits of using it compared to other messaging channels see What is RCS and the Benefits of Using RCS section of our blog post.
What regions and carriers currently support RCS?
Support for RCS globally is expanding – please see our RCS Product Documentation for the latest status on what regions and countries are supported.
What devices support RCS?
Android Devices - RCS is supported on most Android devices through the Google Messages app and by most major mobile carriers. This means most Android users can access these enhanced messaging features.
iOS Devices - As of iOS 18, Apple supports RCS. However, support can vary based on country and carrier. Here are key points to remember:
- RCS between people (P2P) is different from RCS Business Messages (A2P). Just because your device can send RCS messages to others doesn’t mean it will receive RCS Business Messages.
- Device support also depends on both Apple and your mobile carrier.
How to Check RCS Business Message Support on iOS
To see if your iPhone can receive RCS Business Messages:
- Open the Settings app.
- Navigate to Apps > Messages > RCS Messaging.
- Ensure the option for RCS Business Messages is visible and toggled on.
If you do not see the menu for RCS Messaging, or the toggle for RCS Business Messages, then your carrier has disabled RCS Business Messages on iOS.
If you're seeing issues with how your RCS message is showing up on iOS or Android, you can report issues here.
Does RCS support media?
RCS supports media with images, video, and audio content globally. When you send media messages through Messaging Services, Twilio will automatically deliver RCS media messages to compatible devices. Devices that cannot receive media via RCS will still receive MMS messages where supported or a link to the media. For more information on RCS media support see Send an RCS message containing media. For a full list of what media types RCS supports see RCS-supported media formats.
RCS also supports media via rich messaging through Content Templates including media, carousels, and cards. For more information see Send an RCS message containing rich content.
Does RCS support Group Messaging?
There is no support for group messaging with an RCS Sender at this time.
Are there any throughput restrictions or daily caps on your RCS traffic?
Each RCS Sender currently supports a default throughput limit of 100 messages per second. To request more, please reach out to your account manager.
Please Note: RCS to SMS/MMS Fallback is optimized to prioritize overall message delivery irrespective of channel, so when sending RCS traffic at a higher MPS than your RCS Sender, messages sent to RCS capable devices may begin to fallback to SMS/MMS without an attempt made on the RCS channel. See below for ways to maximize RCS when using SMS/MMS fallback.
How can I maximize RCS delivery when using SMS/MMS fallback ?
For use cases that favor RCS Channel prioritization, here are ways to prioritize RCS Channel selection:
- Spread out message requests to Twilio over a longer duration, so the RCS Sender's MPS limit (default 100 MPS) is not exceeded and messages do not need to be queued.
- Submit a request to increase the MPS of your RCS Sender through your account manager.
- Send RCS messages directly, without using Twilio's fallback, as Twilio will use the full ValidityPeriod (or 7 days if a ValidityPeriod is not provided). If the RCS message fails or is undelivered, you can then send an SMS / MMS message.
How much does RCS cost?
Prices vary by country or region. See our pricing pages for details on RCS rates.
International RCS Billing Model
| Message Category | Definition |
| Outbound – Basic Message | Mobile-terminated text messages up to 160 UTF-8 characters. |
| Outbound – Single Message |
• Mobile-terminated text messages greater than 160 UTF-8 characters, up to the max message length. • Media and rich content will be charged at this rate, once supported by Twilio. |
| Inbound - Message | Any mobile-originated message including text and media, once supported. |
US RCS Billing Model
| Message Category | Definition | Unit |
| Outbound – Rich Message | Mobile-terminated text messages up to 160 UTF-8 characters, including quick replies (chip lists), URL & Dial CTA buttons. | Segment |
| Outbound – Rich Media Message |
Mobile-terminated messages with single media attachments, rich cards, carousels, or other rich content types. Note: T-Mobile will charge an additional $0.001/MB for media attachments over 5MB |
Message |
| Inbound – Rich Message | Mobile-originated messages including text quick reply responses. | Segment |
| Inbound – Rich Media Message | Mobile-originated messages with content other than text and quick reply responses, including media attachments. | Message |
RCS US Sender Onboarding Fees
The following RCS Sender fees apply when submitting an RCS Sender for US carrier approval only:
-
Aegis Sender Review Fee of $200
- Carriers require that all brands onboarding to RCS be vetted by Aegis.
- Charged at time of submission.
- Charged annually per RCS Sender following approval.
- Initial fee is applicable irrespective of final carrier approval verdict.
-
T-Mobile Sender Activation Fee of $500
- One-time fee charged by T-Mobile once your RCS Sender has been submitted for review.
- If you prefer to opt out of using RCS to reach T-Mobile subscribers and rather use SMS, simply inform Twilio's operations team during the onboarding process.
There are currently no RCS Sender fees when onboarding to carriers outside of the US.
Additional Pricing Considerations:
- RCS messages are charged only when they have reached "DELIVERED" or "READ" status.
- Consistent with SMS, RCS messages to and from North American end-users will incur both a message fee and carrier fee. Otherwise, RCS messages will only incur a message fee.
What compliance considerations apply to RCS vs. other messaging channels?
Please review and make sure to follow Acceptable Use Policy, Messaging Policy, and the Forbidden Message Categories in the US and Canada. All rules applicable to SMS and MMS also apply to RCS. In addition, as Twilio utilizes Google’s platform for RCS Business Messaging, please review and make sure to follow the Google Business Communications Acceptable Use Policy.
Prohibited categories for RCS include:
- Counterfeit goods
- Dangerous products or services
- Products, services, or content that enable dishonest behaviors
- Dangerous or derogatory content
- Shocking content
- Capitalizing on sensitive events
- Animal cruelty
- Adult or sexual content
- Tobacco
- Political content
- Unauthorized content
- Gambling or gambling-related activities
- Firearms/weapons
- Cannabis
- Prescription drugs/medications
- Alcohol
For additional information on onboarding compliance requirements, please review our RCS guidelines page. and our RCS Compliance Onboarding Guide.
Are user-initiated messages supported with RCS?
Yes, for more details see Send and Receive RCS Messages.
How do I register for RCS?
Once you've signed up for a Twilio account and upgraded to a paid account, just navigate to the RCS Senders page in the Twilio Console where you can create, test, and submit your RCS Sender for approval. For more information on how to register see Get started with branded RCS messaging and RCS Compliance Onboarding Guide.
Does RCS require a Messaging Service?
To get the most out of RCS and take advantage of Twilio's automatic fallback solution, we recommended adding your RCS Senders to a Messaging Service.
However, if you prefer to only use RCS, a Messaging Service is not required and you can simply specify the RCS Sender ID in your request.
Where can I find the API documentation for RCS?
RCS is supported as part of Verify and the Programmable Messaging API via Messaging Services. You do not have to use a separate API. You can find information about Messaging Services here. RCS-specific documentation is available here.
Can I register RCS Senders for my client businesses as an Independent Software Vendor (ISV)?
Yes, requests are processed on a first come, first served basis. Please note that at this time, RCS onboarding requires manual review by our carriers and ecosystem partners. Due to the early nature of the RCS ecosystem, some carriers may prioritize approval for notable brands, existing SMS traffic migration, and/or best-in-class rich user experiences.
Please allow at least 4-6 weeks processing time per brand. For higher onboarding throughput and faster approvals, please reach out to your account manager and inquire about Fast Track.
What are the US carrier criteria to onboard onto RCS?
Please see our RCS regional availability for specific guidelines on US registration requirements.
How can I tell if my RCS message was delivered?
RCS message statuses are visible in both your Messaging Logs, Messaging Insights, and when a Status Callback webhook is set on either your Messaging Service or RCS Sender.
For outbound messages sent using your RCS Sender, you can find the RCS Sender’s ID in the “From” field. RCS Sender IDs will start with “rcs”.
In Messaging Insights, you can view RCS traffic by filtering the Channel to RCS.
What happens if my end user's device is not RCS-capable?
When sending messages using Twilio’s fallback capabilities, each time you request to send a message with the Programmable Messaging API, Twilio will check if the recipient's device is capable of receiving RCS messages. If the device is RCS-capable, Twilio will attempt to send the message as RCS. If it's not RCS-capable, Twilio will instead send the message as SMS or MMS using the other Senders in your Messaging Service’s Sender Pool. If there are multiple Senders in the Sender Pool, Twilio will follow the existing Sender selection logic. For more information on why a recipient may not be receiving RCS messages, see Why Can't I receive RCS Messages?
What happens if my RCS message is not delivered?
When using RCS through Messaging Services, if an RCS attempt fails to be delivered over RCS Twilio will retry the message over SMS or MMS. You will always see the final attempt in your message Sid and corresponding functionalities (messaging logs, insights, callbacks, event streams).
What happens if I use RCS without Twilio’s fallback capabilities?
- Failed RCS attempts will fail permanently with no retry.
- Twilio’s fallback logic automatically retries failed RCS attempts as SMS or MMS for common RCS errors (30036, 63035, 63036) listed below. Without fallback you’ll have to track delivery status for RCS messages and retry them on your own.
- Note that Twilio charges a failed message processing fee for RCS messages without fallback.
Why do some messages contain a warning that my RCS messages aren’t real?
When sending RCS messages to your test device, some carriers may include a warning or separate message to inform recipients that the message is for testing purposes only and to disregard:
"System Notice: The following RCS business message is not real and is for testing purposes only. Please disregard any instructions or content within this message. Remember, always exercise caution while sharing personal information."
This will only happen when sending to an approved test device before your RCS Sender has been approved and you will not be charged for these messages.
Does RCS support Twilio support for opt-out keywords (SMS STOP filtering)?
Yes, by default RCS will support the same opt-out, opt-in, or help keywords for RCS Senders as Twilio does for SMS. For more information on how Opt-Out works with RCS see Twilio’s support for opt-out keywords.
How does Google Messages app’s “Unsubscribe” feature work?
For some end users on the Google Messages app, Google has introduced a feature that lets them tap “unsubscribe” to opt out. In this case, you will receive an inbound message with the word “STOP”, “BAJA” or “parar”, depending on the user’s system’s language. To ensure you respect their opt-out request, you can configure Twilio’s advanced opt-out feature with these keywords.
This functionality does not exist on iOS. Google is progressively rolling out this functionality to more users and regions. Below are the current list of countries and keywords.
| Country | Keyword |
| United States, UK, Germany | STOP |
| Spain, Mexico | BAJA |
| France | STOP |
| Mexico, Brazil | parar |
What are the most common RCS errors?
Please see below for some of the common RCS failures and recommended solutions.
| Error Code | Description | Recommendation | |
| ERROR: 21703 | The Messaging Service does not have a phone number available to send a message. | Make sure your Messaging Service has a registered RCS Sender added to it and a compliant SMS capable Sender for the destination country you’re sending to. | |
| ERROR: 21704 | The Messaging Service contains no senders. A Messaging Service requires at least one phone number, Alphanumeric Sender ID or short code to send messages. | Add at least one phone number or short code to your Messaging Service, or enable Alphanumeric Sender ID. | |
| ERROR: 30036 | The message has spent more than the specified amount of time in Twilio's system. This can be due to a long time spent in the queue due to a combination of your messaging rate limits, the number of messages submitted in rapid succession, and the amount of time you have allotted via the ValidityPeriod setting in your messaging service or on the message itself. |
You can retry the message with a longer validity period and avoid sending very large batches of messages at a rate that far exceeds your messaging rate limits. | |
|
ERROR: 63001 |
Channel could not authenticate the request. Please see Channel specific error message for more information |
Contact Support for additional guidance.
|
|
| ERROR: 63035 | This operation is blocked because the RCS agent has not launched, the recipient has not accepted the invitation to become a tester, or the RCS sender only works in certain regions. | Make sure you have completed the RCS onboarding process and confirmed that you are registered in the destination country. | |
| ERROR 63036 | The specified phone number cannot be reached by RBM at this time. | Check that the device is switched on and that RCS is enabled. |
When updating an RCS Sender, why is the updated information not showing up on my test device?
If you're seeing discrepancies between how your RCS profile is displayed in Console and on your test device, this could mean the device is caching the outdated Sender information. To fix the issue try the following:
Android
- Delete entire conversation on the phone.
- Clear cache & data for Android Messages & Carrier Services.
iOS
- Delete entire conversation on the phone.
- Refresh your network settings by going to Settings > General > Transfer or Reset iPhone > Reset > Reset Network Settings.