الاثنين، 27 مايو 2013

NS_BINDING_ABORTED http request jquery Ajax calls

NS_BINDING_ABORTED

Este Error ocurre cuando una peticion(request) es cancelada prematuramente. 

Posibles causas: 

1) Cierre del navegador antes que termine el proceso, sea esto: guardar, validar, cargar un archivo, etc.

2) Cancelacion por intervencion del usuario al dar click en otro lado que cancela la ejecucion.

3) Cancelacion por error de programacion, ejemplo cuando se hacen dos peticiones seguidas resultando de forma asincronica, la segunda peticion cancela la primera. Otra situacion es cuando se hace una peticion AJAX y se hace otra peticion de recarga a continuacion fuera de la  seccion success o error.

Ejemplo:

 

function myfunction(){
$
.ajax({
url
: Web server Url,
type
: 'POST',
datatype
: 'JSON',
timeout
: 20000,
data
: null,
success
: function{ $("#lnkredirect").attr('href','redirection link...');},
error
: function{ $("#lnkredirect").attr('href','redirection link...');}
)};
return true;
}

 

 


الثلاثاء، 2 أبريل 2013

Firmware para los routers VigorFly 200 modificados por YOTA para NICARAGUA

Si eres de los que nos ilusionamos con YOTA y aun tienes un router desactualizado y necesitas actualizarlo pero no quieres ir a las oficinas de Yota en manauga para que lo hagan y pierdas casi medio dia en eso (dependiendo de la x distancia) ademas del coste de transporte, aqui te comparto los firmware que utiliza yota actualmente y uno mas reciente.



Ademas este te srive de respaldo en caso que quieras jugar con tu rotuer y ponerle un S.O o alguna distro de Linux.


Enlaces.
YOTA VigorFly 200 para Nicaragua ver: r2448_1061

YOTA vigorFly 200 para Nicaragua version r1606_105

ADVERTENCIA
Considerando:
1. Tecnicamente actualizar un firmware es facil, con la interfaz por defecto es "next, next, netx" pero no esta excento de errores, omisiones o casos fortuidos como falla en el SER (Servicio de Eletricidad Residencial).
2. Estos ROMS son originales y no han sido alterandos de ninguna forma (aparte de YOTA).

Por tanto:
Usalos bajo tu propio riesgo

الأحد، 4 نوفمبر 2012

Trabajando con IBM Lotus 8.5

En este año tuve la oportunidad de trabajar con entornos nuevos hasta entonces para mi, uno de ellos IBM Lotus.

Lotus es una arquitectura para la colaboración cliente servidor, es en gran medida la contraparte o la alternativa a SharePoint de Microsoft. Lotus es mas antiguo que su competencia y como suele suceder para los usuarios normales o los promedio no es muy conocido, sin embargo en las grandes empresas si lo es y tiene una gran aceptación.

En latinoamérica se utiliza mucho, mas lo hacen en Europa, tengo datos que se lo utilizan en centroamérica, salvador, honduras, en costa rica las entidades del estado lo utilizan, como el el MOPT y el CONAVI, ademas de otras empresas privadas, en Nicaragua lo utiliza el BAC y la asamblea nacional, aunque es de reciente adquisición. Lo que he observado en muchas de estas empresas es que lo utilizan principalmente solo cliente y servidor de correo e IM feature subutilizandolo, y no solo los usuarios, también los desarrolladores.

NOTA: Aunque una solución de IBM Lotus se puede adquirir  a un precio inferior a las de Microsoft legalmente, en latinoamérica pierde por el alto indice de uso piratas. Otra desventaja es la poca oferta de personal cualificado.


Mas información técnica, características e historia la encontraran en la red, este articulo se centra en ser una referencia y principalmente notas de mi experiencia.


 

EL ecosistema de Lotus.

LOTUS es una solución corporativa colaborativa, aunque por cuestiones de marketing la venden separadas pero fácil de integrar. Cada parte creada para interactuar con las demás de forma nativa y transparente. Utiliza una base documental por defecto aunque actualmente se puede conectar a una base de datos externa principalmente DB2.

El ecosistema incluye pero no limitado a: servidor y cliente de correo, suite ofimática, mensajeria instantenea, conectores/middleware para colaboracion en tiempo real, solucion para conferencias, clientes para smartphones, entre otras.

El enlace, midleware o conector para colaboracion de documentos es una de las soluciones menos compradas, la falta de conocimiento o el impetu de ahorrarse unos cuantos dolares hace seguir trabajando con documentos de forma antigua.

Notes: Es el cliente de Domino, que es el servidor, pero por legacy o legado los usuarios veteranos le llaman a todo el conjunto LOTUS.

Domino: Es el servidor, brinda las conexiones, controla partiendo de LDAP (Directorio de Acceso) las cuentas de usuario partiendo de estas la seguridad y luego la comunicación o enlace con los demás servicios como: mensajería instantánea, correo electrónico, y el acceso a todas las base de datos/aplicaciones creadas, también controla que todas las copias o replicas estén debidamente sincronizadas según los parámetros establecidos.

Symphony: Es la suit o solucion ofimatica, es un fork de OpenOffice, con algunas caracteristicas propias de IBM, al comprar el paquete de colaboracion ofimatica en tiempo real, varios usuarios pueden estar editando el mismo documento al mismo tiempo.

SameTime: Es el cliente de mensajeria instantanea, permite todo lo que se espera de tal: llamadas de audio y video, conferencias, enviar y recibir archivos. Tiene clientes para los principales S.O. de los smartphone: iOs de iPhone, Android y blackberry.


Para que sirve?

Permite crear aplicaciones standalone o distribuidas, a cada aplicacion se le llama base de datos, y se distribuye como un solo archivo. Las aplicaciones que crear tienen nivel de acceso por usuario o perfil altamente personalizable y estricto una vez establecido.

La ventaja es que puede acceder desde un solo cliente el Notes, a todas las funciones: e-mails, la mensajería instantánea, herramientas ofimáticas y por supuesto las aplicaciones creadas y desde estas puede controlar todo lo antes mencionado. Permite crear desde una misma interfaz de desarrollo crear una capa de interacción tanto de escritorio (RCP), como WEB, y rich web.
 
 El problema es que muchos lo compran nomas porque se lo vendieron bonito y luego no se sienten cómodos y/o no saben como explotarlo apropiadamente.

Algunos adquieren IBM Portal y luego exigen portlets creados en lotus, pero al hacerlo de la forma incorrecta solo estan utilizando LOTUS como un almacén de datos, para este caso lo mejor es utilizar otra solución, les seria mas rentable. 

Puntos a Favor

1. Colaboracion. Es la razón de ser, pero irónicamente para la colaboración completa se debe adquirir un conector aparte que es el menos comprando.

2. Seguridad. Uno de los pilares de Lotus.

3. Integración. Con la suit completa y una buena implementación la integración es tan que es transparente para el usuario logrando una sensación que todo es lo mismo.

4. Precio. Siendo legales, es mas asequible que Microsoft.


Puntos en Contra

1. Una de las principales debilidades es a como todos los productos de IBM su lento mantenimiento y actualización, su ultima release fue en 2009, la version 8.5.3. Impidiéndole tener acceso a tecnologías de reciente lanzamiento rápidamente, forzando en algunos casos a comprar soluciones a terceros.

2. Desarrollo. Puede ser confuso, si no se sigue un patrón y se deja constancia de ello(un documento), puede ser una pesadilla para el próximo desarrollador que le de mantenimiento a un sistema existente.

4. A Symphony aun le faltan algunas funciones para competir en el feeling o comodidad contra MS Office.

5.

El desarrollo

 Desarrollar aplicaciones para lotus puede parecer complicado al principio, la curva de aprendizaje es horizontal al principio.

Muchos desarrolladores terminan por hacerlo de un modo incorrecto, puesto que les parece limitado y complicado la forma de hacerlo correctamente.

En lotus, cada pantalla o ventana es un formulario o documento y es único, y los datos almacenados en ese formulario o documento corresponden a una tabla con ese nombre, si quieres crear diferentes interfaces para los mismos datos no puedes crear otro formulario y esperar conectar los datos, se puede pero es mas difícil y poco recomendable, lo que se hace es crear todas las variantes en el mismo formulario, cada detalle, cada boton, sea para una interfaz de escritorio, web o de móvil, debe ser programado en el mismo archivo, en el mismo espacio de trabajo, motivo por el cual el formulario se puede volver caótico, aparentar que no tiene forma, todo esta revuelto.

Debido a esto hay comunidades como esta:

Los formularios tienen un esquema de eventos y propiedades, para programar visualmente, se puede colocar código para un cliente web, o para el cliente RCP o ambos. 

Al programar de la forma correcta muchos programadores se sienten limitados o incapaces de resolver en tiempo, ademas algunas cosas son tecnicamente imposibles de hacer con las herramientas que brinda por defecto, asi que terminan utilizando lotus como un almacen de datos y desarrollan una interfaz  accesible solo via web con un framework para web Rich como : Extjs. Muchos incluso pegan codigo HTML completo dentro de los formularios para hacer una pagina. Esto tiene sus desventajas, por ejemplo la integracion con el ecosistema se hace un poco mas difícil. Ademas en una actualización de plataforma puede presentarles serios problemas de compatibilidad, la seguridad también se puede comprometer y por ultimo en un esfuerzo por tratar de cumplir con todo puedes crear un FrankStain poco atractivo para el usuario.

 Recomendaciones para desarrollar con LOTUS.

1. Utilizar equipos potentes. siempre es bueno esto, los equipos viejos aunque seguros hacen tener mucho lack de desarrollo que al sumarlo no nos conviene.

2. Utilizar pantalla grande widescreen. una pantalla grande permite desarrollar mas cómodamente y aumenta la productividad.

3. Recordar que esta utilizando Eclipse, puede incluso utilizar versiones mas recientes de eclipse y agregarle el soporte a lotus.

4. Hacer copias de su base de datos constantemente, cada una o dos horas o en su defecto activar el control de versiones, aunque para algunos esto puede ser difícil. Contrario a lo que te pueda decir tu jefe, resuelve siempre que puedas y tengas el tiempo conectarlo a un sistema de control de versiones.

5. Planear bien el alcance y la escalavilidad para poder extenderlo sin dejar de utilizar todo el potencial de lotus, desde el punto de vista de la integración y la seguridad, que es la esencia, de no ser así, mejor se buscan otra plataforma.


Enlaces Recomendados (Desarrollo)

 OpenNTF
 Xpages
Blog particular acerca de Lotus

Conclusión:

...

الاثنين، 24 سبتمبر 2012

Utileria de escritorio para enviar mensajes de texto desde movistar.com.ni

(Estado Actual:  En mantenimiento) 
En ciertas ocaciones cuando estamos laburando requerimos enviar un mensaje de texto, y Movistar ofrece la opcion de enviarlo desde el website. He creado una utilieria para enviarlo sin entrar a la pagina de movistar.

La pagina web de Movistar Nicaragua tiene un deseño feo y poco practico,  es angosta y muy grande, para poder ver lo que necesitas hay que desplazarse hacia abajo y se refresca constantemente, ademas ofrece poca información, fuera de eso tiene una gran utilería como es el envío de mensajes de texto, muchos lo utilizan, es una alternativa muy buena si:
1. Quieres ahorrarte unos centavos.
2. No tienes el telefono a mano.
3. Estas fuera del pais.
4. El telefono se descompuso.
5. Quieres escribir comodamente.

Pero tiene sus inconvenientes: no guarda el numero con el que se esta comunicando, como dije, se refresca demasiado, no tienes tus contactos guardados.

Es por esta razon que he creado un wrapper para brindar todas estas facilidades:
1. Puedes crear tu Directorio Telefonico,
2. puedes escribir todo lo que quieras y la utiliria partira el mensaje en n mensajes necesarios
3. Se minimiza en el SystTray(Bandeja de sistema)


HAGO Efacis en:
1. Esta utileria solo es un wrapper, asi que no reemplaza al sitio de movistar.
2. depende completamente del sitio de movistar.com.ni.
3. Depende del acceso a internet.
4. Debe tener una cuenta de movistar.com.ni valida

Capturas de Pantalla
1. Pantalla Principal


2. Aplicacion minimizada en Windows.

 3. El menu se activa con el menu contextual (Boton derecho del Mouse)


 4. Ventana de Administración de Contactos.


* ** En Planes hacer una version para Android.



Enlaces : (Estan en Google Drive) [Actualizado el 02 de Octubre]
ZIP (Contiene Ejecutable para windows y lanzador  para Linux)
zip


SOLO JAR (X Plataforma)
JAR


Esta versión no funciona por ahora, estoy creando una mejor version.

الاثنين، 10 سبتمبر 2012

Como cargar Datos en un GRID de GWT con GXT, how to load datas into grid of GWT when use GXT (Ext-GWT)

GWT es un poderoso framework de rapido desarrollo tiene muchos seguidores y varios detractores, siguiendo la norma del universo, del Ying y del Yang tiene sus lados buenos y malos.

En esta ocacion a peticion de un amigo presento que pasos y consideraciones debes seguir para poder cargar datos en un control GRID de Extj-GWT (  de www.sencha.com) .

Esto es para la version 4 de GWT y 3 de GXT.


Consideraciones:
 1. GWT utiliza el motor AJAX para el intercambio de datos y al utilizar GXT (GXT = ExtGWT de sencha.com ) por encima nos da dos formatos de datos para trabajar: XML y JSON.

2. Al utilizar GXT y MVC utilizamos una clase midleware POJO de definicion de datos, es esta clase en la que se definen el tipo de datos a intercambiar.

3. Definir bien el set y caracteristicas de datos a intercambiar, cuando los datos proceden de varias fuentes como datos de factura y detalle de factura para mostrar una lista es logico pensar que podrian pasar una coleccion de clases que contienen otras clases, pero esto es mas dificil/tardado por lo que se puede optar a crear una definicion de datos para ese grid en particular y solo pasar registros planos, es decir que no contienen subClases.

Pasos:

1. Creamos la Deficion de datos que vamos a intercambiar es decir que los datos que seran enviados desde el servidor al Control GRID del lado del cliente. Esto se hace en el paquete de la seccion shared del GWT. Se sugiere en esta seccion crear un paquete llamado model o modelo, donde se almacenan los modelos o POJOs de las clases de datos. La nuestra clase debe extender la clase BaseModelData.

2. Creamos el servicio para la entrega de los datos. Este es el metodo que solicitara los datos desde el cliente al servidor, con o sin parametros, el plugin automáticamente crea una llamada a un servlet en el web descriptor del proyecto. Esto se hace en la seccion "Client" del GWT se aconseja un paquete llamado DAO, que se explica por si solo.

Este paquete se dispara/activa desde el control cliente en el navegador y hace una peticion via AJAX al servidor utilizando un endPoint de servlet, revisa la respuesta y  en caso de ser correcta la entrega al GRID para que la muestre.


3. En la clase del formulario:
a) Instanciar los servicios remotos. Puede hacerlo antes o despues de pintar el grid.
b) Definiendo el GRID
     - Crear la definicion de las columnas
     - Crear los cargadores de los datos
     - Definir el Store
     - crear el objeto grid pasandole como parametro las columnas y el store creado.
     - Cargar los datos, esto lo puede hacer para que lo haga automaticamente cuando termine de dibujarse o para que sea manual mediante algun boton.

// Comment
package ni.com.empresa.client.vista.catalogos;

import java.util.ArrayList;
import java.util.List;

import ni.com.empresa.client.dao.LineanavieraDAO;
import ni.com.empresa.client.dao.LineanavieraDAOAsync;
import ni.com.empresa.client.vista.comunes.Mensajes;
import ni.com.empresa.client.vista.recursos.Resources;
import ni.com.empresa.client.vista.widget.Reporte;
import ni.com.empresa.shared.modelo.Lineanaviera;

import com.extjs.gxt.ui.client.data.BaseListLoader;
import com.extjs.gxt.ui.client.data.ListLoader;
import com.extjs.gxt.ui.client.data.RpcProxy;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.GridEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.Window;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.FieldSet;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GroupSummaryView;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;

