Fallback Sender ID in AWS End User Messaging

0

Hello,

In our application we need SMS in two use cases:

  • OTP for authentication
  • Verification code before actions

We cannot anticipate in advance the countries to which SMS will need to be sent.

Using the AWS End User Messaging service, we would like to implement the following mechanism:

  • Send SMS with a Sender ID
  • If the Sender IDrequires registration in the destination country, then fallback to sending with a regular long number

If we understand correctly, creating a phone number pool would allow us to solve this use case. Technically, it would be sufficient to create two phone numbers (one with a Sender ID and one long number). Then, from a technical point of view, we would just need to reference the poolID in the originationIdentity parameter of the PinpointSmsVoiceV2Client(AWS SDK), and by default, the Sender ID (being the first number) would be used, with fallback to the second number if necessary?

Thank you in advance for your help.

1 Answer
1

Your understanding of using AWS End User Messaging for your SMS use cases is generally correct, but there are a few important points to clarify and consider:

  1. Phone Pool Concept: A phone pool in AWS End User Messaging is indeed a collection of origination identities that can include both phone numbers and sender IDs. This can help manage sending to multiple country codes with appropriate originators for each country.

  2. Fallback Mechanism: AWS End User Messaging does have a fallback mechanism, but it doesn't work exactly as you described. The service follows a specific order when trying to find a valid number for sending messages:

    • It first tries to use the origination number (with the correct resource policy)
    • If that fails, it moves to sender ID (again, with the correct resource policy)
    • Finally, it may use shared routes if configured
  3. Sender ID vs. Phone Numbers: Sender IDs and phone numbers are treated differently. Sender IDs are alphanumeric identifiers, while phone numbers are numeric. You can't simply create "two phone numbers (one with a Sender ID and one long number)" as they are distinct types of origination identities.

  4. Dynamic Sender IDs: For countries that support dynamic sender IDs, you can specify the sender ID in the OriginationIdentity parameter of the SendTextMessage API call.

  5. Registration Requirements: Some countries require sender ID registration, while others don't. The service will use the appropriate method based on the destination country's requirements.

  6. Pool Configuration: When setting up a pool, pay attention to the "Shared Routes" configuration. This feature allows End User Messaging to use shared identities in some countries, which could be sender IDs, long codes, or short codes.

To implement your desired mechanism:

  1. Create a phone pool that includes your preferred sender ID and a long code number.
  2. Use the pool ID in your API calls.
  3. The service will attempt to use the sender ID where possible, and fall back to the long code or shared routes where necessary.

Remember to set up appropriate resource policies for your origination identities to ensure they can be used by the service. Also, consider that sender IDs don't support two-way communication, so you may need alternative methods for opt-outs or preference changes.

For your specific use cases (OTP and verification codes), this setup should work well across various countries, providing a balance between branded messaging where possible and reliable delivery using long codes where sender IDs are not supported or registered.
Sources
A Guide to the New Resource Policies for SMS Origination Identities in AWS | AWS Messaging & Targeting Blog
How to Send SMS Using a Sender ID with AWS End User Messaging | AWS Messaging & Targeting Blog
AWS End User Messaging SMS concepts - AWS End User Messaging SMS
Sender IDs in AWS End User Messaging SMS - AWS End User Messaging SMS

profile picture
answered 16 days ago
profile pictureAWS
EXPERT
reviewed 15 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions