Hosted Numbers FAQ
This product is currently in Developer Preview.
What is Hosted SMS?
Hosted SMS provides a method for customers to use Twilio’s Programmable Messaging, Functions, and Studio products to send and receive messages on voice-enabled numbers they already own as part of an established voice application.
Will my current voice line be affected?
No, Hosted SMS does not affect your voice capabilities of the number. Hosted SMS only registers the number for SMS to route in and out of Twilio’s platform.
What numbers can I host on Twilio for SMS?
Hosted SMS supports US and Canada in Beta. Mobile numbers are not supported. VoIP numbers from some providers will be supported in the future. Numbers already owned by a Twilio account for voice services cannot be hosted on another Twilio account for SMS services.
How can I host my number?
You can initiate the hosting of your number using the Twilio Console or programmatically with an API. Twilio will require the end-user to complete ownership verification and LoA (Letter of Authority) signature.
How do I verify I own the number I want to host?
Twilio currently provides the ability to verify ownership of a number. It is a phone call that the end-user answers and passes back a security token to Twilio.
What are the eligibility requirements to enable SMS on a number?
By submitting a phone number to the Hosted SMS API or Console, the phone number will be evaluated for eligibility. Eligibility is determined by the number’s country of origin and if the number is currently SMS enabled.
If you would like to check a number’s eligibility before it is submitted, Twilio offers Lookup, a tool to see information about the number. If a number is not of type mobile
, then the number is eligible to be Hosted for SMS. For toll-free numbers, if type is null
, generally, the number is eligible to be Hosted for SMS.
For example, here is a lookup for an eligible Canadian local number:
{
"caller_name": null,
"country_code": "CA",
"phone_number": "+19029052034",
"national_format": "(902) 905-2034",
"carrier": {
"mobile_country_code": null,
"mobile_network_code": null,
"name": "Iristel Inc. - ON",
"type": "landline",
"error_code": null
},
"add_ons": null,
"url": "https://lookups.twilio.com/v1/PhoneNumbers/+19029052034?Type=carrier"
}
And here is an example lookup for an ineligible Canadian number:
{
"caller_name": null,
"country_code": "CA",
"phone_number": "+19029052032",
"national_format": "(902) 905-2032",
"carrier": {
"mobile_country_code": null,
"mobile_network_code": null,
"name": "Twilio - SMS-Sybase365/MMS-SVR",
"type": "voip",
"error_code": null
},
"add_ons": null,
"url": "https://lookups.twilio.com/v1/PhoneNumbers/+19029052032?Type=carrier"
}
What information does Twilio need?
Twilio requires the following information before you can host a number:
- The authorized user’s first and last name, and business name, if applicable. An authorized user is an individual who is a decision maker for the phone number.
- The corresponding service address associated with the phone number. This must be a true physical address — PO boxes are not considered valid service addresses.
- Note All phone numbers have an address associated with them. For example, Twilio owns a desk phone and that desk phone is associated to Twilio’s 375 Beale St address.
- An email address will receive the Letter of Authorization (LoA) document to be signed electronically.
- Optional CC email addresses of the LoA’s watchers to be isseued when the LoA has been sent out for signature and when it has been signed
- An LoA signed by the authorized user of the number(s). The LoA will need to be completed and signed electronically, and will be generated during the submission process.
- Note 15,000 numbers can be included on one LoA.
- Note The information and signature on your LoA must match the authorized user’s name and service address provided by their current voice provider, and it must be signed in order for your submission to be processed.
Why does Twilio need this information?
Twilio is compliant with the General Data Protection Regulation (GDPR) and only collects Personally Identifiable Information (PII) that is mandated by the North American Numbering Plan (NANP) SMS registrars. Twilio keeps PII information for 90 days, depending on the requirement timeframe set for by sections of GDPR.
What are the processing phases required to host my number?
After you submit your Hosted SMS request, the number goes through a three-stage onboarding process:
- Preliminary eligibility check — Our system verifies that the number is in a valid format, from an allowed country, and of a valid type.
If the number passes this check, we create a Hosted Number entry for it in your Twilio Console in the `twilio-processing` status. - SMS eligibility check — We verify that the number is not already SMS-enabled. A number that is already marked as SMS-enabled with its current provider cannot be used for Hosted SMS on Twilio. If the number is not currently SMS-enabled, the Hosted Number Order will move to the
received
status. - Verify Ownership — Once a number passes both eligibility checks, you will be able to browse to the number in your Hosted Numbers list in the Console and place a verification call to the number.
- Sign an electronic LoA — After the number has been verified, you will need to create an electronic LoA that will be sent to the email address specified for signature.
- Enable Hosted SMS — When the eLoA is signed, the number’s satus will become
carrier-processing
: the carrier will register the number for SMS and then test it for inbound connectivity. Once the test passes, the number will be provisioned to your account.
What are the steps from start to finish to host a number for SMS in NANP?
- Create a new Hosted SMS to begin the order process. At this point, the number is checked for eligibility. Once the Hosted SMS has passed the eligibility check, the Hosted SMS will move into the
received
status. - If the eligibility check fails, your Hosted SMS Order will fail with the reason in Console and in the API (i.e., already Hosted SMS, non-supported country, VoIP/Mobile type).
- The next step is to verify proof of ownership of the Hosted SMS with a verification call.
- Initiate the call by moving the status to
pending-verification
via the API, or initiating the call on the Console’s Hosted SMS Order page. - Once your Hosted SMS(s) have been verified, the Hosted SMS will have to be electronically placed on a new Letter of Authorization (LoA).
- The email specified on the LoA will receive an email from HelloSign to electronically sign the document. The document should be signed by the end-user answering the phone number.
- Note If you have not already done so, create an Address object with the Friendly Name being the business, and the First and Last name that of the authorized end-user, the decision maker on behalf of the phone number.
- After the LoA is signed, the Hosted SMS orders assigned to the LoA will move into a
carrier-processing
status. - Note Landline numbers will take up to one business day, while Toll-Free numbers can take up to 2-3 business days.
- Once the number has been successfully registered for SMS with Twilio, the number will move to the
testing
status for a short period, to ensure inbound SMS connectivity is functional. - When testing is successful, the Hosted SMS Order will move to completed and your Hosted SMS will move to in-use.
- Note If you would like to receive status updates on the Hosted SMS Order, you can configure a Status Callback URL.
How long does it take to message enable my number?
If you are using a verification phone call, an NANP landline number can take up to one business day to SMS enable, test inbound connectivity, and provision to your account.
Toll-Free numbers can take up to three business days to update. If you are the RespOrg of the Toll-Free number, you are able to speed the request by accepting Twilio’s request to SMS-enable the number. If you are not the RespOrg, please inform your service provider to prevent any denial of Twilio’s text provisioning request.
What happens if the number moves to action-required?
When a number moves into action-required
, a failure reason is exposed in both the public API and in the Console to help you diagnose and resolve the issue. If the issue is internal to Twilio, a Contact Hosted SMS Support panel will be displayed in the Console. If you are using the API, please send your Hosted SMS Order SID to HostedSMS@twilio.com for support.
Here are some typical failure reasons:
- The Letter of Authorization was not signed within seven days.
- The Hosted SMS Order was idle in the verification process for seven days.
- The Hosted SMS Order has reached the maximum number of verification attempts.
- Twilio cannot host the phone number because carrier information is unavailable.
- The number is already enabled for SMS by another provider.
- There was a problem processing your Hosted SMS Order.
If you receive any of these, please contact HostedSMS@twilio.com.
How can I bypass my call tree to receive the verification call?
You can verify numbers behind Interactive Voice Responses (IVRs) using both the above methods by including w
characters in the Extension
parameter. Each w
tells Twilio to wait half a second instead of playing a digit. This lets you adjust when the digits begin playing to suit the phone system you are dialing.
For example, the Extension
value wwww2wwwwww5wwwwww9
waits two seconds before sending the digit 2, followed by a three-second wait before sending the 5, and finally another three-second wait before sending a 9. You will need to tune the extension to the IVR system to be able to programmatically verify numbers behind IVR menus.
Product support for Hosted SMS
Co-pilot/Messaging Service
Yes! Hosted SMS works with Co-Pilot/Messaging Service.
Proxy
Unfortunately, Proxy does not currently work with Hosted SMS, but we expect to add support in the future.
Flex
Flex supports Hosted SMS via Flex Conversations. Hosted SMS is not available on Flex Legacy Messaging.
Can I use my Hosted Number as a Verified/Outgoing Caller-ID?
Yes, a Hosted Number is capable of making outbound calls over Twilio’s network, as well as two-way SMS messages.
If an account already has an active Verified Caller-ID and then the account requests to host the same number for SMS, the Verified Caller-ID will be deleted and the number will bypass the proof of ownership since the Verified Caller-ID is already validated ownership with a two-factor authentication call.
What if I no longer want to host my number on Twilio?
If you have completed the Hosted Number Order process but no longer want to host a number on Twilio, you can disassociate the number from Twilio by sending a DELETE request on the IncomingPhoneNumbers instance resource, or by removing the number from your account on the Hosted Number instance page in the Console’s Manage Active Numbers section. The number will be in the released status for three days until the number is no longer registered to Twilio’s network.
What if I made a mistake on the Authorization Document?
Please revoke the existing Authorization Document in the Console. Once the Authorization Document has been revoked, all of the Hosted Number Orders that have been mapped to the Authorization Document will move to the verified
status. To send out a new Authorization Document, select all verified Hosted Number Orders and bulk action create in the Console’s Hosted Number Orders section to generate a new one with the corrected information.
Can I use MMS with Hosted SMS?
US and Canadian local and toll-free can be hosted for SMS and MMS.
Can I transfer my Hosted Number from my Parent Account to my Subaccounts?
A Hosted Number can be transferred using the Subaccounts Public API. This functionaltiy is not available in the Console.
What if I want to fully port the number to have both SMS and Voice capablities?
You will need to generate a new port request. The new port request will generate a new Phone Number SID (PNxxx
) as soon as a port is submitted. This means there will be two numbers with the same phone_number
value, but different SIDs.
Ensure that you configure the new phone number right way with the approprate SMS incoming URL to prevent downtime for your customers.
You can configure the number using the API or the Console. You can use the Phone Number API and the E.164 format filter to find the new phone number’s SID. After finding the SID of the porting number, use the Phone Number API to configure the SMS and Voice URL.
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.