public class LineasNavierasCatalogoFrm extends LayoutContainer {

// Controles
LayoutContainer contenedor = new LayoutContainer();

// Proxys
RpcProxy> proxyNavieras = null;

// Servicios
final LineanavieraDAOAsync daoNavieras = (LineanavieraDAOAsync) GWT.create(LineanavieraDAO.class);

// Variables
List configs = new ArrayList();
GroupSummaryView view = null;
ColumnModel cm = null;
Lineanaviera nav = null;

// Aqui definimos el Control GRID lo ponemos como propiedad para que sea alcanzado desde cualquier parte de la clase.
private Grid gridNavieras;

//Constructor de la clase que pinta el GRID.
public LineasNavierasCatalogoFrm() {
initServicios();
iniciaPintar();
//metodo para cargar los datos en el grid automaticamente.
gridNavieras.getStore().getLoader().load();
}

//Metodo Instanciador de servicios de Servicios
void initServicios() {
// Servicio de Consignatarios/Clientes
ServiceDefTarget epConsignatario = (ServiceDefTarget) daoNavieras;
String uriConsignatario = GWT.getModuleBaseURL() + "LineanavieraDAO";
epConsignatario.setServiceEntryPoint(uriConsignatario);

// Carga de Consignatarios
proxyNavieras = new RpcProxy>() {
@Override
protected void load(Object loadConfig, AsyncCallback> callback) {
daoNavieras.getList(callback);
}
};

}

@SuppressWarnings({ "rawtypes", "unchecked" })
void iniciaPintar() {

setWidth("755px");

FormPanel frmpnlNaiveras = new FormPanel();
frmpnlNaiveras.setHeaderVisible(false);
frmpnlNaiveras.setPadding(2);
frmpnlNaiveras.setFrame(true);
frmpnlNaiveras.setSize("755", "330");
frmpnlNaiveras.setHeading("Catalogo de Navieras");

FieldSet fldstNavieras = new FieldSet();

LayoutContainer Contenedor = new LayoutContainer();

//Establecemos las configuraciones de las columnas
configuracionDeColumnas();

ListLoader> listNavieras = new BaseListLoader(proxyNavieras);
ListStore storeNavieras = new ListStore(listNavieras);

cm = new ColumnModel(configs);
gridNavieras = new Grid(storeNavieras, cm);
gridNavieras.setLoadMask(true);
gridNavieras.setAutoExpandMax(600);

gridNavieras.addListener(Events.RowDoubleClick, new Listener() {
@Override
public void handleEvent(GridEvent e) {
nav = ((Lineanaviera) e.getModel());

final Window window = new Window();
window.setSize(470, 275);
window.setResizable(false);
window.setPlain(true);
window.setModal(true);
window.setResizable(false);
window.setBlinkModal(true);
window.setHeading("Edicion Naviera");
window.add(new LineasNavierasFrm(nav));
window.show();
}
});
gridNavieras.addListener(Events.RowClick, new Listener() {
@Override
public void handleEvent(GridEvent e) {
nav = ((Lineanaviera) e.getModel());

}
});

Contenedor.add(gridNavieras);
gridNavieras.setSize("715", "220");
fldstNavieras.add(Contenedor);
Contenedor.setBorders(true);
frmpnlNaiveras.add(fldstNavieras, new FormData("100%"));
fldstNavieras.setHeading("Consignatarios");

ToolBar toolBar = new ToolBar();
toolBar.setBorders(true);
toolBar.setEnableOverflow(false);

Button btnNuevo = new Button("Nuevo ");
btnNuevo.setIcon(Resources.ICONS.add());
btnNuevo.addListener(Events.Select, new Listener() {

@Override
public void handleEvent(ButtonEvent be) {
final Window window = new Window();
window.setSize(470, 275);
window.setResizable(false);
window.setPlain(true);
window.setResizable(false);
window.setModal(true);
window.setBlinkModal(true);
window.setHeading("Nueva Naviera");
window.add(new LineasNavierasFrm());
window.show();

}
});

Button btnRefrescar = new Button("Refrescar ");
btnRefrescar.setIcon(Resources.ICONS.task());
btnRefrescar.addListener(Events.Select, new Listener() {

@Override
public void handleEvent(ButtonEvent e) {
gridNavieras.getStore().getLoader().load();

}
});
toolBar.add(btnRefrescar);
toolBar.add(btnNuevo);

Button btnConsultar = new Button("Consultar ");

btnConsultar.setIcon(Resources.ICONS.form());
btnConsultar.addListener(Events.Select, new Listener() {

@Override
public void handleEvent(ButtonEvent e) {

if (nav != null) {

LineasNavierasFrm frmNaviera = new LineasNavierasFrm(nav);
frmNaviera.btnSalvar.setEnabled(false);

final Window window = new Window();
window.setSize(470, 275);
window.setResizable(false);
window.setResizable(false);
window.setPlain(true);
window.setModal(true);
window.setBlinkModal(true);

window.setHeading("Consulta Naviera");

window.add(frmNaviera);
window.show();

} else {
MessageBox.alert("Error de Seleccion", "No ha seleccionado una Naviera", null);
}
}
});
toolBar.add(btnConsultar);

Button btnEliminar = new Button("Eliminar");
btnEliminar.setIcon(Resources.ICONS.delete());
btnEliminar.addSelectionListener(new SelectionListener() {
@Override
public void componentSelected(ButtonEvent ce) {
}
});

btnEliminar.addListener(Events.Select, new Listener() {
@Override
public void handleEvent(ButtonEvent e) {
if (nav != null) {
LineanavieraDAOAsync serviceConsignatarios = LineanavieraDAO.Util.getInstance();

serviceConsignatarios.delete(nav.getIdlineanaviera(), new AsyncCallback() {
@Override
public void onFailure(Throwable caught) {
Mensajes.error(caught.getMessage());
}

@Override
public void onSuccess(Void result) {
Mensajes.deleteOK("Naviera Eliminada!");
gridNavieras.getStore().getLoader().load();
}
});

} else {
MessageBox.alert("Error de Seleccion", "Seleccione Naviera a Eliminar!", null);
}

}
});
toolBar.add(btnEliminar);

Button btnVistaPreliminar = new Button("Vista Preliminar");
btnVistaPreliminar.addListener(Events.Select, new Listener() {
@Override
public void handleEvent(ButtonEvent e) {

Window w = new Window();
w.setSize(900, 600);
w.setModal(true);

w.add(new Reporte(21, Reporte.PDF, "", false));
w.show();
}
});
btnVistaPreliminar.setIcon(Resources.ICONS.print01());
toolBar.add(btnVistaPreliminar);
frmpnlNaiveras.add(toolBar, new FormData("100%"));
add(frmpnlNaiveras);
}

//Metodo para definir las caracteristicas de las columnas
private void configuracionDeColumnas() {
configs = new ArrayList();

ColumnConfig idlineanaviera = new ColumnConfig("idlineanaviera", "Id", 80);
configs.add(idlineanaviera);

ColumnConfig nombrenaviera = new ColumnConfig("nombrenaviera", "Naviera", 150);
configs.add(nombrenaviera);

ColumnConfig nombrecontacto = new ColumnConfig("nombrecontacto", "Contacto", 150);
configs.add(nombrecontacto);

ColumnConfig telefonoscontacto = new ColumnConfig("telefonoscontacto", "Telefono", 100);
configs.add(telefonoscontacto);

ColumnConfig clmncnfgEmail = new ColumnConfig("email", "Email", 100);
configs.add(clmncnfgEmail);

ColumnConfig estatus = new ColumnConfig("estatus", "Estatus", 70);
configs.add(estatus);

ColumnConfig idpais = new ColumnConfig("pais", "Pais", 70);
configs.add(idpais);

}

}



الجمعة، 25 مايو 2012

Movistar Nicaragua APN WAP MMS datos configuracion

Configure your smarPhone, android, nokia, iPhone, etc,  modems 3G, tabletas, etc.


APN: internet.movistar.ni

Movistar's connection data:
Dial up number: *99#
User: movistarni
Password: movistarni
APN: internet.movistar.ni

Movistar's Connection Data WAP
Connection Name: Movistar WAP o como quiera
APN : wap.movistar.ni
Para la conexion a Internet FULL el APN es: internet.movistar.ni
User: movistarni
Password: movistarni
Proxy010.012.023.001
Port:80/8080

Movistar's Conntecion data MMS
Connection Name: Movistar MMS
APN : mms.movistar.ni
User: movistarni
Password: movistarni
Authenticacion : normal
Proxy010.012.023.001
Port:80
mmsc: http://mms.movistar.ni

Si es un en el mismo dispositivo, configurar todo en el mismo APN.

Actualizacion(2013)
En algunos dispositivos se puede adquirir la configuracion desde la operadora  enviando el mensaje de texto "activame" o "internet" al 5981