Consumers often do not know the cost of calling companies
A consumer group has published a list of companies and government agencies it claims are using phone helplines to make money at customers' expense.
Which? names more than 30 bodies it says are using 0870, 0871, 0844 or 0845 numbers to profit from their callers.
These include Tiscali, British Gas, TV Licensing and the DVLA - which all take part of the cost of each call.
Which? says the DVLA made £3.4m from its 0870 line last year. The DVLA says it plans to switch to a cheaper number.
Organisations using 0870, 0871, 0845 and 0844 numbers are permitted to receive a share of the call charge revenue.
Examples of this include pay-as-you-go internet services, which often use 0845 numbers, and other companies who may use the revenue to fund the cost of keeping call centres open 24 hours.
However, other groups and companies, such as charities, also use 0845 numbers and do not take a share of revenue.
These calls are charged at the standard local call rate of 3.95p/min from a BT landline, unlike calls to 0870 and 0871 numbers which cost up to 7.95/min and 10p/min respectively.
Calls to 0844 numbers are charged at up to 5p/min for BT customers.
Kept on hold
Ofcom introduced 03 numbers last year, which cost the same as calling an geographic (01 or 02) number.
Call charges from BT landlines
0800 - free
0845 - up to 3.95p/min
0844 - up to 5p/min
0870 - up to 7.9p/min
0871 - up to 10p/min
The watchdog plans to stop organisations making money from 0870 numbers but Which? said none of the organisations it checked with had switched to 03.
Some had simply switched from 0870 to other higher-cost numbers, it said.
The consumer organisation called customer helplines for broadband and utility companies and government agencies to see how long callers were kept waiting to speak to an agent.
It found British Gas, AOL and the DVLA kept people hanging on the longest, with average waiting times of around three minutes.
One call to AOL was held for more than 15 minutes, at a cost of 75p from a BT landline.
Which? is calling for all companies to switch their helplines and technical support lines from expensive numbers to cheaper 03, 0800 or geographic numbers.
0871: Admiral Insurance, Bell Insurance, Elephant Insurance, Diamond Insurance, Nikon, Tiscali
0870: Apple (tech support), Carphone Warehouse/Talk Talk, DVLA, Gladiator Insurance, Lexmark, Philips, Sony, Zanussi-Electrolux
0844: AOL, Orange, Panasonic, Sky, TV Licensing
0845: Barclays, British Gas, Consumer Direct, Direct Line, Eon, Green Flag, Halifax, Lloyds TSB, Miele, Npower, Philips, Scottish and Southern Energy, Scottish Power, TV Licensing, Virgin Media
The organisation's Nicola Frame told BBC News said a 10-minute call from a BT landline to a normal geographic line costs about 40p at most while the same call would cost as much as £1 for an 0870 or 0871 number.
She said: "That doesn't sound like a huge amount, but when you think about how long people are hanging on the phone on some of these phone lines, it really adds up."
Whilst she acknowledged it was up to customers whether they called the higher-cost lines or not, she said it could often be hard to find a cheaper alternative.
However, she said many companies did have cheaper phone numbers and it was worth checking for these before calling, or finding out whether a query could be made by e-mail instead of by phone.
She said customers calling to complain about a faulty product or bad service who were kept waiting a long time on an expensive number should ask the company to refund the cost.
"A lot of the time people who are calling these numbers are making a complaint or asking for some support with the product and really we don't think customers should be paying big sums of money for that sort of help."