Difference between revisions of "Carrier Bundle"

From The iPhone Wiki
Jump to: navigation, search
m (Undo revision 13640 by Balloonhead66 (Wait for the page to be made :)))
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
  +
'''Carrier Bundles''' provide a way to organize all customizations related to carriers in one place. These include voice mail numbers, MMS and APN settings etc.
   
  +
For users on carriers other than the Apple's official partners, carrier bundles allow to configure important settings such as APN and enable features like MMS and tethering.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
On the device side, carrier bundles are stored in the following directories:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* /var/mobile/Library/Carrier Bundles/ - bundles downloaded via [[iTunes]].
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* /System/Library/Carrier Bundles/ - bundles provided with the [[firmware]] image. Starting with iOS 4.2, carrier bundles are stored in a subfolder of this path.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
If two bundles with the same name exist in both paths, the one on user partition takes preference. This allows Apple to update carrier bundles without releasing a whole new OS.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
On a computer that has downloaded carrier bundle updates, they are stored in the following directories:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* ~/Library/iTunes/iPhone Carrier Support/ - this folder will not exist if iTunes hasn't downloaded any carrier updates
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
== Structure ==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Carrier bundles are ZIP archives with .ipcc extension. They are named after the carrier and the country they are for (for example, <code>MyCarrier_au.ipcc</code>) They contain the mandatory Payload folder that includes the bundle itself and the symlink:
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
\Payload\
Haxed by 1337Urmom at The Pois0nhack team
 
  +
\MyCarrier_au.bundle\
Haxed by 1337Urmom at The Pois0nhack team
 
  +
\[[carrier.plist]] - carrier settings go here
Haxed by 1337Urmom at The Pois0nhack team
 
  +
\Default_CARRIER_MyCarrier.png - logo for grey status bar
Haxed by 1337Urmom at The Pois0nhack team
 
  +
\FSO_CARRIER_MyCarrier.png - logo for black statusbar
Haxed by 1337Urmom at The Pois0nhack team
 
  +
\Info.plist - bundle description
  +
\version.plist - bundle version (not always present)
  +
\12345 - symlink to MyCarrier_au.bundle (12345 is MCC+MNC)
   
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
== Enabling .ipcc support in iTunes ==
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
By default, [[iTunes]] allows only carrier bundle updates from Apple. However, when the [[iTunes Modes|"carrier-testing" preference]] is enabled, .ipcc files can be loaded from the user's hard drive by clicking either "Check for Updates" or "Restore" button while holding Shift (on Windows) or Option key (on Mac).
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
=== Mac OS X ===
Haxed by 1337Urmom at The Pois0nhack team
 
  +
