Unfortunately sometimes your provider supports G711 and G729 (and others) for instance, and you can set your device to prefer G711 and only fallback to G729 if for some reason that fails, but if your VOIP provider prefers G729 on its side, the conversation will run at G729 and not G711. My provider, INX (
http://www.internationalnumber.com/index.html) which otherwise is a great service provider, performs that little annoying trick which makes me need to disable G729 entirely if I want to force it to run with my preferred G711 codec.