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);