Enabling International calls and texting

Through aNinja you can call and text US phone numbers, by default.

However, if you want to reach out to phone numbers outside of the US, we can enable international calls and texting. Just reach out to support@aninja.com.

International SMS Messaging & Dialing Geographic Permissions (Geo Permissions)

You number is set by default to only allow calls and texts inside the US. To send SMS messages to new countries, we need to modify your permissions. And that’s through Geo Permissions.

It’s a tool to configure the list of countries to which your number allows calling and sending messages to.

Please keep in mind that each country has its own individual regulations. And they may apply based on sender type, use case, or may require additional registration.

Messaging Geo Permissions

Messaging Geographic Permissions generally work based on the country code of the destination phone number.

Recently, fraud in the SMS ecosystem has risen. As a line of defense against fraudulent activity, our carrier recommends disabling destination countries your business doesn’t use.

Messages Blocked by Geo Permissions

You receive Error 21408 when you are trying to send SMS to a region that has not been enabled in your account’s Messaging Geo Permissions settings.

Dialing Geo Permissions

The Carrier has segmented phone numbers for each of the countries they can reach into two buckets:

  • One group of numbers with low fraud risk, which you have access to the right out of the box.
  • And another group that has higher risk for fraud, are enabled in the same way, but require upgraded accounts to access.

Calls Blocked by Geo Permissions

Outbound calls that are blocked by Geo Permissions will be flagged by one of the following notifications:

  • 21215
  • 32205
  • 13227

So, let us know the countries you want to enable by sending us an email to support@aninja.com.

SMS Encoding GSM-7 and UCS-2

In this article, we explain the SMS encoding and explore two common methods: GSM-7 and UCS-2

In the world of SMS messaging, understanding the nuances of GSM-7 and UCS-2 encoding is key to ensuring efficient and cost-effective communication.


When it comes to sending SMS messages, not all characters are created equal.

In fact, the way your text is encoded can greatly impact the number of text segments sent. It also impacts the cost of sending those messages. And even whether or not your recipients can properly receive your messages.

What is SMS Encoding

It refers to the process of converting text characters into a format that can be transmitted over a mobile network. Since SMS messages have limitations in terms of character count, encoding is necessary to ensure that messages are transmitted efficiently.

GSM-7 Encoding

GSM-7 is a widely used encoding standard that allows for the transmission of text messages in a compact form.

It supports a set of 160 characters. It also includes uppercase letters, lowercase letters, numbers, and common punctuation marks.

However, not all characters are supported in GSM-7. Some special characters – accented letters – and non-Latin characters are not included in the GSM-7 character set. And they require a different encoding method.

Messages containing only GSM-7 characters can contain up to 160 characters in a single, non-segmented message. GSM-7 messages of more than 160 characters will be split into 153-character segments.

UCS-2 Encoding

UCS-2 is a universal character encoding standard. It can represent almost any character from any writing system in the world.

It uses 16 bits to represent each character, making it capable of encoding a much wider range of characters compared to GSM-7.

And it’s used when messages contain characters that are not supported in GSM-7: such as non-Latin scripts, emoji, or special characters.

Messages with one or more UCS-2 characters can contain up to 70 characters in a single, non-segmented message. UCS-2 messages of more than 70 characters will be split into 67-character segments.

Implications of GSM-7 and UCS-2 Encoding

The choice of encoding can have significant implications for SMS messaging.

When using GSM-7, each character typically takes up one byte of space. This allows for up to 160 characters in a single SMS message.

However, when using UCS-2, each character takes up two bytes, reducing the maximum character count per message to 70.

This means that messages encoded in UCS-2 may be more expensive. They require more space and may be split into multiple messages (segments), resulting in higher costs.

It’s important to note that if a message contains a mix of GSM-7 and UCS-2 characters, the entire message may be automatically encoded in UCS-2.

Tips for Ensuring Correct SMS Encoding

Here are some tips to avoid unexpected message splitting or higher costs due to UCS-2 encoding:

  1. Use GSM-7 encoding whenever possible: Stick to the GSM-7 character set for your messages to maximize the character count and minimize costs.
  2. Be aware of special characters: Special characters, accented letters, and non-Latin characters may not be supported in GSM-7. And they may require UCS-2 encoding.
  3. Test your messages: Use tools or services that allow you to check if your message can be encoded in GSM-7 or if UCS-2.
  4. Be cautious with text editors: Some text editors may automatically add non-GSM-7 characters; such as angled smart quotes or non-standard spaces. Ensure that your text editor is not inadvertently adding characters that may trigger UCS-2 encoding.

Related articles

Understanding SMS text segments and Billing

Increase deliverability of your text messages

Forbidden message categories for SMS

Avoid your texts being marked as SPAM

Error codes returned by the carrier on SMS or MMS

