that's correct. I have had the same problem with O2. The said to me 1st that such a service is handset specific, which is so untrue. I used to work for a mobile company as a network fault analyst and there are some basic GSM commands/codes and they can be used by any handset or on any network. When I argued she spoke to the networks team and we found out that it was a provisioning issue.
The way it seems, I think call barring is not provisioned on to your account by default on O2 unlike most of the mobile operators.
They reprovisioned my account and emailed me a list of codes that can be used by any handset in case it doesn't have call barring features. e.g. iPhone
I have created a contact on me iPhone with all these codes and I just have to select what I want and if you must know, it works like a charm.
Trouble is sometimes you end up speaking to a person who doesn't know what they are talking about. Hope this helps.
Please find the codes below:
Barring All Outgoing Calls
To activate
*33* barring code #
To cancel
# 33 * barring code #
To check status
* # 33 #
To Bar All Outgoing International Calls
To activate
*331* barring code #
To cancel
# 331 * barring code #
To check status
* # 331 #
To Bar All Outgoing International Calls Except To The UK
To activate
* 332 * barring code #
To cancel
# 332 * barring code #
To check status
* # 332 #
To Bar All Incoming Calls
To activate
* 35 * barring code #
To cancel
# 35 * barring code #
To check status
* # 35 # barring code #
To Bar All Incoming Calls Whilst Roaming
To activate
* 351 * barring code #
To cancel
# 351 * barring code #
To Change Your Barring Code
* * 03 * 330 * old code * new code * new code #
=call button
Cheers,
Jig