2016-10-05 4 views
0

모두.C# jamaa : smpp esm_class 바이트 값

저는 C# jamaa smpp libraries v1.4를 사용하고 있습니다. 그리고 SMSC에서 delivery_sm을 가져올 때 - 들어오는 메시지를 구문 분석하려고 시도합니다. 여기에 문제가 있습니다. 당신이 스크린 샷에서 볼 수 있듯이 esm_class의 수신 바이트 값은 4 : Incoming deliver_sm message bytes 그러나 당신이 볼 수 있듯이 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 값을 기다리고, DeliveryReceipt를 반환 . 무엇이 잘못 되었나요? EsmClass 코드를 수정하는 것만으로 충분합니다 - 4 값이 오면 DeliveryReceipt를 반환하는 것입니까?

감사합니다. 에 관해서는, Yuriy.

답변

1

esm_class가 잘못 정의 된 것 같습니다. deliver_sm의 배달 영수증의 경우 4로 설정해야합니다. MO 인 경우 0으로 설정됩니다.이 값을 4로 수정하면 문제가 발생하지 않습니다. 자세한 정보가 필요하면 SMPP 프로토콜 사양을 참조하십시오.

+0

안녕하세요. 다시 고맙습니다 :-) 관련하여, Yuriy. –

0

확인. 방금 라이브러리 EsmClass 코드를 으로 수정했습니다. " DeliveryReceipt = 0x04; " 그리고 작동합니다. 2 일 동안 나는 시험하고 있었고 어떤 문제도 만나지 않았다.