Managing AWS RCS Agents in pools
You can add an AWS RCS Agent as an origination identity in a phone pool alongside your SMS phone numbers. When a pool contains both an AWS RCS Agent and SMS phone numbers, AWS End User Messaging attempts RCS delivery first and automatically falls back to SMS if RCS delivery is not possible. For details on how fallback works, see RCS to SMS fallback using phone pools.
Note
When you add an AWS RCS Agent to a pool, use ZZ as the ISO
country code. The ZZ code indicates that the RCS agent is not
country-specific at the pool level. Country-specific routing is handled
through the agent's country launch registrations. A pool can contain
phone numbers from multiple countries alongside the RCS agent.
The ISO country code is provided at pool creation time but is not
persisted on the pool. If you call DescribePools, the ISO
country code does not appear in the response.
Creating a pool with an AWS RCS Agent
You can create a new pool that includes your AWS RCS Agent using the AWS End User Messaging
console or the CreatePool API.
Adding AWS RCS Agents to existing pools
If you already have a pool with SMS phone numbers, you can add your AWS RCS Agent to the pool to enable RCS messaging with SMS fallback. You can also add additional SMS phone numbers to a pool that already contains an AWS RCS Agent.
Important
Before adding an origination identity to an existing pool, verify that the
pool's configuration matches the identity you are adding. All origination
identities in a pool must have identical metadata. If there is a mismatch,
the operation fails with a ConflictException. For details on
which fields must match and how to resolve mismatches, see
Pool configuration requirements for RCS.
Pool configuration requirements for RCS
All origination identities in a pool must have identical metadata. When you add
an origination identity to a pool, AWS End User Messaging compares the identity's
configuration with the pool's existing configuration. If there is a mismatch,
the operation fails with a ConflictException that includes details
about the specific fields that differ.
Pool configuration fields fall into two categories: immutable fields that are set when the pool is created and cannot be changed, and mutable fields that you can update after creation.
| Field | Mutability | Notes |
|---|---|---|
| Message type | Immutable | Set at pool creation. All identities must match. |
| ISO country code | Immutable | Set at pool creation. For AWS RCS Agents, the value is
ZZ. Pools can contain phone numbers from
multiple countries. |
| Deletion protection | Mutable | Can be toggled after creation. Must be consistent across identities. |
| Opt-out list | Mutable | Can be changed after creation. Must be consistent across identities. |
The following configuration fields must match across all origination identities in a pool:
-
Message type — All identities must be configured for the same message type (for example, TRANSACTIONAL or PROMOTIONAL).
-
ISO country code — Set at pool creation. For AWS RCS Agents, use
ZZas the ISO country code. Pools can contain phone numbers from multiple countries. -
Deletion protection — The deletion protection setting must be consistent across identities.
-
Opt-out list — All identities must be associated with the same opt-out list, or none of them should have an opt-out list.
Understanding ConflictException errors
When you attempt to add an origination identity to a pool and the
configuration does not match, the AssociateOriginationIdentity
or CreatePool API returns a ConflictException.
The exception message includes details about which fields differ between
the identity and the pool.
For example, if you try to add a phone number configured for PROMOTIONAL messages to a pool configured for TRANSACTIONAL messages, the error message indicates that the message type does not match.
To resolve a ConflictException:
-
Review the error message to identify which fields differ.
-
Update the origination identity or the pool configuration so that the fields match.
-
Retry the
AssociateOriginationIdentityorCreatePooloperation.
Note
If you cannot resolve the configuration mismatch, consider creating a separate pool for the origination identity. Each pool can have its own configuration, and you can use different pools for different use cases.
Removing AWS RCS Agents from pools
You can remove an AWS RCS Agent from a pool using the AWS End User Messaging console or the
DisassociateOriginationIdentity API. Removing an AWS RCS Agent from
a pool disables RCS delivery for messages sent through that pool. Messages sent
to the pool after the agent is removed are delivered via SMS only (using the
remaining phone numbers in the pool).