SMPP Protokolü, Toplu SMS ve SMS Çeşitleri

Batuhan Düzgün tarafından yayınlanmıştır 26. May 2012 04:03

Merhaba arkadaşlar aslında uzun süredir yazmak istediğim bir alan SMS gönderim sistemleri hakkında bir yazı ile karşınızdayım. Özellikle Toplu SMS gönderimi yapan bir firmanın elemanı olarak bu konularda işin alt yapısına dair edindiğim tecrübeleri, ilgilenen ve kaynak bulmakta zorlanan arkadaşlara eilimden geldiğince aktarmayı hedefliyorum. Özellikle bu noktada SMPP protokolü işin belkemiğidir. Yazılarımın çoğu bu protokol üzerine bilgiler vermek ve bu protokolü bire bir programlamaya yönelik olacaktır.

SMPP protokolü Toplu SMS (Bulk SMS) gönderimleri için endüstrileşmiş bir protokoldür. Geçerliliği yüksektir. SMPP protokolü de taban olarak HTTP, FTP, SMTP gibi protokoller gibi  TCP/IP kullanır. Bu yazıda SMS tipleri  ve sistemin genel olarak çalışmasına dair bilgiler verilecektir.

-          Standart  SMS Gönderim : Bu SMS gönderim yönteminde standart SMS gönderimi yapılmaktadır. SMS metni içinde sadece metinsel bir içerik vardır. GSM 7 Bit alfabesi kullanılır. Farklı alfabe tablolarıda kullanılabilir. Örneğin: UTF-8 , ISO-LATIN gibi karakter setleri olabilir.

-          Binary SMS Gönderim : Binary SMS gönderiminde bir XML içeriği hazırlanır. Bu XML içeriği WBXML olan ve her XML etiketinin byte kodu karşılığı olduğu bir binary dizisinden oluşur. Böyle bir XML yapısının oluşturulmasının sebebi eskiden mobil cihazlar için internet bant genişliğinin az olması nedeniyle aktarılacak olan XML’in boyutunun kısaltılması içindir. Binary SMS gönderimi WAP PUSH gönderim olarak geçer. Binary SMS gönderimi UDH(Başlık Bilgisi) + Body (Gövde) kısmından oluşur ve ESM Class içinde UDH biti 1 olarak set edilir. Alfabe olarak 8 Bit data kullanılır.

-          Unicode SMS Gönderim : Unicode SMS gönderiminde Arapça, Çince, Rusça gibi dillere ait alfabeler gönderilir. Data Coding decimal değer olarak  25 değerine sahiptir.  Hexadecimal (16 lık formattaki)  değeri 0x19 şeklindedir.

-          Flash SMS Gönderim : Flash SMS gönderim ile hızlı gönderimler ve uyarılması gereken durumlarda kullanılır. SMS telefon ekranına popup window  şeklinde düşer ve Inbox’a kaydedilmez. ESM Class değeri decimal olarak 3 veya 0 verilebilir. 3 verilirse SMS iletim sisteminin “Store And Forward” modda olacağını belirtir. 0 değeri ise varsayılan iletim modunu kullanılır.

-          Silent SMS Gönderim : Bu SMS gönderiminde kullanıcı telefonuna SMS geldiğini hiçbir şekilde anlamaz. SMS iletim raporu gönderen tarafa ulaşır. Özellikle Polisler tarafından takip için kullanılır. ESM Class değeri decimal olarak 64’tür, hexadecimal olarak ise 0x40 şeklindedir. Data coding değeri ise decimal olarak  4’ tür, hexadecimal olarak ise 0x04 şeklindedir.

  
Yukarıdaki şekildeki gibi SMS ile ilgili bütün veriler ve ayar parametreleri toplanır. Ardından hepsi byte dizisine dönüştürülür ve TCP üzerinden soket bağlantısıyla karşı uca iletilir. SMPP üzerinde açılmış olan Session nesnesi SMPP paketlerini gönderen bir TCP bağlantısı içerir. Bu sayede SMPP paketleri karşı uca iletilir. Senkron veya Asenkron iletim yöntemiyle gönderim yapılabilir.
 
SMPP Protokolünde BindSM komutu ile bağlantı isteği gönderilir. Eğer karşı birim isteğe olumlu yanıt verirse bağlantı kurulup Session açılmış olacaktır. BindSM başarılı olamdan SMPP protokolü paket gönderimini yapamaz. Aşağıda bu iletişime örnek verilmiştir.
  
Aşağıda SMPP protokolü haberleşme şeması verilmiştir. 
 
 
 
Yukarıdaki örnekte Client, Server yazılıma bir Bind isteği gönderiyor, Bind işlemi başarılı sonuç dönüyor ve ardından Client uygulaması SMS isteğini belirten SubmitSM paketlerini Server'a iletiyor. TCP bağlantısı bozulmadığı sürece iletişim devam edecektir. SMPP ile ilgili detaylar ve çok daha fazlası, SMPP protokolün kodlanmasıyla ilgili örnekler çok yakın zamanda eklenecektir.
 
Umarım faydalı bir makale olmuştur. Bir sonraki makalemde görüşmek dileğiyle ...
 
Batuhan Düzgün
Bilgisayar Mühendisi
Endüstri Mühendisi 
 
 

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

SMPP Protokolü

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  July 2018  >>
MoTuWeThFrSaSu
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

Yazıları geniş takvimde göster