From b7ec9a0c9ae4e879f520f4cf0ae2621c0f7ca069 Mon Sep 17 00:00:00 2001 From: shilu Date: Fri, 9 Nov 2018 15:52:04 -0800 Subject: [PATCH] Propagate some SIP INVITE header fields on a MT call These fields can be used for Spoof call detection in the Dialer Bug: 115537553 Test: compile and test on device Change-Id: Ib92043536e0fc43e40efc53189a28c4e58064ddc --- api/current.txt | 1 + api/system-current.txt | 1 + telecomm/java/android/telecom/Connection.java | 5 +++++ telephony/java/android/telephony/ims/ImsCallProfile.java | 2 ++ 4 files changed, 9 insertions(+) diff --git a/api/current.txt b/api/current.txt index 1d60e8ffd0a0c..5992a6edeb056 100755 --- a/api/current.txt +++ b/api/current.txt @@ -41456,6 +41456,7 @@ package android.telecom { field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT"; field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS"; field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER"; + field public static final java.lang.String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE"; field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20 field public static final int PROPERTY_IS_EXTERNAL_CALL = 16; // 0x10 field public static final int PROPERTY_IS_RTT = 256; // 0x100 diff --git a/api/system-current.txt b/api/system-current.txt index 189611d2040ba..f7dce3d2a1ab2 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5911,6 +5911,7 @@ package android.telephony.ims { field public static final int DIALSTRING_SS_CONF = 1; // 0x1 field public static final int DIALSTRING_USSD = 2; // 0x2 field public static final java.lang.String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; + field public static final java.lang.String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS"; field public static final java.lang.String EXTRA_CALL_RAT_TYPE = "CallRadioTech"; field public static final java.lang.String EXTRA_CHILD_NUMBER = "ChildNum"; field public static final java.lang.String EXTRA_CNA = "cna"; diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 0589cd4a538e1..84256037b3793 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -614,6 +614,11 @@ public abstract class Connection extends Conferenceable { public static final String EVENT_HANDOVER_FAILED = "android.telecom.event.HANDOVER_FAILED"; + /** + * Connection extra key used to store SIP invite fields for an incoming call for IMS calls + */ + public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE"; + // Flag controlling whether PII is emitted into the logs private static final boolean PII_DEBUG = Log.isLoggable(android.util.Log.DEBUG); diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java index a6c24bf4e18aa..cb6fcd7b62c2b 100644 --- a/telephony/java/android/telephony/ims/ImsCallProfile.java +++ b/telephony/java/android/telephony/ims/ImsCallProfile.java @@ -262,6 +262,8 @@ public final class ImsCallProfile implements Parcelable { public static final String EXTRA_DISPLAY_TEXT = "DisplayText"; public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; public static final String EXTRA_IS_CALL_PULL = "CallPull"; + public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = + "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS"; /** * Extra key which the RIL can use to indicate the radio technology used for a call.