Skip to main content

Country-wise restrictions and features

  • Why am I getting the error "This caller ID is not allowed for outbound message"?

    When you are sending an SMS to a US/ Canada destination number, please use your US long code number (from your Plivo account) in the international format.

    If you are using any other number in the source parameter, you will get this error: "this caller id is not allowed for outbound message".

  • What are the limitations and restrictions on US long code SMS messages?

    Long codes are regular 10-digit US/Canada phone numbers that can make and receive voice calls as well as SMS messages. Long codes are meant for person-to-person communication. Long-codes are not recommended for bulk messaging.

    The following characteristics of application-to-person SMS messages will cause your message to be blocked by carriers.

    1. When more than 200 SMS are sent per day per long code number
    2. When the ratio of incoming to outgoing SMS on a long code number is more than 1:3.
    3. For destinations other than US/ Canada: messages will be queued if sent more than 1 SMS/4-second/long code number
    4. When the same message is sent to the same user within 5-10 seconds of the first message.

     Other factors that can result in SMS blocking: 

    •   The use of repetitive URL's and keywords or shortened links(such as in the SMS content.
    •   Multi-unit messages. 

    Note: When sending SMS to US destination numbers, please use your US long-code number (from Plivo account) in international format. If not, you will get this error message: "This caller id is not allowed for outbound message"

  • Introducing Incoming Message Content and Source Number Redaction

    We’ve introduced an application-level flag to control whether message content or source numbers from incoming messages to Plivo phone numbers should be redacted from Plivo debug logs and databases.

     When Message Redaction is enabled for an application, the following changes take place:

    1. The content of incoming messages to Plivo phone numbers associated with the application are redacted from all internal Plivo server logs, as well as the debug logs available on the Plivo Console.
    2. The last three digits of the source number from which the SMS originated are redacted from all internal Plivo server logs, as well as the debug logs available on the Plivo console.
    3. The last three digits of the source number from which the SMS originated are redacted from the Message Detail Record (MDR) generated for the message. Fetching MDRs for such messages would return the redacted source numbers.

    Note that Message Redaction has been disabled for all your existing Plivo applications by default. Please read more below to learn how to turn on message redaction for your application.

    Configuring message redaction for Plivo applications

     Message redaction can be enabled or disabled for Plivo applications through the Plivo Console or by using the application APIs.

     Turning message redaction on or off from the Plivo Console

    Select the application from the SMS Applications page. Check the ‘Redact Incoming Messages’ checkbox to enable redaction for incoming messages to phone numbers associated with the application.


     Turning message redaction on or off using the application API

    The log_incoming_messages attribute of the application resource can be used to enable or disable message redaction.

     When creating a new application, set the log_incoming_messages attribute to false in the Create Application API request to enable message redaction. The default value for this attribute is true, which means that message redaction is disabled unless explicitly enabled.

     Message redaction may be enabled/disabled for any application at any time using the Update Application API.

    How does message redaction impact the message URL payload?

     The feature is designed to offer our customers control over message details that may be logged in Plivo systems for debugging purposes.

     If a message_url has been configured, Plivo will attempt to post the non-redacted message content and the non-redacted source number to it.

     For enhanced security, we recommend our customers to configure secure HTTPS endpoints for their message URLs.

  • Enhanced Destination Number Validation for SMS

    Plivo’s platform now has the capability to identify invalid and non-SMS-enabled destination numbers. We’re able to fix an incorrectly formatted destination numbers to improve delivery rates and provide a better end-user experience. This update will bring multiple benefits to our customers as outlined below.

    Cost savings

    Since we don’t accept messages sent to invalid destination numbers for delivery, we will not charge for them – translating into immediate cost-savings.

    Synchronous handling for invalid numbers

    Customers will now be able to propagate the invalidation error upstream easily, since SMS API requests to invalid and non-SMS-enabled numbers will be rejected with a 400 Bad Request API response. Here’s an example of how this works in an OTP use case:

    Step 1: The end-user request an OTP on an invalid destination number.

    Step 2: The customer initiates a Send SMS API request.

    Step 3: Plivo returns 400 Bad Request response synchronously.

    Step 4: The customer displays ‘invalid number’ error to end-user. 

    Format correction for phone numbers

    The platform now has the capability to intelligently reformat incorrectly formatted phone numbers. Here are two scenarios to illustrate how this works. 

     Scenario 1: The user enters the Lithuanian number 370860112345. Plivo automatically reformats the number to the E164 international format +37060112345 before forwarding to downstream carriers. Notice the 8 has been removed in the formatted number. This is because Plivo recognizes that 8 is only required when dialing a Lithuanian number from inside Lithuania.

     Scenario 2: The user enters the Mexico number 520455512345678 and it is reformatted to the E164 international format +5215512345678. Notice that 045 has been replaced with 1. This is because 045 is only to be used when dialing a domestic cell phone from a landline, whereas 521 is the prefix for mobile phone numbers in E164 format.

    Enabling Enhanced Destination Number Validation

    •   All new Plivo customers will have Enhanced Destination Number Validation for SMS enabled by default.
    •   Existing customers can enable Enhanced Destination Number Validation for SMS from the SMS Settings page in the Plivo Console. We recommend all our customers to enable this feature.

     Note: Landlines in the US, Canada, and the UK can be enabled for SMS. Therefore, Plivo will not reject SMS messages to landline numbers in these countries.

  • What is the difference between A2P and P2P SMS?

    A2P and P2P are two different categories of messages determined by the type and volume of traffic that is being sent.

    A2P (Application to Person): an application acts as the sender. A large volume of messages is sent per second. Bulk messaging, broadcasting, A2P usage, alert systems are good analogues for this type of messaging.

    P2P (Person to Person): a person acts as the sender. This type of messaging allows someone to send a small volume of messages. The traffic profile should resemble typical human behavior, i.e. it should be conversational (two-way) and at a frequency of no more than one message per second per number. 

    P2P and A2P messaging in the US and Canada

    There are many regulations around P2P and A2P traffic in the US and Canada.

    US and Canada long codes should only be used for two-way P2P messaging. Spam filters are implemented by most carriers and mobile operators in the US and Canada to identify A2P traffic originating from long codes. This type of traffic is being filtered out more than ever.

    A2P messages in the US and Canada should be sent via shortcodes and toll-free numbers only. Plivo offers shortcodes as well as SMS-enabled toll-free numbers for enterprise communication. Contact us with your specific needs for more information.

    To learn more about toll-free SMS, check out this guide on our blog:

    International destinations

    Plivo works with most major international telecom operators directly or through partner direct connections. These connections are specifically sanctioned for A2P traffic. However, restrictions on message content, volume, and frequency can vary from country to country. Reach out to us with your specific use case to learn more about country-specific restrictions that may apply to your SMS traffic.

  • What's the outgoing rate limit for SMS messages?

    Many of our clients need to send messages in bulk to customers and prospects. While being a very important communication channel, the practice of bulk-send for SMS has been subject to scrutiny in recent times to prevent and avoid spam messages. Operators and regulatory bodies are sensitive to the number of messages that can be sent out per minute from a given number. The business impact of rate-limiting by the authorities ranges from reduced customer reach and poor delivery rates to potential blocking of service for non-compliance.

    Plivo’s messaging platform solves this problem by delivering your messages to downstream operators based on the type of source number used and the destination country. A dedicated queue is maintained for each of your source numbers.

    This means that if you need to send messages using the Plivo SMS API to a specific destination country at a throughput greater than what is available from a single source number, you can increase your overall capacity by distributing your traffic across a pool of Plivo numbers. The combination of Plivo Smart Queue, together with the availability of a pool of numbers, means that you can achieve the throughput required for your business while staying within the recommended per number rate limits.


    Do I need to contact you to get this enabled on my Plivo account?

    No. Plivo Smart Queue is enabled for Plivo accounts by default.

    How do I determine the current status of a message? Can I see whether it is queued or has been sent out?

    When a message is in the queue, the status is set to ‘queued’. The message is marked as ‘sent’ once it has been passed on to downstream carrier networks. Read more about message statuses here.

    Are these the only rate limits that apply to my SMS traffic?

    You can send SMS requests to Plivo at any rate you wish. However, all messages received by Plivo are first put into the primary queue. Messages are de-queued from the primary queue based on the account level MPS (Messages Per Second) configured your account. Messages are then throttled for final delivery by Smart Queue based on the source type and destination country.

    Will Smart Queue process messages in the order in which they were sent to Plivo?

    Yes, Smart Queue uses an ordered set as its primary data structure. This ensures that your messages are never processed out of order.

    How are long (multi-part) messages handled?

    Multi-part messages are enqueued, de-queued and processed as a single entity at all times. The de-queue rate of a message is auto-adjusted based on the size of the message to ensure that your traffic remains compliant regardless of the size of the message. For instance, if you send a two-part SMS from a US source number, the message would be de-queued two seconds after the previous message in that source number’s Smart Queue.

    For information regarding sending SMS’s at a higher capacity, please contact our Sales Team.