Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#constants) \| [Inherited Methods](https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#inhmethods)

# CarrierConfigManager.ImsEmergency

*** ** * ** ***

` public static final class CarrierConfigManager.ImsEmergency `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.telephony.CarrierConfigManager.ImsEmergency |

<br />

*** ** * ** ***

Emergency Call/E911. This groups the configs specific for emergency call over IMS.

Reference: 3GPP 24.229, 3GPP 23.167 Annex H, 3GPP 24.301.

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_CS` Circuit switched domain. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_3GPP` Packet switched domain over 3GPP networks. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP` Packet switched domain over non-3GPP networks such as Wi-Fi. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_CROSS_STACK_REDIAL_TIMER_SEC_INT` A timer to guard the max attempting time on current SIM slot so that modem will not stuck in current SIM slot for long time. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL` Flag specifying whether UE should enter Emergency CallBack Mode(ECBM) after E911 call is ended. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_CALL_SETUP_TIMER_ON_CURRENT_NETWORK_SEC_INT` Specifies the time by which a call should be set up on the current network once the call is routed on the network. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_CDMA_PREFERRED_NUMBERS_STRING_ARRAY` Specifies the numbers to be dialed over CDMA network in case of dialing over CS network. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_DOMAIN_PREFERENCE_INT_ARRAY` Specifies the emergency call domain preference for the home network. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_DOMAIN_PREFERENCE_ROAMING_INT_ARRAY` Specifies the emergency call domain preference for the roaming network. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_LTE_PREFERRED_AFTER_NR_FAILED_BOOL` Specifies if LTE is preferred when re-scanning networks after the failure of dialing over NR. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_NETWORK_SCAN_TYPE_INT` Specifies the preferred emergency network scanning type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_OVER_CS_ROAMING_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY` List of CS access network technologies where circuit-switched emergency calls are supported in the roaming network and non-domestic 3rd-party networks. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_OVER_CS_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY` List of CS access network technologies where circuit-switched emergency calls are supported in the home network and domestic 3rd-party networks. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_OVER_IMS_ROAMING_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY` List of 3GPP access network technologies where e911 over IMS is supported in the roaming network and non-domestic 3rd-party networks. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY` List of 3GPP access network technologies where e911 over IMS is supported in the home network and domestic 3rd-party networks. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY` List of different RAT technologies on which emergency call using IMS is supported. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL` Flag specifying whether QoS preconditions are supported for emergency call setup. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT` Specifies the maximum time from deciding that an emergency service is to be established until completion of the emergency registration procedure. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_REQUIRES_IMS_REGISTRATION_BOOL` Specifies if emergency call shall be attempted on IMS only when IMS is registered. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_REQUIRES_VOLTE_ENABLED_BOOL` Specifies if emergency call shall be attempted on IMS over cellular network only when VoLTE is enabled. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_SCAN_TIMER_SEC_INT` Emergency scan timer to wait for scan results from radio before attempting the call over Wi-Fi. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_VOWIFI_REQUIRES_CONDITION_INT` Specifies the condition when emergency call shall be attempted on IMS over Wi-Fi. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_MAXIMUM_CELLULAR_SEARCH_TIMER_SEC_INT` The timer to wait for the call completion on the cellular network before attempting the call over Wi-Fi. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_MAXIMUM_NUMBER_OF_EMERGENCY_TRIES_OVER_VOWIFI_INT` Specifies maximum number of emergency call retries over Wi-Fi. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_PREFER_IMS_EMERGENCY_WHEN_VOICE_CALLS_ON_CS_BOOL` Specifies whether the emergency call shall be preferred over IMS or not irrespective of IMS registration status. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_PREFIX` Prefix of all imsemergency.KEY_\* constants. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_QUICK_CROSS_STACK_REDIAL_TIMER_SEC_INT` If emergency calls are only allowed with normal-registered service and UE should get normal service in a short time with acquired band information, telephony expects dialing emergency call will be completed in a short time. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_REFRESH_GEOLOCATION_TIMEOUT_MILLIS_INT` This setting will be specify the wait time for refreshing geolocation information before dialing emergency call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL` Flag specifying whether UE would retry E911 call on IMS PDN if emergency PDN setup failed. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_SCAN_LIMITED_SERVICE_AFTER_VOLTE_FAILURE_BOOL` Indicates whether limited service only scanning will be requested after VoLTE fails. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_START_QUICK_CROSS_STACK_REDIAL_TIMER_WHEN_REGISTERED_BOOL` Indicates whether the quick cross stack redial timer will be triggered only when the device is registered to the network. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED` This values indicates that the cross SIM redialing timer and maximum celluar search timer shall be disabled. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_FULL_SERVICE` Modem will attempt to camp on a network with full service only. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE` Telephony shall attempt full service scan first. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_NO_PREFERENCE` No specific preference given to the modem. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_NONE` Default value. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_SETTING_ENABLED` VoWi-Fi emergency call shall be attempted on IMS over Wi-Fi if Wi-Fi network is connected and Wi-Fi calling setting is enabled. |
| `int` | `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_VALID_EID` VoWi-Fi emergency call shall be attempted on IMS over Wi-Fi if Wi-Fi network is connected and Wi-Fi calling is activated successfully. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Constants

### DOMAIN_CS

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DOMAIN_CS
```

