Beispiel #1
0
 private void SMPPPool_QueryRequestFinished(string messageId, Pdu.MessageStateType messageStateType, SmppCommandStatus cStatus)
 {
     lock (_syncLock)
     {
         if (_sentMessages.ContainsKey(messageId) && cStatus == SmppCommandStatus.ESME_ROK)
         {
             Context.GetStatusUpdater().UpdateSMSStatus(_sentMessages[messageId], messageId, messageStateType.ConvertStatus(), null, messageStateType);
             _sentMessages.Remove(messageId);
         }
     }
 }
Beispiel #2
0
        public static SMSStatus ConvertStatus(this Pdu.MessageStateType type)
        {
            SMSStatus result;

            switch (type)
            {
            case Pdu.MessageStateType.Accepted:
                result = SMSStatus.Send;
                break;

            case Pdu.MessageStateType.Deleted:
                result = SMSStatus.Cancelled;
                break;

            case Pdu.MessageStateType.Delivered:
                result = SMSStatus.Delivered;
                break;

            case Pdu.MessageStateType.Enroute:
                result = SMSStatus.Send;
                break;

            case Pdu.MessageStateType.Expired:
                result = SMSStatus.Cancelled;
                break;

            case Pdu.MessageStateType.Rejected:
                result = SMSStatus.ValidationError;
                break;

            case Pdu.MessageStateType.Undeliverable:
                result = SMSStatus.SendError;
                break;

            case Pdu.MessageStateType.Unknown:
                result = SMSStatus.Send;
                break;

            default:
                result = SMSStatus.Send;
                break;
            }
            return(result);
        }
Beispiel #3
0
 private void SMPPPool_DeliveryRecieptRecieved(string messageId, Guid providerId, uint sequenceNumber, Pdu.MessageStateType messageStateType, string networkError)
 {
     lock (_syncLock)
     {
         if (messageStateType == Pdu.MessageStateType.Delivered)
         {
             Context.GetStatusUpdater().UpdateSMSStatus(null, messageId, SMSStatus.Delivered, providerId, messageStateType);
         }
         else
         {
             Context.GetStatusUpdater().UpdateSMSStatus(null, messageId, SMSStatus.SendError, providerId, messageStateType);
         }
     }
 }