SMPP仕様
ショートメッセージピアツーピア(SMPP) は、SMSアプリケーションシステムとSMSセンター(SMSC(Short Message Service Center))の間でSMSメッセージを交換するために電気通信業界で使用されるオープンな業界標準プロトコルです。
アプリケーションと NTT CPaaS SMPP サーバー間の接続は SMPP バージョン 3.4 (opens in a new tab) です (バージョン 3.3 と 5.0 はサポートされていません)。
サポートされる SMPP 機能
SMPP トラフィックのセキュリティ
適切なアカウント管理と安全な SMPP API トラフィック ブロードキャストを確保するために、両方の目的で同じユーザーを使用しないことをお勧めします。代わりに、SMPP API トラフィック ブロードキャスト専用のクレデンシャルを持つ専用ユーザーが必要です。
SMPP トラフィックは通常、静的 IP アドレスを介して送信されるため、Support (opens in a new tab) に連絡し、SMPP API トラフィックのブロードキャストを担当するユーザーに許可する必要がある IP アドレスのリストを提供する必要があります。暗号化されたSSL/TLSエンドポイントsmpp2.infobip.com:8887にバインド要求を送信して、安全な接続を確立します。
バインド パラメーター
必要なパスワードの長さは、SMPP v3.4 プロトコル自体ではなく、SMPP ライブラリによって異なります。パスワードの長さが 8 文字を超えるセットアップを可能にするライブラリを使用することをお勧めします。追加情報が必要な場合は、[Support](https://support.nttcpaas.com/hc/ja/requests/new]に連絡して、アカウントのパスワード強度ポリシーを調整してください。 (opens in a new tab)
| 名前 | 必須 | 説明 |
|---|---|---|
| system_id | はい | NTT CPaaSプラットフォームで作成されたユーザーのユーザー名。 |
| パスワード | はい | クライアントごとに提供されます。 |
| IPアドレス | はい | プライマリ: smpp3.infobip.com セカンダリ: smpp1.infobip.com SSL:smpp2.infobip.com アカウントごとに、データセンター (DC) の場所に基づいて IP を選択し、ログが正しく表示されるようにします (たとえば、インドネシアにあるアカウントには smpp-id1.infobip.comを使用します)。 |
| ポート | はい | 8888 (プライマリおよびセカンダリ) 8887 (SSL) |
| タイムアウト (キープアライブまたは msg) | はい | 30秒 |
| system_type | いいえ | オプション |
送信機、受信機、またはトランシーバーとしてバインドできます。配信レポートを受信するには、トランシーバー またはレシーバー としてバインドする必要があります。
配送レポートを受け取るのは、ルートが配送レポートを提供している場合のみです。配信レポートは、受信可能な現在利用可能なすべてのセッション(トランシーバーまたはレシーバー)に均等に送信されます。
デフォルトでは、4 セッション でバインドできます。インターネット速度以外にスループット (TPS) の制限はありません。
PDUタイプ
bind_transmitterbind_receiverbind_transceiverunbind(バインド解除)submit_smdeliver_smenquire_link
データ・コーディング・スキーム
DCS を 0 または 1 に設定すると、IA5 / GSM7 コーディング スキームがメッセージに適用されます (GSM7 は既定の NTT CPaaS SMSC(Short Message Service Center) アルファベットです)。
Latin1 (ISO-8859-1) の場合は DCS = 3 を、Unicode/UCS-2 (ISO/IEC-10646) としてメッセージを送信する場合は DCS = 8 を設定します。
スケジュールされた配信
スケジュールされた配信は、相対時間形式 を使用した SMPP プロトコルでサポートされます。
070605040302100R
たとえば、メッセージが今から 7 年、6 か月、5 日、4 時間、3 分、2 秒、10 分の 1 秒後に配信されることを意味します。
コマンドの状態
システムへの各要求は、command_statusを含む SMPP v 3.4 標準に従って確認応答を受け取ります。NTT CPaaS固有のものを含め、最も関連性の高いコマンドの状態を次の表に示します。
| command_status | PDU | Description |
|---|---|---|
| 0x0000000E | bind_resp | 無効な資格情報 |
| 0x00000022 / 34 | submit_sm_resp | ネットワークがカバーされていない |
| 0x000000FF / 255 | submit_sm_resp | アカウントの残高が不足しています |
| 0x0000000a | submit_sm_resp | 無効な送信元アドレス |
| 0x0000000b | submit_sm_resp | 無効な宛先アドレス |
| 0x0000000c | submit_sm_resp | メッセージ ID が重複しているか無効です |
| 0x000004a1 | submit_sm_resp | システムエラーまたはチャネルが無効になっています |
| 0x0000009F | submit_sm_resp | 省略可能なパラメーターの長さが無効です |
配信レポートの形式
次の形式の配信レポートは、deliver_sm PDU の短いメッセージ フィールドで返されます。
id:{message_id} sub:{message_sub} dlvrd:{message_dlvrd}
submit date:{message_submit_date} done date:{message_done_date}
stat:{message_stat} err:{message_err}
配信ステータス
DELIVRD(デリヴルド)期限切れアンデリブ承認済み不明ENROUTE却下されました
GSMエラーコード
GSM エラー コードは DLR で返され、メッセージの状態 (中間または最終) を示します。エラー コードは、配信情報の一部としてshort_messageで返されるか、(NTT CPaaS スペシャリストによって有効になっている場合は)オプションの TLV 0x423で返されます。
考えられる エラー コード を確認します。
フラッシュ通知
NTT CPaaS SMPP アカウントを使用して Flash 通知を送信できます。このような通知は、到着時にすぐに携帯電話の画面に表示され、デバイスのメモリには保存されません。デフォルトのsystem_idとパスワードを使用して、データコーディングを 16(Unicode の場合は 24)に設定してメッセージを送信し、Flash 通知を送信します。
長いSMS機能は、フラッシュ通知ではサポートされていません。配信レポートは、DeliverSM PDUを使用して送信されます。
番号検索
NTT CPaaS SMPPアカウントを使用して、番号検索データを要求できます。番号検索を使用するには、デフォルトのsystem_idとパスワードを使用し、「バインドPDU」でsystem_type = HLRを設定します。
SubmitSM PDU は、必要な宛先アドレスに設定された destAddress パラメータを使用して、番号番号検索要求を送信するために使用されます。他のすべてのパラメータ(srcAddress、TON/NPIなど)は無視されます。
NTT CPaaS 番号検索 サブシステムは、message_id 参照を含む通常の SubmitSMResp を使用して応答します。
NTT CPaaS システムで番号検索要求が確定すると、必須の destAddress の IMSI(International Mobile Subscriber Identity) 、または失敗した場合は エラー コード 、パッケージに応じて追加の オプションの情報フィールド を含む短いメッセージを含む DeliverSM PDU を受け取ります。
オプションの情報フィールド | 種類 | 16 進 | Decimal関数 |
|---|---|---|---|
| 元のネットワーク名 | TLVString (英語) | 0x1412 | 5138 |
| 元のネットワーク接頭辞 | TLVString (英語) | 0x140B | 5131 |
| 元の国 | TLVString (英語) | 0x1422 | 5154 |
| 元の国コード | TLVString (英語) | 0x1423 | 5155 |
| 元の国の接頭辞 | TLVString (英語) | 0x1424 | 5156 |
| 移植されたネットワーク名 | TLVString (英語) | 0x1413 | 5139 |
| 移植された国のプレフィックス | TLVString (英語) | 0x1442 | 5186 |
| 移植されたネットワーク接頭辞 | TLVString (英語) | 0x143e | 5182 |
| 移植されたネットワークの国名 | TLVString (英語) | 0x143f | 5183 |
| 番号が移植されている | TLVInt | 0x1421 | 5153 |
| ローミング ネットワーク名 | TLVString (英語) | 0x1414 | 5140 |
| ローミング ネットワーク プレフィックス | TLVString (英語) | 0x1419 | 5145 |
| ローミング国名 | TLVString (英語) | 0x1415 | 5141 |
| ローミング国コード | TLVString (英語) | 0x1417 | 5143 |
| ローミング国のプレフィックス | TLVString (英語) | 0x1420 | 5152 |
| MCCMNCの | TLVString (英語) | 0x1416 | 5142 |
| メッセージあたりの価格 (互換性の理由から 100 を掛けた値) | TLVInt | 0x1418 | 5144 |
| HLR の提供 | TLVString (英語) | 0x1409 | 5129 |
| 番号は正しいですか | TLVInt | 0x1425 | 5157 |
追加のオプションの情報フィールド | 種類 | 16 進 | Decimal関数 |
|---|---|---|---|
| IMSI(International Mobile Subscriber Identity) | 10月 | 0x1403 | 5123 |
番号検索要求が成功した場合、DeliverSM は次のようになります (IMSI(International Mobile Subscriber Identity) 219101100935850)。
addr: 0 0 38591xxxxxxx
addr: 0 0 0000000000
msg: id:40072910491427628 sub:001 dlvrd:001 submit date:1007291049 done date:1007291049 stat:DELIVRD err:000
IMSI:219101100935850 MSC:38591016 HLR:38591xxxxxxx ORN:VipNet PON:VipNet RON:VipNet ROC:HR MCCMNC:21910
opt: (oct: (tlv: 1059) 030000) (byte: (tlv: 1063) 2) (str: (tlv: 30) 40072910491427628) (str: (tlv: 5129)38591xxxxxxx) (str: (tlv: 5138) VipNet) (str: (tlv: 5139) VipNet) (str: (tlv: 5140) VipNet) (str: (tlv:5141) Croatia ) (str: (tlv: 5143) HR) (str: (tlv: 5142) 21910) (int: (tlv: 5144) 1) (str: (tlv: 5145) 91) (str: (tlv: 5152) 385) (int: (tlv: 5153) 1) (str: (tlv: 5154) Croatia ) (str: (tlv: 5155) HR) (str: (tlv: 5156) 385) (int: (tlv: 5157) 1) ) (extraopt: (oct: (tlv: 5123) 323139313031313030393335383530) )
エラーが発生した場合、DeliverSM は次のようになります。
addr: 0 0 38591xxxxxxx
addr: 0 0 0000000000
msg: id:40072910491419819 sub:001 dlvrd:001 submit date:1007291049 done date:1007291049 stat:UNDELIV err:001
IMSI: MSC: ORN:VipNet MCCMNC:
opt: (oct: (tlv: 1059) 030001) (byte: (tlv: 1063) 5) (str: (tlv: 30) 40072910491419819) (str: (tlv: 5138) VipNet) (str: (tlv: 5142) ) (int: (tlv: 5144) 1) (int: (tlv: 5153) 0) (str: (tlv: 5154) Croatia ) (str: (tlv: 5155) HR) (str: (tlv: 5156) 385) (int: (tlv: 5157) 1) )
URL 短縮
次の TLV を使用して、SMPP 接続を URL 短縮機能と組み合わせて使用できます。
省略可能なフィールド | 種類 | 16 進 | Decimal関数 | 価値 | 備考 |
|---|---|---|---|---|---|
| URLの短縮 | TLVString (英語) | 0x1494 | 5268 | 任意の値で有効になります | カスタム ドメイン TLV セットが設定されている場合は不要 |
| カスタムドメイン | TLVString (英語) | 0x1495 | 5269 | カスタムドメインでは、http:// または https:// は必要ありません | |
| プロトコルの削除 | TLVString (英語) | 0x1496 | 5270 | ブーリアン |