/// <summary> /// Primary constructor for the data_sm PDU /// </summary> /// <param name="stype">Service Type</param> /// <param name="saddr">Source Address</param> /// <param name="daddr">Destination Address</param> /// <param name="esm">ESM</param> /// <param name="regDelivery">Registered Delivery</param> /// <param name="dataCoding">Data Coding type</param> public data_sm(string stype, address saddr, address daddr, esm_class esm, registered_delivery regDelivery, DataEncoding dataCoding) : this() { this.ServiceType = stype; this.SourceAddress = saddr; this.DestinationAddress = daddr; this.EsmClass = esm; this.RegisteredDelivery = regDelivery; this.DataCoding = dataCoding; }
/// <summary> /// Primary constructor for the submit_multi PDU /// </summary> /// <param name="stype">Service Type</param> /// <param name="saddr">Source Address</param> /// <param name="esm">ESM</param> /// <param name="protid">Protocol ID</param> /// <param name="priority">Priority</param> /// <param name="delTime">Delivery Time</param> /// <param name="valPeriod">Validation Period</param> /// <param name="regDelivery">Registered Delivery</param> /// <param name="replace">Replace If present</param> /// <param name="dataCoding">Data Coding type</param> /// <param name="defMsgId">Default Msg ID</param> /// <param name="msg">Message</param> public submit_multi(string stype, address saddr, esm_class esm, byte protid, MessagePriority priority, SmppTime delTime, SmppTime valPeriod, registered_delivery regDelivery, bool replace, DataEncoding dataCoding, byte defMsgId, string msg) : this() { this.ServiceType = stype; this.SourceAddress = saddr; this.EsmClass = esm; this.ProtocolID = protid; this.PriorityFlag = priority; this.DeliveryTime = delTime; this.ValidityPeriod = valPeriod; this.RegisteredDelivery = regDelivery; this.ReplaceExisting = replace; this.DataCoding = dataCoding; this.SmDefaultMessageID = defMsgId; this.Message = msg; }
// Used to get delivery ack.'s and MO messages from SMSC private void OnDeliverSm(object sender, SmppEventArgs args) { deliver_sm req = (deliver_sm)args.PDU; deliver_sm_resp resp = (deliver_sm_resp)args.ResponsePDU; esm_class esm = req.EsmClass; switch (esm.MessageType) { case MessageType.SMSC_DELIVERY_RCPT: // Delivery receipt for previously sent short message smsc_delivery_receipt receipt = new smsc_delivery_receipt(req.Message); // Update the final deleivery status for the sent message using the message Id to locate UpdateSentMessageFinalStatus(receipt); break; case MessageType.DEFAULT_MSG_TYPE: // Mobile originated message AddNewMessage("Mobile Orig.", req.SourceAddress.Address, req.Message, "DELIVRD", DateTime.Now.ToString("d"), 0); break; default: AddNewMessage("Error", req.SourceAddress.Address, "Unknown message type - " + esm.MessageType, "n/a", "n/a", 0); break; } }
// Used to get delivery ack.'s and MO messages from SMSC private static void OnDeliverSm(object sender, SmppEventArgs args) { deliver_sm req = (deliver_sm)args.PDU; deliver_sm_resp resp = (deliver_sm_resp)args.ResponsePDU; esm_class esm = req.EsmClass; switch (esm.MessageType) { case MessageType.SMSC_DELIVERY_RCPT: // Delivery receipt for previously sent short message smsc_delivery_receipt receipt = new smsc_delivery_receipt(req.Message); Console.WriteLine(string.Format("Delivery receipt for message {0}: Type: {1}", receipt.OriginalMessageId, receipt.FinalMessageStatus)); break; case MessageType.DEFAULT_MSG_TYPE: // Mobile originated message Console.WriteLine(string.Format("Mobile originated message from {0}: {1}", req.SourceAddress, req.Message)); break; default: Console.WriteLine("Unexpected deliver_sm message type: " + esm.MessageType.ToString()); break; } }