Introduction

    The US and Canada heavily regulate SMS messages sent using regular 10-digit phone numbers (long codes). Long codes, however, remain the medium of choice for businesses who wish to engage with their customers via SMS. The familiarity that long codes lend to a conversation, their price advantage and the easy procurement process make long codes a natural choice for most end-users.

    Powerpack makes SMS communication using long codes effective and reliable at scale. It is designed to meet large scale SMS throughput and volume requirements. By automatically distributing your overall SMS traffic across a pool of source numbers, Powerpack keeps you compliant with per day and per second throughput limits as defined by the CTIA (Cellular Telecommunications Industry Association).

    Product features

    1. High deliverability - Power Pack provides high deliverability by intelligently managing your numbers. PowerPack is very adaptable with elimination of single point failure and intelligent load management.
    2. Number pool - Powerpack intelligently distributes your outbound SMS traffic over a pool of source numbers optimal for your overall SMS volumes. It only takes a few seconds to set up a pool of source numbers that is just right for your SMS volume.
    3. Regulatory compliance - SMS regulatory compliance varies not only by the number type but often by location. PowerPack is built in with a consolidated and harmonised set of compliance control that in turn helps high deliverability and throughput.
    4. Sticky Sender - If you wish to contact the same subscriber more than once, PowerPack can help maintain a single conversation thread by always sending messages to the subscriber from the same source number in the pool. Enable Sticky Sender feature in the powerpack console to utilize conversation threading feature.
    5. Local Connect - Continuing to personalize your SMS communication, Local Connect prioritizes phone numbers in the pool that match the region and/or area code of the subscriber.
    6. Automatic fallback - You can now enable automatic fallback with PowerPack by adding Plivo toll-free numbers or shortcodes to your existing or new Powerpacks. PowerPack’s reliable crossover will help switch from one number type to another without any delivery loss. With the ability to add toll-free numbers and shortcode numbers to your Powerpack, you can combine the benefits of these numbers and Powerpack. Toll-free/ShortCode is the product of choice when it comes to Application to Person (A2P) messages sent at high scale.

    Creating a New Powerpack

    To create a new Powerpack, please follow these steps.

    1. Log in to your Plivo Console dashboard.
    2. Navigate to the SMS Powerpack management console.
    3. On the SMS Powerpack page, click Add New Powerpack. add new powerpack
    4. In the “properties” section, enter a name for the new Powerpack. Update properties
    5. Enable Sticky Sender if you would like to ensure that messages sent to a particular number are always sent from the same Powerpack source number.
    6. Enable Local Connect if you would like to ensure that Powerpack prioritizes using a source number belonging to the same region or area code as the destination number for an outbound SMS.
    7. Under the application settings, select the application type and name from the respective dropdowns.
    8. In the “Configure Number Pool” section, enter the count of phone numbers at a country and/or regional level.
      • To configure your number pool at a country level, enter your daily SMS volume for the US and Canada. Plivo will recommend the optimal phone number pool size based on your input. Numberpool Country Composition
      • To configure your number pool at an area code or region level, use the “Advanced settings” option to add phone numbers to the number pool at a more granular level as shown below. Numberpool Region Composition
    9. Pro-tip: If you don’t need to get more granular than state-level region matching, simply specify the total count of numbers against any prefix from that state.
    10. Specify the pool size, and click “Add Powerpack”. This will initiate the purchasing and provisioning of phone numbers.

    Sending Outbound Messages

    To send messages using Powerpack, please follow these steps.

    1. On the SMS page, click “Powerpacks” to view all of your Powerpacks.
    2. Copy the Powerpack ID for the Powerpack you wish to use.

      Copy Powerpack ID

    3. Enter your Powerpack ID for powerpack_uuid in the Send SMS API request.

    Code Samples

    1
    2
    3
    4
    5
    6
    7
    8
    
    import plivo
    
    client = plivo.RestClient('AUTH_ID','AUTH_TOKEN')
    message_created = client.messages.create(
        powerpack_uuid='your_powerpack_uuid',
        dst='destination_number',
        text='Test Message'
    )
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    require 'rubygems'	
    require 'plivo'	
    
    include Plivo	
    
    client = RestClient.new("AUTH_ID","AUTH_TOKEN")
    response = client.messages.create(	
      nil,	
      [destination_number],	
      'Test Message',	
      powerpack_uuid: 'your_powerpack_uuid'	
    )	
    puts response
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    let plivo = require('plivo');
    let client = new plivo.Client('AUTH_ID','AUTH_TOKEN');
    
    client.messages.create(
      null,
      'destination_number',
      'Test Message',
      {},
      'your_powerpack_uuid'
    ).then(function (message_created) {
      console.log(message_created)
    })
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    require 'vendor/autoload.php';	
    use Plivo\RestClient;	
    
    $client = new RestClient('AUTH_ID', 'AUTH_TOKEN');	
    $message_created = $client->messages->create(	
        null,	
        ['destination_number'],	
        'Test Message',	
        [],	
        'your_powerpack_uuid'	
    );	
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    package com.plivo.api;
    
    import com.plivo.api.models.message.Message;
    import com.plivo.api.exceptions.PlivoRestException;
    import java.io.IOException;
    import java.util.Collections;
    
    class Example {
      public static void main(String[] args) throws IOException, PlivoRestException {
        Plivo.init("AUTH_ID", "AUTH_TOKEN");
        Message.creator(Collections.singletonList("destination_number"), "Test Message", "your_powerpack_uuid").create();
      }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    package main
    
    import "github.com/plivo/plivo-go"
    
    func main() {
    	client, err := plivo.NewClient("AUTH_ID", "AUTH_TOKEN", &plivo.ClientOptions{})
    	if err != nil {
    		panic(err)
    	}
    	client.Messages.Create(plivo.MessageCreateParams{
    		PowerpackUUID: "your_powerpack_uuid",
    		Dst:           "destination_number",
    		Text:          "Test Message",
    	})
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    using System;	
    using System.Collections.Generic;	
    using Plivo;	
    
    internal class Program	
    {	
        public static void Main(string[] args)	
        {	
            var api = new PlivoApi("AUTH_ID", "AUTH_TOKEN");	
            var response = api.Message.Create(	
                powerpack_uuid:"your_powerpack_uuid",	
                dst:new List<String>{"destination_number"},	
                text:"Test Message"	
            );	
            Console.WriteLine(response);	
        }	
    }	
    

    Updating a Powerpack

    To modify or update your Powerpack

    1. On the SMS Powerpacks page, click “All Powerpacks” to view all of your Powerpacks.
    2. Select the Powerpack you wish to modify or update.
    3. In the “Properties” section, modify Sticky Sender by enabling or disabling it, and then click “Update”.
    4. In the “Properties” section, modify Local Connect by enabling or disabling it, and then click “Update”.
    5. You can also manually remove phone numbers from your number pool by clicking on “View Numbers”.

      Numbers in number pool

    6. Select Delete & Unrent for the number you wish to remove from your number pool.

    Receiving Incoming Messages

    Plivo’s Applications can handle all incoming messages to the Powerpack phone numbers. To create a new Plivo Application, navigate to the “create new Application” section on your Plivo Console. Once created, you can associate this application with your Powerpack.

    Once you have configured an application for your Powerpack, all incoming messages to your Powerpack phone numbers are posted to the message_url in your Plivo Application.

    Update properties of powerpack

    1. In the application settings, modify the application by selecting the type and name from the respective dropdowns.
    2. In the Number Pool Composition section, the total count of phone numbers in the number pool is displayed for each country.
      • To update your number pool composition at a country level, update the number count for the country and click on “Update”. Update Composition Country
      • To update your number pool composition at an area code or region level, open “Advanced settings,” update the number count for the region or area code, and click on “Update”. Update Composition Region
    3. If you are increasing the pool size, a dialogue box will prompt you to confirm the purchase of new numbers.

    Local Connect

    Local Connect is designed to make SMS communication personal. It ensures that SMS messages get sent using a local phone number with the same area code or regional prefix as the destination number.

    Enabling Local Connect

    Local Connect preferences can be managed from the Powerpack management console.

    Enable local connect

    Local Connect preferences can be updated for existing Powerpacks as and when required. Any update to your Local Connect preferences will reflect in the source number resolution logic instantaneously.

    How Region-Based Source Number Resolution Works in Local Connect

    Flowchart

    For Example –

    If you’re sending an SMS message to a San Francisco number beginning with 415:

    • If a phone number with prefix 415 is present in the number pool, Powerpack will use it to send the outbound SMS,
    • If a phone number with 415 prefixes is not found in the number pool, or if all the phone numbers with 415 prefix in the pool have already been used to recommended capacity (150 messages/day), Powerpack will deliver the SMS through any other phone number of the same region as the destination number (in this case, California).
    • If no phone numbers of the same region are found in the Powerpack, the SMS will be sent via a random US phone number.
    • If no US phone numbers are found in the pool, the SMS would be sent via a Canadian number.

    Sticky Sender

    Sticky Sender is designed to maintain a single thread of conversation. It ensures that SMS messages are sent to the subscriber from the same source number in the pool.

    Enabling Sticky Sender

    Sticky Sender preferences can be managed from the Powerpack management console.

    Enable Sticky Sender

    This feature can be updated for existing Powerpacks at any time. Any update to your Sticky Sender preference will reflect in the source number resolution logic instantaneously.

    PowerPack - Automatic Fallback

    You can now add shortcodes, toll-free and long code numbers to your Powerpack. When there is more than one type of number added to a Powerpack, the Powerpack automatically falls back to the next best type during message delivery failures. This feature is designed to guarantee delivery for all high scale requirements. High availability and guaranteed delivery make this a cost-efficient solution.

    For the US, the default fallback priority list is given below. You may contact our Support Team to customize this setup.

    • Shortcode - priority 1
    • Toll-free - priority 2
    • Long code - priority 3

    For Canada, the default fallback priority list is given below. You may contact our Support Team to customize this setup.

    • Shortcode - priority 1
    • Long code - priority 2
    • Toll-free - priority 3

    As a general rule, we recommend having more than one number type in your Powerpack.

    The number of long codes should be based on your average SMS traffic volume and our number pool size recommendation. We recommend having long code numbers and toll-free numbers in your Powerpack, with long codes prioritized over toll-free numbers. Please note the number of long codes present in your Powerpack is an important factor for sending messages on a high scale. We request that you stick to the recommended set of numbers.

    Add a Toll-free to Powerpack

    Combining toll-free numbers in the Powerpack helps in two major ways.

    1. Run multi-region SMS business campaigns:-toll-free numbers support delivery at a larger scale. Combining this scaling capability with PowerPack gives you increased availability and high-scale deliverability.
    2. Reach networks not supported by your toll-free numbers:- Even though toll-free numbers can reach most destination networks, there might be some networks that are not supported. In these instances, Powerpack intelligently falls back to using other numbers in the pool.

    For example: If you are sending messages to destination networks C1 and C2 using Powerpack, but C2 is not supported by the configured toll-free number. Powerpack will use the other numbers in the pool to send messages to the C2 mobile network and shortcode numbers to reach customers in C1._

    To use toll-free with Powerpack:

    • To add toll-free numbers to your Powerpack, you can go to the Powerpack page in your Console and add a toll-free number through our toll-free section in the Powerpack.
    • Only one toll-free number can be added to your Powerpack
    • Once you have the toll-free numbers added to your Powerpack, toll-free numbers will be used to send an outbound message if the destination network and country support toll-free messaging. Otherwise, Powerpack will fall back to using other numbers in the number pool.