DLR

配信レシート(DLR)は、送信したSMSについて、配信済み、期限切れ、拒否、不明など、モバイルネットワークのステータスを報告します。

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

配信レシート(DLR)は、送信されたSMSに対してモバイルネットワークが返すステータスです。これはネットワーク上のステータスであり、人がメッセージを読んだことの証明ではありません。

コードはネットワークごとに異なるため、各状態を社内のステータスに対応付けてください。

レシートと状態

SMSCは送信を受け付けるとメッセージIDを返し、その後レシートを非同期で送ります。照合は送信順ではなくIDで行います。状態はSMPPのmessage_stateのセット(accepted、enroute、delivered、expired、deleted、undeliverable、rejected、unknown)であり、3GPP TS 23.040のステータスレポートの値ではありません。すべてのネットワークがすべての状態を送るわけではありません。中間状態が省略されることもあります。レシートが失われたり、状態が変換されたりするルートもあります。

レシートの発生元

  1. アプリケーション
  2. SMPPゲートウェイ
  3. SMSC
  4. HLR / HSS
  5. MSC / MME
  6. 端末
  7. 配信確認
アプリケーションはSMPPゲートウェイとSMSCを通じて送信します。配信レシートは最後のステップとして強調表示されています。
テキストによる説明

アプリケーションはSMPPゲートウェイに送信し、ゲートウェイがそれをSMSCに渡します。続いて、端末の前にホームロケーションレジスタとMSCが示されます。配信レシートは、強調表示された最後のステップです。

状態が証明しないこと

delivered(配信済み)の状態は、メッセージが端末に届いたとネットワークが判断していることを意味します。端末がそれを表示したことや、内容が欠けずに届いたことを証明するものではありません。送信者IDがそのまま残らない場合もあります。連結メッセージでは、レシートがセグメント単位またはメッセージ単位で届くため、照合ではそのルートの方式を把握しておく必要があります。SMPPデコーダーで、レシートの生のフィールドを確認できます。

よくある質問

DLRがメッセージより遅れるのはなぜですか?

レシートは受信側のネットワークから返されるため、メッセージより遅れることがあります。再試行や端末のオフラインも遅延の原因になります。

unknown(不明)とはどういう意味ですか?

ネットワークが最終状態を判断できなかったことを意味します。多くの場合、下流のリンクが状態を返さなかったことが原因です。配信済みではなく、未解決として扱ってください。

失敗したら再試行すべきですか?

一時的な到達不能など、変化し得る状態の場合に限ります。無効な番号に再試行しても、配信は改善されず、送信試行が増えるだけです。

詳しく見る

出典

  1. 3GPP TS 23.040: ショートメッセージサービス(SMS)の技術的実現(ステータスレポート)
  2. SMPP v3.4仕様、セクション5.2.28 message_state