Difference between revisions of "Carrier Bundle"

From The iPhone Wiki
Jump to: navigation, search
m (Type Mask: Shortened table)
Line 9: Line 9:
 
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.
 
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.
   
  +
== Structure ==
 
= Structure =
 
   
 
Carrier bundles are ZIP archives with .ipcc extension. They contain the mandatory Payload folder that includes the bundle itself and the symlink:
 
Carrier bundles are ZIP archives with .ipcc extension. They contain the mandatory Payload folder that includes the bundle itself and the symlink:
Line 23: Line 22:
   
   
= Enabling .ipcc support in iTunes =
+
== 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).
 
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).
   
===To enable .ipcc support on Mac OS X:===
+
=== To enable .ipcc support on Mac OS X... ===
 
1. Quit iTunes.
 
1. Quit iTunes.
   
Line 33: Line 32:
 
defaults write com.apple.itunes carrier-testing -bool true
 
defaults write com.apple.itunes carrier-testing -bool true
   
===To enable .ipcc support on Windows:===
+
=== To enable .ipcc support on Windows... ===
 
1. Quit iTunes.
 
1. Quit iTunes.
   
Line 39: Line 38:
 
"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
 
"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
   
=Type Mask=
+
== Type Mask ==
 
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.
 
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.
   
Line 65: Line 64:
 
For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data"
 
For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data"
   
= iPhone 3.1 Changes =
+
== iPhone 3.1 Changes ==
 
As of iPhone OS 3.1b1, the carrier bundle APN settings are now [http://skitch.com/beau/b4ca8/carrier.plist signed] to prevent tampering/modification by users.. Due to carriers around the world having set up APNs specified for specific purposes, such as tethering, this will stop users from modifying the carrier settings to bypass the specified APNs that may require payment for access.
 
As of iPhone OS 3.1b1, the carrier bundle APN settings are now [http://skitch.com/beau/b4ca8/carrier.plist signed] to prevent tampering/modification by users.. Due to carriers around the world having set up APNs specified for specific purposes, such as tethering, this will stop users from modifying the carrier settings to bypass the specified APNs 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 is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all.
   
= External Links =
+
== External Links ==
 
*[http://www.volkspost.info/ipcc_fw3/ Carrier Bundle Generator]
 
*[http://www.volkspost.info/ipcc_fw3/ Carrier Bundle Generator]
 
*[http://b3.s3.quickshareit.com/typemask_new23290c.png Graphical table of APN values]
 
*[http://b3.s3.quickshareit.com/typemask_new23290c.png Graphical table of APN values]

Revision as of 13:57, 13 August 2009

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 iPhone 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.

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.

Structure

Carrier bundles are ZIP archives with .ipcc extension. They contain the mandatory Payload folder that includes the bundle itself and the symlink:

\Payload\
        \MyCarrier.bundle\
                         \carrier.plist - carrier settings go here
                         \Default_CARRIER_MyCarrier.png - logo for light background
                         \FSO_CARRIER_MyCarrier.png - logo for dark background
                         \Info.plist - bundle description
        \12345 - symlink to MyCarrier.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).

To enable .ipcc support on Mac OS X...

1. Quit iTunes.

2. Open Terminal and paste the following command:

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

To enable .ipcc support on Windows...

1. Quit iTunes.

2. Press Win-R and paste the following command:

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

Type Mask

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"

iPhone 3.1 Changes

As of iPhone OS 3.1b1, the carrier bundle APN settings are now signed to prevent tampering/modification by users.. Due to carriers around the world having set up APNs specified for specific purposes, such as tethering, this will stop users from modifying the carrier settings to bypass the specified APNs 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.

External Links