Búsqueda

Buscar en 
Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Venta de Garage

Remate de algunas chunches

Venta de Garage

Posts Recientes

About Me..

Lights of my Oaxaca City

Name : Filein Rommel Leon
Birth Year : 1981
Country/City of birth : México/Oaxaca de Juárez
Live in : México City.
Mail & MSN: fileinleon [at ] gmail [dot] com
University : Instituto Tecnológico de Oaxaca
Profession : SoftwareDeveloper
Hobbies : Photography, Basketball, Movies, Books, Gadgets, Travel, Open Source, Technology.
Movies : Knight's Tale, The life is beautiful, August Rush, 7 Dias(Mexican), Matrix, The Pianist.
Songs : La chispa adecuada(Heroes del Silencio), One(U2), Somewhere over the rainbow(Israel Kamakawiwo), Chan Chan(Buena Vista Social Club), Mesecina(Goran Bregovic), Something Inside (Jonathan Rhys Meyers).
Books : The Alchemist(Paulo Cohelo), Travel to the center of the earth(Julio Verne), The Journeyer (gary Jennings), Iliada(Homero),

Visitantes


Voz Sobre IP

Investigando acerca de como implementar e integrar la tecnologia domótica en un proyecto personal me metí a buscar información sobre protocolos para control de dispositivos caseros desde Linux, para ello he encontrado los protocolos X10, KNX/EIB, entre otros, de los cuáles X10 me pareció muy interesante aparte que es un estándar de fácil implementación y que tiene soporte en Linux a traves de diversos proyectos.

X10 es un protocolo que permite enviar y recibir señales a traves de las líneas eléctricas, de tal forma que existen "appliances" de diversas marcas que usan el protocolo X10 para recibir y enviar señalizaciones con lo que es posible enviar desde una PC una señal de apagado, encendido usando el protocolo X10 a traves de un convertidor de señal que convierte la información enviada a señales electricas que pasan por la red eléctrica hasta llegar al destino especificado para prender un aparato, apagarlo, aumentar su velocidad ó brillo.

Los appliances es posible configurarles un ID que se basa en un identificador de casa y un identificador adicional de 5 bits con los cuáles es posible identificarlos dentro de una red X10 casera, así es posible enlazarlos y desde un convertidor Serial-PLC es posible enviar diversas señalizaciones, de tal forma que es posible enviar el encendido y/o apagado de un dispositivos específico en cierto tiempo.

Lo interesante de esta tecnología es que con los convertidores de PC a PLC(Power Line Communication) es posible hacer infinidad de aplicaciones, una de ellas es que se pueden hacer interfaces usando AGIs para conectar Asterisk a un convertidor con lo cuál con una llamada poder encender o apagar dispositivos tales como alarmas, videocamaras, etc.

La tecnología X10 para muchos no es tan eficiente, ya que es suceptible a interfencias y a variaciones de voltajes y para ello los detractores de esta tecnología recomiendan hacer uso de del protocolo KNX el cuál no solo permite hacer señalizaciones por PLC si no también por TCP/IP y RF lo cuál resulta mucho más interesante.

Buscando información de RED5 para implementar un servidor de VideoConferencias y otras cosas más para un curso en línea que voy a dar en próximos días, me encontré entre la lista de quienes han implementado RED5 a DimDim, el cuál es una plataforma para comunicaciones y videoconferencias vía web.

DimDim está basado en RED5 el cuál es un proyecto OpenSource, DimDIm aunque tiene una versión libre disponible para la comunidad, también tiene otra 2 versiones de cobro las cuáles tienen ventajas adicionales.

Entre las características de DimDim es el soporte de comunicaciones multimedia en tiempo real lo que implica transmitir video, audio, texto, imágenes y documentos entre múltiples usuarios a traves de una aplicación flash que comúnmente puede llamarse chat, otra de las cosas interesantes de DimDim es la capacidad de proyectar documentos de OpenOffice y Officeen la página web(chat) para que pueda ser vista por todos los asistentes, pero lo que sin duda es de llamar la atención es el WhiteBoard que trae incluído con lo que la interacción entre los usuarios del chat es simplemente toda una experiencia, pues a traves del WhiteBoard se pueden plasmar ideas y soluciones que muchas veces es complicado explicar o entender con textos o palabras, esto cuándo se está en un videoconferencia.

Puede echársele un ojo a un video que muestra lo que es DimDim en su versión OpenSource, la cuál sin duda es una aplicación muy práctica para lo que es el eLearning y otras cosas más.

http://www.dimdim.com/opensource/dimdim_open_source_community_edition.html

OpenVPN es un software basado en la filosofía de software libre, que permite crear conexiones VPN entre equipos Linux, Windows, MacOSX, *BSD, *nix y Dispositivos móviles como Windows Mobile a traves de redes inseguras como internet o redes inalámbricas.

