Carrier config android

Carrier config android DEFAULT

So today I am going to talk about com.android.carrierconfig, quite sure you must have seen this application running in the background and wondered what it is? How does it prove to be helpful for your android device? Thought of deleting it? What will happen if you force-stop it? Should you install it explicitly? So let’s get into the topic as I have addressed the solutions to these doubts.

Before that let us deeply understand why we need carrier configuration in our device and the reason is carrier framework is a media communications system that sends and receives data in the form of voice calls, video calls and on the other side configuring them means dispositioning of sections or components in a specified structure, figure or composite.

 Think of it as a medium to communicate with others through your phone and for things to work out properly you need to have some sort of composition to be made by the system and that is the reason why we have pre-installed applications or services that help your system to run smoothly.

Lear more: com.samsung.android.incallui

Table of Content

What is com.android.carrierconfig?

At whatever point you see a converse space plot like “com.android.xxxx” it implies that that is an individual bundle – an Android application. They utilize a reverse area name as a special identifier. All applications including iOS applications have one.

carrierconfig is a preinstalled application that is incorporated in android 6.0 and above versions. This application provides a carrier explicit structure.

It has the competence to actively offer carrier configuration to the system with the help of a specified interface. The assurance of what esteems to return is totally up to the transporter application and can be dynamic dependent on point-by-point data passed to the application through the android system.

The assurance of what values to return is altogether up to the carrier application and can be dynamic dependent on definite data passed to the application through the android system.

Do not miss: com.android.backupconfirm

Working of com android carrierconfig

The carrier design provided by this element is a bunch of key-value combines that are responsible for modifying different communication-related actions in the android system.

The arrangement of qualities for a specific gadget is controlled by questioning the accompanying segments altogether: 

  • The system config application is packaged with the framework picture.
  • Comparable to the conduct preceding Android 6.0 some default values are codified.

Carrierconfig provides voLTE/IMS arrangements, voicemail, roaming and non roaming network services, etc.

Information that is transmitted to the carrier application include:

  • Service provider name
  • Mobile country code
  • Mobile network code
  • International mobile Subscriber identity and many more.

Where to find com.android.carrierconfig:

Go to Settings > Apps > System Apps.

There if you scroll down you will find an application named “com.android.carrierconfig“, if you open it you will see many options and you can also disable or force stop the application.

com.android.carrierconfig

Can you disable com android carrierconfig:

 No, you cannot disable it however you can still force stop it, but doing so may result in some sort of misconduct in your system. And as it is seen that completely stopping an application can have drastic effects as compared to disabling it because you can again choose to enable the application when you feel to do so. But since this option isn’t enabled by the system there’s nothing more you can do.

For instance, if you are using any third-party software for telecommunication then you can freely force stop the carrierconfig but if you are dependent on the systems inbuilt application, stopping it will cause you a problem.

    However, there is an option provided by the application, located inside the data usage option which can turn on/off to restrict app background data. SO you can try doing that if you don’t want to use this application or restrict it from using your background data.

disable com android carrierconfig

Fixing the “com.android.carrierconfig stopped working” error

Firstly, try clearing the cache and data and force stop the application.

To do so open the com.android.carrierconfig application > click on Storage > click on clear data and clear cache.

Fixing the “com.android.carrierconfig stopped working” error

Go back and click on force stop option. Now again try restarting the application.

force stop com android carrierconfig

Explicitly installing carrier services

If you don’t have com.android.carrierconfig pre-installed on your device you can even install it from the play store by searching the “carrier services”, this application is from google. The working of inbuilt carrierconfig and google carrierconfig is considerably different. The google carrier services empower the most recent correspondence administrations from versatile carriers, including battery-advancements and backing for upgraded highlights in the Android Messages application. A nonexclusive system config application is packaged with the framework image. This application can supply values for any factors that the customary carrier application doesn’t.

Explicitly installing carrier services

Code of com.android.carrierconfig

Conclusion:

For telecommunication it is necessary to have some pre-installed applications like “com.android.carrierconfig” which I have discussed in detail and covered every possible topic related to it and even shared the code of this application. And how carrier services can be considered as an alternative for this generic application.

Sours: https://gossipfunda.com/com-android-carrierconfig/
Default Carrier Config App ========================== This app works as part of com.android.phone.CarrierConfigLoader to configure telephony features based on the subscriber's network. It replaced many XML resource overlays in frameworks/base and frameworks/opt/telephony. The current framework allows per-network configuration that uses CarrierIdentifier objects, rather than just mcc/mnc. per-network configuration files live in assets folder. Two ways to configure per-network configuration. Preferred way is carrier_config_carrierid_<carrierid>_<carriername>.xml AOSP carrier ID assignments can be found at https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb use carrier_config_mccmnc_<mccmnc>.xml only if there is no matching carrier id. This app uses a CarrierIdentifier to read the appropriate config snippets from the assets folder. If you make changes to the XML files, run the unit tests to ensure they can still be parsed: runtest carrierconfig-unit
Sours: https://github.com/LineageOS/android_packages_apps_CarrierConfig
  1. Lace privacy curtains
  2. A502dl specs
  3. Forest grove rental homes
  4. Amazon ensure chocolate

CarrierConfigManager




Provides access to telephony configuration values that are carrier-specific.

Users should obtain an instance of this class by calling

Summary

Constants

This intent is broadcast by the system when carrier config changes.

Does not display additional call seting for IMS phone based on GSM Phone

Allow user to add APNs

Determines if the current device should allow emergency numbers to be logged in the Call Log.

Flag indicating whether to allow carrier video calls to emergency numbers.

Determine whether we want to play local DTMF tones in a call, or just let the radio/BP handle playing of the tones.

Determines whether the carrier supports making non-emergency phone calls while the phone is in emergency callback mode.

The default flag specifying whether "Turn on Notifications" option will be always shown in Settings->More->Emergency broadcasts menu regardless developer options is turned on or not.

Control whether users can edit APNs in Settings.

Flag indicating if auto retry is enabled

Flag specifying whether IMS service can be turned off.

The default flag specifying whether ETWS/CMAS test setting is forcibly disabled in Settings->More->Emergency broadcasts menu even though developer options is turned on.

Flag specifying whether Generic Bootstrapping Architecture capable SIM is required for IMS.

Flag specifying whether IMS instant lettering is available for the carrier.

When IMS instant lettering is available for a carrier (see ), determines the character encoding which will be used when determining the length of messages.

When IMS instant lettering is available for a carrier (see ), determines a list of characters which must be escaped with a backslash '\' character.

When IMS instant lettering is available for a carrier (see ), determines the list of characters which may not be contained in messages.

When IMS instant lettering is available for a carrier (see ), the length limit for messages.

Display carrier settings menu if true

Flag specifying whether VoLTE should be available for carrier, independent of carrier provisioning.

Flag specifying whether provisioning is required for VOLTE.

Flag specifying whether VoLTE TTY is supported.

Flag specifying whether video telephony is available for carrier.

The package name of the carrier's visual voicemail app to ensure that dialer visual voicemail and carrier visual voicemail are not active at the same time.

Flag specifying whether WFC over IMS should be available for carrier: independent of carrier provisioning.

Flag specifying whether WFC over IMS supports the "wifi only" option.

Specifies the amount of gap to be added in millis between postdial DTMF tones.

Override the platform's notion of a network operator being considered non roaming.

Override the platform's notion of a network operator being considered roaming.

Flag specifying whether an additional (client initiated) intent needs to be sent on System update

Extra to be included in the intent sent for additional action on System update

Value of extra included in intent sent for additional action on System update

Intent to be sent for the additional action on System update

If this is true, the SIM card (through Customer Service Profile EF file) will be able to prevent manual operator selection.

The default sim call manager to use when the default dialer doesn't implement one.

Disables dialing "*228" (OTASP provisioning) on CDMA carriers where it is not supported or is potentially harmful by locking the SIM to 3G.

Flag indicating if dtmf tone type is enabled

The duration in seconds that platform call and message blocking is disabled after the user contacts emergency services.

Determine whether user can toggle Enhanced 4G LTE Mode in Settings.

If true, enable vibration (haptic feedback) for key presses in the EmergencyDialer activity.

Override the platform's notion of a network operator being considered non roaming.

Specifies the amount of gap to be added in millis between postdial DTMF tones.

Override the platform's notion of a network operator being considered not roaming.

Override the platform's notion of a network operator being considered roaming.

Determines if device implements a noise suppression device for in call audio.

Control whether users can reach the carrier portions of Cellular Network Settings.

Determine whether IMS apn can be shown.

Determine whether preferred network type can be shown.

Control whether users can reach the SIM lock settings.

Flag indicating whether the Phone app should ignore EVENT_SIM_NETWORK_LOCKED events from the Sim.

Specifies the amount of gap to be added in millis between DTMF tones.

Control whether users can choose a network operator.

Used in Cellular Network Settings for preferred network type.

Flag to require or skip entitlement checks.

Show APN Settings for some CDMA carriers

Show cdma network mode choices 1x, 3G, global etc.

Flag specifying whether ICCID is showed in SIM Status screen, default to false.

If true, show an onscreen "Dial" button in the dialer.

Flag indicating whether the Phone app should provide a "Dismiss" button on the SIM network unlock screen.

Determines whether conference calls are supported by a carrier.

For IMS video over LTE calls, determines whether video pause signalling is supported.

After a CDMA conference call is merged, the swap button should be displayed.

CDMA activation goes through HFA

CDMA activation goes through OTASP.

Flag indicating whether the carrier supports RCS presence indication for video calls.

Determine whether the voicemail notification is persistent in the notification bar.

If true, removes the Voice Privacy option from Call Settings

If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 or RIL_RADIO_TECHNOLOGY_UNKNOWN:0 this is the value that should be used instead.

Whether cellular data is required to access visual voicemail.

The carrier number mobile outgoing (MO) sms messages are sent to.

The port through which the mobile outgoing (MO) sms messages are sent through.

Whether to prefetch audio data on new voicemail arrival, defaulted to true.

The type of visual voicemail protocol the carrier adheres to.

Flag indicating if the phone is a world phone

Inherited methods

From class

Creates and returns a copy of this object.

Indicates whether some other object is "equal to" this one.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

Returns the runtime class of this .

Returns a hash code value for the object.

Wakes up a single thread that is waiting on this object's monitor.

Wakes up all threads that are waiting on this object's monitor.

Returns a string representation of the object.

Causes the current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

Causes the current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.

Causes the current thread to wait until another thread invokes the method or the method for this object.

Constants

ACTION_CARRIER_CONFIG_CHANGED

Added in API level 23

String ACTION_CARRIER_CONFIG_CHANGED

This intent is broadcast by the system when carrier config changes.

Constant Value: "android.telephony.action.CARRIER_CONFIG_CHANGED"

KEY_ADDITIONAL_CALL_SETTING_BOOL

Added in API level 23

String KEY_ADDITIONAL_CALL_SETTING_BOOL

Does not display additional call seting for IMS phone based on GSM Phone

Constant Value: "additional_call_setting_bool"

KEY_ALLOW_ADDING_APNS_BOOL

Added in API level 24

String KEY_ALLOW_ADDING_APNS_BOOL

Allow user to add APNs

Constant Value: "allow_adding_apns_bool"

KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL

Added in API level 23

String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL

Determines if the current device should allow emergency numbers to be logged in the Call Log. (Some carriers require that emergency calls *not* be logged, presumably to avoid the risk of accidental redialing from the call log UI. This is a good idea, so the default here is false.)

Constant Value: "allow_emergency_numbers_in_call_log_bool"

KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL

Added in API level 24

String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL

Flag indicating whether to allow carrier video calls to emergency numbers. When , video calls to emergency numbers will be allowed. When , video calls to emergency numbers will be initiated as audio-only calls instead.

Constant Value: "allow_emergency_video_calls_bool"

KEY_ALLOW_LOCAL_DTMF_TONES_BOOL

Added in API level 23

String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL

Determine whether we want to play local DTMF tones in a call, or just let the radio/BP handle playing of the tones.

Constant Value: "allow_local_dtmf_tones_bool"

KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL

Added in API level 24

String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL

Determines whether the carrier supports making non-emergency phone calls while the phone is in emergency callback mode. Default value is , meaning that non-emergency calls are allowed in emergency callback mode.

Constant Value: "allow_non_emergency_calls_in_ecm_bool"

KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL

Added in API level 24

String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL

The default flag specifying whether "Turn on Notifications" option will be always shown in Settings->More->Emergency broadcasts menu regardless developer options is turned on or not.

Constant Value: "always_show_emergency_alert_onoff_bool"

KEY_APN_EXPAND_BOOL

Added in API level 23

String KEY_APN_EXPAND_BOOL

Control whether users can edit APNs in Settings.

Constant Value: "apn_expand_bool"

KEY_AUTO_RETRY_ENABLED_BOOL

Added in API level 23

String KEY_AUTO_RETRY_ENABLED_BOOL

Flag indicating if auto retry is enabled

Constant Value: "auto_retry_enabled_bool"

KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL

Added in API level 23

String KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL

Flag specifying whether IMS service can be turned off. If false then the service will not be turned-off completely, but individual features can be disabled.

Constant Value: "carrier_allow_turnoff_ims_bool"

KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL

Added in API level 24

String KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL

The default flag specifying whether ETWS/CMAS test setting is forcibly disabled in Settings->More->Emergency broadcasts menu even though developer options is turned on.

Constant Value: "carrier_force_disable_etws_cmas_test_bool"

KEY_CARRIER_IMS_GBA_REQUIRED_BOOL

Added in API level 24

String KEY_CARRIER_IMS_GBA_REQUIRED_BOOL

Flag specifying whether Generic Bootstrapping Architecture capable SIM is required for IMS.

Constant Value: "carrier_ims_gba_required_bool"

KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL

Added in API level 24

String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL

Flag specifying whether IMS instant lettering is available for the carrier. if instant lettering is available for the carrier, otherwise.

Constant Value: "carrier_instant_lettering_available_bool"

KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING

Added in API level 24

String KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING

When IMS instant lettering is available for a carrier (see ), determines the character encoding which will be used when determining the length of messages. Used in the InCall UI to limit the number of characters the user may type. If empty-string, the instant lettering message size limit will be enforced on a 1:1 basis. That is, each character will count towards the messages size limit as a single bye. If a character encoding is specified, the message size limit will be based on the number of bytes in the message per the specified encoding.

Constant Value: "carrier_instant_lettering_encoding_string"

KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING

Added in API level 24

String KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING

When IMS instant lettering is available for a carrier (see ), determines a list of characters which must be escaped with a backslash '\' character. Should be specified as a string containing the characters to be escaped. For example to escape quote and backslash the string would be a quote and a backslash.

Constant Value: "carrier_instant_lettering_escaped_chars_string"

KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING

Added in API level 24

String KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING

When IMS instant lettering is available for a carrier (see ), determines the list of characters which may not be contained in messages. Should be specified as a regular expression suitable for use with .

Constant Value: "carrier_instant_lettering_invalid_chars_string"

KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT

Added in API level 24

String KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT

When IMS instant lettering is available for a carrier (see ), the length limit for messages. Used in the InCall UI to ensure the user cannot enter more characters than allowed by the carrier. See also for more information on how the length of the message is calculated.

Constant Value: "carrier_instant_lettering_length_limit_int"

KEY_CARRIER_SETTINGS_ENABLE_BOOL

Added in API level 23

String KEY_CARRIER_SETTINGS_ENABLE_BOOL

Display carrier settings menu if true

Constant Value: "carrier_settings_enable_bool"

KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL

Added in API level 24

String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL

Constant Value: "carrier_use_ims_first_for_emergency_bool"

KEY_CARRIER_VOLTE_AVAILABLE_BOOL

Added in API level 23

String KEY_CARRIER_VOLTE_AVAILABLE_BOOL

Flag specifying whether VoLTE should be available for carrier, independent of carrier provisioning. If false: hard disabled. If true: then depends on carrier provisioning, availability, etc.

Constant Value: "carrier_volte_available_bool"

KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL

Added in API level 23

String KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL

Flag specifying whether provisioning is required for VOLTE.

Constant Value: "carrier_volte_provisioning_required_bool"

KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL

Added in API level 23

String KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL

Flag specifying whether VoLTE TTY is supported.

Constant Value: "carrier_volte_tty_supported_bool"

KEY_CARRIER_VT_AVAILABLE_BOOL

Added in API level 23

String KEY_CARRIER_VT_AVAILABLE_BOOL

Flag specifying whether video telephony is available for carrier. If false: hard disabled. If true: then depends on carrier provisioning, availability, etc.

Constant Value: "carrier_vt_available_bool"

KEY_CARRIER_VVM_PACKAGE_NAME_STRING

Added in API level 23

String KEY_CARRIER_VVM_PACKAGE_NAME_STRING

The package name of the carrier's visual voicemail app to ensure that dialer visual voicemail and carrier visual voicemail are not active at the same time.

Constant Value: "carrier_vvm_package_name_string"

KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL

Added in API level 23

String KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL

Flag specifying whether WFC over IMS should be available for carrier: independent of carrier provisioning. If false: hard disabled. If true: then depends on carrier provisioning, availability etc.

Constant Value: "carrier_wfc_ims_available_bool"

KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL

Added in API level 24

String KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL

Flag specifying whether WFC over IMS supports the "wifi only" option. If false, the wifi calling settings will not include an option for "wifi only". If true, the wifi calling settings will include an option for "wifi only"

By default, it is assumed that WFC supports "wifi only".

Constant Value: "carrier_wfc_supports_wifi_only_bool"

KEY_CDMA_DTMF_TONE_DELAY_INT

Added in API level 24

String KEY_CDMA_DTMF_TONE_DELAY_INT

Specifies the amount of gap to be added in millis between postdial DTMF tones. When a non-zero value is specified, the UE shall wait for the specified amount of time before it sends out successive DTMF tones on the network.

Constant Value: "cdma_dtmf_tone_delay_int"

KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY

Added in API level 23

String KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY

Override the platform's notion of a network operator being considered non roaming. Value is string array of SIDs to be considered not roaming for 3GPP2 RATs.

Constant Value: "cdma_nonroaming_networks_string_array"

KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY

Added in API level 23

String KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY

Override the platform's notion of a network operator being considered roaming. Value is string array of SIDs to be considered roaming for 3GPP2 RATs.

Constant Value: "cdma_roaming_networks_string_array"

KEY_CI_ACTION_ON_SYS_UPDATE_BOOL

Added in API level 24

String KEY_CI_ACTION_ON_SYS_UPDATE_BOOL

Flag specifying whether an additional (client initiated) intent needs to be sent on System update

Constant Value: "ci_action_on_sys_update_bool"

KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING

Added in API level 24

String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING

Extra to be included in the intent sent for additional action on System update

Constant Value: "ci_action_on_sys_update_extra_string"

KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING

Added in API level 24

String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING

Value of extra included in intent sent for additional action on System update

Constant Value: "ci_action_on_sys_update_extra_val_string"

KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING

Added in API level 24

String KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING

Intent to be sent for the additional action on System update

Constant Value: "ci_action_on_sys_update_intent_string"

KEY_CSP_ENABLED_BOOL

Added in API level 23

String KEY_CSP_ENABLED_BOOL

If this is true, the SIM card (through Customer Service Profile EF file) will be able to prevent manual operator selection. If false, this SIM setting will be ignored and manual operator selection will always be available. See CPHS4_2.WW6, CPHS B.4.7.1 for more information

Constant Value: "csp_enabled_bool"

KEY_DEFAULT_SIM_CALL_MANAGER_STRING

Added in API level 23

String KEY_DEFAULT_SIM_CALL_MANAGER_STRING

The default sim call manager to use when the default dialer doesn't implement one. A sim call manager can control and route outgoing and incoming phone calls, even if they're placed using another connection service (PSTN, for example).

Constant Value: "default_sim_call_manager_string"

KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL

Added in API level 23

String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL

Disables dialing "*228" (OTASP provisioning) on CDMA carriers where it is not supported or is potentially harmful by locking the SIM to 3G.

Constant Value: "disable_cdma_activation_code_bool"

KEY_DTMF_TYPE_ENABLED_BOOL

Added in API level 23

String KEY_DTMF_TYPE_ENABLED_BOOL

Flag indicating if dtmf tone type is enabled

Constant Value: "dtmf_type_enabled_bool"

KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT

Added in API level 24

String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT

The duration in seconds that platform call and message blocking is disabled after the user contacts emergency services. Platform considers values in the range 0 to 604800 (one week) as valid. See ).

Constant Value: "duration_blocking_disabled_after_emergency_int"

KEY_EDITABLE_ENHANCED_4G_LTE_BOOL

Added in API level 24

String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL

Determine whether user can toggle Enhanced 4G LTE Mode in Settings.

Constant Value: "editable_enhanced_4g_lte_bool"

KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL

Added in API level 23

String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL

If true, enable vibration (haptic feedback) for key presses in the EmergencyDialer activity. The pattern is set on a per-platform basis using config_virtualKeyVibePattern. To be consistent with the regular Dialer, this value should agree with the corresponding values from config.xml under apps/Contacts.

Constant Value: "enable_dialer_key_vibration_bool"

KEY_FORCE_HOME_NETWORK_BOOL

Added in API level 23

String KEY_FORCE_HOME_NETWORK_BOOL

Override the platform's notion of a network operator being considered non roaming. If true all networks are considered as home network a.k.a non-roaming. When false, the 2 pairs of CMDA and GSM roaming/non-roaming arrays are consulted.

Constant Value: "force_home_network_bool"

KEY_GSM_DTMF_TONE_DELAY_INT

Added in API level 24

String KEY_GSM_DTMF_TONE_DELAY_INT

Specifies the amount of gap to be added in millis between postdial DTMF tones. When a non-zero value is specified, the UE shall wait for the specified amount of time before it sends out successive DTMF tones on the network.

Constant Value: "gsm_dtmf_tone_delay_int"

KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY

Added in API level 23

String KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY

Override the platform's notion of a network operator being considered not roaming. Value is string array of MCCMNCs to be considered not roaming for 3GPP RATs.

Constant Value: "gsm_nonroaming_networks_string_array"

KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY

Added in API level 23

String KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY

Override the platform's notion of a network operator being considered roaming. Value is string array of MCCMNCs to be considered roaming for 3GPP RATs.

Constant Value: "gsm_roaming_networks_string_array"

KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL

Added in API level 23

String KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL

Determines if device implements a noise suppression device for in call audio.

Constant Value: "has_in_call_noise_suppression_bool"

KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL

Added in API level 23

String KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL

Control whether users can reach the carrier portions of Cellular Network Settings.

Constant Value: "hide_carrier_network_settings_bool"

KEY_HIDE_IMS_APN_BOOL

Added in API level 24

String KEY_HIDE_IMS_APN_BOOL

Determine whether IMS apn can be shown.

Constant Value: "hide_ims_apn_bool"

KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL

Added in API level 24

String KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL

Determine whether preferred network type can be shown.

Constant Value: "hide_preferred_network_type_bool"

KEY_HIDE_SIM_LOCK_SETTINGS_BOOL

Added in API level 23

String KEY_HIDE_SIM_LOCK_SETTINGS_BOOL

Control whether users can reach the SIM lock settings.

Constant Value: "hide_sim_lock_settings_bool"

KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL

Added in API level 23

String KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL

Flag indicating whether the Phone app should ignore EVENT_SIM_NETWORK_LOCKED events from the Sim. If true, this will prevent the IccNetworkDepersonalizationPanel from being shown, and effectively disable the "Sim network lock" feature.

Constant Value: "ignore_sim_network_locked_events_bool"

KEY_IMS_DTMF_TONE_DELAY_INT

Added in API level 24

String KEY_IMS_DTMF_TONE_DELAY_INT

Specifies the amount of gap to be added in millis between DTMF tones. When a non-zero value is specified, the UE shall wait for the specified amount of time before it sends out successive DTMF tones on the network.

Constant Value: "ims_dtmf_tone_delay_int"

KEY_MMS_ALIAS_ENABLED_BOOL

Added in API level 23

String KEY_MMS_ALIAS_ENABLED_BOOL

Constant Value: "aliasEnabled"

KEY_MMS_ALIAS_MAX_CHARS_INT

Added in API level 23

String KEY_MMS_ALIAS_MAX_CHARS_INT

Constant Value: "aliasMaxChars"

KEY_MMS_ALIAS_MIN_CHARS_INT

Added in API level 23

String KEY_MMS_ALIAS_MIN_CHARS_INT

Constant Value: "aliasMinChars"

KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL

Added in API level 23

String KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL

Constant Value: "allowAttachAudio"

KEY_MMS_APPEND_TRANSACTION_ID_BOOL

Added in API level 23

String KEY_MMS_APPEND_TRANSACTION_ID_BOOL

Constant Value: "enabledTransID"

KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING

Added in API level 23

String KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING

Constant Value: "emailGatewayNumber"

KEY_MMS_GROUP_MMS_ENABLED_BOOL

Added in API level 23

String KEY_MMS_GROUP_MMS_ENABLED_BOOL

Constant Value: "enableGroupMms"

KEY_MMS_HTTP_PARAMS_STRING

Added in API level 23

String KEY_MMS_HTTP_PARAMS_STRING

Constant Value: "httpParams"

KEY_MMS_HTTP_SOCKET_TIMEOUT_INT

Added in API level 23

String KEY_MMS_HTTP_SOCKET_TIMEOUT_INT

Constant Value: "httpSocketTimeout"

KEY_MMS_MAX_IMAGE_HEIGHT_INT

Added in API level 23

String KEY_MMS_MAX_IMAGE_HEIGHT_INT

Constant Value: "maxImageHeight"

KEY_MMS_MAX_IMAGE_WIDTH_INT

Added in API level 23

String KEY_MMS_MAX_IMAGE_WIDTH_INT

Constant Value: "maxImageWidth"

KEY_MMS_MAX_MESSAGE_SIZE_INT

Added in API level 23

String KEY_MMS_MAX_MESSAGE_SIZE_INT

Constant Value: "maxMessageSize"

KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT

Added in API level 23

String KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT

Constant Value: "maxMessageTextSize"

KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL

Added in API level 23

String KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL

Constant Value: "enableMMSDeliveryReports"

KEY_MMS_MMS_ENABLED_BOOL

Added in API level 23

String KEY_MMS_MMS_ENABLED_BOOL

Constant Value: "enabledMMS"

KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL

Added in API level 23

String KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL

Constant Value: "enableMMSReadReports"

KEY_MMS_MULTIPART_SMS_ENABLED_BOOL

Added in API level 23

String KEY_MMS_MULTIPART_SMS_ENABLED_BOOL

Constant Value: "enableMultipartSMS"

KEY_MMS_NAI_SUFFIX_STRING

Added in API level 23

String KEY_MMS_NAI_SUFFIX_STRING

Constant Value: "naiSuffix"

KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL

Added in API level 23

String KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL

Constant Value: "enabledNotifyWapMMSC"

KEY_MMS_RECIPIENT_LIMIT_INT

Added in API level 23

String KEY_MMS_RECIPIENT_LIMIT_INT

Constant Value: "recipientLimit"

KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL

Added in API level 23

String KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL

Constant Value: "sendMultipartSmsAsSeparateMessages"

KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL

Added in API level 23

String KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL

Constant Value: "config_cellBroadcastAppLinks"

KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL

Added in API level 23

String KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL

Constant Value: "enableSMSDeliveryReports"

KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT

Added in API level 23

String KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT

Constant Value: "smsToMmsTextLengthThreshold"

KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT

Added in API level 23

String KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT

Constant Value: "smsToMmsTextThreshold"

KEY_MMS_SUBJECT_MAX_LENGTH_INT

Added in API level 23

String KEY_MMS_SUBJECT_MAX_LENGTH_INT

Constant Value: "maxSubjectLength"

KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL

Added in API level 23

String KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL

Constant Value: "supportHttpCharsetHeader"

KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL

Added in API level 23

String KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL

Constant Value: "supportMmsContentDisposition"

KEY_MMS_UA_PROF_TAG_NAME_STRING

Added in API level 23

String KEY_MMS_UA_PROF_TAG_NAME_STRING

Constant Value: "uaProfTagName"

KEY_MMS_UA_PROF_URL_STRING

Added in API level 23

String KEY_MMS_UA_PROF_URL_STRING

Constant Value: "uaProfUrl"

KEY_MMS_USER_AGENT_STRING

Added in API level 23

String KEY_MMS_USER_AGENT_STRING

Constant Value: "userAgent"

KEY_OPERATOR_SELECTION_EXPAND_BOOL

Added in API level 23

String KEY_OPERATOR_SELECTION_EXPAND_BOOL

Control whether users can choose a network operator.

Constant Value: "operator_selection_expand_bool"

KEY_PREFER_2G_BOOL

Added in API level 23

String KEY_PREFER_2G_BOOL

Used in Cellular Network Settings for preferred network type.

Constant Value: "prefer_2g_bool"

KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL

Added in API level 24

String KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL

Flag to require or skip entitlement checks. If true, entitlement checks will be executed if device has been configured for it, If false, entitlement checks will be skipped.

Constant Value: "require_entitlement_checks_bool"

KEY_SHOW_APN_SETTING_CDMA_BOOL

Added in API level 23

String KEY_SHOW_APN_SETTING_CDMA_BOOL

Show APN Settings for some CDMA carriers

Constant Value: "show_apn_setting_cdma_bool"

KEY_SHOW_CDMA_CHOICES_BOOL

Added in API level 23

String KEY_SHOW_CDMA_CHOICES_BOOL

Show cdma network mode choices 1x, 3G, global etc.

Constant Value: "show_cdma_choices_bool"

KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL

Added in API level 24

String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL

Flag specifying whether ICCID is showed in SIM Status screen, default to false.

Constant Value: "show_iccid_in_sim_status_bool"

KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL

Added in API level 23

String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL

If true, show an onscreen "Dial" button in the dialer. In practice this is used on all platforms, even the ones with hard SEND/END keys, but for maximum flexibility it's controlled by a flag here (which can be overridden on a per-product basis.)

Constant Value: "show_onscreen_dial_button_bool"

KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL

Added in API level 23

String KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL

Flag indicating whether the Phone app should provide a "Dismiss" button on the SIM network unlock screen. The default value is true. If set to false, there will be *no way* to dismiss the SIM network unlock screen if you don't enter the correct unlock code. (One important consequence: there will be no way to make an Emergency Call if your SIM is network-locked and you don't know the PIN.)

Constant Value: "sim_network_unlock_allow_dismiss_bool"

KEY_SUPPORT_CONFERENCE_CALL_BOOL

Added in API level 24

String KEY_SUPPORT_CONFERENCE_CALL_BOOL

Determines whether conference calls are supported by a carrier. When , conference calling is supported, .

Constant Value: "support_conference_call_bool"

KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL

Added in API level 23

String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL

For IMS video over LTE calls, determines whether video pause signalling is supported.

Constant Value: "support_pause_ims_video_calls_bool"

KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL

Added in API level 23

String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL

After a CDMA conference call is merged, the swap button should be displayed.

Constant Value: "support_swap_after_merge_bool"

KEY_USE_HFA_FOR_PROVISIONING_BOOL

Added in API level 23

String KEY_USE_HFA_FOR_PROVISIONING_BOOL

CDMA activation goes through HFA

Constant Value: "use_hfa_for_provisioning_bool"

KEY_USE_OTASP_FOR_PROVISIONING_BOOL

Added in API level 23

String KEY_USE_OTASP_FOR_PROVISIONING_BOOL

CDMA activation goes through OTASP.

TODO: This should be combined with config_use_hfa_for_provisioning and implemented as an enum (NONE, HFA, OTASP).

Constant Value: "use_otasp_for_provisioning_bool"

KEY_USE_RCS_PRESENCE_BOOL

Added in API level 24

String KEY_USE_RCS_PRESENCE_BOOL

Flag indicating whether the carrier supports RCS presence indication for video calls. When , the carrier supports RCS presence indication for video calls. When presence is supported, the device should use the bit mask and set the bit to indicate whether each contact supports video calling. The UI is made aware that presence is enabled via and can choose to hide or show the video calling icon based on whether a contact supports video.

Constant Value: "use_rcs_presence_bool"

KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL

Added in API level 23

String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL

Determine whether the voicemail notification is persistent in the notification bar. If true, the voicemail notifications cannot be dismissed from the notification bar.

Constant Value: "voicemail_notification_persistent_bool"

KEY_VOICE_PRIVACY_DISABLE_UI_BOOL

Added in API level 23

String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL

If true, removes the Voice Privacy option from Call Settings

Constant Value: "voice_privacy_disable_ui_bool"

KEY_VOLTE_REPLACEMENT_RAT_INT

Added in API level 23

String KEY_VOLTE_REPLACEMENT_RAT_INT

If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 or RIL_RADIO_TECHNOLOGY_UNKNOWN:0 this is the value that should be used instead. A configuration value of RIL_RADIO_TECHNOLOGY_UNKNOWN:0 means there is no replacement value and that the default assumption for phone type (GSM) should be used.

Constant Value: "volte_replacement_rat_int"

KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL

Added in API level 24

String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL

Whether cellular data is required to access visual voicemail.

Constant Value: "vvm_cellular_data_required_bool"

KEY_VVM_DESTINATION_NUMBER_STRING

Added in API level 23

String KEY_VVM_DESTINATION_NUMBER_STRING

The carrier number mobile outgoing (MO) sms messages are sent to.

Constant Value: "vvm_destination_number_string"

KEY_VVM_PORT_NUMBER_INT

Added in API level 23

String KEY_VVM_PORT_NUMBER_INT

The port through which the mobile outgoing (MO) sms messages are sent through.

Constant Value: "vvm_port_number_int"

KEY_VVM_PREFETCH_BOOL

Added in API level 24

String KEY_VVM_PREFETCH_BOOL

Whether to prefetch audio data on new voicemail arrival, defaulted to true.

Constant Value: "vvm_prefetch_bool"

KEY_WORLD_PHONE_BOOL

Added in API level 23

String KEY_WORLD_PHONE_BOOL

Flag indicating if the phone is a world phone

Constant Value: "world_phone_bool"

Public methods

getConfigForSubId

PersistableBundle getConfigForSubId (int subId)

Gets the configuration values for a particular subscription, which is associated with a specific SIM card. If an invalid subId is used, the returned config will contain default values.

Requires Permission:

notifyConfigChangedForSubId

void notifyConfigChangedForSubId (int subId)

Calling this method triggers telephony services to fetch the current carrier configuration.

Normally this does not need to be called because the platform reloads config on its own. This should be called by a carrier service app if it wants to update config at an arbitrary moment.

Requires that the calling app has carrier privileges.

Sours: https://www.apiref.com/android/android/telephony/CarrierConfigManager.html
9 Android Settings You Need To Turn Off Now

In this article, we are going to discuss com.android.carrierconfig. One of the widely popular operating systems for electronic devices, today is the android mobile operating system. It is the operating system that is used most commonly for mobile phones. A variety of features and services makes it user-friendly. It is popular because of its ease of use, flexibility, and customizable interface. There are various features and services in it. There have been various versions of Android starting from Android 1.0, 1.1, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow, Nougat, Oreo, Pie, Android 10, and Android 11. The features have been increasing with every version where one of its features includes com android carrierconfig.

Do not miss: com.lge.shutdownmonitor– The shutdown monitor

Article Contents

What is com.android.carrierconfig?

Android Marshmallow (the sixth version of Android) and the higher versions have a special feature for some applications that can provide carrier-specific configuration. UICC Carrier Privileges was introduced in Android Lollipop. This feature is based on it. Carriers and OEMs with defined interface were provided with the ability to provide carrier configuration dynamically. Carrier applications can be preloaded in the system application or they can also be installed manually from Appstore. Carrier-config provides configuration for networks in both roaming and non-roaming, SMS settings, MMS settings, voicemails and VOLTE configurations. Carrier applications can determine the value of the return and information to be passed to the application.

UICC (Universal Integrated Circuit Card) Carrier Privileges:

As I mentioned above, carrier-config is based on the UICC Carrier Privileges. So, we need to know what is UICC Carrier Privileges?

UICC is an integrated circuit card. Owners of this card have a special privilege on APIs. Applications are granted permission signed by the certificates stored on UICC to make calls to special APIs.

After Android 7, this feature was extended to support other sources of storage for increasing user carries that could use API as per UICC Carrier Privilege rules. UICC gives full control to carriers and it provides a flexible way where mobile network operators can manage an application hosted on a distribution channel such as Google Play Store. The applications do not need any signing with a device platform certificate to be installed as a system application.

Advantages of CarrierConfiguration:

  • Carrier configuration is a dynamic approach and supports features like MVNOs (Mobile Virtual Network Operator).
  • They have device-support for any device sold in an open market. Any mobile phone can be configured by downloading an application from the Appstore with the correct settings.
  • The configuration given to the applications is only by a signed carrier which provides security.
  • It has a well-defined application programming interface that is public for users.

Working Mechanism:

Platform related to telephony is having a change of behaviours because of a set of core value pairs

A device value is determined by components in the following order:

  • First is the carrier application which is the appropriate spot for additional configuration.
  • The second is a system image bundled with a platform configuration application.
  • The third is the device values which are coded in the framework.

Using the CarrierConfig:

After the configuration is constructed, the values in it are set to values of the system config which has an internal framework, SmsManager and VVM (Visual Voice Mail) connection.

How to fix com.android.carrierconfig not working?

While using our phones, we might come across the prompt as “com.android.carrierconfig has stopped”. This problem can be solved by following the few steps:

  1. In your phone, open the menu and navigate to the settings option.
How to fix com.android.carrierconfig not working?
  1. Click on the “Apps and Notification” option.
Apps and Notification
  1. In the search tab, type “com.android.carrierconfig”.
com.android.carrierconfig
  1. Force stop the application after it opens.
Force stop

Is com.android.carrierconfig a Virus?

When we swap sim cards on our mobile phones, usually we get a notification message to update the carrier settings on the mobile phone after it is connected to a cellular network. Carrier messages pop-up notification on smartphone automatically to update new settings. The users have an option to update it now or later but if it is not accepted then the performance of the network on the phone gets affected.

When a mobile carrier sends any message to the users, it is considered to be safe. The users always tend to update their settings as per the notification. Now it has been quite a while when we are hearing about attacks on the mobile phone from the carrierconfig notifications. So are the notifications safe? Can we update our settings just like that without any verification?

The answer to this question is NO. For the past few years, attackers are exploiting the vulnerable phishing attacks on the carrier update notifications. Users are tricked into accepting new updates and the remote agent (the attacker) can route and control all the internet traffic of the user. This attack relies on a process known as OTA (Over-The-Air). Mobile operators use OTA to install settings related to the network in a phone that has newly joined their network. The problem lies in the fact that anyone can make use of OTA provisioning for sending messages and notifications.

The attacker cannot take over any user’s smartphone but he can redirect all the traffic of the user’s mobile phone including web browsing and email to his server and can steal personal information or keep a spy on the user. Such attacks have risks on personal information as well as corporate data that is available on the mobile phone. Com.android.carrierconfig is not a virus but can give the hacker a way of implementing his attacks.

How to remove com.android.carrierconfig?

Com android carrier config is a pre-installed application on android mobile phones. The owner installing this application has not given the users an option to remove or uninstall it. The users cannot even disable this application. However, if the user wants to remove this application he can do it externally.

Method 1: With the help of Android Studio Developer Tool

  1. Install the Android Studio Developer tool on your computer.
  2. Put the mobile phone in the developer mode:
  3. To do this, open your phone and got to the settings option. Click on About Phone. Now click seven times on the Build Number option. Developer Option is available, enable USB debugging.
  4. The computer and phone must be connected via USB.
  5. After the connection is placed successfully, open PowerShell or in the case of macOS open the terminal from Andriod Studio. Open from the folder that has Android Debug Bridge installed.
  6. Run the command “.\adb devices”  in the PowerShell or terminal to initiate the link.
  7. To get control of the mobile phone run “adb shell”.
  8. Finally run “pm uninstall -k –user 0 <appname>” accompanied by “<appname>” (name of the application you want to uninstall)

Method 2: Root your mobile phone.

  1. Open your phone and got to the Settings.
  2. Click on the “Security” option.
  3. Switch on the “Unknown Sources” for installation of any application.
  4. Go to a web browser and download and install an external application to root your device. You can download an application KingoRoot which does a similar purpose.
  5. Run the application and tap on “One Click Root”.
  6. Wait for 60-90 seconds. Your device will be rooted.

Note: Method 2 might not work on every Android device. While following each step of this method, users need to be very careful.

Where com.android.carrierconfig is used for?

Com.android.carrierconfig is used for preloading system image to install them automatically or manually. It is used by the platform to provide the settings for the application. It is also used for SDK-returned configuration, app settings and the internal framework of telephony settings.

Carrier Config overriding IMS settings:

IMS (IP Multimedia Subsystem) is an architectural framework to deliver multimedia services to mobile phone users. Mobile phone manufacturers create their user interface and place it on top of the Android platform. They design basic applications for messages, browsing and other settings. IMS service allows Android software in the mobile phone to function without any concern from the seller or carrier in applications that deal with communication.

Mobile phone manufactures to introduce a mechanism to restrict the use of IMS by overriding it with Android carrier Privileges. This is done to restrict the user to configure any IMS credential on their device. Android APIs are only provided to an android application by the operator. Applications are identified with their signing key (key by which they were signed.) Sim cards store this signing key as a sim filesystem. It is stored as an additional application.

Summary:

  • Android mobile operating system is one of the universally accepted operating systems for electronic devices, most generally utilized for mobile phones.
  • It has a diversity of features that makes it a user-friendly and most usually used operating system.
  • There are many versions of Android starting from Android 1.0 to the latest version Android 11.
  • Com.android.carrierconfig is a special innovation for some application that implements carrier-specific configuration.
  • It uses UICC Carrier Privileges where carriers and OEMs with the specified interface are equipped with the ability to dynamically configure carrier.
  • UICC is an integrated circuit card used by owners to have appropriate privileges on APIs.
  • UICC permits by engaging licenses to applications to make specific calls to API.
  • This feature extensive support to other roots of room for increasing user carrier.
  • The working mechanism is defined by some components in the order: Carrier Application, System Image, and Device Values.
  • If com.android.carrierconfig does not operate, users can follow our some steps to fix it.
  • com.android.carrierconfig is not a virus but is prone to attacks. Users get warning messages to update their configuration settings when they swap sims on their mobile phones.
  • The attacker uses this and conveys a notification to the users via OTA (Over-The-Air).
  • The users can also eliminate com.Andriod.carrierconfig from their mobile phone externally using a third-party application or by doing system root.
Sours: https://basicknowledgehub.com/com-android-carrierconfig/

Android carrier config

VoLTE IMS Android Carrier Privileges / CoIMS (Carrier Config overriding IMS settings)¶

In general, 3GPP specifications do not require any specific SIM card in order to use VoLTE or IMS.

However, unfortunately handset manufacturers don't seem to care much about 3GPP specifications and introduce all kinds of strange mechanisms in order to restrict the use of VoLTE/IMS to certain operators - whether by using explicit white-lists, or by coming up with mechanisms like Android Carrier Privileges to disallow the user from configuring IMS credentials on his phone.

This is a guide for overriding IMS settings to force enable VoLTE/VoWiFi using Android Carrier Privileges

Overview¶

  • Android provides some APIs only to Android Apps by the operator
  • Android identifies such Apps via the signing key with which they were signed
  • The signing key (well, a hash of it) is stored on the SIM card
  • This storage is not done as a simple file on the SIM filesystem, but in some special additional card application on the SIM-Card, a so-called ARA-M

This document describes how to put everything together

(this guide by Supreeth Herle was first published at https://github.com/herlesupreeth/CoIMS_Wiki and is reproduce here with permission)

Requirements¶

  • A programmable version of USIM/ISIM with KIC1, KID1 and KIK1, or a non-programmable USIM/ISIM with ARA-M application but with option to push certficates to ARA-M via OTA
  • VoLTE/VoWiFi capable phone with Android Pie or above
  • PCSC, serial card reader (SIM card programmer)
  • Java v1.8

My Setup¶

  • sysmoUSIM-SJS1-4ff USIM with ADM keys
  • OnePlus 5t UE with Android Pie
  • Gemalto SIM programmer

Big shout out and credits to following people for their awesome work¶

Martin Paljak for GlobalPlatformPro (gp.jar) - A tool to load and manage applets on compatible JavaCards from command line

Bertrand Martel for ARA-M applet (applet.cap) - ARA-M implementation for JavaCards. ARA-M is an application (typically present on a SIM card) which manage access rules that are enforced by an Access Control Enforcer (typically present on Android device). The enforcer makes sure the rules from the ARAM are enforced. An access rule is composed of an AID, a certificate hash (SHA1/SHA256 of client application cert) and a set of rules. The Access Control enforcer will allow/deny a client application (for example an Android app) to send APDU to a Secure Element (SE) applet based on these rules

Steps¶

Step 1: Clone repository and fetch details of the SIM¶

In order to install and/or manage Java Card applets on your SIM card, make sure to have KIC1, KID1 and KIK1 keys. KIC1, KID1 and KIK1 could differ from one SIM card to another so make sure to have the correct keys. If you have a non-programmable USIM/ISIM with ARA-M application and have option to push certficates to ARA-M via OTA, jump to Step 4

$ git clone https://github.com/herlesupreeth/CoIMS_Wiki $ cd CoIMS_Wiki $ alias gp="java -jar $PWD/gp.jar" Example: In sysmoUSIM-SJS1-4ff USIM cards, the key mappings for GlobalPlatformPro are as follows
sysmoUSIM key GlobalPlatformPro argument
KIC1--key-enc
KID1--key-mac
KIK1--key-dek

Fetch details of the SIM by replacing KIC1, KID1 and KIK1 with correct keys respective to your SIM card. Execution of below command should not result in any error. If there is an error, please check the error and double check everything before proceeding

$ gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> -lvi

Step 2: Unlock the SIM card for easier installation of applet as follows (Optional)¶

Proceed with caution when unlocking SIM card as it could brick your USIM/ISIM if incorrect KIC1, KID1 and KIK1 keys are used

$ gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> --unlock

Example: A sysmoUSIM-SJS1-4ff USIM card with following keys is unlocked as follows

KIC1 = --key-enc = 975B496CED1F2FB984145A55AB31A585

KID1 = --key-mac = E7207B567F9D08726A6EFBD90C50DA9A

KIK1 = --key-dek = DEAA4E9A9B3BC6FC5EFF77A8E9925632

$ gp --key-enc 975B496CED1F2FB984145A55AB31A585 --key-mac E7207B567F9D08726A6EFBD90C50DA9A --key-dek DEAA4E9A9B3BC6FC5EFF77A8E9925632 --unlock Default type=DES3 bytes=404142434445464748494A4B4C4D4E4F kcv=8BAF47 set as master key for A000000003000000

Step 3: Install ARA-M Java Card applets on USIM/ISIM¶

Proceed with caution when installing applets on SIM card as it could brick your USIM/ISIM if incorrect KIC1, KID1 and KIK1 keys are used

This is NOT required on sysmoISIM-SJA2, as this card ships with a factory-preinstalled ARA-M applet

Install the ARA-M applet (applet.cap). The following command must execute without any errors.

# If SIM is not unlocked in Step 2 $ gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> --install applet.cap # If SIM is unlocked in Step 2 $ gp --install applet.cap

Step 4: Push the SHA-1 certifcate of the Carrier Config Android app onto ARA-M in USIM/ISIM¶

The Carrier Config Android app which will be installed in Step 5 is signed with following SHA1 key

SHA1: E4:68:72:F2:8B:35:0B:7E:1F:14:0D:E5:35:C2:A8:D5:80:4F:0B:E3

In order to provide Carrier Privileges to Carrier Config app, push the above SHA1 certifcate as follows

# If SIM is not unlocked in Step 2 $ gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> -a 00A4040009A00000015141434C0000 -a 80E2900033F031E22FE11E4F06FFFFFFFFFFFFC114E46872F28B350B7E1F140DE535C2A8D5804F0BE3E30DD00101DB080000000000000001 # If SIM is unlocked in Step 2 $ gp -a 00A4040009A00000015141434C0000 -a 80E2900033F031E22FE11E4F06FFFFFFFFFFFFC114E46872F28B350B7E1F140DE535C2A8D5804F0BE3E30DD00101DB080000000000000001

The split-up of above APDU sent to SIM card is as follows

To check the list of installed certificates use the following command

# If SIM is not unlocked in Step 2 $ gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> --acr-list-aram RULE #0 : AID : FFFFFFFFFFFF HASH : E46872F28B350B7E1F140DE535C2A8D5804F0BE3 APDU rule : ALWAYS(0x01) # If SIM is unlocked in Step 2 $ gp --acr-list-aram RULE #0 : AID : FFFFFFFFFFFF HASH : E46872F28B350B7E1F140DE535C2A8D5804F0BE3 APDU rule : ALWAYS(0x01)

If you have a non-programmable USIM/ISIM with ARA-M application and have option to push certficates to ARA-M via OTA, push the above SHA1 certificate on to the SIM

Step 5: Install the Carrier Config Android app from Play Store¶

Make sure the SIM card is placed in the default/first SIM slot of the device (only for multi-sim capable devices)

Download the CoIMS Carrier Config app from play store. Then, run the app

Important points/values to note after running the app for this app to enable VoLTE

  • "App has Carrier Privileges" must be true
  • "SIM Carrier Id" must not be -1 (i.e Unknown Carrier). This is not shown in Android 8.0 and 8.1 devices
  • "carrier_volte_provisioned_bool" must be true

Step 6: Additional IMS settings only for Samsung and Mediatek chipset devices¶

After installation of the app, access the options menu on the right hand top corner and select Samsung/Mediatek IMS Settings option based on your device chipset and edit the IMS settings accordingly to enable desired IMS features

Debugging¶

Use adb debugging with filter for "ims" keyword

Potential reasons for this method not working¶

  1. If the value of CarrierIdentifier indicated in the app is -1 (i.e Unknown Carrier) - Not shown in Android 8.0 and 8.1 devices
  2. If the SIM is placed in non-default SIM slot in a multi-SIM phones i.e. SIM in slot 1 (SIM slot 0 (default), SIM slot 1) of device
Sours: https://osmocom.org/projects/cellular-infrastructure/wiki/VoLTE_IMS_Android_Carrier_Privileges
🔥DEFINITIVO!! Como RECUPERAR seu MOTOROLA com BOOTLOADER BLOQUEADO!!👏😍

.

Now discussing:

.



374 375 376 377 378