Everything changes again in the next few months.
0870 were "national rate" from landlines until 2005. They were simply "revenue share" after that (most people call 01 and 02 for up to one hour for nothing in inclusive minutes, so a national call is effectively "free"). Ofcom removed revenue share from 0870 in 2009.
Mobile operators charge 30 to 40p per min for calls to 0870 numbers.
0845 were "local rate" until 2005. In 2005, landline operators stopped charging a lower rate for local 01 numbers compared to national 01 numbers. "Local rate" no longer exists. That's not a problem, because at the same time, calls up to one hour are now inclusive to all 01 and 02 numbers anywhere in the country from most landlines. After 2005, 0845 numbers are simply "revenue share". Approx 2 p per min is passed on.
BT expected Ofcom to remove revenue share from 0845 and made both 0870 and 0845 calls inclusive in 2009. Ofcom changed their mind, so BT now subsidises calls to 0845 numbers.
0844 numbers are revenue share. From a BT line the call price is set by the business you called, by their choice of 0844 phone number. There's various revenue share levels from 1p to 5 p per minute. BT are not allowed to make a profit so pass 100% of the call price onwards. Other operators add to the call price to make a profit. 0844 numbers are never inclusive.
Mobile operators charge 30 to 40 p per min for these calls. 0844 numbers ran out so 0843 is now also in use with the same rules as 0844.
0871 numbers are revenue share up to 10 p per minute. Again, BT can't add to the call price, but other operators do. 0872 is a new range with the same rules as 0871.
In the next few months, 0870 will return to revenue share. 0870 and 0845 will no longer be inclusive.
Businesses using 084 and 087 numbers for customer service will have to move to 034 and 037 numbers. These are free in inclusive minutes from landlines and mobiles. If you have to pay something for the call to an 03 number, the cost will be no more than calling an 01 or 02 number.
Where a business continues to use an 084 or 087 number, they will have to declare the revenue share premium that is built into the call cost. With the exception of 0870 since 2009 (and that exeption is ending soon) ALL 084 and 087 numbers are revenue share numbers. The premium is up to 5 p per minute for 084 numbers and up to 10 p per minute for 087 numbers.
Look out for "unbundled tariffs" for non-geographic numbers and for the Consumer Rights Directive.