

# Phone pools in AWS End User Messaging SMS
<a name="phone-pool"></a>

A phone pool, also refereed to as just pool, is a collection of phone numbers or sender IDs that share the same settings that you can use to send messages. When you send messages through a phone pool, it chooses an appropriate origination identity to send the message as. If an origination identity in the phone pool fails, the phone pool will fail over to another origination identity if it is in the same phone pool. 

**Note**  
Phone pools can be associated with Notify configurations to use your own dedicated phone numbers alongside AWS-managed identities for templated messaging. For more information, see [Using dedicated numbers with Notify](notify-dedicated-numbers.md).

When you create a pool, you can configure a specified origination identity. This identity includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. For example, by using pools, you can associate a list of opted-out destination phone numbers with your phone number for a particular country. By doing so, you can prevent messages from being sent to users who have already opted out of receiving messages from you.

The configuration of every phone number that you add to a pool has to match the configuration of the first phone number that you specified when you created the pool. For example, if you create a pool that contains a phone number that has two-way messaging enabled, the other numbers that you add to the pool must also have two-way messaging enabled.

You can also add an AWS RCS Agent as an origination identity in a pool alongside your phone numbers and sender IDs. When an AWS RCS Agent is in a pool, the pool enables automatic RCS-to-SMS fallback — if RCS delivery fails, the service automatically retries the message via SMS using another origination identity in the same pool. For more information about configuring RCS fallback with pools, see [RCS to SMS fallback using phone pools](rcs-sms-fallback.md).

**Topics**
+ [Create a phone pool](phone-pool-create.md)
+ [Add a phone number or sender ID](phone-pool-add-number.md)
+ [View all phone pools](phone-pool-list.md)
+ [Delete a phone pool](phone-pool-delete.md)
+ [Change a pool''s opt-out list](phone-pool-manage-opt-out-list.md)
+ [Update shared routes](phone-pool-shared-routes.md)
+ [Using phone pool deletion protection](phone-pool-deletion-protection.md)
+ [Manage tags for phone pools](phone-pool-tags.md)
+ [List shared phone pools](phone-pool-shared.md)
+ [Managing AWS RCS Agents in pools](phone-pool-rcs-agents.md)

# Create a phone pool in AWS End User Messaging SMS
<a name="phone-pool-create"></a>

When you create a new phone pool it will inherit all of the settings from the first phone number or sender ID that is added. For example, if you create a pool and the first phone number added has two-way messaging enabled, the other phone numbers that you add to the pool must also have two-way messaging enabled.

------
#### [ Create a phone pool (Console) ]

To create a pool using the AWS End User Messaging SMS console, follow these steps:

