Carrier.plist

From The Apple Wiki

This PLIST file is the core element of a carrier bundle, defining various settings.

Structure[edit source]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
ELEMENTS GO HERE
</dict>
</plist>

Carrier Definition[edit source]

<key>CarrierName</key>
<string>O2</string>

Sets the carrier name.

<key>SupportedSIMs</key>
<array>
 <string>23410</string>
</array>

Specifies a list of carriers for which the carrier bundle applies. AAA is an MCC, BB is the MNC.

May contain other values to tell apart MVNOs. Example: 23410_GID1-67FFFF

APN editability[edit source]

<key>APNEditabilityTypemask</key>
<integer>X</integer>

Restricts the following parameter to certain type masks.

<key>AllowEDGEEditing</key>
<true/>

Enables the Settings>General>Network>Cellular Data Network menu.

Wi-Fi hotspot preconfiguration[edit source]

<key>CaptiveSettingsBySSID</key>
<dict>
 <key>BTOpenzone</key>
 <dict>
  <key>Bypass</key>
  <true/>
 </dict>
</dict>

"BTOpenzone" is the name of an hotspot. Unknown usage and results.

<key>WISPrAccounts</key>
<dict>
 <key>phone@attmobility.com</key>
 <dict>
  <key>AuthenticationRealm</key>
  <string>attmobilityiphone.com</string>
  <key>MatchingSSIDs</key>
  <dict>
   <key>attwifi</key>
   <array>
    <string>.att.com</string>
    <string>.att.net</string>
    <string>.sbc.com</string>
    <string>.wayport.net</string>
   </array>
  </dict>
  DICT CAN REPEAT
  <key>PasswordType</key>
  <string>AT&T</string>
  <key>SharedSecret</key>
  <string>a446649326d41d87dbb8caec8caf736a</string>
 </dict>

Data Roaming[edit source]

<key>IntlDataRoamingSwitch</key>
<true/>

Enables the Settings>General>Network>Data Roaming menu.

<key>IntlDataRoamingExceptions</key>
<array>
 <string>AAABB</string>
 <string>AAABB</string>
</array>

Specifies a list of carriers for which data roaming is toggled via the above mentioned switch even if they have the same MCC. AAA is an MCC, BB is the MNC.

<key>Show3GSwitch</key>
<false/>

Hides 3G switch and forces UMTS to be enabled (for carriers with no 2G network, e.g. Hutchison (3) UK, SoftBank JP).

MMS settings[edit source]

<key>ASCIIFileNameRequired</key>
<true/>
<key>MMS</key>
<dict>
 <key>AllowReturnReports</key>
 <true/>
 <key>GroupModeAllowUserOverride</key>
 <true/>
 <key>GroupModeEnabled</key>
 <false/>
 <key>MMSC</key>
 <string>URL</string>
 <key>MaxMessageSize</key>
 <integer>FILESIZE (B)</integer>
 <key>MaxRecipients</key>
 <integer>NUMBER</integer>
 <key>OnWhileRoaming</key>
 <false/>
 <key>Proxy</key>
 <string>HOSTNAME-OR-IP:PORT</string>
 <key>ShowMMSEmailAddress</key>
 <true/>
 <key>Version</key>
 <string>1.2</string>
 <key>vCard21ExportModeEnabled</key>
 <true/>
</dict>

ASCIIFileNameRequired[edit source]

Not part of the MMS settings, but clearly has to do with attachments.

AllowReturnReports[edit source]

???

GroupModeAllowUserOverride[edit source]

Enables the setting of GroupModeEnabled from the UI (Settings > Messages)

GroupModeEnabled[edit source]

Defines whether all group messages will be sent as MMS regardless of the presence of attachments.

MMSC[edit source]

URL to the MMSC.

MaxMessageSize[edit source]

Maximum MMS size in bytes. Recommended: 300K or 100K

MaxRecipients[edit source]

???

OnWhileRoaming[edit source]

If enabled, the Data Roaming switch doesn't apply to MMS.

Proxy[edit source]

Proxy server used for the MMS data connection.

ShowMMSEmailAddress[edit source]

Enables a Settings>Messages>Email Address field.

Tethering[edit source]

