protected override void Process(Timer timer) { List <SMSQueue> queue = Context.GetSMSToUpdateStatus(Settings.Default.SMSCheckStatusBatchSize, DateTime.Now.Add(-Settings.Default.CheckStatusInterval)).ToList(); foreach (SMSQueue sms in queue) { if (!string.IsNullOrEmpty(sms.SMSId)) { try { RoaminSMPP.SMPPCommunicator connection = SMPPPool.GetConnection(sms.ProviderId.Value, sms.source_addr); SmppQuerySm queryPdu = new SmppQuerySm() { MessageId = sms.SMSId, SourceAddress = sms.source_addr, SourceAddressNpi = connection.NpiType, SourceAddressTon = connection.TonType }; connection.SendPdu(queryPdu); lock (_syncLock) { if (!_sentMessages.ContainsKey(sms.SMSId)) { _sentMessages.Add(sms.SMSId, sms.Id); } } } catch (Exception ex) { Trace.TraceWarning("Невозможно отправить сообщение с Id = {0}, ошибка: {1}", sms.Id, ex); } } } }
/// <summary> /// Creates a QuerySmEventArgs. /// </summary> /// <param name="packet">The PDU that was received.</param> internal QuerySmEventArgs(SmppQuerySm packet) : base(packet) { _response = packet; }
/// <summary> /// Creates a QuerySmEventArgs. /// </summary> /// <param name="packet">The PDU that was received.</param> internal QuerySmEventArgs(SmppQuerySm packet) : base(packet) { QuerySmPdu = packet; }
public SmppQuerySmResp QueryMessage(SmppQuerySm packet) { throw new NotImplementedException(); }