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); } } }
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); }
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); } } }