Circuit switched domain.

<br />

Constant Value: 1 (0x00000001)

### DOMAIN_PS_3GPP

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DOMAIN_PS_3GPP
```

Packet switched domain over 3GPP networks.

<br />

Constant Value: 2 (0x00000002)

### DOMAIN_PS_NON_3GPP

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DOMAIN_PS_NON_3GPP
```

Packet switched domain over non-3GPP networks such as Wi-Fi.

<br />

Constant Value: 3 (0x00000003)

### KEY_CROSS_STACK_REDIAL_TIMER_SEC_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_CROSS_STACK_REDIAL_TIMER_SEC_INT
```

A timer to guard the max attempting time on current SIM slot so that modem will not stuck in current SIM slot for long time. On timer expiry, if emergency call on the other SIM slot is preferable, telephony shall cancel the emergency call and place the call on the other SIM slot. If this value is set to `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED`, then the timer will never be started and domain selection continues on the current SIM slot. This value should be greater than the value of `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_SCAN_TIMER_SEC_INT`. The default value for the timer is 120 seconds.

<br />

Constant Value: "imsemergency.cross_stack_redial_timer_sec_int"

### KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL
```

Flag specifying whether UE should enter Emergency CallBack Mode(ECBM) after E911 call is ended.

If `true`: Enter ECBM mode after E911 call is ended. `false` otherwise.

<br />

Constant Value: "imsemergency.emergency_callback_mode_supported_bool"

### KEY_EMERGENCY_CALL_SETUP_TIMER_ON_CURRENT_NETWORK_SEC_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_CALL_SETUP_TIMER_ON_CURRENT_NETWORK_SEC_INT
```

Specifies the time by which a call should be set up on the current network once the call is routed on the network. If the call cannot be set up by timer expiry, call shall be re-dialed on the next available network. If this value is set to 0, the timer shall be disabled. The default value for this key is 0.

<br />

Constant Value: "imsemergency.emergency_call_setup_timer_on_current_network_sec_int"

### KEY_EMERGENCY_CDMA_PREFERRED_NUMBERS_STRING_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_CDMA_PREFERRED_NUMBERS_STRING_ARRAY
```

Specifies the numbers to be dialed over CDMA network in case of dialing over CS network. The default value for this key is an empty string array.

<br />

Constant Value: "imsemergency.emergency_cdma_preferred_numbers_string_array"

### KEY_EMERGENCY_DOMAIN_PREFERENCE_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_DOMAIN_PREFERENCE_INT_ARRAY
```

Specifies the emergency call domain preference for the home network. The domain selection service shall choose the domain in the order for attempting the emergency call

Possible values are, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_CS` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_3GPP` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP`. The default value for this key is {`https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_3GPP`, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_CS`, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP`}.

<br />

Constant Value: "imsemergency.emergency_domain_preference_int_array"

### KEY_EMERGENCY_DOMAIN_PREFERENCE_ROAMING_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_DOMAIN_PREFERENCE_ROAMING_INT_ARRAY
```

Specifies the emergency call domain preference for the roaming network. The domain selection service shall choose the domain in the order for attempting the emergency call.

Possible values are, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_CS` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_3GPP` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP`. The default value for this key is {`https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_3GPP`, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_CS`, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP`}.

<br />

Constant Value: "imsemergency.emergency_domain_preference_roaming_int_array"

