SMPP

2011-10-14 25 views
7

'da ileti sınıfı nasıl doğru şekilde temsil edilir SMPP'de sms sınıflarının doğru şekilde nasıl temsil edildiğini anlamaya çalışıyorum. Ancak şu ana kadar standart ve dokümantasyon tarafından tamamen kafam karıştı. Ekranda SMPP

  • Class1 gösterilmektedir Flaş sms,: Normal sms olarak

    biz

    • Class0 sahip cihazda dahili sim depolanan veya edilecek Normal Sms

    SMPP spesifikasyonlarına baktığımda, ilk olarak, numaralı çalışmasında data_coding parametresini buluyorum; bu, MAP aracılığıyla gönderilen DCS'yi ayarlamak için kullanılır. Bunu anladığım kadarıyla, mesaj sınıfını açıkça ayarlamak istiyorsak, bu parametrenin ilk dört biti olanlara, sonra kodlamayı belirten iki biti ve daha sonra mesaj sınıfını belirten iki biti belirlemeliyiz. Yani Class1 Sms için 1111xx01'u ayarladık. Bu doğru mu?

    Bu DCS'yi ayarlamaya çalışırsak, şu anda veri kodlamasını "8-Bit veri" olarak ayarlıyoruz. Görünüşe göre, birkaç telefon bunu anlayamıyor. Bu, herhangi bir yerde belirtildi mi ve bunu sadece değiştirebilir miyiz, ya da diğer mesaj sınıflarını gönderirken gereken özel bir kodlamadır. SMPPv3.4'ün Message sınıfını ayarlamasının önerilen yolunu kullanmaya çalıştığımızda, daha fazla karışıklık ortaya çıkıyor. 3.4'den beri işleminde dest_addr_subunit adı verilen isteğe bağlı bir parametre vardır. Standartlara göre bu parametre bilinmeyen için 0, MS-Display için 1, Mobil cihazlar için 2, vb. Olarak ayarlanmalıdır. Buna bakarsak, parametrelerin GSM mesaj sınıflarına göre birer birer değiştiği görülmektedir. Class0, 1 olarak kodlanır, Class1 2 ve benzeri şekilde kodlanır. Bu doğru mu, yoksa arkasında daha karmaşık bir harita var mı?

    Ayrıca, dest_addr_subunit'u ayarlarsak, yine de DCS'yi ayarlamalı mıyız yoksa bu parametreyi varsayılan değerden mi bırakabiliriz?

  • cevap

    9

    Ayrıntılı DCS (Veri Kodlama Şeması) açıklamasıyla 3GPP TS 23.038 spesifikasyonunu okumanızı tavsiye ederiz.

    DCS bitleri 7654'ün 00xx olması durumunda, bit 4 değeri için DCS'yi kontrol etmelisiniz.

    • bitlik 4 == 0 - bu mesaj için hiçbir mesaj sınıfı (bit 1 ve 0 saklıdır)
    • bitlik 4 == 1 - bitleri 1 ve 0 ileti sınıfı içeren

    Yani size message_class öğesinin doğru şekilde işlemesi için data_coding SMPP parametresini 3GPP TS 23.038 belirtimine göre ayarlamalıdır. Varsayılan GSM SMS mesajı ile

    hiçbir message_class vardır ve bu message_class aynı değildir = 1.

    +0

    Ben bu belgeyi anlıyorum Yani eğer doğru ana karışıklık mesajı sınıfı ikisi tarafından gösterilebilir olmasından kaynaklanır 'x11' düzeni kodlamadır ve 'yy' mesaj sınıfı veya şema '00c10xyy' ile' c' sıkıştırmayı gösterir 'x' kodlamayı ve' yy' mesaj sınıfını gösterir. Burada kafamı karıştıran şey, her iki yöntemin de kesinlikle aynı olduğu ve bizim durumumuzdaki tüm cihazlarla çalışmadığı anlaşılıyor. – LiKao

    +0

    Genellikle şu temsili kullanıyorum: '' 0001ccmm'' '' cc'' bir kodlama (varsayılan GSM için '' '' '' '' 'mm'' message_class'' gösterimidir (' '' '' Flaş SMS) 7bit flash SMS için örnek '' 00010000'' olacaktır. Seçenek “11110cmm'' mümkündür, ancak bunu uygulamada hiç görmedim. –

    +0

    Ben '0001cc00' test ettim ve Android'de sınıf 0 mesajları (" flash "mesajlar) için çalışmıyor; '1111cc00' beklendiği gibi çalışıyor. –