This question is old, but since there appears to still be interest in a solution, if the issue is indeed the content type, try adding these lines to AzureIoT_SendTelemetry() in azure_iot.c.
if(IOTHUB_MESSAGE_OK != IoTHubMessage_SetContentTypeSystemProperty(messageHandle, "application/json"))
{
Log_Debug("ERROR: unable to set message content type.\n");
}
if(IOTHUB_MESSAGE_OK != IoTHubMessage_SetContentEncodingSystemProperty(messageHandle, "utf-8"))
{
Log_Debug("ERROR: unable to set message content encoding.\n");
}