Soracom

Users

ドキュメント
Home ドキュメント SORACOM Air for セルラー SMS / USSD でデータを送受信する

SORACOM プラットフォームと SMS を送受信する

デバイスと SMS を送受信できる対象は、IoT SIM の サブスクリプション によって異なります。SMS の観点でサブスクリプションを分類すると、以下のグループに分類できます。

グループ主な特徴サブスクリプション
グループ ASORACOM プラットフォームと SMS を送受信できるplan01s、plan01s - Low Data Volume、planP1、planX1、planX2、planX3、plan-K2 K2-300MB
グループ B他社の SIM と SMS を送受信できるplan-D (SMS あり)、plan-K
グループ CSMS を送信できないplan-D (データ通信のみ)、plan-KM1、plan-DU、plan-US-max

このページでは、グループ A の IoT SIM で利用できる機能を説明します。

IoT SIM とデバイスの両方が SMS の送受信に対応する必要があります

これ以降の説明では、説明を簡単にするために、IoT SIM が単体で SMS を送受信するかのように説明しているところがあります。しかし、実際は IoT SIM を利用しているデバイスが SMS を送受信します。たとえば、SMS の送受信に対応している IoT SIM を利用しても、デバイスが SMS の送受信に対応していない場合は、SMS は送受信できません。

グループ A の IoT SIM で利用できる機能

グループ A の IoT SIM を利用するデバイスでは、SORACOM プラットフォームと SMS を送受信できます。具体的には、以下のように SMS を送受信できます。

送信元受信先宛先に指定する識別子
SORACOM ユーザーコンソール、または任意のサーバー (SORACOM CLI / API を利用)グループ A の IoT SIMSIM ID
グループ A の IoT SIM (*1)Unified Endpoint901001
グループ A の IoT SIM (*1)SORACOM Beam901011
グループ A の IoT SIM (*1)SORACOM Funnel901021
グループ A の IoT SIM (*1)SORACOM Harvest Data901031
グループ A の IoT SIM (*1)SORACOM Funk901041
グループ A の IoT SIM (*1)グループ A の IoT SIM (*2)MSISDN (*3)
  • (*1) planP1 では、SMS の受信 (SMS MT) のみをサポートしています。SMS 送信 (SMS MO) はサポートしていません。
  • (*2) 同一のオペレーターが保有する グループ A の IoT SIM 間でのみ SMS を送受信できます。
  • (*3) IoT SIM の MSISDN は、SORACOM ユーザーコンソールなどを参照してください。詳しくは、SIM 管理画面で IoT SIM の情報を確認 / 検索する を参照してください。

グループ A の IoT SIM とグループ B の IoT SIM の間では、SMS を送受信できません。

グループ A の IoT SIM を利用するデバイスに SMS を送信する

SORACOM ユーザーコンソールや、SORACOM CLI / API を利用すると、通信キャリアの通信網の外にある任意のサーバーから、グループ A の IoT SIM に SMS を送信できます。

同一のオペレーターが保有する グループ A の IoT SIM 間でも SMS を送受信できます。詳しくは、グループ A の IoT SIM を利用するデバイス間で SMS を送受信する を参照してください。

SORACOM ユーザーコンソールで送信する

  • グループ B の IoT SIM には SMS を送信できません。
  • 同一のオペレーターが保有する IoT SIM にのみ SMS を送信できます。

送信元の番号は 901001 です。

  1. ユーザーコンソール にログインし、SMS 送信先の IoT SIM にあわせてカバレッジタイプを変更します。

    たとえば、plan01s の IoT SIM に送信する場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。

  2. [メニュー][SORACOM AIR FOR セルラー][SIM 管理] の順にクリックします。

    SIM 管理画面が表示されます。

  3. SMS 送信先の IoT SIM にチェックを入れ、[操作][SMS を送信] の順にクリックします。

  4. [エンコーディング] を選択し、[SMS 本文] にメッセージを入力して、[SMS を送信] をクリックします。

    [エンコーディング] では、送信するメッセージに合わせて以下のいずれかを選択します。

    項目説明
    [UCS-2 (default)]漢字やキリル文字、アラビア文字などを送信できます。最大 70 文字。
    [GSM-7]GSM 7 ビット標準アルファベットを送信できます。漢字やキリル文字、アラビア文字などは送信できません。最大 160 文字 (最大 140 バイト)。

SMS の送信に失敗したときは

グループ A の IoT SIM を利用するデバイスに SMS を送信する場合、送信先のデバイスや接続している通信キャリアの状態など、様々な要因で失敗する可能性があります。SORACOM プラットフォームでは、以下の時間間隔で再送を試みます。なお、この時間間隔は予告なく変更される可能性があります。

  1. 2 分間隔で 20 回 (40 分間) 再送を試みます。
  2. 15 分間隔で 20 回 (300 分間) 再送を試みます。
  3. 1 時間間隔で 20 回 (20 時間) 再送を試みます。
エラーログが出力されます

送信および再送が失敗するごとに、送信先の IoT SIM にエラーログが出力されます。エラーログを確認する操作については、IoT SIM のエラーログを確認する を参照してください。

SORACOM CLI / SORACOM API の場合

SORACOM CLI または SORACOM API を利用しても、デバイスに SMS を送信できます。

  • SORACOM CLI を利用するには、あらかじめ SORACOM CLI をインストールし、認証情報を保存してください。詳しくは、SORACOM CLI をインストールする を参照してください。
  • SIM ID は、soracom sims list (Sim:listSims API) で取得できます。

soracom sims send-sms (Sim:sendSmsToSim API) を使用します。

$ soracom sims send-sms --coverage-type g --sim-id ${sim_id}\
--encoding-type 2 --payload "テスト送信"

