Semua yang perlu diketahui, tidak ada yang tidak perlu.
Cara kerja SMPP, langkah demi langkah
ESME membuka koneksi TCP (idealnya TLS) dan mengirimkan bind_transceiver dengan system_id dan kata sandi. Setelah terikat, ia mengirimkan setiap pesan sebagai submit_sm PDU; SMSC memberikan konfirmasi dengan submit_sm_resp yang membawa message_id. Laporan pengiriman tiba secara asinkron sebagai deliver_sm PDU pada soket yang sama, yang dicocokkan kembali oleh message_id. enquire_link heartbeat setiap 30 detik menjaga sesi tetap aktif, dan unbind menutupnya dengan bersih. Lihat /answers/what-is-smpp dan /answers/what-is-esme.
Jenis dan versi bind
Sebuah ESME terikat sebagai Transmitter (hanya kirim), Receiver (hanya terima), atau Transceiver (keduanya dalam satu koneksi). Transceiver melalui SMPP 3.4 adalah standar modern. SMPP 5.0 menambahkan header Unicode-clean dan dukungan cell-broadcast tetapi hampir tidak ada yang menerapkannya — basis instalasinya sebagian besar adalah 3.4. BroadNet menerima ikatan SMPP 3.4; host, port, dan kredensial disediakan bersama akses uji coba Anda. Lihat /answers/smpp-3-4-vs-5-0.
Keuntungan dibandingkan REST API
Bind yang persisten tidak memakan biaya per pesan setelah ditetapkan, sehingga pada volume yang berkelanjutan, SMPP menggunakan sekitar sepersepuluh CPU dan seperempat bandwidth dibandingkan HTTPS per permintaan. Ini adalah satu-satunya cara untuk mencapai latensi p99 di bawah 100ms ke SMSC — tidak ada handshake HTTP pada jalur kritis — dan mengalirkan DLR kembali secara real-time. Lihat /compare/sms-api-vs-smpp.
Batasan dan kendala
SMPP adalah protokol biner yang harus Anda operasikan: manajemen bind, koneksi ulang dengan exponential backoff, pelacakan nomor urut, dan pencocokan DLR oleh message_id (dikembalikan sebagai hex pada beberapa SMSC, desimal pada yang lain) semuanya menjadi tanggung jawab Anda. Penanganan kesalahan sangat ringkas — kegagalan submit mengembalikan command_status numerik yang harus Anda dekode. Gunakan pencarian /tools/smpp-error-codes untuk mengubah kode-kode tersebut menjadi tindakan. Klien SMPP kelas produksi adalah basis kode ribuan baris; lebih baik membeli daripada membangun sendiri.
Kapan Anda sebaiknya memilih SMPP dibandingkan REST?
Pilih SMPP saat Anda menangani beberapa ratus pesan per detik atau membutuhkan bind persisten (kapasitas per bind disepakati dengan tim akun Anda), menjalankan OTP yang kritis terhadap latensi di mana setiap milidetik sangat berarti, atau berintegrasi ke dalam ekosistem operator/aggregator yang sudah menggunakan SMPP di mana-mana. Jika tidak, REST SMS API (tanpa batas laju API tetap per akun di BroadNet) lebih sederhana untuk dijalankan dan mengirimkan pesan melalui rute yang identik. Lihat /developers/smpp dan /products/sms-api.
Port apa yang digunakan SMPP, dan apakah masih digunakan pada tahun 2026?
SMPP tidak memiliki satu port khusus; 2775 adalah default plaintext historis dan operator umumnya mengekspos TLS pada port khusus (BroadNet menyediakan port TLS bersama akun Anda). Dan ya — SMPP sangat mutakhir: ini adalah protokol yang ditetapkan di bagian atas hampir setiap kontrak interkoneksi A2P, dan BroadNet menjalankan lebih dari 1.000 bind aktif di balik 1.000+ koneksi operator, membawa 300 juta+ pesan per hari dengan uptime 99,99% sejak 2003.