### KEY_EMERGENCY_LTE_PREFERRED_AFTER_NR_FAILED_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_LTE_PREFERRED_AFTER_NR_FAILED_BOOL
```

Specifies if LTE is preferred when re-scanning networks after the failure of dialing over NR. If not, CS will be preferred. The default value for this key is `false`.

<br />

Constant Value: "imsemergency.emergency_lte_preferred_after_nr_failed_bool"

### KEY_EMERGENCY_NETWORK_SCAN_TYPE_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_NETWORK_SCAN_TYPE_INT
```

Specifies the preferred emergency network scanning type.

Possible values are, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_NO_PREFERENCE` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_FULL_SERVICE` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE` The default value for this key is `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_NO_PREFERENCE`.

<br />

Constant Value: "imsemergency.emergency_network_scan_type_int"

### KEY_EMERGENCY_OVER_CS_ROAMING_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_OVER_CS_ROAMING_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY
```

List of CS access network technologies where circuit-switched emergency calls are supported in the roaming network and non-domestic 3rd-party networks. The order in the list represents the preference. The domain selection service shall scan the network type in the order of the preference.

Possible values are, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#GERAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#UTRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#CDMA2000` The default value for this key is {`https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#UTRAN`, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#GERAN`}.

<br />

Constant Value: "imsemergency.emergency_over_cs_roaming_supported_access_network_types_int_array"

