I knew pretty soon after it was released that I wanted an iPhone. Shiny and new, so it must be made mine. It had a few show-stopper problems, however:
- I detest SIM-locked phones.
- A two-year contract is even worse.
- T-Mobile is shit.
In Italy, all was fine. I bought the phone, stuck my SIM-card in and activated it. It took a few seconds to recognise it wasn't anywhere near my home network so it looked for other interesting ones. Vodafone happens to also have an Italian presence, so of course my SIM instructs the phone to use that network. 'Voda IT'. Good. We're all set.
And then we got back to the Netherlands. Vodafone doesn't sell iPhones here, so my phone has no idea of this network, unlike in Italy. The carrier name here, therefore, is 'Voda...' most of the time. That I can live with, but due to the phone not having any settings for this network it would also pop up a notice every time I initiated a call: "Call-forwarding activated".
This is because Vodafone will redirect any callers to Voicemail for you if they call while you're on the phone. Even if you don't have voicemail: in that case, they'll get a recording saying you're unavailable. Fine, but the popup is annoying.
There is only One Way to fix this: Carrier Bundles.
iPhone uses Carrier bundles to set carrier-specific information, such as the APNs for data services, whether or not to use the network for Time info, if you can edit the APNs, the carrier logos, etc., and among those settings is a 'Display Call Forwarding' setting. This we need to turn off. There are two ways:
- Edit the 'Unknown Carrier' bundle, which will apply the settings to all unknown networks, or
- Create a 'Vodafone NL' bundle.
So instead I made a Vodafone NL bundle that contains logos in the same style as the other Vodafone carrier bundles (so it says 'Voda NL') and with the right internet settings and such.
I feel this may be useful to more people than just me, so here it is:
Currently, you need a jailbroken phone and some SSH skills to get it installed. The process is as follows:
- Copy the bundle (it's a directory, technically) to your phone's "/System/Library/Carrier Bundles" directory. This can be done using scp -r or some other tool that is capable of transferring entire directories.
- Create a Symlink in the same directory, pointing to the bundle, called "20404". This is the network identification number (204 for The Netherlands, 04 for Vodafone Libertel N.V.) This you can do by cd'ing into the directory and typing "ln -s Vodafone_nl.bundle 20404").
- Reboot the phone. Killing Springboard does not appear to suffice.