So yesterday I made a mistake dialling an 0800 number on our landline. Instead of hitting 2 as part of the no., I hit 3. It was alarming to immediately get a recorded message saying that calls to that no. are charged at £1 per minute. How can this happen on 0800? Similarly we've had incoming mobile calls from an allegedly 0345 no. Er . . .? Isn't it time that BT took a more proactive approach to such occurrences. I guess they won't, though, because there's cash going in the bank for BT.
BT are not the only telecom company. Ofcom issue numbers and control prices. I suspect you misdialled the 0800 What's wrong receiving 0345 calls, It's common practise when calls centres are no geolocated.