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 协议规范。
所有。
我正在使用 c# jamaa smpp 库 v1.4。
当我从 SMSC 收到 delivery_sm 时 - 它会尝试解析传入的消息。我这里有个问题。
esm_class 的传入字节值为 4,如屏幕截图所示:
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 协议规范。