Пример #1
0
        // https://www.assembla.com/spaces/ibox-processing/wiki/Linux_I_GPRS-connection_I_configuration
        /// <summary>
        ///     Меняем настройку модема - в консоли  cp /etc/chatscript/life-connect /etc/chatscript/mts-connect
        ///     но пишем весь файл
        /// </summary>
        /// <param name="ModelModem"></param>
        public static void CreateScriptFile(this GprsProvider provider, ModelModem modelModem, int tryIndex)
        {
            var file = provider.LinuxScriptFile(true);

            {
                var filePreconfig = file + '-' + modelModem.ShortName();
                if (File.Exists(filePreconfig))
                {
                    File.Copy(filePreconfig, file, true);
                    return;
                }
            }
            using (var writer = new StreamWriter(file, false))
            {
                writer.WriteLine("TIMEOUT 45");
                writer.WriteLine("ABORT 'NO ANSWER'");
                writer.WriteLine("ABORT 'BUSY'");
                writer.WriteLine("ABORT 'NO CARRIER'");
                writer.WriteLine("SAY 'Starting " + provider.ProviderName() + " GPRS connection\\n'");
                writer.WriteLine("ABORT ERROR");
                writer.WriteLine("'' 'ATZ'");
                writer.WriteLine("OK 'ATE1'");
                var addCmd = provider.AdditionalInitCommand(modelModem);
                if (!string.IsNullOrEmpty(addCmd))
                {
                    writer.WriteLine("OK '{0}'", addCmd);
                }
                writer.WriteLine("OK 'ATD{0}'", provider.CallNumber(tryIndex));
                writer.WriteLine("CONNECT c");
            }
        }
Пример #2
0
        public static string AdditionalInitCommand(this GprsProvider self, ModelModem eModelModem)
        {
            switch (eModelModem)
            {
            //case ModelModem.None:
            case ModelModem.Unknown:
            case ModelModem.SiemensMC35:
            case ModelModem.Cinterion:     //DEVSPACE-3943
            case ModelModem.PantechUM175:
                return(self.AdditionalInitCommand());

            case ModelModem.Wavecom: return(string.Empty);

            case ModelModem.MU709:
                return(self.AdditionalInitCommand());    // TODO: выяснить при тестировании
            }

            throw new ArgumentOutOfRangeException("...добавь case...");
        }