Setup
I have been testing my Twilio app successfully for a while now using two USA-based numbers (+1 country code). The Verify tokens have been delivered successfully via SMS and the verification check statuses come back 'approved'. Life is good!
Problem
This morning I tried to testing my app with a caller from Mexico (+52 country code), and it totally failed. The caller did not receive the Verify SMS.
Twilio::REST::RestError ([HTTP 403] 60605 : Unable to create record
The destination phone number has been blocked by Twilio. MX is blocked for sms channel in all services
https://www.twilio.com/docs/errors/60605
Aside from the "Unable to create record" message (I don't know what kind of record it is referring to), the message:
The destination phone number has been blocked by Twilio
makes me think my caller's number specifically has been blocked (is he on some dark web Internet's Most Wanted list!?). The latter message:
MX is blocked for sms channel in all services
made my heart sink like all of Mexico was barred from receiving any kind of sms whatsoever.
Possible Cause
Visiting the URL from the error message led me to believe that perhaps somehow my Twilio account had been flagged (maybe I was manually testing too much in the preceding days):
The destination has been disabled due to suspected fraudulent activity or for possible security reasons.
Question
Why wasn't Twilio able to deliver the Verify SMS to the caller from Mexico?
I contacted Twilio Support and they promptly pointed me in the right direction. Apparently, only a handful of countries are enabled to receive Verify SMS by default. There are some bad dudes out there who abuse the communications network/system, so this is why we can't have nice things. Twilio Support to the rescue!
Screenshot of what to expect (search for country and check the box)