예제 #1
0
 /// <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;
 }
예제 #2
0
 /// <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;
 }
예제 #3
0
파일: Main.cs 프로젝트: xtoblizi/smpp.net
        // 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;
            }
        }
예제 #4
0
        // 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;
            }
        }