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!!!