**To create a pool (Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone pools** page, choose **Create phone pool**.

1. Under the **Pool setup** section, for **Pool name** enter a name for your pool.

1. Choose one of the following options:
   + **Phone number** – In the **Phone numbers available for association** section, choose a phone number to associate with the pool.
     + **Simulator number** (Optional)– If you don't have any phone numbers and want to request a simulator phone number then choose **Phone number** and in the **Phone numbers available for association** section, do the following:
       + Choose **Request simulator number**.
       + In **Request simulator number**, choose your country from the dropdown list.
       + Choose **Request number**.
       + In **Phone numbers available for association**, choose the new simulator phone number.
   + **Sender ID** – In the **Sender IDs available for association** section, choose a sender ID to associate with the pool.

1. (Optional) Expand the **Tags** and choose **Add new tag**.

   1. Enter a new blank key/value pair.

   1. (Optional) Choose **Add new tag** to add another tag.

1. Choose **Create phone pool**.

------
#### [ Create a phone pool (AWS CLI) ]

You can use the [create-pool](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/create-pool.html) command to create new pools.

You can also add a phone number to a pool when you use the `RequestPhoneNumber` API to purchase a phone number. For more information, see [Request a phone number in AWS End User Messaging SMS](phone-numbers-request.md).

**To create a pool using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 create-pool \
  > --origination-identity originationIdentity \
  > --iso-country-code XX \
  > --message-type TRANSACTIONAL
  ```

  In the preceding command, make the following changes:
  + Replace *originationIdentity* with the unique ID or Amazon Resource Name (ARN) of the phone number or sender ID that you want to add to the pool.
**Tip**  
You can find both the ID and ARN of a phone number by using the [describe-phone-numbers](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/describe-phone-numbers.html) operation. You can find the ID and ARN of a sender ID by using the [describe-sender-ids](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/describe-sender-ids.html) operation.
  + Replace *XX* with the ISO-3166 alpha-2 identifier of the country for the *originationIdentity*.
  + If you plan to use the pool to send marketing or promotional messages, replace *TRANSACTIONAL* with `PROMOTIONAL`. Otherwise, use `TRANSACTIONAL`.

------

# Add a phone number or sender ID to a phone pool
<a name="phone-pool-add-number"></a>

Follow these directions to add a phone number or sender ID to a phone pool. The configuration of every phone number or sender ID that you add to a pool has to match the configuration of the phone pool. For example, if you create a pool and the first phone number added has two-way messaging enabled, the other phone numbers that you add to the pool must also have two-way messaging enabled.

------
#### [ Add a phone number or sender ID to a pool (Console) ]

To add a phone number or sender ID to a pool using the AWS End User Messaging SMS console, follow these steps:

**Add a phone number or sender ID (Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone Pools** page, choose the phone pool to add the origination identity to.

1. On the **Associated pool originators** tab, choose **Add originator**.

1. Choose one of the following options:
   + **Phone number** – If you choose this option, under the **Phone numbers available for association** section, do the following:
     + Choose a phone number to add to the phone pool.
   + **Sender ID** – If you choose this option, under the **Sender IDs available for association** section, do the following:
     + Choose a sender ID to add the phone pool.

1. Choose **Add originator to pool**.

------
#### [ Add a phone number or sender ID to a pool (AWS CLI) ]

You can use the [associate-origination-identity](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/associate-origination-identity.html) CLI to add phone numbers or sender IDs to an existing pool.

The configuration of every phone number or sender ID that you add to a pool has to match the configuration of the first phone number or sender ID that you specified when you created the pool. For example, if you create a pool that contains a phone number that has two-way messaging enabled, the other numbers that you add to the pool must also have two-way messaging enabled.

**To add a phone number or sender ID to a pool using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 associate-origination-identity \
  > --pool-id poolId \
  > --origination-identity originationIdentity \
  > --iso-country-code US
  ```

  In the preceding command, make the following changes:
  + Replace *poolId* with the ID or Amazon Resource Name (ARN) of the pool that you want to add the origination identity to.
  + Replace *originationIdentity* with the unique ID or Amazon Resource Name (ARN) of the phone number or sender ID that you want to add to the pool.
  + Replace *\$112065550142* with the origination identity that you want to add to the pool. This value can be a short code, a phone number, or a sender ID.
  + Replace *US* with the two-letter ISO-3166 alpha-2 code for the country of the origination identity.

------
#### [ List origination identities (AWS CLI) ]

You can use the [list-pool-origination-identities](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/list-pool-origination-identities.html) CLI to view information about all of the origination identities that have been added to a specific pool.

**To view a list of origination IDs in a pool using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 list-pool-origination-identities \
  > --pool-id pool-78ec067f62f94d57bd3bab991example
  ```

In the preceding command, replace *poolId* with the ID or Amazon Resource Name (ARN) of the pool.

------

# View all phone pools in AWS End User Messaging SMS
<a name="phone-pool-list"></a>

You can use the [describe-pools](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/describe-pools.html) CLI to view information about existing pools.

This operation can provide a complete list of all of the pools in your AWS End User Messaging SMS account, information about a specific pool, or a list of pools that is filtered based on criteria that you define.

**To retrieve a list of all of your pools using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 describe-pools
  ```

To find information about specific pools, use the `PoolId` parameter.

**To get information about specific pools using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 describe-pools \ 
  > --pool-id poolId
  ```

In the preceding command, replace *poolId* with the ID or Amazon Resource Name (ARN) of the pool.

To see a filtered list of pools, use the `Filters` parameter. You can use the following filter values:
+ `status` – The current status of the pool, such as `ACTIVE`.
+ `message-type` – The type of messages that the pool is used to send. Possible values are `TRANSACTIONAL` or `PROMOTIONAL`.
+ `two-way-enabled` – A boolean that indicates whether two-way SMS messaging is enabled for numbers in the pool.
+ `self-managed-opt-outs-enabled` – A boolean that indicates whether self-managed SMS opt-outs are enabled for numbers in the pool.
+ `opt-out-list-name` – The name of the opt-out list associated with the pool.
+ `shared-routes-enabled` – A boolean that indicates whether shared routes are enabled for the pool.
+ `deletion-protection-enabled` – A boolean that indicates whether or not the phone number can be deleted using the `DeletePhoneNumber` operation.

For example, if you want to view a list of pools for transactional messages that support two-way messaging, enter the following command at the command line:

```
$ aws pinpoint-sms-voice-v2 describe-pools \
> --filters Name=message-type,Values=TRANSACTIONAL \
> --filters Name=two-way-enabled,Values=true
```

# Delete a phone pool in AWS End User Messaging SMS
<a name="phone-pool-delete"></a>

Before you can delete a pool you need to turn off **Deletion protection** and remove all but one of originators from the phone pool. For more information on how to disable deletion protection, see [Using phone pool deletion protection in AWS End User Messaging SMS](phone-pool-deletion-protection.md). The phone numbers and sender IDs that were associated with the pool remain in your AWS End User Messaging SMS account.

------
#### [ Delete a phone pool (Console) ]

Before you can delete a pool you need to turn off Deletion protection and remove all originators from the phone pool. To delete a pool using the AWS End User Messaging SMS console, follow these steps:

**To delete a pool (Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pool**.

1. On the **Phone Pools** page, choose the pool to delete.

1. Choose **Delete**.

1. Enter **release** and then **Confirm** to delete the pool.

------
#### [ Delete a phone pool (AWS CLI) ]

Before you can delete a pool you need to turn off Deletion protection and remove all originators from the phone pool. You can use the [delete-pool](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/delete-pool.html) API to delete pools.

**To delete a pool using the AWS CLI**
+ To delete a pool, enter the following command at the command line:

  ```
  $ aws pinpoint-sms-voice-v2 delete-pool \
  > --pool-id pool-78ec067f62f94d57bd3bab991example
  ```

  In the preceding command, replace *pool-78ec067f62f94d57bd3bab991example* with the unique ID or the Amazon Resource Name (ARN) of the pool. You can find both of these values by using the [describe-pools](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/describe-pools.html) operation.

------

# Change a pool's opt-out list in AWS End User Messaging SMS
<a name="phone-pool-manage-opt-out-list"></a>

An *opt-out list* is list of destination phone numbers that should not have messages sent to them. When you send SMS messages, destination identities are automatically added to the opt-out list if they reply to your origination number with the keyword STOP (unless you enable the self-managed opt-out option). If you attempt to send a message to a destination number that is on an opt-out list, and the opt-out list is associated with the pool used to send the message, AWS End User Messaging SMS doesn't attempt to send the message. 

By default, when a pool is created it is assigned to the *Default* opt-out list. Pools can share the same opt-out list. When you change a pools opt-out list any recipients who previously opt-out might not be in the new list and start to receive messages. For more information on adding or removing destination phone numbers from an opt-out list, see [Add a destination phone number to an opt-out list in AWS End User Messaging SMS](opt-out-list-add-phone-number.md).

------
#### [ Change opt-out list (Console) ]

To change the opt-out list using the AWS End User Messaging SMS console, follow these steps:

**Change opt-out list**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone Pools** page, choose the pool.

1. On the **Opt-out list** tab, choose **Edit settings**.
   + **Create a new opt-out list** – Create a new empty opt-out list and enter a friendly name.
   + **Choose an existing opt-out list** – Choose a previously created opt-out list from the dropdown.

1. (Optional) To enable self-managed opt-outs choose **Enable self-managed opt-out**.

1. Choose **Save changes**.

------
#### [ Change opt-out list (AWS CLI) ]

You can use the [update-pool](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/update-pool.html) command to change the opt-out list used by the pool.

At the command line, enter the following command:

```
$ aws pinpoint-sms-voice-v2 update-pool --pool-id poolid --opt-out-list-name OptOutListName 
```

In the preceding command, make the following changes:
+ Replace *poolid* with the poolID or Amazon Resource Name (ARN) of the pool.
+ Replace *OptOutListName* with the Amazon Resource Name (ARN) or opt-out list name.

------

# Update shared routes in AWS End User Messaging SMS
<a name="phone-pool-shared-routes"></a>

In some countries, AWS End User Messaging SMS maintains a pool of shared origination identities. When you activate shared routes, AWS End User Messaging SMS makes an effort to deliver your message using one of the shared identities. The origination identity could be a sender ID, long code or short code and could vary within each country. When shared routes uses a sender ID as the origination identity, the sender ID will be a generic sender ID, such as `NOTICE`. Shared identities are unavailable in some countries, including the United States.

**Note**  
Shared routes can be subject to increased downstream filtering and dedicated routes, where available, are preferred.

**Turn on shared routes (AWS Management Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone Pools** page, choose the pool that will have shared routes enabled.

1. On the **Shared routes** tab, choose the **Edit settings** button.

1. Choose **Enable shared routes** and then **Save changes**.

# Using phone pool deletion protection in AWS End User Messaging SMS
<a name="phone-pool-deletion-protection"></a>

When you turn on deletion protection you will not be able to delete the pool until deletion protection is disabled. By default deletion protection is disabled.

**Enable deletion protection (Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone Pools** page, choose the phone pool that will have deletion enabled.

1. On the **Deletion protection** tab, choose **Edit settings**.

1. Choose **Enable deletion protection** and then **Save changes**.

# Manage AWS End User Messaging SMS tags for phone pools
<a name="phone-pool-tags"></a>

Tags are pairs of keys and values that you can optionally apply to your AWS resources to control access or usage. To change the name of a Pool by editing the value of the Name key/value pair.

------
#### [ Manage tags (Console) ]

Use the AWS End User Messaging SMS console to add or edit a Tag in your pool. 

**Manage tags (Console)**

1. Open the AWS End User Messaging SMS console at [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. In the navigation pane, under **Configurations**, choose **Phone pools**.

1. On the **Phone Pools** page, choose the phone pool to add a tag to.

1. On the **Tags** tab, choose **Manage tags**.
   + **Add a tag** – In **Manage tags**, choose **Add new tag** to create a new blank key/value pair.
   + **Delete a tag** – In **Manage tags**, choose **Remove** next to the key/value pair.
   + **Edit a tag** – In **Manage tags**, choose the **Key** or **Value** and edit the text.

1. Choose **Save changes**.

------
#### [ Manage tags (AWS CLI) ]

Use the AWS CLI to add or edit a Tag. 

```
$ aws pinpoint-sms-voice-v2 tag-resource \
  --resource-arn resource-arn \
  --tags tags={key1=value1,key2=value2}
```

In the preceding example, do the following:
+ Replace *resource-arn* with the Amazon Resource Name (ARN) that you want to add the tags to.
+ Replace *key1* and *key2* with the keys of the tags that you want to add to the resource.
+ Replace *value1* and *value2* with the values of the tags that you want to add for the respective keys.

Use the AWS CLI to delete a Tag. 

```
$ aws pinpoint-sms-voice-v2 untag-resource \
  --resource-arn resource-arn \
  --tag-keys tags={key1=value1,key2=value2}
```

In the preceding example, do the following:
+ Replace *resource-arn* with the Amazon Resource Name (ARN) that you want to remove the tag from.
+ Replace *key1* and *key2* with the keys of the tags that you want to remove.
+ Replace *value1* and *value2* with the values of the tags that you want to remove.

------

# List shared phone pools with the AWS CLI
<a name="phone-pool-shared"></a>

You can use the [describe-pools](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/describe-pools.html) CLI or the [AWS RAM console](https://console.aws.amazon.com/ram) to view information about pools shared with your account. For more information about shared resources, see [Working with shared resources in AWS End User Messaging SMS](shared-resources.md).

**To retrieve a list of pools shared with you using the AWS CLI**
+ At the command line, enter the following command:

  ```
  $ aws pinpoint-sms-voice-v2 describe-pools --owner SHARED
  ```

In the preceding command, replace *SHARED* with *SELF* to list the pools owned by your account.

# Managing AWS RCS Agents in pools
<a name="phone-pool-rcs-agents"></a>

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](rcs-sms-fallback.md).

**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
<a name="phone-pool-rcs-create"></a>

You can create a new pool that includes your AWS RCS Agent using the AWS End User Messaging console or the `CreatePool` API.

------
#### [ Console ]

**To create a pool with an AWS RCS Agent using the console**

1. Open the AWS End User Messaging console.

1. In the navigation pane, choose **Phone pools**.

1. Choose **Create pool**.

1. For **Origination identity**, select your AWS RCS Agent. The pool inherits its configuration from the origination identity you select.

1. Configure the pool settings as needed, then choose **Create pool**.

1. After the pool is created, add your SMS phone numbers to the pool to enable SMS fallback. All origination identities in the pool must have matching configuration. For details, see [Pool configuration requirements for RCS](#phone-pool-rcs-config).

------
#### [ AWS CLI ]

Use the `CreatePool` API to create a pool with your AWS RCS Agent as the initial origination identity. Specify the AWS RCS Agent ARN as the origination identity when creating the pool.

The following example creates a pool using the AWS CLI:

```
aws pinpoint-sms-voice-v2 create-pool \
    --origination-identity arn:aws:sms-voice:region:account-id:rcs-agent/rcs-agent-id \
    --iso-country-code ZZ \
    --message-type TRANSACTIONAL
```

After the pool is created, use the `AssociateOriginationIdentity` API to add SMS phone numbers to the pool for fallback.

------

## Adding AWS RCS Agents to existing pools
<a name="phone-pool-rcs-add"></a>

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](#phone-pool-rcs-config).

------
#### [ Console ]

Before adding an AWS RCS Agent to a pool using the console, inspect the pool's details page to review its current configuration. Confirm that the pool's message type, ISO country code, and other settings are compatible with the AWS RCS Agent you want to add.

**To add an AWS RCS Agent to an existing pool using the console**

1. Open the AWS End User Messaging console.

1. In the navigation pane, choose **Phone pools**.

1. Choose the pool that you want to add the AWS RCS Agent to.

1. Review the pool's configuration on the details page. Confirm that the message type and other settings match the AWS RCS Agent you want to add.

1. In the **Origination identities** section, choose **Add origination identity**.

1. Select your AWS RCS Agent from the list and choose **Add**.

------
#### [ AWS CLI ]

Before adding an AWS RCS Agent to a pool using the CLI or API, use the `DescribePools` API to retrieve the pool's current configuration. Verify that the pool's settings match the AWS RCS Agent you want to add.

The following example retrieves pool details:

```
aws pinpoint-sms-voice-v2 describe-pools \
    --pool-ids pool-id
```

After confirming the configuration matches, use the `AssociateOriginationIdentity` API to add the AWS RCS Agent to the pool:

```
aws pinpoint-sms-voice-v2 associate-origination-identity \
    --pool-id pool-id \
    --origination-identity arn:aws:sms-voice:region:account-id:rcs-agent/rcs-agent-id \
    --iso-country-code ZZ
```

------

## Pool configuration requirements for RCS
<a name="phone-pool-rcs-config"></a>

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.


**Immutable versus mutable pool configuration fields**  

| 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 `ZZ` as 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
<a name="phone-pool-rcs-config-conflict"></a>

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`:

1. Review the error message to identify which fields differ.

1. Update the origination identity or the pool configuration so that the fields match.

1. Retry the `AssociateOriginationIdentity` or `CreatePool` operation.

**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
<a name="phone-pool-rcs-remove"></a>

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).

------
#### [ Console ]

**To remove an AWS RCS Agent from a pool using the console**

1. Open the AWS End User Messaging console.

1. In the navigation pane, choose **Phone pools**.

1. Choose the pool that contains the AWS RCS Agent you want to remove.

1. In the **Origination identities** section, select the AWS RCS Agent.

1. Choose **Remove**, then confirm the removal.

------
#### [ AWS CLI ]

Use the `DisassociateOriginationIdentity` API to remove an AWS RCS Agent from a pool:

```
aws pinpoint-sms-voice-v2 disassociate-origination-identity \
    --pool-id pool-id \
    --origination-identity arn:aws:sms-voice:region:account-id:rcs-agent/rcs-agent-id \
    --iso-country-code ZZ
```

After removing the AWS RCS Agent, messages sent through the pool are delivered via SMS only. To re-enable RCS delivery, add the AWS RCS Agent back to the pool using the `AssociateOriginationIdentity` API.

------