El desarrollo de Asterisk está creciendo a pasos agigantados y también la cantidad de software alrededor de esta plataforma que ya es un Killer App, por lo que buscando hace unos días información sobre USRP encontré información sobre OpenBTS y de ahí di con un vídeo en youtube sobre como interceptar llamadas entre teléfonos celulares, esto mediante un dispositivo USRP el cuál toma la función de un AP GSM, por lo que los móviles se conectan a estos AP pensando que son los verdaderos de Telcel o Movistar, pero lo que no saben es que en realidad es que son Fake AP que si permiten hacer llamadas, más no recibir obviamente, pero las llamadas realizadas son monitoreadas por el sistema Fake que se encuentra en medio.
En youtube se puede encontrar un video que explica aun más este nuevo concepto:
Con el desarrollo que ha tenido Asterisk en los últimos años prácticamente la cantidad de soluciones que se han generado a partir de este Killer App han sido impresionantes.
Lo interesante de Asterisk no solo es el proyecto en si, si no la combinación con otras tecnologías, como para el caso de hoy que hablaremos de la tecnología de radio.
La tecnología de radio se ha dado desde el siglo XIX, muchos cuándo oyen radio se imaginan a una estación que transmite alguna canción de universal stereo o algo asi, pero en si Radio se refiere a la tecnología de Radiofrecuencia, la cuál permite transmitir datos a traves de las ondas hertzianas mejor conocidas como frecuencias.
La radiofrecuencia está en la señal de TV, Señal de Satélite, Señales de WiFi, Microondas, GPRS, GSM, Edge, WiMax y un sin fin de tecnologías propietarias y abiertas. Cada uno de estos servicios se transmiten en diversas frecuencias, es como si fuera una autopista con diversos carriles, un carril para Trailers, otro para autobuses y otros para automóviles por ejemplo, cada una en su carril para no amontonarse y no causar interferencias. Algunas de estas frecuencias requieren permisos para poder usarse, de ahí que no cualquiera tenga una estación de radio, monopolio de tv o de telefonía celular, pues estas frecuencias están concesionadas y requieren de infiltrados, compadrazgos y permisos otorgados por las comisiones de comunicaciones del país dónde se requieran.
Dicho lo anterior ya sabemos que es la tecnología de RadioFrecuencia, que permisos se requieren e imaginamos que pasaría si las usáramos sin permiso, quien los da y que no a cualquiera se los otorgan. Ahora pasemos al tema principal del Post
Cómo comentamos al inicio el mezclar Asterisk con otras tecnologías como este caso de radio podría llevarnos a desarrollar interesantes cosas algunas de prueba e investigación y algunas más con otros fines. Y una de esas tecnologías combinadas puede ser USRP ( Universal Software Radio Peripheral ) dispositivo desarrollado y distribuído comercialmente por Matt Ettus, dispositivo que tiene el aspecto interesante de ser Hardware Abierto, lo que implica que cualquiera puede bajarse las especificaciones y desarrollarlo por si mismo, claro contando con el conocimiento técnico avanzado.
¿Qué es USRP?
Este dispositivo está diseñado básicamente para ser un radio por software, lo interesante es que con el Mainboard más los daughterboards podemos tener diversos radios como para transmitir estaciones de radio musicales, televisión, telefonía celular, bluetooth, microondas, señal de radioaficionados, RFID, etc.,
Esto ya que las diversas 'Tarjetas Hermanas' transmiten a diversas frecuencias por lo cuál mediante software puede definirse la frecuencia a usar y tener diversas aplicaciones.
Dicho lo anterior entonces la combinación de Asterisk + USRP puede llevarnos a crear una pequeña red de telefonía GSM local, recordemos que la tecnología GSM transmite en las frecuencias licenciadas de 850/900/1800/1900 por lo que usando el MainBoard USRP más la DaughterBoard correcta que permita transmitir a esas frecuencias como puede ser el WBX podríamos tener una red GSM local.
+
Aja!, OK! suena lindo, pero ¿ Y cómo ?
En los últimos años han salido diversos proyectos OpenSource alrededor de Asterisk, cómo el caso de OpenBTS.
OpenBTS es un proyecto que une el USRP+Asterisk para interconectar teléfonos móviles a traves de USRP y Asterisk, para hacer y recibir llamadas.
Básicamente lo que hace OpenBTS es usar la tecnología del USRP más el módulo adecuado para poder crear una red GSM con la cual los teléfonos puedan registrarse, pues al final una red GSM es como si fuera un Access Point WiFi solo que en vez de estar en la frecuencia de los 2.4 Ghz(802.11b) o 5.8 Ghz(802.11g) está sobre la de los 850/900/1800/1900 Mhz, entonces ya teniendo registrado los teléfonos OpenBTS hace interfaz con Asterisk para poder hacer y recibir llamadas entre los mismos móviles o hacia la red PSTN.
¿Y esto funciona ? ¿O solo es vaporware ?
Por supuesto que ya funciona, incluso se han hecho pruebas reales para dar cobertura a decenas de usuarios en un evento masivo en el desierto, área dónde no había cobertura celular, para esto se instaló una antena del USRP que estaría conectada con Asterisk, y en Asterisk se registraron los teléfonos móviles y a cada uno se le asignó un DID con el cuál podían hacer y recibir llamadas a la PSTN usando un servicio de Voz sobre IP. Se puede ver una presentación picándole AQUI
Bonito, bonito, bonito.. pero una imagen vale más que mil palabras ¿ Hay algún video de prueba ? Por supuesto gracias a la magia de youtube que es como la espada del augurio que nos permite ver más allá de lo evidente aquí está un video con unas pruebas que se hicieron usando OpenBTS y se pueden encontrar más en youtube.
Muchos hemos oído hablar de los Widgets, que en términos informáticos se refieren a los diversos controles que tiene un GUI como puede ser un botón, un slider o un display.
Entónces podemos definir que un Phidget es la representación física de un Widget (PHYsical wiDGET), lo que indica que esos controles los podemos tener físicamente.
¿ Cómo es esto ?
Por ejemplo podemos tener botones, sliders, pantallas, sensores de luz, temperatura, movimiento, motores, etc., ¡Hasta lectores de tags RFID! vaya, juguetitos electrónicos para acabar pronto, con lo cuál podemos crear y tener múltiples soluciones de tecnología.
¿Cómo funciona ?
Básicamente se requiere de una tarjeta la cuál tiene entrada para puertos analógicos y digitales, así como salida de puertos digitales.
Esta tarjeta se conecta a la PC vía puerto USB y mediante un API se puede programar aplicaciones para cualquiera de los phidgets conectados a la tarjeta.
¿Cuáles son los puertos de Entrada Analógicos ?
Básicamente los puertos dónde se conectan sensores de movimiento, temperatura, luminosidad, etc.,
¿Cuáles son los puertos de Entrada Digitales ?
Son aquellos dónde puedes recibir información de los Touch, Motion, Force/Pressure Phidgets.
¿Cuáles son los puertos de Salidas digitales ?
Estos pueden pantallas de LEDs, relevadores, etc.,
Lo interesante de los Phidgets es que con el API de Programación podemos desarrollar múltiples soluciones e integrarlos con diversas tecnologías como puede ser Asterisk o una aplicación entre otras cosas, esto ya que la empresa desarrolladora de este concepto tiene librerías de desarrollo para Linux, Windows incluso para MacOS X.
Hace unos días un cliente me pidió poder visualizar los PINS que se configuraron para poder marcar a números móviles desde la extensión del conmutador de voz sobre IP que se le implementó.
Hint: Los PINS son claves o passwords únicos que se asignan a cada usuario, de tal forma que si se desea llevar un control de llamadas a números 044, 045 o larga distancia por ejemplo tiene que introducir su PIN asignado, de tal forma que ese PIN queda almacenado en los registros de llamadas y por medio del cuál se puede identificar que usuario hizo la llamada independientemente de que extensión haya llamado.
Cómo en este caso se le instaló FreePBX como administrador gráfico ya que asi se le facilitan las opciones de configuración, por lo que se modificó en primera instancia el archivo /var/www/cloudvoox/admin/cdr/call-log.php que es el script en PHP que genera los reportes de las llamadas realizadas, ahí solo se agregó la columna de ACCOUNTCODE de la tabla del CDR dónde quedan almacenados los PINS, pero en este caso la columna no reflejaba nada, por lo que checando la base de datos en el campo ACCOUNTCODE no se estaba guardando el PIN que se utilizaba cuándo se marcaba a un número móvil.
Revisando el código fuente en /usr/src/asterisk/asterisk-addons-1.4.10/cdr/cdr_addon_mysql.c todo estaba bien, pues Asterisk si tenía habilitada la opción de guardado del PIN en ACCOUNTCODE.
Por lo que me puse a revisar cómo estaba la configuración del plan de marcación que genera FreePBX, para esto chequé el archivo /etc/asterisk/extensions_additional.conf y encontré que en la macro de PINSETS, tenía lo siguiente:
[macro-pinsets]
include => macro-pinsets-custom
exten => s,1,GotoIf(${ARG2} = 1?cdr,1)
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}"!= "NOPASSWD"],Authenticate,/etc/asterisk/pinset_${ARG1})
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}"!= "NOPASSWD"],ResetCDR,)
exten => cdr,1,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}"!= "NOPASSWD"],Authenticate,/etc/asterisk/pinset_${ARG1},a)
exten => cdr,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}"!= "NOPASSWD"],ResetCDR,)
; end of [macro-pinsets]
Ahí pude ver que en esta parte le faltaba una ,'a' despues de {ARG1}
Por lo que lo obvio era solo modificar este archivo y ponerle la 'a' al final, pero este archivo se regenera cada vez que en FreePBX se aplican cambios, por lo que no tenía sentido hacer la modificación aquí ya que al momento de aplicar cambios borraría los cambios realizados manualmente.
Para esto busqué el código de FreePBX dónde generaba esta parte de las Macros de los Pinsets y el archivo es
Ahora solo bastaría en la configuración del ruteo de salida de FreePBX quitar el PIN a la ruta, aplicar los cambios, volver asignar el PIN y aplicar los cambios, con esto al momento de marcar a un número móvil, la ruta pediría el PIN y esté sería ya almacenado en el campo ACCOUNTCODE de la tabla CDR y asi poder ser reflejado en el reporte de llamadas de FreePBX
Hace un rato un amigo de chiapas me contactó por el chat de gmail y me preguntaba que porqué desde el cliente SFTP de su Mac no podía conectarse a un servidor SFTP de CentOS.
El error que le enviaba el filezilla y otro que no recuerdo cuál es era el siguiente:
subsystem request failed on channel 0
Connection closed
Por lo que me dió el acceso a su servidor y entre a checar los logs, para empezar CentOS manda la información del log de SSH a /var/log/messages contrario a Ubuntu que lo manda a /var/log/auth.log
Al ver el log veía que el servidor de SFTP si aceptaba el password pero enviaba el siguiente error al log.
Feb 10 00:12:00 server sshd[31667]: subsystem request for sftp
Feb 10 00:12:00 server sshd[31667]: subsystem request for sftp failed, subsystem not found
Por lo que revisando en google encontré la causa en la siguiente liga :
Hace un rato configurando un servidor de fax virtual con IAXModem, HylaFax y AvantFax me encontré que en las nuevas versiones de Asterisk viene incluída una característica adicional de seguridad anti DoS en el protocolo IAX2. Debido a esto mi configuración de Iaxmodem simplemente no funcionaba ya que asterisk no permitía el registro de iaxmodem.
Leyendo la información de iax en http://www.asterisk.org/doxygen/trunk/Config_iax.html , encontré que esto se debe a una un anti DoS agregado a la seguridad de Asterisk, pero esta opción se podía desactivar mediante la siguiente forma, para esto solo hay que añadir estos parámetros en los generales de IAX, en el caso de FreePBX en iax_general_custom-conf.
calltokenoptional = 0.0.0.0/0.0.0.0
requirecalltoken = auto
maxcallnumbers = 512
Esta es la parte del documento dónde se menciona, obviamente no es recomendable desactivar esta opción pero puede ser útil para ciertos casos.
http://www.asterisk.org/doxygen/trunk/Config_iax.html
;
; The following two options are used to disable call token validation for the
; purposes of interoperability with IAX2 endpoints that do not yet support it.
;
; Call token validation can be set as optional for a single IP address or IP
; address range by using the 'calltokenoptional' option. 'calltokenoptional' is
; only a global option.
;
;calltokenoptional=209.16.236.73/255.255.255.0
;
; In a peer/user/friend definition, the 'requirecalltoken' option may be used.
; By setting 'requirecalltoken=no', call token validation becomes optional for
; that peer/user. By setting 'requirecalltoken=auto', call token validation
; is optional until a call token supporting peer registers successfully using
; call token validation. This is used as an indication that from now on, we
; can require it from this peer. So, requirecalltoken is internally set to yes.
; By default, 'requirecalltoken=yes'.
;
;requirecalltoken=no
;
;
; These options are used to limit the amount of call numbers allocated to a
; single IP address. Before changing any of these values, it is highly encouraged
; to read the user guide associated with these options first. In most cases, the
; default values for these options are sufficient.
;
; The 'maxcallnumbers' option limits the amount of call numbers allowed for each
; individual remote IP address. Once an IP address reaches it's call number
; limit, no more new connections are allowed until the previous ones close. This
; option can be used in a peer definition as well, but only takes effect for
; the IP of a dynamic peer after it completes registration.
;
;maxcallnumbers=512
;
Desde hace años vengo usando FreePBX como configurador de las funciones básicas de PBX de Asterisk, siempre de la mano con Zaptel y Wanpipe para la instalación de drivers de tarjetas Sangoma.
Hace un par de días quise romper con mi tradicional instalación de Asterisk que la baso en Asterisk 1.4.18, Zaptel 1.4.12 y FreePBX 2.5, en este caso comencé a usar DAHDI preparándome ya para las nuevas instalaciones con Asterisk 1.6 o a futuro con 1.8, el detalle es que FreePBX no está configurado para DAHDI desde instalación, pero si ya está listo desde hace más de un año para soportarlo con un par de ligeros cambios en la configuración, los cuales comento enseguida.
Despues de haber compilado Asterisk, DAHDI, Wanpipe, oslec en su caso, e instalado y configurado FreePBX solo hay que editar el archivo /etc/amportal.conf para usar DAHDI con FreePBX.
#Editamos el archivo de configuraciòn de freePBX sudonano/etc/amportal.conf #Descomentar la siguiente linea y poner a true ZAP2DAHDICOMPAT=true #Guardar el archivo #Aplicamos los cambios, depende del directorio de instalaciòn de freepbx sudo/usr/src/freepbx*/apply_conf.sh sudonano/etc/asterisk/asterisk.conf #buscar despues de [options] la siguiente línea
dahdichanname = no ; Ponerlo a no para que use renombre a Zap en vez de nombrar los canales como DAHDI #guardar el archivo #crear una liga dinámica de chan_dahdi.conf a zapata.conf sudoln-s/etc/asterisk/chan_dahdi.conf /etc/asterisk/zapata.conf #Reiniciamos Asterisk+FreePBX sudo amportal restart
Con esto ya tendremos listo freepbx para usarlo con los canales de DAHDI, asi como también al hacer el enlace dinámico podremos ver en el Flash Operator Panel la info de los canales de DAHDI como si fueran troncales zap, la configuración de troncales de DAHDI se hacen igual que como si tuvieramos los drivers de zaptel.
Hace un rato me llegó un correo de una empresa que se hace llamar importando-mex.com, en el correo anuncian super ofertas de laptops, como por ejemplo una MacBook en $ 9,000.00 por lo que se me hizo raro y entré a checar la página.
Haciendo un whois importando-mex.com, me arroja que el dominio fué creado apenas:
Supuestamente están en Reynosa, Tamaulipas. Hasta publican un mapa de su ubicación el cual he copiado para mantenerlo vigente por si su sitio desaparece.
Juárez 4225 esq. Guerrero, Zona Centro
CP 88500 Cd. Reynosa, Tamaulipas
Pero buscando en google maps esa dirección veo que es una esquina sin construcción o edificio alguno:
En la página al procesar un pedido veo que hay una cuenta de banco que es la siguiente:
Datos para pago en efectivo, cheque y/o transferencia bancaria:
Banco: Banamex
Cuenta: 74020002704
CLABE: 002180740200027045
Titular: FERNANDO VIVANCO DE LA GARZA
Buscando en google el nombre del titular, al parecer ha creado con anterioridad varios sitios parecidos y defraudado a varios:
Quise reportarlo con la policía cibernética de la SSP, pero creo que ya andan de vacaciones incluso su website, pues al querer levantar la denuncia me genera un mensaje NSAPI en off, asi que al parecer la burocracia también la trasladan a internet por lo que veo. Ja, ojalá en el inter no caiga algún incauto.
Así que aguas con las ofertas, pues la crisis está dura y cada bien le busca como puede incluso con fraudes.
Hace un mes se llevó acabo una protesta pacífica en el parque hundido de la Ciudad de México contra el impuesto al 3% a las comunicaciones dentro de las que se incluyen internet, esta protesta se organizó desde el internet por gente relacionada directamente a las comunicaciones e internet.
Protesta pacífica de Cibernautas contra el impuesto al internet
Uniéndome a la inconformidad contra la ambición voraz de los políticos por vivir bien a costa del pueblo copio aquí textualmente lo que comentan en el blog de Hola Oaxaca :
El dictamen que el Senado regresó con modificaciones a la cámara de diputados, que fue aprobado en el pleno de San Lázaro, y que se encuentra disponible en la dirección http://gaceta.diputados.gob.mx/Gaceta/61/2009/oct/20091031-B.pdf , dice en su artículo 8—el referente a las exenciones—en la fracción 4, inciso D, lo siguiente:
“Artículo 8. Fracción 4. (no aplicará el impuesto de 3%) Por los servicios de telecomunicaciones siguientes:
“D) De acceso a Internet, a través de una red fija o móvil, consistente en todos los servicios, aplicaciones y contenidos que mediante dicho acceso a Internet se presten a través de una red de telecomunicaciones.
“Cuando los servicios a que se refiere el párrafo anterior se ofrezcan de manera conjunta con otros servicios que se presten a través de una red pública de telecomunicaciones, la exención a que se refiere este inciso será procedente siempre que en el comprobante respectivo se determine la contraprestación correspondiente al servicio de acceso a Internet de manera separada a los demás servicios de telecomunicaciones que se presten a través de una red pública y que dicha contraprestación se determine de acuerdo con los precios y montos de las contraprestaciones que se hubieran cobrado de no haberse proporcionado el servicio en forma conjunta con otros servicios de telecomunicaciones gravados por esta ley. En este caso los servicios de Internet exentos no podrán exceder del 30% del total de las contraprestaciones antes referidas que se facturen en forma conjunta.”
En español y para que se entienda, significa que el servicio de Internet ya sea fijo o móvil, estará exento de impuesto, SOLO cuando se facture por separado de otros servicios de telecomunicaciones que se contraten y solo cuando en esa facturación SEPARADA no rebase el 30% del total de los servicios de telecomunicaciones contratados.
En pocas palabras, el impuesto se aplicará a TODOS, porque telmex, telcel, iusacell, cablemas, etc, venden su servicio de Internet en PAQUETE, no puedes contratar los servicios por separado y aunque así fuera, el gobierno te estaría obligando a consumir mas de los otros servicios (teléfono, televisión por cable o satelital) para que pudieras hacer un 60% de tu factura y así aplicar el descuento del 3%.
Desafortunadamente México es un pais dónde hay poca inversión para investigación científica y tecnológica, siendo México tirstemente un pais dónde más del 90% de la tecnología la tenemos que importar y eso es lo que nos ha puesto actualmente en un nivel muy bajo de competitividad frente a países como Brasil, India, Argentina, Chile, Australia, esto sin mencionar a las actuales potencias tecnológicas como lo son USA, China, Alemania, Inglaterra, Israel, entre otras muchas naciones que si le han apostado a la inversión en la educación y conocimiento de su gente.
Lo malo no solo es el impuesto al 3% de internet, de hecho lo aplaudiría si otras fueran las condiciones actuales, como por ejemplo mayor cobertura, mejor calidad de servicio, mayor competencia, altas velocidades de ancho de banda, servicio sin bloqueos, accesos inalámbricos de largo alcance con tecnologías abiertas como WiMax, entre otros aspectos que no se han dado debido a los oligopolios que el gobierno ha permitido y dónde el impuesto al 3% no afectará a las empresas proveedoras de servicios, ya que es un Impuesto Trasladado si no como siempre el afectado será el usuario final, yo, tú, eĺ, nosotros, ustedes quienes mes con mes pagamos servicios de telefonía, internet, entre otros.
El internet es una herramienta de conocimiento como los libros, deben de impulsarlo, no gravarlo,
Hace unos días leí que Microsoft había violado la GPL, pues tomó el código de una aplicación para generar ISOs de su nuevo sistema Windows 7 , la cuál el código es libre bajo la licencia GPLv2, y Microsoft lo que hizo fué tomar el código, crear una nueva aplicación cerrar el código y venderlo.
Pero no contaba que un internauta desensamblaría su nueva aplicación y encontrara similitud entre él código de la aplicación libre y la "nueva" aplicación de Microsoft.
Por ello estuve buscando una aplicación que desensamblara las aplicaciones .Net solo para probar ya que también desarrollo en .Net, pero en este caso estuve buscando una que funcionara en Linux, ya que eso de entrar a Windows me da flojera, por lo que buscando en los repositorios de Ubuntu me encontré con DotGnu y pnet-dev, por lo que solo hice un sudo apt-get install pnet pnet-dev pnet-ctools pnet-assemblies
Y con eso ya tenía instalado el desensamblador para .Net.
Por lo que solo bastó ejecutar
ildasm MiAplicacionEnPuntoNet.Exe
Comentarios Recientes