SMS コネクタのプロトコルと設定 sms-connector-protocol
Campaign v7 から v8 への移行の一環として、Campaign Classic のドキュメントセットを効率化および再編成しました。共通機能は、Campaign v8 ドキュメントセットでのみ使用できるようになりました。 SMS コネクタ設定について詳しくは、Campaign v8 ドキュメントを参照してください。
概要 overview
SMS は、書式設定のない短いテキストメッセージの送信に限定されますが、そのシンプルさがこのコミュニケーションチャネルの利点でもあります。
SMS を送信する主な方法は 2 つあります。
- 電話から手動で送信する:人と人との間で直接通信する通常の方法。
- インターネットから送信する:Adobe Campaign がメッセージを送信する方法。 インターネットをモバイルネットワークに接続する SMS サービスプロバイダーが必要です。
Adobe Campaign は、SMPP プロトコルを使用して SMS をサービスプロバイダーに送信します。
このドキュメントでは、Adobe Campaign と SMPP プロバイダーの間の接続設定について説明します。
SMPP プロバイダーは公式仕様から外れる場合がありますが、Adobe Campaign の SMS コネクタは、ほとんどのプロバイダーと互換性を持つように動作を適応させるための多くのオプションを提供します。
SMPP プロトコル smpp-protocol
Adobe Campaign Classic は、SMPP プロトコルバージョン 3.4 をサポートしています。 これは、SMS をプロバイダー(SMSC)に送信し、SMS および領収書も受信できる広範なプロトコルです。 詳しくは、SMPP ドキュメントを参照してください。
SMS サービスプロバイダー側のネットワーク機器は、SMSC と呼ばれることが多いです。
SMPP 接続 smpp-connections
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 接続が使用されます。
SMPP PDU 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_RESP と DELIVER_SM の手順で ID が返されます。 識別子は nms::providerMsgId テーブルの providerId フィールドに格納され、broadLogId と deliveryId にリンクされます。 この照合操作は、データベースに書き込む際に SMS プロセスによっておこなわれます。
成功した SUBMIT_SM_RESP PDU は「送信済み」メッセージのステータスを送信ログにトリガーし、成功した DELIVER_SM (SR) PDU は「受信済み」メッセージのステータスをトリガーします。
セキュリティ面 security-aspects
プロトコル自体は暗号化されません。 ほとんどのプロバイダーは、許可リスト上に IP のバリアントを実装しているので、Adobe Campaign サーバーの IP アドレスをプロバイダーに宣言する必要があります。
Adobe Campaign は、バインド段階でのログインとパスワードの受け渡しをサポートしています。 また、SMPP over TLS もサポートします。 適切なセキュリティを確保するためには、証明書が必要であることに注意してください。 SMPP コネクタは証明書チェックのバイパスを許可しますが、証明書を持たない TLS はセキュリティレベルの大幅な低下につながるので、テストにのみ使用する必要があります。
コネクタは、システム openssl ライブラリが提供するデフォルトの証明書を使用します。 通常は Debian の /etc/ssl/certs ディレクトリで提供されます。 このディレクトリは、デフォルトで「ca-certificates」パッケージによって提供されていますが、カスタマイズ可能です。
各種 PDU の情報 information-pdu
各種の PDU には、異なる情報を伝達する個別のフィールドがあります。 これらの PDU の詳細は、SMPP 3.4 仕様に記載されています。
以下の各節では、PDU と同期応答(*_RESP PDU)の両方について説明します。 すべての PDU は対応する RESP によって認識される必要があります。これは仕様の必須部分です。
PDU にはオプションのフィールドを指定できます。 ここでは、最も一般的なフィールドについて説明します。 詳しくは、SMPP 3.4 仕様を参照してください。
BIND_TRANSMITTER/BIND_RECEIVER/BIND_TRANSCEIVER
この PDU は、SMSC への接続を開始するために使用されます。 トランスミッター、レシーバー、および トランシーバ モードは、この接続を介して転送できる SMS の種類のみを変更します。具体的には、次のようになります。
BIND_* PDU の主なフィールド:
-
system_id:認証に使用するログイン。 外部アカウントに設定されます。
-
パスワード:認証に使用するパスワード。 外部アカウントに設定されます。
-
system_type:一部のプロバイダーでは、特定の値に設定する必要があります。 外部アカウントで設定され、すべてのバージョンで利用可能です。 多くの場合、様々な種類の契約、チャネル、国などを区別します。
-
addr_ton および addr_npi:一部のプロバイダーで必須です。 外部アカウントの
Bind TON設定とBind NPI設定で指定します。 -
address_range:一部のプロバイダーで必須です。 これはほとんどの場合、この接続で使用できるショートコードのリストです。 外部アカウントに設定されます。
BIND_*_RESP に特定のフィールドがない場合は、接続が成功したかどうかを確認します。
UNBIND unbind
この PDU は、切断前にシステムから送信する必要があります。 UNBIND_RESP PDU との一致を待ってから、接続を閉じる必要があります。
適合 SMSC は接続を閉じてはいけません。TCP 接続は Adobe Campaign コネクタによって制御されます。
SUBMIT_SM submit-sm
この PDU は、MT を SMSC に送信します。 応答 PDU は、MT の ID を提供します。
SUBMIT_SM PDU の主なフィールド:
-
service_type:一部のプロバイダーで必要です。 配信のプロパティで設定します。
-
source_addr_ton および source_addr_npi:伝送される送信元アドレスの種類を示します。 これらのフィールドの意味は標準化されていますが、一部のプロバイダーでは使い方が異なるので、プロバイダーに正しい値を確認する必要があります。 外部アカウントに設定されます。
-
source_addr:MT のソースアドレス/oADC。 携帯電話に表示されます。 外部アカウントと配信で設定すると、配信内の値が外部アカウントの値よりも優先されます。
-
dest_addr_ton および dest_addr_npi:送信される宛先アドレスの種類(ローカルや国際形式など)を示します。 これらのフィールドの意味は標準化されていますが、一部のプロバイダーでは使い方が異なるので、プロバイダーに正しい値を確認する必要があります。 外部アカウントに設定されます。
-
destination_addr:受信者アドレス、電話番号、または MSISDN。
-
esm_class:UDH がテキストフィールドで使用されているかどうかを示すために使用します。
message_payloadモードが使用されない場合、分割 SMS のコネクタによって自動的に有効になります。 -
priority_flag:他のメッセージと比較した場合のこのメッセージの優先順位。 これは、配信自体の優先度に結び付けられます。
-
validity_period:タイムスタンプ。このタイムスタンプを超えると、再試行はおこなわれません。 配信自体に設定されます。
-
registered_delivery:SR が要求されているかどうかを示します。 Adobe Campaign は、自動返信を除き、常にこのフラグを設定します。 マルチパートメッセージの場合、フラグは最初のパーツに対してのみ設定されます。 すべてのバージョンで同じ動作がおこなわれます。
-
data_coding:テキストフィールドで使用されるエンコーディングを示します。 詳しくは、SMS テキストエンコーディング(Campaign v8 ドキュメント)の節を参照してください。
-
short_message:メッセージのテキスト。 UDH を使用する場合は、UHD ヘッダーも含まれます。
Adobe Campaign では、次のオプションフィールドがサポートされています。
-
dest_addr_subunit:Flash、モバイル、または SIM カードといった SMS のターゲットを指定するために使用します。 配信のプロパティで設定します。
-
message_payload:外部アカウントで有効にすると、長いメッセージは 1 つの PDU で送信され、テキストは
short_messageフィールドではなくこのフィールドで送信されます。
SUBMIT_SM_RESP submit-sm-resp
この PDU には、MT の ID が含まれます。 これは、着信 SR と一致させるのに役立ちます。
一部のプロバイダーは、SR を送信した後に SUBMIT_SM_RESP を送信します。 この動作を考慮するには、Adobe Campaign は 30 秒待ってから、不明な ID を持つ SR に無効なメッセージ ID を返します。
DELIVER_SM delivery-sm
この PDU は、SMSC から Adobe Campaign に送信されます。 MO または SR が含まれます。
ほとんどのフィールドは、対応する SUBMIT_SM と同じ意味を持ちます。 役立つフィールドのリストを次に示します。
-
source_addr:MO/SR のソースアドレス。 通常は電話番号です。
-
destination_addr:MO または SR を受け取ったショートコード。
-
esm_class:PDU が MO か SR かを識別するために使用します。
-
short_message:メッセージのテキスト。 SR の場合、SMPP プロトコル仕様の付録 B に記載されているデータが含まれます。 詳しくは、SR エラー管理を参照してください。
Adobe Campaign は、receipted_message_id オプションフィールドのメッセージ ID を読み取ることができます(設定によっては可)。
DELIVER_SM_RESP deliver-sm-resp
この PDU は、SR と MO を確認するために Adobe Campaign から送信されます。
Adobe Campaign Classic は、SR と MO がデータベースに挿入された後に、SR と MO に対する確認応答をおこないます。 正常な DELIVER_SM_RESP PDU が送信された場合でも、処理エラーが発生する場合があります。 この制限は、Adobe Campaign Classic のソフトウェアアーキテクチャが原因です。
ENQUIRE_LINK enquire-links
この PDU は、接続が有効であるかどうかを確認する目的でのみ使用します。 頻度は、プロバイダーのニーズに応じて設定する必要があります。
デフォルトの 60 秒は、外部アカウントで設定されているほとんどの設定と一致する必要があります。
ENQUIRE_LINK_RESP enquire-links-resp
この PDU は、接続が動作していることを確認します。
マルチパート SMS(長文 SMS) multipart
message_payload は、着信 SMS(MO)ではサポートされていません。つまり、MO は 160 文字に制限されています。スループットのキャップとウィンドウイング throughput-capping
ほとんどのプロバイダーでは、各 SMPP 接続にスループットの制限が必要です。 これは、外部アカウント内に多数の SMS を設定することで達成できます。 スループットのスロットルは接続ごとに発生します。有効なスループットの合計は、接続ごとの制限値に接続の合計数を乗じた値です。 これについては、同時接続の節で詳しく説明します。
最大スループットに達するには、最大送信ウィンドウを微調整する必要があります。 送信ウィンドウは、SUBMIT_SM_RESP を待たずに送信できる SUBMIT_SM PDU の数です。 詳しくは、送信ウィンドウの設定(Campaign v8 ドキュメント)の節を参照してください。
SR およびエラー管理(「付録 B」) sr-error-management
SMPP プロトコルは、RESP PDU に標準の同期エラーを定義しますが、SR のエラーコードは定義しません。 各プロバイダーは、独自のエラーコードと意味を使用します。
SMPP プロトコル仕様(167 ページ)の付録 B の節にレコメンデーションが記載されていますが、実際のエラーコードとその意味は記載されていません。
エラー管理に対応するために、Adobe Campaign の broadLog メッセージシステムを活用して、エラーとその重大度(ハード、ソフトなど)を適切にプロビジョニングできます。
上述したように、2 種類のエラーがあります。
- メッセージが SMSC に送信された直後に発生する
SUBMIT_SM_RESP内の同期応答。 - モバイルがメッセージを受信したとき、またはメッセージがタイムアウトしたときに、受信メッセージがずっと後に発生する場合。 この場合、SR にエラーが見つかります。
SR を受け取ると、short_message フィールドにステータスとエラーが表示されます(付録 B 準拠の実装例)。 PDU の short_message フィールドは、MT にテキストが含まれるので、テキストフィールドと呼ばれることがよくあります。 SR の場合は、テクニカル情報に加えて テキスト という名前のサブフィールドが含まれます。 これらの 2 つのフィールドは異なり、short_message には実際に テキスト フィールドと他の情報が含まれます。
Adobe Campaign Classic コネクタ(拡張 SMPP を除く)は、選択したプロバイダーに依存するハードコードされた動作を使用します。 汎用 SMPP は、成功とエラーを識別するだけで、詳細情報は含まれません。 配信ログには、保証されていない情報が含まれている場合があります。
SR テキストフィールドの形式 sr-text-field-format
この仕様では、SR テキストフィールドに対して次の形式を使用することをお勧めします。 これはサブフィールドのリストで、フィールド名と値を区切るコロンで区切られます。 フィールド名では、大文字と小文字が区別されません。
付録 B のレコメンデーションと一致する SR テキストフィールドの例:
id:1234567890 sub:001 dlvrd:001 submit date:1608011415 done date:1608011417 stat:DELIVRD err:000 Text:Hello Adobe world
id フィールドは、SUBMIT_SM_RESP PDU で受け取った ID で、MT の認識です。
sub および dlvrd は、配信されるパーツと配信されるメッセージの量を数えると考えられますが、broadLog システムはより的確で統合された情報を提供するので、Adobe Campaign はこの値を使用しません。
submit date および done date フィールドは、MT が送信されときと、SR がモバイルから送信されたときのタイムスタンプを示します。 タイムゾーンに関する問題や、日付が正しく設定されていないモバイルのタイムスタンプは、正しくないことが予想されます。
stat フィールドは、メッセージの状態を示すので重要です。 重要なステータスは DELIVRD、UNDELIV、REJECTD のみです。 DELIVRD ステータスは成功を示し、残りの 2 つはエラーを示します。 その他の値も可能ですが、通常は中間通知です(例えば、MT が携帯電話会社に到達したが、携帯電話に到達しなかった場合など)。 これらの中間通知は、Adobe Campaign では無視されます。
err フィールドには、プロバイダー固有のエラーコードが含まれます。 プロバイダーは、この値を解釈できるように、考えられるエラーコードの表とその意味を提供する必要があります。
最後に、テキストフィールドには通常、MT のテキストの先頭が含まれます。 これは Adobe Campaign では無視され、一部のプロバイダーは PII の漏洩やネットワーク帯域幅の消費を防ぐために送信しません。 このフィールドを読み込むと、テスト MT に一致する SR をより容易に見つけられるため、トラブルシューティングの際に使用できます。
Adobe Campaign Classic の拡張された汎用 SMPP における SR 処理の例 sr-processing
次の例では、付録 B のレコメンデーションに従った実装、外部アカウントのデフォルト値、成功した SMS MT を示します。
id:1234567890 sub:001 dlvrd:001 submit date:1608011415 done date:1608011417 stat:DELIVRD err:000 Text:Hello Adobe world
まず、id extraction 正規表現を適用して ID を抽出し、対応する MT に合わせて紐付けます。
次に、status extraction 正規表現と error code extraction 正規表現を適用してこれらのフィールドを抽出し、文字列に追加します。
broadLog メッセージは次の情報を使用して構築され、元の変更されていない文字列が参照用に追加されます。
SR ExampleProvider DELIVRD 000|MESSAGE=id:1234567890 sub:001 dlvrd:001 submit date:1608011415 done date:1608011417 stat:DELIVRD err:000 Text:Hello Adobe world
次に、メッセージは正規化され、MESSAGE 部分を削除して同じ stat および err コードを持つ複数のメッセージが一致するようにします。
SR ExampleProvider DELIVRD 000|#MESSAGE#
メッセージが broadLog メッセージテーブルにまだプロビジョニングされていない場合は、メッセージ全体を firstText とし、正規化されたメッセージを使用して新しいエントリが作成されます。 次に、コネクタは success と error 正規表現を使用して、成功か失敗かを判断します。
-
success正規表現と一致する場合は、成功と見なされます。 -
error正規表現と一致する場合は、メッセージはエラーとして認定されます。 -
この 2 つの正規表現に一致するものがない場合、SR は無視されます。 それは、Adobe Campaign で処理されない中間通知の可能性があります。
デフォルトでは、すべてのエラーはソフトエラーとしてプロビジョニングされます。 つまり、ハードエラーは手動でプロビジョニングする必要があります。
SMPP 外部アカウントパラメーター SMPP-parameters-external
SMPP プロトコルの実装は、それぞれ多くのバリエーションを持ちます。 互換性と適応性を向上させるために、SMPP コネクタの動作を変更する多くの設定を使用できます。 この節では、コネクタに対するすべてのパラメーターとその影響について説明します。
一般的なパラメーターとルーティング general-parameters-routing
このアカウントの MTA インスタンスの制限
SMPP プロバイダーへの接続を許可する MTA インスタンスの数に制限を設定できます。 このオプションを有効にすると、最大で使用できる MTA の数を指定できます。
このオプションを使用すると、接続数をより細かく制御できます。同時接続を参照してください。
実行中の MTA の数より大きい値を設定すると、すべての MTA は通常どおりに実行されます。このオプションは制限にすぎず、追加の MTA を生成できません。
接続数(プロバイダー要件など)を正確に制御する必要がある場合は、現在のデプロイメントで適切な数の MTA が実行されていても、常にこのオプションを設定することをお勧めします。 その後 MTA を追加した場合でも、接続制限は考慮されます。
接続設定 connection-settings
SMSC 実装名 smsc-implementation-name
SMSC 実装の名前を設定します。 プロバイダーの名前に設定する必要があります。 このフィールドに追加する内容については、管理者または配信品質チームにお問い合わせください。 このフィールドの役割は、SR エラー管理の節で説明しています。
MTA 子接続の数 number-mta-child
Adobe Campaign Classic では、MTA の子 1 つあたりの接続数を定義します。
Adobe Campaign Classic 拡張 SMPP コネクタは、MTA の子 1 つあたりの接続数を制御できます。 接続のグローバル制限を制御するには、MTA 子プロセスの数を制限する必要があります。これは、多くの場合、SMS 専用のミッドソーシングプラットフォームを持つことを意味します。
Adobe Campaign Classic の場合は、レシーバーとトランスミッターの接続数が異なる場合があります。
- トランスミッター接続 = MTA 子接続の数 * MTA 子プロセスの数 * MTA の数(自動応答が設定されている場合) MTA 子接続の数*
上記の推奨事項に従い、自動応答が有効な場合は、Adobe Campaign Classic SMS プロセスがより多くのトランスミッター接続を開きます。 これらの追加の接続は、自動応答の送信に使用されます。
- レシーバー接続 = MTA 子接続の数
自動応答を設定した場合、SMS プロセスはトランスミッター/レシーバーのペアを開き、トランスミッター接続数を増やします。 自動応答を設定しなかった場合は、レシーバー接続のみが開きます。
TLS over SMPP を有効にする enable-TLS
TLS を使用してプロバイダーに接続します。 接続が暗号化されます。 TLS 接続は OpenSSL ライブラリによって管理され、この接続で OpenSSL に適用されるものはすべて実行されます。
ログファイルの詳細 SMPP トレースを有効にする enable-verbose-log-file
この設定は、すべての SMPP トラフィックをログファイルにダンプします。 多くの場合、初期設定時にパラメーターを調整する必要があります。 コネクタのトラブルシューティングをおこなう場合は、この機能を有効にし、プロバイダーが確認するトラフィックと比較する必要があります。
Adobe Campaign Classic では、MT 関連のトラフィックの場合は MTA ログ、MO および SR 関連のトラフィックの場合は SMS ログにログ出力が記録されます。
受信者接続設定 receiver-connection
このセクションは、分離された 送信者 + 受信者 モードでのみ表示されます。
受信者に別のパラメーターを使用 receiver-parameters
このチェックボックスをオフにすると、トランスミッターとレシーバーに同じ設定が適用されます。
このチェックボックスをオンにすると、接続設定セクションの設定がトランスミッターに適用され、レシーバー接続設定がレシーバーに適用されます。
レシーバーサーバー、ポート、アカウント、パスワード、システムタイプ
これらの設定は、トランスミッター + レシーバーモードの場合にレシーバーに適用されます。 トランスミッター部分と同様に機能します。詳しくは、上記を参照してください。
SMPP チャネル設定 smpp-channel-settings
受信 MO をデータベースに格納 incoming-mo-storing
このオプションを有効にすると、着信 MO はデータベースの inSMS テーブルに格納されます。 このテーブルは、任意のワークフローのクエリアクティビティを使用して照会できます。
Adobe Campaign Classic は、常にすべての MO を inSMS データベースに格納するので、このオプションは使用できません。
SR 処理中に KPI のリアルタイム更新を有効にする real-time-kpi
このオプションを有効にすると、KPI はエラー SR を受け取ったときに、メイン配信ページでリアルタイムに更新されます。
欠点として、生成されるデータベースの競合が原因で、パフォーマンスが低下する場合があります。 このオプションを無効にすると、統計は syncfromexec ワークフローによって更新され、20 分ごとに実行されます。
Adobe Campaign Classic の KPI には全く異なるメカニズムがあるので、このオプションは使用できません。
ショートコード short-code
アカウントのメインのショートコードを示します。 このアカウントで複数のショートコードが使用されている場合、またはショートコードが不明な場合は、このフィールドを空欄にしてください。
ショートコードを指定すると、次の 2 つの機能において役立ちます。
-
ソース番号が指定されていない場合、プレビューにショートコードが表示されます。 携帯電話での実際の動作を反映します。
-
自動応答機能のブロックリスト設定では、特定のショートコードに対してのみ、強制隔離に送信されます。
SMSC 固有の設定 SMSC-specifics
これらの設定は、Adobe Campaign コネクタを SMPP 実装の特殊性のほとんどに適応させるための詳細設定です。
TLS 証明書チェックのスキップ skip-tls
TLS が有効な場合は、すべての証明書の確認をスキップします。
このオプションをオンにすると、接続はセキュリティで保護されなくなるため、実稼働環境では有効化しないでください。
このオプションは、デバッグやテストの際に役立ちます。
証明書の検証には、次の 3 つの異なる値のいずれかを選択できます。
- 完全な証明書の確認(ホスト名を含む)、デフォルト。
- ホスト名の検証をスキップ。
- 証明書の検証をスキップ。
成功/エラーステータスを判別するために適用された正規表現 regex-applied
不明な stat/err フィールドの組み合わせのメッセージが検出されると、これらの正規表現が stat フィールドに適用され、SR が成功したかエラーになったかが判別されます。 これらのどの範囲とも一致しない stat 値を持つ SR は無視されます。
デフォルトでは、DELIV で始まる stat 値(例:付録 B 内の DELIVRD)は、正常に配信されたと見なされ、エラーに一致するすべての stat 値(例:REJECTED、UNDELIV)はエラーと見なされます。
MT 受信確認の ID 形式 id-format-mt
これは、SUBMIT_SM_RESP PDU の message_id フィールドに返される ID の形式を示します。
-
変更しない:ID は、ASCII エンコードされたテキストとして、そのままデータベースに保存されます。 前処理やフィルタリングはおこなわれません。
-
10 進数:ID は、ASCII 形式の 10 進数である必要があります。 この設定を使用すると、先頭と末尾の空白文字と先頭の 0 が削除されます。
-
16 進数:ID は ASCII 形式の 16 進数です。先頭に 0x および末尾に h を付けません。 その後、ID を 10 進数に変換してから、データベースに保存します。
-
16 進文字列:ID は、ASCII エンコードされたテキストで、16 進数でエンコードされたバイト数の文字列である必要があります。 例えば、PDU には
0x34 0x31 0x34 0x32 0x34 0x33があり、これは ASCII「414243」に変換されます。 次に、この文字列が 16 進数のバイト文字列としてデコードされ、「ABC」が返されます。ID「ABC」をデータベースに格納します。
SR の ID 形式 id-format-sr
これは、SR 内の ID の Extraction 正規表現によって取り込まれる ID の形式を示します。 値は同じ意味を持ち、上記の MT の形式と同じ動作をします。
オプションフィールドの SR ID またはエラーコード
このオプションを選択すると、上記の正規表現で処理されるテキストにオプションフィールドのコンテンツが追加されます。 テキストは 0xTAG:VALUE の形式です。0xTAG は大文字のタグの 4 桁の 16 進値です(0x002E など)。
例えば、receipted_message_id フィールドに ID を取り込むとします。 この場合、このチェックボックスを有効にすると、次のテキストがステータスに追加されます。
0x001E:05e3299e-8d37-49d0-97c6-8e4fe60c7739
この例では、0x001E がオプションのフィールドのタグで、UUID がフィールドの値です。
この値を取り込むために、SR フィールドの ID の抽出正規表現に次の正規表現を設定できます。
\b0x001E:([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\b
サービス ID タグ
カスタム TLV を追加できます。 このフィールドは、タグの部分を設定します。 この値は、配信の詳細パラメーターにあるサービスまたはプログラム ID の値の配信ごとにカスタマイズできます。
この設定では、メッセージごとに 1 つの TLV オプションのみを追加できます。
MO に送信された自動返信 automatic-reply
この機能を使用すると、MO にすばやくテキストを返信し、ショートコードごとのブロックリスト送信処理を実行できます。
キーワード列と ショートコード 列は、自動応答をトリガーする条件を定義します。 両方のフィールドが一致する場合、MO が送信され、追加のアクションがトリガーされます。 ワイルドカードを指定するには、フィールドを空のままにする必要があります。 キーワードは、MO テキストの最初の英数字の単語に対して一致します。句読点や先頭のスペースは無視します。 つまり、キーワードフィールドにスペースを含めることはできません。また、1 つの単語である必要があります。
キーワード設定は接頭辞です。 例えば、「AD」を指定した場合、「AD」、「ADAPT」および「ADOBE」と一致します。 共通の接頭辞を持つ複数のキーワードがある場合は、キーワードは上から下に順に処理されるので、順序に注意する必要があります。
返信列は返信するテキストです。 このフィールドでは個人設定を使用できません。 このフィールドを空のままにすると、メッセージは返信されませんが、追加のアクションはトリガーされます。
追加のアクション列は、キーワードと ショートコード の両方が一致した場合に、追加のアクションを提供します。空のショートコードはすべてのショートコードと一致します。 強制隔離に送信したり、強制隔離から削除できます。値なしはテキストに返信します。 追加のアクションを指定し、返信フィールドを空のままにした場合、アクションは実行されますが、返信は送信されません。 強制隔離は、指定したショートコードに対してのみ適用されます。フィールドが空の場合は、すべてのショートコードに適用されます。
テーブル内のすべてのエントリは、1 つのルールが一致するまで、指定された順序で処理されます。 複数のルールが 1 つの MO に一致する場合、最上位のルールのみが適用されます。
SMS 配信テンプレートパラメーター sms-delivery-template-parameters
一部のパラメーターは、配信テンプレートごとに設定できます。
配信パラメーター delivery-parameters
送信モード transmission-mode
このフィールドは、送信する SMS の種類を次のように示します。通常または Flash メッセージ、モバイルまたは SIM カードに保存。
この設定は、SUBMIT_SM PDU の dest_addr_subunit オプションフィールドに送信されます。
-
「指定なし」の場合、PDU にオプションのフィールドは送信されません。
-
「Flash」の場合、値を 1 に設定します。 モバイル上でポップアップ表示され、メモリには保存されない Flash メッセージを送信します。
-
「通常」の場合、値を 0 に設定します。 通常のメッセージを送信します。
-
「モバイルに保存」の場合、値を 2 に設定します。 SMS を内部メモリに保存するよう電話に指示します。
-
「ターミナルに保存」の場合、値を 3 に設定します。 SIM カードに SMS を格納するよう電話に指示します。
有効期間 validity-period
有効期間は、SUBMIT_SM PDU の validity_period フィールドに送信されます。 日付は常に絶対 UTC 時刻形式で設定され、日付フィールドは「00+」で終わります。
拡張された汎用 SMPP コネクタ acc-extended-connector
矢印は、データフローを表します。
MTA は、配信パーツを送信する際に、MTA の子を生成します。 MTA 子プロセスの数は動的で、serverConf.xml の設定によって異なります。 各 MTA 子は、SMPP プロバイダーに接続するコネクタ CSmppConnectorWorker をインスタンス化します。 MTA 子が存続している限り接続は維持され、serverConf.xml でも設定できます。
SMS プロセスは SR のみを処理し、プロバイダーに接続し、接続を開いたままにします。 このプロセスは、10 分ごとに再接続し、新しい設定を再読み込みします。これは通常の操作です。
MT、SR、broadLog エントリの照合 matching-mt
中間テーブル nmsProviderMsgId は、broadLog と非同期にコミットされる前に、MT および SR データを一時的に格納するために使用されます。
nmsProviderMsgId テーブルには 3 つの列のグループがあります。
-
MT が送信され、確認応答がおこなわれた場合に更新される列:
iBroadLogId、iDeliveryId -
SR を受け取った場合に更新される列:
iMsgId、iStatus -
常に更新される列:
tsCreated、sProviderId
MT と SR の両方の処理が完了したら、broadLog 情報とステータス情報の両方を含む完全な行が必要です。
ここで iMsgId は nmsBroadLogMsg テーブルにリンクされ、完全なステータス/エラーメッセージを示します。
SMS プロセスは、完了行を毎分チェックし、非同期に処理します。
- 行全体が読み取られます。
- SMS プロセスは、配信マッピングに基づいて broadLog テーブルの名前を計算します。
- SMS プロセスは、broadLog テーブルをメッセージ ID とステータスで更新します。
スループットと並列接続
各 MTA の子は設定可能な数の接続を作成するので、MTA の子の数を制限すると接続数が制限されます。 MTA 子プロセスとトラフィックに相関関係があるので、これはある程度制御できますが、それでも予測できないことがあります。