Add Device to Device communication carrier configs.

Key configurations required:
- Whether carrier supports using DTMF A-D digit D2D comms.
- Whether carrier supports using RTP header extensions for D2D.
 - If using RTP header extensions, whether SDP negotiation of the
   RTP header extensions is supported or not.

Test: Add unit tests for new carrier config functionality.
Test: Manual test using telephony cmds to enable/disable the various
config options.
Bug: 163085177

Change-Id: I7422b90e655ef190d474cc12d1becee3074f657b
This commit is contained in:
Tyler Gunn
2021-03-02 09:19:55 -08:00
committed by Radhika Agrawal
parent 50f0175f3e
commit 0ba7907d4a
2 changed files with 38 additions and 0 deletions

View File

@@ -40532,6 +40532,9 @@ package android.telephony {
field public static final String KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL = "sim_network_unlock_allow_dismiss_bool";
field public static final String KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL = "sms_requires_destination_number_conversion_bool";
field public static final String KEY_SUPPORTS_CALL_COMPOSER_BOOL = "supports_call_composer_bool";
field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL = "supports_device_to_device_communication_using_dtmf_bool";
field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL = "supports_device_to_device_communication_using_rtp_bool";
field public static final String KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL = "supports_sdp_negotiation_of_d2d_rtp_header_extensions_bool";
field public static final String KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL = "support_3gpp_call_forwarding_while_roaming_bool";
field public static final String KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL = "support_add_conference_participants_bool";
field public static final String KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL = "support_adhoc_conference_calls_bool";

View File

@@ -1340,6 +1340,38 @@ public class CarrierConfigManager {
public static final String KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_ON_PEER_BOOL =
"support_ims_conference_event_package_on_peer_bool";
/**
* Indicates whether the carrier supports the use of RFC8285 compliant RTP header extensions for
* the purpose of device to device communication while in a call.
* <p>
* See also {@link #KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL}.
*/
public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL =
"supports_device_to_device_communication_using_rtp_bool";
/**
* Indicates whether the carrier supports the negotiations of RFC8285 compliant RTP header
* extensions supported on a call during the Session Description Protocol (SDP). This option
* is only used when {@link #KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL} is
* {@code true}.
* <p>
* When {@code true}, the RTP header extensions the platform uses for device to device
* communication will be offered to the remote end during the SDP negotiation process.
* When {@code false}, the RTP header extensions will not be negotiated during the SDP
* negotiation process and the platform will send RTP header extensions without prior
* negotiation if {@link #KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL} is
* {@code true}.
*/
public static final String KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL =
"supports_sdp_negotiation_of_d2d_rtp_header_extensions_bool";
/**
* Indicates whether the carrier supports the use of DTMF digits A-D for the purpose of device
* to device communication while in a call.
*/
public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL =
"supports_device_to_device_communication_using_dtmf_bool";
/**
* Determines whether High Definition audio property is displayed in the dialer UI.
* If {@code false}, remove the HD audio property from the connection so that HD audio related
@@ -5011,6 +5043,9 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_SUPPORT_MANAGE_IMS_CONFERENCE_CALL_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_ON_PEER_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL, false);
sDefaults.putBoolean(KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL, false);
sDefaults.putBoolean(KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL, false);
sDefaults.putBoolean(KEY_SUPPORT_VIDEO_CONFERENCE_CALL_BOOL, false);
sDefaults.putBoolean(KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL, false);
sDefaults.putInt(KEY_IMS_CONFERENCE_SIZE_LIMIT_INT, 5);