What are geo permissions and why do they exist?
When trying out Twilio, you may see an error to the effect of “Account not authorized to call” or “Permission to send an SMS has not been enabled for the region.”
Before your application is able to make outbound international calls or send text messages internationally, you must enable permissions for the countries where you plan on doing business. You can do this on the Voice Geo Permissions and the SMS Geo Permissions pages in your Console. Once you’ve submitted a request to dial international calls, it will go through an approval process before you’re able to dial most destinations.
Why Geo Permissions Exist
International dialing permissions exist to protect your application from abuse. Many countries have “premium numbers” which bill the caller and pay the owner of the number. In the United States, 900 numbers are an example of this. The owners of these numbers have an incentive to drive traffic to these numbers, and not always through honest means.
The good news is that Twilio and our partners work hard to discover and block calling to “premium numbers”. In most countries we have been successful in this, however, “premium numbers” are not necessarily well documented, especially in developing countries.
The best way to defend your application from abuse is to only enable outbound calling permissions for countries which you actually need to call. Enabling Geo Permissions for all countries is not advised.
We have noticed that this is almost exclusively a problem for voice. Currently, there do not appear to be schemes which take advantage of outbound SMS, though we recommend also being cautious with the countries you enable for SMS to protect yourself against potential future abuse.