Exemplo n.º 1
0
        private void SubmitNumberRequest(string number, int telid)
        {
            _logger.LogDebug("SMS sending SUBMIT_NUMBER_REQUEST start. SendId: {0} TeliId: {1} Phone number: {2}",
                             SendId, telid, number);
            while (true)
            {
                int localPort = Send(ACKPacketFactory.SUBMIT_NUMBER_REQUEST(SendId, telid, number));

                // If localport == 0 then sending error
                if (localPort == 0)
                {
                    return;
                }

                // Get requvest
                string ret = Get(localPort);

                if (ret.StartsWith(string.Format("OK {0} {1}", SendId, telid)))
                {
                    _logger.LogInformation("SMS sending SUBMIT_NUMBER_REQUEST successfully. SendId: {0} TeliId: {1} Phone number: {2}", SendId, telid, number);
                    OnSmsSendMessage(this, new GoIpSendMessageEventArgs(number, SendId, "OK"));
                    break;
                }

                if (ret.StartsWith(string.Format("ERROR {0} {1}", SendId, telid)))
                {
                    _logger.LogWarning("SMS sending SUBMIT_NUMBER_REQUEST error. SendId: {0} TeliId: {1} Phone number: {2}", SendId, telid, number);
                    OnSmsSendMessage(this, new GoIpSendMessageEventArgs(number, SendId, "ERROR"));
                    break;
                }

                if (ret.StartsWith(string.Format("WAIT {0} {1}", SendId, telid)))
                {
                    _logger.LogInformation("SMS sending SUBMIT_NUMBER_REQUEST WAIT. SendId: {0} TeliId: {1} Phone number: {2}", SendId, telid, number);
                    OnSmsSendMessage(this, new GoIpSendMessageEventArgs(number, SendId, "WAIT"));
                }
                else
                {
                    _logger.LogDebug("SMS sending SUBMIT_NUMBER_REQUEST illegal operation. SendId: {0} TeliId: {1} Phone number: {2} Return value: {3}",
                                     SendId, telid, number, ret);
                }

                // Wait 3 second
                System.Threading.Thread.Sleep(3000);
            }

            _logger.LogDebug("SMS sending SUBMIT_NUMBER_REQUEST successfully.  SendId: {0} TeliId: {1} Phone number: {2}", SendId, telid, number);
            return;
        }