Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Prefiere el consumo de lo Hecho en México
BúsquedaHagamos que México crezca..
![]() Prefiere el consumo de lo Hecho en México Posts Recientes
Conversación |
Flash Panel Operator vs FOP2En el pasado VoIP2Day celebrado en Europa hubo una conferencia sobre Flash Operator Panel 2 expuesta por Nicolás Gudiño (aka asternic).
Dónde básicamente habla sobre las mejoras de la versión 2 del Flash Operator Panel, nuevas características y funcionalidades, así como de las diferencias en comparación con la versión 1. La nueva versión sinceramente es muy profesional con muchas características interesantes, aunque si queremos disfrutar de sus funcionalidades habrá que pagar por ella. La presentación pueden obtenerla en la siguiente liga: http://www.voip2day.net/2009/presentaciones/dia3/www_asternic_org.pdf Cómo Instalar un fax Virtual in Ubuntu Linux con Asterisk, Avantfax, IAXModem y HylafaxTener un Fax Virtual en el conmutador de Voz sobre IP Asterisk representa una gran ventaja para cualquiera, ya que permite el ahorro de papel, tinta y energía eléctrica, al mismo tiempo que permite tener los documentos digitalizados, registrados en una base de datos y hasta redireccionados a un correo electrónico, por lo un fax Virtual representa sin duda una gran funcionalidad.
Recuerdo que en el 2006 fué mi primer intento de instalar un Fax Virtual con Asterisk, esa vez lo hice con AsterFax el cuál nunca pude instalarlo. Pero desde hace casi 2 años he venido usando la combinación de HylaFax+Iaxmode como solución de fax Virtual y últimamente le he integrado AvantFax como gesto de los faxes desde una aplicación web, por eso pongo a continuación la bitácora que sigo en mis instalaciones esperando serle de utilidad a alguien más.
sudo apt-get -y install g++ libtiff-tools libtiff4 libtiff4-dev cd ~/asterisk wget http://downloads.sourceforge.net/project/iaxmodem/iaxmodem/iaxmodem-1.2.0/iaxmodem-1.2.0.tar.gz?use_mirror=hivelocity cd /usr/src sudo tar -xzvf ~/asterisk/iaxmodem* cd iaxmodem* sudo ./configure && sudo make sudo cp iaxmodem /usr/bin/ sudo mkdir -p /etc/iaxmodem sudo editor /etc/iaxmodem/ttyIAX0 #EDIT or ADD device /dev/ttyIAX0 owner uucp:uucp mode 660 port 4570 refresh 300 server 127.0.0.1 peername 300 secret CL300300 codec ulaw #crear una extension IAX 300 sudo mkdir -p /var/log/iaxmodem/ sudo touch /var/log/iaxmodem/ttyIAX0 sudo touch /var/log/iaxmodem/iaxmodem #HYLAFAX sudo apt-get -y install gsfonts ghostscript gs-esp sudo apt-get -y install hylafax-server #ejecutar #sudo /etc/init.d/hylafax restart sudo /usr/bin/iaxmodem ttyIAX0 & sudo /usr/sbin/faxgetty ttyIAX0 & #si existiera un fallo con el registro agregar a iax_general la siguiente configuraciòn calltokenoptional = 0.0.0.0/0.0.0.0 maxcallnumbers = 512 sudo faxsetup [yes] [port] ttyIAX0 52 55 01 #Modificar prefijos de marcaciòn y nùmero de fax #Aceptar los valores por default indicados sudo editor /etc/hylafax/hyla.conf #EDIT FontMap: /usr/share/ghostscript/8.61/lib/ FontPath: /usr/share/fonts/type1/gsfonts sudo /etc/init.d/hylafax restart #Avant FAX cd ~/asterisk wget http://downloads.sourceforge.net/project/avantfax/avantfax/3.1.6/avantfax-3.1.6.tgz?use_mirror=softlayer cd /usr/src sudo tar -xzvf ~/asterisk/avantfax* cd avantfax* sudo aptitude -y install apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 php5 php-pear php5-mysql php5-pgsql php5-cli php5-cgi mysql-server netpbm php5-imagick dh-make-php libmagic-dev libungif4g libpng3 sudo libtiff4-dev gs-gpl gsfonts expect php5-dev make php-pear psutils libnetpbm10-dev libungif-bin libungif4-dev php-db php-file php-http php-mail php-mail-mime php-net-smtp php-net-socket php-xml-parser wdiff sudo /etc/init.d/mysql restart sudo pear channel-update pear.php.net sudo pear upgrade-all sudo pear install Mail Net_SMTP Mail_mime MDB2_driver_mysql MDB2_driver_pgsql sudo pecl install fileinfo sudo /etc/init.d/apache2 restart sudo chmod -R 0770 avantfax/includes/templates/admin_theme/templates_c/ avantfax/includes/templates/admin_theme/cache/ avantfax/includes/templates/main_theme/templates_c/ avantfax/includes/templates/main_theme/cache/ sudo chown -R asterisk:asterisk avantfax/includes/templates/admin_theme/templates_c/ avantfax/includes/templates/admin_theme/cache/ avantfax/includes/templates/main_theme/templates_c/ avantfax/includes/templates/main_theme/cache/ sudo chmod -R 0755 avantfax/includes/faxcover.php avantfax/includes/faxrcvd.php avantfax/includes/notify.php avantfax/tools/update_contacts.php avantfax/tools/faxcover.php avantfax/includes/avantfaxcron.php sudo cp avantfax/includes/local_config-example.php avantfax/includes/local_config.php sudo editor avantfax/includes/local_config.php #EDIT define('AFDB_USER', 'avantfax'); // username define('AFDB_PASS', 'avantfax'); // password define('AFDB_NAME', 'avantfax'); // database name define('AFDB_ENGINE', 'mysql'); // database engine: mysql define('AFDB_HOST', 'localhost'); // database host $FAXRMPWD = "cloudvoox"; $WWWUSER = 'asterisk'; define ('ADMIN_EMAIL', 'fax@oaxrom.com'); $ENABLE_DL_TIFF = true; $AVANTFAX_SERVERNAME = 'fax.oaxrom.com'; // sudo /usr/sbin/faxadduser -a cloudvoox asterisk sudo /usr/sbin/faxdeluser localhost sudo /usr/sbin/faxdeluser 127.0.0.1 sudo echo 127.0.0.1 >> ~/newhosts sudo echo "192\.168\.20\.:::" >> ~/newhosts sudo echo "192\.168\.1\.:::" >> ~/newhosts sudo cat /var/spool/hylafax/etc/hosts.hfaxd >> ~/newhosts sudo cp ~/newhosts /var/spool/hylafax/etc/hosts.hfaxd sudo rm -rf ~/newhosts sudo editor /etc/hylafax/hyla.conf #ADD echo 'JobFmt: "%-3j %3i %1a %15o %40M %-12.12e %5P %5D %7z %.25s"' sudo mv avantfax /var/www/avantfax sudo chown -R asterisk.asterisk /var/www/avantfax sudo chmod -R 777 /var/www/avantfax/tmp /var/www/avantfax/faxes mysql -u root -p create database avantfax; GRANT ALL PRIVILEGES ON avantfax.* TO avantfax@localhost IDENTIFIED BY 'avantfax'; flush privileges; exit; mysql -u avantfax -pavantfax avantfax < create_tables.sql sudo ln -s /var/www/avantfax/includes/faxrcvd.php /var/spool/hylafax/bin/faxrcvd.php sudo ln -s /var/www/avantfax/includes/notify.php /var/spool/hylafax/bin/notify.php sudo mv /usr/bin/faxcover /usr/bin/faxcover.old sudo ln -s /var/www/avantfax/includes/faxcover.php /usr/bin/faxcover sudo ln -s /usr/share/file/magic* /usr/share/misc/ sudo editor /var/www/avantfax/includes/config.php #EDIT define('AFDB_USER', 'avantfax'); // username define('AFDB_PASS', 'avantfax'); // password define('AFDB_NAME', 'avantfax'); // database name define('AFDB_ENGINE', 'mysql'); // database engine define('AFDB_HOST', 'localhost'); // database server define('ADMIN_EMAIL', 'fax@oaxrom'); //cambiar correo donde se recibirán faxes $FAXRMPWD = 'cloudvoox'; $WWWUSER = 'asterisk'; $ENABLE_DL_TIFF = true sudo editor /etc/sudoers #ADD asterisk ALL= NOPASSWD: /sbin/reboot, /sbin/halt, /usr/sbin/faxdeluser, /usr/sbin/faxadduser -u * -p * * sudo editor /var/spool/hylafax/etc/config #ADD # ## AvantFAX configuration # NotifyCmd: bin/notify.php sudo editor /var/spool/hylafax/etc/config.ttyIAX0 #ADD # ## AvantFAX configuration # FaxrcvdCmd: bin/faxrcvd.php sudo editor /etc/crontab #ADD 0 0 * * * /var/www/avantfax/includes/avantfaxcron.php -t 2 sudo /etc/init.d/cron restart sudo mv /var/spool/hylafax/etc/config /etc/hylafax/config sudo mv /var/spool/hylafax/etc/hosts.hfaxd /etc/hylafax/hosts.hfaxd sudo mv /var/spool/hylafax/etc/config.ttyIAX0 /etc/hylafax/config.ttyIAX0 sudo /etc/init.d/hylafax restart sudo aptitude -y install postfix sudo editor /etc/postfix/master.cf #VERIFICAR smtp inet n - - - - smtpd #ADD fax unix - n n - 1 pipe flags= user=asterisk argv=/usr/bin/email2fax ${sender} ${recipient} sudo editor /etc/postfix/transport #ADD fax.midominio.com fax:localhost sudo postmap /etc/postfix/transport sudo editor /etc/postfix/main.cf #ADD fax_destination_recipient_limit = 1 sudo editor /etc/hylafax/faxmail.conf #ADD AutoCoverPage: false TextPointSize: 12pt Headers: Message-id Date Subject From MailUser: faxmail sudo /etc/init.d/postfix reload #entrar a la IP del servidor http://SERVER_NAME/avantfax login: admin password: password En seguida cambiar password Cliente Hylafax para Windows http://prdownloads.sourceforge.net/winprinthylafax/WinprintHylaFAX-1.2.9.exe?download Info sobre WinPrint Hylafax http://winprinthylafax.sourceforge.net/ ¿ Como guardar en el CDR los PINS usados por rutas salientes configuradas desde FreePBX ?Hace unos días un cliente me pidió poder visualizar los PINS que se configuraron para poder marcar a números móviles desde la extensión del conmutador de voz sobre IP que se le implementó.
Hint: Los PINS son claves o passwords únicos que se asignan a cada usuario, de tal forma que si se desea llevar un control de llamadas a números 044, 045 o larga distancia por ejemplo tiene que introducir su PIN asignado, de tal forma que ese PIN queda almacenado en los registros de llamadas y por medio del cuál se puede identificar que usuario hizo la llamada independientemente de que extensión haya llamado. Cómo en este caso se le instaló FreePBX como administrador gráfico ya que asi se le facilitan las opciones de configuración, por lo que se modificó en primera instancia el archivo /var/www/cloudvoox/admin/cdr/call-log.php que es el script en PHP que genera los reportes de las llamadas realizadas, ahí solo se agregó la columna de ACCOUNTCODE de la tabla del CDR dónde quedan almacenados los PINS, pero en este caso la columna no reflejaba nada, por lo que checando la base de datos en el campo ACCOUNTCODE no se estaba guardando el PIN que se utilizaba cuándo se marcaba a un número móvil. Revisando el código fuente en /usr/src/asterisk/asterisk-addons-1.4.10/cdr/cdr_addon_mysql.c todo estaba bien, pues Asterisk si tenía habilitada la opción de guardado del PIN en ACCOUNTCODE. Por lo que me puse a revisar cómo estaba la configuración del plan de marcación que genera FreePBX, para esto chequé el archivo /etc/asterisk/extensions_additional.conf y encontré que en la macro de PINSETS, tenía lo siguiente:
[macro-pinsets] include => macro-pinsets-custom exten => s,1,GotoIf(${ARG2} = 1?cdr,1) exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"],Authenticate,/etc/asterisk/pinset_${ARG1}) exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"],ResetCDR,) exten => cdr,1,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"],Authenticate,/etc/asterisk/pinset_${ARG1},a) exten => cdr,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"],ResetCDR,) ; end of [macro-pinsets] Ahí pude ver que en esta parte le faltaba una ,'a' despues de {ARG1}
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"],Authenticate,/etc/asterisk/pinset_${ARG1}) Por lo que lo obvio era solo modificar este archivo y ponerle la 'a' al final, pero este archivo se regenera cada vez que en FreePBX se aplican cambios, por lo que no tenía sentido hacer la modificación aquí ya que al momento de aplicar cambios borraría los cambios realizados manualmente. Para esto busqué el código de FreePBX dónde generaba esta parte de las Macros de los Pinsets y el archivo es /var/www/cloudvoox/admin/modules/pinsets/functions.inc.php Ahí solo bastaba modificar la siguiente línea que es la 49
$ext->add('macro-pinsets', 's', , new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'Authenticate',$asterisk_conf['astetcdir'].'/pinset_${ARG1})); Y agregar a l final lo siguiente
$ext->add('macro-pinsets', 's', , new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'Authenticate',$asterisk_conf['astetcdir'].'/pinset_${ARG1},a')); Ahora solo bastaría en la configuración del ruteo de salida de FreePBX quitar el PIN a la ruta, aplicar los cambios, volver asignar el PIN y aplicar los cambios, con esto al momento de marcar a un número móvil, la ruta pediría el PIN y esté sería ya almacenado en el campo ACCOUNTCODE de la tabla CDR y asi poder ser reflejado en el reporte de llamadas de FreePBX Un pequeño homenaje a las mujeres, hoy 8 de marzo en el día internacional de la mujer.Las mujeres sin lugar a duda son el regalo más divino que le otorgó Dios a la vida, pues ellas son las que mueven el mundo, lo digo por muchas razones, una de ellas es la vida misma. Por ello escribo este post pues si alguien tengo que agradecerle el poder estar escribiendo esto es a una mujer, a mi hermosa Madre, la cuál para mi es la mujer que siempre estará en primer lugar en esta vida, en seguida mi abuela, hermanas, compañeras de escuela, profesión, trabajo, y demás mujeres con las cuáles haya tenido el gusto de coincidir en algún momento de esta vida tan ajetreada.
Por ello también a modo de homenaje pongo un video que encontré en youtube de la canción titulada "Mujer Oaxaqueña" del compositor oaxaqueño Rodolfo Villegas. OaxRom WebSMS Beta Software para envío de sms desde aplicación web con gnokii y teléfonos Nokia USBiMest 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. Plataforma: Descarga: https://sourceforge.net/projects/binnizawebsms/files/OaxRom%20WebSMS%20iMest%200.03%20Beta/sms.zip/download ToDo: Screenshots http://www.flickr.com/search/?q=oaxrom%20websms&w=all Requerimientos 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. México, D.F. 2009 Creando audio textos con voces sintéticasEn internet existen muchas alternativas comerciales de Text to Speech(Texto a Voz) las cuáles son muy útiles para desarrollar aplicaciones dinámicas telefónicas texto a voz con Asterisk, pero a veces solo queremos un texto estático para ponerlo en alguna grabación, esto podríamos hacerlo fácilmente con festival usando el comando siguiente
echo "texto a voz" | text2wave -o audio.wav http://www2.research.att.com/~ttsweb/tts/demo.php El cuál permite generar textos estáticos, de tal forma que podemos obtener nuestros audio textos y de ahí usar algún editor de audios como Audacity para poder convertirlo a un formato adecuado. ¿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"); ?> 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. ¿ Como actualizar Firmware de Teléfono Polycom IP 500 y convertirlo de MGCP a SIP ?Hace un par de días me contactó a través de Mercado libre una persona la cuál me comentó que tiene 2 teléfonos Polycom IP 500 el cuál requería conectarlos a un proveedor de IP para hacer llamadas entre los teléfonos Polycom sin costo alguno ya que estarían en lugares remotos, así como también quería que estos teléfonos pudieran hacer llamadas a la red de telefonía Pública y también que tuvieran un número de diversas ciudades de México, no le vi mayor problema a lo que me solicitaba asi que agendamos una cita en su negocio para el día siguiente.
![]() Al llegar a su negocio al comenzar a configurar los teléfonos vi que traían de fábrica el protocolo IP MGCP por lo que de inicio no podía conectarlo a alguno de mis proveedores ya que casi todos usan SIP o IAX, por lo que le comenté que tendría que llevármelos para cambiarle el firmware, pero ante la urgencia del cliente no le era posible dármelos y me pidió que ahí mismo realizara la actualización. Me agarró en curva pues nunca había actualizado un firmware de un teléfono VoIP de Polycom, pero bueno gracias a Google "qué todo lo sabe y lo que no lo redirige", me llevó a diversos sitios y asi obtener la información adecuada para hacer el cambio de protocolo de MGCP a SIP. Lo primero que hice fué obtener las versiones de firmware estables para este teléfono tanto para migrar a SIP como de BootRom, las cuáles fueron las siguientes: SoundPoint IP / SoundStation IP SIP 1.5.2 http://www.polycom.com/global/documents/support/downloads/voice/spip_ssip_sip_1_5_2.zip SoundPoint IP / SoundStation IP BootROM 3.0.1 http://www.polycom.com/global/documents/support/downloads/voice/spip_ssip_bootrom_3_0_1.zip Ya que tenía los archivos de firmware necesarios, en el teléfono había que configurar a TFTP para que al reiniciar hiciera la actualización, para esto solo basta hacer lo siguiente: Ya que se haya hecho el cambio, y despues de haber instalado el servidor FTP solo basta reiniciar el teléfono presionando las siguientes teclas por 5 segundos En seguida reiniciará y comenzará a actualizar el firmware, pero previamente hay que hacer lo siguiente: Para que el teléfono descargue el firmware del servidor TFTP hay que instalar un TFTP server en una máquina, en este caso el cliente me dió una máquina windows, por lo que descargué OpenTFTP de sourceforge.net . Solo basta instalarlo y por default usa el directorio C:\Program Files\OpenTFTP. Solo hay que iniciar el servicio desde el menú de windows menú->opentftp->run opentftp. En seguida hay que descomprimir los archivos de firmware en el directorio de instalación C:\Program Files\OpenTFTP Ahí veremos un archivo que dice 000000000000.cfg, solo hay que renombrarlo a la mac del teléfono a convertir a SIP, esto hay que hacerlo por cada teléfono de lo contrario el teléfono no hará actualización alguna. Ya que tengamos descomprimidos los archivos de firmware en el directorio del servidor de TFTP, que el TFTP esté corriendo, que haya red entre el servidor y los teléfonos, y que DHCP esté activado en el teléfono Polycom, entonces ahora si podemos reiniciar el teléfono Polycom IP 500 para que tome el nuevo firmware y cambie a SIP. Despues de uno 3~5 minutos el teléfono habrá cambiado a SIP y podremos notar los cambios en la pantalla del teléfono asi como también en la configuración web, pues ya veremos SIP en vez de MGCP. Para la configuración a algún proveedor SIP solo basta entrar a la configuración del teléfono e ir a lines para introducir los parámetros de configuración de la conexión SIP. Aquí muestro un screenshot de como debería configurarse. ![]() Aunque este teléfono es bonito y luce muy ejecutivo y profesional, yo definitivamente recomendaría la nueva gama de teléfonos IP de Aastra que distribuímos en OaxRom Mobile Computing Espero este tuto pueda servirle a alguien que se encuentre en una situación parecida.. Estadísticas de visitantes184275 |
Nube de EtiquetasEventosEncuesta |
Comentarios Recientes