# TCP → TCP/TCPS Entry Point

Forward TCP traffic to a TCP/TCPS destination.

This entry point accepts TCP traffic from an Air for Cellular device and forwards the individual packet to the forwarding destination via TCP or TCPS.

## Configuration

### Entry Point

Your device should be configured to send TCP traffic to: `beam.soracom.io:8023`.

### Parameters

- **Configuration name** (_string_, required) - A string to identify this configuration.

- **Destination** - The forwarding destination.

  - **Protocol** (`TCP` or `TCPS`, required) - The protocol to use for forwarding TCP traffic.
  - **Host name** (_string_, required) - The FQDN of the forwarding destination.
  - **Port number** (_number_, required) - The port number of the forwarding destination.

- **Header manipulations** - Operations to perform on the TCP packet.

  - **IMSI header** - Adds `imsi={IMSI}` to the first line of the packet as a string.
  - **SIM ID header** - Adds `simId={SIM_ID}` to the first line of the packet as a string.
  - **MSISDN header** - Adds `msisdn={MSISDN}` to the first line of the packet as a string.
  - **IMEI header** - Adds `imei={IMEI}` to the first line of the packet as a string.
  - **Signature header** - Adds `imei={IMEI} imsi={IMSI} timestamp={timestamp};signature={signature} version=20151001` to the first line of the packet as a string. This option requires **IMSI header** or **IMEI header** to be enabled in order to generate the signature.
  - **Pre-Shared Key** - The key to use when generating the **Signature header**.

For details on configuring and using header manipulations, refer to the [Header Manipulation](https://docs.soracom.io/en/services/beam/header-manipulation) page.

## Advanced Configuration

The TCP → TCP/TCPS entry point can also be configured through the Soracom API or CLI by using the **SoracomBeam** namespace.

Configuration should be performed using `tcp://beam.soracom.io:8023` as the configuration **key** value.

### Parameters

- **key** (_string_, required) - `tcp://beam.soracom.io:8023`

- **value** (_object_, required) - The configuration parameters.

  - **name** (_string_, optional) - Name to identify this configuration.
  - **destination** (_string_, required) - URL of the forwarding destination.
  - **enabled** (_boolean_, required) - Enables or disables the configuration.
  - **addSubscriberHeader** - (_boolean_, optional) - Enables or disables adding the subscriber IMSI in the forwarded request.
  - **addSimIdHeader** - (_boolean_, optional) - Enables or disables adding the SIM ID in the forwarded request.
  - **addMsisdnHeader** - (_boolean_, optional) - Enables or disables adding the SIM MSISDN in the forwarded request.
  - **addSignature** (_boolean_, required) - Enables or disables adding a signature header for subscriber verification
  - **psk.$credentialsId** (_string_, optional) - The ID assigned to the pre-shared key credential set. Used for signing when `addSignature` is set as `true`. This ID is set when the credential is registered in the [Credentials Store](https://docs.soracom.io/en/services/authentication/credential-sets).

### Sample

```json
[
  {
    "key":"tcp://beam.soracom.io:8023",
    "value": {
      "name": "beamtest",
      "destination": "tcps://beamtest.soracom.io:1234",
      "enabled": true,
      "addSubscriberHeader": true,
      "addSimIdHeader": true,
      "addMsisdnHeader": true,
      "addSignature": true,
      "psk": {
        "$credentialsId": "CredentialsID"
      }
    }
  }
]
```
