We do our best to verify if phone numbers are valid and also try to save you money by refusing to call numbers we know are impossible. However, we've discovered that it's better for us to trust that our users know more about the phone numbers they are trying to call than we do.
By default, Twilio does not "listen" to your calls. This means that Twilio's system is only able to know if audio is being transferred, or not, and is generally not going to take actions based on the contents of that audio. In short, Twilio considers a call to be completed if audio data is returned, even if that audio data is an out-of-service message.
If you have multiple cases of calls made to invalid numbers, we recommend creating a database of these invalid numbers so that your app does not call them in the future.
See also: Will I be charged for calls to disconnected numbers