Only for iPhone users with hacktivated or factory unlocked iPhones NOT using a legit Apple partner contract. DO NOT use it if you are on a legit contract!!!
Please read the complete text here first!!!
Fields in the form marked with a * are mandatory!!! NEEDED TO FUNCTION PROPERLY. The PHP-driven service auto-creates custom carrier bundles in .ipcc format for use with iTunes. Works for iPhone 2G/3G/3GS, jailed and jailbroken, Mac & Windows. The solution is intended for users on non-Apple partner carriers. The ipcc file contains the custom carrier bundle and the symlink(s). The custom carrier bundles are made for iPhone OS 3 enabling MMS, Data & Tethering on iPhone 3G/GS. They can be used on iPhone 2G aswell but wont enable MMS/Tethering without further hacks.
Custom carrier bundels vs. unknown bundle and Mobileconf
The iPhone relies on carrier bundles, delivered by Apple with the firmware. Of cause Apple only delivers carrier bundles for their partners. If you use a hactivated iPhone or a factory unlocked one with a non-partner carrier, the "unknown bundle" is used. This one is made for roaming situations only, should not be played around with. Thats where custom carrier bundles come into action. You create a "real" carrier bundle, apply it to the iPhone and you're set.
For users on a legit iPhone contract wanting to enable Tethering. The best way to do so if you are on a jailbroken iPhone is to modify the type-mask setting of the carrier bundle your iPhone uses. There are some hacks around using modified mobileconfig files. This is theoretically a way to go but most ready-made files I have seen dont have the proper type-mask values. I am still investigating the combinations needed for the different Apple partner carriers. Will open a thread on this in a couple days - different story.
Preparations
Installing the custom bundle is easy via iTunes. Cause Apple broke the "injection" in iTunes you have to re-enable it first. Make sure to have iTunes latest version installed, quit the program if running.
On a Mac open the application Terminal (in Applications/Utilities) and type:
defaults write com.apple.iTunes carrier-testing -bool TRUE
on Windows open command prompt and type:
"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
Injecting the IPCC-Files is enabled again.
You need to have the MCC/MNC of your carrier handy aswell. If you dont know it do the following: Your iPhone is at OS 3.x. Start the Phone app, switch to the keypad and type *3001#12345#* tap the green dial button then. Field Test Application opens on the iPhone. Goto "MM Info" -> "Serving PLMN" and look for "Mobile Country Code" and "Mobile Network Code". If Mobile Country Code is 234 and Mobile Network Code is 15 your MCC/MNC is 23415. If Mobile Country Code is 234 and Mobile Network Code is 6 you have to add a 0 (zero) in front of MNC so your MCC/MNC reads 23406. Take a note.
For using the custom carrier logo you need one mandatory field in the form to be filled out properly (* First character/digit of carrier logo name). The following string is compared to the string your simcard/carrier issues when normally using (before using the custom carrier bundle). Main carriers like Vodafone issue "Vodafone UK" or so (to be read on the top left corner of the iPhone screen beside the bars). The value for "AllowPrefixMatching" has to match the string. Use the easy way and just type the first character (or if so digit) that is displayed, it works. In the above example it would be V. Write down the displayed name (only the first character/digit).
Apply the ipcc file to your iPhone
The script creates everything on the server, after all is complete, it's downloaded to your Windows-PC or Mac. Connect iPhone and PC/Mac, start up iTunes. Wait until iTunes "sees" the iPhone. Click on the iPhone in "Devices" (left program bar)
On Windows shift-click "Update", on Mac option-click "Update" (NOT "Restore"). iTunes will pop up a dialog, selct the downloaded .ipcc file and click "OK". iTunes will "update your carrier settings".
Disconnect iPhone and PC, shut down the iPhone (red slider) and restart it - thats all!
Edit/Delete the custom carrier bundle
You can edit most of the settings after applying the ipcc on the iPhone. Goto "Settings > General > Network > Cellular Data Network".
You can create another ipcc and apply it. The new one will be used then. If you want to delete the carrier bundle and symlink you need a jailbroken iPhone. Both carrier bundle and symlink are in /private/var/mobile/Library/Carrier Bundles/. Use WinSCP or Cyberduck if OpenSSH is installed to delete both or grab the free too DiskAid (http://www.digidna.net/diskaid/download.php) to do the job.
Use of the service is free of cause. Thanks an credit to the Dev Team for making all that possible.
Information on fields and folders - please read first
a. Data for Info.plist
* Bundle Name (e.g. o2_UK, do NOT add .bundle!)
This field is mandatory. Will be the name of the bundle. Do not add .bundle, the script will do. Do not use any special character here (no spaces, no umlauts, no & aso)
b. carrier.plist - General data
* Carrier Name (e.g. o2 UK, Vodafone DE)
This field is mandatory. Will show up on the iPhone in "Settings > General > About > Carrier" along with the bundle version 5.0.
Account URL Title and Account URL
If set it will show up in "Settings > Phone" at the bottom as "Carrier Name Services" providing links.
Service Name 1 / Service Code 1 to Service Name 5 / Service Code 5
If set you will find access to service numbers of your provider in "Settings > Phone" on the bottom as "Carrier Name Services". If you like to use one or more, please start with service 1 and continue then.
* Supported SIM (Your MCC/MNC e.g. 20622)
This field is mandatory. Fill in the MCC/MNC (you wrote it down).
The service supports more than one MCC/MNC associated to one carrier bundle. I have added two more (optional) fields for that. If you find out your carrier needs even more, just let me know.
Every user still has to fill out the first field "* Supported SIM (Your MCC/MNC e.g. 20622)" (it's mandatory), the two others are just optional for those needing them.
1 st additional supported MCC/MNC - optional & 2nd additional supported MCC/MNC - optional
Only for those users with a carrier bundle that has associated more than one MCC/MNC
* First character/digit of carrier logo name
This field is mandatory. Type in the first character of the carriername that is displayed on the iPhones top left, right from the signal bars before you applied the custom carrier bundle.
Voicemail number
Type in the access numer for your voicemail here. No need anymore for the "*5005*86*xxx#"-hack. Type in the number here and it will work when hitting the voicemail-button in the Phone app. You can either use the local one or the complete (starting with +XXX > recommended!)
The following fields are set automatically: AllowEDGEEDiting (true), ShowCallForwarded (false), ShowCallForwarding (false), ShowDialAssist (false), ShowTTY (false), SupportsNITZ (true), MaxBluetoothModemConnections set to 3 (Apple recommended), GroupModeEnabled boolean/false (in MMS; Apple recommended).
c. carrier.plist - Data for Internet and Tethering
APN, Username, Password for Internet/Data
Type in APN, username and password for internet access on the iPhone (Mail, Web, Maps...). Some carriers only want APN, some dont want any data at all here. You can edit the entry later on the iPhone in "Settings > General > Network > Cellular Data Network"
APN, Username, Password for Tethering
This is just an option for those where the carrier wants different APN/username/password for tethering on the iPhone. In most cases this is not the case - same setting. Just leave it blank, the script will auto-fill the values of Internet/Data here - no action needed then.
d. Data for MMS
The important part is getting the data needed from your carrier and entering them. Values for Maximum Message Size and Maximum Video Bitrate are needed in most countries (Maximum Video Bitrate for MMS video from iPhone 3GS aswell). In most parts of Europe Maximum Message Size (size of a MMS message) is limited to 307200 (bytes = 300 KB), some allow bigger sizes. If you dont set a value here 307200 is automatically set. Video framerate for videos trasmitted via MMS is recommended by Apple to be set to 131072 (bits per second = 128 KBit/s). If you dont enter a value here 131072 is set automatically.
When entering MMSC dont forget http:// in front of the value!
Your carrier probably lists a "MMS Proxy" and a "mms proxy port" for example 98.111.34.123 and 8080. The form entry for "Proxy" then would be 98.111.34.123:8080 (no http:// in front this time.
The iPhone shows one more field called "MMS UA Prof URL". I am not aware of a provider needing an entry here, so you wont find the field in this form. If you need it, after applying the ipcc on the iPhone goto "Settings > General > Network > Cellular Data Network" and enter the values there
e. carrier logos
Width of carrier logo
Apples logosize is 60*20 (width*height). You may choose another, the logo pushes the display of WLAN and time to the right then.
Font type
Apple uses Helvetica 14 for displaying the carrier name. Helvetica is not free. I have been choosing the free font family "DejaVu", you can checkout/get it here http://dejavu.sourceforge.net/wiki/index.php/Main_Page. DejaVu Sans Condensed Bold looks best to me.
Font size
Apple uses helvetica 14, DejaVu Sans Condensed Bold 12 looks best to me.
Logo text
Type in the desired text. The cool thing about DejaVu is that it supports Latin, Greek, Cyrillic and Arabic. So just use the language of your choice.
Hint: Use a space here if you dont want any logo name to show up.
Attention: If you want more text to fit, choose a bigger logo-size. Standard logo size and standard font fits 8-10 characters only!
If you want custom logos with fency pictures instead of the once created by the web service, after applying the ipcc you may SFTP into the iPhone and replace the two png files. Just make sure to not edit the names of the png files!!!!
One last note: Using Internet/Tethering & MMS will add costs to your monthly phone bill!!!