Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [HandleProcessCorruptedStateExceptions]
- private void ServerEvClientSubmitSm(object sender, SmppServerClient client, SubmitSm data)
- {
- try
- {
- byte[] payload = data.Optional[OptionalTags.MessagePayload];
- if (data.RegisteredDelivery != (byte)(SMSCDeliveryReceipt.NotRequested))
- {
- var deliver = new DeliverSm
- {
- Receipt = new Receipt
- {
- Delivered = 1,
- DoneDate = DateTime.Now,
- MessageId = data.Response.MessageId,
- State = MessageState.Delivered
- },
- Sequence = data.Sequence,
- Command = CommandSet.DeliverSm,
- SourceAddrTon = data.SrcTon,
- SourceAddrNpi = data.SrcNpi,
- SourceAddr = data.DestAddr,
- DestAddrTon = data.DestTon,
- DestAddrNpi = data.DestNpi,
- DestAddr = data.SrcAddr,
- ProtocolId = data.ProtocolId,
- PriorityFlag = data.PriorityFlag,
- RegisteredDelivery = (byte)SMSCDeliveryReceipt.NotRequested,
- DataCoding = data.DataCoding,
- EsmClass = (byte)MessageTypes.SMSCDeliveryReceipt
- };
- client.DeliverAsync(deliver);
- }
- var userId = GetClientDbId(client.SystemID);
- if (payload != null)
- {
- string text = client.GetMessageText(payload, data.DataCoding);
- Log.Info(string.Format("UserId: {0}, Client {1}:{2} Received message Src:{3}, Dst:{4}, Text: {5}",
- userId, client.RemoteIP, client.RemotePort, data.DestAddr, data.SrcAddr, text));
- UpdateDataInDb(userId, text, data);
- }
- else
- {
- Log.Info(string.Format("UserId: {0}, Client {1}:{2} Received message Src:{3}, Dst:{4}, Text: {5}",
- userId, client.RemoteIP, client.RemotePort, data.DestAddr, data.SrcAddr,
- data.ShortMessage));
- UpdateDataInDb(userId, data.ShortMessage, data);
- }
- }
- catch (Exception exp)
- {
- Log.ErrorException(exp.Message, exp);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement