public async Task SendToMultipleRecepients()
        {
            //<SendToMultipleRecepients>
            await _client.Submit(SMS.ForSubmitMulti()
                                 .ServiceType("test")
                                 .Text("Test Test")
                                 .From("MyService")
                                 .To("1111")
                                 .To("2222")
                                 .To("3333")
                                 );

            //</SendToMultipleRecepients>
        }
        public void SendToPhoneNumbers(List <string> phoneNumbers)
        {
            //<SendToPhoneNumbers>
            var pduBuilder = SMS.ForSubmitMulti()
                             .ServiceType("test")
                             .Text("Test Test")
                             .From("MyService");

            foreach (string phoneNumber in phoneNumbers)
            {
                pduBuilder.To(phoneNumber);
            }

            //</SendToPhoneNumbers>
        }
        public async Task SendToDestinationList()
        {
            //<SendToDestinationList>
            List <IAddress> destList = new List <IAddress>();

            destList.Add(new SmeAddress("11111111111", AddressTON.Unknown, AddressNPI.ISDN));
            destList.Add(new DistributionList("my_destribution_list_on_SMPP_Server"));

            var submitResponses = await _client.Submit(SMS.ForSubmitMulti()
                                                       .ServiceType("test")
                                                       .Text("Test Test")
                                                       .From("MyService")
                                                       .ToDestinations(destList)
                                                       );

            //</SendToDestinationList>
        }
        private async Task SubmitMultiMessage(string[] dstAddresses)
        {
            DataCodings coding = GetDataCoding();

            byte   srcTon = byte.Parse(tbSrcAdrTON.Text);
            byte   srcNpi = byte.Parse(tbSrcAdrNPI.Text);
            string srcAdr = tbSrcAdr.Text;

            byte dstTon = byte.Parse(tbDestAdrTON.Text);
            byte dstNpi = byte.Parse(tbDestAdrNPI.Text);

            ISubmitMultiBuilder builder = SMS.ForSubmitMulti()
                                          .From(srcAdr, (AddressTON)srcTon, (AddressNPI)srcNpi)
                                          .Coding(coding)
                                          .Text(tbMessageText.Text)
                                          //Request delivery receipt
                                          .DeliveryReceipt();

            foreach (var dstAddress in dstAddresses)
            {
                if (dstAddress == null || dstAddress.Trim().Length == 0)
                {
                    continue;
                }

                builder.To(dstAddress.Trim(), (AddressTON)dstTon, (AddressNPI)dstNpi);
            }

            _log.Info("Submit message to several addresses: {0}. Text: {1}", string.Join(", ", dstAddresses), tbMessageText.Text);


            SubmitMode mode = GetSubmitMode();

            switch (mode)
            {
            case SubmitMode.Payload:
                builder.MessageInPayload();
                break;

            case SubmitMode.ShortMessageWithSAR:
                builder.ConcatenationInSAR();
                break;
            }



            try
            {
                IList <SubmitMultiResp> resp = await _client.Submit(builder);

                if (resp.All(x => x.Header.Status == CommandStatus.ESME_ROK))
                {
                    _log.Info("Submit succeeded. MessageIds: {0}", string.Join(",", resp.Select(x => x.MessageId)));
                }
                else
                {
                    _log.Warn("Submit failed. Status: {0}", string.Join(",", resp.Select(x => x.Header.Status.ToString())));
                }
            }
            catch (Exception ex)
            {
                _log.Error("Submit failed. Error: {0}", ex.Message);
            }
        }