

# Tutorial for sending a message using AWS End User Messaging SMS
<a name="getting-started-tutorial"></a>

This section provides an overview of the tutorial designed to help you start using AWS End User Messaging SMS.

**Intended Audience**  
This tutorial is designed for system administrators and developers responsible for setting up, testing, and deploying AWS End User Messaging SMS.

**Features Used**  
This tutorial shows you how to use the AWS End User Messaging SMS console to:  
+ Create and configure a phone pool.
+ Request an origination identity, which is either a phone number or sender ID.
+ Create and configure a protect configuration.
+ Send a test SMS message with the SMS simulator.

**Time Required**  
It should take about 10–15 minutes to complete this tutorial.

**Regional Restrictions**  
There are no country or regional restrictions associated with using this solution.

**Resource Usage Costs**  
There's no charge for creating an AWS account. However, by implementing this solution, you might incur some or all of the costs that are listed in the following table.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/sms-voice/latest/userguide/getting-started-tutorial.html)

**AWS account permissions**  
The account that you use to sign in to the AWS Management Console has to be able to perform the following tasks:  
+ Create a pool
+ Create a configuration set
+ Create an event destination
+ Send SMS messages
For more information about account permissions, see [Identity and access management for AWS End User Messaging SMS](security-iam.md).

## Step 1: Create a pool
<a name="getting-started-tutorial-step1"></a>

The procedures in this section show you how to create a pool and add either a phone number or sender ID to the pool.

**To create a pool**

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 **Overview**, in the **Quick start** section, choose **Create pool**.

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

1. Choose one of the following options:
   + **Phone number** – If you choose this option, under **Phone numbers available for association**, choose either:
     + **Request simulator number**, and in the **Country** dropdown list, choose the destination country and then **Request number**. 
**Note**  
A simulated phone number doesn't require registration. It generates realistic events and is used for testing. Messages sent from a simulator number can only be sent to other simulator destination numbers and aren't sent over the carrier network. 
     + Choose a phone number that you've previously purchased.
   + **Sender ID** – If you choose this option, choose a sender ID from **Sender IDs available for association**.

1. Choose **Create phone pool**.

## Step 2: Create a configuration set
<a name="getting-started-tutorial-step2"></a>

The procedures in this section show you how to create a configuration set, add a CloudWatch Events, Amazon Data Firehose, or Amazon SNS destination and choose the event types.

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 **Overview**, in the **Quick start** section, choose **Create set**.

1. Under the **Configuration set details** section, enter a name in **Configuration set name**.

1. For **Event destination setup**, choose either:
   + **Set up CloudFormation** (Recommended) to have CloudFormation create and configure CloudWatch, Amazon Data Firehose and Amazon SNS to log all events. 
     + For **Event destination name** enter a name for the event destination. 
     + Choose **Launch stack**. 
     + A new browser window will open. Review the **Quick create stack** form and check any acknowledgements. Choose **Create stack**.
**Note**  
Creating the CloudFormation stack can take up to five minutes.
     + When the status indicator for the CloudFormation stack on the **Create configuration set** page is **Stack created**, choose **Create**.
   + **Setup event destination** to manually set up the configuration set and event destination. 
     + For **Event destination name**, enter a name for the event destination. 
     + For **Destination type**, choose either CloudWatch, Amazon Data Firehose or Amazon SNS. For more information on how to setup these event destinations see [Set up Amazon CloudWatch event destination](configuration-sets-cloud-watch.md), [Set up Amazon Data Firehose event destination](configuration-sets-kinesis.md) and [Set up an Amazon SNS event destination](configuration-sets-sns.md) 
     + Under **Event types**, choose the appropriate option:
       + **All SMS events (Recommended)** – Send all SMS events listed in [Event types](configuration-sets-event-types.md) to the event destination.
       + **Custom SMS events** – Choose specific SMS events to send to the event destination. To edit the list of events choose **Edit SMS event selection**. In the **Edit SMS event selection** window choose only the events that you want to log. Choose **Save selection**.
       + **All MMS events (Recommended)** – Send all MMS events listed in [Event types](configuration-sets-event-types.md) to the event destination.
       + **Custom MMS events** – Choose specific MMS events to send to the event destination. To edit the list of events choose **Edit MMS event selection**. In the **Edit MMS event selection** window choose only the events that you want to log. Choose **Save selection**.
       + **All voice events (Recommended)** – Send all voice events listed in [Event types](configuration-sets-event-types.md) to the event destination.
       + **Custom voice events** – Choose specific voice events to send to the event destination. To edit the list of events, choose **Edit voice event selection**. In the **Edit voice event selection** window choose only the events the you want to log. Choose **Save selection**.
     + Choose **Create**.

1. Choose **Create configuration set**

## Step 3: Create a protect configuration
<a name="getting-started-tutorial-step4"></a>

The procedures in this section show you how to create a protect configuration to specify which countries AWS End User Messaging SMS can send messages to. 

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 **Overview**, in the **Quick start** section, choose **Create configuration**.