Sim:sendSmsToSim API を使用します。

$ curl -v -X POST "https://g.api.soracom.io/v1/sims/${sim_id}/send_sms" \
-H "X-Soracom-API-Key: ${X_SORACOM_API_KEY}" \
-H "X-Soracom-Token: ${X_SORACOM_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
  "encodingType": 2,
  "payload": "テスト送信"
}'

グループ A の IoT SIM を利用するデバイスから SMS を送信する

グループ A の IoT SIM を利用するデバイスから、SORACOM に SMS でデータを送信します。

  • グループ B の IoT SIM を利用するデバイスからは、SORACOM に SMS を送信することはできません。
  • デバイスからデータを送信する際、AT コマンドを処理するモデムによって文字が変換されることがあります。変換内容については、モデムの取扱説明書を参照してください。

SORACOM Harvest Data にデータを送信する

グループ A の IoT SIM を 利用するデバイスから、901010 (Unified Endpoint) または 901031 (Harvest Data) 宛てに SMS を送信すると、SORACOM Harvest Data (以下、Harvest Data) にデータを送信できます。以下は、Soracom Onyx - LTE™ USB ドングル (SC-QGLC4-C1) (以下、USB ドングル) を利用するデバイスで cu コマンドを利用して、901031 宛てに SMS を送信する場合の例です。

Harvest Data を有効化してください

あらかじめ SIM グループの Harvest Data を有効化し、その SIM グループに IoT SIM を所属させてください。詳しくは、Harvest Data を有効化する を参照してください。

  1. デバイスにログインして、USB ドングルが取り付けられているシリアルポート (例: /dev/ttyUSB3) に接続します。

    USB ドングルが /dev/ttyUSB3 に取り付けられている場合:

    $ cu -l /dev/ttyUSB3 -s 57600
    
    Connected.
    
  2. テキストを送信するモードに変更し、USB ドングルにテキストを渡す際の文字エンコーディングを IRA に変更して、宛先に他社の SIM の MSISDN (901031) を指定します。

    AT+CMGF=1
    
    OK
    
    AT+CSCS="IRA"
    
    OK
    
    AT+CMGS="901031"
    
    >
    
  3. 送信するテキストを入力して、Ctrl + Z キーを押します。

    {"temperature": 20}        (← 送信するテキストを入力して、Ctrl + Z キーを押します)
    

    SMS が送信されます。

    +CMGS: 4
    
    OK
    
  4. Enter キーを押してから、~. を入力します。

    cu コマンドが終了します。

  5. Harvest Data に送信されたデータを確認します。

    詳しくは、Harvest Data に保存したデータを確認する を参照してください。

    plan01s SMS plan01s SMS

任意のサーバーにデータを送信する

グループ A の IoT SIM を利用するデバイスから、SORACOM Beam / Funnel / Harvest Data / Funk の各サービスに対応する宛先番号宛てに SMS を送信すると、各サービスを経由して任意のサーバーにデータを送信できます。

宛先番号、NAI、NPI、メッセージペイロードに指定する値は、以下のとおりです。

項目
宛先番号

利用するサービスによって、宛先番号が異なります。

利用するサービスを有効化してください

たとえば、Harvest Data を利用する場合は、あらかじめ SIM グループの Harvest Data を有効化し、その SIM グループに IoT SIM を所属させてください。詳しくは、Harvest Data を有効化する を参照してください。

NAI (Nature of Address Indicator)、TON (Type of Number)0 (Unknown)
NPI (Numbering Plan Indicator)9 (Private)
メッセージペイロード最大 140 バイトの任意のデータを指定できます。
ログの確認

送信ログを確認できます。詳しくは、IoT SIM のエラーログを確認する を参照してください。

plan01s SMS plan01s SMS

グループ A の IoT SIM を利用するデバイス間で SMS を送受信する

同一のオペレーターが保有する グループ A の IoT SIM 間では、MSISDN (Mobile Station International Subscriber Directory Number) を指定して SMS を送受信できます。

グループ A の IoT SIM とグループ B の IoT SIM の間では、SMS を送受信できません。

グループ A の IoT SIM を利用するデバイスで SMS を受信する

グループ A の IoT SIM を利用するデバイス (例: Raspberry Pi) で SMS を受信します。

以下は、SORACOM ユーザーコンソールでグループ A の IoT SIM に対して、[エンコーディング] を「UCS-2」に設定し、「test SMS」を送信したときに、デバイスで cu コマンドを利用して SMS を受信する場合の例です。

  1. デバイスにログインして、USB ドングルが取り付けられているシリアルポート (例: /dev/ttyUSB3) に接続します。

    USB ドングルが /dev/ttyUSB3 に取り付けられている場合:

    $ cu -l /dev/ttyUSB3 -s 57600
    
    Connected.
    
  2. テキストを送信するモードに変更し、SMS の一覧を取得します。

    AT+CMGF=1
    
    OK
    
    AT+CMGL="ALL"
    
    +CMGL: 0,"REC UNREAD","901001",,"23/11/28,02:58:10+00"
    007400650073007400200053004D0053        ("test SMS" を UCS-2 でエンコードした場合の表示)
    
    OK
    
    受信した SMS に返信したときは

    SORACOM ユーザーコンソールや SORACOM CLI/API で SMS を送信した場合、SMS の送信者は 901001 (Unified Endpoint) に設定されます。したがって、その SMS に返信すると、Unified Endpoint (宛先が 901001) に SMS が送信されます。

    なお、返信された SMS を確認するには、SMS を送信する前に Harvest Data などを有効化してください。詳しくは、グループ A の IoT SIM を利用するデバイスから SMS を送信する を参照してください。

  3. Enter キーを押してから、~. を入力します。

    cu コマンドが終了します。