Sun Java System Messaging Server 6 2005Q4 管理ガイド

SMS Gateway Server の動作方式

SMS Gateway Server は、モバイルで作成された SMS メッセージを正しい電子メールアドレスに一致させるメカニズムを提供することで、双方向 SMS をサポートします。この節には、SMS Gateway Server に関する次の項目があります。

SMS Gateway Server の機能

SMS Gateway Server は、同時に SMPP リレーとサーバーの両方として機能します。SMS Gateway Server は、各機能の複数の「インスタンス」を持つように設定できます。たとえば、3 つの SMPP リレーを持ち、それぞれが異なる TCP ポートまたはネットワークインタフェースを待機し、異なる SMPP サーバーにリレーを行うように設定できます。同様に、4 つの SMPP サーバーを持ち、それぞれが異なる TCP ポートとネットワークインタフェースの組み合わせを待機するように設定できます。

SMS Gateway Server は、SMS メッセージを電子メールに送信するためのゲートウェイプロファイルで設定します (ゲートウェイプロファイルはない場合もある)。各ゲートウェイプロファイルには、プロファイルと一致する宛先 SMS アドレス、SMS メッセージから宛先電子メールアドレスを抽出する方法、および SMS から電子メールへの変換プロセスのさまざまな特徴を記述します。SMPP リレーまたはサーバーを介して SMS Gateway Server に提示された各 SMS メッセージは、各プロファイルと照合されます。一致するものが見つかると、メッセージは電子メールにルーティングされます。

ゲートウェイプロファイルには、電子メールからモバイルに送信されたメッセージに応答してリモート SMSC が返した通知メッセージの処理方法も定義されています。

SMPP リレーおよびサーバーの動作

SMS Gateway Server は SMPP リレーとして機能しているとき、可能なかぎり透過的に動作します。ローカル SMPP クライアントからのすべての要求をリモート SMPP サーバーにリレーし、リモートサーバーの応答をリレーして返します。次の 2 つの例外があります。

一般的に、SMS Gateway Server は、生成した一意の SMS ソースアドレスがゲートウェイプロファイルのどれかに一致するように設定されることに注意してください。


注 –

SMS Gateway Server の SMPP リレーは、正規の Sun Java System SMPP クライアント、つまり Sun Java System Messaging Server の SMS チャネルとともに使用する場合のみを対象にしています。これ以外の SMPP クライアントとともに使用する場合は対象にしていません。


SMS Gateway Server が SMPP サーバーとして機能する場合、以下の 3 つの状況で SMS メッセージは電子メールに送信されます。

上記以外のすべての SMS メッセージは SMPP サーバーによって拒否されます。

リモート SMPP からゲートウェイ SMPP への通信

リモート SMPP クライアントは、プロトコルデータユニット (PDU) を使用してゲートウェイ SMPP サーバーに通信します。リモート SMPP クライアントは、要求 PDU を出します。ゲートウェイ SMPP サーバーはこの PDU に対して応答します。ゲートウェイ SMPP サーバーは同期的に動作します。ゲートウェイ SMPP サーバーは、要求 PDU への応答を完了してから、接続している SMPP クライアントからの次の要求 PDU を処理します。

表 D–19 に、ゲートウェイ SMPP サーバーが処理する要求 PDU およびゲートウェイ SMPP サーバーの応答を示します。

表 D–19 SMPP サーバーのプロトコルデータユニット

要求 PDU 

SMPP サーバーの応答 

BIND_TRANSMITTERBIND_TRANSCEIVERUNBIND

適切な応答 PDU とともに応答します。認証資格は無視されます。 

OUTBIND

ゲートウェイ SMPP サーバーは BIND_RECEIVER PDU を返します。提示された認証資格は無視されます。

SUBMIT_SMDATA_SM

宛先 SMS アドレスと一意の SMS ソースアドレスまたはゲートウェイプロファイルの SELECT_RE 設定の照合を試行します。どれも一致しない場合は、PDU は拒否され、ESME_RINVDSTADR エラーが発生します。

DELIVER_SM

宛先 SMS アドレスまたは履歴レコードにある受信確認済みメッセージ ID のどちらかの検出を試行します。どちらも一致しない場合は、ESME_RINVMSGID エラーを返します。

BIND_RECEIVER

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

SUBMIT_MULTI

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

REPLACE_SM

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

CANCEL_SM

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

QUERY_SM

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

QUERY_LAST_MSGS

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

QUERY_MSG_DETAILS

