Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Samantha Santin: ola me pueden ayudar con lo basico para un examen de linux , estoy en 10 mo de basica , por favor , gracias  
  • alexandra: hola...tengo problemas para configurar las llamadas y crear los troncales....uso elastix 2.0.3 con asterisk 1.6...y soy nueva en esto..puedo relizar llamadas dentro de una misma oficina, pero no puedo sacarlas fuera, es decir locales e internacionales...necesito asesoria...gracias  
  • Ben: Welcome to visit www.vogue4biz.com and www.seekjersey.com! Wholesale Jordan Shoes and NFL/NHL jerseys!New Arrival ! Free Shipping !
    Consequently, a Avirex jacket variety evolved into winner fashion4biz already in the market, mainly with their variety of air travel puma shoes women jackets which in turn for the most part mimics those of journey outdoor jackets put on around WWII. Due to its results, Avirex make have in addition enhanced by jackets to other common attire outlines including t shirts, hoodies, along with jeans.
    A great number of completely new attire lines also gained plenty of celebrity inside entertainment world. To its captivating pattern in addition to level of quality attire, Avirex includes received its own head connected with celebrity followers which include: Ruben Travolta, Will certainly Henderson, Puffy Hair combs, Chad Good ole', Shaquille O'Neal, Busta Rhymes,, puma shoes ladies Sylvester Stallone, Missy Elliott, Eminem, Nas, All 5, Procedure Guy,, Make Nubian, Lmost all Awesome L, David Cena, as well as Georgio Armani. Start off your individual from suppliers avirex company by www.vogue4biz.com
    Avirex regarding todayIn women s puma shoes 2008, this Avirex make has been bought in 3 entire ladies puma shoes suede puma shoes world districts, United states of america, European countries puma shoe sale along with The japanese. A brand new owner of Avirex brand in the us cat puma shoes can be Draw Ecko Corporation. According to a lot of people, each one districts possess their own libraries regarding Avirex garments range. Not really a pair of parts get identical types associated with outfits. His or her just likeness is with their particular usage of brand.
    Even puma ladies shoes so, the availability associated with flight handling outdoor jackets were quit afterwards that year. In line with Mark, all of Avirex printed government and timeless apparel had been discontinued along with used a new Clymans firm, Cockpit U . s .. Start out your own from suppliers avirex company by Sevenwholesale.com.  
  • Fernando Hernández: Hey! Ya no estan disponibles los posts sobre facturación electrónica en México, podrías pasarme el tutorial o la clase en php? Por favoooor. Gracias  
  • daniel nuñez: buenas soy de venezuela y tengo una duda yo lo que quiero es hacer una iso debian que tenga todos los paquetes necesarios completos y programas como synaptis fortran java los pluging de video y sonido ya instalados osea que tenga todo lo necesario instalado pero sin que sea una instalacion con un cd netinst, es posible ?  
  • Cesar villegas: Buenas!!! oye no tienes programado algún curso?  
  • Urbano: Hola soy de Argentina.
    Desde hace un tiempo tengo instaldo Asterbilling SL y me parece un rpoyecto útil e interesante. Ahora me compré un AT 530 con la intension de pasar la tarifa al telefono pero seguramente algo estoy haciendo mal ya que despues de configurar el script con los datos del AMI; MySQL y ejecutar el comando que indica el manual.. no pasa nada, todo sigue igual y no se muestra la tarifa en la pantalla del telefono. Tal vez deba configurar algo tambien en el telefono.. la verdad no se, es que tampoco soy un experto en la materia. Les dejo algunos datos que talvez sean utilespara que me puedan ayudar: Tengo Elastíx 2.0.3 con Asterisk 1.6; FreePBX 2.7.0.3; A2Billing 1.8.1; Astercc 1.4 y Asterbilling SL. Espero que me puedan ayudar; desde ya muchas gracias.  
  • kike: Oye filein.. necesito una cotización de unas FxO para analógicas porfa..
    saludos  
  • cristy: hola por favor tengo problemas para conectar agi con asterisk me sale un error de broken pipe, sabes de que se trata???  
  • Jose: Heyu como podria funcionar con el CM15?
    Gracias  

Escribe el código Captcha que estás viendo

