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 アドレスから発信されている場合は、アカウントマネージャー に連絡し、SMPP API トラフィックのブロードキャストを担当するユーザーのためにセーフリストに登録する送信元 IP アドレスのリストを提供します。NTT CPaaS SMPPサーバに接続するには、パラメータのバインドに記載されているホスト名を使用します。
セキュアな接続のために、暗号化された SSL/TLS エンドポイント smpp2.infobip.com:8887 にバインド要求を送信します。
バインド パラメーター
必要なパスワードの長さは、SMPP v3.4 プロトコル自体ではなく、SMPP ライブラリによって異なります。8 文字を超えるパスワードをサポートするライブラリを使用します。追加情報が必要な場合は、[Support](mailto:support@infobip.com] に連絡して、アカウントのパスワード強度ポリシーを調整してください。
| 名前 | 必須 | 説明 |
|---|---|---|
| system_id | はい | NTT CPaaSプラットフォームで作成されたユーザーのユーザー名。 |
| パスワード | はい | クライアントごとに提供されます。 |
| IPアドレス | はい | プライマリ: smpp3.infobip.com セカンダリ: smpp1.infobip.com SSL: smpp2.infobip.com アカウントごとに、ログが正しく表示されるように、データセンター(DC)の場所に基づいてホスト名を選択します(たとえば、インドネシアにあるアカウントには smpp-id1.infobip.comを使用します)。 |
| ポート | はい | 8888 (プライマリおよびセカンダリ) 8887 (SSL) |
| タイムアウト (キープアライブまたはメッセージ) | はい | 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 | ブーリアン |