TCP → TCP/TCPS エントリポイント (beam.soracom.io:8023
) に、デバイスから TCP で送信されたデータを、TCP パケットもしくは TCPS パケットとして指定のホストに転送します。
- TCP → TCP/TCPS エントリポイントは、Unified Endpoint を経由して利用できません。
- デバイスから TCP → TCP/TCPS エントリポイントにデータを送信するときは、TCPS は利用できません。
TCP → TCP/TCPS エントリポイントを設定する
設定画面を表示する操作については、SORACOM Beam のエントリポイントを設定する を参照してください。TCP → TCP/TCPS エントリポイントで設定できる項目は以下のとおりです。
項目 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
任意の名前を入力します。 同じ名前の設定を追加できますは、エントリポイントの一意のキーとして扱われません。ほかのエントリポイントと同じ名前を設定できます。 | |||||||||
この設定の有効 / 無効を切り替えます。 | |||||||||
このエントリポイントで受け付けたリクエストの転送先を設定します。
| |||||||||
転送先へのリクエストに追加するヘッダーを設定します。詳しくは、[ヘッダ操作] を参照してください。 |
[ヘッダ操作]
転送先へのリクエストに追加するヘッダーを設定します。
項目 | 説明 |
---|---|
スイッチをオンにすると、文字列形式で imsi=${IMSI} が最初の行の一部として追加されます。${IMSI} には、IoT SIM の IMSI が挿入されます。 | |
スイッチをオンにすると、文字列形式で simId=${SIM_ID} が最初の行の一部として追加されます。${SIM_ID} には、IoT SIM の SIM ID が挿入されます。 | |
スイッチをオンにすると、文字列形式で msisdn=${MSISDN} が最初の行の一部として追加されます。${MSISDN} には、IoT SIM の MSISDN が挿入されます。 | |
スイッチをオンにすると、文字列形式で imei=${IMEI} が最初の行の一部として追加されます。${IMEI} には、デバイスの IMEI が挿入されます。 | |
スイッチをオンにすると、文字列形式で
、 、 、 のいずれか 1 つがオンのときに設定できます。 |
SORACOM CLI / SORACOM API の場合
グループ設定に Beam のエントリポイントを追加するコマンドについては、SORACOM Beam のエントリポイントを設定する の SORACOM CLI / SORACOM API の場合 を参照してください。
ここでは、TCP → TCP/TCPS エントリポイントを追加する場合のリクエストボディに指定する key
と value
のペアを説明します。
key | value の型 | value |
---|---|---|
tcp://beam.soracom.io:8023 | Object | TCP → TCP/TCPS エントリポイントの Object を参照してください。 |
SORACOM CLI のコマンド例:
$ soracom groups put-config --group-id {group_id} --namespace SoracomBeam \
--body '[
{
"key": "tcp://beam.soracom.io:8023",
"value": {
"name": "tcp2tcps",
"enabled": true,
"destination": "tcps://beamtest.soracom.io:1234",
"addSubscriberHeader": true,
"addSimIdHeader": true,
"addMsisdnHeader": true,
"addEquipmentHeader": true,
"addSignature": true,
"psk": {
"$credentialsId": "CredentialsID"
}
}
}
]'
SORACOM CLI や API で設定を更新するときは
Beam のエントリポイントの設定を部分的に更新するときは、更新しない設定も含めて、すべての設定を漏れなく指定してください。更新する設定だけを指定すると、省略した設定は初期値に戻ります。
想定していない値を指定した場合の動作は、定義されていません。SORACOM CLI / SORACOM API で設定を変更したあとで、SORACOM ユーザーコンソールで意図通りに設定されていることを確認してください。
TCP → TCP/TCPS エントリポイントの Object
以下の key と value を指定します。なお、この key と value のペアは、通常の JSON Object として指定します。
key | value の型 | value |
---|---|---|
name | String | 任意の名前を入力します。 同じ名前の設定を追加できます
|
enabled | Boolean | このエントリポイントの有効 / 無効を設定します。
|
destination | String | エントリポイントで受け付けたリクエストの転送先 (URL) を入力します。例: tcps://beamtest.soracom.io:1234 |
addSubscriberHeader | Boolean | 文字列形式で
|
addSimIdHeader | Boolean | 文字列形式で
|
addMsisdnHeader | Boolean | 文字列形式で
|
addEquipmentHeader | Boolean | 文字列形式で
|
addSignature | Boolean | 文字列形式で
|
psk.$credentialsId | String | addSignature が true のときに、署名に利用する事前共有鍵の認証情報 IDを指定します。認証情報 ID は、認証情報ストア に事前共有鍵を登録したときに指定しています。詳しくは、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。 |
TCP → TCP/TCPS エントリポイントにリクエストする
TCP → TCP/TCPS エントリポイントに、デバイスからデータを送信します。
以下は、デバイスで telnet コマンドを利用して、TCP → TCP/TCPS エントリポイント (beam.soracom.io:8023
) にデータを送信する場合の例です。
$ telnet beam.soracom.io 8023
Trying 100.127.127.100...
Connected to beam.soracom.io.
Escape character is '^]'.
Hello Soracom Beam Client! : imsi=295012345678901 imei=001010123456789 (← Beam によって IoT SIM の IMSI とデバイスの IMEI が付与されている)
hi (← キーボードから入力)
hi (← beamtest.soracom.io からのエコーバック)
[ヘッダ操作] の各設定がオンの場合
、 がオンの場合、最初の行として以下の内容が送信されます。
imei=XXXXXXXX7613276 imsi=XXXXXXXX4074449
、 、 がオンの場合、最初の行として以下の内容が送信されます。
imei=001010123456789 imsi=295012345678901 timestamp=1689935252284;signature=XXXXXXXXXXXXXXXXXXXX8d0e32a8df182c4bd48d21287fdb1275e37d108eb2b4 version=20151001
beam.soracom.io に転送する場合は、
でtopsecret
を設定した認証情報を選択すると、署名検証に成功します。$ telnet beam.soracom.io 8023 Trying 100.127.127.100... Connected to beam.soracom.io. Escape character is '^]'. --- SIGNATURE VERIFICATION imei=001010123456789 imsi=295012345678901 timestamp=1689935252284;signature=XXXXXXXXXXXXXXXXXXXX8d0e32a8df182c4bd48d21287fdb1275e37d108eb2b4 version=20151001 string_to_sign: imei=001010123456789 imsi=295012345678901 timestamp=1689935252284 calculated_signature: sha256(string_to_sign) = XXXXXXXXXXXXXXXXXXXX8d0e32a8df182c4bd48d21287fdb1275e37d108eb2b4 provided_signature: XXXXXXXXXXXXXXXXXXXX8d0e32a8df182c4bd48d21287fdb1275e37d108eb2b4 --- Hello Authorized Soracom Beam Client! :imei=001010123456789 imsi=295012345678901 timestamp=1689935252284 hi (← キーボードから入力) hi (← beamtest.soracom.io からのエコーバック)
署名検証について詳しくは、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。