From 1994bbcdae7e7542ad1b4fd8609889bb67596da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Mazzucato?= Date: Fri, 7 Jan 2022 14:51:01 +0000 Subject: [PATCH 1/2] Revert "Add IMS Voice, Video, Supplementary services, emergency ..." Revert submission 16320675-aosp_ims_config Reason for revert: Breaks build Bug: 213576201 Reverted Changes: I853fe100e:Add IMS Voice, Video, Supplementary services, emer... I9b4e429af:Add IMS configs to CarrierConfigManager Change-Id: Iff64c697ab9e4e64acbfefbe24d23ac067152aec --- core/api/current.txt | 190 -- .../telephony/CarrierConfigManager.java | 2106 ----------------- 2 files changed, 2296 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 43cbe8baefeac..fc2fe1b5a253c 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -41660,13 +41660,6 @@ package android.telephony { field public static final String PROTOCOL_IPV6 = "IPV6"; } - public static final class CarrierConfigManager.Bsf { - field public static final String KEY_BSF_SERVER_FQDN_STRING = "bsf.bsf_server_fqdn_string"; - field public static final String KEY_BSF_SERVER_PORT_INT = "bsf.bsf_server_port_int"; - field public static final String KEY_BSF_TRANSPORT_TYPE_INT = "bsf.bsf_transport type_int"; - field public static final String KEY_PREFIX = "bsf."; - } - public static final class CarrierConfigManager.Gps { field public static final String KEY_PERSIST_LPP_MODE_BOOL = "gps.persist_lpp_mode_bool"; field public static final String KEY_PREFIX = "gps."; @@ -41738,28 +41731,6 @@ package android.telephony { field public static final int RTP_INACTIVITY_ON_CONNECTED = 2; // 0x2 } - public static final class CarrierConfigManager.ImsEmergency { - field public static final String KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL = "imsemergency.emergency_callback_mode_supported_bool"; - field public static final String KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY = "imsemergency.emergency_over_ims_supported_rats_int_array"; - field public static final String KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL = "imsemergency.emergency_qos_precondition_supported_bool"; - field public static final String KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT = "imsemergency.emergency_registration_timer_millis_int"; - field public static final String KEY_PREFIX = "imsemergency."; - field public static final String KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL = "imsemergency.retry_emergency_on_ims_pdn_bool"; - } - - public static final class CarrierConfigManager.ImsRtt { - field public static final String KEY_PREFIX = "imsrtt."; - field public static final String KEY_RED_PAYLOAD_TYPE_INT = "imsrtt.red_payload_type_int"; - field public static final String KEY_T140_PAYLOAD_TYPE_INT = "imsrtt.t140_payload_type_int"; - field public static final String KEY_TEXT_AS_BANDWIDTH_KBPS_INT = "imsrtt.text_as_bandwidth_kbps_int"; - field public static final String KEY_TEXT_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = "imsrtt.text_codec_capability_payload_types_bundle"; - field public static final String KEY_TEXT_INACTIVITY_CALL_END_REASONS_INT_ARRAY = "imsrtt.text_inactivity_call_end_reasons_int_array"; - field public static final String KEY_TEXT_ON_DEFAULT_BEARER_SUPPORTED_BOOL = "imsrtt.text_on_default_bearer_supported_bool"; - field public static final String KEY_TEXT_QOS_PRECONDITION_SUPPORTED_BOOL = "imsrtt.text_qos_precondition_supported_bool"; - field public static final String KEY_TEXT_RR_BANDWIDTH_BPS_INT = "imsrtt.text_rr_bandwidth_bps_int"; - field public static final String KEY_TEXT_RS_BANDWIDTH_BPS_INT = "imsrtt.text_rs_bandwidth_bps_int"; - } - public static final class CarrierConfigManager.ImsServiceEntitlement { field public static final String KEY_ENTITLEMENT_SERVER_URL_STRING = "imsserviceentitlement.entitlement_server_url_string"; field public static final String KEY_FCM_SENDER_ID_STRING = "imsserviceentitlement.fcm_sender_id_string"; @@ -41768,167 +41739,6 @@ package android.telephony { field public static final String KEY_SHOW_VOWIFI_WEBVIEW_BOOL = "imsserviceentitlement.show_vowifi_webview_bool"; } - public static final class CarrierConfigManager.ImsSms { - field public static final String KEY_PREFIX = "imssms."; - field public static final String KEY_SMS_CSFB_RETRY_ON_FAILURE_BOOL = "imssms.sms_csfb_retry_on_failure_bool"; - field public static final String KEY_SMS_OVER_IMS_FORMAT_INT = "imssms.sms_over_ims_format_int"; - field public static final String KEY_SMS_OVER_IMS_SUPPORTED_BOOL = "imssms.sms_over_ims_supported_bool"; - field public static final String KEY_SMS_OVER_IMS_SUPPORTED_RATS_INT_ARRAY = "imssms.sms_over_ims_supported_rats_int_array"; - field public static final int SMS_FORMAT_3GPP = 0; // 0x0 - field public static final int SMS_FORMAT_3GPP2 = 1; // 0x1 - } - - public static final class CarrierConfigManager.ImsSs { - field public static final String KEY_NETWORK_INITIATED_USSD_OVER_IMS_SUPPORTED_BOOL = "imsss.network_initiated_ussd_over_ims_supported_bool"; - field public static final String KEY_PREFIX = "imsss."; - field public static final String KEY_USE_CSFB_ON_XCAP_OVER_UT_FAILURE_BOOL = "imsss.use_csfb_on_xcap_over_ut_failure_bool"; - field public static final String KEY_UT_AS_SERVER_FQDN_STRING = "imsss.ut_as_server_fqdn_string"; - field public static final String KEY_UT_AS_SERVER_PORT_INT = "imsss.ut_as_server_port_int"; - field public static final String KEY_UT_IPTYPE_HOME_INT = "imsss.ut_iptype_home_int"; - field public static final String KEY_UT_IPTYPE_ROAMING_INT = "imsss.ut_iptype_roaming_int"; - field public static final String KEY_UT_REQUIRES_IMS_REGISTRATION_BOOL = "imsss.ut_requires_ims_registration_bool"; - field public static final String KEY_UT_SERVER_BASED_SERVICES_INT_ARRAY = "imsss.ut_server_based_services_int_array"; - field public static final String KEY_UT_SUPPORTED_WHEN_PS_DATA_OFF_BOOL = "imsss.ut_supported_when_ps_data_off_bool"; - field public static final String KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY = "imsss.ut_terminal_based_services_int_array"; - field public static final String KEY_UT_TRANSPORT_TYPE_INT = "imsss.ut_transport_type_int"; - field public static final String KEY_XCAP_OVER_UT_SUPPORTED_RATS_INT_ARRAY = "imsss.xcap_over_ut_supported_rats_int_array"; - field public static final int SUPPLEMENTARY_SERVICE_CB_ACR = 20; // 0x14 - field public static final int SUPPLEMENTARY_SERVICE_CB_ALL = 12; // 0xc - field public static final int SUPPLEMENTARY_SERVICE_CB_BAIC = 18; // 0x12 - field public static final int SUPPLEMENTARY_SERVICE_CB_BAOC = 14; // 0xe - field public static final int SUPPLEMENTARY_SERVICE_CB_BIC_ROAM = 19; // 0x13 - field public static final int SUPPLEMENTARY_SERVICE_CB_BIL = 21; // 0x15 - field public static final int SUPPLEMENTARY_SERVICE_CB_BOIC = 15; // 0xf - field public static final int SUPPLEMENTARY_SERVICE_CB_BOIC_EXHC = 16; // 0x10 - field public static final int SUPPLEMENTARY_SERVICE_CB_IBS = 17; // 0x11 - field public static final int SUPPLEMENTARY_SERVICE_CB_OBS = 13; // 0xd - field public static final int SUPPLEMENTARY_SERVICE_CF_ALL = 1; // 0x1 - field public static final int SUPPLEMENTARY_SERVICE_CF_ALL_CONDITONAL_FORWARDING = 3; // 0x3 - field public static final int SUPPLEMENTARY_SERVICE_CF_CFB = 4; // 0x4 - field public static final int SUPPLEMENTARY_SERVICE_CF_CFNL = 7; // 0x7 - field public static final int SUPPLEMENTARY_SERVICE_CF_CFNRC = 6; // 0x6 - field public static final int SUPPLEMENTARY_SERVICE_CF_CFNRY = 5; // 0x5 - field public static final int SUPPLEMENTARY_SERVICE_CF_CFU = 2; // 0x2 - field public static final int SUPPLEMENTARY_SERVICE_CW = 0; // 0x0 - field public static final int SUPPLEMENTARY_SERVICE_IDENTIFICATION_OIP = 8; // 0x8 - field public static final int SUPPLEMENTARY_SERVICE_IDENTIFICATION_OIR = 10; // 0xa - field public static final int SUPPLEMENTARY_SERVICE_IDENTIFICATION_TIP = 9; // 0x9 - field public static final int SUPPLEMENTARY_SERVICE_IDENTIFICATION_TIR = 11; // 0xb - } - - public static final class CarrierConfigManager.ImsVoice { - field public static final int ALERTING_SRVCC_SUPPORT = 1; // 0x1 - field public static final int BANDWIDTH_EFFICIENT = 0; // 0x0 - field public static final int BASIC_SRVCC_SUPPORT = 0; // 0x0 - field public static final int CONFERENCE_SUBSCRIBE_TYPE_IN_DIALOG = 0; // 0x0 - field public static final int CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG = 1; // 0x1 - field public static final int EVS_ENCODED_BW_TYPE_FB = 3; // 0x3 - field public static final int EVS_ENCODED_BW_TYPE_NB = 0; // 0x0 - field public static final int EVS_ENCODED_BW_TYPE_NB_WB = 4; // 0x4 - field public static final int EVS_ENCODED_BW_TYPE_NB_WB_SWB = 5; // 0x5 - field public static final int EVS_ENCODED_BW_TYPE_NB_WB_SWB_FB = 6; // 0x6 - field public static final int EVS_ENCODED_BW_TYPE_SWB = 2; // 0x2 - field public static final int EVS_ENCODED_BW_TYPE_WB = 1; // 0x1 - field public static final int EVS_ENCODED_BW_TYPE_WB_SWB = 7; // 0x7 - field public static final int EVS_ENCODED_BW_TYPE_WB_SWB_FB = 8; // 0x8 - field public static final int EVS_OPERATIONAL_MODE_AMRWB_IO = 1; // 0x1 - field public static final int EVS_OPERATIONAL_MODE_PRIMARY = 0; // 0x0 - field public static final int EVS_PRIMARY_MODE_BITRATE_128_0_KBPS = 11; // 0xb - field public static final int EVS_PRIMARY_MODE_BITRATE_13_2_KBPS = 4; // 0x4 - field public static final int EVS_PRIMARY_MODE_BITRATE_16_4_KBPS = 5; // 0x5 - field public static final int EVS_PRIMARY_MODE_BITRATE_24_4_KBPS = 6; // 0x6 - field public static final int EVS_PRIMARY_MODE_BITRATE_32_0_KBPS = 7; // 0x7 - field public static final int EVS_PRIMARY_MODE_BITRATE_48_0_KBPS = 8; // 0x8 - field public static final int EVS_PRIMARY_MODE_BITRATE_5_9_KBPS = 0; // 0x0 - field public static final int EVS_PRIMARY_MODE_BITRATE_64_0_KBPS = 9; // 0x9 - field public static final int EVS_PRIMARY_MODE_BITRATE_7_2_KBPS = 1; // 0x1 - field public static final int EVS_PRIMARY_MODE_BITRATE_8_0_KBPS = 2; // 0x2 - field public static final int EVS_PRIMARY_MODE_BITRATE_96_0_KBPS = 10; // 0xa - field public static final int EVS_PRIMARY_MODE_BITRATE_9_6_KBPS = 3; // 0x3 - field public static final String KEY_AMRNB_PAYLOAD_DESCRIPTION_BUNDLE = "imsvoice.amrnb_payload_description_bundle"; - field public static final String KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY = "imsvoice.amrnb_payload_type_int_array"; - field public static final String KEY_AMRWB_PAYLOAD_DESCRIPTION_BUNDLE = "imsvoice.amrwb_payload_description_bundle"; - field public static final String KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY = "imsvoice.amrwb_payload_type_int_array"; - field public static final String KEY_AMR_CODEC_ATTRIBUTE_MODESET_INT_ARRAY = "imsvoice.amr_codec_attribute_modeset_int_array"; - field public static final String KEY_AMR_CODEC_ATTRIBUTE_PAYLOAD_FORMAT_INT = "imsvoice.amr_codec_attribute_payload_format_int"; - field public static final String KEY_AUDIO_AS_BANDWIDTH_KBPS_INT = "imsvoice.audio_as_bandwidth_kbps_int"; - field public static final String KEY_AUDIO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = "imsvoice.audio_codec_capability_payload_types_bundle"; - field public static final String KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY = "imsvoice.audio_inactivity_call_end_reasons_int_array"; - field public static final String KEY_AUDIO_RR_BANDWIDTH_BPS_INT = "imsvoice.audio_rr_bandwidth_bps_int"; - field public static final String KEY_AUDIO_RS_BANDWIDTH_BPS_INT = "imsvoice.audio_rs_bandwidth_bps_int"; - field public static final String KEY_AUDIO_RTCP_INACTIVITY_TIMER_MILLIS_INT = "imsvoice.audio_rtcp_inactivity_timer_millis_int"; - field public static final String KEY_AUDIO_RTP_INACTIVITY_TIMER_MILLIS_INT = "imsvoice.audio_rtp_inactivity_timer_millis_int"; - field public static final String KEY_CARRIER_VOLTE_ROAMING_AVAILABLE_BOOL = "imsvoice.carrier_volte_roaming_available_bool"; - field public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_CAPABILITY_INT = "imsvoice.codec_attribute_mode_change_capability_int"; - field public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_NEIGHBOR_INT = "imsvoice.codec_attribute_mode_change_neighbor_int"; - field public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_PERIOD_INT = "imsvoice.codec_attribute_mode_change_period_int"; - field public static final String KEY_CONFERENCE_FACTORY_URI_STRING = "imsvoice.conference_factory_uri_string"; - field public static final String KEY_CONFERENCE_SUBSCRIBE_TYPE_INT = "imsvoice.conference_subscribe_type_int"; - field public static final String KEY_DEDICATED_BEARER_WAIT_TIMER_MILLIS_INT = "imsvoice.dedicated_bearer_wait_timer_millis_int"; - field public static final String KEY_DTMFNB_PAYLOAD_TYPE_INT_ARRAY = "imsvoice.dtmfnb_payload_type_int_array"; - field public static final String KEY_DTMFWB_PAYLOAD_TYPE_INT_ARRAY = "imsvoice.dtmfwb_payload_type_int_array"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_BANDWIDTH_INT = "imsvoice.evs_codec_attribute_bandwidth_int"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_BITRATE_INT_ARRAY = "imsvoice.evs_codec_attribute_bitrate_int_array"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_CHANNELS_INT = "imsvoice.evs_codec_attribute_channels_int"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_CH_AW_RECV_INT = "imsvoice.evs_codec_attribute_ch_aw_recv_int"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_CMR_INT = "imsvoice.codec_attribute_cmr_int"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_DTX_BOOL = "imsvoice.evs_codec_attribute_dtx_bool"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_DTX_RECV_BOOL = "imsvoice.evs_codec_attribute_dtx_recv_bool"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_HF_ONLY_INT = "imsvoice.evs_codec_attribute_hf_only_int"; - field public static final String KEY_EVS_CODEC_ATTRIBUTE_MODE_SWITCH_INT = "imsvoice.evs_codec_attribute_mode_switch_int"; - field public static final String KEY_EVS_PAYLOAD_DESCRIPTION_BUNDLE = "imsvoice.evs_payload_description_bundle"; - field public static final String KEY_EVS_PAYLOAD_TYPE_INT_ARRAY = "imsvoice.evs_payload_type_int_array"; - field public static final String KEY_INCLUDE_CALLER_ID_SERVICE_CODES_IN_SIP_INVITE_BOOL = "imsvoice.include_caller_id_service_codes_in_sip_invite_bool"; - field public static final String KEY_MINIMUM_SESSION_EXPIRES_TIMER_SEC_INT = "imsvoice.minimum_session_expires_timer_sec_int"; - field public static final String KEY_MO_CALL_REQUEST_TIMEOUT_MILLIS_INT = "imsvoice.mo_call_request_timeout_millis_int"; - field public static final String KEY_MULTIENDPOINT_SUPPORTED_BOOL = "imsvoice.multiendpoint_supported_bool"; - field public static final String KEY_OIP_SOURCE_FROM_HEADER_BOOL = "imsvoice.oip_source_from_header_bool"; - field public static final String KEY_PRACK_SUPPORTED_FOR_18X_BOOL = "imsvoice.prack_supported_for_18x_bool"; - field public static final String KEY_PREFIX = "imsvoice."; - field public static final String KEY_RINGBACK_TIMER_MILLIS_INT = "imsvoice.ringback_timer_millis_int"; - field public static final String KEY_RINGING_TIMER_MILLIS_INT = "imsvoice.ringing_timer_millis_int"; - field public static final String KEY_SESSION_EXPIRES_TIMER_SEC_INT = "imsvoice.session_expires_timer_sec_int"; - field public static final String KEY_SESSION_REFRESHER_TYPE_INT = "imsvoice.session_refresher_type_int"; - field public static final String KEY_SESSION_REFRESH_METHOD_INT = "imsvoice.session_refresh_method_int"; - field public static final String KEY_SESSION_TIMER_SUPPORTED_BOOL = "imsvoice.session_timer_supported_bool"; - field public static final String KEY_SRVCC_TYPE_INT_ARRAY = "imsvoice.srvcc_type_int_array"; - field public static final String KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL = "imsvoice.voice_on_default_bearer_supported_bool"; - field public static final String KEY_VOICE_QOS_PRECONDITION_SUPPORTED_BOOL = "imsvoice.voice_qos_precondition_supported_bool"; - field public static final int MIDCALL_SRVCC_SUPPORT = 3; // 0x3 - field public static final int OCTET_ALIGNED = 1; // 0x1 - field public static final int PREALERTING_SRVCC_SUPPORT = 2; // 0x2 - field public static final int SESSION_REFRESHER_TYPE_UAC = 1; // 0x1 - field public static final int SESSION_REFRESHER_TYPE_UAS = 2; // 0x2 - field public static final int SESSION_REFRESHER_TYPE_UNKNOWN = 0; // 0x0 - field public static final int SESSION_REFRESH_METHOD_INVITE = 0; // 0x0 - field public static final int SESSION_REFRESH_METHOD_UPDATE_PREFERRED = 1; // 0x1 - } - - public static final class CarrierConfigManager.ImsVt { - field public static final String KEY_H264_PAYLOAD_DESCRIPTION_BUNDLE = "imsvt.h264_payload_description_bundle"; - field public static final String KEY_H264_PAYLOAD_TYPE_INT_ARRAY = "imsvt.h264_payload_type_int_array"; - field public static final String KEY_H264_VIDEO_CODEC_ATTRIBUTE_PROFILE_LEVEL_ID_STRING = "imsvt.h264_video_codec_attribute_profile_level_id_string"; - field public static final String KEY_PREFIX = "imsvt."; - field public static final String KEY_VIDEO_AS_BANDWIDTH_KBPS_INT = "imsvt.video_as_bandwidth_kbps_int"; - field public static final String KEY_VIDEO_CODEC_ATTRIBUTE_FRAME_RATE_INT = "imsvt.video_codec_attribute_frame_rate_int"; - field public static final String KEY_VIDEO_CODEC_ATTRIBUTE_PACKETIZATION_MODE_INT = "imsvt.video_codec_attribute_packetization_mode_int"; - field public static final String KEY_VIDEO_CODEC_ATTRIBUTE_RESOLUTION_INT_ARRAY = "imsvt.video_codec_attribute_resolution_int_array"; - field public static final String KEY_VIDEO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = "imsvt.video_codec_capability_payload_types_bundle"; - field public static final String KEY_VIDEO_ON_DEFAULT_BEARER_SUPPORTED_BOOL = "imsvt.video_on_default_bearer_supported_bool"; - field public static final String KEY_VIDEO_QOS_PRECONDITION_SUPPORTED_BOOL = "imsvt.video_qos_precondition_supported_bool"; - field public static final String KEY_VIDEO_RR_BANDWIDTH_BPS_INT = "imsvt.video_rr_bandwidth_bps_int"; - field public static final String KEY_VIDEO_RS_BANDWIDTH_BPS_INT = "imsvt.video_rs_bandwidth_bps_int"; - field public static final String KEY_VIDEO_RTCP_INACTIVITY_TIMER_MILLIS_INT = "imsvt.video_rtcp_inactivity_timer_millis_int"; - field public static final String KEY_VIDEO_RTP_DSCP_INT = "imsvt.video_rtp_dscp_int"; - field public static final String KEY_VIDEO_RTP_INACTIVITY_TIMER_MILLIS_INT = "imsvt.video_rtp_inactivity_timer_millis_int"; - } - - public static final class CarrierConfigManager.ImsWfc { - field public static final String KEY_EMERGENCY_CALL_OVER_EMERGENCY_PDN_BOOL = "imswfc.emergency_call_over_emergency_pdn_bool"; - field public static final String KEY_PIDF_SHORT_CODE_STRING_ARRAY = "imswfc.pidf_short_code_string_array"; - field public static final String KEY_PREFIX = "imswfc."; - } - public static final class CarrierConfigManager.Iwlan { field public static final int AUTHENTICATION_METHOD_CERT = 1; // 0x1 field public static final int AUTHENTICATION_METHOD_EAP_ONLY = 0; // 0x0 diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index fba3748dde71e..abec7ec2936c5 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -37,7 +37,6 @@ import android.os.PersistableBundle; import android.os.RemoteException; import android.service.carrier.CarrierService; import android.telecom.TelecomManager; -import android.telephony.AccessNetworkConstants.AccessNetworkType; import android.telephony.data.DataCallResponse; import android.telephony.gba.TlsParams; import android.telephony.gba.UaSecurityProtocolIdentifier; @@ -5295,2103 +5294,6 @@ public class CarrierConfigManager { } } - /** - * IMS Voice configs. This groups the configs required for IMS Voice - VoNR/VoLTE - * - *

Reference: IR.92 - */ - public static final class ImsVoice { - private ImsVoice() {} - - /** Prefix of all imsvoice.KEY_* constants. */ - public static final String KEY_PREFIX = "imsvoice."; - - /** - * Flag specifying whether VoLTE should be available when on - * roaming network. - * - *

If {@code false}: hard disabled. - * If {@code true}: then depends on availability, etc. - */ - public static final String KEY_CARRIER_VOLTE_ROAMING_AVAILABLE_BOOL = - KEY_PREFIX + "carrier_volte_roaming_available_bool"; - - /** - * Flag specifying whether to send vertical caller id service codes - * (*67 and *82) in the dialed string in the SIP:INVITE. - * - *

If {@code true}, vertical caller id service codes *67 and *82 - * will be sent in the dialed string in the SIP:INVITE. - * If {@code false}, *67 and *82 will be removed. - */ - public static final String KEY_INCLUDE_CALLER_ID_SERVICE_CODES_IN_SIP_INVITE_BOOL = - KEY_PREFIX + "include_caller_id_service_codes_in_sip_invite_bool"; - - /** - * Flag indicating whether Multi-end point setting is enabled or not. - */ - public static final String KEY_MULTIENDPOINT_SUPPORTED_BOOL = - KEY_PREFIX + "multiendpoint_supported_bool"; - - /** - * Flag indicating whether Supported header field with the option tag - * 'timer' is enabled or not. - * - *

If {@code true}, session timer support is available.{@code false} otherwise. - * - * Reference: RFC 4028 Section 3 - */ - public static final String KEY_SESSION_TIMER_SUPPORTED_BOOL = - KEY_PREFIX + "session_timer_supported_bool"; - - /** - * Session-expires header field expressed in seconds as per - * RFC 4028 Section 3. - * - *

This establishes the upper bound for the session refresh interval. - */ - public static final String KEY_SESSION_EXPIRES_TIMER_SEC_INT = - KEY_PREFIX + "session_expires_timer_sec_int"; - - /** - * Indicates the minimum value for the session interval in seconds. - * Represented as min-SE header field as per RFC 4028 Section 3. - * - *

This establishes the lower bound for the session refresh interval. - */ - public static final String KEY_MINIMUM_SESSION_EXPIRES_TIMER_SEC_INT = - KEY_PREFIX + "minimum_session_expires_timer_sec_int"; - - /** @hide */ - @IntDef({ - SESSION_REFRESHER_TYPE_UNKNOWN, - SESSION_REFRESHER_TYPE_UAC, - SESSION_REFRESHER_TYPE_UAS - }) - - public @interface SessionRefresherType {} - - /** - * Session Refresher entity is unknown. This means UE does not include the - * "refresher" parameter in the Session-Expires header field of - * the SIP INVITE request. - */ - public static final int SESSION_REFRESHER_TYPE_UNKNOWN = 0; - - /** - * Session Refresher entity is User Agent Client (UAC). - * - *

Type of "refresher" parameter in the Session-Expires header field - * of the SIP INVITE request is UAC. - */ - public static final int SESSION_REFRESHER_TYPE_UAC = 1; - - /** - * Session Refresher entity is User Agent Server (UAS). - * - *

Type of "refresher" parameter in the Session-Expires header field - * of the SIP INVITE request is UAS. - */ - public static final int SESSION_REFRESHER_TYPE_UAS = 2; - - /** - * Session Refresher entity as per RFC 4028 and IR.92 Section 2.2.8. - * - *

This determines, - * a) whether to include the "refresher" parameter - * b) Type of refresher" parameter - * in the Session-Expires header field of the SIP INVITE request. - * - *

Possible values are, - * {@link #SESSION_REFRESHER_TYPE_UNKNOWN}, - * {@link #SESSION_REFRESHER_TYPE_UAC}, - * {@link #SESSION_REFRESHER_TYPE_UAS} - */ - public static final String KEY_SESSION_REFRESHER_TYPE_INT = - KEY_PREFIX + "session_refresher_type_int"; - - /** - * Flag indicating whether PRACK must be enabled for all 18x messages. - * - *

If {@code false}, only 18x responses with SDP are sent reliably. - * If {@code true}, SIP 18x responses (other than SIP 183 response) - * are sent reliably. - */ - public static final String KEY_PRACK_SUPPORTED_FOR_18X_BOOL = - KEY_PREFIX + "prack_supported_for_18x_bool"; - - /** @hide */ - @IntDef({ - CONFERENCE_SUBSCRIBE_TYPE_IN_DIALOG, - CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG - }) - - public @interface ConferenceSubscribeType {} - - /** - * The SIP SUBSCRIBE to conference state events is sent in the - * SIP INVITE dialog between the UE and the conference server. - * - *

Reference: IR.92 Section 2.3.3. - */ - public static final int CONFERENCE_SUBSCRIBE_TYPE_IN_DIALOG = 0; - - /** - * The SIP SUBSCRIBE to conference state events is sent out of - * the SIP INVITE dialog between the UE and the conference server. - * - *

Reference: IR.92 Section 2.3.3. - */ - public static final int CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG = 1; - - /** - * This is used to specify whether the SIP SUBSCRIBE to conference state events, - * is sent in or out of the SIP INVITE dialog between the UE and the - * conference server. - * - *

Reference: IR.92 Section 2.3.3. - * - *

Possible values are, - * {@link #CONFERENCE_SUBSCRIBE_TYPE_IN_DIALOG}, - * {@link #CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG} - * - * An empty array indicates SUBSCRIBE to conference event package - * is not required. - */ - public static final String KEY_CONFERENCE_SUBSCRIBE_TYPE_INT = - KEY_PREFIX + "conference_subscribe_type_int"; - - /** - * Flag specifying whether QoS preconditions are supported during call setup. - * - *

If {@code true}: QoS Preconditions are supported during call setup and - * 'precondition' tag is included in the SIP INVITE header and precondition - * parameters are sent in SDP as required. - *

If {@code false}: QoS Preconditions are not supported during call setup. - * - *

Reference: 3GPP TS 24.229 - */ - public static final String KEY_VOICE_QOS_PRECONDITION_SUPPORTED_BOOL = - KEY_PREFIX + "voice_qos_precondition_supported_bool"; - - /** - * Flag specifying whether voice is allowed on default bearer. - * - *

If {@code true}: voice packets can be sent on default bearer. {@code false} otherwise. - */ - public static final String KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL = - KEY_PREFIX + "voice_on_default_bearer_supported_bool"; - - /** - * Specifies the dedicated bearer wait time during call establishment. - * - *

If dedicated bearer is not established within this time and if - * {@link #KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL} is false, then call setup would fail. - *

If dedicated bearer is not established within this time and if - * {@link #KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL} is true, then the media is allowed - * on default bearer. - */ - public static final String KEY_DEDICATED_BEARER_WAIT_TIMER_MILLIS_INT = - KEY_PREFIX + "dedicated_bearer_wait_timer_millis_int"; - - /** @hide */ - @IntDef({ - BASIC_SRVCC_SUPPORT, - ALERTING_SRVCC_SUPPORT, - PREALERTING_SRVCC_SUPPORT, - MIDCALL_SRVCC_SUPPORT - }) - - public @interface SrvccType {} - - /** - * Indicates support for basic SRVCC, typically 1 active call - * as detailed in IR.92 Section A.3. - */ - public static final int BASIC_SRVCC_SUPPORT = 0; - - /** - * SRVCC access transfer for calls in alerting phase as per 3GPP 24.237 - * and IR.64 Section 4.4. - * Media feature tag used: g.3gpp.srvcc-alerting. - */ - public static final int ALERTING_SRVCC_SUPPORT = 1; - - /** - * SRVCC access transfer for calls in pre-alerting phase as per 3GPP 24.237. - * Media feature tag used: g.3gpp.ps2cs-srvcc-orig-pre-alerting. - */ - public static final int PREALERTING_SRVCC_SUPPORT = 2; - - /** - * SRVCC access transfer for calls in mid-call phase as per 3GPP 24.237. - * and IR.64 Section 4.4. - *

This means UE supports the MSC server assisted mid-call feature. - * Media feature tag used: g.3gpp.mid-call. - */ - public static final int MIDCALL_SRVCC_SUPPORT = 3; - - /** - * List of different SRVCC types supported as defined in 3GPP 24.237. - * - *

Possible values are, - * {@link #BASIC_SRVCC_SUPPORT}, - * {@link #ALERTING_SRVCC_SUPPORT}, - * {@link #PREALERTING_SRVCC_SUPPORT}, - * {@link #MIDCALL_SRVCC_SUPPORT} - * - *

Reference: IR.64, 3GPP 24.237, 3GPP 23.216 - */ - public static final String KEY_SRVCC_TYPE_INT_ARRAY = - KEY_PREFIX + "srvcc_type_int_array"; - - /** - * Specifies the ringing timer for Mobile terminated calls. - * - *

Ringing timer starts when the device sends SIP 180 Ringing in - * response to a received SIP INVITE. If Ringing timer expires, - * the device sends SIP 486 response. - */ - public static final String KEY_RINGING_TIMER_MILLIS_INT = - KEY_PREFIX + "ringing_timer_millis_int"; - - /** - * Specifies the ringback timer for Mobile originated calls. - * - *

Ringback timer starts when the device receives SIP 180 Ringing - * in response to its SIP INVITE. If Ringback timer expires, - * the device sends SIP CANCEL. - */ - public static final String KEY_RINGBACK_TIMER_MILLIS_INT = - KEY_PREFIX + "ringback_timer_millis_int"; - - /** - * Specifies the timeout value for RTP inactivity for audio media. - *

On timer expiry, call will end. - * See {@link #KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY} for more - * details. - *

Value of 0 means this timer is not enabled. - */ - public static final String KEY_AUDIO_RTP_INACTIVITY_TIMER_MILLIS_INT = - KEY_PREFIX + "audio_rtp_inactivity_timer_millis_int"; - - /** - * Specifies the timeout value for RTCP inactivity for audio media. - *

On timer expiry, call will end. - * See {@link #KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY} for more - * details. - *

Value of 0 means this timer is not enabled. - */ - public static final String KEY_AUDIO_RTCP_INACTIVITY_TIMER_MILLIS_INT = - KEY_PREFIX + "audio_rtcp_inactivity_timer_millis_int"; - - /** - * Used to specify the conference factory URI. - * - *

If this is empty, then conference URI is generated from MCC/MNC as - * specified in clause 13.10 of 3GPP 23.003. - */ - public static final String KEY_CONFERENCE_FACTORY_URI_STRING = - KEY_PREFIX + "conference_factory_uri_string"; - - /** @hide */ - @IntDef({ - SESSION_REFRESH_METHOD_INVITE, - SESSION_REFRESH_METHOD_UPDATE_PREFERRED - }) - - public @interface SessionRefreshMethod {} - - /** - * SIP INVITE is used for Session Refresh - */ - public static final int SESSION_REFRESH_METHOD_INVITE = 0; - - /** - * Both SIP INVITE and UPDATE are used for session refresh. - * - *

SIP UPDATE will be used if UPDATE is in 'Allow' header. - * If UPDATE is not in 'Allow' header, then INVITE will be used. - */ - public static final int SESSION_REFRESH_METHOD_UPDATE_PREFERRED = 1; - - /** - * This is used to specify the method used for session refresh. - * - *

Possible values are, - * {@link #SESSION_REFRESH_METHOD_INVITE}, - * {@link #SESSION_REFRESH_METHOD_UPDATE_PREFERRED} - */ - public static final String KEY_SESSION_REFRESH_METHOD_INT = - KEY_PREFIX + "session_refresh_method_int"; - - /** - * Flag specifying whether the 'From' header field is used for determination of - * the originating party identity in Originating Identification Presentation(OIP) - * service. - * - *

If {@code true}: Indicates that the 'From' header field is used for - * determination of the originating party identity in OIP. - * {@code false} otherwise. - */ - public static final String KEY_OIP_SOURCE_FROM_HEADER_BOOL = - KEY_PREFIX + "oip_source_from_header_bool"; - - /** - * Specifies the timer value for INVITE to the first 1xx response - * (including 100 trying). If no response is received at timer expiry, - * call is redialed over CS. - * - *

Reference: 24.173 Table L.1 - */ - public static final String KEY_MO_CALL_REQUEST_TIMEOUT_MILLIS_INT = - KEY_PREFIX + "mo_call_request_timeout_millis_int"; - - /** - * List of various reasons of media inactivity for which - * voice/emergency call will end. - * - *

Possible values are, - * {@link Ims#RTCP_INACTIVITY_ON_HOLD}, - * {@link Ims#RTCP_INACTIVITY_ON_CONNECTED}, - * {@link Ims#RTP_INACTIVITY_ON_CONNECTED} - * {@link Ims#E911_RTCP_INACTIVITY_ON_CONNECTED}, - * {@link Ims#E911_RTP_INACTIVITY_ON_CONNECTED} - */ - public static final String KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY = - KEY_PREFIX + "audio_inactivity_call_end_reasons_int_array"; - - /** - * Specifies the AS (Application Specific) SDP modifier for audio media. - * - *

This value is expressed in kilobits per second. - * Reference: RFC 3556 Section 2. - */ - public static final String KEY_AUDIO_AS_BANDWIDTH_KBPS_INT = - KEY_PREFIX + "audio_as_bandwidth_kbps_int"; - - /** - * Specifies the RS SDP modifier for audio media. This indicates the RTCP - * bandwidth allocated to active data senders for audio media. - * - *

This value is expressed in bits per second. - * Reference: RFC 3556 Section 2. - */ - public static final String KEY_AUDIO_RS_BANDWIDTH_BPS_INT = - KEY_PREFIX + "audio_rs_bandwidth_bps_int"; - - /** - * Specifies the RR SDP modifier for audio media. This indicates the RTCP - * bandwidth allocated to receivers for audio media. - * - *

This value is expressed in bits per second. - * Reference: RFC 3556 Section 2. - */ - public static final String KEY_AUDIO_RR_BANDWIDTH_BPS_INT = - KEY_PREFIX + "audio_rr_bandwidth_bps_int"; - - /** - * Specifies the Audio Codec capability. This contains a list of payload types - * representing different audio codec instances. - * - *

The priority of the codecs is EVS, AMRWB, AMRNB, DTMF WB, DTMF NB - * from highest to lowest. In each individual codec, the priority is determined - * by the order of the payload types from highest to lowest. - * - *

Possible keys in this bundle are, - *

- *

To specify payload descriptions for each of the audio payload types, see - *

- */ - public static final String KEY_AUDIO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = - KEY_PREFIX + "audio_codec_capability_payload_types_bundle"; - - /** - * A list of integers representing the different payload types - * in EVS codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_EVS_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "evs_payload_type_int_array"; - - /** - * A list of integers representing the different payload types - * in AMR-WB codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "amrwb_payload_type_int_array"; - - /** - * A list of integers representing the different payload types - * in AMR-NB codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "amrnb_payload_type_int_array"; - - /** - * A list of integers representing the different payload types - * in DTMF WB codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_DTMFWB_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "dtmfwb_payload_type_int_array"; - - /** - * A list of integers representing the different payload types - * in DTMF NB codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_DTMFNB_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "dtmfnb_payload_type_int_array"; - - /** @hide */ - @IntDef({ - BANDWIDTH_EFFICIENT, - OCTET_ALIGNED - }) - - public @interface AmrPayloadFormat {} - - /** AMR NB/WB Payload format is bandwidth-efficient. */ - public static final int BANDWIDTH_EFFICIENT = 0; - - /** AMR NB/WB Payload format is octet-aligned. */ - public static final int OCTET_ALIGNED = 1; - - /** - * Specifies the payload format of the AMR-NB/AMR-WB codec. - * - *

Possible values are, - * {@link #BANDWIDTH_EFFICIENT}, - * {@link #OCTET_ALIGNED} - - *

If value is not specified, payload format is - * {@link #BANDWIDTH_EFFICIENT}. - * - *

Reference: RFC 4867 Section 8.1. - */ - public static final String KEY_AMR_CODEC_ATTRIBUTE_PAYLOAD_FORMAT_INT = - KEY_PREFIX + "amr_codec_attribute_payload_format_int"; - - /** - * Restricts the active mode set to a subset of all modes in the codec. - * - *

This attribute is optional. If value is set, then session mode - * set is restricted to the modes specified in this list. If this value - * is not specified, then all available modes in the codec are allowed. - * This attribute is applicable for AMR-WB, AMR-NB, - * and EVS codec (operating in AMR-WB IO Mode). - * - *

Possible values are subset of, - * [0,1,2,3,4,5,6,7,8] - AMRWB with the modes representing nine speech codec modes - * with bit rates of 6.6, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05, 23.85 kbps. - * [0,1,2,3,4,5,6,7] - AMRNB with the modes representing eight speech codec modes - * with bit rates of 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.2, 12.2 kbps. - * - *

If value is not specified, then it means device supports all - * modes in the codec but not included in SDP. - * - *

Reference: RFC 4867 Section 8.1, 3GPP 26.445 A.3.1 - */ - public static final String KEY_AMR_CODEC_ATTRIBUTE_MODESET_INT_ARRAY = - KEY_PREFIX + "amr_codec_attribute_modeset_int_array"; - - /** - * Specifies the codec attributes of different payload types in - * the AMR NarrowBand (AMR-NB) codec. - * - *

The keys in this bundle are payload types specified - * in {@link #KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY}. - * - *

Codec attributes allowed as part of AMR-NB codec bundle are, - *

- * - *

If this bundle is not configured and AMRNB payload type is added - * in {@link #KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY}, then default - * values as in the individual codec attribute to be used - * for that payload type. - */ - public static final String KEY_AMRNB_PAYLOAD_DESCRIPTION_BUNDLE = - KEY_PREFIX + "amrnb_payload_description_bundle"; - - /** - * Specifies the codec attributes of different payload types in - * the AMR WideBand (AMR-WB) codec. - * - *

The keys in this bundle are payload types specified - * in {@link #KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY}. - * - *

Codec attributes allowed as part of AMR-NB codec bundle are, - *

- * - *

If this bundle is not configured and AMRWB payload type is added - * in {@link #KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY}, then default - * values as in the individual codec attribute to be used - * for that payload type. - */ - public static final String KEY_AMRWB_PAYLOAD_DESCRIPTION_BUNDLE = - KEY_PREFIX + "amrwb_payload_description_bundle"; - - /** @hide */ - @IntDef({ - EVS_OPERATIONAL_MODE_PRIMARY, - EVS_OPERATIONAL_MODE_AMRWB_IO - }) - - public @interface EvsOperationalMode {} - - /** Indicates the EVS primary mode. 3GPP 26.445 Section 3.1 */ - public static final int EVS_OPERATIONAL_MODE_PRIMARY = 0; - - /** Indicates the EVS AMR-WB IO mode. 3GPP 26.445 Section 3.1 */ - public static final int EVS_OPERATIONAL_MODE_AMRWB_IO = 1; - - /** - * Specifies if the EVS mode used is EVS primary mode - * or EVS AMR-WB IO mode. - * - *

Possible values are, - * {@link #EVS_OPERATIONAL_MODE_PRIMARY}, - * {@link #EVS_OPERATIONAL_MODE_AMRWB_IO} - * - *

If this is not present, then {@link EVS_OPERATIONAL_MODE_PRIMARY} is used. - *

Reference: 3GPP 26.445 Section 3.1. - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_MODE_SWITCH_INT = - KEY_PREFIX + "evs_codec_attribute_mode_switch_int"; - - /** @hide */ - @IntDef({ - EVS_ENCODED_BW_TYPE_NB, - EVS_ENCODED_BW_TYPE_WB, - EVS_ENCODED_BW_TYPE_SWB, - EVS_ENCODED_BW_TYPE_FB, - EVS_ENCODED_BW_TYPE_NB_WB, - EVS_ENCODED_BW_TYPE_NB_WB_SWB, - EVS_ENCODED_BW_TYPE_NB_WB_SWB_FB, - EVS_ENCODED_BW_TYPE_WB_SWB, - EVS_ENCODED_BW_TYPE_WB_SWB_FB - }) - - public @interface EvsEncodedBwType {} - - /** - * EVS encoded Bandwidth is Narrow Band (NB). - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_NB = 0; - - /** - * EVS encoded Bandwidth is Wide Band (WB). - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_WB = 1; - - /** - * EVS encoded Bandwidth is Super WideBand (SWB). - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_SWB = 2; - - /** - * EVS encoded Bandwidth is Full Band (FB). - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_FB = 3; - - /** - * EVS encoded Bandwidth is in the range NB,WB. - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_NB_WB = 4; - - /** - * EVS encoded Bandwidth is in the range NB,WB,SWB. - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_NB_WB_SWB = 5; - - /** - * EVS encoded Bandwidth is in the range NB,WB,SWB,FB. - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_NB_WB_SWB_FB = 6; - - /** - * EVS encoded Bandwidth is in the range WB,SWB. - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_WB_SWB = 7; - - /** - * EVS encoded Bandwidth is in the range WB,SWB,FB. - * Reference: 3GPP 26.441 Table 1. - */ - public static final int EVS_ENCODED_BW_TYPE_WB_SWB_FB = 8; - - /** - * Specifies the EVS codec encoding bandwidth options. - * - * Possible values are, - * {@link #EVS_ENCODED_BW_TYPE_NB}, - * {@link #EVS_ENCODED_BW_TYPE_WB}, - * {@link #EVS_ENCODED_BW_TYPE_SWB}, - * {@link #EVS_ENCODED_BW_TYPE_FB}, - * {@link #EVS_ENCODED_BW_TYPE_NB_WB}, - * {@link #EVS_ENCODED_BW_TYPE_NB_WB_SWB}, - * {@link #EVS_ENCODED_BW_TYPE_NB_WB_SWB_FB}, - * {@link #EVS_ENCODED_BW_TYPE_WB_SWB}, - * {@link #EVS_ENCODED_BW_TYPE_WB_SWB_FB} - * - * If this key is not specified, then the behavior is same as - * value {@link #EVS_ENCODED_BW_TYPE_NB_WB_SWB} - * - *

Reference: 3GPP 26.441 Table 1. - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_BANDWIDTH_INT = - KEY_PREFIX + "evs_codec_attribute_bandwidth_int"; - - /** @hide */ - @IntDef({ - EVS_PRIMARY_MODE_BITRATE_5_9_KBPS, - EVS_PRIMARY_MODE_BITRATE_7_2_KBPS, - EVS_PRIMARY_MODE_BITRATE_8_0_KBPS, - EVS_PRIMARY_MODE_BITRATE_9_6_KBPS, - EVS_PRIMARY_MODE_BITRATE_13_2_KBPS, - EVS_PRIMARY_MODE_BITRATE_16_4_KBPS, - EVS_PRIMARY_MODE_BITRATE_24_4_KBPS, - EVS_PRIMARY_MODE_BITRATE_32_0_KBPS, - EVS_PRIMARY_MODE_BITRATE_48_0_KBPS, - EVS_PRIMARY_MODE_BITRATE_64_0_KBPS, - EVS_PRIMARY_MODE_BITRATE_96_0_KBPS, - EVS_PRIMARY_MODE_BITRATE_128_0_KBPS - }) - - public @interface EvsPrimaryModeBitRate {} - - /** EVS primary mode with bitrate 5.9 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_5_9_KBPS = 0; - - /** EVS primary mode with bitrate 7.2 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_7_2_KBPS = 1; - - /** EVS primary mode with bitrate 8.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_8_0_KBPS = 2; - - /** EVS primary mode with bitrate 9.6 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_9_6_KBPS = 3; - - /** EVS primary mode with bitrate 13.2 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_13_2_KBPS = 4; - - /** EVS primary mode with bitrate 16.4 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_16_4_KBPS = 5; - - /** EVS primary mode with bitrate 24.4 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_24_4_KBPS = 6; - - /** EVS primary mode with bitrate 32.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_32_0_KBPS = 7; - - /** EVS primary mode with bitrate 48.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_48_0_KBPS = 8; - - /** EVS primary mode with bitrate 64.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_64_0_KBPS = 9; - - /** EVS primary mode with bitrate 96.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_96_0_KBPS = 10; - - /** EVS primary mode with bitrate 128.0 kbps */ - public static final int EVS_PRIMARY_MODE_BITRATE_128_0_KBPS = 11; - - /** - * Specifies the range of source codec bit-rate for EVS Primary mode - * in the session. This is expressed in kilobits per second and - * applicable for both the send and the receive directions. - * - *

The range is specified as integer aray of size 2, - * represented as [low, high], where low <= high - * - *

Possible values for low and high are, - * {@link #EVS_PRIMARY_MODE_BITRATE_5_9_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_7_2_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_8_0_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_9_6_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_13_2_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_16_4_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_24_4_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_32_0_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_48_0_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_64_0_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_96_0_KBPS}, - * {@link #EVS_PRIMARY_MODE_BITRATE_128_0_KBPS} - * - * If this key is not specified, then the behavior is same as - * value {@link #EVS_PRIMARY_MODE_BITRATE_24_4_KBPS} - * - *

Reference: 3GPP 26.445 Section A.3.1 - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_BITRATE_INT_ARRAY = - KEY_PREFIX + "evs_codec_attribute_bitrate_int_array"; - - /** - * Specifies the Channel aware mode (ch-aw-recv) for the receive direction. - * This is applicable for EVS codec. - * - *

Permissible values are -1, 0, 2, 3, 5, and 7. - * If this key is not specified, then the behavior is same as value 0 - * (channel aware mode disabled). - *

If this key is configured, then device is expected to send - * this parameter in the SDP offer. - * - *

Reference: 3GPP TS 26.445 section 4.4.5, 3GPP 26.445 Section A.3.1 - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_CH_AW_RECV_INT = - KEY_PREFIX + "evs_codec_attribute_ch_aw_recv_int"; - - /** - * Specifies whether to limit the session to header-full format. - * This applies to both directions in the session. This attribute - * is applicable for EVS codec. - * - *

Permissible values are 0, 1 - * If hf-only is 1, only Header-Full format is used and hf-only is - * included in the SDP. - *

If hf-only is 0, both Compact and Header-Full formats are used - * and hf-only is included in the SDP. - *

If this key is not present, then both Compact - * and Header-Full formats are used and hf-only is not included in - * the SDP. - *

If this key is configured, then device is expected to send - * this parameter in the SDP offer if operator required it. - * - *

Reference: 3GPP 26.445 Section A.3.1. - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_HF_ONLY_INT = - KEY_PREFIX + "evs_codec_attribute_hf_only_int"; - - /** - * Specifies whether DTX (Discontinuous transmission) is enabled - * or not. This applies to both directions in the session. - * This attribute is applicable for EVS codec and can be used - * in both EVS Primary mode and EVS AMR-WB IO mode. - * - *

If {@code true}: Indicates DTX is enabled. - * If {@code false}: Indicates DTX is disabled. - * - *

If this is not present, then default value of {@code true} - * will apply. - *

Reference: 3GPP TS 26.445 Section A.3.1. - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_DTX_BOOL = - KEY_PREFIX + "evs_codec_attribute_dtx_bool"; - - /** - * This is used if further restriction is required on DTX in the - * receive direction. This attribute is applicable for EVS codec - * and can be used in both EVS Primary mode and EVS AMR-WB IO mode. - * - *

If this value is true or not present, then DTX setting is - * dependent on {@link #KEY_EVS_CODEC_ATTRIBUTE_DTX_BOOL}. - * - *

If this is not present, then default value of {@code true} - * will apply. - * - *

Reference: 3GPP TS 26.445 Section A.3.1. - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_DTX_RECV_BOOL = - KEY_PREFIX + "evs_codec_attribute_dtx_recv_bool"; - - /** - * Specifies the number of audio channels. - * If this is not present, then default value of 1 will apply. - * - *

Reference: RFC 3551 - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_CHANNELS_INT = - KEY_PREFIX + "evs_codec_attribute_channels_int"; - - /** - * Indicates whether the Codec Mode Request (CMR) is supported - * for the session. - * This attribute is applicable for EVS codec in Primary Mode only. - * - *

Possible values are -1, 0, 1. If this key is not present, - * then behavior as per value 0 is applicable. - * - *

Reference: 3GPP 26.445 Section A.3.1, 3GPP 26.114 Table 6.2a - */ - public static final String KEY_EVS_CODEC_ATTRIBUTE_CMR_INT = - KEY_PREFIX + "codec_attribute_cmr_int"; - - /** - * Specifies the number of frame-blocks. This indicates the frame-block period - * at which codec mode changes are allowed for the sender. This attribute is - * applicable for EVS codec in AMR-WB IO mode and AMR-WB. - * - *

Possible values are 1, 2. - * If the key is not present, behavior as per value 1 is applicable and this - * parameter is not included in SDP. - * - *

Reference: RFC 4867 Section 8.1. - */ - public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_PERIOD_INT = - KEY_PREFIX + "codec_attribute_mode_change_period_int"; - - /** - * Specifies if the client is capable to transmit with a restricted mode - * change period. This attribute is applicable for EVS codec in - * AMR-WB IO mode and AMR-WB. - * - *

Possible values are 1, 2. If this key is not present, - * then behavior as per value 1 is applicable and this - * parameter is not included in SDP. - * - *

Reference: RFC 4867 Section 8.1. - */ - public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_CAPABILITY_INT = - KEY_PREFIX + "codec_attribute_mode_change_capability_int"; - - /** - * Specifies the allowed mode changes for the sender in the active mode set. - * This attribute is applicable for EVS codec in AMR-WB IO mode - * and AMR-WB. - * - *

Possible values are 0, 1. If value is 1, then the sender should only - * perform mode changes to the neighboring modes in the active codec mode set. - * If value is 0, then mode changes between any two modes - * in the active codec mode set is allowed. - * If the key is not present, behavior as per value 0 is applicable and this - * parameter is not included in SDP. - * - *

Reference: RFC 4867 Section 8.1. - */ - public static final String KEY_CODEC_ATTRIBUTE_MODE_CHANGE_NEIGHBOR_INT = - KEY_PREFIX + "codec_attribute_mode_change_neighbor_int"; - - /** - * Specifies the codec attributes of different payload types in - * the EVS codec. - * - *

The keys in this bundle are payload types specified - * in {@link #KEY_EVS_PAYLOAD_TYPE_INT_ARRAY}. - * - *

Codec attributes allowed as part of EVS codec are, - *

- */ - public static final String KEY_EVS_PAYLOAD_DESCRIPTION_BUNDLE = - KEY_PREFIX + "evs_payload_description_bundle"; - - private static PersistableBundle getDefaults() { - PersistableBundle defaults = new PersistableBundle(); - defaults.putBoolean(KEY_CARRIER_VOLTE_ROAMING_AVAILABLE_BOOL, true); - defaults.putBoolean(KEY_INCLUDE_CALLER_ID_SERVICE_CODES_IN_SIP_INVITE_BOOL, false); - defaults.putBoolean(KEY_MULTIENDPOINT_SUPPORTED_BOOL, false); - defaults.putBoolean(KEY_SESSION_TIMER_SUPPORTED_BOOL, true); - defaults.putBoolean(KEY_OIP_SOURCE_FROM_HEADER_BOOL, false); - defaults.putBoolean(KEY_PRACK_SUPPORTED_FOR_18X_BOOL, true); - defaults.putBoolean(KEY_VOICE_QOS_PRECONDITION_SUPPORTED_BOOL, true); - defaults.putBoolean(KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL, false); - - defaults.putInt(KEY_SESSION_REFRESHER_TYPE_INT, SESSION_REFRESHER_TYPE_UNKNOWN); - defaults.putInt(KEY_SESSION_REFRESH_METHOD_INT, - SESSION_REFRESH_METHOD_UPDATE_PREFERRED); - defaults.putInt(KEY_CONFERENCE_SUBSCRIBE_TYPE_INT, - CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG); - defaults.putInt(KEY_AUDIO_RTP_INACTIVITY_TIMER_MILLIS_INT, 20000); - defaults.putInt(KEY_AUDIO_RTCP_INACTIVITY_TIMER_MILLIS_INT, 20000); - defaults.putInt(KEY_DEDICATED_BEARER_WAIT_TIMER_MILLIS_INT, 8000); - defaults.putInt(KEY_RINGING_TIMER_MILLIS_INT, 90000); - defaults.putInt(KEY_RINGBACK_TIMER_MILLIS_INT, 90000); - defaults.putInt(KEY_MO_CALL_REQUEST_TIMEOUT_MILLIS_INT, 5000); - defaults.putInt(KEY_SESSION_EXPIRES_TIMER_SEC_INT, 1800); - defaults.putInt(KEY_MINIMUM_SESSION_EXPIRES_TIMER_SEC_INT, 90); - defaults.putInt(KEY_AUDIO_AS_BANDWIDTH_KBPS_INT, 41); - defaults.putInt(KEY_AUDIO_RS_BANDWIDTH_BPS_INT, 600); - defaults.putInt(KEY_AUDIO_RR_BANDWIDTH_BPS_INT, 2000); - - defaults.putIntArray( - KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY, - new int[] { - Ims.RTCP_INACTIVITY_ON_CONNECTED, - Ims.RTP_INACTIVITY_ON_CONNECTED - }); - - defaults.putIntArray( - KEY_SRVCC_TYPE_INT_ARRAY, - new int[] { - BASIC_SRVCC_SUPPORT, - ALERTING_SRVCC_SUPPORT, - PREALERTING_SRVCC_SUPPORT, - MIDCALL_SRVCC_SUPPORT - }); - - defaults.putString(KEY_CONFERENCE_FACTORY_URI_STRING, ""); - - PersistableBundle audio_codec_capability_payload_types = new PersistableBundle(); - - audio_codec_capability_payload_types.putIntArray( - KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY, - new int[] { 97, 98 }); - - audio_codec_capability_payload_types.putIntArray( - KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY, - new int[] { 99, 100 }); - - audio_codec_capability_payload_types.putIntArray( - KEY_DTMFWB_PAYLOAD_TYPE_INT_ARRAY, - new int[] { 101 }); - - audio_codec_capability_payload_types.putIntArray( - KEY_DTMFNB_PAYLOAD_TYPE_INT_ARRAY, - new int[] { 102 }); - - defaults.putPersistableBundle( - KEY_AUDIO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE, - audio_codec_capability_payload_types); - - /* Setting defaults for AMRWB */ - PersistableBundle all_amrwb_payload_bundles = new PersistableBundle(); - PersistableBundle amrwb_bundle_instance1 = new PersistableBundle(); - - all_amrwb_payload_bundles.putPersistableBundle( - "97", /* Same value of payload type as in KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY */ - amrwb_bundle_instance1); - - PersistableBundle amrwb_bundle_instance2 = new PersistableBundle(); - - amrwb_bundle_instance2.putInt(KEY_AMR_CODEC_ATTRIBUTE_PAYLOAD_FORMAT_INT, - OCTET_ALIGNED); - - all_amrwb_payload_bundles.putPersistableBundle( - "98", /* Same value of payload type as in KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY */ - amrwb_bundle_instance2); - - defaults.putPersistableBundle( - KEY_AMRWB_PAYLOAD_DESCRIPTION_BUNDLE, - all_amrwb_payload_bundles); - - /* Setting defaults for AMRNB */ - PersistableBundle all_amrnb_payload_bundles = new PersistableBundle(); - PersistableBundle amrnb_bundle_instance1 = new PersistableBundle(); - - all_amrnb_payload_bundles.putPersistableBundle( - "99", /* Same value of payload type as in KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY */ - amrnb_bundle_instance1); - - PersistableBundle amrnb_bundle_instance2 = new PersistableBundle(); - - amrnb_bundle_instance2.putInt(KEY_AMR_CODEC_ATTRIBUTE_PAYLOAD_FORMAT_INT, - OCTET_ALIGNED); - - all_amrnb_payload_bundles.putPersistableBundle( - "100", /* Same value of payload type as in KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY */ - amrnb_bundle_instance2); - - defaults.putPersistableBundle( - KEY_AMRNB_PAYLOAD_DESCRIPTION_BUNDLE, - all_amrnb_payload_bundles); - - return defaults; - } - } - - /** - * IMS SMS configs. This groups the configs specific for SMS over IMS - */ - public static final class ImsSms { - private ImsSms() {} - - /** Prefix of all imssms.KEY_* constants. */ - public static final String KEY_PREFIX = "imssms."; - - /** - * Flag specifying if SMS over IMS support is available or not. - * - *

If {@code true}: SMS over IMS support available. - * {@code false}: otherwise. - */ - public static final String KEY_SMS_OVER_IMS_SUPPORTED_BOOL = - KEY_PREFIX + "sms_over_ims_supported_bool"; - - /** - * Flag specifying whether to allow SMS CSFB in case of - * SMS over PS failure. - * - *

If {@code true}: allow SMS CSFB in case of SMS over PS failure. - * {@code false} otherwise. - */ - public static final String KEY_SMS_CSFB_RETRY_ON_FAILURE_BOOL = - KEY_PREFIX + "sms_csfb_retry_on_failure_bool"; - - /** @hide */ - @IntDef({ - SMS_FORMAT_3GPP, - SMS_FORMAT_3GPP2 - }) - - public @interface SmsFormat {} - - /** SMS format is 3GPP. */ - public static final int SMS_FORMAT_3GPP = 0; - - /** SMS format is 3GPP2. */ - public static final int SMS_FORMAT_3GPP2 = 1; - - /** - * Specifies the SMS over IMS format. - * - *

Possible values are, - * {@link #SMS_FORMAT_3GPP}, - * {@link #SMS_FORMAT_3GPP2} - */ - public static final String KEY_SMS_OVER_IMS_FORMAT_INT = - KEY_PREFIX + "sms_over_ims_format_int"; - - /** - * List of different RAT technologies on which SMS over IMS - * is supported. - * - *

Possible values are, - * {@link AccessNetworkConstants.AccessNetworkType#NGRAN} - * {@link AccessNetworkConstants.AccessNetworkType#EUTRAN} - * {@link AccessNetworkConstants.AccessNetworkType#IWLAN} - * {@link AccessNetworkConstants.AccessNetworkType#UTRAN} - * {@link AccessNetworkConstants.AccessNetworkType#GERAN} - */ - public static final String KEY_SMS_OVER_IMS_SUPPORTED_RATS_INT_ARRAY = - KEY_PREFIX + "sms_over_ims_supported_rats_int_array"; - - private static PersistableBundle getDefaults() { - PersistableBundle defaults = new PersistableBundle(); - defaults.putBoolean(KEY_SMS_OVER_IMS_SUPPORTED_BOOL, true); - defaults.putBoolean(KEY_SMS_CSFB_RETRY_ON_FAILURE_BOOL, true); - - defaults.putInt(KEY_SMS_OVER_IMS_FORMAT_INT, SMS_FORMAT_3GPP); - - defaults.putIntArray( - KEY_SMS_OVER_IMS_SUPPORTED_RATS_INT_ARRAY, - new int[] { - AccessNetworkType.EUTRAN, - AccessNetworkType.IWLAN - }); - - return defaults; - } - } - - /** - * IMS RTT configs. This groups the configs specific for text media, - * RTT (Real Time Text). - */ - public static final class ImsRtt { - private ImsRtt() {} - - /** Prefix of all imsrtt.KEY_* constants. */ - public static final String KEY_PREFIX = "imsrtt."; - - /** - * Flag specifying whether text media is allowed on default bearer. - * - *

If {@code true}: text media can be sent on default bearer. - * {@code false} otherwise. - */ - public static final String KEY_TEXT_ON_DEFAULT_BEARER_SUPPORTED_BOOL = - KEY_PREFIX + "text_on_default_bearer_supported_bool"; - - /** - * Flag specifying whether QoS preconditions are supported for text. - * - *

If {@code true}: QoS Preconditions are supported. - * {@code false} otherwise. - *

Reference: 3GPP TS 24.229 - */ - public static final String KEY_TEXT_QOS_PRECONDITION_SUPPORTED_BOOL = - KEY_PREFIX + "text_qos_precondition_supported_bool"; - - /** - * Specifies the AS (Application Specific) SDP modifier for text media. - * - *

Expressed in kilobits per second as per RFC 3556 Section 2. - */ - public static final String KEY_TEXT_AS_BANDWIDTH_KBPS_INT = - KEY_PREFIX + "text_as_bandwidth_kbps_int"; - - /** - * Specifies the RS (RTCP bandwidth-Sender) SDP modifier for text media. - * - *

This indicates the RTCP bandwidth allocated to active data senders - * for text media. - * - *

Expressed in bits per second as per RFC 3556 Section 2. - */ - public static final String KEY_TEXT_RS_BANDWIDTH_BPS_INT = - KEY_PREFIX + "text_rs_bandwidth_bps_int"; - - /** - * Specifies the RR (RTCP bandwidth-Receiver) SDP modifier for - * text media. - * - *

This indicates the RTCP bandwidth allocated to receivers - * for text media. - * - *

Expressed in bits per second as per RFC 3556 Section 2. - */ - public static final String KEY_TEXT_RR_BANDWIDTH_BPS_INT = - KEY_PREFIX + "text_rr_bandwidth_bps_int"; - - /** - * List of various reasons for RTT call to end due to - * media inactivity. - * - *

Possible values are, - *

- */ - public static final String KEY_TEXT_INACTIVITY_CALL_END_REASONS_INT_ARRAY = - KEY_PREFIX + "text_inactivity_call_end_reasons_int_array"; - - /** - * Specifies the Text Codec capability. - * - *

Possible keys in this bundle are, - *

- */ - public static final String KEY_TEXT_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = - KEY_PREFIX + "text_codec_capability_payload_types_bundle"; - - /** Integer representing payload type for T140 codec. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_T140_PAYLOAD_TYPE_INT = - KEY_PREFIX + "t140_payload_type_int"; - - /** Integer representing payload type for RED/redundancy codec. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_RED_PAYLOAD_TYPE_INT = - KEY_PREFIX + "red_payload_type_int"; - - private static PersistableBundle getDefaults() { - PersistableBundle defaults = new PersistableBundle(); - defaults.putBoolean(KEY_TEXT_ON_DEFAULT_BEARER_SUPPORTED_BOOL, false); - defaults.putBoolean(KEY_TEXT_QOS_PRECONDITION_SUPPORTED_BOOL, true); - - defaults.putInt(KEY_TEXT_AS_BANDWIDTH_KBPS_INT, 4); - defaults.putInt(KEY_TEXT_RS_BANDWIDTH_BPS_INT, 100); - defaults.putInt(KEY_TEXT_RR_BANDWIDTH_BPS_INT, 300); - - defaults.putIntArray( - KEY_TEXT_INACTIVITY_CALL_END_REASONS_INT_ARRAY, - new int[] { - Ims.RTCP_INACTIVITY_ON_CONNECTED, - Ims.RTP_INACTIVITY_ON_CONNECTED - }); - - PersistableBundle text_codec_capability_payload_types = new PersistableBundle(); - - text_codec_capability_payload_types.putInt( - KEY_RED_PAYLOAD_TYPE_INT, - 112); - - text_codec_capability_payload_types.putInt( - KEY_T140_PAYLOAD_TYPE_INT, - 111); - - defaults.putPersistableBundle( - KEY_TEXT_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE, - text_codec_capability_payload_types); - - return defaults; - } - } - - /** - * 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. - */ - public static final class ImsEmergency { - private ImsEmergency() {} - - /** Prefix of all imsemergency.KEY_* constants. */ - public static final String KEY_PREFIX = "imsemergency."; - - /** - * Flag specifying whether UE would retry E911 call on - * IMS PDN if emergency PDN setup failed. - * - *

If {@code true}: Allow UE to retry emergency call on - * IMS PDN if emergency PDN setup failed.{@code false} otherwise. - */ - public static final String KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL = - KEY_PREFIX + "retry_emergency_on_ims_pdn_bool"; - - /** - * Flag specifying whether UE should enter Emergency CallBack Mode(ECBM) - * after E911 call is ended. - * - *

If {@code true}: Enter ECBM mode after E911 call is ended. - * {@code false} otherwise. - */ - public static final String KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL = - KEY_PREFIX + "emergency_callback_mode_supported_bool"; - - /** - * Flag specifying whether QoS preconditions are supported for emergency - * call setup. - * - *

If {@code true}: QoS Preconditions are supported. - * {@code false} otherwise. - * - *

Reference: 3GPP TS 24.229 - */ - public static final String KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL = - KEY_PREFIX + "emergency_qos_precondition_supported_bool"; - - /** - * List of different RAT technologies on which emergency call using IMS - * is supported. - * - *

Possible values are, - * {@link AccessNetworkConstants.AccessNetworkType#NGRAN} - * {@link AccessNetworkConstants.AccessNetworkType#EUTRAN} - * {@link AccessNetworkConstants.AccessNetworkType#IWLAN} - */ - public static final String KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY = - KEY_PREFIX + "emergency_over_ims_supported_rats_int_array"; - - /** - * 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. - */ - public static final String KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT = - KEY_PREFIX + "emergency_registration_timer_millis_int"; - - private static PersistableBundle getDefaults() { - PersistableBundle defaults = new PersistableBundle(); - defaults.putBoolean(KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL, false); - defaults.putBoolean(KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL, false); - defaults.putBoolean(KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL, true); - - defaults.putIntArray( - KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY, - new int[] { - AccessNetworkType.EUTRAN, - AccessNetworkType.IWLAN - }); - - defaults.putInt(KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT, 20000); - - return defaults; - } - } - - /** - * IMS Video Telephony configs. This groups the configs that are specific for video call. - */ - public static final class ImsVt { - private ImsVt() {} - - /** Prefix of all imsvt.KEY_* constants. */ - public static final String KEY_PREFIX = "imsvt."; - - /** - * Flag specifying whether video media is allowed on default bearer. - * - *

If {@code true}: video media can be sent on default bearer. - * {@code false} otherwise. - */ - public static final String KEY_VIDEO_ON_DEFAULT_BEARER_SUPPORTED_BOOL = - KEY_PREFIX + "video_on_default_bearer_supported_bool"; - - /** - * Specifies the timeout value for no video RTP packets received. - *

On timer expiry, VT call can downgrade to voice call or end - * or continue depending on the operator requirement. - */ - public static final String KEY_VIDEO_RTP_INACTIVITY_TIMER_MILLIS_INT = - KEY_PREFIX + "video_rtp_inactivity_timer_millis_int"; - - /** - * Specifies the timeout value for no video RTCP packets received. - *

On timer expiry, VT call can downgrade to voice call or end - * or continue depending on the operator requirement. - */ - public static final String KEY_VIDEO_RTCP_INACTIVITY_TIMER_MILLIS_INT = - KEY_PREFIX + "video_rtcp_inactivity_timer_millis_int"; - - /** - * Specifies the AS (Application Specific) SDP modifier for video media. - * - *

Expressed in kilobits per second as per RFC 3556 Section 2. - */ - public static final String KEY_VIDEO_AS_BANDWIDTH_KBPS_INT = - KEY_PREFIX + "video_as_bandwidth_kbps_int"; - - /** - * Specifies the RS (RTCP bandwidth-Sender) SDP modifier for video media. - * - *

This indicates the RTCP bandwidth allocated to active data senders - * for video media. - * - *

Expressed in bits per second as per RFC 3556 Section 2. - */ - public static final String KEY_VIDEO_RS_BANDWIDTH_BPS_INT = - KEY_PREFIX + "video_rs_bandwidth_bps_int"; - - /** - * Specifies the RR (RTCP bandwidth-Receiver) SDP modifier - * for video media. - * - *

This indicates the RTCP bandwidth allocated to receivers - * for video media. - * - *

Expressed in bits per second as per RFC 3556 Section 2. - */ - public static final String KEY_VIDEO_RR_BANDWIDTH_BPS_INT = - KEY_PREFIX + "video_rr_bandwidth_bps_int"; - - /** - * Specifies the differentiated services code point (DSCP) value - * for Video RTP. - * - *

Reference: RFC 4594 Section 1.4.4 - */ - public static final String KEY_VIDEO_RTP_DSCP_INT = - KEY_PREFIX + "video_rtp_dscp_int"; - - /** - * Flag specifying whether QoS preconditions are supported for Video. - * - *

If {@code true}: QoS Preconditions are supported. - * {@code false} otherwise. - *

Reference: 3GPP TS 24.229 - */ - public static final String KEY_VIDEO_QOS_PRECONDITION_SUPPORTED_BOOL = - KEY_PREFIX + "video_qos_precondition_supported_bool"; - - /** - * Specifies the Video Codec capability. This contains a list of - * payload types representing different Video codec instances. - - *

Possible key(s) in this bundle are, - *

- *

To specify payload descriptions for each of the payload types, see - *

- */ - public static final String KEY_VIDEO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE = - KEY_PREFIX + "video_codec_capability_payload_types_bundle"; - - /** - * A list of integers representing the different payload types - * in H264 video codec in priority order from highest to lowest. - *

Payload type is an integer in dynamic payload type range 96-127 - * as per RFC RFC 3551 Section 6. - */ - public static final String KEY_H264_PAYLOAD_TYPE_INT_ARRAY = - KEY_PREFIX + "h264_payload_type_int_array"; - - /** - * Specifies the codec attributes of different payload types - * representing H264 video codec instances. - * - *

The allowed payload types of the video codecs are specified in, - * {@link #KEY_H264_PAYLOAD_TYPE_INT_ARRAY}. - * - *

Codec attributes allowed as part of H264 codec bundle are, - *

- * - *

If this bundle is not configured and - * {@link #KEY_H264_PAYLOAD_TYPE_INT_ARRAY} is not empty, - * then default values as in the individual codec attributes to - * be used for that payload type. - *

If the codec attributes in a particular codec instance bundle - * is not valid together, then that codec instance should not be used. - */ - public static final String KEY_H264_PAYLOAD_DESCRIPTION_BUNDLE = - KEY_PREFIX + "h264_payload_description_bundle"; - - /** - * Specifies the packetization mode of the video codec. - * - *

Permissible values are 0 (Single NAL unit mode), - * 1(Non-interleaved mode). - * - *

If this key is not specified or invalid, then the following - * default value to be used. - *