Tethering itself is enabled by the type-mask attribute of APN settings.

<key>MaxBluetoothModemConnections</key>
<integer>X/integer>

Number of maximum simultaneous connected devices. Apple-recommended value: 3

<key>TetheringURL</key>
<string>http://www.o2.co.uk/iphonehelp/modem</string>

Link for the "Set Up Internet Tethering" button

Service links[edit source]

It is possible to create a submenu of Settings>Phone titled "CARRIER NAME Services" which can contain up to 5 phone numbers and an URL.

<key>MyAccountURL</key>
<string>AAAAA</string>
<key>MyAccountURLTitle</key>
<string>AAAAA</string>

Website URL and link caption.

<key>Services</key>
<array>
 <dict>
  <key>ServiceCode</key>
  <string>*225#</string>
  <key>ServiceName</key>
  <string>Check Bill Balance</string>
 </dict>
REPEAT AS NEEDED
</array>
<key>ShowServiceCodes</key>
<false/>

Hides the numbers from the links created with the above structure.

<key>CustomerServicePhoneNumber</key>
<string>611</string>

FaceTime[edit source]

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>AAAAA</string>

Phone number of the activation server. Defaults: 28818773 for U.S. & Canada, +447786205094 elsewhere.

<key>RegistrationOptInRequired</key>
<true/>

Ask before sending registration SMS

Call forwarding popups[edit source]

<key>ShowCallForwarded</key>
<false/>
<key>ShowCallForwarding</key>
<false/>

TTY[edit source]

<key>ShowTTY</key>
<true/>

Enables software-side support (Settings>Phone>TTY) for a TTY cable.

International Assist (USA only)[edit source]

<key>ShowDialAssist</key>
<true/>

Enable carrier selection[edit source]

<key>OverrideCarrierMenuTo</key>
<true/>

Enables Settings>Carrier even if the SIM disabled it

Carrier Logos[edit source]

<key>StatusBarImages</key>
<array>
 <dict>
  <key>AllowPrefixMatching</key>
  <false/>
  <key>CarrierName</key>
  <string>AAAA</string>
  <key>DefaultImage</key>
  <string>Default_CARRIER_carriername.png</string>
  <key>FullScreenOpaqueImage</key>
  <string>FSO_CARRIER_carriername.png</string>
  <key>StatusBarCarrierName</key>
  <string>O2-UK</string>
 </dict>
PLACE MORE DICTs AS NEEDED
</array>

AllowPrefixMatching[edit source]

If enabled, an * wildcard is applied to the end of the CarrierName property.

CarrierName[edit source]

AAAA is the alpha tag returned by the baseband corresponding to the current MCC and MNC that will be replaced with the specified logos.

DefaultImage[edit source]

Logo for the grey status bar.

FullScreenOpaqueImage[edit source]

Logo for the black status bar.

StatusBarCarrierName[edit source]

Used if the logos are not available/specified?

Stocks.app integration[edit source]

<key>StockSymboli</key>
<array>
 <dict>
  <key>symbol</key>
  <string>^FTSE</string>
 </dict>
 <dict>
  <key>symbol</key>
  <string>^FTAS</string>
 </dict>
</array>

^FTSE and ^FTAS are stocks that will be automatically added to the app.

Network time sync[edit source]

<key>SupportsNITZ</key>
<true/>

Enables time updates through the NITZ protocol.

Voicemail[edit source]

<key>VoicemailPilotNumber</key>
<string>PHONE NUMBER</string>

Number to call when in home country.

<key>RoamingVoicemailPilotNumber</key>
<string>PHONE NUMBER</string>

Number to call when not in home country.

<key>VMSMFilterNumber</key>
<string>PHONE NUMBER</string>

Text messages from this number will have the sender displayed as a localized "Voicemail".

<key>VMSMFilterMessage</key>
<string>TEXT</string>

???

<key>VoicemailPasswordResetPhoneNumber</key>
<string>PHONE NUMBER</string>

Not tested, but should be self explanatory.

APN settings[edit source]

