SMPP

SMPPは、アプリケーションがメッセージセンターにSMSを送信し、トランシーバーまたはレシーバーのバインドでレシートを受け取るためのバイナリプロトコルです。

定義のみです。ここで説明する用語は、当社が販売するサービスではありません。

Short Message Peer-to-Peer(SMPP)は、メッセージセンターにSMSを送信し、レシートを受け取るためのバイナリプロトコルです。トランシーバーとしてバインドした場合は同じTCPセッションで、そうでない場合は別のレシーバーのバインドでレシートを受け取ります。バインドがセッションを開き、ウィンドウが未応答のメッセージ数を制限します。

バインドではトランスミッター、レシーバー、トランシーバーのいずれかを宣言し、キープアライブのやり取りでセッションを維持します。接続方法はSMPPとはで説明しています。

送信し、レシートを待つ

クライアントはsubmit_smで送信し、メッセージIDを含むsubmit_sm_respを受け取ります。レシートは後からdeliver_smとして届きます。ウィンドウが未応答の送信数に上限を設けるため、スループットはウィンドウサイズと往復時間で決まります。

バインド、送信、レシート

  1. アプリケーション(ESME)
  2. bind_transceiver セッションを開く
  3. SMSC
  4. submit_sm_resp 配信受付済み
  5. 配信確認
セッションは一度だけ開き、レシートは後から届きます。
テキストによる説明

アプリケーションはトランシーバーとしてメッセージセンターにバインドします。メッセージセンターはsubmit_sm_respで送信を受け付け、配信レシートは後から同じセッションで届きます。

よくある質問

SMPPはWeb APIですか。

いいえ。HTTPのリクエストとレスポンスによるAPIではなく、持続的なTCP接続上のバイナリプロトコルです。

クライアントはどのバインドの種類を使うべきですか。

1つのセッションで送受信するならトランシーバーを使います。アーキテクチャやプロバイダーが求める場合は、バインドを分けます。

スループットを制限するものは何ですか。

プロバイダーが認めるTPS、ウィンドウサイズ、往復時間です。

詳しく見る

出典

  1. 3GPP TS 23.040:ショートメッセージサービスの技術的実現
  2. 3GPP TS 23.038:SMSのアルファベットと言語固有の情報
  3. SMPP v3.4仕様:バインドモードとdeliver_sm