2016-10-05 1 views
0

alle.C# jamaa: smpp esm_class Bytewert

Ich verwende C# jamaa smpp Bibliotheken v1.4. Und wenn ich die delivery_sm von SMSC bekomme - es versucht, die eingehende Nachricht zu analysieren. Ich habe ein Problem hier. Der ankommende Byte-Wert für esm_class 4, wie Sie auf Screenshot sehen: Incoming deliver_sm message bytes Aber die EsmClass in Jamaa hat die folgenden Werte

public enum EsmClass : byte 
{ 
    /// <summary> 
    /// Default SMSC mode, default message type, or no specific features selected 
    /// </summary> 
    Default = 0x00, 
    /// <summary> 
    /// Datagram mode 
    /// </summary> 
    DatagramMode = 0x01, 
    /// <summary> 
    /// Forward (i.e. Transaction) mode 
    /// </summary> 
    Transaction = 0x02, //Forward mode 
    /// <summary> 
    /// Store and forward mode 
    /// </summary> 
    StoreAndForward = 0x03, 
    /// <summary> 
    /// Short message contains SMSC delivery receipt 
    /// </summary> 
    DeliveryReceipt = 0x08, 
    /// <summary> 
    /// SME contains ESME delivery acknoledgement 
    /// </summary> 
    DeliveryAcknoledgement = 0x08, 
    /// <summary> 
    /// SME contains ESME manual/user acknoledgement 
    /// </summary> 
    ManualUserAcknoledgement = 0x10, 
    /// <summary> 
    /// Short message contains conversion abort (Korean CDMA) 
    /// </summary> 
    ConversionAbort = 0x18, 
    /// <summary> 
    /// Short message contains intermedicate delivery notification 
    /// </summary> 
    IntermediateDeliveryNotification = 0x20, 
    /// <summary> 
    /// UDHI Indicator (only relevant for MT network) 
    /// </summary> 
    UdhiIndicator = 0x40, 
    /// <summary> 
    /// Set Reply path (only relevant for GSM network) 
    /// </summary> 
    ReplyPath = 0x80 
} 

Wie Sie sehen können - es wartet auf den 8-Wert, zurückzukehren deliveryReceipt . Was läuft falsch? Reicht es aus, den EsmClass-Code zu korrigieren, um DeliveryReceipt zurückzugeben, wenn der 4-Wert kommt?

Vielen Dank. Mit freundlichen Grüßen, Yuriy.

Antwort

1

Es sieht aus wie esm_class falsch definiert ist. Für eine Übermittlungsbestätigung in deliver_sm sollte es auf 4 gesetzt werden. Wenn es ein MO ist, würde es auf 0 gesetzt werden. Das Korrigieren auf 4 ist völlig in Ordnung und es sollten keine Probleme auftreten. Weitere Informationen finden Sie in der SMPP-Protokollspezifikation.

+0

Hallo, Kim. Nochmals vielen Dank :-) Mit freundlichen Grüßen, Yuriy. –

0

ok. Ich habe gerade die Bibliothek EsmClass Code geändert " DeliveryReceipt = 0x04; " Und es funktioniert. Für 2 Tage habe ich getestet und habe keine Probleme gefunden.

Verwandte Themen