I have a Vodafone plan in Germany that covers all local texts and data. I also get data for free when I am in the UK. I used iMessage in the UK and was charged by Vodafone because text messages abroad are not free.
How exactly does iMessage work? I thought it only used data but Vodafone insists that I sent SMSes while abroad.