To clarify (as I've done some tests) :
EE <-> O2 : codec is AMR-WB (16k) wideband HD (introduced in 2011)
EE <-> Vodafone : codec is AMR-WB (16k) wideband HD (introduced in 2011)
EE <-> Virgin : codec is AMR-NB (8k) narrowband (quality of POTS introduced in 1876)
O2 <-> Virgin : codec is AMR-NB (8k) narrowband (quality of POTS introduced in 1876)
Please Virgin Media, can you sort this out?????