1. Quit iTunes.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
2. Open Terminal and paste the following command:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
defaults write com.apple.itunes carrier-testing -bool true
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
=== Windows ===
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Enter the following in a command line, the Start menu search box or the Run dialog:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
Note: this command just enables the preference and exits, so iTunes won't open if it's not already running.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
== iOS 3.1 Changes ==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
As of iOS 3.1b1, APN settings are now being [http://skitch.com/beau/b4ca8/carrier.plist signed] to prevent tampering/modification by users.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
This has been implemented to stop users bypassing the carrier's designated APN for tethering that may require payment for access.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
This is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
This signature-check can be circumvented by [http://wikee.iphwn.org/howto:random#how_do_i_re-enable_internet_tethering_on_3.1.2_firmware patching commcenter.]
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
Only the APN settings are being signed; other settings can still be modified without needing to patch commcenter.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
== iOS 4.x Changes ==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
One of the new 'features' in iOS 4 is the addition of over-the-air carrier updates. Carriers can now push updated settings over the air without having to tether your device to a computer to poll for updates.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
All carrier bundle settings are now signed, not just the APN settings. To circumvent this, [http://www.mirrorcreator.com/files/AIQ9DTQA/ commcenter must now be patched].
Haxed by 1337Urmom at The Pois0nhack team
 
  +
The bit-mask for APN settings has also changed quite significantly.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
== Type Mask ==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
<pre style="color:red">These flags are depreciated for iOS 4 and above. These will need to be updated for 4.0 onwards.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
</pre>
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Each APN in the carrier.plist has a numeric type-mask. It is bitmask (combination of flags) that designates what the APN should be used for (eg. phone data, tethering, visual voicemail, MMS, or a combination). This table shows what each-type mask designates an APN for.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
{| class="wikitable" border="1"
Haxed by 1337Urmom at The Pois0nhack team
 
  +
|+'''Type Mask'''
Haxed by 1337Urmom at The Pois0nhack team
 
  +
|-
Haxed by 1337Urmom at The Pois0nhack team
 
  +
! Value
Haxed by 1337Urmom at The Pois0nhack team
 
  +
! Feature
Haxed by 1337Urmom at The Pois0nhack team
 
  +
|-
  +
| 0
  +
| Disabled
  +
|-
  +
| 1
  +
| Data
  +
|-
  +
| 2
  +
| Visual Voicemail (VVM)
  +
|-
  +
| 4
  +
| MMS
  +
|-
  +
| 48(0x30)
  +
| Tethering
  +
|}
  +
For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data"
   
  +
== External Links ==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
*[http://www.volkspost.info/ipcc_fw3/ Carrier Bundle Generator]
Haxed by 1337Urmom at The Pois0nhack team
 
  +
*[http://b3.s3.quickshareit.com/typemask_new23290c.png Graphical table of APN values]
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 

Revision as of 16:56, 26 November 2010

Carrier Bundles provide a way to organize all customizations related to carriers in one place. These include voice mail numbers, MMS and APN settings etc.

For users on carriers other than the Apple's official partners, carrier bundles allow to configure important settings such as APN and enable features like MMS and tethering.

On the device side, carrier bundles are stored in the following directories:

  • /var/mobile/Library/Carrier Bundles/ - bundles downloaded via iTunes.
  • /System/Library/Carrier Bundles/ - bundles provided with the firmware image. Starting with iOS 4.2, carrier bundles are stored in a subfolder of this path.

If two bundles with the same name exist in both paths, the one on user partition takes preference. This allows Apple to update carrier bundles without releasing a whole new OS.

On a computer that has downloaded carrier bundle updates, they are stored in the following directories:

  • ~/Library/iTunes/iPhone Carrier Support/ - this folder will not exist if iTunes hasn't downloaded any carrier updates

Structure

Carrier bundles are ZIP archives with .ipcc extension. They are named after the carrier and the country they are for (for example, MyCarrier_au.ipcc) They contain the mandatory Payload folder that includes the bundle itself and the symlink:

\Payload\
        \MyCarrier_au.bundle\
                         \carrier.plist - carrier settings go here
                         \Default_CARRIER_MyCarrier.png - logo for grey status bar
                         \FSO_CARRIER_MyCarrier.png - logo for black statusbar
                         \Info.plist - bundle description
                         \version.plist - bundle version (not always present)
        \12345 - symlink to MyCarrier_au.bundle (12345 is MCC+MNC)


Enabling .ipcc support in iTunes

By default, iTunes allows only carrier bundle updates from Apple. However, when the "carrier-testing" preference is enabled, .ipcc files can be loaded from the user's hard drive by clicking either "Check for Updates" or "Restore" button while holding Shift (on Windows) or Option key (on Mac).

Mac OS X

1. Quit iTunes.

2. Open Terminal and paste the following command:

defaults write com.apple.itunes carrier-testing -bool true

Windows

Enter the following in a command line, the Start menu search box or the Run dialog:

"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1

Note: this command just enables the preference and exits, so iTunes won't open if it's not already running.

iOS 3.1 Changes

As of iOS 3.1b1, APN settings are now being signed to prevent tampering/modification by users. This has been implemented to stop users bypassing the carrier's designated APN for tethering that may require payment for access. This is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all. This signature-check can be circumvented by patching commcenter.

Only the APN settings are being signed; other settings can still be modified without needing to patch commcenter.

iOS 4.x Changes

One of the new 'features' in iOS 4 is the addition of over-the-air carrier updates. Carriers can now push updated settings over the air without having to tether your device to a computer to poll for updates. All carrier bundle settings are now signed, not just the APN settings. To circumvent this, commcenter must now be patched. The bit-mask for APN settings has also changed quite significantly.

Type Mask

These flags are depreciated for iOS 4 and above. These will need to be updated for 4.0 onwards.

Each APN in the carrier.plist has a numeric type-mask. It is bitmask (combination of flags) that designates what the APN should be used for (eg. phone data, tethering, visual voicemail, MMS, or a combination). This table shows what each-type mask designates an APN for.

Type Mask
Value Feature
0 Disabled
1 Data
2 Visual Voicemail (VVM)
4 MMS
48(0x30) Tethering

For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data"

External Links