OpenVPN puede funcionar de varias maneras una de ellas de punto a punto, punto a multipunto y en modo bridge.

  • Punto a Punto: solo realiza una conexión segura entre 2 equipos, esta conexión puede usarse para compartir archivos entre 2 equipos en internet.
  • Punto a multipunto: Permite conectar a diversos dispositivos a un servidor OpenVPN el cuál permitirá redigir las peticiones remotas a una red interna a traves de una red como internet. El uso de este modo es factible para dar acceso a aplicaciones dentro de una red local a equipos que se encuentran en alguna parte de internet.
  • Modo Bridge: OpenVPN permite crear conexiones entre 2 redes remotas, de tal forma que OpenVPN funciona como gateway de un punto y otro para poder unificar las redes, esto es muy factible cuándo se tienen oficinas remotas y se desea unificarlas, una de sus ventajas se da para las aplicaciones de Voz sobre IP, Bases de Datos, etc.

    Nuestro caso: Punto a Mutipunto.

    Este tipo de modo de OpenVPN en mi caso es el que más uso, ya que me dedico a desarrollar aplicaciones para dispositivos móviles los cuáles se conectan a internet a traves de conexiones GPRS(Movistar y Telcel en México), de tal forma que les instalo un cliente OpenVPN a los móviles y de esta forma se conectan a un servidor OpenVPN, esto para poder acceder a las bases de datos, a los web services, servidores FTP, etc., de una forma muy segura sin comprometer la información en redes públicas.

    Para comenzar con OpenVPN necesitamos descargar el instalador para Windows de OpenVPN, el cuál puede obtenerse de la siguiente URL:

    http://openvpn.net/release/openvpn-2.0.9-install.exe

    Esto probablemente nos instale el software de OpenVPN en el siguiente directorio: C:\Archivos de Programa\OpenVPN

    Abrir la consola de Windows Inicio->Ejecutar->CMD

    Ya en la consola de Windows ir al directorio easy-rsa de OpenVPN cd C:\Archivos de Programa\OpenVPN\easy-rsa\

    Lo primero que se hará es crear un Certificado de Autoridad (CA) Ejecutar : #Inicia el proceso
    init-config

    #Aqui pedirá valores como Pais, Estado, Ciudad, Organización, Depto, Nombre del Servidor y Correo, todos estos valores se repetirán a excepción del nombre del host que en la parte de configuración de las llaves del cliente en la parte última.
    vars


    clean-all
    build-ca

    #Al finalizar esta parte se crearán varios archivos en directorio
    C:\Archivos de Programa\OpenVPN\easy-rsa\keys

    #Copiar el archivo keys\ca.crt al directorio
    C:\Archivos de Programa\OpenVPN\config
    copy keys\ca.crt ..\config\

    Con lo anterior habremos creado el Certificado de Autoridad.

    El siguiente paso es crear la llave privada y certificado del servidor.

    Ejecutar en el directorio easy-rsa el siguiente comando
    vars
    build-key-server phylevn.mexrom.net

    #dónde phylevn.mexrom.net es el nombre del servidor dónde se está instalando OpenVPN.

    #Aquí de igual pedirá datos, los cuáles deben ser los mismos introducidos anteriormente, también pedirá un password, este mismo password debe ser usado cuándo se creen las llave de los clientes.

    #Luego ejecutar el siguiente comando

    build-dh

    #Con esto se habrán creado otros archivos en el directorio keys.

    #Copiar los siguientes archivos del directorio easy-rsa\keys a ..config\


    C:\Program Files\OpenVPN\easy-rsa> copy keys\phylevn.mexrom.net.crt ..\config\
    C:\Program Files\OpenVPN\easy-rsa> copy keys\phylevn.mexrom.net.key ..\config\
    C:\Program Files\OpenVPN\easy-rsa> copy keys\dh1024.pem ..\config\

    #Ahora hay que configurar el servidor para luego iniciarlo.

    #Dentro del archivo de configuración de OpenVPN
    C:\Program Files\OpenVPN\config

    #Crear un archivo llamado server.ovpn y dentro de ese archivo introducir lo siguiente

    port 1194 proto udp dev tun ca "C:\Archivos de programa\OpenVPN\config\ca.crt" cert "C:\Archivos de programa\OpenVPN\config\phylevn.mexrom.net.crt" key "C:\Archivos de programa\OpenVPN\config\phylevn.mexrom.net.key" # Este archivo debe mantenerse en secreto dh "C:\Archivos de programa\OpenVPN\config\dh1024.pem" server 192.168.20.0 255.255.255.0 #Segmento de red que tomarán los clientes remotos ifconfig-pool-persist ipp.txt push "dhcp-option DNS 208.67.222.222" push "dhcp-option WINS 192.168.20.1" tongue.png ush "route-gateway 192.168.20.1" client-to-client push "route 192.168.1.0 255.255.255.0" #Segmento de la red local interna duplicate-cn #Con esta opción no es necesario crear una llave por cada cliente comp-lzo #Comprime los datos envíados y recibidos max-clients 60 persist-key persist-tun verb 3 status openvpn-status.log keepalive 10 120 suppress-timestamps route-delay 10 10

    #Ya con la configuración realizada solo basta darle click con el botón derecho del mouse al archivo server.ovpn y seleccionar la opción de Start with OpenVPN.

    #Pero antes de lo anterior hay que editar el registro de windows en la siguiente llave y reiniciar Windows. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    #Y en la opción de IPEnableRouter configurarlo a 1, esto para que se le permita a OpenVPN hacer el ruteo del segmento de la red privada a la red local interna.

    #Ahora si iniciar el servidor de OpenVPN

    #Si todo salió bien se abrirá una ventana de comandos y al final indicará
    Initialization Sequence completed

    #Con esto ya tenemos el servidor de OpenVPN echado andara, ahora falta crear las llaves de los clientes, para esto realizar lo siguiente

    #En la consola de comandos ir a :
    C:\Archivos de programa\OpenVPN\easy-rsa

    #Introducir los siguientes comandos
    vars
    build-key phylevn

    #dónde cliente es el nombre del cliente remoto, debe cambiar por cada cliente remoto configurado en caso de que se creen múltiples llaves.

    #Al momento de ejecutar build-key hay que repetir la información anteriormente capturada a excepción del nombre del host que debe ser el nombre del equipo cliente, también en password debe ponerse el password que se dió al crear la llave privada y certificado del servidor de OpenVPN.

    #En seguida hay que crear los archivos al directorio config del servidor OpenVPN
    copy keys\phylevn.crt ..\config
    copy keys\phylevn.key ..\config

    #Y también estos archivo hay que pasarlos a la máquina remota, solo hay que tener un modo seguro para envío de estas llaves a las máquinas remotas, los arhivos que debe tener la máquina remota deben ser los siguientes


    ca.crt
    phylevn.crt
    phylevn.key

    Dónde phylevn es el nombre de la llave para el host especificado, en caso de que se permita la duplicación de llaves, no importaría el nombre del archivo cliente que se pase en caso de que se tengan varios.

    #Ahora en las máquinas clientes también hay que tener instalado el software OpenVPN

    #Y se debe crear un archivo de configuracion llamado cliente.ovpn en el directorio config de OpenVPN


    C:\Archivos de programa\OpenVPN\config\

    #El archivo cliente.ovpn debe contener lo siguiente:

    client proto udp dev tun remote 201.123.42.174 1194 #Dirección IP Pública del servidor OpenVPN resolv-retry infinite nobind persist-key persist-tun ca "C:\Archivos de programa\OpenVPN\config\ca.crt" cert "C:\Archivos de programa\OpenVPN\config\phylevn.crt" key "C:\Archivos de programa\OpenVPN\config\phylevn.key" comp-lzo verb 3

    #Ya que esté guardado el archivo, solo basta presionar el botón derecho del mouse y presionar Start With OpenVPN, con esto el cliente se intentará validar con el servidor remoto, si todo salió bien, entonces el cliente tendra una nueva interfaz de red y le será asignada una IP en el segmento 192.168.20.x, con esto ya podrá hacer ping al servidor remoto, de igual forma a las IPs del segmento de la red local interna dónde se encuentra el servidor de OpenVPN.

    #Con Linux son los mismos pasos, a excepto de las rutas, pero el proceso es el mismo, solo se excluye la parte del registro de windows y se activa el IP Forwarding.

  • Hace unos días estando en Lerdo de Tejada, Veracruz -lugar dónde hacen un arroz a la tumbada muy sabroso-, un amigo me preguntó si conocía de algunos equipos que sirvieran como repetidores inalámbricos, es decir ellos tienen una conexión de intenet de 4 mbps y la querían compartir con varios amigos que están extendidos a los largo de la población, lo que se me ocurrió comentarles rápidamente en base a mi experiencia es que adquirieran Access Points que sirvieran como bridges y que al mismo tiempo pudiera funcinar en modo AP.

    Hace tiempo trabajando en una empresa conocí alguno de estos equipos y me tocó configurarlos, los llamados Wireless Switchs, los cuáles tienen Access Ports en vez de Access Points y la configuración es centralizada, estos Access Ports entre sus características es que pueden configurarseles varios ESSID, si no mal recuerdo tenían la opción de meterles hasta 4 ESSID en algunos lo que permitia hacer repetidores inalámbricos, lo malo solo era el costo pues una solución de esta no costaba en ese entonces menos de $ 1,000.00 dólares.

    Por lo que una solución como la mencionada anteriormente no era viable para estos amigos que querían realizar una función plenamente con fines de entretenimiento, por lo que regresando aqui a México, D.F., saque un router WRT54G que tenía por ahí empolvándose, previamente ya le había metido el firmware de DD-WRT, la versión 0.23 que salió hace más de un par de años, pero desde entonces no había actualizado el firmware en este equipo, por lo que dándome una vuelta en el sitio de DD-WRT vi que ya tienen la versión 0.24 con su Service Pack 1, por lo que ni tardo ni perezoso la bajé para instalársela.

    Antes ya había tenido conocimiento de Redes MESH y WDS(Wireless Distribution System), pero no lo había llevado a la práctica, por lo que despues de bajar la versión 0.24 de DD-WRT pude ver que el AP WRT54G en la configuración del Wireless ya permite trabajar en modo repetidor y modo bridge, por lo que quise hacer una prueba la cuál consiste en lo siguiente:

    Conectar el router Linksys en modo repetidor a un Access Point 2Wire Infinitum que está en alguna parte del edificio dónde vivo.

    Aqui es importante usar el mismo ESSID, Canal y llave WEP ó WPA que tiene el Access Point "padre" por así decirlo, de forma que hay que conectar el WRT54G como cualquier cliente inalámbrico con la salvedad que en la configuración hay que decirle que está trabajando en modo repeater bridge y no en modo AP o Cliente(ver figura de abajo).

    Posteriormente agregar una interfaz virtual inalámbrica en el Router, esto hará que se vea un AP más al gestionar las redes inalámbricas y de ahí poder conectarnos.

    Despues solo basta ir a la parte de Wireless->Wireless Security->Virtual Interfaces wl0.1 SSID [phylevn.mexrom.net] Para poder configurar la parte de seguridad de la red inalámbrica.

    Ya que quede todo esto hay que guardar las configuraciones y aplicarlas.

    Despues solo ir a la parte de Status y ver como está la parte inalámbrica ahí debería verse como el WRT54G se conecta en este caso al 2Wire Infinitum y también como un cliente se conecta a la interfaz virtual del WRT54G que trabaja en modo AP.

    Configuración del WRT54G en modo repetidor y también configurando la interfaz virtual del WRT54G.

    Agregando Interfaz vitual inalámbrica

    Gestionando las conexiones realizadas por el WRT54G, en este caso ya conectado al 2Wire Infinitum y también se observa como un cliente se conectó a la red inalámbrica phylevn.mexrom.net que es la interfaz virtual del WRT54G.

    Trabajando el Repetidor inalámbrico en WRT54G

    Lo interesante de todo esto es que se realiza en un par de minutos, sin gastar tantos pavos que con soluciones propietarias como las de Symbol Technologies ahora Motorola.

    Solo resta agradecerle a la comunidad de desarrollo de DD-WRT y al Open Source en general por permitir esto y muchas cosas más. face-smile.png

    Hace tiempo adquirí un par de tarjetas Sangoma, y otros equipos de telefonía IP con Intruder Store, que por cierto una de las tarjetas me salió mal pues me dañaba los módulos FXO, por lo que la envíe a garantía a Intruder cosa que nunca me la hicieron válida y hasta la fecha no me han regresado la tarjeta Sangoma A200 y de esto ya va más de un año..

    Ahora la cuestión es que cuándo compré las chunches con Intruder me registré en su portal para hacer la compra vía internet, recuerdo que me registré como "Filein Rommel 2", curiosamente hoy en la mañana me llegó el siguiente correo a nombre de la empresa "B Models" nombrándome "Filein Rommel 2", por lo que quise saber quién era esta empresa y de dónde habían obtenido mis datos, por lo que entré a su página web http://bmodelsmex.com y curiosamente me llevó a la página web de "Intruder Consulting", supongo que no configuraron bien el servidor virtual Apache, pues les falto poner en el alias *.bmodelsmex.com para que cuándo entraran sin la www no me mandara al dominio principal del servidor de Intruder.

    Aqui un screenshot del ping que hice a la página web de Intruder y Bmodel, curiosamente es la misma.

    Por lo que no me queda más que recomendar cuidado con la información que den, como lo son domicilios, números de tarjetas de crédito y demás, pues muchas empresas se dedican a dar o vender información a terceros.

    phyl3vn | Tecnología, Software, Voz Sobre IP, Personal | 20 Noviembre, 11:57am | 1 comentarios

    Llevo un par de meses integrando en un servidor Linux múltiples herramientas multimedia libres para la creación de un Centro Multimedia con capacidades domóticas.

    Entre las que he probado y de la que hablare ahora es de Motion.

    Motion Es una utilería desarrollado bajo una licencia libre que permite detectar movimientos en cámaras web usando video4linux como interfaz para conexión con Dispositivos de Video en linux tales como cámaras web.

    Lo interesante de Motion es que permite usar cualquier Cámara Web compatible con Linux para hacer VideoStreaming esto indica que podemos ver la cámara web a traves de una página web, por lo que monitorear la cámara se puede hacer desde cualquier parte del mundo siempre y cuándo la computadora dónde esta conectada la cámara estuviera conectada a una IP Homolagada, pero lo mejor de Motion es que permite configurarse para que cuándo detecte movimiento capture las imágenes y las guarde en un directorio en formato Jpeg, por lo que su uso se extiende aun más para lo que es VideoVigilancia.

    Por default Motion corre en modo aplicación, pero puede configurarse desde su archivo de configuración que está en /etc/motion/motion.conf para que corra en modo demonio por lo que siempre estará corriendo en background.

    Motion por default abre el puerto 8000 para que desde otras partes vía una página web se pueda monitorear la cámara web siempre y cuándo la opción de webcam_localhost esté en off, el puerto también es posible configurarlo.

    Algo que me llamó mucho la atención de Motion es que es muy configurable a traves de /etc/motion/motion.conf, en dónde leyendo mediante man la documentación me entero de que tiene un trigger on_event_start que permite ejecutar alguna aplicación al momento de detectar movimientos, de tal forma que aqui solo basta usar la imaginación para poder hacer algo interesante tal como es por ejemplo mendiante Asterisk alertar con una llamada telefónica a personal de seguridad de un movimiento detectado.

    También algo que me agradó de TextMotion es que guarda imágenes cuándo se detecta movimiento, asi como también tiene la opción de grabar un video de cuándo se detecta el movimiento y mejor aún de mostrar el área dónde se está registrando el movimiento..

    Tambien es posible configurar el número de frames necesarios parapoder considerar un evento de movimiento.

    Aquí pongo la configuración que uso para usar Motion como un detector de movimiento, con esta configuración guardo videos en formato avi con el codec msmpeg en el directorio default /var/lib/motion/snapshots y también desactivo la opción de que genere archivos JPG o PNG de movimiento, configuro a Motion para que muestre el video usando una calidad de 320x240 por cuestiones de rendimiento y ejecutando al momento de que se detecte un movimiento un script en PHP que es un Agi de asterisk que me permite marcar a una extensión telefónica.

    # Minimal motion example config file provided by the
    # Debian motion package - for basic webcam operation.
    #
    # You most certainly want to investigate
    # /usr/share/doc/motion/examples/motion-dist.conf.gz
    # for further configuration options. Also, refer to the
    # motion man page and /usr/share/doc/motion/motion_guide.html
    # for detailed information on configuration options.

    daemon off
    quiet on

    # You may very well need to change this (check with 'dmesg'
    # after plugging in your webcam).
    videodevice /dev/video0

    # Image size in pixels (valid range is camera dependent).
    #Si se tiene una cámara que soporte mayor calidad como por ejemplo 640x480 entonces cambiar los valores, por cuestiones de rendimiento he dejado los valores por default aqui
    width 320
    height 240

    framerate 25
    #calidad con que guardará las imágenes JPEG, en cuestiones de seguridad a veces es bueno darle un 100% asi  se tendrá una imagen más tínida, aunque esto requerirá mayores espacios
    quality 75
    auto_brightness off

    # General threshold level and noise threshold
    # level (for distinguishing between noise and motion).
    threshold 4500
    noise_level 64

    # Initial brightness, contrast, hue (NTSC), and saturation.
    # 0 = disabled (valid range 0-255).
    brightness 0
    contrast 0
    saturation 0
    hue 0

    # Encode movies in real-time (install ffmpeg before enabling).
    #default ffmpeg_cap_new off
    #ffmpeg_cap_new off
    #Habilitar esta opción para grabar videos cuándo haya movimiento
    ffmpeg_cap_new on

    # Codec to be used by ffmpeg for the video compression.
    # Supported formats: mpeg4, msmpeg4.
    #se configura el codec a usar
    ffmpeg_video_codec msmpeg4

    # Target base directory for pictures and films (you may need
    # to change this (or change its permissions) depending on
    # which system user runs motion).
    target_dir /var/lib/motion/snapshots

    # Define a port number (e.g. 8000) to enable the mini-http server.
    # 0 = disabled.
    webcam_port 8000

    # Set to 'off' to allow anybody (not just localhost) to view the
    # webcam via the mini-http server (http://hostname<img src="http://phylevn.mexrom.net/plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />ort).
    #webcam_localhost on
    webcam_localhost off

    webcam_quality 70
    webcam_maxrate 8

    #Configuracion personalizada

    #Puerto para entrar a la configuracion
    control_port 8001
    #Usuario y password para acceder a la configuracion
    control_authentication motion:m0t10n

    #Numero de frames requeridos para poder lanzar el evento de movimiento
    #minimum_motion_frames  10

    #Comando que se ejecuta al detectarse movimiento
    on_event_start  "php -q /var/lib/asterisk/agi-bin/makeCallwithAsterisk.php"

    #Esta opcion siempre generaria imagenes cada cierto tiempo aunque no haya movimiento
    #output_all on

    #Muestra la región donde se localiza el movimiento
    locate on

    #muestra un texto en la esquina inferior izquierda
    text_left "phylevn.mexrom.net"
    #aumenta el tamano del texto
    text_double on

    #se asegura de que haya movimiento
    roundrobin_skip 2

    #desactivamos la opción de que guarde archivos de imágenes
    output_normal off

    #indicamos que guarde los archivos en formato NTSC para el caso de Mexico
    norm 1

     

    Existen otras aplicaciones para monitoreo de cámaras tales como webcam-server, pero a mi gusto Motion por mucho se lleva las palmas.

    Para mis prubeas he usado una cámara web Creative Live! Cam, la cuál adquirí por $ 180 pesos en la plaza de la computación.

    Para poder conectar esta cámara en Ubuntu Linux 7.10, use el driver ov51x-jpeg-1.5.9. Es posible usar la cámara también para el AMSN y otros programas que hagan uso de Video4Linux.

    Hace un par de años encontré VoIPJet, un proveedor de Telefonía a traves de Internet, lo interesante de este proveedor es que ofrece su servicio usando el protocolo IAX, que es un protocolo nativo de Asterisk, el cuál IAX permite hacer las comunicaciones de Voz sobre IP de forma transparente aun estando detras de redes NAT, por lo que se volvió mi proveedor de Voz sobre IP favorito para mis implementaciones de conmutadores PBX de Voz sobre IP, aparte sus precios son bastante buenos:

    https://www.voipjet.com/prices.php

    Pero desafortunadamente desde hace algunos meses el servicio de Voz sobre IP con VoIPJet se restringió solo para proveedores de telefonía IP autorizados por los gobiernos locales, por lo que ya no podrá ser contratado este servicio por usuarios finales, a menos que se tenga un permiso por escrito en el caso de México por parte de la COFETEL, el cuál debe ser enviado a VoipJet para que asi activen el servicio.

    Afortunadamente hay otros servicios que si son para usuarios finales, aunque sus precios no son tan bajos como los de VoipJet, pero siguen siendo bastante atractivos para ser implementados en conmutadores de Voz sobre IP.

    Hace unos días estando en Oaxaca visitando a mi familia y degustando de los panes de muertos, me preguntó mi papá si podía instalarle un programa para reproducir música, esto ya que mi padre rentó la licencia del Bar "La Chinita" que allá en la Ciudad de Oaxaca está enfrente de la Tienda del Issste de la Calz. Madero, probando algunas aplicaciones como Amarok, Esperanza con XMMS2, Mplayer, Xine, XMMS, Juk, Jukx, entre otros se me hicieron demasiado complejas para poder usarlas como Rockolas, por lo que una noche caminando por la estación del ferrocarril se me ocurrió la idea de desarrollarla usando una interfaz web, una base de datos empotrable al código como sqlite, y una utilidad que reprodujera la música sin que se requiriera interfaz gráfica como lo hace XMMS2, por lo que llegando a la casa de mis padres empecé con las primeras líneas de código.

    El resultado final fué el siguiente:

    Screenshot Rockola (ALfabeto cervezas)

    Características de la Rockola:

  • Lectura recursiva de archivos MP3 de los directorios asignados en la configuración.
  • Extracción de información de Artista, Titulo, Album y Genero de los archivos MP3 encontrados.
  • Almacenamiento de la información en la base de datos SQLite (SQLite no requiere configuración adicional)
  • Clasificación de canciones MP3 por Artista, Album ó Género.
  • Subclasificación de canciones MP3 por Alfabeto.
  • Busqueda personalizada de canciones por artista titulo, album ó género.
  • Listado de MP3 por Artista, Album ó Género.
  • Muestra información detallada de canción MP3 seleccionado.
  • Agrega MP3 a la cola de reproducción de XMMS2.
  • Limpia la cola de reproducción de canciones ya reproducidas.
  • Interfaz web.
  • Modo pantalla completa(Fullscreen) mediante Firefox y r-kiosk.
  • Componentes Ajax para clasificación de información y para todo el manejo de la interfaz.
  • Teclado virtual para busqueda personalizada de canciones.
  • Muestreo de botones de alfabeto en modo botón o imagen.

    Requerimientos:

  • Linux
  • XMMS2
  • Apache
  • PHP
  • PHP5-SQLite3
  • Extract
  • Firefox
  • Add-on R-Kiosk.

    Aquí algunos otros screenshots.

    Screenshot Rockola (Teclado Virtual)


    Screenshot Rockola (Config)

    El código fuente de lo subiré a SourceForge en cuánto me habiliten el servicio para subir el proyecto.

    Update El código puede descargarse de la siguiente URL: http://sourceforge.net/projects/rockolaweb20/

  • Este viernes 24 y sábado 25 de Octubre del 2008 estuve en el ENLi presentando un par de charlas sobre Fotografía y Telefonía de Voz sobre IP con Asterisk, el evento del ENLi fué un éxito había asistentes y ponentes de todas partes. Llegué a Puebla el día viernes, venía de Oaxaca ya que estuve ahí unos días con mi familia, por lo que salí de Oaxaca a la 1 am para llegar a Puebla a las 6 a.m, como aun me faltaba terminar mi presentación sobre Fotografía Digital en Linux, me senté en el área de comida de la CAPU(Central de Autobuses de Puebla) aprovechando que por ahí había redes wifi con internet, ya por hay de las 9 a.m. tomé un taxi para la UPAEP universidad dónde se llevó a cabo el Encuentro Nacional de Software Libre, llegando a las 9:30 me registré ya que a las 10:00 A.m. tenía un taller de J2ME al que me inscribí para saber más acerca del tema.

    Despues fué la comida de los ponentes que fué en un restaurant con un buffete de comida china bastante bueno, terminando más que satisfecho y con ganas de una siesta, pero tenía que dar una charla sobre fotografía digital en linux, la charla salió bien me falló al último la generación de un HDR con QTPFSGUI, pero los demas ejemplos con GIMP y UFRaw salieron bastante bien.

    Despues de la charla anduve vagando por la UPAEP y ya más tarde me retiré al hotel. Ya como eso de las 11:00 P.M fui para el antro Toushé dónde se llevaría acabo la fiesta del ENLi, pero al llegar lo noté muy vacío por lo que no me quedé más de 10 minutos y tomé de regreso un taxi para el hotel.

    Ya al día siguiente del día sábado me tocó dar otra charla más técnica, Telefonía de Voz sobre IP con Asterisk, por lo que me dirigí a la sala dónde tenía que presentarla, ya estando ahí coloqué todas las chunches que usaría, ATAs, Teléfonos, Router, bluetooth, Móvil, etc., a media plática se acercó el Tacvbo y pensé que haría una promoción sobre sus equipos, pero cuál fué mi sorpresa que no solo haría publicidad para la empresa en la que participa Neocenter quién patrocinó al ENLi, si no también me regaló un teléfono de Voz sobre IP Aastra 480i el cuál viendo sus características es bastante bueno, por lo que salí rayadísimo del ENLi.

    Por lo que no me queda más que agradecer a los asistentes a mis charlas, al ENLi, a los organizadores y a NeoCenter que se puso la del Puebla con el teléfono de Voz sobre IP .face-smile.png

    Aastra 480 Telefono VoIP

    Pongo a la disposición para los que asistieron a mis pláticas en el ENLi 2008 en la UPAEP en la Ciudad de Puebla y quién le interese, el material de exposición de mis pláticas.

    Para descargarlas accedan a http://files.mexrom.net Validarse con:

    login:invitado

    password:invitado

    Y luego acceder a la carpeta de conferencias:

    Ahí tengo los archivos de las pláticas:

    Tema: Cómo instalar una centralita telefónica con Asterisk Archivo: Asterisk.odp

    Tema: Fotografía Digital en Linux Archivo: FotografiaDigitalEnLinux.odp

    En esta URL está un procedimiento antiguo para Instalar Asterisk desde cero: http://phylevn.mexrom.net/index.php/blog/show/Asterisk_1421FreePBX_240_sobre_Ubuntu_710.html

    Próximamente subiré la versión actualizada de este HowTo.

    Para alguna duda o comentario estamos en contacto en :

    [fileinleon] arroba [gmail] punto [com]

    phyl3vn | Tecnología, Voz Sobre IP, Eventos, Fotografia | 25 Octubre, 1:51pm | 1 comentarios

    Hace unos días fuí a Oaxaca a visitar a mi familia, platicando con mi padre quién es un profesor de educación primaria me comentó que este año le tocó dar clases a alumnos de 6° año de primaria, y con eso de la "Alianza por la Educación" para este nuevo ciclo escolar que va del 2008 es necesario enseñarle ingles a los niños de primaria, mi padre se mostró algo preocupado, ya que el no tiene nociones de ingles, mas que unas solas palabras, por lo que mostró preocupado de como enseñaría a sus alumnos la pronunciación de las palabras que venían en el texto de ingles para el grado asignado.

    Por lo que para ayudarle con esto, recordé que ya desde hace tiempo ya vengo trabajando con un sistema sintetizador de voz llamado Festival, este software permite leer textos y reproducirlos con diversos parlantes los cuáles pueden ser en ingles, italiano, frances, español, alemán, sueco, etc. dependiendo de la configuración seleccionada, de tal forma que es posible leer textos en ingles con la pronunciación adecuada usando un parlante ingles, o leer textos en italiano usando en festival un parlante italiano.

    El primer detalle que salió fué que festival está creado para Linux el cuál es un sistema operativo de código abierto, pero buscando en internet encontré la forma de compilar Festival para windows gracias a Benjamin L. Brown. Lo que se me ocurrió hacer es algo similar a una aplicación llamada ksayit que funciona bajo linux, esta aplicación lo que hace es reproducir el texto que se copia en cualquier programa, de tal forma que presionando el botón de ksayit ubicado en la barra de tareas de KDE lo reproduce a traves de Festival.

    Por lo que haciendo uso de Visual C++, C y Festival sobre Windows pude crear un pequeño plugin para Festival que podría ser de utilidad a alguien que quiera tener una ayuda sobre el aprendizaje de la pronunciación del idioma ingles y otros lenguajes.

    Instalación del Plugin para la pronunciación del ingles

    (También ver más abajo el video del procedimiento aquí indicado)

    Para poder descargar el plugin de Festival para Windows XP ir al siguiente link:

    http://files.mexrom.net/index.php

    El login y password de acceso es :

    user: invitado
    password: invitado

    Despues de acceder al sistema ir a la carpeta

  • FestivalSysTray/

    Y desde ahí seleccionar el archivo

  • FestivalTTS.exe

    Despues de que se descargue el arhivo ejecutarlo e instalarlo en el directorio raiz C:\ ya que se haya descomprimido se creará en automático el directorio C:\FestivalTTS, enseguida ir al directorio C:\FestivalTTS\festival\src\main\

    Y ejecutar FestivalXPSysTray.exe

    Una vez ejecutado FestivalXPSysTray.exe, se verá un ícono con forma de boca en la barra de tareas de Windows.

    Ahora solo seleccione un texto en ingles en alguna página de internet, documento, ventana, etc y luego vaya a presionar el ícono de la boca, seleccionado la opción hablar.

    Enseguida el sistema de Festival comenzará a leer el texto copiado.

    Codigo Fuente

    El código fuente también puede descargarse mediante PHPFileManager, solo ir al directorio source code y descargar los 2 archivos listados:

  • FestivalXPSysTray_src.exe
  • festival_piped.c

    Aquí pongo un video que indica los pasos para la instalación del plugin de Festival, esto por si hay algún profesor de educación primaria en nuestro pais que le fuera útil el plugin.

    Cualquier comentario, error o duda sobre el plugin desarrollado pueden hacérmelo saber en:

    fileinleon [arroba] gmail [punto] com

    Saludos..

  • Festival es un proyecto Open Source desarrollado por el centro de investigación de la universidad de Edimburgo, el cuál permite procesar texto a voz, de tal forma que ha sido posible tener un sistema que lee en diversos idiomas un texto, de tal forma que seleccionando un tipo de lector predeterminado(ingles,español, italiano, aleman, etc) es posible leer un texto respetando las reglas gramaticales de ese idioma.

    Festival inicialmente está desarrollado para usarse sobre un entorno Unix, por lo cuál nativamente está desarrollado bajo Linux, pero debido a que ha sido programado en C/C++ es posible compilarlo en otras plataformas como puede ser el caso de Windows.

    Hace unos días vine a Oaxaca y platicando con mi padre que es maestro de educación primaria, me comentó que ahora en la SEP le están pidiendo a los maestros de primaria de 5 y 6 grado que enseñen ingles a sus alumnos, por lo que su preocupación fué como enseñar ese idioma si no tiene el más mínimo conocimiento sobre la lengua anglosajona, mucho menos conoce la pronunciación, por lo que decidí buscar una solución y en este caso como ya había trabajado con Festival para alkgunas aplicaciones de Voz sobre IP que he desarrollado para asterisk , busque si había algun port para Windows, pero no encontré nada, por lo que busqué como compilar Festival para windows y encontré el siguiente tutorial.

    http://flame.cs.dal.ca/~lalita/festival/festivalXP.htm

    Ese tutorial me ha sido bastante efectivo y me sirvió para tener ya Festival trabajando sobre Windows.

    Solo es requerido tener un compilador de Visual C/C++ Las fuentes de Festival y Speech tools. El entorno unix para Windows cygwin Las herramientas de desarrollo con MinGW

    Y Seguir el procedimiento de instalación que sigue el tutorial.

    Vale la pena echarle un ojo.. face-smile.png

    Remate de algunos equipos seminuevos :

    Información de contacto:

    Teléfono: 5542238407
    Correo: fileinleon en gmail punto com
    Ubicación: México DF.

    Antena Satelital HughesNet 2 Watts
    Precio : $ 8,000.00 + Gastos de Envío..
    Antena Satelital Marca Hughes Net con Modem HN7000. Antena de 98cm con Radio de 2 Watts de potencia. Modem HughesNet HN7000 con velocidad de Transmisión hasta de 500kbps de subida y 2 Mbps de bajada según el plan contratado.

    Esta antena más el modem tiene un costo de $ 8,000.00 entregado en la Ciudad de Oaxaca ó más gastos de envío en caso de que se requiera enviar a otra ciudad.

    Puedo enviar el archivo de sistema para que verifiquen la información válida del equipo.

    Esta antena en mercado libre la consiguen en $ 950.00 dlls + Gastos de Envío e Instalación cómo puede verse en el siguiente link: http://articulo.mercadolibre.com.mx/MLM-24674764-internet-satelital-hn7000s-antena-98cm-instalado-_JM

    La venta es del puro equipo satelital módem HugesNet y antena de .98cm, se requiere hacer la reactivación del equipo con un proveedor de HugesNet. Pueden verse los planes de renta del servicio de Internet en la siguiente página: http://espacioenmovimiento.com/costos.html

    Es excelente para poner un cybercafé en lugares dónde no haya Infinitum o cable y funciona muy bien para navegación web, chat msn, correo Electrónico, videoconferencias, Descarga de arhivos y música, etc.

    Nota: Solo he usado esta antena como pruebas por 1 semana y desde entonces la tengo guardada.

    Computadora de Escritorio seminueva
    Precio : $ 6,000.00
  • Monitor Compaq 19 pulgadas
  • Procesador AMD Sempron 2800+ (2.0Ghz)
  • Memoria 1.25 Gb DDR 333
  • 1 Disco duro IDE de 40 Gb
  • 1 Disco duro IDE de 60 Gb
  • Lector de DVD ROM LG 16X
  • Quemador de DVD LG 22X
  • Cámara web genius usb (640x480 px)
  • Tarjeta de TV con control remoto, entrada para audio y video externo, salida de audio, conector para antena..
  • Tarjeta de Video Nvidia 128 Mb con salida de SuperVideo para TV y DVI (Conecta tú computadora a una televisión más grande).
  • Tarjeta Genius con soporte de sonido de 5.1 canales.
  • Teclado Multimedia inalámbrico y Mouse inalámbrico con pilas recargables incluídas.
  • Tarjeta de Red Fast Ethernet 10/100 mbits.
  • Fax/Modem
  • Gabitenete ATX.
  • 5 Puertos USB, 3 frontales y 2 traseros.
  • 2 PUertos Seriales, 1 Puerto paralelo.
  • Lector de tarjetas 12 en 1 (SD, micro SD, XD Card, Compact Flash,..) empotrado al gabinete.
  • 1 Joystick de 5 botones para jugar SuperNintendo, N64, PS en la Computadora.
  • 1 Pad de 8 botones para jugar SuperNintendo, N64, PS en la Computadora.
  • Windows XP Service Pack2 y Ubuntu Linux preinstalado.
    Linksys SPA 3102 Compatible con Asterisk
    Precio : $ 850.00 Vendidos

    Caracteristicas

    1 FXS + 1 FXO + 1RJ45 (LAN) + 1RJ45 (WAN). Adaptador analógico + Gateway.

    El SPA3102 es un adaptador analógico (FXS) que rehaliza las funciones de gateway (FXO), puediendo conectarse a una línea analógica o a una extensión de una centralita. Dispone de las funcionalidades del SPA 3000 con la característica añadida de ser un router neutro (SPA 2100).

    Este dispositivo permite dirigir llamadas de la telefonía tradicional o GSM a través de un proveedor de voz sobre IP y viceversa. Con ello es posible definir que todas las llamadas locales sean encaminadas a través de la línea telefónica tradicional (FXO) y las llamadas internacionales a través de un Internet (RJ45) mediante un proveedor de voz sobre IP y así reducir el gasto telefónico de manera significativa.

    Caracterísiticas:

    • Control de volumen
    • Identificador de llamada
    • Servidow Web para administración y configuración
    • Cancelación de eco (G.165/G.168)
    • VAD y supresión de silencio
    • 2 puertos Ethernet 10/100 Mbps (RJ45) (1 LAN + 1 WAN)
    • 1 puerto FXS RJ11
    • 1 puerto FXO RJ11

    Codecs Soportados:

    • G.711 (a-law y mu-law)
    • G.726
    • G.729A
    • G.723.1

    Protocolos de Señalización Soportados:

    • SIPv2

    Dimensiones:

    • 101 mm x 101 mm x 28 mm

    Linksys PAP-2 - Compatible con Asterisk VoIP
    Precio : $ 550.00
    Llama a cualquier parte del mundo y recibe llamadas desde cualquier parte del mundo usando tú red de internet por menos de 1 peso el minuto ó llama a celulares por .20 ctv de dólar.

    En la compra te digo como configurar este equipo para que puedas hacer llamadas por internet a precios bastante bajos y también para que puedas recibir llamadas con números de diversas partes del mundo.

    El precio original de este equipo es de más de 0.00 cómo lo puedes ver en la siguiente URL:

    http://www.paguito.com/cgi-local/SoftCart.exe/online-store/scstore/p-LIK00137.html?L+scstore+jcnv1534ffee05ee+1228208288

    Solo 1 disponible

    Dispositivo que permite conectar terminales analógicos (Teléfonos convencionales domésticos) a un router ADSL o Cable, para poder realizar llamadas de Voz sobre IP contratando el servicio en un operador de VOiP. El nuevo adaptador telefónico de Linksys, combinado con una subscrición a un plan específico de servicio VoIP, convierte la conexión de Internet existente en una línea telefónica de alta calidad para realizar y recibir llamadas telefónicas. El adaptador telefónico viene equipado con dos puertos telefónicos estándares (RJ-11) y un puerto Ethernet (RJ-45). Los usuarios conectan sus teléfonos inalámbricos o fijos existentes o una máquina de fax al adaptador telefónico, y conectan el adaptador telefónico a un router o gateway a través del puerto Ethernet. Cada conector telefónico opera individualmente, con servicio telefónico y números telefónicos separados; como tener dos líneas telefónicas. Con el servicio telefónico de alta calidad se obtiene una recepción telefónica clara y conexiones de fax confiables mientras que se navega en Internet al mismo tiempo.

    Dos puertos telefónicos estándares (RJ-11) y un puerto Ethernet (RJ-45)

    Compatibilidad: con todas las características comunes de un teléfono: Llamada ID, llamada en espera, Voice mail, etc.

    Tarjeta X100P compatible con Asterisk
    Precio : $ 500.00 Vendido
    Tarjeta compatible con Asterisk. Provee un canal FXO. Compatible con los drivers Zaptel.

    Airlink 430w
    Precio : $ 400.00 Vendida
    Ruteador inalámbrico super G con capacidad de transmisión de hasta 108 Mbits compatible con el protocolo 802.11b/g. 1 Püerto Wan 4 puertos Ethernet Firmware dd-wrt 2.4 Service Pack 1 Activado.. Listo para trabajar en Modo AP con funcionalidades de un Router avanzado profesional, así como también ya viene listo para poder implementarse un WDS(Wireless Distribution System) lo que te permitira sin usar cables extender haciendo saltos tú red inalámbrica.

    Informacion sobre DD-WRT

  • http://www.dd-wrt.com/wiki/index.php/%C2%BFQu%C3%A9_es_DD-WRT%3F

    Audifonos Inalambricos
    Precio: $ 300.00
    Audifonos inalámbricos con base que transmite en la frecuencia de los 900 Mhz. Permite escuchar hasta 20 metros de la base. También permite escuchar teléfonos inalámbricos en la frecuencia de los 900 Mhz.

    Incluye cable de audio.

    Router Linksys RTP300 Precio $ 850.00
  • Incluye un puerto WAN
  • Incluye 4 puertos 10/100 LAN para conexión ethernet
  • Permite configuración de firewall, redireccionamiento de puertos, filtrado web, etc.
  • Incluye 2 Puertos FXS para conectar teléfonos a redes de Voz sobre IP.
  • Compatible con el protocolo SIP
  • Soporta Codecs G729, G711u, G711a, Ilbc, G723, GSM

    El precio de este equipo en tiendas de internet va de los $ 1,200 pesos más IVA.

    2 Teléfonos Inalámbricos GE
    Precio : $ 200.00 C/U
    Buzón de mensajes. Base con altavoz. Incluye:

    • Cable telefónico
    • Batería recargable
    • Base
    • Cable de corriente
    • Teléfono inalámbrico 2.45 Ghz
    Impresora Multifuncional HP C4180 Seminueva
    Precio : $ 1, 100.00 (Incluye cartucho nuevo de tinta a color y B/N originales) Vendida

  • Hace unos días platicando con un amigo sobre soluciones de servidores multimedia me puse a investigar de alguna solución que pudiera satisfacer estas necesidades que pudieran ser para uso personal o incluso aplicarse en otros campos, por lo que investigando me encontré LinuxMCE el cuál es un proyecto desarrollado para implementar Centros Multimedia y Automatización de Casas.

    LinuxMCE permite hacer una integración con varios componentes de software y hardware para realizar todo esto, tal como dispositivos de video, audio, voz sobre ip, controles remotos, cámaras, relevadores, luces, dvd, vcrs, tv satelital, intercomunicadores, soporte de videoconferencias, etc.

    LinuxMCE también tiene una integración interesante con diversos controladores remotos, desde controles vía infrarrojo, bluetooth como el Wii remote, vía ethernet, wifi e incluso a traves de una página web puede monitorearse y controlarse el sistema de LinuxMCE.

    Una de las principales funciones de LinuxMCE es funcionar como servidor de Audio y Video, lo cuál permite enviar Audio y video a uno o más dispositivos de TV, Estereos ó computadoras. De tal forma que es posible tener un catálogo integrado dentro de LinuxMCE dónde se pueden seleccionar los videos, audio a reproducir en los dispositivos.

    LinuxMCE también permite realizar videoconferencias, llamadas a través de servidores de voz sobre ip, correo de voz y de video, redigir llamadas telefónicas, asi como también enlazar porteros con telefonía celular para siempre estar atentos a quién llega a tocar a la puerta de la casa estando nosotros desde algún lugar remoto.

    LinuxMCE también permite controlar el encendido y apagado de las luces de la casa, reproducir música y video automáticamente, controlar otros aspectos desde controles remotos o desde el mismo teléfono móvil.

    Lo mejor de todo es que LinuxMCE corre desde una PC y su implementación no es tan complicada, aunque eso si requiere de otros componentes para poder explotarse al máximo la alta tecnología que provee Linux Media Center and Home Automation.

    Aquí un video de LinuxMCE que funciona como servidor multimedia.

    Documentándome un poco sobre cosas interesantes que se pueden hacer con Asterisk encontré un video dónde muestran como mover una cámara desde un teléfono que está conectado a Asterisk.

    En ese video se puede observar que cuándo el usuario presiona algunas teclas, la cámara se va moviendo de un lado para otro..

    ¿ Cómo funciona ? Primeramente se tiene un conmutador telefónico implementado con Asterisk PBX. Al servidor de Asterisk está conectado vía una interfaz rs232 una interfaz que mandándole ciertas señalizaciones por el puerto rs232 puede girar, tal como lo pudiera hacer un relevador. Remotamente un teléfono podría entraral conmutador y marcar a una extensión que este enlazada a un AGI, el agi recibiría los comando DMTF y dependiendo de la tecla pulsada en el teléfono manda las señalizaciones a una aplicación que bien pudiera ser escrita en C que sirva de interfaz con el dispositivo serial y así poder mover remotamente la cámara a traves de un canal de telefonía.

    Esto y muchas cosas más se pueden ir haciendo con asterisk, solo basta imaginar cosas para dar soluciones reales.

    Hoy revisando mi correo electrónico veo que en mi buzón de gmail un correo solicitándome más información sobre la instalación de Asterisk, revisando el correo me piden que les comente como configurar una tarjeta clon X100P con Asterisk.

    La tarjeta X100p no es más que un clon que salío hace algunos años y que se usó más que nada para hacer pruebas con Asterisk , pero que no es recomendable usarse para un entorno en producción, esta tarjeta tiene un puerto FXO que puede ser usado también como FXS, al ser FXO permite conectar al conmutador de voz sobre ip con asterisk una línea tradicional de la red pública telefónica conocida como PSTN. Esta tarjeta no es más que un modem intel con un chip en específico que permite ser usado con los drivers de Zaptel, aunque en la actualidad este chip ya no tiene soporte pero puede seguir usándose para hacer pininos con Asterisk.

    Por lo que para no compartir solo con una persona esta información, pongo aquí en mi blog la documentación que hice hace algunos años cuándo di un curso de VoIP sobre Asterisk y FreePBX parte de la documentación que trata sobre la instalación y concifugración de la tarjeta X100p a cualquiera que pueda interesar hacer sus pininos con Asterisk.

    #Este procedimiento funciona para todas las tarjetas compatibles con Zaptel como Digium, Sangoma, Clónicas X100p, etc..

    #en este caso se usará una clon x100P, para verificar que sea la correcta, podemos observar el chip que diga ambient md3200 o desde linux teclear lspci y en una de las tarjetas de comunicación observar lo siguiente

    lspci
    0000:00:0b.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface

    #Es recomendable que antes de la compilación de Asterisk se instalen las tarjetas que se van a usar.

    #Si por algún motivo ya está instalado Asterisk y se desean instalar nuevas tarjetas, instalar las tarjetas en el puerto PCI y  recompilar los drivers de Zaptel.

    #compilación de Zaptel
    cd ../zaptel-1.2.5
    make config
    sudo make clean
    sudo make linux26
    sudo make install
    #make config crear un script de inicializacion para tarjetas zaptel en /etc/init.d/zaptel

    #compilación de Asterisk
    cd ../asterisk- 1.2.7.1
    sudo make clean
    sudo make
    sudo make install
    sudo make samples
    sudo make progdocs

    #Verificar que en la compilación de zaptel se haya ejecutado y en el directorio de fuentes de zaptel ejecutar ekl siguiente comando
    make config
    #esto copiará zaptel a init.d

    #configurar /etc/zaptel.conf e introducir lo siguiente
    loadzone=es
    defaultzone=es
    fxsks=1
    #en este caso indicamos que tenemos un puerto fxo, si tuvieramos más solo pondríamos el número de puertos FXO, en este caso corresponde aun puerto FXO de una X100p, loadzone y default zone se refieren a la zona de comunicaciones correspondientes, esto es importante para detección de tonos de marcación, detección de ocupado y de cuelgue.

    #configurar el archivo /etc/asterisk/zapata.conf e introducir lo siguiente
    [channels]
    signalling=fxs_ks
    context=from-zaptel
    channel => 1

    #si fuera una tarjeta digium pondríamos 1-4, si son 2, 1-4,2-8 o 1-4, 5,6,7,8 si son 2 x100p 1,2, que representan los canales a la red PSTN disponibles. para más información ver la refrencia de ejermplo en el archivo default de asterisk

    #cargar las librerías, solo verificar la ruta correspondiente de librerías del kernel
    #2.6.15-server este valor puede cambiar dependiendo el kernel instalado, verificar el directorio /lib/modules y ver que directorio le corresponde.
    #en este caso cargamos zaptel y wcfxo que corresponde al driver de la tarjeta x100p, ver la referencia de Asterisk para los drivers a cargar para otras tarjetas.
    insmod /lib/modules/2.6.15-server/misc/zaptel.ko
    insmod /lib/modules/2.6.15-server/misc/wcfxo.ko

    #ejecutar zaptel
    /etc/init.d/zaptel start

    # si envía un mensaje de error como el siguiente:
     touch: cannot touch '/var/lock/subsys/zaptel': No such file or directory
    #verificar que exista la carpeta
        /var/lock/subsys/
    #si no, crearla
        mkdir /var/lock/subsys/
       
    #Si no envía un mensaje de error la inicialización de Zaptel, se debe observar lo siguiente:
    Loading zaptel framework: .
    Waiting for zap to come online...OK
    Loading zaptel hardware modules:Running ztcfg: done.

    #ejecutar dmesg para ver que el driver  de zaptel reconozca a la tarjeta
    dmesg
    [4407105.555000] Zapata Telephony Interface Registered on major 196
    [4407105.555000] Zaptel Version: 1.2.5 Echo Canceller: KB1
    [4407107.368000] ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
    [4407107.416000] wcfxo: DAA mode is 'FCC'
    [4407107.416000] Found a Wildcard FXO: Generic Clone
    [4407271.680000] Registered tone zone 6 (Spain)

    #ejecutar lo siguiente para verificar que las tarjetas esten correctamente instaladas
    ztcfg -vv
    Zaptel Configuration

    =

    =
    Channel map:
    Channel 01: FXS Kewlstart (Default) (Slaves: 01)
    1 channels configured.
    #si tuvieran más tarjetas deberían verlas ahí..

    #inicializar asterisk en base a la bitácora que les envíe de instalación de Asterisk con FreePBX

    amportart start

    #Entrar a la consola de Asterisk
    asterisk -rvvvv

    #introducir el comando
    zap show channel

    #Y se debería ver algo como esto
    Generic Clone Board 1   

    #A  partir de ahí pueden configurar sus Trunk, junto con sus planes y reglas de marcación para salidas de llamas, DID, DISAs, IVR, FollowME desde el FreePBX sin mayor problema y de manera sencilla..

     

    Hace unos días se me presentó una situación de ejecutar un script en linux por demanda, la solución pudo haber sido desde una conexión SSH o algo así, pero el servidor no tenía acceso público a internet, pero ahí tenía instalado un servidor de Asterisk el cuál tiene instalada una tarjeta Sangoma para dar entrada a la red PSTN de Telmex.

    Lo que se me ocurrió es crear algo similar a un AGI, pero en vez de ejecutar el AGI, desde asterisk ejecutar el script al marcar una extensión.

    El primer problema me surgió ya que necesitaba que el script se ejecutara como un proceso iniciado por el usuario root para poder mandar los otros procesos que solo pueden ser ejecutados por root.

    Esto lo resolví fácilemente asignándole el permiso siguiente

    sudo chmod u+x agi-script.sh

    Despues solo me bastó crear una extensión dentro del archivo

    /etc/asterisk/extensions_additional_custom.conf

    Ya que tengo freepbx instalado por lo que es necesario dar de alta dentro de este archivo extensiones que se agregan a mano.

    Y ahí solo agregué lo siguiente

    include=>asterisk-script

    [asterisk-script]
    exten=>999,1, Answer
    exten=>999,2, System(/var/lib/asterisk/agi-bin/agi-script.sh)
    exten=>999,3,Hangup
     

    Con esto cuándo marcaba al número público que entra al conmutador y ahí luego digitaba la extension 999 dentro del IVR, automáticamente ejecutaba el script con permisos de root en el sistema.

    Esto por seguridad no es recomendable hacer, solo en casos necesarios, pero para ello se tiene que crear una protección que valide el usuario que marque la extensión para que el script no se ejecute equivocadamente al marcar 999.

    También se puede validar de que DID, Caller ID, extensión, usuario, password tenga permitido ejecutar el script.

    Hace unos días quise contratar un número telefónico del D.F. con DIDWW pero fué un relajo, pues primero entras a la página de lo lindo te validas y toda la cosa, escoges el número, haces el pago con tú tarjeta de crédito y en teoría ya puedes usarlo.

    Ese proceso si funcionara asi de simple sería una lindura, pero nooo.. no es así :S, pues despues de que haces el pago se supone que ellos todavía no validan el pago, por lo que el número está en modo de pruebas, y si lo quieres redireccionar a tú asterisk, no puedes, pues el DID está bloqueado hasta que se acepté el pago, más sin embargo ya empieza a correr la renta mensual pues al día siguiente ya ves que te quedan 29 días de uso y tú número sigue bloqueado!!!. Ok.. te dices a ti mismo, paciencia, paciencia hay más tiempo que vida por lo que despues de dia y medio de realizadas la "contratación" te llega un mail del departamento de ventas de DIDWW a media madrugada diciéndote que tienes que enviar un FAX a USA con la impresión de tú tarjeta de crédito y de tu identificación que según para eso tienes 48 horas, pero despues te levantas, checas tú correo y ves qe tienes 2 mensajes de DIDWW, piensas que ya lo aprobaron y ya puedes seguir con la configuración pero noo.. lees primero el mail de que tienes que enviar el FAX y el segundo de que por no enviar el FAX en las "48 horas" que te dieron de plazo se ha cancelado la orden del DID.

    Ja.. esos de DIDWW se parecen hacienda.. todo un relajo para nada..

    Total..

    Que despues de buscar y buscar encontré a Callcentric, estos amigos tienen también sus detalles pero son más flexibles, pues con ellos pude contratar un DID para el D.F. con la tarjeta de crédito, aparte también usan PayPal, y al mismo tiempo esa cuenta se le puede agregar crédito para hacer llamadas vía Voz sobre IP, nada más eso si mucho cuidado con dar datos falsos o equivocarse, porqué son bien quisquillosos, pues por ahí me equivoqué al dar el número de validación de la tarjeta al recargar crédito a una cuenta que cree, y pues despues de 3 intentos me bloquearon la cuenta por actividades sospechosas y pues por ahí mis 10 dolares de créditos salieron volando.

    Pero ya con más calma al otro día desde otra IP y borrando ls cookies de firefox ya pude entrar de nuevo a CallCentric para rentar el DID y abonar crédito a una cuenta de VoIP para hacer y recibir llamadas.

    Escribo este post solo para comentar una de las ventajas de Linux y la cuál me ha ayudado a salir de un apuro una vez más, esto ya que ahora ando aquí en la Sierra Juárez de Oaxaca a 4 horas de la ciudad de Oaxaca y en autobus unas 6 horas.

    Sierra Juarez de Oaxaca desde el cerro de Palo Seco al fondo Santo Domingo Cacalotepec

    Pues resulta que tenía que configurar una Laptop Acer Aspire 4315-2744 que trae precargado Linux específicamente la distro Linpus, la cuál no me agrado de inicio porqué solo viene instalado en modo consola en la laptop y aparte no reconoce muchas caracteristicas de hardware de la misma, por lo que se me hizo raro que Acer no precargara Ubuntu que también es libre y gratuito en vez de Linpus la cuál deja mucho que desear, aparte que creo que los usuarios nuevos que compren esta laptop por su precio $ 450.00 dlls quedarían desilusionados al ver un Linux tan poco atractivo. El chiste es que llego aquí al pueblo de la sierra juárez con la laptop confiado de que tuviera precargado un sistema gráfico óptimo para un usuario, pero al ver Linpus tan deficiente quedo sacado de onda, ya que en este momento no traía un disco entre mis chunche de Ubuntu(error fatal), pero afortunadamente si traía un .iso guardado en mi laptop con la última versión de ubuntu 8.04, aunque no traía CDs para quemarlo y el pueblo más cercano dónde posiblemente podría conseguir CDs es Talea de Castro a un par de horas de aquí en auto, por lo que recordé una opción de que había una forma de instalar Linux desde una memoria USB pero que no la había intentando anteriormente, afortunadamente traía una SD Card y un adapatador de SD a USB, por lo que realice el siguiente procedimiento para poder instalar Linux.

    Configuré en la Bios de la laptop la opción de que aceptara bootear desde una memoria USB. #En mi notebook con linux cree una partición FAT32 sobre mi usb usando la herramienta gráfica qtparted
    #En este caso mi memoria usb quedo como /dev/sdb
    #En este caso mi unidad de disco fué montada en Ubuntu como /media/disk
    #A continuación configuré mi dispositivo para que pudiera ser "booteable" mediante el siguiente comando

    sudo parted /dev/sdb set 1 boot on

    #Despues de esta dirección

    http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/hd-media/

    #Descargue los siguientes archivos que corresponder a la versión de Ubuntu 8.04
    boot.img.gz
    initrd.gz
    vmlinuz       

    #Y los coloqué en el directorio /media/disk/install

    #Despues hice una copia del directorio /media/disk/install  /media/disk/casper
    sudo cp -rf /media/disk/install /media/disk/casper

    #Despues de eso monté el .iso de ubuntu en linux
    sudo mkdir /media/iso
    sudo mount ~/descargas/kubuntu-8.04-desktop-i386.iso /media/iso/ -t iso9660 -o ro,loop=/dev/loop0

    #Para luego copiar la carpeta isolinux que está en el iso a la unidad usb y renombrarla como syslinux
    sudo cp -rf /media/iso/isolinux /media/disk/syslinux

    #Posterior a eso renombro el archivo /media/disk/syslinux/isolinux.cfg a /media/disk/syslinux/syslinux.cfg
    sudo mv /media/disk/syslinux/isolinux.cfg /media/disk/syslinux/syslinux.cfg

    #Despues instalo syslinux
    sudo aptitude install syslinux

    #para instalar un sector de arranque en la memoria usb
    sudo syslinux /deb/sdb

    #lo cual me regresa un mensaje indicándome que debo actualizar fstab, pero ignorar el mensaje y continuar.

    #Este comando creará un archivo llamado ldlinux.sys en el directorio root de la memoria usb.

    #Despues de eso copio el archivo .iso al directorio root de la memoria principal
    sudo cp ~/descargas/kubuntu-8.04-desktop-i386.iso /media/disk

    #para luego copiar el resto del .iso a l directorio root de la memoria
    sudo cp -rf /media/iso/*.* /media/disk

    #despues de eso renombro el archivo /media/disk/isolinux.cfg a /media/disk/syslinux.cfg
    sudo mv /media/disk/isolinux.cfg /media/disk/sylinux.cfg

    #luego edito el archivo /media/disk/isolinux/syslinux.cfg y renombrar todo el contenido de "/cdrom/" a "", para que el instalador no busque el cdrom.

     

    Con esto ya tuve lista la memoria usb para que pudiera ser booteable al arrancar la portátil o PC.

    Solo me bastó apagar la laptop primero, despues conectar la memoria usb, seleccionar el arrancador multiple al momento de que la notebook encendiera y seleccioné despues la opción de iniciar desde una memoria usb y con esto el instalador de ubuntu comenzó a ejecutarse y con eso pude instalar Kubuntu Linux 8.04 a mitad de la Sierra Juárez sin un CD de instalación face-smile.png

    Ya como nota final basicamente todo lo anterior también se podría hacer con windows sin problema..pues todo el proceso son copiar y editar archivos al USB, excepto por la parte de activación del usb como partición booteable que podría hacerse sin problema con la herramienta de partition magic.

    Ayer en la noche estuve configurando un conmutador de Voz sobre IP con Asterisk para instalar un servicio de Telefonía IP a traves de una red satelital en la comunidad de Santo Domingo Cacalotepec allá en la Sierra Norte de Oaxaca ya que por la lejanía de la población y la orografía del estado se encuentra marginada, por lo que en la actualidad está incomunicada, motivo por lo cuál nació la idea de un familiar de meter internet satelital y a traves de esa conexión meter telefonía IP, por lo que se me ocurrió usar para este caso Asterisk, combinando el protocolo IAX2, junto con el codec G729 , dispositivos SIP y tecnología jitterbuffer, que juntos pueden lograr una eficiente comunicación VoIP a traves de las complicadas transmisiones redes satelitales.

    Por lo que aproveché para actualizar un how to de como configurar Asterisk y FreePBX y aquí posteándolo ahora.

    Este versión de how-to trabaja con las versiones 1.4.21 de Asterisk, así como también con la versión 2.4.0 de FreePBX.

    #<li>Procedimiento para Instalar Asterisk VoIP en Ubuntu Server

    #<li> Servidor:                    Ubuntu 7.10
    #<li> Conmutador de VoIP:    Asterisk asterisk-1.4.21
    #<li> Admninistrador Web :    FreePBX 2.4.0

    #<li>Editar /etc/apt/sources.list y activar los siguientes repositorios
    sudo editor /etc/apt/sources.list

    #<li>descomentar, guardar y actualizar
     deb http://us.archive.ubuntu.com/ubuntu/ gutsy universe
     deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy universe
     
     
     sudo apt-get update

    #<li>   1 Instalar librerias para acceso via SSH
    sudo apt-get install openssl libssl-dev ssh

    #<li>   2 librerías de compilación de software, sirve para compilar Asterisk
    sudo apt-get install gcc make g++

    #<li>   3 verificar que versiones de kernel tengo instalado en el servidor
    uname -a

    #<li>   el comando me regresa algo como esto
        Linux MexRom 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linu

    #<li>   4       Buscar las fuentes del kernel con las versiones instaladas en el server  2.6.17
    apt-cache search 2.6.22-14-generic

    #<li>   5        Instalamos los encabezados para el kernel 2.6.17 especificos para el procesador (linux-headers-2.6.17-10-generic , linux-source-2.6.17 , linux-image-2.6.17-10-generic )
     sudo apt-get install  linux-headers-2.6.22-14-generic linux-source-2.6.22 linux-image-2.6.22-14-generic

    #<li>   6       Instalamos algunas utilerias de linux, Lynx es un navegador web de texto, nmap es sniffer depuertos, emacs es un editor de textos potente aunque puedes usar editor instalado ya en Ubuntu y sencillo de usar
    sudo apt-get install nmap lynx emacs21

    #<li>   7       Festival son paquetes para el manejo de texto a voz en diversos Idiomas, y funcionará con asterisk para hacer aplicaciones de texto a voz
    sudo apt-get install festival festival-dev

    #<li>   8       Librerias para poder usar la consola de asterisk
    sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev

    #<li>   9       Librerias de compresion de Asterisk
    sudo apt-get install zlib1g zlib1g-dev

    #<li>   10      librerias requeridas por el Servicio Web de FreePBX
    sudo apt-get install bison bison-doc

    #<li>   11      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libxml2 libxml2-dev

    #<li>   12      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libtiff4 libtiff4-dev

    #<li>   13      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev

    #<li>     14       En caso que se vaya a usar una tarjeta sangoma, se requiere instalar flex para que funcione el driver wanpipe
    sudo apt-get install flex

    #<li>   15      Librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
    sudo apt-get install subversion curl doxygen

    #<li>   16      librerias requeridas por el servicio web de FreePBX
    sudo apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl

    #<li>   17      Servidor web para FreePBX
    sudo apt-get install apache2

    #<li>   18      Librerias requeridas por el servicio web de FreePBX
    sudo apt-get install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db

    #<li>   19      Base de datos para el CDR y FreePBX
    sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev

    #<li>   despues de instalar MySQL probablemente nos pedira una configuracion como la siguiente
       2. Configurar como Internet Site
       3. localhost.localdomain
             
            
    **************        
             2da Parte.. Compilacion e Instalacion de Asterisk 1.4 + FreePBX
       
    ************         

    #<li>   20 creamos un repositorio local para almacenar los archivos fuente de asterisk
    mkdir ~/asterisk
    cd asterisk

    #<li>   Comenzamos a obtener los archivos y los almacenamos en el directorio creado requeridos para Asterisk

    #<li>   21       Obtenemos el Gateway entre freepbx y asterisk
    wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz

    #<li>   22      Librerias para el manejo de archivos de sonido con asterisk
    wget http://internap.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz

    wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

    #<li>   23      Obtenemos los paquetes para el administrador web de FreePBX, podemos aqui instalar la version 2.3 de FreePBX la mas actualizada que es compatible con Asterisk 1.4 y seguir con el mismo procedimiento
    wget http://mirror.freepbx.org/freepbx-2.4.0.tar.gz

    #<li>   24      Obtenemos los archivos para Asterisk 1.4, ir al directorio http://asterisk.org/downloads y descargar los archivos de la version 1.4

    wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.21.tar.gz

    wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz

    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-es-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
    wget http://downloads.digium.com/pub/telephony/sounds/asterisk-moh-freeplay-gsm.tar.gz

    #<li>   25 Instalamos el Editor de Sonidos de Asterisk
            cd /usr/src/
            sudo tar -xvzf ~/asterisk/lame-3.97.tar.gz
            cd lame-3.97
            sudo ./configure --prefix=/usr --sysconfdir=/etc
            sudo make && sudo make install

    #<li>   26 Instalamos SOX, utileria para manejar los archivos de sonidos en Asterisk
            cd /usr/src/
            sudo  ~/asterisk/sox-14.0.1.tar.gz
            cd sox-14.0.1
            sudo ./configure
            sudo make && sudo make install

    #<li>   27 Instalamos el gateway entre Asterisk y FreePBX
            cd /usr/src/
            sudo tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
            cd asterisk-perl-0.10
            sudo perl Makefile.PL
            sudo make all
            sudo make install

    #<li>   28 Instalamos FreeBX el Administrador Web de Asterisk, aqui podemos tambien instalar la version 2.2.1 en vez de la 2.1.1
            cd /usr/src
            sudo tar -xzvf ~/asterisk/freepbx-2.4.0.tar.gz       
            cd freepbx-2.4.0/     

    #<li>    Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
    #<li>    Iniciacilizacion de la implementacion de Bases de Datos en Mysql para Asterisk
    #<li>   Accedemos a MySQL si no han configurado su password de root mysql, solo presionar Enter

    mysql -u root -p
       ENTER
       show databases;
       use mysql ;
       show tables;
       select * from user;

    #<li>   Creamos las bases de datos  para FreePBX y para el CDR, cambiamos los password de root y creamos un usuario para Asterisk
       update user set password = password("PaSsWoRd") where user = "root";
       create database asteriskcdrdb;
       create database asterisk;
       grant all privileges on asteriskcdrdb.* to asterisk@localhost identified by "4st3r1sk";
       grant all privileges on asterisk.* to asterisk@localhost identified by "4st3r1sk";
       flush privileges;
       exit

    #<li>   Pasamos el esquema y la informacion de los scripts de bases de datos por default de FreePBX
            mysql -u asterisk -p4st3r1sk asterisk < /usr/src/freepbx-2.4.0/SQL/newinstall.sql
            mysql -u asterisk -p4st3r1sk asteriskcdrdb < /usr/src/freepbx-2.4.0/SQL/cdr_mysql_table.sql

    #<li>   Termina la implementacion de Bases de Datos en Mysql para Asterisk

    #<li>   29      creacion del usuario y grupo que manejara los procesos de asterisk
    sudo groupadd asterisk
    sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
    sudo mkdir /var/run/asterisk
    sudo chown asterisk:asterisk /var/run/asterisk

    #<li>   30      Cambiamo el usuario propietario de Apache ,para guardar presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
    sudo emacs /etc/group
    www-data:x:33:asterisk

    #<li>   ejecutamos el comando find para ubicar el archivo de configuracion de apache
      find /etc/apache2/ -type f | xargs grep Group

    #<li>   31      editamos el archivo de apache
      sudo emacs /etc/apache2/apache2.conf

    #<li>en emacs para buscar, presionar Ctrl+s y  cambiar de www-data a asterisk
      User www-data
      Group www-data
    #<li>   por
      User asterisk
      Group asterisk
    #<li>   guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c

    #<li>   32      cambiamos los permisos para el directorio de sesiones de PHP
      sudo chown -R asterisk /var/lib/php5

    #<li>   33      edicion de php para aumentar el tama?o de archivos que se suben al servidor web
      sudo emacs /etc/php5/apache2/php.ini
           upload_max_filesize = 32M
           max_execution_time=300
           max_input_time=300
           
    #<li>   34      creamos un directorio para la instalacion de los paquetes de Asterisk
      sudo mkdir /usr/src/asterisk
      cd /usr/src/asterisk 

    #<li>  35       libreria o drivers para tarjetas line PRI en caso de que se usen tarjetas de ese tipo
        sudo tar -xzvf ~/asterisk/libpri-1.4-current.tar.gz   

    #<li>  36       librerias o drivers para tarjetas ZAPTEL  en caso de que se usen tarjetas digium
       sudo tar -xzvf ~/asterisk/zaptel-1.4-current.tar.gz

    #<li>   37      El PBX Asterisk
       sudo tar -xzvf ~/asterisk/asterisk-1.4.21.tar.gz         

    #<li>   38      utilerias de asterisk(cdr, rep music on hold. etc)
       sudo tar -xzvf ~/asterisk/asterisk-addons-1.4-current.tar.gz

    #<li>   39      archivos de IVR por default
        sudo mkdir sounds
        cd sounds
        sudo tar -xzvf ~/asterisk/asterisk-core-sounds-en-gsm-current.tar.gz
        sudo tar -xzvf ~/asterisk/asterisk-moh-freeplay-gsm.tar.gz
        sudo tar -xzvf /home/mexrom/asterisk/asterisk-extra-sounds-en-gsm-current.tar.gz

    #<li>   40      Iniciamos la compilacion de las librerias PRI (aunque no se usaran)
       cd /usr/src/asterisk/libpri-1.4.4/
       sudo make & sudo make install

    #<li>   41      Compilamos las librerias de zaptel
       cd /usr/src/asterisk/zaptel-1.4.11/
       sudo make clean
       sudo make &&  sudo make install

    #<li>   42      compilacion de Asterisk
       cd /usr/src/asterisk/asterisk-1.4.21
       sudo make clean
       sudo ./configure
       sudo make &&  sudo make install
       sudo make samples &&  sudo make progdocs

    #<li>   43      compilacion de Utilerias de Asterisk
       cd /usr/src/asterisk/asteris