Soracom

Users

ドキュメント

TCP → HTTP/HTTPS エントリポイント

TCP 上で送信されたデータをクラウドサービスに送信します。

エントリポイント URL 

beam.soracom.io:23080

設定項目 

  • 設定名: 本設定の名前
  • 転送先
    • プロトコル: 転送先への送信プロトコル。HTTP もしくは HTTPS から選択。
    • ホスト名: 転送先の FQDN。
    • ポート番号: 転送先のポート番号。
    • パス: 転送先へのリクエストパス。
  • ヘッダ操作
    • IMSI ヘッダ付与: 転送先へのリクエストに x-soracom-imsi: ${IMSI} を追加します
    • IMEI ヘッダ付与: 転送先へのリクエストに x-soracom-imei: ${IMEI} を追加します
    • MSISDN ヘッダ付与: 転送先へのリクエストに x-soracom-msisdn: ${MSISDN} を追加します
    • SIM ID ヘッダ付与: 転送先へのリクエストに x-soracom-sim-id: ${SIM_ID} を追加します
    • 署名ヘッダ付与: 転送先へのリクエストに x-soracom-signature: ${signature} を追加します。
    • 事前共有鍵: 署名に利用する共通鍵を設定します。詳細は後述します。
  • カスタムヘッダ: 転送先へのリクエストに任意の HTTP ヘッダを付与できます。

リクエスト 

Beam は送信されたメッセージを Base64 エンコードしたうえで以下のような JSON にし、HTTP POST リクエストのボディに設定します。

{"payload":"Base64エンコードされたメッセージ"}

TCP 上で送信されたデータをクラウドサービスに送信します。なお、HTTP ヘッダの user_agent には"SORACOM Beam"という文字列が設定されます。

レスポンス 

TCP には HTTP のようなリクエスト&レスポンスの概念はありませんので、下記の Body に記述されているコードやメッセージをペイロードとして含んだ TCP パケットがエントリポイントから送信されます。フォーマットは以下のようになります。レスポンス送信のタイミングは、転送先サーバーからのレスポンスに基づきます。

${HTTP_STATUS_CODE} ${転送先から返されたHTTPレスポンスのボディ}

実際の利用例 

# BeamエントリポイントとのTCPセッションの確立
$ nc -v funnel.soracom.io 23080
found 0 associations
found 1 connections:
     1:	flags=82<CONNECTED,PREFERRED>
	outif en0
	src 192.168.43.232 port 51053
	dst 100.127.65.43 port 23080
	rank info not available
	TCP aux info available

Connection to funnel.soracom.io port 23080 [tcp/*] succeeded!

ボディのないレスポンス例

200

ボディのあるレスポンス例

400 Message from server