<key>apns</key>
 <array>
 <dict>
  <key>apn</key>
  <string>APN</string>
  <key>password</key>
  <string>PASSWORD</string>
  <key>signature</key>
  
  GeaLtsvOnXvW3kkgR1u9ZReIxNPSIi0U8VykiqShszVUkAdkGAhB
  7V/fIvaaa5qAf1hpvSfsDRuzaVRUOkRMa0LiUqXh/1Cmor2LPFax
  RGO3UFinhsbprKNDMR45MJoT3wpFIRp2UPcRZz0fdq1+/WNAn1io
  7ge1hjHQMAukpOM=
  
  <key>type-mask</key>
  <integer>VARIABLE</integer>
  <key>username</key>
  <string>USERNAME</string>
 </dict>

REPEAT FOR OTHER APN SETTINGS AS NEEDED

</array>

It should be self-explanatory. Signature check is there since iPhone OS 3.1; patches to disable it are available.

Visual VoiceMail[edit source]

<key>VisualVoicemailServiceName</key>
<string>none or IMAP or ACDS</string>
<key>VVMIgnoresIntlDataRoaming</key>
<true/>
<key>VVMNotificationFallbackTimeout</key>
<integer>420</integer>
<key>VVMRetryIntervals</key>
<array>
 <integer>60</integer>
 <integer>60</integer>
 <integer>120</integer>
 <integer>120</integer>
 <integer>120</integer>
 <integer>300</integer>
 <integer>600</integer>
 <integer>600</integer>
 <integer>1800</integer>
 <integer>3600</integer>
 <integer>7200</integer>
</array>
<key>VisualVoicemailServiceName</key>
<string>none or IMAP or ACDS</string>
<key>com.apple.voicemail.imap</key>
<dict>
 <key>AuthenticationScheme</key>
 <string>DIGEST-MD5</string>
 <key>BeaconAddress</key>
 <string>9011</string>
 <key>ClientManagesTrash</key>
 <false/>
 <key>DeliverLegacyNotificationsBeforeSetup</key>
 <true/>
 <key>GreetingNotification</key>
 <true/>
 <key>IdleConnectionTimeout</key>
 <integer>2</integer>
 <key>MaxGreetingDuration</key>
 <integer>60</integer>
 <key>MaxPINLength</key>
 <integer>10</integer>
 <key>MinPINLength</key>
 <integer>4</integer>
 <key>UsesMWI</key>
 <true/>
 <key>UsesSSL</key>
 <false/>
</dict>

VVMIgnoresIntlDataRoaming[edit source]

If enabled, the Data Roaming switch doesn't apply to VVM.

Whitelisted phone numbers[edit source]

<key>e_only_whitelist</key>
<array>
 <string>PHONE NUMBER</string>
 STRINGs MAY BE REPEATED
</array>

This is actually pretty cool, since it enables you to call certain numbers without entering a passcode.

IPCC signature[edit source]

<key>signature</key>

dGZZA/uEGcfYuh99kHmgJHzrrGnOdzNbuAyFcM+ftaridECmtaInuEN6AtkHKle3/JFR
yw466AFSMNZXqzrM6/elUZKu41DF0ZnIb6dHB3yiYZq39eAmch8Au+cAe3mtE52Lg4cU
V7AbmAGHlg73N9GvGdRt7PE/gIuyRaM6+OU=

Always goes last. Only present in iOS 4.0 and above. Patches to bypass this check exist.

Unknown / Engineering[edit source]

<key>DormancyInactivity</key>
<integer>0</integer>

???

<key>ShowClass0SMSFromField</key>
<true/>

A class 0 SMS is a "flash message" which isn't saved to SIM or disk.

<key>SupportsUserBusyCauseCode</key>
<true/>

???

<key>SuspendFastDormancyAllowed</key>
<true/>

???

<key>AllowEditingTestModeUI</key>
<true/>

May be related to Field Test

<key>CheckSMSonSIM</key>
<true/>

Load SMS from SIM card?

<key>RedialOnRadioResourceRelease2G</key>
<false/>

???

<key>SyncSIMPhonebook</key>
<true/>

Load Contacts from SIM card?

<key>RemoteDiagnosticsWWANAllowed</key>
<true/>

Enabled on AT&T USA. Allows iOS Diagnositics to be run from Safari.