Sadly 0203 numbers are not technically free to call on O2 or any other mobile network.
Cost of calling 0203 numbers
0203 numbers are charged at local rates which vary according to which mobile network you are on. O2 Pay and Go customers will firstly have to pay an access charge of 30p whereas monthly contract customers normally have to pay 35p to connect the call. You will then have to pay an equivalent per-minute fee for each subsequent minute of the call.
How to avoid standard charges when calling 0203 numbers on O2
You can avoid the usual charges outlined above when calling an 0203 number from an O2 mobile device if you get inclusive minutes on your monthly tariff. Similarly if you have a Pay & Go rewards bundle you will be able to use any remaining minutes to phone an 0203 number for no additional charge, meaning you won’t actually pay anything except your minutes.