You might receive error codes returned by the telephone carrier after you’ve sent a SMS or MMS.

The telephone carriers filter all the messages to protect the mobile subscribers from spam and other forms of unwanted messaging.

And, these systems look at both message content and volume.

Filtering in the United States and Canada can affect the delivery of your SMS and MMS messages.

Where do error codes appear in aNinja

When in the lead view, in the history section, you can see “error” in red on the right corner under the sent SMS or MMS.

Hover your mouse over “error” to see the error code.

Error codes on SMS or MMS

Then, search for this code in the below section to understand the reason for this error.

Error codes references on SMS or MMS

Below are most common error messages returned by the carriers.

  • 11751 => Media exceeds messaging provider size limit.
    • Maximum size limit depends on the messaging channel.
    • aNinja supports an MMS of 600KB.
  • 12300 => Invalid Content-Type.
    • Our carrier is unable to process the Content-Type of the provided URL.
    • You must return a Content-Type for all requests. Requests without a Content-Type will appear in the Debugger as a 502 Bad Gateway error.
  • 30002 => Account suspended
    • The message you sent was filtered by the Carrier for containing forbidden content which resulted in suspending your account/number.
  • 30003 => Unavailable or unreachable destination.
    • The destination handset you are trying to reach is switched off or otherwise unavailable.
  • 30005 => Unknown or inactive destination number.
    • The destination number you are trying to reach is unknown and may no longer exist.
    • The device you are trying to reach is not on or does not have sufficient signal.
    • The device cannot receive SMS (e.g. the phone number belongs to a landline).
    • There is an issue with the mobile carrier.
  • 30006 => Landline or unreachable destination.
    • The destination number is unable to receive this message. Potential reasons could include trying to reach a landline. Or, in the case of short codes, an unreachable carrier.
  • 30007 => Your message was blocked by the carrier due to spam, phishing, and fraud content.
  • 30008 => Delivery of your message failed for unknown reasons.
    • Our carrier receives a very generic error from the destination carriers that they have no further details about. They associates the message with the error code 30008 letting you know that they truly don’t know what caused this error from the provider.
  • 30019 => Content size exceeds carrier limit.
    • Message failed because the size of the content associated with the message exceeded the carrier limit.
  • 30410 => Provider timeout.
    • The provider used may be experiencing disruptions resulting in errors or request timeouts. Messages are failed and not retried to avoid duplicate message delivery.
  • 32017 => Carrier blocked call due to poor reputation score on the telephone number.
    • The calling number has a low answer rate from end users; or, generates low-duration calls; or it is responsible for large volumes of unwanted calls.

Text/SMS Signature

When sending a text/SMS via aNinja, you would want to include a text signature at the bottom.

What’s a text signature

It is a powerful way to convey your professionalism to your readers and give them the information they need to contact you. It is placed at the bottom of each text, which helps leave a great impression and makes you stand out from your peers.

You want to consider the size/segmentation of the text when you include a text signature to avoid being overcharged.

Setting your text/SMS signature in aNinja

  • Login to your aNinja account.
  • Go to Settings > Phone Numbers

  • Click on the edit pen

text signature

  • Type in your signature

text signature

  • And hit Update
  • Now your signature will show at the bottom of each text you send via aNinja.

This signature is sent in bulk texts as well. At the time you create your text sequence, the system grabs the lead info, templates that yo’ve included in the sequence, and the phone number assigned to launch this sequence.

However, if you change the signature after the sequence was launched, the system updates the in-queue steps.

Understanding SMS Text Segments & Billing

Text messages (SMS) are composed of segments. And each segment is 160 characters of text.


When you send a text that contains more than 160 characters, it is actually billed as multiple texts that are technically called SMS text segments. And you are billed according to the number of segments and not texts.

When you prepare a text template, or you’re about to send a text to a lead from the lead view, you might like to include emojis and special characters to give it a nice design. But they may count more than one character.

To help you monitor the size of your text template, we’ve included a character counter in text templates. It’s also important to understand how many texts you are billed for.

There is a fixed character limit for one text (160 alphanumeric characters per SMS text segment). Emojis and special characters might be counted differentlyYou also might want to watch out for invisible characters.

When you launch the text, it is encoded by the telephony carrier in different formats to represent the characters and special characters used in the message. (check the encoding section below).

To avoid your phone number being suspended by the Carrier, you want to refrain from using forbidden message content.


What’s an SMS text segment or Segmentation

SMS industries count messages before sending them through your carrier. They count the number of characters that a text contains. Each segment is of 160 characters. But sometimes the character limit exceeds, and one text is converted into two. You’d end up with two messages on your bill.

We’ve exposed in the text template an alert that pops-up when the size of the text overpasses 3 segments.

Maximum Message Length with aNinja Messaging

