Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Phylevn: Asterisk funciona bien sobre redes inalámbricas, solo necesitas medir la latencia de la red y elegir el códec adecuado que puede ser un ilbc o g729 hasta un ulaw, y si la latencia es la adecuada puede ser un g729. Ahora también requieres saber dónde recibiras el audio, para que puedas definir que dispositivo a usar. Saludos  
  • Cesar: Gracias por tu respuesta, ya lo he hecho, pero tiene casi 1 minuto de retraso, solo con el windowa media encoder logre bajarlo a 3 segundos, solo que necesito el audio casi al momento, k tenga cuando mucho 1 segundo, por ello te comentaba lo de una llamada en asterisk, pero me preocupa la calidad del audio, alguna idea?  
  • Phylevn: Usa algún servidor de Audio Streaming, como icecast por ejemplo, con eso lo resuelves en unos cuántos minutos.  
  • César Villegas: k tal. tengo una duda, he investigado en Internet, pero no encuentro la respuesta correcta, o quizás no busque lo correcto, espero me puedas ayudar.
    mi pregunta es la siguiente, necesito pasar audio del punto A al punto B ellos están conectados por un enlace wifi, y como necesito que el audio tenga el mínimo retraso, pensé en una llamada mediante asterisk, crees tu sea lo mas viable? o me siguieres algo? muchas gracias!  
  • Phylevn: @Miguel: Aquí tengo varios tutoriales, a cuál te refieres exactamente ? Saludos.  
  • miguel: hola amigo, acabo de ver tuto y quisiera intentarlo, pero no funcionan los enlaces de descarga. podrias decirme de donde descargarlos?
    gracias.  
  • chilicuil: Esta super xida la pagina felicidades, solo tengo una queja, jejeje, bueno no, es una sugerencia. Nos caeria bien que revisaras el rss porque no funciona, saludos y muchos exitos  
  • Phylevn: @César: Puede ser que te convenga más una tarjeta E1, aunque debes considerar el costo de un E1 en comparación de 26 líneas analógicas.. si fueran VoIP considera también el ancho de banda de internet que necesitarías, tipo de servidor y licencias de algún códec de compresión.  
  • cesar: K tal amigo, aki con una consulta, que sugieres para una empresa donde actualmente tienen un conmutador tda200 con 26 lineas y 65 extenciones, crees k se pueda manejar con asterisk? recomendarias un enlace E1 o algun proveedor de voip¿? bueno muchas gracias.  
  • Melissa: I just wanted to say, well done guys! Lovely!.
    I am from Kosovo and also now'm speaking English, tell me right I wrote the following sentence: "Has someone ever used provillus: present 7th animals are treated to grow from lean frontal hair strategies."
    THX ;-), Melissa.  

Escribe el código Captcha que estás viendo

