SMS で送信される情報

SMS は、テキストよりも多くの情報を伝送します。SMS によって提供される情報のリストを以下に示します。

  • テキスト。140 バイトに制限されます。つまり、エンコーディングに応じて 70~160 文字の範囲です。詳細と制限については、SMS テキストエンコーディングを参照してください。

  • 受信者アドレス。ADC または MSISDN とも呼ばれます。SMS を受信する携帯電話の番号です。

  • 送信者のアドレス。oADC または sender id とも呼ばれます。日々の使用で使用される電話番号、プロバイダーや名前を通じて送信されるショートコードを指定できます。名前はオプションの機能です。この場合、SMS に返信できません。

  • メッセージが Flash メッセージであるかどうかを示すフラグ。Flash メッセージは、メモリに保存されないポップアップです。

  • SR が予想されるかどうかを示すフラグ。

  • 有効日。この日を過ぎると、ネットワーク機器は再試行できません。

  • data_coding フィールド。テキストのエンコーディングを示します。

SMPP プロトコル

Adobe Campaign Classic は、SMPP プロトコルバージョン 3.4 をサポートしています。これは、SMS をプロバイダー(SMSC)に送信し、SMS および領収書も受信できる広範なプロトコルです。詳しくは、SMPP ドキュメントを参照してください。

SMS サービスプロバイダー側のネットワーク機器は、SMSC と呼ばれることが多いです。

SMPP 接続

Adobe Campaign は、TCP を介して SMS サービスプロバイダーのネットワーク機器に接続します。SMPP プロトコルは、Adobe Campaign からプロバイダーへの永続的な TCP 接続を設定します。TCP 接続は、常に Adobe Campaign が開始します。メッセージを受信する場合も同様です。SMPP は、モードに応じて 1 つまたは 2 つの TCP 接続を開きます。すべての接続は、常に Adobe Campaign によって開始されます。

SMPP プロトコルは次の 2 つのモードで動作します。

  • トランスミッター + レシーバー(または TX+RX):メッセージの送受信には、2 つの異なる TCP 接続が使用されます。
  • トランシーバ(または TRX):メッセージの送受信には、単一の TCP 接続が使用されます。
NOTE
Adobe Campaign Classic は、TX+RX モードのみをサポートします。この制限は、技術的なアーキテクチャが原因です。

SMPP PDU

SMPP 送信ユニット(「パケット」)は PDU と呼ばれます。PDU には、コマンド、ステータス、シーケンス番号、データが含まれます。

各 PDU は、SMPP RESP PDU(同期応答)によって確認される必要があります。リクエストはパイプラインで記述できます。送信者は、RESP を待たずに多数のコマンドを送信できます。いつでもパイプライン化できる要求の数はウィンドウと呼ばれます。RESP PDU は、対応するイニシエーター PDU の順序とは関係なく、どの順序でも到着する可能性があります。

分離された​ トランスミッター + レシーバー ​モードでは、使用する接続は、送信されるメッセージの種類に応じて異なります。トランスミッター接続は MT に、レシーバー接続は MO と SR に使用されます。各種のメッセージに対する要求と応答は、同じ TCP 接続を介して送信されます。

例えば、MT を送信する際には、トランスミッター接続が使用され、MT を確認する RESP もトランスミッターチャネルを介して送信されます。MO(または SR)を受け取ると、レシーバー接続は MO を受け取り、MO を確認する RESP を送信するために使用されます。

Adobe Campaign Classic では、SR を対応する MT とリンクするために、SMSC から SUBMIT_SM_RESPDELIVER_SM の手順で ID が返されます。識別子は nms::providerMsgId テーブルの providerId フィールドに格納され、broadLogIddeliveryId にリンクされます。この照合操作は、データベースに書き込む際に SMS プロセスによっておこなわれます。

成功した SUBMIT_SM_RESP PDU は「送信済み」メッセージのステータスを送信ログにトリガーし、成功した DELIVER_SM (SR) PDU は「受信済み」メッセージのステータスをトリガーします。

セキュリティ面

プロトコル自体は暗号化されません。ほとんどのプロバイダーは、許可リスト上に IP のバリアントを実装しているので、Adobe Campaign サーバーの IP アドレスをプロバイダーに宣言する必要があります。

Adobe Campaign は、バインド段階でのログインとパスワードの受け渡しをサポートしています。また、SMPP over TLS もサポートします。適切なセキュリティを確保するためには、証明書が必要であることに注意してください。SMPP コネクタは証明書チェックのバイパスを許可しますが、証明書を持たない TLS はセキュリティレベルの大幅な低下につながるので、テストにのみ使用する必要があります。

コネクタは、システム openssl ライブラリが提供するデフォルトの証明書を使用します。通常は Debian の /etc/ssl/certs ディレクトリで提供されます。このディレクトリは、デフォルトで「ca-certificates」パッケージによって提供されていますが、カスタマイズ可能です。