For calls at all times, call1899.co.uk's price for calls to USA, Canadian and German landlines is 3p connection and 0p per minute from ANY registered BT line.
Using the calling card, you would need to pay 18866 the 2p to call the London number, then 1p from the calling card, which means 3p per call, plus the added disadvantage of paying 2p to hear an engaged tone, or nobody answer.
Using 1899 however, at 3p per call means no charge for engaged, or unanswered calls, and is available 24/7, and no need to pay up front for a calling card.
If however you do get free off peak landline calls, which in my case with Tele2, I don't have to pay a monthly fee, then the calling card sounds like a better bet, because the only cost is 1p per call, however remember if you like a long gossip some Telcos charge will start charging for the London number section of the call, after an hour, meaning you have to hang up, and use another penny.
I know we're only talking about savings of only a few pence here. There were the dark ages of the telecoms industry when people would pay over £1 a minute, and run up £1000s ringing abroad calling destinations that are now only a few pence a call.