public void ReceiveEmailData() { //54b89f4ec0311af3c7c74bd8d5a5089a IridiumExtremeBinaryReport report = new IridiumExtremeBinaryReport(); //byte[] bytes = HexAscii.ConvertToBytes("6504AE00067DDC23EB920016A290CC9D2BEE801036000A1005200C4025BEEE11F46E01808A809BC566517A2C3A875910334C6FCD682E1B6C4683C140A8399D6C07C16032580AC47CBB5BB01ACE35B3D968B8190835A793ED20184C464B81826C3A68158381DA20D49C4EB68360B0D92D053A42A7A079983E07C16820192C366BC5642D180D14ABE968B32A75081286E974102E560255E76539881D769F416537685A76D341F674189494A7C9E97A1B"); //string path = @"C:\Users\jcorrales\Documents\Visual Studio 2008\Projects\IridiumExtreme\IridiumExtreme\bin\Debug\300215010900550_000007.sbd"; string path = @"C:\Users\jcorrales\Desktop\300215010900550_000005.sbd"; byte[] fileBytes = File.ReadAllBytes(path); string hex = BitConverter.ToString(fileBytes).Replace("-", string.Empty); byte[] bytes = HexAscii.ConvertToBytes(hex); //StringBuilder sb = new StringBuilder(); //foreach (byte b in fileBytes) //{ // sb.Append(Convert.ToString(b, 2).PadLeft(8, '0')); //} //string imei = "309015010008060"; string imei = "300215010568090"; Encoding unicode = Encoding.Unicode; Encoding utf8 = Encoding.UTF8; byte[] imeib = GetBytes(imei); imeib = Encoding.Convert(unicode, utf8, imeib); crc_32c hash = new crc_32c(); uint hashvar = hash.toHash2(imeib, imeib.Length); if (IridiumExtremeBinaryReport.TryParse(bytes, "300215010568090", out report, "MO")) { inserts.Add(report.ToInsertSQL(true, "MESSAGE_INBOX")); } }
public static bool TryParse(byte[] buff, int baseoffset, out DataBlock_CannedMessageIdentifier cannedMessageIdentifier) { bool reslt = false; cannedMessageIdentifier = new DataBlock_CannedMessageIdentifier(); try { int offset = baseoffset; net.Tesacom.GeneralUtilities.BitStream stream = new net.Tesacom.GeneralUtilities.BitStream(buff); cannedMessageIdentifier.blockType = stream.GetUint(offset, BlockTypeLen); cannedMessageIdentifier.BlockType = (ICDBlockType)cannedMessageIdentifier.blockType; offset += BlockTypeLen; cannedMessageIdentifier.BlockLengthIndicator = stream.GetUint(offset, BlockLengthIndicatorLen); offset += BlockLengthIndicatorLen; if (cannedMessageIdentifier.BlockLengthIndicator == 0) { cannedMessageIdentifier.BlockLengthBytes = stream.GetUint(offset, ICDDataBlock.BlockLengthBytesLen); offset += BlockLengthBytesLen; } else { cannedMessageIdentifier.BlockLengthBytes = stream.GetUint(offset, BlockLengthExtendedBytesLen); offset += BlockLengthExtendedBytesLen; } cannedMessageIdentifier.CannedMessageNumber = stream.GetUint(offset, CannedMessageNumberLen); offset += CannedMessageNumberLen; cannedMessageIdentifier.cannedMessageCRC = stream.GetUint(offset, CannedMessageCRCLen); offset += CannedMessageCRCLen; try { Encoding unicode = Encoding.Unicode; Encoding utf8 = Encoding.UTF8; string s = "I have achieved my objective"; //string s = "123456789"; //var barray = GsmUtils.ToGSM7BitPacked(s); // byte[] array = HexAscii.ConvertToBytes(barray); byte[] array = HexAscii.ConvertToBytes("1C49103A6C2F83C26374BA6C2F9341ED3CE82D5697C7F4B4BD0C"); //byte[] barray = GetBytes(s); //1C49103A6C2F83C26374BA6C2F9341ED3CE82D5697C7F4B4BD0C crc_32c crc32 = new crc_32c(); uint crcVar = 0; /*ASCII*/ //array = Encoding.Convert(unicode, utf8, array); crcVar = crc32.crc_32c_init(); crcVar = crc32.crc_32c_update(array, array.Length, crcVar); crcVar = crc32.crc_32c_finalize(crcVar); /*UTF-16*/ //array = Encoding.Convert(unicode, utf8, array); //crcVar = crc32.crc_32c_init(); //crcVar = crc32.crc_32c_update_UTF_16(array, array.Length, crcVar); //crcVar = crc32.crc_32c_finalize(crcVar); //CRC (ASCII): 0xe3069283 //CRC (UTF-16): 0x9d7b210c string imei = "300015010444890"; byte[] imeib = GetBytes(imei); imeib = Encoding.Convert(unicode, utf8, imeib); crc_32c hash = new crc_32c(); uint hashvar = hash.toHash2(imeib, imeib.Length); } catch (Exception e) { } reslt = true; } catch (Exception ex) { reslt = false; } return reslt; }
public ActionResult Login() { //user_name=userapi //password=T3s@m321 //contentType=json //http://vdms5.tesacom.net/abm/abm_equipos.php //oper=exists //ESN=123123123123 //contentType=json //http://vdms5.tesacom.net/abm/abm_equipos.php //oper=add //TipoEQP=10004 //ESN=123123123123 //IMSI=123123123123 //contentType=json try { if (Session["Logueado"] != null) { if (Session["Logueado"].ToString() == "True") { string imei = "";//"300215010568090"; uint phoneCode = 0; uint hashvar1 = 0; uint hashvar2 = 0; Encoding unicode = Encoding.Unicode; Encoding utf8 = Encoding.UTF8; crc_32c hash = new crc_32c(); if (Request.Form["Imei"] != null && Request.Form["PhoneCode"] != null) { imei = Request.Form["Imei"].ToString(); string insertImei = String.Format("IE{0}", imei); phoneCode = Convert.ToUInt32(Request.Form["PhoneCode"]); byte[] imeib = GetBytes(imei); imeib = Encoding.Convert(unicode, utf8, imeib); hashvar1 = hash.toHash1(imeib, imeib.Length); if (hashvar1 == phoneCode) { hashvar2 = hash.toHash2(imeib, imeib.Length); //POST("http://vdms5.tesacom.net/abm/abm_equipos.php", JsonConvert.SerializeObject(json)); string oper = "exists"; int tipoEq = 10004; string result = ""; string loginState = GET("http://vdms5.tesacom.net/login.php?user_name=userapi&password=T3s@m321"); string url = String.Format("http://vdms5.tesacom.net/abm/abm_equipos.php?oper={0}&ESN={1}&contentType=json",oper,insertImei); string jsonExists = GET(url); try { JObject jsonData = new JObject(); jsonData = JObject.Parse(jsonExists); foreach (JProperty jsonProperty in jsonData.Children().ToList()) { if (jsonProperty.Name.ToString() == "success") { result = jsonProperty.Value.ToString(); logs.Add(string.Format("Se consultó si existía el equipo con IMEI{0} y el resultado es success:{1}", insertImei, jsonProperty.Value.ToString())); logs = saveLogs(logs); } } } catch (Exception ex) { } if (result == "false") { oper = "add"; loginState = GET("http://vdms5.tesacom.net/login.php?user_name=userapi&password=T3s@m321"); url = String.Format("http://vdms5.tesacom.net/abm/abm_equipos.php?oper={0}&TipoEQP={1}&ESN={2}&IMSI={3}&contentType=json", oper, tipoEq, insertImei, insertImei); string jsonAddEquip = GET(url); try { JObject jsonData = new JObject(); jsonData = JObject.Parse(jsonAddEquip); foreach (JProperty jsonProperty in jsonData.Children().ToList()) { if (jsonProperty.Name.ToString() == "success") { logs.Add(string.Format("El alta del equipo con IMEI{0} se ha efectuado con el siguiente resultado success:{1}",insertImei,jsonProperty.Value.ToString())); logs = saveLogs(logs); } } } catch (Exception ex) { } ViewData["Estado"] = "OK"; ViewData["Validar"] = String.Format("Portal Code :: {0}. Enter this number into your phone to complete the registration.", hashvar2); } else { ViewData["Estado"] = ""; ViewData["Validar"] = String.Format("Error :: The handset with the IMEI{0} is already registered.",imei); } } else { ViewData["Validar"] = "Error :: Please enter a valid Phone Code."; ViewData["Estado"] = ""; } } else { ViewData["Validar"] = "Error :: Please enter a valid Imei and Phone Code."; ViewData["Estado"] = ""; } } else { ViewData["Validar"] = "Error :: You must be logged to register the handset."; ViewData["Estado"] = ""; logs.Add(string.Format("El usuarioapi no se logueo success:{0}", Session["Logueado"].ToString())); logs = saveLogs(logs); } } else { ViewData["Validar"] = "Error :: You must be logged to register the handset."; ViewData["Estado"] = ""; logs.Add(string.Format("El usuarioapi no se logueo session null")); logs = saveLogs(logs); } } catch (Exception ex) { } return View("Index"); }
public ActionResult Login() { //user_name=userapi //password=T3s@m321 //contentType=json //http://vdms.tesacom.net/abm/abm_equipos.php //oper=exists //ESN=123123123123 //contentType=json //http://vdms.tesacom.net/abm/abm_equipos.php //oper=add //TipoEQP=10004 //ESN=123123123123 //IMSI=123123123123 //contentType=json try { if (Session["Logueado"] != null) { if (Session["Logueado"].ToString() == "True") { string imei = "";//"300215010568090"; int idProyecto = 0; uint phoneCode = 0; uint hashvar1 = 0; uint hashvar2 = 0; Encoding unicode = Encoding.Unicode; Encoding utf8 = Encoding.UTF8; crc_32c hash = new crc_32c(); if (Request.Form["Imei"] != null && Request.Form["PhoneCode"] != null && Request.Form["Imei"] != "" && Request.Form["PhoneCode"] != "" && Regex.IsMatch(Request.Form["Imei"], "^[0-9]*$") == true && Regex.IsMatch(Request.Form["PhoneCode"], "^[0-9]*$") == true) { imei = Request.Form["Imei"].ToString(); idProyecto = Convert.ToInt32(Request.Form["idProyecto"]); //DESPUES DESCOMENTALOOOOOOOOOOOOOOOOO string insertImei = String.Format("IE{0}", imei); phoneCode = Convert.ToUInt32(Request.Form["PhoneCode"]); byte[] imeib = GetBytes(imei); imeib = Encoding.Convert(unicode, utf8, imeib); hashvar1 = hash.toHash1(imeib, imeib.Length); if (hashvar1 == phoneCode) { hashvar2 = hash.toHash2(imeib, imeib.Length); //POST("http://vdms.tesacom.net/abm/abm_equipos.php", JsonConvert.SerializeObject(json)); string oper = "exists"; int tipoEq = 10004; string result = ""; string loginState = GET("http://vdms.tesacom.net/login.php?user_name=userapi&password=T3s@m321"); string url = String.Format("http://vdms.tesacom.net/abm/abm_equipos.php?oper={0}&ESN={1}&contentType=json",oper,insertImei); string jsonExists = GET(url); try { JObject jsonData = new JObject(); jsonData = JObject.Parse(jsonExists); foreach (JProperty jsonProperty in jsonData.Children().ToList()) { if (jsonProperty.Name.ToString() == "success") { result = jsonProperty.Value.ToString(); logs.Add(string.Format("Se consultó si existía el equipo con IMEI{0} y el resultado es success:{1}", insertImei, jsonProperty.Value.ToString())); logs = saveLogs(logs); } } } catch (Exception ex) { } if (result == "false") { oper = "add"; loginState = GET("http://vdms.tesacom.net/login.php?user_name=userapi&password=T3s@m321"); url = String.Format("http://vdms.tesacom.net/abm/abm_equipos.php?oper={0}&TipoEQP={1}&ESN={2}&IMSI={3}&idProyecto={4}&contentType=json", oper, tipoEq, insertImei, insertImei, idProyecto); string jsonAddEquip = GET(url); try { JObject jsonData = new JObject(); jsonData = JObject.Parse(jsonAddEquip); foreach (JProperty jsonProperty in jsonData.Children().ToList()) { if (jsonProperty.Name.ToString() == "success") { logs.Add(string.Format("El alta del equipo con IMEI{0} se ha efectuado con el siguiente resultado success:{1}",insertImei,jsonProperty.Value.ToString())); logs = saveLogs(logs); } } } catch (Exception ex) { } string dir = System.IO.Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory);//System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); if (net.Tesacom.IridiumExtremeUtilities.IridiumToMySQL.SendPortalStatusToHandset(imei, dir)) { logs.Add("Se envio correctamente el email de Portal Status message"); logs = saveLogs(logs); } else { logs.Add("No se envio el email de Portal Status message"); logs = saveLogs(logs); } ViewData["Estado"] = "OK"; ViewData["Validar"] = String.Format("Código del portal : {0}. Ingrese este número en su teléfono para completar la registración.", hashvar2); } else { ViewData["Estado"] = ""; ViewData["Validar"] = String.Format("El equipo con IMEI{0} ya se encuentra registrado y su portal code es: {1}, debe ingresar otro.",imei,hashvar2); } } else { ViewData["Validar"] = "Por favor ingrese un Phone Code válido."; ViewData["Estado"] = ""; } } else { ViewData["Validar"] = "Por favor ingrese un Imei y Phone Code válido."; ViewData["Estado"] = ""; } } else { ViewData["Validar"] = "Se ha producido un error por favor actualice la página e intente nuevamente."; ViewData["Estado"] = ""; logs.Add(string.Format("El usuarioapi no se logueo success:{0}", Session["Logueado"].ToString())); logs = saveLogs(logs); } } else { ViewData["Validar"] = "Se ha producido un error por favor actualice la página e intente nuevamente."; ViewData["Estado"] = ""; logs.Add(string.Format("El usuarioapi no se logueo session null")); logs = saveLogs(logs); } } catch (Exception ex) { ViewData["Validar"] = "Por favor ingrese un Imei y Phone Code válido."; ViewData["Estado"] = ""; } return View("Index"); }