Merge "EpdgTunnelMgr: INITIAL_CONTACT in IkeSessionParams"
diff --git a/src/com/google/android/iwlan/epdg/EpdgTunnelManager.java b/src/com/google/android/iwlan/epdg/EpdgTunnelManager.java
index 220fc7d..30df6b3 100644
--- a/src/com/google/android/iwlan/epdg/EpdgTunnelManager.java
+++ b/src/com/google/android/iwlan/epdg/EpdgTunnelManager.java
@@ -872,6 +872,10 @@
                 InetAddresses.parseNumericAddress(TRAFFIC_SELECTOR_IPV6_END_ADDR));
     }
 
+    private int numPdnTunnels() {
+        return mApnNameToTunnelConfig.size();
+    }
+
     private IkeSessionParams buildIkeSessionParams(
             TunnelSetupRequest setupRequest, String apnName) {
         int hardTimeSeconds =
@@ -921,6 +925,11 @@
                         .setRetransmissionTimeoutsMillis(getRetransmissionTimeoutsFromConfig())
                         .setDpdDelaySeconds(getDpdDelayFromConfig());
 
+        if (numPdnTunnels() == 0) {
+            builder.addIkeOption(IkeSessionParams.IKE_OPTION_INITIAL_CONTACT);
+            Log.d(TAG, "IKE_OPTION_INITIAL_CONTACT");
+        }
+
         if ((int) getConfig(CarrierConfigManager.Iwlan.KEY_EPDG_AUTHENTICATION_METHOD_INT)
                 == CarrierConfigManager.Iwlan.AUTHENTICATION_METHOD_EAP_ONLY) {
             builder.addIkeOption(IkeSessionParams.IKE_OPTION_EAP_ONLY_AUTH);