From my cursory reading of the Twilio documentation of the Message API, it expects $message to contain a JSON message as in the examples.
You send some string in the Body parameter that may or may not be a properly URL-encoded JSON message that Twilio expects.
Also, concatenating strings does not make something x-www-form-urlencoded. You should properly URL-encode the parameters or look (for example) at the URL::Encode module for properly encoding all the parameters. Especially, your phone numbers contain the + character, which needs to be URL-encoded, for example as %22.