1. Under **Protect configuration details** enter a friendly name for your protect configuration in **Protect configuration name**.

1. Under Country rules, select the countries you want to set rules for. For each country, choose whether to block, filter, or allow message sending. We recommend:
   + Setting block rules for countries you don't do business in.
   + Using filter rules for countries with high per-message costs or where you have SMS pumping concerns.
   + Setting allow rules for countries where you do not wish to use filter.
**Note**  
Do not block the country that you are going to send a test message to in the next step.

1. In **Protect configuration associates** under **Association type**, choose **Configuration set association**. Under **Configuration sets available for association**, choose the configuration set you created in step 2.

1. Choose **Create configuration**.

## Step 4: Send a test message with the SMS simulator
<a name="getting-started-tutorial-step3"></a>

**Note**  
To add a verified destination phone number you must have an originator that's status is *Active*, see [View a phone number status and capabilities in AWS End User Messaging SMS](phone-numbers-status.md). If you don't have an *Active* originator then use a simulator phone number and a simulator destination phone number to send and receive the test SMS message.

The procedures in this section show you how to send a test SMS message to verify your environment is correctly configured. 

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 **Overview**, in the **Quick start** section, choose **Test SMS sending**.

1. For **Originator**, choose either **Phone pool**, **Phone number** or **Sender ID** as the type of originator to send the test message. You then need to select the originator identity from the dropdown list.

   1. (Optional) If you need a simulator phone number then choose **Request simulator number**. In the **Request simulator number** window choose a **Country** from the dropdown list and then choose **Request number**.
**Important**  
Simulator phone numbers can only send to other simulator destination phone numbers however they behave like actual phone numbers without sending over the carrier network. You can not use a simulator phone number to verify a destination phone number. For example, US simulator phone numbers can only send to US destination simulator phone numbers. 

1. In the **Destination number** section, choose either **Simulator number** or **Verified number** and then select the number from the dropdown list.

   To view your current list of verified destination numbers choose **Verified number** then expand **Manage verified destination number**. If you don't have any verified destination phone numbers, or need to add a new verified destination phone number, do the following:

   1. To verify a new destination phone number, choose **Verify new number**.

   1. In the **Add phone number** window for **Destination phone number**, enter the phone number of the device to receive the test message. The phone number must start with a '\$1' and can't contain any spaces, hyphens, or parentheses. For example, `+1 (206) 555-0142` is not in the correct format, but `+12065550142` is.

   1. Choose **Send verification code**.

   1. The destination device will receive a verification code that is valid for 15 minutes. Enter the code the device received into the **Verification code** field.

   1. Choose **Verify number**.

1. For **Configuration set**, choose the event destination to receive the event data. 

1. For **Message body**, enter a custom SMS message.

1. Choose **Send test message**.

1. For **Event logs: CloudWatch**, choose the refresh button to display the event log of the test message.
**Tip**  
Wait at least at 10 seconds after sending the test SMS message before refreshing.

## Next steps: Move from sandbox to production
<a name="getting-started-tutorial-step1-next-steps"></a>

After fully testing your SMS environment in the SMS sandbox, you can request to move to production.

1. Create an AWS Support case at [https://support.console.aws.amazon.com/support/home\$1/case/create?issueType=service-limit-increase](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase).

1. Choose the **Looking for service limit increases?** link, then complete the following:
   + For **Service**, choose **AWS End User Messaging SMS (Pinpoint)**.
   + For **Provide a link to the site or app which will be sending SMS messages**, provide information about the website, application, or service that will send SMS messages.
   + For **What type of messages do you plan to send**, choose the type of message that you plan to send by using your origination identity:
     + **One Time Password** – Messages that provide passwords that your customers use to authenticate with your website or application.
     + **Promotional** – Noncritical messages that promote your business or service, such as special offers or announcements.
     + **Transactional** – Important informational messages that support customer transactions, such as order confirmations or account alerts. Transactional messages must not contain promotional or marketing content.
   + For **Which AWS Region will you be sending messages from**, choose the AWS Region that you will be sending messages from.
   + For **Which countries do you plan to send messages to**, enter the country or region that you want to purchase short codes in.
   + For **How do your customers opt to receive messages from you**, provide details about your opt-in process.
   +  For **Please provide the message template that you plan to use to send messages to your customers**, include the template that you will be using.

1. Under **Requests**, complete the following sections:
   + For the **Region**, choose the AWS Region from which you will be sending messages. 
**Note**  
The Region is required in the **Requests** section. Even if you provided this information in the **Case details** section, you must also include it here.
   + For **Resource Type**, choose** General Limits**.
   + For the **Quota**, choose **SMS Production Access**.
   + For **New quota value**, enter 1.

1. Under **Case description**, for **Use case description**, enter any relevant details about this request.

1. (Optional) If you want to submit any further requests, choose **Add another request**. 

1. Under **Contact options**, for **Preferred contact language**, choose whether you want to receive communications for this case in **English** or **Japanese**.

1. When you finish, choose **Submit**.