# IkeSessionConfiguration.Builder

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/net/ipsec/ike/IkeSessionConfiguration.Builder "View this page in Java")  

```
class Builder
```

|---|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                                 ||
| ↳ | [android.net.ipsec.ike.IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) |

This class can be used to incrementally construct a[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration).

Except for testing, IKE library users normally do not instantiate[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)themselves but instead get a reference via[IkeSessionCallback](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionCallback)

## Summary

|                                                                                                                                                              Public constructors                                                                                                                                                               ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#Builder(android.net.ipsec.ike.IkeSessionConnectionInfo))`(`ikeConnInfo:` `[IkeSessionConnectionInfo](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConnectionInfo)`)` Constructs a Builder. |

|                                                                                                                                                                                                                                                                                                      Public methods                                                                                                                                                                                                                                                                                                       ||
|------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [addIkeExtension](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#addIkeExtension(kotlin.Int))`(`extensionType:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Marks an IKE extension as enabled for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                               |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [addRemoteVendorId](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#addRemoteVendorId(kotlin.ByteArray))`(`remoteVendorId:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`)` Adds a remote vendor ID for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                 |
| [IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)                  | [build](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#build())`()` Constructs an[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)instance.                                                                                                                                                                                                         |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [clearIkeExtensions](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#clearIkeExtensions())`()` Clear all enabled IKE extensions from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                                                                                                                                |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [clearRemoteApplicationVersion](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#clearRemoteApplicationVersion())`()` Clears the remote application version from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                                                                                                     |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [clearRemoteVendorIds](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#clearRemoteVendorIds())`()` Clears all remote vendor IDs from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                                                                                                                                |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [setEapInfo](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#setEapInfo(android.net.eap.EapInfo))`(`eapInfo:` `[EapInfo](https://developer.android.com/reference/kotlin/android/net/eap/EapInfo.html#)?`)` Sets EapInfo for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.                                                         |
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | [setRemoteApplicationVersion](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#setRemoteApplicationVersion(kotlin.String))`(`remoteApplicationVersion:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Sets the remote application version for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built. |

## Public constructors

### Builder

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Builder(ikeConnInfo: IkeSessionConnectionInfo)
```

Constructs a Builder.

|                                                                                           Parameters                                                                                            ||
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `ikeConnInfo` | [IkeSessionConnectionInfo](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConnectionInfo):the connection information This value cannot be`null`. |

## Public methods

### addIkeExtension

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun addIkeExtension(extensionType: Int): IkeSessionConfiguration.Builder
```

Marks an IKE extension as enabled for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                                                                                                                                                                                                                      Parameters                                                                                                                                                                                                                                                                      ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `extensionType` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):the enabled extension Value is[android.net.ipsec.ike.IkeSessionConfiguration#EXTENSION_TYPE_FRAGMENTATION](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration#EXTENSION_TYPE_FRAGMENTATION:kotlin.Int), or[android.net.ipsec.ike.IkeSessionConfiguration#EXTENSION_TYPE_MOBIKE](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration#EXTENSION_TYPE_MOBIKE:kotlin.Int) |

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### addRemoteVendorId

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun addRemoteVendorId(remoteVendorId: ByteArray): IkeSessionConfiguration.Builder
```

Adds a remote vendor ID for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                        Parameters                                                                        ||
|------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| `remoteVendorId` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html):a remote vendor ID This value cannot be`null`. |

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### build

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun build(): IkeSessionConfiguration
```

Constructs an[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)instance.

|                                                                        Return                                                                        ||
|-------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration) | This value cannot be`null`. |

### clearIkeExtensions

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun clearIkeExtensions(): IkeSessionConfiguration.Builder
```

Clear all enabled IKE extensions from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### clearRemoteApplicationVersion

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun clearRemoteApplicationVersion(): IkeSessionConfiguration.Builder
```

Clears the remote application version from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### clearRemoteVendorIds

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun clearRemoteVendorIds(): IkeSessionConfiguration.Builder
```

Clears all remote vendor IDs from the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### setEapInfo

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setEapInfo(eapInfo: EapInfo?): IkeSessionConfiguration.Builder
```

Sets EapInfo for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                          Parameters                                                          ||
|-----------|-------------------------------------------------------------------------------------------------------------------|
| `eapInfo` | [EapInfo](https://developer.android.com/reference/kotlin/android/net/eap/EapInfo.html#)?:This value may be`null`. |

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |

### setRemoteApplicationVersion

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setRemoteApplicationVersion(remoteApplicationVersion: String): IkeSessionConfiguration.Builder
```

Sets the remote application version for the[IkeSessionConfiguration](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration)being built.

|                                                                                              Parameters                                                                                               ||
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `remoteApplicationVersion` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):the remote application version. Defaults to an empty string. This value cannot be`null`. |

|                                                                                                   Return                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| [IkeSessionConfiguration.Builder](https://developer.android.com/reference/kotlin/android/net/ipsec/ike/IkeSessionConfiguration.Builder#) | Builder this, to facilitate chaining This value cannot be`null`. |