### KEY_EMERGENCY_OVER_CS_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_OVER_CS_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY
```

List of CS access network technologies where circuit-switched emergency calls are supported in the home network and domestic 3rd-party networks. The order in the list represents the preference. The domain selection service shall scan the network type in the order of the preference.

Possible values are, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#GERAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#UTRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#CDMA2000` The default value for this key is {`https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#UTRAN`, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#GERAN`}.

<br />

Constant Value: "imsemergency.emergency_over_cs_supported_access_network_types_int_array"

### KEY_EMERGENCY_OVER_IMS_ROAMING_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_OVER_IMS_ROAMING_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY
```

List of 3GPP access network technologies where e911 over IMS is supported in the roaming network and non-domestic 3rd-party networks. The order in the list represents the preference. The domain selection service shall scan the network type in the order of the preference.

Possible values are, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#NGRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#EUTRAN` The default value for this key is {`https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#EUTRAN`,

<br />

Constant Value: "imsemergency.emergency_over_ims_roaming_supported_3gpp_network_types_int_array"

### KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY
```

List of 3GPP access network technologies where e911 over IMS is supported in the home network and domestic 3rd-party networks. The order in the list represents the preference. The domain selection service shall scan the network type in the order of the preference.

Possible values are, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#NGRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#EUTRAN` The default value for this key is {`https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#EUTRAN`,

<br />

Constant Value: "imsemergency.emergency_over_ims_supported_3gpp_network_types_int_array"

### KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY
```

List of different RAT technologies on which emergency call using IMS is supported.

Possible values are, `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#NGRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#EUTRAN` `https://developer.android.com/reference/android/telephony/AccessNetworkConstants.AccessNetworkType#IWLAN`

<br />

Constant Value: "imsemergency.emergency_over_ims_supported_rats_int_array"

### KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL
```

Flag specifying whether QoS preconditions are supported for emergency call setup.

If `true`: QoS Preconditions are supported. `false` otherwise.

Reference: 3GPP TS 24.229

<br />

Constant Value: "imsemergency.emergency_qos_precondition_supported_bool"

### KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT
```

Specifies the maximum time from deciding that an emergency service is to be established until completion of the emergency registration procedure. Upon timer expiry, the UE considers the emergency REGISTER request or the emergency call attempt as failed.

<br />

Constant Value: "imsemergency.emergency_registration_timer_millis_int"

### KEY_EMERGENCY_REQUIRES_IMS_REGISTRATION_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_REQUIRES_IMS_REGISTRATION_BOOL
```

Specifies if emergency call shall be attempted on IMS only when IMS is registered. This is applicable only for the case PS is in service. The default value for this key is `false`.

<br />

Constant Value: "imsemergency.emergency_requires_ims_registration_bool"

### KEY_EMERGENCY_REQUIRES_VOLTE_ENABLED_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_REQUIRES_VOLTE_ENABLED_BOOL
```

Specifies if emergency call shall be attempted on IMS over cellular network only when VoLTE is enabled. The default value for this key is `false`.

<br />

Constant Value: "imsemergency.emergency_requires_volte_enabled_bool"

### KEY_EMERGENCY_SCAN_TIMER_SEC_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_SCAN_TIMER_SEC_INT
```

Emergency scan timer to wait for scan results from radio before attempting the call over Wi-Fi. On timer expiry, if emergency call on Wi-Fi is allowed and possible, telephony shall cancel the scan and place the call on Wi-Fi. If emergency call on Wi-Fi is not possible, then domain selection continues to wait for the scan result from the radio. If an emergency scan result is received before the timer expires, the timer shall be stopped and no dialing over Wi-Fi will be tried. If this value is set to 0, then the timer is never started and domain selection waits for the scan result from the radio. The default value for the timer is 10 seconds.

<br />

Constant Value: "imsemergency.emergency_scan_timer_sec_int"

### KEY_EMERGENCY_VOWIFI_REQUIRES_CONDITION_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_EMERGENCY_VOWIFI_REQUIRES_CONDITION_INT
```

Specifies the condition when emergency call shall be attempted on IMS over Wi-Fi.

Possible values are, `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_NONE` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_SETTING_ENABLED` `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_VALID_EID` The default value for this key is `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#VOWIFI_REQUIRES_NONE`.

<br />

Constant Value: "imsemergency.emergency_vowifi_requires_condition_int"

### KEY_MAXIMUM_CELLULAR_SEARCH_TIMER_SEC_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_MAXIMUM_CELLULAR_SEARCH_TIMER_SEC_INT
```

The timer to wait for the call completion on the cellular network before attempting the call over Wi-Fi. On timer expiry, if emergency call on Wi-Fi is allowed and possible, telephony shall cancel the scan on the cellular network and place the call on Wi-Fi. If dialing over cellular network is ongoing when timer expires, dialing over Wi-Fi will be requested only when the ongoing dialing fails. If emergency call on Wi-Fi is not possible, then domain selection continues to try dialing from the radio and the timer remains expired. Later when calling over Wi-Fi is possible and dialing over cellular networks fails, calling over Wi-Fi will be requested. The timer shall be restarted from initial state if calling over Wi-Fi fails. If this value is set to `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED`, then the timer will never be started. The default value for the timer is `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED`.

<br />

Constant Value: "imsemergency.maximum_cellular_search_timer_sec_int"

### KEY_MAXIMUM_NUMBER_OF_EMERGENCY_TRIES_OVER_VOWIFI_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_MAXIMUM_NUMBER_OF_EMERGENCY_TRIES_OVER_VOWIFI_INT
```

Specifies maximum number of emergency call retries over Wi-Fi. This is valid only when `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#DOMAIN_PS_NON_3GPP` is included in `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_DOMAIN_PREFERENCE_INT_ARRAY` or `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_DOMAIN_PREFERENCE_ROAMING_INT_ARRAY`. The default value for this key is 1.

<br />

Constant Value: "imsemergency.maximum_number_of_emergency_tries_over_vowifi_int"

### KEY_PREFER_IMS_EMERGENCY_WHEN_VOICE_CALLS_ON_CS_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_PREFER_IMS_EMERGENCY_WHEN_VOICE_CALLS_ON_CS_BOOL
```

Specifies whether the emergency call shall be preferred over IMS or not irrespective of IMS registration status. If the value of the config is `true` then emergency calls shall prefer IMS when device is combined-attached in LTE network and IMS is not registered. If the value of the config is `false` then emergency calls use CS domain in the same scenario. The default value for this key is `false`.

<br />

Constant Value: "imsemergency.prefer_ims_emergency_when_voice_calls_on_cs_bool"

### KEY_PREFIX

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_PREFIX
```

Prefix of all imsemergency.KEY_\* constants.

<br />

Constant Value: "imsemergency."

### KEY_QUICK_CROSS_STACK_REDIAL_TIMER_SEC_INT

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_QUICK_CROSS_STACK_REDIAL_TIMER_SEC_INT
```

If emergency calls are only allowed with normal-registered service and UE should get normal service in a short time with acquired band information, telephony expects dialing emergency call will be completed in a short time. If dialing is not completed with in a certain timeout, telephony shall place on another SIM slot. If this value is set to `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED`, then the timer will never be started and domain selection continues on the current SIM slot. The timer shall be started for the first trial of each subscription and shall be ignored in the roaming networks and non-domestic networks. The default value for the timer is `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#REDIAL_TIMER_DISABLED`.

<br />

Constant Value: "imsemergency.quick_cross_stack_redial_timer_sec_int"

### KEY_REFRESH_GEOLOCATION_TIMEOUT_MILLIS_INT

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_REFRESH_GEOLOCATION_TIMEOUT_MILLIS_INT
```

This setting will be specify the wait time for refreshing geolocation information before dialing emergency call.

<br />

Constant Value: "imsemergency.refresh_geolocation_timeout_millis_int"

### KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL
```

Flag specifying whether UE would retry E911 call on IMS PDN if emergency PDN setup failed.

If `true`: Allow UE to retry emergency call on IMS PDN if emergency PDN setup failed.`false` otherwise.

<br />

Constant Value: "imsemergency.retry_emergency_on_ims_pdn_bool"

### KEY_SCAN_LIMITED_SERVICE_AFTER_VOLTE_FAILURE_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_SCAN_LIMITED_SERVICE_AFTER_VOLTE_FAILURE_BOOL
```

Indicates whether limited service only scanning will be requested after VoLTE fails. This value is applicable if the value of `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_EMERGENCY_NETWORK_SCAN_TYPE_INT` is any of `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_NO_PREFERENCE` or `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE`. The default value is `false`.

<br />

Constant Value: "imsemergency.scan_limited_service_after_volte_failure_bool"

### KEY_START_QUICK_CROSS_STACK_REDIAL_TIMER_WHEN_REGISTERED_BOOL

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_START_QUICK_CROSS_STACK_REDIAL_TIMER_WHEN_REGISTERED_BOOL
```

Indicates whether the quick cross stack redial timer will be triggered only when the device is registered to the network. The default value is `true`.

<br />

Constant Value: "imsemergency.start_quick_cross_stack_redial_timer_when_registered_bool"

### REDIAL_TIMER_DISABLED

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int REDIAL_TIMER_DISABLED
```

This values indicates that the cross SIM redialing timer and maximum celluar search timer shall be disabled.

<br />

**See also:**

- `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_CROSS_STACK_REDIAL_TIMER_SEC_INT`
- `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_QUICK_CROSS_STACK_REDIAL_TIMER_SEC_INT`
- `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsEmergency#KEY_MAXIMUM_CELLULAR_SEARCH_TIMER_SEC_INT`

Constant Value: 0 (0x00000000)

### SCAN_TYPE_FULL_SERVICE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SCAN_TYPE_FULL_SERVICE
```

Modem will attempt to camp on a network with full service only.

<br />

Constant Value: 1 (0x00000001)

### SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE
```

Telephony shall attempt full service scan first. If a full service network is not found, telephony shall attempt a limited service scan.

<br />

Constant Value: 2 (0x00000002)

### SCAN_TYPE_NO_PREFERENCE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SCAN_TYPE_NO_PREFERENCE
```

No specific preference given to the modem. Modem can return an emergency capable network either with limited service or full service.

<br />

Constant Value: 0 (0x00000000)

### VOWIFI_REQUIRES_NONE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int VOWIFI_REQUIRES_NONE
```

Default value. If `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsWfc#KEY_EMERGENCY_CALL_OVER_EMERGENCY_PDN_BOOL` is `true`, VoWi-Fi emergency call shall be attempted if Wi-Fi network is connected. Otherwise, it shall be attempted if IMS is registered over Wi-Fi.

<br />

Constant Value: 0 (0x00000000)

### VOWIFI_REQUIRES_SETTING_ENABLED

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int VOWIFI_REQUIRES_SETTING_ENABLED
```

VoWi-Fi emergency call shall be attempted on IMS over Wi-Fi if Wi-Fi network is connected and Wi-Fi calling setting is enabled. This value is applicable if the value of `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsWfc#KEY_EMERGENCY_CALL_OVER_EMERGENCY_PDN_BOOL` is `true`.

<br />

Constant Value: 1 (0x00000001)

### VOWIFI_REQUIRES_VALID_EID

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int VOWIFI_REQUIRES_VALID_EID
```

VoWi-Fi emergency call shall be attempted on IMS over Wi-Fi if Wi-Fi network is connected and Wi-Fi calling is activated successfully. The device shall have the valid Entitlement ID if the user activates VoWi-Fi emergency calling successfully. This value is applicable if the value of `https://developer.android.com/reference/android/telephony/CarrierConfigManager.ImsWfc#KEY_EMERGENCY_CALL_OVER_EMERGENCY_PDN_BOOL` is `true`.

<br />

Constant Value: 2 (0x00000002)