Voz Sobre IP

  • Paquete en español para Sistema de Tarificacion Telefonica AsterBilling

    Ultimamente he implementado algunos conmutadores de Voz sobre IP para casetas telefonicas, para ello he usado AsterBilling el cuál me ha parecido un software bastante bueno para el manejo de distribuidores de telefonía, casetas y cabinas telefonicas, funciona mediante AMI y a traves de una aplicacion web para poder llevar el control de casetas telefonicas, tarifas por tipos de prefijos, reportes, creditos prepagos y postpagos, entre otras cosas.
    Lo unico que le faltaba era una versión en español, por lo que me meti a editar los archivos de lenguajes y adaptarlos a Mexico. Por ello pongo aquí en este post el archivo en español para AsterBilling esperando pueda ser util para alguien más en la implementación de Asterisk como solución de Casetas Telefónicas, entre otras cosas.
    El archivo puede ser descargado de
    http://files.mexrom.net
    entrar como:
  • login:invitado
  • Password:invitado:
    Y entrar al directorio es_MX-AsterBilling, descargar el archivo es_MX.tar
    Este archivo descompactarlo en
    /var/www/astercc/asterbilling/includes/language
    Despues solo editar los archivos de
    /var/www/astercc/asterbilling/login.php
    /var/www/astercc/asterbilling/manager_login.php
    Y agregar una opcion en el campo select para español
    <SELECT name="locate" id="locate" onchange="setlanguage();">
    <OPTION value="es_MX">Español</OPTION>
    <OPTION value="en_US">English</OPTION>
     
    Con esto ya se tendria en español AsterBilling y listo para empezar a funcionar en casetas telefonicas usando Asterisk y aprovechando los servicios de Telefonia IP.
  • Agregando múltiples extensiones y cuentas SIP a FreePBX..

    Hace unos días me pidieron un conmutador de voz sobre IP con más de 150 extensiones VoIP, por lo que me puse a ver como insertar 200 extensiones configuradas en el conmutador mediante un script de forma automática siguiendo un patrón recursivo ya que no había prácticamente cambios en las extensiones más que el número de la extensión, password y correo de voz, de tal forma que si hacía esto a mano me iba a llevar algunos minutos con posibles errores de captura humanos.
    Lo primero que se me ocurrió es generar un script que agregara las cuentas SIP a /etc/asterisk/sip_custom.conf y las extensiones en /etc/asterisk/extensions_custom.conf, el detalle que habría es que FreePBX no podría manejarlas desde el módulo de extensions, ni tampoco flash panel podría operarlas, por lo que se me ocurrió insertar la información de las cuentas en la base de datos de freepbx y luego dejar que freepbx leyera la información de la base de datos para que generara los archivos correspondientes.
    Básicamente hay 3 tablas de la base de datos de FreePBX que se relacionan con las cuentas SIP, extensiones y correos de voz.
  • users
  • sip
  • devices
    La tabla users se refiere a la configuración de la extensión del usuario tal como grabación de llamadas, tiempo de espera para mandar a correo de voz cuándo le marquen, nombre SIP, correo de voz, etc..
    La tabla SIP tiene la información detallada de la cuenta SIP configurada, tal como cuenta, contraseña, codec permitidos y no permitidos, contexto, dtmfmode, etc..
    La tabla devices se refiere al tipo de dispotivo si es SIP, IAX, etc.
    Entonces por ejemplo si quisiera agregar manualmente la extensión 109 tendría que ejecutar las siguientes consultas sql.
    INSERT INTO users VALUES(109,, 'SIP 109','default', '45', , 'out=Adhoc|in=Adhoc', , 'anonimo', DEFAULT);  
           
    INSERT INTO sip VALUES("109", "dtmfmode", "rfc2833", "0" );
    INSERT INTO sip VALUES("109", "canreinvite", "no", "0" );
    INSERT INTO sip VALUES("109", "dial", "SIP/109", "0" );
    INSERT INTO sip VALUES("109", "secret", "109", "0" );
    INSERT INTO sip VALUES("109", "type", "friend ", "0" );
    INSERT INTO sip VALUES("109", "host", "dynamic", "0" );
    INSERT INTO sip VALUES("109", "nat", "yes", "0" );
    INSERT INTO sip VALUES("109", "port", "5060", "0" );
    INSERT INTO sip VALUES("109", "qualify", "yes", "0" );
    INSERT INTO sip VALUES("109", "callgroup ", "1", "0" );
    INSERT INTO sip VALUES("109", "pickupgroup", "1", "0" );
    INSERT INTO sip VALUES("109", "disallow", "all", "0" );
    INSERT INTO sip VALUES("109", "allow", "g711u&g729&gsm", "0" );
    INSERT INTO sip VALUES("109", "context", "from-internal ", "0" );
    INSERT INTO sip VALUES("109", "accountcode", "109", "0" );
    INSERT INTO sip VALUES("109", "mailbox", "109@default", "0" );
    INSERT INTO sip VALUES("109", "deny", "0.0.0.0/0.0.0.0", "0" );
    INSERT INTO sip VALUES("109", "permit ", "0.0.0.0/0.0.0.0", "0" );
    INSERT INTO sip VALUES("109", "account", "109", "0" );
    INSERT INTO sip VALUES("109", "callerid", "device <109>  ", "0" );
    INSERT INTO sip VALUES("109", "record_in ", "Adhoc  ", "0" );
    INSERT INTO sip VALUES("109", "record_out", "Adhoc", "0");
    INSERT INTO devices VALUES('109', 'sip', 'SIP/109', 'fixed', '109', 'SIP 109',
    );
     
    Obviamente la tabla sip se le puede insertar toda la información en una sola consulta en vez de ir haciéndola una por una como la muestra, pero para fines de mostrar el proceso lo vale.
    Entonces en el script solo se requirió generar consultas similares a las anteriores al vuelo, indicándole solo de que rango a que rango se configurarían las extensiones.
    Obviamente para algo simple como agregar n extensiones no es complicado, pero cuándo se requiere una configuración específica por extensión también podría usarse un script pero sería algo más complejo.
    Lo interesante en la tabla sip son los keywords, estos no deben tener espacios en blanco que si no al momento de decirle a freepbx que genere los archivos de configuración de asterisk, tomaría solo los keywords correctos, pero al momento de hacer pruebas no funcionarían las extensiones, por eso es importante que los keywords de la tabla sip no tengan espacios en blanco al igual que los valores dónde no lo requieran.
  • Como colgar una llamada con un script en PHP y Asterisk Manage Interface

    Probando el uso de AMI (Asterisk Manager Interface) para controlar de forma externa acciones, eventos y comandos de Asterisk desde algún script, me he metido a estudiar esta tecnología interesante que potencializa el uso de Asterisk y permite crear diversas aplicaciones externas e integrarlas a aplicaciones terceras, tales como CRM, ERPs, Encuestas, etc.
    Como demo he intentado hacer un script en php que buscará información de una extensión dada, si está estuviera llamando, entonces que buscara información del canal, para luego mandar a colgar esa extensión.
    El código que hice para poder hacer este ejemplo es el siguiente:
    /*
    Script creado por Filein Rommel Leon(aka Phylevn)
    Licencia GPL
    Script de demostración del uso de AMI con PHP, este script cuelga una extensión si estuviera en uso, ocupada ó no disponible, como demo agrego la opción de que si una extensión está en una llamada(uso) para que se pueda hacer la prueba
    0=> Disponible
    1=>Use: Si una extension esta llamando
    2=>Busy: Si una extensión esta ocupada
    4=>Unavailable: Si una extensión está ocupada
    En este caso comparo si las extensiones tienen el status 1,2 ó 4, entonces obtengo el canal correspondiente a la extensión y luego la cuelgo.
    Para probar este script hacer una llamada de la extensión a colgar a otra extensión y correr el script paraver su funcionamiento.
    */

                    $amiHost = "localhost"; //servidor de AMI
                    $amiUser = "asterisk"; //login AMI
                    $amiSecret = "4st3r1sk";//password AMI
                    $amiExten = "102";
                    $amiChannel = "SIP/$amiExten"; //extension a buscar para colgar
                    $amiContext = "from-internal";//contexto
                    $getTextSearched = 0;
                   
                    $amiStatusExt = 0;
                   
                    //Estados de una extension
                    $_extStatus = array(-1=>"Extension not found",0=>"Idle",1=>"Use",2=>"Busy",4=>"Unavailable",8=>"Ringing",16=>"On Hold");
                   
                    if ($amiChannel == null) :
                            exit() ;
                    endif ;
                   
                    if ($pos===false) :
                            $errno=0 ;
                            $errstr=0 ;
                            $oSocket = fsockopen ($amiHost, 5038, $errno, $errstr, 20);
                            if (!$oSocket) {
                                    echo "$errstr ($errno)<br>\n";
                            } else {
                                    if(!strpos($amiChannel, "/") )
                                            $amiChannel =  "SIP/".$amiChannel;
                                   
                                    //Nos validamos dentro de AMI
                                    fputs($oSocket, "Action: login\r\n");
                                    fputs($oSocket, "Events: off\r\n");
                                    fputs($oSocket, "Username: $amiUser\r\n");
                                    fputs($oSocket, "Secret: $amiSecret\r\n\r\n");
                                   
                                    //Obtenemos el status de la extension deseada
                                    fputs($oSocket, "Action: ExtensionState\r\n");
                                    fputs($oSocket, "exten: $exten\r\n");
                                    fputs($oSocket, "context: default\r\n");
                                    fputs($oSocket, "actionid: 1\r\n\r\n");
                                    $echo = "ok";
                                    while ($echo!="") {
                                            if(strstr($echo, "Status:")!=""){
                                                    $amiStatusExt  = ereg_replace( "[^0-9]", "", $echo);
                                                    echo "Exten : ".$_extStatus[$amiStatusExt ]."\n";
                                                    $echo = "";
                                            }else{
                                                    //echo ":::".$echo;
                                                    $echo = fgets($oSocket);
                                            }
                                    }
                                   
                                    //Obtiene la información de canales y buscamos informacion sobre nuestro canal
                                    if($amiStatusExt==2 or $amiStatusExt ==4 or $amiStatusExt ==1){
                                            fputs($oSocket, "Action: command\r\n");
                                            fputs($oSocket, "command: show channels\r\n\r\n");
                                            echo $echo = "getting SIP Channels\n";
                                            while ($echo!="" or $echo == "--END COMMAND--") {
                                                    if(strstr($echo, $amiChannel)!=""){
                                                            $_values = split("[\s]+|[\t]", $echo);
                                                            $_values[0] = ereg_replace("[^(SIP/)0-9a-zA-Z-]", "", $_values[0]);
                                                            echo $_values[0]."\n";
                                                            $echo = "";
                                                    }else{
                                                            //echo ":::".$echo;
                                                            $echo = fgets($oSocket);
                                                    }
                                            }
                                    }
                                   
                                    //Si se encontró nuestro canal entonces lo colgamos
                                    if($_values[0]!=""){
                                            fputs($oSocket, "Action: Hangup\r\n");
                                            fputs($oSocket, "channel: $_values[0]\r\n\r\n");
                                            echo "hanging channel:  $_values[0]\r\n";
                                    }
                                   
                                    //Salismo de AMI
                                    fputs($oSocket, "Action: Logoff\r\n\r\n");
                                    sleep(2);
                                   
                                    //Cerramos la conexion
                                    fclose($oSocket);
                            }
                    else :
                            exit() ;
                    endif ;
    ?>
     
    solo basta correr el script de alguna forma como esta:
    php hangup.php
     
    Antes solo hay que checar la configuración de AMI en /etc/asterisk/manager.conf ó /etc/asterisk/manager_custom.conf si están usando freepbx.
    Entender el protocolo de AMI no es tan complicado, pero lo interesante es la potencia que le brinda a Asterisk para desarrollos más avanzados, este código está hecho a pelo precisamente para entender como se interactua con AMI, aunque ya hay librerías que disminuyen la chamba tal como asterisk-perl ó por ahí el nuevo killer app de Ruby creo que se llama AdHearsion o algo asi que luce muy interesante para hacer este tipo de cosas..
    Para conocer un poco más sobre la tecnología de Asterisk Manager Interface entrar a la siguiente URL:
    http://www.voipinfo.org/wiki/view/Asterisk+manager+API
  • Wimax en México

    ¿ Qué son las redes WiMax ?

    Has de cuenta que es como la red inalámbrica que tienes en tú casa u oficina, con aquellos routers de infinitum tienes WiFI, con los CPE tendrías WiMax, solo que WiMax es una red inalámbrica que puede tener hasta decenas de kilómetros de alcance al igual que varias decenas de Megabits de ancho de banda, y si al igual que el WiFi también podría no tener costo usar la red.



    ¿ Porqué no tendría costo ?

    Porqué al igual que el WiFi, en WiMax hay frecuencias libres que no son licenciadas, lo que significa que no requieres de permisos de la COFETEL aquí en México para poder instalarlas en tú casa, oficina, pueblo, ciudad ó región.



    ¿Es caro WiMax?

    Implementar WiMax en una ciudad no lo es, requieres de un CPE Base Multipunto que permite radiar la señal de WiMax en toda la ciudad, dependiendo de la potencia del radio será la cobertura de la señal en algunos casos puede sobrepasar los 50 Km, requieres también PC Cards(para notebooks) WiMax para poder recibir la señal desde cualquier punto dónde andes, como si fuera un WiFi solo que en grande, obviamente los CPE Base y CPE Clientes aún no están a precios de risa como los router Linksys o 2Wire, pero para proyectos empresariales el precio ya es asequible y la inversión vale mucho la pena en comparación de rentar una red 3G.



    ¿ Que aplicaciones se le podrían dar a WiMax ?

    Imagínate que desde tú notebook ó PDA pudieras ver las cámaras que tuvieras en tú casa en tiempo real y con alta definición sin pagar ninguna renta o uso de ancho de banda, imagina tener conversaciones de voz con tús amigos, tener una videoconferencia ó transmitir a todos tús contactos un videostream de lo que estás viendo, imagina que desde tú PDA pudieras controlas las luces de tu casa, apagar ó prender dispositivos eléctricos mediante una tecnología de domótica como X10, si eres dueño de una empresa, imagina que en cualquier parte de la calle estes haciendo ventas, tomando pedidos, consultando información de tu base de datos, realizando un inventario, estes llevando tú extensión telefónica vía voz sobre IP con el nuevo dispositivo de VoIP-WiMax y tener lo que es realmente una oficina virtual móvil..



    ¿ Porqué ayudaría WiMax a México ?

    Porqué podría ser una forma económica y rápida de poder llevar las telecomunicaciones a los pueblos marginados de nuestro país y acercar la tecnología a los niños de los pueblos de México. Porqué a las empresas les permitiría llevar sus negocio hasta la puerta del cliente y así generar más movimientos y tener lo que realmente sería "movilidad empresarial", porqué aumentaría la innovación de los jóvenes al tener el conocimiento más cerca.


    Definitivamente las aplicaciones de WiMax pueden ser muchas.



    ¿ Porqué WiMax aun no sé usa en México ?

    Por desconocimiento de la tecnología.. también porqué la COFETEL aún no termina de revisar el protocolo, de definir que dispositivos pudieran ser permitidos para usarse en la frecuencia libre, entre otras cosas.. pero definitivamente por el costo No, pues un CPE Base está alrededor de los 1,500 dlls, y una PC Card alrededor de los 200 dlls.. en un inicio quizá sea algo caro pero se abaratarían sin duda estos costos cuándo el uso sea masivo, recuerdo hace unos 10 años cuándo el costo de un Access Point era de $ 1,000.00 dlls el más barato ahora los puedes conseguir hasta en $ 20.00 dólares.



    ¿ Ya hay productos WiMax disponibles en México ?


    Si ya hay varios distribuidores de dispositivos WiMax como Canopy Wireless, MotoWi4, RedLine, solo basta que hagas una búsqueda en google sobre distribuidores de esta tecnología.



    ¿ Dónde obtengo más información ?

  • http://en.wikipedia.org/wiki/WiMAX
  • Google
  • Como configurar Festival con voz en español para desarrollo de aplicaciones VoIP con Asterisk

    Festival es un software Text to Speech (texto a voz) que es un desarrollo basado en la filosofia del Software Libre impulsado por la Universidad de Edimburgo, este desarrollo permite tener parlantes en diversos para poder pronunciar textos en otros idiomas..
    Asterisk el proyecto open source de conmutador de telefonía de voz sobre IP(VoIP) permite hacer aplicaciones de Voz sobre IP con una tecnología que incorpora llamada AGI(Asterisk Gateway Interface) con lo cuál es posible hacer aplicaciones de texto a voz, lo que permite a alguien que llama al conmutador de telefonía de voz sobre ip darles respuestas automatizadas mediante un parlante implementado con Festival y Asterisk.
    Por default Festival viene con un parlante en Ingles, pero para los que hablamos idioma en español es muy incómodo escuchar a un parlante con acento ingles hablar palabras en español, por ello pongo un corto y rápido tutorial de como modificar esta parte para cambiar el parlante en español.
    Si aun no tienes instalado Festival puedes echarle un ojo a este post para configurar e instalar Festival..
    http://phylevn.binniza.com/index.php/blog/show/_Como_configurar_Festival_en_Asterisk_.html
    Ya que se tenga instalado Festival y configurado..
    Ir a este sitio
    http://forja.guadalinex.org/repositorio/frs/?group_id=21&release_id=110
    Y bajar las siguientes voces :
  • http://forja.guadalinex.org/repositorio/frs/download.php/154/festvox-sflpc16k_1.0-1_all.deb
  • http://forja.guadalinex.org/repositorio/frs/download.php/153/festvox-palpc16k_1.0-1_all.deb
    Estas voces son de Silvia Y Pedro.. voces implementadas en Festival por la Junta de Andalucía para personalizar aun más las voces que vienen preinstaladas en Festival ya que se escuchan más robotizadas y con estas implementaciones se trató de que fueran menos robotizadas y aceptables.
    Ya que descarguemos los archivos los instalamos con:
    Voz de Silvia:

    sudo dpkg -i festvox-sflpc16k_1.0-1_all.deb
    Voz de Pedro:

    sudo dpkg -i festvox-palpc16k_1.0-1_all.deb
    Ahora editaremos el archivo /etc/festival.scm
    Buscaremos una línea como esta:
    (set! voice_default 'voice_el_diphone)
    Y la cambiaremos por la siguiente para voz de Silvia:
    (set! voice_default 'voice_JuntaDeAndalucia_es_sf_diphone)
    Para la voz de Pedro sería:
    (set! voice_default 'voice_JuntaDeAndalucia_es_pa_diphone)
    Despues de editar el archivo, guardarlo.. y solo bastaría reiniciar festival para oirlo funcionar con Asterisk
    sudo /etc/init.d/festival restart
    Ahora solo echarle un ojo a la liga del tutorial que puse arriba para probar la nueva voz configurada con Festival..
  • Tutorial de Como Instalar la ultima version de Asterisk PBX 1.4.23.1 con soporte de DAHDI y FreePBX 2.5.1 en Ubuntu Server

    Tutorial de como instalar la última versión de Asterisk PBX 1.4.23.1 y el administrador web FreePBX 2.5.1 para crear un conmutador de Voz sobre IP Open Source con soporte de IVRs, DISA, Fax Virtual, Grupos de Marcación, Marcación por Horarios, Troncales VoIP, DAHDI, Correos de Voz, Grabación de llamadas, Ruteo de llamadas entrantes y salientes entre otras muchas características de este gran magnífico conmutador de VoIP Asterisk y la mancuerna perfecta FreePBX para su administración desde una aplicación web.
    #Procedimiento para Instalar Asterisk VoIP en Ubuntu Server
    # Servidor:                        Ubuntu Server 8.04 TLS
    # Conmutador de VoIP :    Asterisk asterisk-1.4.23.1
    # Admninistrador Web  :    FreePBX 2.5.1
    #Cambiamos el password de root despues de instalar Ubuntu Server
    ~$ sudo passwd root
    #Actualizamos el repositorio de Ubuntu
    ~$ sudo apt-get update
    #Lo primero que instalamos es un servidor SSH para que podamos conectarnos desde cualquier parte
    ~$ sudo apt-get install --yes openssh-server ssh openssl
    #Creamos un directorio dónde descargaremos los archivos necesarios para la instalación
    ~$ mkdir asterisk
    ~$ cd asterisk
    #   Instalar librerias para acceso via SSH
    sudo apt-get install --yes openssl libssl-dev ssh
    #    librerías de compilación de software, sirve para compilar Asterisk
    sudo apt-get install --yes gcc make g++
    #    verificar que versiones de kernel tengo instalado en el servidor
    uname -a
    #   el comando me regresa algo como esto
    Linux CloudVooxServer 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686 GNU/Linux

    #          Buscar las fuentes del kernel con las versiones instaladas en el server  2.6.17
    apt-cache search 2.6.27-7-generic
    #           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 --yes  linux-headers-2.6.27-7-generic linux-source-2.6.27 linux-image-2.6.27-7-generic
    #          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 --yes nmap lynx emacs21
    #          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 --yes festival festival-dev
    #          Librerias para poder usar la consola de asterisk
    sudo apt-get install --yes ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev
    #          Librerias de compresion para Asterisk
    sudo apt-get install --yes zlib1g zlib1g-dev
    #         librerias requeridas por el servicio web de FreePBX
    sudo apt-get install --yes bison bison-doc libxml2 libxml2-dev libtiff4 libtiff4-dev
    #        librerias requeridas por el servicio web de FreePBX
    sudo apt-get install --yes libasound2 libgsm1 libltdl7 libpq5 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev mpg123
    #          En caso que se vaya a usar una tarjeta sangoma, se requiere instalar flex para que funcione el driver wanpipe
    sudo apt-get install --yes flex
    #         Librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
    sudo apt-get install --yes subversion curl doxygen
    #         librerias requeridas por el servicio web de FreePBX
    sudo apt-get install --yes libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl
    #Si desean incorporar envios de SMS desde Asterisk
    sudo apt-get install libgnokii3 libgnokii3-dev  gnokii  gnokii-common gnokii-cli gnokii-smsd  gnokii-smsd-mysq
    #         Servidor web para FreePBX
    sudo apt-get install --yes apache2
    #         Librerias requeridas por el servicio web de FreePBX
    sudo apt-get install --yes php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl ph5-gd php-db
    #         Base de datos para el CDR y FreePBX
    sudo apt-get install --yes mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev

    #****Instalacion conjunta*******
    sudo apt-get install --yes openssl libssl-dev ssh  &&
    sudo apt-get install --yes gcc make g++ &&
     sudo apt-get install --yes  linux-headers-2.6.27-7-generic linux-source-2.6.27 linux-image-2.6.27-7-generic &&
    sudo apt-get install --yes nmap lynx emacs21 &&
    sudo apt-get install --yes festival festival-dev &&
    sudo apt-get install --yes ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev &&
    sudo apt-get install --yes zlib1g zlib1g-dev &&
    sudo apt-get install --yes bison bison-doc libxml2 libxml2-dev libtiff4 libtiff4-dev &&
    sudo apt-get install --yes libasound2 libgsm1 libltdl7 libpq5 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev mpg123 &&
    sudo apt-get install --yes flex &&
    sudo apt-get install --yes subversion curl doxygen &&
    sudo apt-get install --yes libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl &&
    sudo apt-get install --yes apache2 &&
    sudo apt-get install --yes php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db &&
    sudo apt-get install --yes mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
    #****Instalacion conjunta*******
    #   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
       
    **        
    #    creamos un repositorio local para almacenar los archivos fuente de asterisk
    mkdir ~/asterisk
    cd asterisk
    #   Comenzamos a obtener los archivos y los almacenamos en el directorio creado requeridos para Asterisk
    #   Obtenemos los archivos para Asterisk 1.4, ir al directorio http://asterisk.org/downloads y descargar los archivos de la version 1.4
    #asterisk-perl
    wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
    #sox
    wget http://superb-east.dl.sourceforge.net/sourceforge/sox/sox-14.2.0.tar.gz
    #lame
    wget http://internap.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz
    #freepbx
    wget http://mirror.freepbx.org/freepbx-2.5.1.tar.gz
    #asterisk
    wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.23.1.tar.gz
    #sounds
    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
    #DAHDI
    wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz &&
    wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz
    #addons
    wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
    #libpri
    wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
    #spandsp
    wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.3.tgz
    #obtenemos func_devstate.c
    wget http://svn.digium.com/view/asterisk/trunk/funcs/func_devstate.c?revision=81784&view=co&pathrev=81784
    mv http://svn.digium.com/view/asterisk/trunk/funcs/func_devstate.c?revision=81784&view=co&pathrev=81784 func_devstate.c
    ###**Descarga conjunta****
    wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz  &&
    wget http://superb-east.dl.sourceforge.net/sourceforge/sox/sox-14.2.0.tar.gz &&
    wget http://internap.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz &&
    wget http://mirror.freepbx.org/freepbx-2.5.1.tar.gz &&
    wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.23.1.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 &&
    wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz &&
    wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz &&
    wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz &&
    wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz &&
    wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.3.tgz
    ###**Descarga conjunta****

    #     Instalamos el manipulador de Sonidos para Asterisk
            cd /usr/src/ &&
            sudo tar -xvzf ~/asterisk/lame-398-2.tar.gz &&
            cd lame-398-2 &&
            sudo ./configure --prefix=/usr --sysconfdir=/etc  &&
            sudo make && sudo make install
    #     Instalamos SOX, utileria para manejar los archivos de sonido en Asterisk
            cd /usr/src/ &&
            sudo  tar -xzvf ~/asterisk/sox-14.2.0.tar.gz &&
            cd sox-14.2.0 &&
            sudo ./configure &&
            sudo make && sudo make install
    #     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
           
    #     Instalamos SpanDSP/softfax y parchamos asterisk
            cd /usr/src/ &&
            sudo tar -xzvf /home/cloudvoox/asterisk/spandsp-0.0.3.tgz &&
            cd spandsp-0.0.3 &&
            sudo  ./configure &&
            sudo make && sudo make install
           
    #Agregar el directorio  /usr/local/lib/ al LD_LIBRARY_PATH y también al archivo /etc/ld.so.conf y despues correr ldconfig
            sudo emacs /etc/ld.so.conf
                    include  /usr/local/lib/
            sudo ldconfig
    #     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.5.1.tar.gz &&
            cd freepbx-2.5.1/    
    #    Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
    #    Iniciacilizacion de la implementacion de Bases de Datos en Mysql para Asterisk
    #   Accedemos a MySQL si no han configurado su 4st3r1sk de root mysql, solo presionar Enter
    mysql -u root -p
       ENTER
       show databases;
       use mysql ;
       show tables;
       select * from user;
    #   Creamos las bases de datos  para FreePBX y para el CDR, cambiamos los 4st3r1sk de root y creamos un usuario para Asterisk
       
       update user set 4st3r1sk = 4st3r1sk("4st3r1sk") 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;
    #   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.5.1/SQL/newinstall.sql &&
            mysql -u asterisk -p4st3r1sk asteriskcdrdb < /usr/src/freepbx-2.5.1/SQL/cdr_mysql_table.sql
    #   Termina la implementacion de Bases de Datos en Mysql para Asterisk
    #   creacion del usuario y grupo que manejara los procesos de asterisk
    sudo groupadd asterisk
    sudo useradd -c "Asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk
    sudo mkdir /var/run/asterisk
    sudo chown asterisk:asterisk /var/run/asterisk
    #   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
    #   editamos el archivo de apache
    sudo emacs /etc/apache2/envvars
    #en emacs para buscar, presionar Ctrl+s y  cambiar de www-data a asterisk
    export APACHE_RUN_USER=www-data
    export APACHE_RUN_GROUP=www-data
    #   por
    export APACHE_RUN_USER=asterisk
    export APACHE_RUN_GROUP=asterisk
    #   guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
    #   cambiamos los permisos para el directorio de sesiones de PHP
      sudo chown -R asterisk /var/lib/php5
    #   edicion de php para aumentar el tama?o de archivos que se suben al servidor web
            sudo emacs /etc/php5/apache2/php.ini
                    default_charset = "utf8"
                   
                    magic_quotes_gpc = off
                    upload_max_filesize = 32M
                    max_execution_time = 300
                    max_input_time = 300
                    memory_limit = 128M
           
    #   creamos un directorio para la instalacion de los paquetes de Asterisk
      sudo mkdir /usr/src/asterisk
      cd /usr/src/asterisk
    # 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  
    #  librerias o drivers para tarjetas ZAPTEL  en caso de que se usen tarjetas digium
       sudo tar -xzvf ~/asterisk/dahdi-linux-current.tar.gz  && ~/asterisk/dahdi-tools-current.tar.gz  
    #   El PBX Asterisk
       sudo tar -xzvf ~/asterisk/asterisk-1.4.23.1.tar.gz        
    #   utilerias de asterisk(cdr, rep music on hold. etc)
       sudo tar -xzvf ~/asterisk/asterisk-addons-1.4-current.tar.gz
    #   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 ~/asterisk/asterisk-extra-sounds-en-gsm-current.tar.gz
    #   Iniciamos la compilacion de las librerias PRI (aunque no se usaran)
       cd /usr/src/asterisk &&
       cd /usr/src/asterisk/libpri-1.4.9/  &&
       sudo make & sudo make install
    #   Compilamos las librerias de DAHDI
       cd /usr/src/asterisk/dahdi-linux-2.1.0.3/ &&
       sudo make clean &&
       sudo make &&  sudo make install
       
       cd  /usr/src/asterisk/dahdi-tools-2.1.0.2/ &&
       ./configure &&
       sudo make &&
       sudo make install  &&
       sudo make config
    # compilacion de Asterisk
       cd /usr/src/asterisk/asterisk-1.4.23.1 &&
       sudo cp ~/asterisk/func_devstate.c apps/func_devstate.c &&
       sudo make clean &&
       sudo ./configure &&
       sudo make &&  sudo make install &&
       sudo make samples &&  sudo make progdocs
    # compilacion de Utilerias de Asterisk
       cd /usr/src/asterisk/asterisk-addons-1.4.7 &&
       sudo ./configure  &&
       sudo make && sudo make install &&
       sudo make samples
    #       reiniciamos el servidor web apache
            sudo /etc/init.d/apache2 restart
    #     creamos directorios temporales para asterisk
            sudo mkdir /var/lib/asterisk/tmp  &&
            sudo chown -R asterisk:asterisk /var/lib/asterisk/tmp
    #   Editamos el archivo de configuraci?n de Asterisk
            sudo emacs /etc/asterisk/asterisk.conf
           
    #   Y editamos la siguiente línea para que quede de la siguiente forma
            ASTRUNDIR => /var/run/asterisk
            RUNASTERISK=/var/run/asterisk
    #    continuamos con la instalacion de FreePBX
           cd /usr/src/freepbx-2.5.1/
           sudo pear install db
           sudo pear install mdb2
    #en caso de que no se pueda hacer la instalación automática de pear-db, descargar el paquete e instalarlo manualmente sudo pear install db.17.0.0.tgz
    #wget http://download.pear.php.net/package/DB-1.7.13.tgz
             
            sudo mkdir /var/www/asterisk/ &&
            sudo mkdir /var/www/asterisk/cgi-bin &&
            sudo chown -R asterisk:asterisk /var/www/asterisk
    # Ejecutamos el script de asterisk antes de instalar freepbx
            sudo asterisk start
    #Obtenemos la IP del servidor
            ifconfig | grep "inet"
    #Ejecutamos el script de instalacion y configuracion de asterisk, si existe una configuracion previa de FreePBX, eliminar el archivo en/etc/amportal.conf
    sudo ./install_amp
    #La instalacion de Asterisk pedira los siguientes valores
    Enter your USERNAME to connect to the 'asterisk' database:
     asterisk
    Enter your 4st3r1sk to connect to the 'asterisk' database:
     4st3r1sk
    Enter the hostname of the 'asterisk' database:
     localhost
    Enter a USERNAME to connect to the Asterisk Manager interface:
     asterisk
    Enter a 4st3r1sk to connect to the Asterisk Manager interface:
     4st3r1sk
    Enter the path to use for your AMP web root:
    /var/www/asterisk
    Enter the IP ADDRESS or hostname used to access the AMP web-admin:
     192.168.10.129
    Enter a 4st3r1sk to perform call transfers with the Flash Operator Panel:
    4st3r1sk
    Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
     extensions
    Enter directory in which to store AMP executable scripts:
    /var/lib/asterisk/bin
    Enter directory in which to store super-user scripts:
    /usr/sbin
    /etc/amportal.conf writtenAssuming new install, --install-moh added to command line
    OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..Checking for selinux..OK
    Connecting to database..OK
    Checking current version of AMP..2.3.0beta1
    Installing new FreePBX files..OK (328 files copied, 0 skipped)
    Configuring install for your environment..OK
    Setting permissions on files..OK
    Checking for upgrades..0 found
    Checking framework.. already at 2.3.0beta1.0
    Checking core.. already at 2.3.0beta1.2
    Generating AMP configs..
    Generating Configurations.conf, (if Asterisk is not running, you will get an error
    In case of error, start Asterisk and hit the red bar in the GUI to generate the Configuraions.conf files
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Running module install.php and install.sql scripts
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Connecting to database..OK
    Connecting to Asterisk manager interface..Mon, 02 Jul 2007 02:02:25 -0500 - Unable to connect to manager 127.0.0.1:5038 (111): Connection refused
    FAILED
    [FATAL] Cannot connect to manager interface
    Generating AMP configs..OK
    Restarting Flash Operator Panel..op_server.pl: no process killed
    OK
    Please update your modules and reload Asterisk by visiting http://192.168.1.4/asterisk/
    #***
    #* Note: It's possible that if you click the red 'Update Now' bar BEFORE *
    #* updating your modules, your machine will start dropping calls. Ensure *
    #* that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
    #* as this is observed, your machine will be fully functional whilst the *
    #* upgrade is in progress.                                               *
    #***
    #Probablemente la primera vez envie un error como este [FATAL] Cannot connect to manager interface,debido que aun no se ha ejecutado Asterisk para que escuche en el pueto de AMI
    #    si marcara otro error ./installamp revisar usuarios de base de datos, librerías de php y de mysql, reiniciar apache y peardb, php-db
    #    en caso de que tuviera un error al ejecutar FreePBX para reconfigurarlo previamente elimine el archivo de configuracion en /etc/amportal.conf
    #Despues de que se haya instalado freepbx, creamos un enlace dinámico en el directorio root del servidor web, esto para que se pueda ver el panel desde el menú de freepbx en nuetro conmutador
            cd /var/www
            sudo ln -s /var/www/asterisk/panel /var/www/panel
            sudo ln -s /var/www/asterisk/recordings /var/www/recordings
            sudo chown asterisk.asterisk /var/www/
    #   creamos la carpeta donde se almacenaran los sonidos del IVR y configuramos los permisos para el directorio de Asterisk
              sudo mkdir /var/lib/asterisk/sounds/custom &&
              sudo chown -R asterisk:asterisk /var/lib/asterisk/
             
    #Creamos el directorio para almacenar los archivos grabados
            sudo mkdir  /var/lib/asterisk/recordings
            sudo chown -R asterisk.asterisk  /var/lib/asterisk/recordings
             
    #   Editamos el siguiente archivo /etc/amportal y cambiamos la siguiente linea AUTHTYPE=none a database, esto para que pida autenticación de administración de usuarios
            sudo emacs /etc/amportal.conf
                    AUTHTYPE=database
           
    #guardamos y ejecutamos el siguiente comando
            sudo /usr/src/freepbx-2.5.1/apply_conf.sh
    # Si al ejecutar amportal enviara un error parecido  "error: Bad fd number", entonces editamos el archivo /usr/sbin/safe_asterisk y cambiamos la primera linea de /bin/sh a /bin/bash
    # Si al ejecutar amportal enviara un error parecido  "/op_server.pl: not found", entonces editamos el archivo /var/www/asterisk/panel/safe_opserver  ó /var/www/asterisk/safe_opserver  y cambiamos la primera linea de #!/usr/bin/env sh a #!/usr/bin/env bash
    #Editamos el siguiente archivo y modificamos la siguiente línea
            sudo emacs /etc/default/asterisk
                    RUNASTERISK=yes
           
    #   ejecutamos amportal
            sudo amportal stop
            sudo amportal start
    #   verificamos que efectivamente se haya ejecutado correctamente y deberiamos ver algo parecido
            ps aux
            asterisk  2380  0.0  0.1   3852   724 pts/1    S    16:53   0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
            asterisk  2387  0.0  1.8  19376  8388 pts/1    Sl   16:53   0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
            asterisk  2419  0.0  0.1   1756   500 pts/1    S    16:53   0:00 sh /var/www/asterisk/panel/safe_opserver
            asterisk  2420  0.1  1.8  11076  8356 pts/1    S    16:53   0:00 /usr/bin/perl -w /var/www/asterisk/panel/op_server.pl
    #   Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.4
            http://192.168.1.76/asterisk/
    #Introducimos el login y password (4st3r1sk) configurado:
    asterisk
    4st3r1sk
    #Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
    #Y el administrador Web de Asterisk FreePBX.
    #Descargar modulos de administracion de Asterisk.
     
     
     
     #
    ***Instalando voces en español*****#
     cd ~/asterisk &&
     sudo wget http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-gsm-1.4.tar.gz  &&
     sudo wget http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-gsm-1.4.tar.gz &&
     cd /var/lib/asterisk/sounds/ &&
     sudo mkdir es &&
     cd es &&
     sudo tar -xzvf ~/asterisk/voipnovatos-core-sounds-es-gsm-1.4.tar.gz &&
     sudo tar -xzvf ~/asterisk/voipnovatos-extra-sounds-es-gsm-1.4.tar.gz &&
     mv es/* . &&
     rm -rf es &&
     mv digits/es/* digits &&
     mv dictate/es/* dictate &&
     mv phonetic/es/* phonetic &&
     mv letters/es/* letters &&
     mv followme/es/* followme &&
     mv silence/es/* silence
     #***Instalando voces en español*******#
     
     
  • SJCall un Softphone para Firefox desarrollado por SJLabs

    SJPhone desarrollado por la empresa SJ Labs fué uno de los primeros Softphones gratuitos que salieron hace algunos años, estos softphones son compatibles con el protocolo SIP por lo que no hay problemas para usarlos con Asterisk.
    Los Softphones lo que permites es hacer llamadas vía VoIP, por lo que desde una página web es posible llamar a un teléfono de casa, a un celular ó a otro teléfono IP.
    Ahora me encuentro con que SJLabs saco hace tiempo un Softphone compatible con Firefox aunque este Softphone solo funciona para versiones 2.0.0.X y anteriores de Firefox pero no dudo que pronto haya una versión FireFox 3.0, lo interesante de este Softphone es que es posible tener un Telefono IP desde nuestro navegador, por lo que permitiría a diversos usuarios remotos instalarlo sin tantas pegas en el navegador.
    Para tenerlo funcionando solo basta instalar la extensión firefox y se puede hacer desde la siguiente URL:
    https://addons.mozilla.org/es-ES/firefox/addon/2589
  • Usando las Voces en español que liberó Nucleum para Asterisk

    Acabo de probar el set de voces que la empresa Nucleum liberó para Asterisk, un detallazo de Juán Carlos Huerta y la empresa para la cuál trabaja... Con esto ya es grato escuchar voces en español para asterisk mexicanizados.
    Para poder poner Asterisk a español mexicano solo basta descargar el siguiente archivo de la página de Nucleum:
    http://nucleum.com.mx/extras/asterisk-sounds-1.4-Hombre.tar.gz
    De ahí ir al directorio dónde se encuentran los archivos de sonidos de Asterisk
    cd /var/lib/asterisk/sounds
    Y a continuación solo descomprimir los archivos de sonido
    sudo tar -xzvf asterisk-sounds-1.4-Hombre.tar.gz
    Esto creará un directorio asterisk-sounds
    Lo importante está en asterisk-sounds/sounds/
    Ahí se verán los siguientes directorios
    dictate digits es letters phonetic
    Copiar todos los directorios a /var/lib/asterisk/sounds
    Por alguna razón no me funcionó poner los directorios debajo del directorio /var/lib/asterisk/sounds directamente, ya que haciendo esto al configurar el sistema de Asterisk a español los mensajes del IVR si me los manda en español, pero las letras, números y demas me los sigue diciendo en ingles, por lo que tuve que modificar el path original de como vienen en el paquete a la siguiente forma:
    Copiando los directorios como vienen en el paquete proveído por Nucleum al directorio sounds quedaŕian de la siguiente manera:
  • /var/lib/asterisk/sounds/
  • /var/lib/asterisk/sounds/es
  • /var/lib/asterisk/sounds/letters/es
  • /var/lib/asterisk/sounds/phonetic/es
  • /var/lib/asterisk/sounds/dictate/es
  • /var/lib/asterisk/sounds/digits/es
    El detalle del asterisco cuándo configuro en sip_general_additional.conf la opción de
    language=es
    Los IVR en español que están bajo el directorio /var/lib/asterisk/sounds/es funcionan, el detalle es que los números, letras y demás me los sigue dando en ingles.
    Para esto lo que hice fué mover los directorios siguientes
  • /var/lib/asterisk/sounds/letters/es => /var/lib/asterisk/sounds/es/letters
  • /var/lib/asterisk/sounds/phonetic/es => /var/lib/asterisk/sounds/es/phonetic
  • /var/lib/asterisk/sounds/dictate/es => /var/lib/asterisk/sounds/es/dictate
  • /var/lib/asterisk/sounds/digits/es => /var/lib/asterisk/sounds/es/digits
    Ya con esto mi sistema de Asterisk quedó completamente en español.
    Igual y mi configuración estaba mal que no reconoció el path que usa Nucleum, pero ya moviendo los directorios debajo del directorio /var/lib/asterisk/sounds/es ya ahora si todos los IVRs son en español..
    Gracias por la contribución..
  • La recesión global empieza a pegarle la telefonía de Voz sobre IP en los DID

    Hace unos días un cliente me contrató un equipo de voz sobre IP base, la idea fué agregarle un par de números telefónicos con 5 líneas por número, el número telefónico costó 9.00 us dlls por mes y cada línea adicional 8.00 us dlls + 35.00 us dlls de la configuración mensual que cobró el carrier, pero ayer otra persona me contactó para saber cuánto le costaría integrar dentro de mi solución base de Voz sobre IP 25 líneas IP y confiado le comenté el costo por DID + canal adicional y configuración adicional, la sorpresa vino cuándo entré al sitio del carrier y me encuentro con la novedad de que los canales de VoIP adicionales al DID ya subieron de precio un 300% pues ahora están en 24.95 dlls, por lo que habrá que replantear si es negocio tener canales adicionales por DID vía VoIP ó hacerlo de la forma tradicional.
    Afortunadamente el precio del DID (No del canal adicional) sigue en el mismo precio, por lo que esto ya es un aventaja más aun aparte que de inicio cada DID soporta 2 canales de VoIP que ya es una ventaja, más aun el soporte del códec G729.
  • ¿Cómo utilizar los servicios de DynDNS ?

    Algunos amigos me han preguntado como publicar su sitio web usando su propio internet y su máquina como servidor de páginas web para publicar su blog, alguna página o hacer sus pininos con esto de la programación web, les he comentado sobre como hacerlo con DynDNS. y por ello público este post para comentar a grandes rasgos como publicar sitios webs usando las IP Públicas Dinámicas que nos proveen el servicio de Prodigy, eGo o algun otro proveedor de internet.
    Lo básico
    Antes hay que comenzar con lo básico saber que es una IP Pública y una IP Privada, pero antes de eso
    ¿Qué es una IP?
    IP significa "Internet Protocol", qué es el mecanismo que usan las computadoras para poder identificarse en internet y en una red local.
    Una IP es cómo un número de teléfono por ejemplo, para poder llamar a la casa de mis padres a Oaxaca marco su número telefónico, al igual que para poder marcar a mis conocidos aquí en el D.F. igual marco un número de celular ó fijo el cuál es único y no se repite, igual es una IP es un número con el cuál las computadoras se conectan entre si en internet, solo que también aparte de tener ese número las computadoras también tienen nombres que nos ayudan a recordar de manera más fácil que los números, asi por ejemplo podemos identificar gmail.com, phylevn.binniza.com, mozilla.org, OpenOffice.org de tal forma que es más fácil aprendernos los nombres ó dominios que los números de IP.
    Una IP está conformado por 4 números de 8 bits. 8 bits es la representación binaria de un número de 0 hasta 255. Por lo tanto en las ips podemos tener números como:
  • 75.126.179.110 para una ip pública
  • 192.168.1.1 para una ip privada por ejemplo
    ¿Qué es una IP Pública y que es una IP Privada ?
    IP Pública
    Volviendo al ejemplo de los teléfonos, una IP Pública es una dirección que puede accederse directamente desde cualquier parte de internet, al igual que un número de teléfono puede marcarse desde cualquier casa, ciudad ó pais, entonces podemos entrar a SourceForge por su nombre http://www.sourceforge.net ó por su IP 216.34.181.60.
    IP Privada
    Una IP Privada es una dirección de uso interno en una red local, por ejemplo en un cybercafé, en una oficina, en tú casa, las IP que regularmente usan tús máquinas son IPs privadas. Estas IP no pueden accederse directamente desde internet, usando el ejemplo del teléfono una IP Privada sería como un número de extensión por ejempo el 5055, 1012, etc. las extensiones no pueden marcarse directamente desde otra casa, ciudad ó pais, primero se marca el número y despues la extensión. Por lo que una IP Privada se puede repetir en otras redes locales pero no en la misma, al igual que una extensión no se repite en la misma oficina, pero en otras empresas seguro pueden estar usando la misma numeración de extensiones.
    ¿Qué es una IP Dinámica?
    Las IP Dinámicas pueden ser usadas tanto en IP Públicas como fijas, una IP Dinámica es una dirección que alguien nos asigna automáticamente al conectarnos a una red, esta dirección puede ir cambiando cada vez que nos conectemos a internet, o por ejemplo en el caso de los routers ó modems de Infinitum, Ego o de algún otro proveedor cada vez que lo reiniciemos estaría cambiando de dirección, volviendo al ejemplo de los teléfonos es como si dijéramos que cada que conéctaramos el teléfono a la línea nos cambiara de número telefónico.
    Para el caso de una IP Dinámica cambiar de IP constantemente no representa problema a que si cambiáramos de número telefónico todos los días, esto porque a nuestras PC nadie se conecta directamente, pues nosotros somos los que nos conectams a paginas wes, messenger, chat, y otros servicios y al conectarnos abrimos un canal de comunicación.
    Pero que pasa si quisiéramos que alguien se conectara directamente a nuestra máquina en algún momento ? entonces si sería un caos eso de que nuestra IP cambiara todos los días, al igual que si alguien quisiera llamarnos y nuestro número cambiara.
    ¿Como permitir que se conecten a nuestra máquina si tengo una IP Dinámica ?
    Supongamos el siguiente caso:
    Tenemos un router módem (2Wire) de Infinitum que nos dá la IP Pública 189.181.154.37, Para saber qué IP Pública usa tú router entra a http://www.tuip.info, pues cada vez que entras a una página de internet se registra la IP Pública del router a traves del cuál sales a internet, no tú IP Privada.
    Ese router lo tenemos en la casa en dónde hay 4 máquinas con las siguientes IP privadas:
    Máquina IP Privada
  • A 192.168.1.90
  • B 192.168.1.101
  • C 192.168.1.103
  • phylevnMobile 192.168.1.176
  • router 192.168.1.254
    Lo que quiero hacer es que desde cualquier parte de internet puedan entrar a una página web que tengo instalada en la máquina de PhylevnMobile.
    Si alguien teclea en alguna otra parte de internet directamente en la barra de direcciones de su navegador firefox192.168.1.176 probablemente vea un error, ya que es una IP privada que en este caso uso dentro de mi red local.
    Para que alguien pueda acceder a mi página web desde otra parte de internet primero tendría que decirle al router que cuándo alguien pregunte por el puerto 80 lo mande a mi dirección IP, volviendo al ejemplo telefónico para con los números telefónico y las extensiones, para que alguien de fuera pueda entrar a una extensión, entonces el agente externo marca al número telefónico de la empresa y el que redirecciona la llamada es el conmutador, que en este caso análogamente es el caso de un router para con las IP y Puertos.
    ¿Qué es un puerto ? ¿Porqué el puerto 80?
    Las máquinas aparte de tener direcciones IP, tiene puertos, un puerto es la forma de acceder a un servicio de una computadora, por ejemplo para bajar archivos, para poder enviarle un mensaje en el chat, para ver páginas web que hay en la máquina, para poder ver una cámara conectada a la PC, para poder apagar la computadora desde otra máquina, etc., los ejemplos que estoy mencionando coloquialmente se llaman servicios, porque son los que sirve la computadora a otras computadoras.
    Entonces el puerto 80 es el puerto estándar para brindar servicios web a otras computadoras, igualmente puede usarse algún otro puerto pero vámonos por la fácil face-smile.png .
    Entonces para poder mostrar al mundo mi página web colocada en mi computadora, tengo que decirle al router que cuándo alguien pregunte por el puerto 80 lo mánde a la IP de mi máquina de phylevnMobile que tiene la IP 192.168.1.176.
    Para esto usando el más común de los routers los 2Wires de Prodigy Infinitum, bastaría con ir a la dirección IP 192.168.1.254 que es la IP default del servicio de Prodigy para el router.
    Seleccionar Bloqueo de Intrusos->Configuración del bloqueo de intrusos
    Pedirá un password que es la clave WEP del router.
    En la página en dónde dice Seleccionar una computadora, seleccionaremos el nombre de nuestra máquina, en este caso phylevnMobile. -esto no es muy práctico, prefiero otros routers como los que usan el firmware dd-wrt dónde de un mismo paso indico la IP local, el puerto remoto y a que puerto local irá, pero en fin sigamos-
    Seleccionamos abajo del listado de aplicaciones de la página la opción que dice :
    Agregar una nueva aplicación definida por el usuario
    Y nos aparecerá una nueva página dónde daremos los siguientes datos:
  • Nombre de aplicación: Servicio Web local
  • Protocolo: TCP -Generalmente es TCP salvo algunos casos se usa UDP(VPNs, Streaming, etc) -
  • Puerto (o intervalo): De: 80 A:80 -Aqui decimos el puerto externo que usaremos, generalmente es el mismo que el interno, a menos que tengamos ya apartado el puerto 80 para otra máquina, si ya se definió un puerto no es válido repetirlo-
  • Tiempo de espera del protocolo (segundos): 86400
  • Asignar al puerto de host: 80-Aqui introducimos el puerto que usa internamente nuestro servicio en este caso 80, pero por ejemplo si es un VNC 5900, un FTP 21,un SSH 23, etc.
  • Tipo de Aplicación: Ninguno
  • Y para finalizar presionamos el botón que dice Agregar Definición y esperar unos segundos.
  • Despues de presionar el botón al final de la página se mostrará el servicio agregado:
    Protocolo Puerto (o intervalo) Puerto de host Tiempo de espera (seg.)
    TCP 80 80 86400
  • Presionamos el botón atras y volveremos a la página de configuración del sistema de bloqueo de intrusos
  • Seleccionar Permitir aplicaciones individuales y escogemos del listado Servicio Web Local y presionamos el botón agregar para pasarlo al listado de aplicaciones alojadas.
  • Presionamos el botón Aceptar y veremos una página como la que sigue:
    Configuración actual: Personalizada
    Dispositivo Aplicaciones permitidas
    PhylevnMobile Servicio Web Local 192.168.1.64
    Si la damos ver detalles veremos algo como lo siguiente:
    Configuración actual: Personalizada
    Dispositivo Aplicaciones permitidas Tipo de aplicación Protocolo Números de puerto IP Pública
    PhylevnMobile Servicio Web Local - TCP 80 189.181.154.37
    Con esto ya cualquiera puede acceder desde internet a nuestra página local introduciendo la IP 189.181.154.37 en su Navegador Web de FireFox.
    Peroooooooooo
    189.181.154.37 es una IP Dinámica, ¿ Que pasa si al rato cambia de IP el router ? obviamente ya no podrían entrar nuestros amigos con la IP que les dimos ó igual entrarían al servicio de alguna otra máquina que no sería la nuestra, porqué ya no es nuestra IP.
    Para resolver esto usaremos el servicio de DynDNS.org
    ¿Qué es lo que hace DynDNS.org?
    DynDns lo que hace es darle un nombre a tú máquina, por ejemplo phylevnmobile.dyndns.org
  • Dónde dyndns.org es el nombre global del servicio.
  • phylevnmobile es el nombre que elegirías y que no debería ser usado por otros usuarios de dyndns.org.
    Ya con el nombre ó subdominio asignado, entonces usando alguna de las herramientas de DynDNS cada vez que la IP de tú máquina cambie entonces DynDNS.org redireccionara tú subdominio a la nueva IP.
    Por ejemplo hoy amaneciste con la IP.
    189.181.154.37 DynDNS apuntará phylevnmobile.dyndns.org a esa IP, entonces cuándo alguien entré a phylevnmobile.dyndns.org irá a 189.181.154.37.
    Si mañana cambiá tú IP a 189.181.150.42, DynDns nuevamente redireccionará tú subdominio phylevnmobile.dyndns.org a la ip 189.181.150.42, y asi sucesivamente.
    De tal forma que en internet entrarán a traves de phylevnmobile.dyndns.org a tu página sin importar que todos los días tú IP Pública cambié.
    ¿Cómo me registro en DynDNS?
    Muy fácil..
    Vé a Dyndns.org y selecciona "create account".
    Da tus datos de registro y despues de eso confima el registro dandole click a la url que te llega al correo que diste.
    Válidate en el servicio de DynDNS con tu login y password y ve a:
    Services->DNS Services->Dynamic DNS(DDNS)->Manage Hosts->Add New HostName
    Y ahí te pedirá los datos para crear tú dominio dinámico:
  • Hostname: phylevnMobile -puedes poner el que gustes-, selecciona igual el servidor de tú gusto
  • WildCard: Seleccionalo si quieres tener subdominios.
  • Service Type: Host with Ip Address
  • IP Address: Pon aquí tú IP Pública abajo del text box mostrará tú ip pública. También la puedes conocer a traves de http://www.tuip.info
  • Mail Routing: Para este ejemplo no aplica, pero es útil en otros casos.
  • Solo Presionar el botón Create host para guardar los cambios.
  • Con esto ya tendríamos configurado el servicio DDNS, para verificar solo basta hacer un ping a phylevn.dyndns.org ó al dominio creado, y veremos que al hacer ping nos responderá nuestra IP Pública.
    Con esto ya pueden acceder desde internet usando por ejemplo el dominio phylevn.dyndns.org.
    Ahora solo faltaría ver como actualizar la IP en DynDNS cada vez que el router cambie de IP, para esto DynDNS provee algunas herramientas:
    https://www.dyndns.com/support/tools/
    En otros routers ya incorporan el protocolo DDNS que es compatible con DynDNS y solo es necesario dar el login y password de DynDNS.
    Espero haya servido de algo la explicación que aqui pongo, cualquier duda escribanlo aquí abajo como comentario.
  • Anterior página 1 ... 7 8 9 ... 12 Siguiente página
    114 entradas

    Emblemas

    Energizado por Jaws Project
    Soporta RSS2
    Energizado por Software Libre
    Energizado por Mozila Firefox
    Energizado por Ubuntu Linux
    Energizado por PHP
    Energizado por Apache Web Server
    Energizado por MySQL
    Energizado por SQLite
    atom

    ¿ Where The Hell Am I ?

    Mi Flickr







    Aquí Mis Mejores Fotos

    Eventos

    Encuesta

    ¿Que medio de comunicación usas más ?

    Comentarios Recientes