無料ツール · メッセージング
SMPP エラーコード・PDU デコーダー
command_status、配信レポートの stat と err フィールド、または 16 進数の PDU を貼り付けると、その意味と次に確認すべき点がわかります。
ブラウザ内で処理され、何もアップロードされません。
仕組みと制約
ブラウザ上で動作します。入力内容はお使いの端末に留まり、アップロードされることはありません。
デコーダーは、SMPP v3.4 と v5.0 のレイアウト(ヘッダー、コマンド、シーケンス番号、必須フィールド、オプションの TLV)に従って PDU を読み取ります。標準の command_status 値は平易な言葉で説明します。
配信レポートの err コードは標準化されておらず、SMSC ごとに独自のコードを使います。err コードの意味を表示する場合、それは汎用的で匿名化した対応付けであり、SMSC によって異なる旨を明記します。
データソースとライセンス
Operator names, brands and codes shown here are public reference data compiled from national regulators and other public sources. Their appearance does not indicate any partnership, endorsement, agreement or connectivity between unicomam.com and the named operators. All trademarks belong to their owners. Data is provided “as is” with no warranty; verify against the official source before relying on it for routing, billing or compliance decisions.
規制情報は参考情報であり、法的助言ではありません。規制当局へのリンクと「最終確認」日をご確認ください。
Decodes PDUs per the SMPP v3.4 / v5.0 protocol specifications (opens in a new tab) (SMPP Developers Forum / SMS Forum). DLR “err” codes are SMSC-specific; mappings shown are generic and anonymised.
SMPP のエラーと配信レポートの読み方
SMPP は 2 か所で問題を報告します。リクエストへのレスポンスに含まれる command_status は、そのリクエストがそもそも受け付けられたかどうかを示します。後から deliver_sm として送られる配信レポートは、端末に届くまでの間にメッセージに何が起きたかを示します。まず command_status を確認してください。そこでの拒否はリクエスト自体に関するもので、配信レポートが生成されるのは受け付けられたメッセージだけです。
command_status がゼロであれば、リクエストは受け付けられています。その他の標準値は原因を示します。bind(system_id やパスワードの誤り、または bind タイプで許可されていないコマンド)、アドレス(無効な宛先、またはルートが受け付けない TON や NPI)、メッセージそのもの(長さ、data_coding、esm_class)、あるいは接続が合意した速度を超えて送信した場合のスループットです。SMPP v5.0 はサービスタイプとセルブロードキャストのための値を追加し、一定の範囲を SMSC ベンダーに割り当てています。その意味はプラットフォームごとに異なります。
配信レポートには、DELIVRD、UNDELIV、EXPIRED、REJECTD などの stat 値と、理由を示す err コードが含まれます。stat 値はほとんどのプラットフォームで共通です。err コードは標準化されておらず、各 SMSC が独自のリストを持っています。多くの SMSC はモバイルネットワークが報告した原因をそのまま渡しますが、リストが SMSC ごとに異なるため、同じ番号でもルートによって意味が異なることがあります。汎用的な解釈は出発点として扱い、ルートの提供元にコード一覧を依頼してください。
手元に生の PDU しかない場合は、ヘッダーからコマンド、そのステータス、リクエストとレスポンスを対応付けるシーケンス番号がわかります。必須フィールドはコマンドごとに決まった順序で続き、オプションのパラメーター(TLV)が最後に置かれます。各 TLV はタグ、長さ、値を持ちます。command_length が一致しない場合や、フィールドが途中で終わっている場合は、通常、クライアントが PDU を正しく組み立てていないことを意味します。
ほとんどの A2P 接続は SMPP v3.4 を使います。v5.0 はコマンドとパラメーターを追加していますが、対応しているプラットフォームはより少数です。デコーダーは両方に対応し、ブラウザ内で動作し、貼り付けた内容をどこにも送信しません。