Bilmeniz gereken her şey, gereksiz hiçbir şey yok.
SMPP adım adım nasıl çalışır?
ESME, bir TCP (ideali TLS) bağlantısı açar ve system_id ile şifre içeren bind_transceiver gönderir. Bağlantı kurulduktan sonra her mesajı bir submit_sm PDU olarak iletir; SMSC ise message_id içeren bir submit_sm_resp ile onay verir. İletim raporları, aynı soket üzerinde deliver_sm PDU olarak asenkron bir şekilde gelir ve message_id ile eşleştirilir. Her 30 saniyede bir yapılan enquire_link kalp atışı (heartbeat) oturumu canlı tutar ve unbind oturumu düzgün bir şekilde kapatır. Bkz. /answers/what-is-smpp ve /answers/what-is-esme.
Bind türleri ve versiyonları
Bir ESME; Verici (sadece gönderim), Alıcı (sadece alım) veya Alıcı-Verici (tek bağlantıda her ikisi) olarak bağlanır. SMPP 3.4 üzerinden Alıcı-Verici bağlantısı modern standarttır. SMPP 5.0, Unicode uyumlu başlıklar ve hücre yayını desteği eklemiş olsa da neredeyse hiç kimse bunu kullanıma almadı — kurulu taban ezici bir çoğunlukla 3.4'tür. BroadNet SMPP 3.4 bağlantılarını kabul eder; ana makine, port ve kimlik bilgileri test erişiminizle birlikte sağlanır. Bkz. /answers/smpp-3-4-vs-5-0.
Bir REST API'ye kıyasla avantajları
Bir kez kurulduktan sonra, kalıcı bir bağ (persistent bind) mesaj başına herhangi bir maliyet getirmez; bu nedenle sürekli hacimlerde SMPP kullanımı, istek başına yapılan HTTPS'nin yaklaşık onda biri kadar CPU ve dörtte biri kadar bant genişliği tüketir. Bir SMSC'ye 100 ms altı p99 gecikme süresine ulaşmanın tek yolu budur — kritik yolda HTTP el sıkışması (handshake) yoktur — ve DLR'leri gerçek zamanlı olarak geri akıtır. Bkz. /compare/sms-api-vs-smpp.
Sınırlamalar ve dikkat edilmesi gerekenler
SMPP, işletmeniz gereken ikili (binary) bir protokoldür: bağlantı yönetimi, üstel geri çekilme (exponential backoff) ile yeniden bağlanma, sıra numarası takibi ve message_id tarafından yapılan DLR eşleştirmesi (bazı SMSC'lerde hex, bazılarında ondalık olarak döndürülür) tamamen sizin sorumluluğunuzdadır. Hata yönetimi oldukça kısıtlıdır — başarısız bir gönderim, sizin çözmeniz gereken sayısal bir command_status döndürür. Bu kodları bir eyleme dönüştürmek için /tools/smpp-error-codes sorgulamasını kullanın. Üretim seviyesinde bir SMPP istemcisi binlerce satırlık bir kod tabanıdır; sıfırdan inşa etmek yerine hazır bir tane satın alın.
REST yerine SMPP tercih etmeniz gereken durumlar nelerdir?
Saniyede birkaç yüz mesajlık sürekli hacimler sağlıyorsanız veya kalıcı bind gerekiyorsa (bind başına kapasite hesap ekibinizle kararlaştırılır), her milisaniyenin önemli olduğu gecikme kritik OTP çalıştırıyorsanız veya zaten her yerde SMPP kullanan bir operatör/agregatör ekosistemine entegre oluyorsanız SMPP'yi seçin. Aksi takdirde bir REST SMS API (BroadNet'te hesap başına sabit bir hız sınırı yoktur) çalıştırması daha basittir ve aynı rotalar üzerinden iletim sağlar. Bkz. /developers/smpp ve /products/sms-api.
SMPP hangi portu kullanıyor ve bu port 2026'da hâlâ kullanılıyor mu?
SMPP için ayrılmış tek bir port bulunmamaktadır; 2775 tarihsel olarak varsayılan düz metin portudur ve operatörler genellikle TLS'yi özel bir port üzerinden sunar (BroadNet, TLS portunu hesabınızla birlikte sağlar). Ve evet — SMPP tamamen günceldir: neredeyse tüm A2P ara bağlantı sözleşmelerinin en başında yer alan protokoldür ve BroadNet; 1.000'den fazla operatör bağlantısı arkasında 1.000'den fazla aktif bind ile 2003'ten bu yana %99,99 çalışma süresiyle günde 300M'den fazla mesaj taşımaktadır.