Software Libre

  • OaxRom WebSMS Beta Software para envío de sms desde aplicación web con gnokii y teléfonos Nokia USB

    iMest 0.03 beta.

    iMest es un software desarrollado bajo la plataforma LAMPG - Linux Apache MySQL PHP y Gnokii.

    Este software permite usar Gnokii como interfaz para envío de sms y así poder enviar multiples mensajes SMS personalizados desde una página web a múltiples categorías de contactos.

    Características del software.
  • Envío de mensajes SMS múltiples por tipo de contacto.
  • Envío de mensajes SMS a múltiples categorías de contacto.
  • Envío de mensaje SMS personal.
  • Captura de categorías de contactos.
  • Captura de contactos.
  • Asignación de contactos a múltiples categorías.
  • Programación de fecha de envío de mensajes SMS.
  • Uso de múltiples teléfonos móviles para envío de SMS.
  • Importación de contactos.
  • Captura, edición, listado, búsqueda y eliminación de contactos.
  • Captura, edición, listado, búsqueda y eliminación de categorías.
  • Captura, edición, listado, búsqueda y eliminación de mensajes.
  • Registro de mensajes enviados y no enviados.
  • Reenvío de mensajes.
  • Personalización de mensajes múltiples enviados en base a palabras clave.
  • Detección automática de teléfonos conectados por usb desde configuración del sistema.
  • Interfaz Ajax-Web.

    Plataforma:
  • Linux
  • Apache
  • MySQL
  • PHP
  • Gnokii

    Descarga:

    https://sourceforge.net/projects/binnizawebsms/files/OaxRom%20WebSMS%20iMest%200.03%20Beta/sms.zip/download

    ToDo:
  • Control de Usuarios
  • Recepción de SMS.

    Screenshots

    http://www.flickr.com/search/?q=oaxrom%20websms&w=all

    Requerimientos
  • *gnokii
  • *gnokii-smsd
  • *libgnokii3
  • *libgnokii3-dev
  • *LAMP
  • *gd2

    Hardware Compatible:

    Nokia USB

    Conectar Teléfono Nokia, ó de otra marca vía USB. Si al conectarse Linux lo detecta como puerto serial comúnmente en los Nokia /dev/ttyACM0.


    Ver procedimiento de instalación en el siguiente post

    http://phylevn.mexrom.net/index.php/blog/show/Procedimiento-para-instalaci%C3%B3n-de-Software-WebSMS-Beta..html
  • Procedimiento para instalación de Software WebSMS Beta.

    Procedimiento para instalar el software OaxRom WebSMS Beta en Linux

    Este software puede obtenerse desde el sitio de SourceForne.Net en la siguiente URL:
    https://sourceforge.net/projects/binnizawebsms/files/OaxRom%20WebSMS%20iMest%200.03%20Beta/sms.zip/download

    #INSTALACION DE OAXROM WEB SMS EN UBUNTU LINUX
    #actualizamos el repositorio de Ubuntu
    sudo apt-get update
    #instalamos las dependencias del software
    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
    #al instalar el servidor de Base de Datos pedirá una contraseña, introducir "ubuntu" sin comillas o alguna otro password para acceso al servidor que se usará más adelante
    sudo apt-get install --yes mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
    sudo apt-get install --yes libgnokii3 libgnokii3-dev  gnokii  gnokii-common gnokii-cli gnokii-smsd  gnokii-smsd-mysql
    sudo apt-get install --yes unzip
    #entramos al directorio web
    cd /var/www
    #obtenemos el software desde internet
    Ir al sitio del proyecto en https://sourceforge.net/projects/binnizawebsms/ y obtener la última versión disponible de OaxRom WebSMS
    #descomprimimos el archivo
    sudo unzip sms.zip
    #accedemos al directorio
    cd sms
    #creamos la base de datos para el WebSMS
    mysql -u root -p
    #password: es el que se introdujo cuándo se instaló mysql en este caso:ubuntu
    #Asignar password
            create database NOMBREBASEDEDATOS;
            grant all privileges on NOMBREBASEDEDATOS.* to USUARIO@localhost identified by "SUPERSECRETO";
            flush privileges;
            exit
    mysql -u USUARIO -pSUPERSECRETO NOMBREBASEDEDATOS < imest.sql
    #configurar en el siguiente archivo los parámetros de nombre de base de datos, usuario y password
    sudo editor includes/config.php
    #creamos el archivo dónde recibiremos los archivos csv de contacto que importemos
    mkdir csv
    #copiamos el directorio cron que contiene un script para monitorear constantemente los envíos de SMS programados
    sudo cp -rf  cron csv
    #buscamos el usuario del servidor web apache
    ps aux | grep apache
    #esto podría regresarnos "www-data"  en la primera línea sin las comillas, ese valor lo usaríamos a continuación
    #www-data  8284  0.0  0.4  28404  4388 ?        S    14:46   0:00 /usr/sbin/apache2 -k start
    #asignamos el  usuario y grupo del usuario del servidor web a la carpeta creada para que tenga permisos de escritura la aplicación WebSMS
    sudo  chown -R www-data:ww-data csv
    #ponemos al usuario web apache dentro del grupo de usuarios que tienen permiso de usar los puertos módem, esto para enviar sms por los usb de los teléfonos
    sudo editor /etc/group
    #buscamos dónde diga dialout y agregar ",www-data" sin las comillas, en este caso dice phylevn pero el valor cambia al usuario del sistema
    dialout:x:20<img src="plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />hylevn
    #por
    dialout:x:20<img src="plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />hylevn,www-data
    #guardamos, para el caso del editor nano presionando CTRL+O,ENTER para aceptar y luego presionamos CTRL+X para salir.
    #modificamos la configuración de PHP
    sudo editor /etc/php5/apache2/php.ini
    #buscamos los siguientes valores en el archivo y le ponemos los valores aquí mencionados, para buscar en el editor presionar Ctrl +W y teclear default_charset para ir a donde estuviera la linea buscada, igual para las siguientes opciones
    default_charset = "utf8"
    magic_quotes_gpc = off
    upload_max_filesize = 32M
    max_execution_time = 900
    max_input_time = 900
    memory_limit = 128M
    #ya que se editen estos valores, presionar CTRL+O y ENTER para guardar, luego CTRL+X para salir.

    #reiniciamos el servidor web
    sudo /etc/init.d/apache2 restart
     
    *************

    Probando el software de envío de SMS

    *************

    Abrimos un navegador web a la dirección IP de la máquina dónde se instaló el software de envío de SMS

    #por ejemplo si el servidor está sobre la misma máquina que se está usando:

    http://localhost/sms/

    #Si estuviera en alguna otra máquina

    http://DIRECION_IP_DEL_SERVIDOR/sms

    #Pedirá un login y password, por default es :

    login:admin

    password:admin

    Para probar el envío de SMS:

    Conectar un teléfono por USB, los Nokia funcionan bien.

    Cuándo se conecta el teléfono en Linux lo detecta como un puerto TTYACM0

    Esto se puede verificar tecleando el comando "dmesg" y podría darnos algo como lo siguiente

    [28833.199893] cdc_acm 4-1:1.1: ttyACM0: USB ACM device

    Para que el sistema detecte el puerto conectado ir a configuración y seleccionar detectar puerto, si lo lista entonces todo va bien, de lo contrario reintentar


    Al momento de detectar el puerto por default crea un archivo de configuración en el directorio csv

    Si detectó el puerto ahora se puede enviar el mensaje sms, para esto ir a

    Mensajes SMS -> Solo un Mensaje


    El introducir un número de celular,

    un texto,

    seleccionar el archivo de configuración por dónde se desea enviar el SMS, en este caso solo está el que se creó anteriormente,

    introduzca las letras para validación y presione enviar.


    El sistema enviaría en automático el mensaje SMS al número introducido, verificar que haya llegado correctamente


    *************

    INFORMACION ADICIONAL

    *************

    Si por alguna razón no envía los sms, puede ser que linux no le esté permitiendo al usuario apache usar gnokii, para esto editar el archivo<br>
    sudo editor /etc/sudoers<br>
    y agregar
    www-data ALL=NOPASSWD: gnokii
    esto para que al usar sudo gnokii linux se salte el password y le deje ejecutar el software

     
    *************

    GNOKII

    *************

    #archivo de configuración de gnokii
    #El sistema permite leer diversos archivos de configuración de Gnokii de tal forma que es posible usar diversos móviles para enviar SMS desde la aplicación web.
    #Cada teléfono es detectado como un puerto serial por Linux, por ejemplo si se detecta el siguiente puerto /dev/ttyACMO el archivo configurado csv/gnokiiNokia3500 contendría lo siguiente:
    [global]
    port = /dev/ttyACM0
    model = AT
    connection = serial
    debug=on
    #Y asi sucesivamente se pueden configurar diversos teléfonos, el sistema en base al archivo de configuración detectará las configuraciones y las usará para enviar SMS.
     
    *************

    Programación para fecha de envío de mensajes.

    *************

    csv/cron.sh
    #Archivo que se pondrá en cron para que cada hora se ejecute y verifique si ya se ejecutó cron.php, si no se ha ejecutado lo ejecuta.
    #Aquí hay que editar el directorio dónde se instaló cron.php
    csv/cron.php
    #Archivo que consulta la base de datos y verifica que mensajes tienen fecha anterior a la actual y que no han sido enviados para poder empezar a enviarlos usando gnokii
    #En este archivo hay que configurar la ruta del archivo init.php y sms.php
    #Es importante que el directorio de cron se encuentren fuera del directorio web.
    #Para que el sistema verifique los mensajes a enviar periodicamente editar el siguiente archivo :
    sudo editor /etc/crontab
    #Y agregar al final la siguiente línea
    0       *       *       *       *   root    php  -q /var/www/sms/csv/cron.php
    #presionar CTRL+O luego ENTER para guardar
    #reiniciamos el servicio de programador de tareas
    sudo /etc/init.d/cron restart
    #con esto el sistema monitoreará cada hora los mensajes SMS por enviar

     
    *************

    Configuración de APACHE para enviar SMS desde página web.

    *************

    find /etc/apache2/ -type f| xargs grep "User "
    #Posiblemente nos regrese www-data.
    #Este usuario hay que ponerlo dentro del grupo de dialout
    $sudo editor /etc/group
    #agregar al grupo dialout el usuario www-data.
    dialout:x:20:gsmsms,www-data
    #reiniciar apache
    sudo /etc/init.d/apache restart
     
    *************

    Modificando la configuracion

    *************

    sudo editor includes/config.php
     
    $sqlDb = "imest";
    $sqlUser = "imest";
    $sqlPassword = "imest";
    $sqlServer = "localhost";
    $appID = "jUi109-HJikL";
    $appKey = "7Uy-L09P;=lIkH";#permite usar el sistema para enviar SMS desde otras aplicaciones con C# mediante metodos POST como por ejemplo la librería webstream ó curl.
    define('CSV_PATH','/var/www/sms/csv/'); #Directorio dónde se almacenarán los registros CSV importados para importar contactos.
    $dir_fuentes = "/var/www/sms/includes/fonts/"; # si se instaló en otra parte el servidor reeeditar la ruta correspondiente en esta parte
    define('CONFIG_PATH','/var/www/sms/csv/'); #Directorio dónde se encuentran los archivos de configuración de los dispositivos de gnokii.
    define('CONFIG_FILE','gnokii'); #archivos de configuración de gnokii que contengan en el nombre de archivo la cadena configurada. por ejemplo /csv/gnokiiNokia3500, /etc/gnokii6130, etc.
     
    http://www.oaxrom.com
    México, D.F. 2009
  • ¿Como enviar correos usando SMTP en formato HTML ?

    Hace unos días un amigo me contactó para preguntarme si sabía como enviar correos en formato HTML usando el protocolo SMTP, por lo que me acordé que hace unos 5 años desarrollé un sistema de cotizaciones vía web para la empresa dónde trabajaba, ahí enviaba correos mediante SMTP para informar de las cotizaciones que generaban los clientes desde la aplicación web.
    Por lo que pongo aquí la clase que usé y que es muy fácil de usar, este código requiere de PHP PEAR Mail, el código está algo sucio pero es funcional
    <?php
    require_once "Mail.php";
    require_once "Mail/mime.php";
    class Correo{
        private $_mail_data = array();
        private $to = "";
        private $subject = "";
        private $body = "";
        private $smtpout = null;
    //SMTPLOGIN, SMTPPASSWORD, SMTPSERVER, SMTPPORT, MAILFROM
        public function  __construct( $vlogin, $vpassword, $vserver="smtpout.secureserver.net", $vport="80", $vfrom= "") {
            $this->_mail_data =  array (
                'host' => $vserver,
                'auth' => true,
                'username' => $vlogin,
                'password' => $vpassword,
                'port'=>$vport
            );
            $this->crlf = "\n";
            $this->from = $vfrom;
            $this->smtpout = Mail::factory('smtp', $this->_mail_data);
        }
    //Envía un correo en Texto Plano
        public function sendTextMail($to="", $subject="", $body="", $vfrom=""){
                $_headers = array (
                    'From' => ( ($vfrom!="")?$vfrom: $from),
                    'To' => $to,
                    'Subject' => $subject);
            //print_r ($this->_mail_data);
            $this->smtpout->IsHTML(true);
            $mail = $this->smtpout->send($to, $_headers, $body);
            return !(PEAR::isError($mail));
        }
    //Envía un correo como HTML
         public function sendmail($to="", $subject="", $body="", $vfrom=""){
             $_headers = array (
             'From' => ( ($vfrom!="")?$vfrom: $from),
             'To' => $to,
             'Subject' => $subject);
            $mime = new Mail_mime($this->crlf);
            $mime->setHTMLBody($body);
    //        $mime->addAttachment($file, 'text/plain');
            //do not ever try to call these lines in reverse order
            $body = $mime->get();
            $_headers = $mime->headers($_headers);
            $mail = $this->smtpout->send($to, $_headers, $body);
            return !(PEAR::isError($mail));
        }
    }//fin de la clase
    //Objeto de la clase
            $correo = new Correo("SMTPUSER", "SMTPPASSWORD", "smtpout.secureserver.net", "80", "SMTPFROM");
    //Envio de correo en formato HTML
            $correo->sendmail("CORREODESTINATARIO@gmail.com", "SUBJECT", "MENSAJE_EN_FORMATO_HTML", "MAIL_FROM");
    ?>
     
    Por default pongo el servidor de correos de godaddy.
    Espero pueda serle útil a alguien más.
  • ¿ Como modificar el reporte de registro de llamadas de FreePBX ?

    Hace algunos días un cliente me solicitó poder visualizar en el reporte de llamadas que viene con FreePBX información adicional. De inicio el reporte muestra los siguientes datos:

    Calldate,Channel, Source, Clid, Dst, Disposition, Duration

    La tabla de CDR en la base de datos contiene los siguientes campos

    +-------------+---------------+------+-----+---------------------+-------+
    | FIELD       | Type          | NULL | KEY | DEFAULT             | Extra |
    +-------------+---------------+------+-----+---------------------+-------+
    | calldate    | datetime      | NO   | MUL | 0000-00-00 00:00:00 |       |
    | clid        | varchar(80)   | NO   |     |                     |       |
    | src         | varchar(80)   | NO   |     |                     |       |
    | dst         | varchar(80)   | NO   | MUL |                     |       |
    | dcontext    | varchar(80)   | NO   |     |                     |       |
    | channel     | varchar(80)   | NO   |     |                     |       |
    | dstchannel  | varchar(80)   | NO   |     |                     |       |
    | lastapp     | varchar(80)   | NO   |     |                     |       |
    | lastdata    | varchar(80)   | NO   |     |                     |       |
    | duration    | int(11)       | NO   |     | 0                   |       |
    | billsec     | int(11)       | NO   |     | 0                   |       |
    | disposition | varchar(45)   | NO   |     |                     |       |
    | amaflags    | int(11)       | NO   |     | 0                   |       |
    | accountcode | varchar(20)   | NO   | MUL |                     |       |
    | uniqueid    | varchar(32)   | NO   |     |                     |       |
    | userfield   | varchar(255)  | NO   |     |                     |       |
    | billed      | char(1)       | NO   |     |                     |       |
    | price       | decimal(10,6) | NO   |     | 0.000000            |       |
    +-------------+---------------+------+-----+---------------------+-------+
     


    Para poder hacer las modificaciones correspondientes editar el siguiente archivo

    sudo editor /var/www/DIRECTORIOFREEPBX/admin/cdr/call-log.php

    Buscar despues de /* --AMP Begin-- */

    Ahí hay que buscar el arreglo $FG_TABLE_COL[]

    Por ejemplo si queremos agregar al final información del PIN que usa el usuario para hacer llamadas entonces pondríamos despues de $FG_TABLE_COL[]=array ("Duration", "duration", "6%", "center", "SORT", "30", "", "", "", "", "", "$minute_function"); lo siguiente

    $FG_TABLE_COL[]=array ("AccountCode", "accountcode", "8%", "center", "", "10");
     


    Dónde AccountCode será el titúlo de la columna, el campo relacionado a la tabla CDR, 8% el tamaño de la columna, "center" alineación del texto, Enseguida iría SORT si este campo se pudiera usar para odernar la tabla, "10" número de carácteres a mostrar del campo.

    Adicionalmente al ejemplo anterior hay que agregar el campo accountcode a la variable de los campos de la consulta

    $FG_COL_QUERY='calldate, channel, src, clid, dst, disposition, duration';
     


    Quedaría así

    $FG_COL_QUERY='calldate, channel, src, clid, dst, disposition, duration, accountcode';
     


    Solo bastaría guardar el archivo y acceder al reporte de llamadas para visualizar los cambios.
  • De RoIP a PSTN

    Hace unos días estuve leyendo curioseando en internet encontré un blog dónde hablan sobre RoIP , la cuál es una forma de nombrar los enlaces entre sistemas de Radio con Tecnología de Voz sobre IP, en este caso Asterisk .

    RoIP prácticamente necesita una gateway del lado de asterisk que sirve como interfaz de conexión entre los sistemas de radioaficionados con la tecnología de Voz sobre IP, tal como puede ser una tarjeta de puertos FXO, FXS, GSM, SIP, IAX, etc.,

    Una de las ventajas de los sistemas de radio es su alcance, esto ya que las frecuencias en muchos casos son más bajas y más amplias que el uso de un WiFi o Microondas por ejemplo, aparte que son menos quisquillosas que las anteriores por así decirlo, por lo que el alcance puede ser mucho mayor y la cobertura puede llegar alcanzar a sitios remotos dónde las compañías telefónicas no han puestos sus servicios por cuestiones de costos.

    Por lo que tengo entendido las conexiones entre los sistemas de radio y el gateway es PTT( Push To Talk), tal como funcionan los sistemas de Radio de Nextel en la actualidad.

    La ventaja de meter un sistema de Radio en Asterisk, es que se puede usar el dialplan cuándo se abre un canal entre los 2 puntos, por lo que creo entender y quiero que asi pudiera funcionar es que al estar abierto el canal pudieran recibirse tonos DTMF, de tal forma que se pudieran leer esos tonos DTMF y abrir un canal adicional para poder hacer una llamada en base a los dígitos recibidos y rutearlo a traves de troncales SIP, IAX, FXO o GSM, muy similar a como funciona un DISA.

    esquema_roip


    De hecho hace un par de meses desarrollé una aplicación basada en AMI y AGI que hace esto, pero mediante teléfonos públicos que envían a un número fijo los números a marcar mediante tonos DTMF y secuencias de control, de tal forma que Asterisk recibía la llamada, abría otro canal y dependiendo la respuesta la enlazaba con el canal abierto proveniente del teléfono público.

    Entonces pensando en algo similar creo que sería factible poder implementar un sistema de radio que haga convergencia con VoIP a traves de Asterisk.

    Para poder hacer la convergencia ya existen tarjetas de radio compatibles con Asterisk, de hecho existe un canal específico para esta tecnología ya implementado en Asterisk, por lo que solo falta encontrar algún proyecto y patrocinador para poder echar andar esta tecnología en alguna de las tantas regiones marginadas de México.

    Puede verse más información sobre RoIP en el Blog Alex Casanova quién es un experto en el tema de RoIP :
    http://www.bicubik.net .

    También una presentación en la siguiente url:

    http://www.slideshare.net/alexbogus/barcamp-2010
  • Desarrolladores de Facebook por liberar convertidor de PHP a C++

    En lo que compilo una instalación de Asterisk me meto a barrapunto a leer las noticias sobre software libre, tecnología y demás, y entre la cantidad de notas veo una que me llama la atención que trata sobre que los desarrolladores de facebook están por liberar un convertidor de código de PHP a C++.

    El convertidor tendría el nombre de HipHop for PHP , al ver la noticia como siempre están los que se rasgan las vestiduras por si es bueno o malo este software, a mi parecer me parece bastante interesante por los siguientes puntos:


  • Si ya tienes un software hecho en PHP, y quieres mejorar su rendimiento no tienes que desarrollarlo nuevamente en C++ desde cero.
  • Al poder convertirse a C++, el rendimiento aumenta, ya que no es lo mismo un intérprete que un compilador.
  • Es mucho más fácil desarrollar un software en PHP y luego pasarlo a C++
  • Al usar C++ tu código sería compilado y no tendrías un código en PHP que pudiera ser alterado despues de terminado.
  • La depuración es más fácil

    Y asi puedo enumerar sin fin de posibles facilidades, por lo mientras ya estoy esperando probarlo con un par de aplicaciones que tengo en mente. face-smile.png
  • Cambiar la tabla y base de datos del CDR de FreePBX y Asterisk para un nuevo sistema de Tarificación Telefónico

    En OaxRom Mobile Computing hemos modificado un sistema de tarificación telefónico el cuál está basado en AsterBilling. La modifiación la hemos realizado ya que AsterBilling requiere licencias en la parte de monitoreo de llamadas, pero la parte de la interfaz web del tarificador es OpenSource y es la parte del software que utilizamos para que muestre los datos en base al CDR de Asterisk directamente. Entre otras ventajas que hemos añadido al nuevo software de tarificador para Asterisk PBX que hemos desarrollado y que pronto liberaremos el código es que permite enviar el costo de la llamada en tiempo real a la pantalla de teléfonos SIP que soporten SIP MESSAGE.

    Continuemos con el tema del post. En este caso hemos usado FreePBX como entorno de configuración de Asterisk, pero como FreePBX trae su propia base de datos y tabla para el manejor de CDR, en este caso fué necesario modificar esta configuración para poder apuntar a la base de datos del software del tarificador que concentra al sistema de tarificación telefónica junto con el CDR de Asterisk y de FreePBX.

    Primero para modificar la configuración del CDR de Asterisk es necesario seguir los siguientes pasos descritos en un post anterior aquí:

    http://phylevn.mexrom.net/index.php/blog/show/Configurando-Asterisk-para-guardar-los-registros-del-CDR-en-MySQL.html

    Ya que se hayan hechos los cambios en Asterisk quedaría hacer los cambios sobre FreePBX tal como se indica a continuación.

    Editar el archivo amportal.conf
    sudo editor /etc/amportal.conf
    Agregar las siguientes líneas
            CDRDBHOST=localhost
            CDRDBPORT=3306
            CDRDBUSER=USERTARIFICADOR
            CDRDBPASS=PASSWORDTARIFICADOR
            CDRDBNAME=DBNAMETARIFICAODR
            CDRDBTYPE=mysql
            CDRDBTABLENAME=cdr
    Con esto solo basta aplicar los cambios en freepbx
    /usr/src/freepbx*/apply_conf.sh
    Y por último reiniciar asterisk
    sudo amportal restart
     
    Ahora solo hay que ver la base de datos y verificar que el contenido se muestre en los reportes de FreePBX.

    Aquí vemos el contenido del CDR de FreePBX & Asterisk

    CDR de FreePBX enlazado a Asterisk y Sistema de Tarificación Telefónico


    Y en el tarificador podemos ver las llamadas tarificadas para la cabina 103 que es desde dónde se originaron las llamadas, para esto desde el sistema de tarificación habilitamos que tarifique llamadas con longitud de destino de 3 digitos y el costo de cargo de conexión es por 2 pesos por los primeros 60 segundos y 1 peso adicional por 60 segundos adicionales.
    Captural de Pantala de Interfaz Web de Caseta Telefónica Cabina 103
  • Asterisk PBX el líder en tecnología de Conmutadores Telefónicos durante el pasado año 2009

    Comparando en google trends algunas de las diferentes marcas y tecnologías de PBX existentes en el mercado, veo que Asterisk está muy por encima en las preferencias de búsquedas de las marcas que en el pasado fueron líderes tales como Panasonic, Avaya, Nortel, Cisco, Siemens, Mitel incluso nuevas PBX basadas en software como lo es 3CX.
    Debido a que Google Trends solo permite comparar 5 términos al instante por lo qué primero comparé Asterisk PBX con Mitel PBX, Panasonic PBX, Nortel PBX, Avaya PBX y el resultado se muestra en la siguiente figura.
    Asterisk PBX, Mitel PBX, Panasonic PBX, Nortel PBX, Avaya PBX
    La comparación siguiente fué entre Asterisk PBX y Cisco PBX, 3com PBX, 3CX, Siemens PBX y pudimos obtener la siguiente gráfica:
    Asterisk PBX, Cisco PBX, 3com PBX, 3CX,  Siemens PBX
    Como vemos en ambas gráficas la comparación entre Asterisk y las diversas tecnologías competidoras a excepcioón de 3CX da a Asterisk un margen de ventaja en la preferencia de búsquedas de los usuarios con respecto a las otras marcas. Esto tiene una sencilla explicación, el gran auge que está teniendo Asterisk, ya que al ser un proyecto abierto la cantidad de módulos y aplicaciones que se han desarrollado alrededor de esta tencología han permitido que su uso en niveles empresariales, educaciones, científicos, de seguridad, gobierno, entidades bancarias, etc., sea el más adecuado por el costo/beneficio.
    3CX en las gráficas se muestra mucho más arriba que Asterisk, esto también es normal ya que 3CX es una PBX basada en software que funciona sobre Windows, su instalación es mucho más fácil con módulos principales de un conmutador teléfonico. Entre 3CX y Asterisk hay mucha diferencia ya que 3CX es software cerrado y basado en licencias, por lo que su desarrollo va mucho más atrasado en comparación de las aplicaciones que actualmente estan funcionando bajo Asterisk tales como reconocimiento de voz, texto a voz, comunicación con bases de datos, interfaces con diversos lenguajes de programación, configuración por scripts, interfaces con múltiples dispositivos de hardware, comunicaciòn con diversos protocolos, entre otras muchas ventajas que presenta Asterisk como un verdadero PBX de Altura.
  • ¿ Como generar fotos panorámicas con The GIMP ?

    Hace unos días en Oaxaca me fui a caminar con mi hermana de la casa de mis padres hasta MonteAlban, salimos como a eso de las 5:40 de la mañana y a las 7:00 am ya estábamos al otro lado en MonteAlban, ahí nos entretuvimos tomando fotos, videos y ya como a las 8.30 estábamos en el legendario y épico Monte Alban.

    Al estar parado desde una de las piramides me llamó la atención que desde ahí se escuchaba todo lo que platicaban en toda la explanada de abajo, un efecto acústico interesante.

    Al observar esa explanada quise tomarle una foto pero mi cámara no alcanzaba a capturar todo el panorama que desde ahí observaba, por lo que tome pequeñas partes del explanada, cómo las fotos las tomé horizontalmente me ocupó solo 4 fotos capturar un ángulo de 180 grados de la vista del lugar.

    Panorámica de MonteAlban hecha con The Gimp


    Si quieres ver la imagen en tamaño grande y sentir el efecto de una imagen en 180 grados, dale click aquí:
    http://www.flickr.com/photos/phylevn/4261212035/sizes/o/in/photostream/

    Al llegar a la casa quise armar las 4 partes, para esto use The Gimp el cuál es un excelente software para edición de fotos y el cuál es software libre. Al principio quise hacer la edición manualmente abriendo las 4 fotos e irlas alineando horizontalmente de izquierda a derecha, esto fué un poco tedioso, ya que había que ir incrementando el tamaño de la imagen horizontal, luego agregar las capas, pegar las imágenes, alinearlas vaya todo un show, por lo que cerré Gimp y busqué en internet un tutorial de como hacer fotos panorámicas con The Gimp.

    Entre búsqueda y búsqueda encontré un script existente para The Gimp llamado Pandora. Este script te facilita todo el proceso de generación de las capas, dejándote unicamente la parte de la alineación de las imágenes.

    Para poder usar el script Pandora, primero se requiere descargarlo de la siguiente URL:

    http://www.shallowsky.com/software/pandora/pandora-combine-0.9.3.scm.

    En seguida este script hay que ponerlo en el directorio de scripts de The Gimp en el caso para windows es:

    C:\Archivos de programa\GIMP-2.0\share\gimp\2.0\scripts

    Y para Linux:

    /usr/share/gimp/2.0/scripts

    A continuación abrir The Gimp, si no se tiene instalado descargarlo desde http://www.gimp.org/downloads/.

    Procedimiento para generar fotos panorámicas:
  • Abrir la primera foto de izquierda a derecha.
  • En seguida sobre esa misma foto seleccionar "Abrir como capas" y seleccionar desde la primer foto hasta la última foto vista de izquierda a derecha.
  • En la ventana de capas, ordenar de arriba-abajo las fotos que van de derecha a izquierda.
  • En seguida borrar la capa que dice fondo o backgound.
  • Posteriormente seleccionar la primera capa y presionar el botón derecho del mouse, y seleccionar del menú :
    Filtros->Combinar->Arrange to Panorama.
  • En seguida aparecerá un cuadro de dialogo con el título de ventana: Script Fu: Arrange to Panorama
  • En esa ventana ajustar en porcentaje el porcentaje de traslape que hay entre foto y foto, esto es muy importante, si tu traslape entre foto y foto es de como el 5-10% ponle 10%, si le pones 50% tendras resultados poco deseados.
  • Presionar Aceptar, con esto el script de pandora comenzará a crear las capas para generar la foto panorámica.
  • Al finalizar veras en la parte de capas, como el script creo una imagen con las fotos puestas horizontalmente.
  • Ahora para ajustar las fotos ve al principio de la imagen de abajo-arriba(vista izquierda a derecha).
  • En las capas presiona el botón del ojo y dejala solo en las 2 primeras capas.
  • Selecciona la segunda capa de abajo para arriba, al seleccionarla selecciona el botón de mover en la caja de herramientas de The Gimp y mueve la segunda capa para ajustarla a la primera capa hasta quedar correctamente alineadas.
  • Ya que haya quedado alineada la segunda capa con la primer capa, ahora presionar el botón que está despues del ojo para bloquear la edición de las capas.
  • En seguida activa la tercera capa presionando sobre el botón del ojo y repite el proceso anterior.
  • Y asi sucesivamente ir alineando todas las fotos capa por capa.
  • Al finalizar en la ventana de capas presionar el botón derecho del mouse y seleccionar Aplanar Imagen para conjuntar en una sola capa todas las capas.
  • Ahora solo falta recortar la foto en las partes que hayan quedado arriba o abajo, para eso presiona de la caja de herramientas el botón de cortar y pon la imagen en un 25% para verla completamente.
  • Con esto rápidamente ya deberías tener generada tu foto panorámica con The GiMP.

    Tip Adicional

    Para hacer HDRs generalmente uso el formato RAW y de ahí paso 3 fotos a QTPFSGUI, en este caso lo quise intentar usando la foto panorámica generada con The Gimp, para esto despues de tener la foto panorámica solo cree 3 imágenes a partir de esta, la primera semi obscura, la segunda deje la msma generada, y la tercera le aumenté la intensidad de luz, y cada una la guarde agregándole al nombre 1,2,3.
    Para poder generar la foto con 3 diversos niveles de luz, en la foto presionar el botón derecho y seleccionar colores->niveles y ahí ir moviéndole a los 3 primeros triangúlos de la primer barra de intensidad, cada que se genere una imagen con un nivel de luz diferente guardar la imagen y generar otra con diferente nivel hasta completar por lo menos 3(clara, media, obscura).
    Despues de tener las 3 fotos con diferentes niveles de luz, use QTPFSGUI para generar un "HDR" a partir de las 3 fotos y el resultado aunque un poco sucio fué el siguiente:
    Versión HDR de Panorámica de MonteAlban
  • Nueva versión de MonoDevelop 2.2 ha sido liberada

    Hace unos días por error borré los binarios de una aplicación que me permitía generar licencias para un sistema de toma de inventario para terminales portátiles que se desarrolló, pero por un error de selección borré el instalador y la aplicación. Por lo cuál me salió una urgencia de generar unas licencias ante la petición de más licencias por parte de un cliente, por lo que necesitaba compilar el código del generador de licencias para poder ejecutar el generador, el detalle fué que no tenía instalado Visual Studio .Net en la máquina, pero como dicen en mi pueblo "a falta de pan tortilla" por lo que entré a la página de MonoDevelop a buscar la versión de Mono lidereada por el compatriota mexicano Miguel de Icaza.



    Mono es un software open source que es como un .Net multiplataforma (Windows, Linux, MacOSX, Solaris, etc, etc.). Prácticamente incluye casi todas las características de .Net y la ventaja que tiene es que se puede desarrollar en diversos lenguajes(C#, Java, PHP, Python, Perl, Visual Basic, etc).

    Lo lindo de Mono es que me permitió compilar mi código de generador de licencias permitiéndome tener el ejecutable sin mover nada al código fuente, de tal forma que despues de decargar Mono, instalarlo y compilar mi código en unos minutos tenía el ejecutable de mi generador de licencias y así poder darle a mi cliente las licencias para la aplicación de toma de inventarios para sus equipos terminales portátiles PPT8800 e Intermec CK31.

    Mono Puede descargarse de la siguiente página:

    http://www.monodevelop.org
  • Anterior página 1 2 3 4 ... 9 Siguiente página
    83 entradas

    Estadísticas de visitantes

    135351

    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
    rss

    ¿ Where The Hell Am I ?

    Mi Flickr







    Aquí Mis Mejores Fotos
    OaxRom Mobile Computing
  • Terminales Portátiles
  • Conmutadores de VoIP
  • Aplicaciones Web
  • Asesoría y Consultoría
  • Soporte Técnico y Cursos
  • Desarrollo de Software
  • Servicios
  • Y más..
  • Eventos

    Encuesta

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

    Comentarios Recientes