サポートされていません。ESME_RINVCMDID エラーとともに GENERIC_NAK PDU を返します。

ENQUIRE_LINK

ENQUIRE_LINK_RESP PDU を返します。

ALERT_NOTIFICATION

受け入れられますが、無視されます。 

SMS の返信および通知の処理

SMS Gateway Server は、SMPP リレーで中継した各 SMS メッセージの履歴レコードを管理しています。履歴データを使用する必要性は、電子メールメッセージを SMS に送信する場合、メッセージの差出人の電子メールアドレスを SMS ソースアドレスに変換することは一般的に不可能であることから生じています。SMS の返信および通知はすべて SMS ソースアドレスに送信されるため、問題が発生します。この問題は、自動的に生成された一意の SMS ソースアドレスをリレーされるメッセージで使用することで解消されます。それによって、リモート SMSC は SMS ソースアドレスをゲートウェイ SMPP サーバーに返すように設定されます。

履歴データは、メッセージ ID および生成された一意の SMS ソースアドレスのメモリー内のハッシュテーブルとして表されます。このデータは、関連する電子メールの発信データとともにディスクに保存されます。ディスクベースのストレージは一連のファイルです。各ファイルはトランザクションの HASH_FILE_ROLLOVER_PERIOD 秒 (デフォルトは 30 分) に相当します。各ファイルは、RECORD_LIFETIME 秒間 (デフォルトは 3 日間) 保持されます。履歴データのメモリー内とディスク上のリソース要件については、『Sun Java System Communications Services 6 2005Q4 配備計画ガイド』を参照してください。

各レコードは、次の 3 つのコンポーネントから成ります。

SMS 返信のルーティングプロセス

Gateway SMPP リレーおよびサーバーは、履歴レコードを使用して SMS 返信、SMS 通知、およびモバイルで作成されたメッセージを処理します。SMS メッセージが SMPP リレーまたはサーバーに提示されると、次のルーティングプロセスが実行されます。

  1. SMS 宛先アドレスが履歴レコードに照合され、過去に SMPP リレーが生成した一意の SMS ソースアドレスに一致するものがあるかどうか調べられます。一致するものが見つかった場合は、手順 6 へ進みます。

  2. 一致するものはないが、メッセージが SMS 通知 (SMPP DELIVER_SM PDU) である場合、受信確認済みメッセージ ID (存在する場合) が履歴レコードと照合されます。一致するものが見つかった場合は、手順 8 へ進みます。[SMS Gateway Server では、実際にメッセージを SMPP リレーまたは SMPP サーバーのどちらかに提示することができる。]

  3. 一致するものがない場合、宛先 SMS アドレスは各設定済みゲートウェイプロファイルの SELECT_RE オプション表現と照合されます。一致するものが見つかった場合は、手順 9 へ進みます。

  4. 一致するものがなく、SMS メッセージがゲートウェイ SMPP リレーに提示された場合、メッセージはリモート SMPP サーバーにリレーされます。

  5. 一致するものがなく、SMS メッセージがゲートウェイ SMPP サーバーに提示された場合、メッセージは無効なメッセージであると判断され、SMPP 応答 PDU 内にエラー応答が返されます。電子メールから SMS の場合、最終的に配信不能通知 (NDN) が生成されます。

  6. 一致する SMS ソースアドレスが見つかった場合は、SMS メッセージは返信であるか通知メッセージであるかどうかについてさらに調べられます。通知メッセージであるためには、受信確認済みメッセージ ID を持つ SUBMIT_SM PDU である必要があります。それ以外の場合は、返信であると見なされます。

  7. 返信である場合は、履歴レコードにある元の電子メール情報を使用して、SMS メッセージは電子メールメッセージに変換されます。

  8. 通知である場合は、RFC 1892 〜 1894 に従って、SMS メッセージは電子メール配信ステータス通知 (DSN) に変換されます。元の電子メールメッセージの ESMTP NOTIFY フラグ (RFC 1891) が使用されることに注意してください (たとえば、SMS メッセージは「成功」DSN であるが、元の電子メールメッセージは「失敗」通知のみを要求していた場合、この SMS 通知は破棄される)。

  9. 宛先 SMS アドレスが設定済みゲートウェイプロファイルの SELECT_RE オプションに一致した場合、SMS メッセージはモバイルで作成されたメッセージとして扱われ、そのゲートウェイプロファイルの PARSE_RE_n ルールに従って電子メールメッセージに変換し直されます。変換に失敗した場合、SMS メッセージは無効になり、エラー応答が返されます。