c# jamaa: smpp esm_class 字节值

c# jamaa: smpp esm_class byte value

所有。

我正在使用 c# jamaa smpp 库 v1.4。 当我从 SMSC 收到 delivery_sm 时 - 它会尝试解析传入的消息。我这里有个问题。 esm_class 的传入字节值为 4,如屏幕截图所示: 但是 Jamaa 中的 EsmClass 有下一个值

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
}

如您所见 - 它等待 8 值到 return DeliveryReceipt。 出了什么问题?当 4 值即将到来时,仅将 EsmClass 代码更正为 return DeliveryReceipt 就足够了吗?

谢谢。 此致,Yuriy。

好的。我刚刚将库 EsmClass 代码修改为 “ 交货收据=0x04; “ 它有效。我测试了 2 天,没有遇到任何问题。

看起来 esm_class 定义不正确。对于 deliver_sm 中的送货收据,应将其设置为 4。如果是 MO,则应将其设置为 0。将其更正为 4 完全没问题,应该不会遇到任何问题。如果您需要更多信息,请参阅 SMPP 协议规范。