SMPP (İngilizce Short Message Peer to Peer Protocol; Eşler Arası Kısa Mesaj Protokolü), telekominikasyonda, Harici Kısa Mesaj Varlıkları (), Yönlendirme varlıkları (RE) ve Mesaj Merkezleri (SMSC) arasında kısa mesaj verisinin transferi için, esnek bir veri iletişim arayüzünün sağlanması amacıyla tasarlanan, özgür, endüstri standardı olan bir protokoldür. Genellikle üçüncü partilerde(haber organizasyonları gibi) toplu mesaj iletimini sağlamak amacıyla kullanılır. Dolayısıyla, UMTS, IS-95 (CDMA), CDMA2000, ANSI-136 (TDMA) ve iDEN gibi GSM olmayan SMS protokollerine destek verir. SMPP, SS7 ağlarının dışında, kısa mesaj değiş tokuşu için yaygın olarak kullanılır.
Genellikle GSM operatörleri ve katma değerli servis sağlayıcılar arasında toplu SMS gönderimlerinde kullanılır. Bir dış SMS servisi () SMPP kullanarak (TCP/IP) veya X.25 üzerinden kendi uygulama katmanında bir Servis Mesajı Merkezi (SMSC) ile SMS alışverişinde bulunabilir.
Tarihçe
SMPP, başlangıçta küçük bir İrlanda şirketi olan ve daha sonra 'nın (firma parçalandı ve artık olarak biliniyor) satın aldığı tarafından tasarlandı. Protokol, aslen geliştirici Ian J Chambers tarafından, SMSC'nin mesaj iletimindeki işlevselliğini SS7 kullanmaksızın test edebilmek amacıyla yaratıldı. 1999 yılında, resmen Logica SMPP'yi, önceleri adı SMPP Geliştiricileri Forumu olan, sonra The SMS Forum olarak adlandırılan (artık forum dağıldı) topluluğa teslim etti. SMPP protokolünün teknik özellikleri, 2007 yılı sonunda kapanan SMS Forum'un web sitesi sayesinde halen mevcuttur. SMPP sahipliği, SMS Forum'un dağılması ile tekrar Acision firmasına döndü.
SMPP geliştirimine ara verildi ve SMS forumu dağıldı. SMS forum websitesiden:
Temmuz 31, 2007 - Kâr amacı gütmeyen, uluslararası kablosuz iletişim endüstrisinin yararı için, görevi SMS'i (Short Message Service) geliştirme, teşvik etme ve tanıtma olan SMS Forum, 27 Temmuz 2007 tarihi itibarıyla terhis ediliecektir.
Yapılan haberle ilişkili bir basın açıklaması, aynı zamanda bu sitenin kısa bir süre sonra askıya alınacağını uyarmıştı.Bunun aksine site uzun bir süre daha çoğu işlev ve özellikleri sunar durumdaydı (31 Ocak 2012'ye kadar).
SMS Forum'un eski teknik moderatörü ve ağ uzmanı olan Cormac Long'a göre site, çalışmasını durdurdu. SMPP tanımlamaları için Acision ile iletişim kurulması gerekir. Dosyalar ayrıca birçok diğer mevcut sitede mevcut olarak bulunabilir.
SMPP işlevleri
Protokol, PDU'ların (İngilizce Protocol Data Units, protokol veri birimlerinin veya paketlerin) istek/cevap çiftlerinin OSI 4. katmanı bağlantıları (TCP oturumu veya X.25 SVC3) üzerinden takas edilmesine dayanır. PDU'lar verimli olmaları için ikili olarak kodlanmışlardır. Veri takası eş zamanlı olarak yapılabilir: Her eş gönderilecek her PDU için cevap bekler. Asenkron olarak da yapılması mümkündür: çoklu istekler bekleme olmaksızın gönderilebilir ve diğer eş tarafından düzensiz sırayla kabul edilebilir. İsteklere pencere adı verilir; en iyi performans için, iletişimde bulunan taraflar aynı pencere boyutu ile yapılandırılmış olmalıdır.
Desteklediği işlemler
SMPP birçok çift-yönlü mesajlaşma fonksiyonunu destekler:
- Bir ya da birden fazla noktaya SMS gönderimi
- Servis Mesaj Merkezinden SMS alımı
- Gönderilen SMS'ler için durum sorgusu
- SMS gönderiminin iptali veya gönderimdeki SMS'in değiştirilmesi
- SMS gönderim zamanlaması
- Mesaj tipinin (datagram veya depola-ilet) belirlenmesi
- SMS öncelik belirlenmesi
- Veri kodlama tipinin belirlenmesi
- SMSler için geçerlilik süresi belilenmesi
- SMS ve servis eşleşmesi (mesela SMSle sesli mesaj uyarısı)
Bağlantı tipleri
SMPP 3 ayrı bağlantı tipi sunar
- Gönderici (Transmitter)
- Alıcı (Receiver)
- Gönderici&Alıcı (Transreceiver) (SMPP 3.4'ten itibaren)
Bir SMPP oturumu 5 ayrı durumda olabilir:
- OPEN: Bağlı ve oturum için bekliyor
- BOUND_TX: Gönderici (transmitter) olarak bağlı
- BOUND_RX: Alıcı (receiver) olarak bağlı. Bu oturum tipinde dış mesaj sistemi (ESME) mesaj merkezinden (SMSC) mesaj almaya hazırdır.
- BOUND_TRX: Hem alıcı hem gönderici. Genelde SMS iletim raporları da almak için kullanılır
- CLOSED : Oturum kapalı ve bağlı değil.
Fonksiyonlar
Dış SMS sistemi (ESME)'den SMSC'ye şu işlevler geçerlidir:
- submit_sm
- data_sm
- query_sm
- cancel_sm
- replace_sm
Bu fonksiyonların çağrılmasına karşılık SMSC cevap döner. (submit_sm_resp, cancel_sm_resp)
SMSC'den ESME'ye doğru geçerli işlevler ise :
- deliver_sm
- data_sm
SMPP Sürümleri
SMPP standardı zaman geçtikçe gelişti. Çokça kullanılan SMPP sürümleri şunlardır:
- SMPP 3.3 (en eski kullanılan sürümdür; sadece GSM'i destekler)
- SMPP 3.4 (Etiket Uzunluğu Değeri () parametreleri, GSM olmayan SMS teknolojileri ve telsiz alıcı-verici desteği eklenmiştir (tekil bağlantılar mesajları alabilir ve iletebilir))
- SMPP 5.0 (SMPP'nin en son versiyonudur; hücre yayını için destek eklenmiştir)
Geçerli sürüme, bağlama komutundaki interface_version parametresi ile aktarılır.
PDU Biçimi
SMPP PDU'su başlık ile başlar, gövde ile devam eder:
SMPP PDU | ||||
PDU Başlığı (zorunlu) | PDU Gövdesi (İsteğe Bağlı) | |||
Komut Genişliği | Komut Id | Komut Durumu | Dizi Id | PDU Gövdesi |
4 oktet | Genişlik = (Komut genişliği değeri - 4) oktet |
PDU Başlığı
Her PDU bir başlık ile başlar. Başlık 4 alandan oluşur, her alanın uzunluğu 4 oktettir:
- Komut Genişliği (command_length): PDU'nun tamamının uzunluğu (komut genişliğinin kendisi de dahil olmak üzere); 16 oktetten küçük veya eşit olmak zorundadır.
- Komut ID (command_id): SMPP işlemini (veya komutunu) tanımlar.
- Komut Durumu (command_status): İsteklerde her zaman 0 değerini alır; cevaplarda ise, işlemin sonucu ile alakalı bilgiyi tutar.
- Dizi ID (sequence_number): SMPP oturumu içerisindeki istekler ve cevaplar arasındaki ilişkiyi belirtmek için kullanılır; asenkron iletişime izin verir (pencereleme).
SMPP'de bütün sayısal alanlar ilk oktetin En Anlamlı Bit () olduğu, big endian sıralamayı kullanır.
Örnek
Aşağıdaki örnekte 60 oktetlik submit_sm PDU'nun ikili kodlanmış hali bulunmaktadır. 16'lık oktetler halinde gösterilen veri, bu PDU'nun başlığının ve gövdesinin tekil döküm halidir.
Bu, SMPP özelliklerinin, submit_sm PDU'sunun tanımıyla bölge bölge nasıl ikili kodlandığını gösteren en iyi örnektir.
İlk tırnak içindeki terimler bölümün adını(command_length gibi), virgülden sonraki parantez içerisindeki rakamlar ve/veya harfler bölgeye karşılık gelen değeri ((60)), sonraki oktetler ise bu değerlerin ikili karşılığını (... 00 00 00 3C) temsil eder.
PDU Başlığı
'command_length', (60) ... 00 00 00 3C 'command_id', (4) ... 00 00 00 04 'command_status', (0) ... 00 00 00 00 'sequence_number', (5) ... 00 00 00 05
PDU Gövdesi
'service_type', () ... 00 'source_addr_ton', (2) ... 02 'source_addr_npi', (8) ... 08 'source_addr', (555) ... 35 35 35 00 'dest_addr_ton', (1) ... 01 'dest_addr_npi', (1) ... 01 'dest_addr', (555555555) ... 35 35 35 35 35 35 35 35 35 00 'esm_class', (0) ... 00 'protocol_id', (0) ... 00 'priority_flag', (0) ... 00 'schedule_delivery_time', (0) ... 00 'validity_period', (0) ... 00 'registered_delivery', (0) ... 00 'replace_if_present_flag', (0) ... 00 'data_coding', (0) ... 00 'sm_default_msg_id', (0) ... 00 'sm_length', (15) ... 0F 'short_message', (Hello wikipedia) ... 48 65 6C 6C 6F 20 77 69 6B 69 70 65 64 69 61'
SMPP'nin Tuhaflıkları
Birçok kabuller olmasına rağmen, SMPP birkaç şüpheli özellik barındırır:
- GSM 7 bit varsayılan alfabesi için data_coding alanı boş olarak kalır.
- data_coding = 0 alanı için standartlaştırılmış bir anlam yoktur.
- Shift-JIS kodlaması desteği belirsizdir.
- submit_sm_resp alanı SMPP sürümleri arasında uyumsuzluk gösterir.
GSM 7 bit varsayılan alfabesi için data_coding alanı boştur
GSM 03.38'i temel alan SMPP 3.3'te data_coding değerleri bulunmasına rağmen, SMPP 3.4'ten beri GSM 7 bit varsayılan alfabesi için data_coding değeri yoktur.
data_coding = 0 alanı için standartlaştırılmış bir anlam yoktur
SMPP 3.4 ve 5.0'a göre data_coding = 0, "SMSC Varsayılan Alfabesi" anlamına gelir. SMSC'nin türüne ve yapılandırmasına bağlı olarak kodlamaya tabi tutulduğunda gerçekten bu anlamı verir.
Shift-JIS kodlaması desteği belirsizdir
CDMA'daki C.R1001 standardı kodlamalardan biri olan Shift-JIS Japonca için kullanılır. SMPP 3.4 ve 5.0 Japonca için üç kodlama tanımlar (JIS, ISO-2022-JP ve Genişletilmiş Kanji JIS), fakat hiçbiri CDMA MSG_ENCODING 00101 ile tanımlanamaz. SMPP'deki Shift-JIS'de mesajları taşımak için Piktogram kodlama (data_coding = 9) kullanılır.
submit_sm_resp alanı SMPP sürümleri arasında uyumsuzluk gösterir
submit_sm başarısız olduğunda SMSC, sıfır olmayan bir command_status'un değeri ve "empty" message_id ile bir submit_sm_resp döndürür.
Kaynakça
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
SMPP Ingilizce Short Message Peer to Peer Protocol Esler Arasi Kisa Mesaj Protokolu telekominikasyonda Harici Kisa Mesaj Varliklari Yonlendirme varliklari RE ve Mesaj Merkezleri SMSC arasinda kisa mesaj verisinin transferi icin esnek bir veri iletisim arayuzunun saglanmasi amaciyla tasarlanan ozgur endustri standardi olan bir protokoldur Genellikle ucuncu partilerde haber organizasyonlari gibi toplu mesaj iletimini saglamak amaciyla kullanilir Dolayisiyla UMTS IS 95 CDMA CDMA2000 ANSI 136 TDMA ve iDEN gibi GSM olmayan SMS protokollerine destek verir SMPP SS7 aglarinin disinda kisa mesaj degis tokusu icin yaygin olarak kullanilir Genellikle GSM operatorleri ve katma degerli servis saglayicilar arasinda toplu SMS gonderimlerinde kullanilir Bir dis SMS servisi SMPP kullanarak TCP IP veya X 25 uzerinden kendi uygulama katmaninda bir Servis Mesaji Merkezi SMSC ile SMS alisverisinde bulunabilir TarihceSMPP baslangicta kucuk bir Irlanda sirketi olan ve daha sonra nin firma parcalandi ve artik olarak biliniyor satin aldigi tarafindan tasarlandi Protokol aslen gelistirici Ian J Chambers tarafindan SMSC nin mesaj iletimindeki islevselligini SS7 kullanmaksizin test edebilmek amaciyla yaratildi 1999 yilinda resmen Logica SMPP yi onceleri adi SMPP Gelistiricileri Forumu olan sonra The SMS Forum olarak adlandirilan artik forum dagildi topluluga teslim etti SMPP protokolunun teknik ozellikleri 2007 yili sonunda kapanan SMS Forum un web sitesi sayesinde halen mevcuttur SMPP sahipligi SMS Forum un dagilmasi ile tekrar Acision firmasina dondu SMPP gelistirimine ara verildi ve SMS forumu dagildi SMS forum websitesiden Temmuz 31 2007 Kar amaci gutmeyen uluslararasi kablosuz iletisim endustrisinin yarari icin gorevi SMS i Short Message Service gelistirme tesvik etme ve tanitma olan SMS Forum 27 Temmuz 2007 tarihi itibariyla terhis ediliecektir Yapilan haberle iliskili bir basin aciklamasi ayni zamanda bu sitenin kisa bir sure sonra askiya alinacagini uyarmisti Bunun aksine site uzun bir sure daha cogu islev ve ozellikleri sunar durumdaydi 31 Ocak 2012 ye kadar SMS Forum un eski teknik moderatoru ve ag uzmani olan Cormac Long a gore site calismasini durdurdu SMPP tanimlamalari icin Acision ile iletisim kurulmasi gerekir Dosyalar ayrica bircok diger mevcut sitede mevcut olarak bulunabilir SMPP islevleriProtokol PDU larin Ingilizce Protocol Data Units protokol veri birimlerinin veya paketlerin istek cevap ciftlerinin OSI 4 katmani baglantilari TCP oturumu veya X 25 SVC3 uzerinden takas edilmesine dayanir PDU lar verimli olmalari icin ikili olarak kodlanmislardir Veri takasi es zamanli olarak yapilabilir Her es gonderilecek her PDU icin cevap bekler Asenkron olarak da yapilmasi mumkundur coklu istekler bekleme olmaksizin gonderilebilir ve diger es tarafindan duzensiz sirayla kabul edilebilir Isteklere pencere adi verilir en iyi performans icin iletisimde bulunan taraflar ayni pencere boyutu ile yapilandirilmis olmalidir Destekledigi islemlerSMPP bircok cift yonlu mesajlasma fonksiyonunu destekler Bir ya da birden fazla noktaya SMS gonderimi Servis Mesaj Merkezinden SMS alimi Gonderilen SMS ler icin durum sorgusu SMS gonderiminin iptali veya gonderimdeki SMS in degistirilmesi SMS gonderim zamanlamasi Mesaj tipinin datagram veya depola ilet belirlenmesi SMS oncelik belirlenmesi Veri kodlama tipinin belirlenmesi SMSler icin gecerlilik suresi belilenmesi SMS ve servis eslesmesi mesela SMSle sesli mesaj uyarisi Baglanti tipleriSMPP 3 ayri baglanti tipi sunar Gonderici Transmitter Alici Receiver Gonderici amp Alici Transreceiver SMPP 3 4 ten itibaren Bir SMPP oturumu 5 ayri durumda olabilir OPEN Bagli ve oturum icin bekliyor BOUND TX Gonderici transmitter olarak bagli BOUND RX Alici receiver olarak bagli Bu oturum tipinde dis mesaj sistemi ESME mesaj merkezinden SMSC mesaj almaya hazirdir BOUND TRX Hem alici hem gonderici Genelde SMS iletim raporlari da almak icin kullanilir CLOSED Oturum kapali ve bagli degil FonksiyonlarDis SMS sistemi ESME den SMSC ye su islevler gecerlidir submit sm data sm query sm cancel sm replace sm Bu fonksiyonlarin cagrilmasina karsilik SMSC cevap doner submit sm resp cancel sm resp SMSC den ESME ye dogru gecerli islevler ise deliver sm data smSMPP Surumleri SMPP standardi zaman gectikce gelisti Cokca kullanilan SMPP surumleri sunlardir SMPP 3 3 en eski kullanilan surumdur sadece GSM i destekler SMPP 3 4 Etiket Uzunlugu Degeri parametreleri GSM olmayan SMS teknolojileri ve telsiz alici verici destegi eklenmistir tekil baglantilar mesajlari alabilir ve iletebilir SMPP 5 0 SMPP nin en son versiyonudur hucre yayini icin destek eklenmistir Gecerli surume baglama komutundaki interface version parametresi ile aktarilir PDU BicimiSMPP PDU su baslik ile baslar govde ile devam eder SMPP PDUPDU Basligi zorunlu PDU Govdesi Istege Bagli Komut Genisligi Komut Id Komut Durumu Dizi Id PDU Govdesi4 oktet Genislik Komut genisligi degeri 4 oktetPDU Basligi Her PDU bir baslik ile baslar Baslik 4 alandan olusur her alanin uzunlugu 4 oktettir Komut Genisligi command length PDU nun tamaminin uzunlugu komut genisliginin kendisi de dahil olmak uzere 16 oktetten kucuk veya esit olmak zorundadir Komut ID command id SMPP islemini veya komutunu tanimlar Komut Durumu command status Isteklerde her zaman 0 degerini alir cevaplarda ise islemin sonucu ile alakali bilgiyi tutar Dizi ID sequence number SMPP oturumu icerisindeki istekler ve cevaplar arasindaki iliskiyi belirtmek icin kullanilir asenkron iletisime izin verir pencereleme SMPP de butun sayisal alanlar ilk oktetin En Anlamli Bit oldugu big endian siralamayi kullanir OrnekAsagidaki ornekte 60 oktetlik submit sm PDU nun ikili kodlanmis hali bulunmaktadir 16 lik oktetler halinde gosterilen veri bu PDU nun basliginin ve govdesinin tekil dokum halidir Bu SMPP ozelliklerinin submit sm PDU sunun tanimiyla bolge bolge nasil ikili kodlandigini gosteren en iyi ornektir Ilk tirnak icindeki terimler bolumun adini command length gibi virgulden sonraki parantez icerisindeki rakamlar ve veya harfler bolgeye karsilik gelen degeri 60 sonraki oktetler ise bu degerlerin ikili karsiligini 00 00 00 3C temsil eder PDU Basligi command length 60 00 00 00 3C command id 4 00 00 00 04 command status 0 00 00 00 00 sequence number 5 00 00 00 05 PDU Govdesi service type 00 source addr ton 2 02 source addr npi 8 08 source addr 555 35 35 35 00 dest addr ton 1 01 dest addr npi 1 01 dest addr 555555555 35 35 35 35 35 35 35 35 35 00 esm class 0 00 protocol id 0 00 priority flag 0 00 schedule delivery time 0 00 validity period 0 00 registered delivery 0 00 replace if present flag 0 00 data coding 0 00 sm default msg id 0 00 sm length 15 0F short message Hello wikipedia 48 65 6C 6C 6F 20 77 69 6B 69 70 65 64 69 61 SMPP nin TuhafliklariBircok kabuller olmasina ragmen SMPP birkac supheli ozellik barindirir GSM 7 bit varsayilan alfabesi icin data coding alani bos olarak kalir data coding 0 alani icin standartlastirilmis bir anlam yoktur Shift JIS kodlamasi destegi belirsizdir submit sm resp alani SMPP surumleri arasinda uyumsuzluk gosterir GSM 7 bit varsayilan alfabesi icin data coding alani bostur GSM 03 38 i temel alan SMPP 3 3 te data coding degerleri bulunmasina ragmen SMPP 3 4 ten beri GSM 7 bit varsayilan alfabesi icin data coding degeri yoktur data coding 0 alani icin standartlastirilmis bir anlam yoktur SMPP 3 4 ve 5 0 a gore data coding 0 SMSC Varsayilan Alfabesi anlamina gelir SMSC nin turune ve yapilandirmasina bagli olarak kodlamaya tabi tutuldugunda gercekten bu anlami verir Shift JIS kodlamasi destegi belirsizdir CDMA daki C R1001 standardi kodlamalardan biri olan Shift JIS Japonca icin kullanilir SMPP 3 4 ve 5 0 Japonca icin uc kodlama tanimlar JIS ISO 2022 JP ve Genisletilmis Kanji JIS fakat hicbiri CDMA MSG ENCODING 00101 ile tanimlanamaz SMPP deki Shift JIS de mesajlari tasimak icin Piktogram kodlama data coding 9 kullanilir submit sm resp alani SMPP surumleri arasinda uyumsuzluk gosterir submit sm basarisiz oldugunda SMSC sifir olmayan bir command status un degeri ve empty message id ile bir submit sm resp dondurur Kaynakca