// 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"); } }
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..."); }