The aNinja Programmable Messaging platform has a limit of 160 characters in a single incoming or outgoing message request. And that’s based on the text segmentation standard.

When you go over that, the system is automatically creating additional text segments to send out your longer message.

Additional Considerations for Long SMS Messages

Although aNinja supports large message payloads for all Messaging Channels including SMS; it is important to understand that some wireless carriers and devices may behave differently than others when receiving long SMS messages.

In addition, the size of an SMS, and which characters are present (e.g. emojis, signs, and symbols) affect its price, based on segmentation.

Message encoding

Text messages, or SMS, are encoded by the carriers in different formats to represent the characters and special characters used in the message.

The default encoding used in SMS is GSM-7, which consumes fewer segments, making it more cost-effective.

However, if the text content includes special characters like emojis or backticks, a different encoding called UCS-2 is used; it consumes more segments, approximately double the amount of GSM-7.

When it comes to MMS, the encoding used can vary depending on the content of the text. It can be either GSM-7 or UCS-2, depending on whether special characters are included in the message or not.

We highly recommend you learn about GSM-7 and UCS2 encoding methods before sending out your text in Bulk.

Some things to consider
  • Try to keep your texts to a max of 160 characters to have a one-to-one mapping of texts sent to text segments billed.
  • Emojis and backticks count as multiple characters.
  • Eliminate smart quotes, signs, and symbols before sending messages.
  • If you’re using emojis or special characters, try to keep your SMS to 70 characters or below.
  • Count up the SMS text segments before you run a campaign instead of after. When preparing your text template, keep an eye on the segments & characters counters exposed at the bottom corner of the text template. Counters are also available in the text feature in the lead view.
  • Also, check for invisible characters in your template if you pasted the template content from a word document or similar. The characters counter would then indicate e.g. 4 segments when the total number of characters is 270/160, representing 2 segments.
  • Host a media file on your website or a file hosting service. Then add the link to download it in your text. (Instead of sending the media file in MMS).
  • Test sending the text to yourself before sending it out in Bulk.
  • Lastly, please spare a few minutes to check this article for more recommendations before texting. Learning the best practices for sending SMS messages prevents you from being overcharged for additional unnecessary segments.

Schedule your text message

In this article, we show you how you can schedule your text message to delay the delivery to send it at a later time and date.

To reach out to your lead, you can send them a text message via aNinja.

Start Messages and create a text message, but don’t send it. Choose the time you want to send the message.

Scheduling a text to be sent later

  • On the lead view, click on the Text from the toolbar.Schedule your text message
  • Create the text but don’t send it.
  • Next to the send button, click the arrow to choose the date & time.
  • Then, hit Schedule > Send.
  • As a result, on the set date & time, the system sends the text to your lead.

Rescheduling a text

  • On the lead view, locate the text in the history section and click Reschedule.
  • Then, choose the new date & time and hit Schedule.

Cancelling a scheduled text

  • On the lead view, locate the text in the history section and click on Cancel.
  • As a result, the system will cancel your text.
  • Cancelling the scheduled texts is enabled on the web app but we don’t have it on the mobile app yet.

Checking the status of the scheduled text

You can see the scheduled texts only on the date they’ve been created. They don’t get rendered again when sent.

So you can check them in the lead view. Go back through the lead interactions to the date when the scheduled text was created.

The status of the text is on the right bottom of the text.

  • Scheduled for day & time: The text is still not sent until the day & time are due.
  • Success: On the set date, the system sent your text successfully.
  • Cancelled (was scheduled): This is a text that you cancelled.

Notifications on incorrect lead contact data

The Lead contact is the lead info saved in the Lead View (email addresses, phone numbers, URLs). When the lead is created, the contacts are saved as entered/provided.

The system uses the lead contacts to send your emails and texts. This means, in case the lead contact was incorrect, your outbound will surely not reach the lead.

Notifications on unsent emails outbound

You receive an email notification that the email address of this lead is incorrect and your outbound did not reach them.

Notifications on unsent texts outbound

You can see an error message in red in the lead history.

Notifications on incorrect lead contact data

Note: You also receive an error message after you send a text if the primary phone number is a landline number.

You can handle the outgoing SMS with an error code through triggers. e.g. mark as “do not contact” the lead with a landline number.

Message Statuses for the Bulk Text Sequences

Bulk text sequences message statuses” refer to the status updates associated with the delivery and processing of text messages sent as part of a bulk SMS campaign.

These statuses can provide valuable information about the status and count of messages and the success of the campaign.

Where can I see the bulk text sequence message statuses

  • You can see the Bulk text sequence message statuses in the Dashboard Widget “Bulk Sequences”.
  • However, if you can’t see this widget on your dashboard, just enable it from the little gear on the top right of the Dashboard.
  • For an overview of the dashboard, go ahead and click on the help (?) icon next to Dashboard.Bulk Text Sequence Message Statuses

Bulk text sequence message statuses

Bulk text sequence statuses indicate the status of the bulk sequence:

  • Being processed: The system is preparing your Bulk text for delivery.
  • Canceled: This indicates a Bulk text that you have canceled.
  • Done: The system has successfully delivered the Bulk text to all the recipients with a confirmation from the destination carriers.
  • In progress: The Bulk text is on the way and it started to reach the recipients gradually.

The bulk sequence sets itself to completed once all the messages have gone out.

In some cases, some messages get stuck in the “Outbox” because the carrier doesn’t return with a reply. The status of those messages changes to “Delivery unknown” in a few days.

Usually, the standard protocol is to give the carrier a window of 48 hours after the last SMS was sent successfully, before closing the bulk sequence (status done).

Count of messages

The stats column displays the count of messages in different stats, which includes:

  • Error: The texts did go out through our Carrier, but they were not delivered to the lead.
    • You can check the description of the error message in the lead view.
      • In the Bulk Sequence widget, click on the blue number next to “error”; then click on the name of the lead. In the history of interactions, you can see an info bubble next to the error under the text. Hover over it to see the message.
  • In-queue: The messages are in-queue and waiting to be sent out.
  • Outbox: The messages have been sent through aNinja, and the system is awaiting confirmation of success from the destination Carriers.
    • Click on the info bubble next to “outbox”: “Awaiting response from destination carrier”
    • Some destination carriers don’t return a confirmation message.
    • In this case, the status of the sequence remains “in progress” even though the messages went through aNinja.
    • And it will change to “Delivery Unknown” in a few days if we didn’t receive from the Carriers.
  • Sent: The messages were successfully sent out and the destination carriers confirmed delivery success.
  • Deleted_leads_count: This indicates the leads that were part of the initial request but have been deleted since the request was made.

Error type: Unknown error

If a message you sent is not delivered to the end device and returns a 30008 error code, this means that the delivery of your message failed for unknown reasons.

When our carrier receives a very generic error from the destination carrier that he has no further details about, he then associates the message with the error code 30008; letting you know that he truly doesn’t know what caused this error from the provider.

Possible reasons:

  • The phone/device you were sending to is not turned on or can’t receive messages.
  • Or, the phone is roaming or off-network. They cannot guarantee message delivery on roaming phones.
  • Or, the issue is likely device-related. Test sending to other phones who have the same mobile carrier.

We can still contact our Carrier to connect with the destination carriers to ask about the reasons/explanations for the unknown error.


As per the US country guidelines: https://www.twilio.com/guidelines/us/sms

Gambling content being sent in the US is not allowed.

For reference, here is the documentation for sending MMS: https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages.

aNinja Centralized Inbox

The aNinja Inbox is a centralized view of all your incoming communication emails, textsvoicemails, missed calls, open tasks, and the chatbot conversations too.

Accessing the Inbox

On the left sidebar, click on Inbox icon.New Centralized Inbox

Inbox activities

You should be able to work exclusively from your aNinja Inbox.

From your Inbox items, you can:

Dynamic Inbox

The Inbox badge in the sidebar dynamically updates to show you how many Inbox items are available.

Concluded Tasks

  • Ultimately, all items of the aNinja centralized inbox should be completed on daily basis. However, if that was not possible, you can report them to the next day. Just toggle all the remaining items of the inbox and click on future in the toolbar.
  • The Inbox badge in the sidebar will show a green checkmark when all your Inbox items are done!

Task Management

  • You can also bulk mark inbox items as done / not done.

  • Answering a Lead from the Lead view (send/reply to an email, or send/reply to text) will automatically mark previous inbox items of the same type (e.g. email/text) as done.
  • Admin users can view inbox items for other team users, as well as filter them by type.

aNinja Reports

Get reports on the workflow of your latest activities and interactions that you’ve made in aNinja in a certain period of time. aNinja reports are simple, understandable, and provide you with a detailed view of your business performance.

When every user can see his reports, admin users can see all users reports and stats.

On the top right of the Reports page, you can select the period and the user.

Accessing Reports

On the left sidebar, click on Reports icon.aNinja reports

aNinja reports

Below are the reports provided by aNinja:

  • Workflow Summary (ASR)
    • See All Steps Reached across the workflow.
  • Workflow Summary (LSR)
    • See the Last Steps Reached across the workflow.
  • Leads
    • See stats of leads created and Via API.
  • Opportunities
    • See figures of the Opportunity statuses.
    • On the right corner of the Opportunity report, see details of leads’ opportunities. Inside the report, you can export stats into a CSV file.
  • Emails
    • See stats of all sent and opened emails, and the open rate.
  • Texts
    • See stats of incoming and outgoing texts.
  • Calls
    • See stats of outgoing calls and their total duration.