Hace unos días descargue la nueva versión de KUbuntu Linux la 9.04 que tiene muchos buenos comentarios en internet, entonces quise instalarla en una PC de escritorio que tengo por aquí, así que me dispuse a quemar un CD con el ISO de Kubuntu 9.04, el detalle es que no tenía CDs aquí, por lo que quise realizar el procedimiento para crear un USB Disk booteable, este procedimiento es algo engorroso y ya lo había posteado por aquí.
Por lo que antes de hacer el procedimiento manual para crear un Usb DISK Booteable busqué en internet las consideraciones necesarias para con esta nueva versión de Kubuntu 9.04, lo agradable al buscar en internet es que me encontré con la siguiente página:
http://www.addictivetips.com/ubuntu-linux-tips/how-to-create-a-bootable-live-ubuntu-904-usb-drive/
En dónde mencionan sobre UNetbootin [http://unetbootin.sourceforge.net/], qué es una utilería que funciona bajo Windows y Linux y que permita crear de forma rápida y fácil USB Disk booteables con las imágenes(.iso) de diversas distros incluyendo Ubuntu entre otras.
Aunque recomiendan usar la versión de Windows, preferí seguir en Linux y probar la aplicación que tienen para Linux, solo bastó darle permisos de ejecución, correrlo y probar la utilería.
Al ejecutarlo me pide que distro hacer booteable, seleccioné Ubuntu.
Posteriormente te pide si usar un archivo de imagen .iso ó descargarla de internet, en este caso ya la tenía descargada por lo que seleccione la imagen .iso.
A continuación te pide dónde crear la unidad booteable si en un disco duro ó un USB Disk, seleccione USB Disk.
Y listo, la utilería copia y crea los archivos necesarios.
Al final te pregunta si reiniciar o solo salir de la utilería.
Realmente me sorprendió la facilidad y rapidez que hasta pensé que me faltaba algún paso o algo así, pero no! fue así de sencillo.
Revise el USB y ahí estaban los archivos necesarios propios de un Disco USB booteable, por lo que quité el USB de mi lap y lo conecté en la Desktop, reinicie la máquina, presione F12 para seleccionar el disco de arranque y voilá.. mostraba un menú de arranque de UNetBootIn, seleccioné default y la distro de Kubuntu se estaba ejecutando en modo LiveCD, para luego instalarla.
UNetBootIn me sorprendió e incluso es una alternativa para diversas distros que vienen en modo LiveCD y una manera económica y ecológica de probarlas.
No teniendo otra forma de colaborar con México en esta situación de alerta nacional y para con mi gente más que con lo poco que sé que de programación, hoy he liberado una versión beta de un software llamado iMest que permite envío de SMS múltiples por tipos de contactos desde una página web.
Este software queda licenciado bajo la GPL lo que indica que cualquiera puede descargarlo, usarlo sin costo alguno, modificarlo y distribuirlo entre otras ventajas del Software Libre
La intención de este software es que diversas personas, empresas y organizaciones puedan tener una base de datos de las personas relacionadas con la entidad y asi puedan enviarle información a sus teléfonos celulares casi de manera instantánea y personalizada usando como gateway sms algun teléfono Nokia, de tal forma que puedan informarse sobre diversas contigencias.
El proyecto puede descargarse desde la siguiente URL https://sourceforge.net/projects/binnizawebsms/
Pueden verse algunos screenshots desde la siguiente URL: https://sourceforge.net/project/screenshots.php?group_id=260344
Para mayor información sobre el uso, requerimientos, instalación y configuración del software vaya a la siguiente página: http://phylevn.binniza.com/index.php?page/Binnita_NetApps_iMest_WebSMS
Espero este software pueda serle útil a alguien.
Cómo cualquier beta este software debe tener gran cantidad de errores y horrores de programación, se aceptan comentarios, sugerencias y tips de programación.
Cualquier duda sobre la instalación y configuración del software siéntanse en la libertad de hacérmela saber y a vuelta de correo poder darles una respuesta.
Phylevn
OpenMeetings es un sistema de videoconferencia basado en Flash, OpenMeetings permite realizar una conferencia con soporte de video, audio, compartición de archivos en diversos formatos, compartición de escritorio, pizarrón electrónico, compartición de paginas web entre otras cosas.. vaya es como dar una conferencia en vivo solo que de manera virtual.
Asi que sin más pongo el tutorial de la instalación paso a paso en Ubuntu Linux.
Para más información vayan al sitio : http://www.code.google.com/p/openmeetings/
sudomkdir ~/software cd ~/software sudowget http://cds-esd.sun.com/ESD7/JSCDL/jdk/6u13-b03/jdk-6u13-linux-i586.bin? AuthParam=1238314710_6ba92bc3cbb2a8a4581ef0a42c40cad7&TicketId=B%2Fw3kxmFRFtCSxZAPV9blAbq &GroupName=CDS&FilePath=/ESD7/JSCDL/jdk/6u13-b03/jdk-6u13-linux-i586.bin&File=jdk-6u13-linux-i586.bin #unir las 3 líneas en una sola url sudowget http://openmeetings.googlecode.com/files/openmeetings_0_8_rc2.zip sudochmod +x jdk-6u13-linux-i586.bin #instalando java cd/usr/src sudosh ~/software/jdk-6u13-linux-i586.bin #mover la instalación del jdk a /usr/src/java sudomv/usr/src/jdk-6u13-linux-i586 /usr/src/java #instalamos MySQL sudoapt-getinstall--yes mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev #configuramos mysql para trabajar con utf8 sudo editor /etc/mysql/my.cnf [mysqld]
character-set-filesystem=UTF8
character-set-server=UTF8
default-collation=UTF8_general_ci
default-character-set=UTF8 [client]
default-character-set=UTF8 [mysqldump]
default-character-set=UTF8 #instalamos convertidor de swf sudoapt-getinstall--yes swftools gs-gpl libart-2.0-2 libt1-5 libungif4g #instalamos librería para procesar imagenes sudoapt-getinstall--yes imagemagick #instalamos convertidor de pdfs sudoapt-getinstall--yes ghostscript #instalamos software para converción de archivos de openoffice y office #Verifica la instalación de OpenOfficeConverter dependiendo de la versión de OpenOffice, esta es para openoffice 2.3 #si ya tienen instalado OpenOffice entonces solo instalar los siguientes paquetes sudoapt-getinstall openoffice.org-headless xvfb openoffice.org-filter-mobiledev openoffice.org-filter-binfilter msttcorefonts pstoedit libpaper-utils ttf-dejavu #dependiendo de cada version de OpenOffice ver la siguiente URL
http://code.google.com/p/openmeetings/wiki/OpenOfficeConverter #creamos la base de datos para openmeetings
mysql -u root -p
create database openmeetings;
grant all privileges on openmeetings.* to red5@localhost identified by "red5";
flush privileges; exit; sudomkdir-p/usr/src/openmeetings cd/usr/src/openmeetings sudounzip ~/asterisk/openmeetings_0_8_rc2.zip sudorm-rf __MACOSX sudomv-f red5-0.8.RC3-build-hudson-red5_jdk6_stable-79_2 /usr/lib/red5 #asignamos permisos al directorio de instalación de red5 sudochmod-R 0755 /usr/lib/red5/ cd/usr/lib/red5/ sudochmod +x *.sh sudo ./red5.sh #entrar a un navegador http://localhost:5080 para verificar la ejecución del servidor de red5 sudochown-R nobody /usr/lib/red5 sudo editor /etc/init.d/red5
#/***AGREGAMOS LO SIGUIENTE*** #! /bin/bash # # red5 red5 initscript # # Author: Simon Eisenmann . # set-e exportJAVA_HOME="/usr/src/java" exportJRE_HOME="/usr/src/java/jre" exportPATH="${PATH}:${JAVA_HOME}/bin/:${JRE_HOME}/bin" exportOSTYPE="linux" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Red5 flash streaming server" NAME=red5 RED5_HOME=/usr/lib/red5 DAEMON=$RED5_HOME/$NAME.sh PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test-x$DAEMON || exit 0 # Read config file if it is present. if[-r/etc/default/$NAME] then
. /etc/default/$NAME fi # # Function that starts the daemon/service. #
d_start(){
start-stop-daemon --start-c nobody --pidfile$PIDFILE \ --chdir$RED5_HOME--background--make-pidfile \ --exec$DAEMON } # # Function that stops the daemon/service. #
d_stop(){
start-stop-daemon --stop--quiet--pidfile$PIDFILE \ --name java rm-f$PIDFILE } #aqui es signo moneda $ y luego 1, solo que el editor del blog lo cambia case"$1"in
start) echo-n"Starting $DESC: $NAME"
d_start echo"."
;;
stop) echo-n"Stopping $DESC: $NAME"
d_stop echo"."
;;
restart|force-reload) echo-n"Restarting $DESC: $NAME"
d_stop sleep1
d_start echo"."
;; *) echo"Usage: $SCRIPTNAME {start|stop|restart|force-reload}">&2 exit1
;; esac exit 0 #/****FIN DEL ARCHIVO /etc/init.d/red5******/
sudochmod +x /etc/init.d/red5
#si deseamos que red5 se ejecute al iniciar Linux sudo update-rc.d red5 defaults
#ejecutamos el servidor de red5 sudo/etc/init.d/red5 start
#verificamos la ejecución del servidor netstat-an | grep5080
tcp6 0 0 :::5080 ::<img src="plugins/Emoticons/images/face-kiss.png"border="0"alt="face-kiss.png "width="16"height="16"/> ESCUCHAR - #borramos los demos e instalador sudorm-r/usr/lib/red5/webapps/installer sudorm-r/usr/lib/red5/webapps/root/* #en algun caso aqui podemos crear nuestro index.html /usr/lib/red5/webapps/root #copiamos la configuración de mysql a la configuracion default de sql de openmeetings cd/usr/lib/red5/webapps/openmeetings/conf/ sudocp mysql_hibernate.cfg.xml hibernate.cfg.xml #editamos los valores de conexion al servidor de base de datos <property name="connection.username">red5</property> <property name="connection.password">red5</property> <property name="connection.url">
jdbc:mysql://localhost/openmeetings?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding$ cd/usr/lib/red5/webapps/openmeetings/ sudochmod +x jod/*.sh sudo/etc/init.d/red5 restart cd/usr/lib/red5/webapps/openmeetings/jod #entrar al servidor web de openmeetings
firefox http://localhost:5080/openmeetings/install #Ir al paso 2
y Ahí introducir la información solicitada.. #La instalación podría tardar unos minutos.. puedes ir verificando si la instalación funcionó entrando a mysql
mysql -u red5 -p openmeetings
show tables #Y ver si el instalador ha creado las tablas, si es asi todo va bien.. de lo contrario.. "verifica la información de la base de datos,
#la configuración de red5,
#reinicia red5 y
#repite el proceso de instalación web de openmeetings
#Si todo salió bien.. deberías ver algo como esto
Openmeetings - Installation Complete!
Enter the Application
#Ahora ya puedes entrar a red5 y openmeetings..
#Crear cuentas de usuario, cuartos de conferencias y empezar a tener videoconferencias en línea..
#en caso de que se quieran cambiar los puertos de ejecución del servidor web de red5 editar los siguientes archivos
sudo editor /usr/lib/red5/conf/red5.properties
#http.port=5080
sudo editor /usr/lib/red5/webapps/openmeetings/config.xml
:<red5httpport>5080</red5httpport>
#si se desea tener siempre activo el servicio de red5 entonces poner estos scripts en todos los modos de ejecución
sudo update-rc.d red5 defaults
sudo update-rc.d openoffice defaults
#para quitarlos de ejecución
sudo update-rc.d -f red5 remove
sudo update-rc.d -f openoffice remoce
Hace tiempo cabilaba sobre que necesitaría respaldar para poder levantar Asterisk + FreePBX en caso de un crash que se diera por alguna razón..(Crackers, rm -rf accidental, sobreescribir archivos, etc).
Obviamente en una instalación de FreePBX+Asterisk hay infinidad de archivos y directorios como por ejemplo:
/etc/amportal.conf #archivo de configuración de FreePBX
/var/www/cloudvoox #directorio de instalación web de FreePBX
/var/spool/recordings #Directorio de grabaciones de Asterisk
/var/lib/asterisk/ #archivos diversos de asterisk
/var/lib/asterisk/sound #Sonidos e IVR de Asterisk
/etc/asterisk #archivos de configuración de asterisk y freepbx
La base de datos de mysql para los CDR y configuración de FreePBX
Y así puedo enumerar una infinidad cantidad de directorios y archivos relacionados con asterisk y freepbx, ahora lo interesante no solo es saber que respaldar si no también como hacerlo, para ello he visto un script que funciona bien para respaldar lo necesario de freepbx y asterisk, solo faltaría agregarle la personalización para poder enviar los respaldos generados a un disco de respaldo, servidor ftp o tftp, correo electrónico, vía rsync, samba, etc.
Un script que puede ser funcional para hacer respaldos es el que se pude ver en la siguiente liga: http://bytecoders.homelinux.com/content/backup-de-asterisk-y-freepbx.html
Hace tiempo adquirí un Adaptador Wireless USB para la computadora de mi padre, pero por ahorrativo compré la más barata en internet, la sorpresa fué hace unos días que andaba para variar de ocioso y la conecté a mi laptop, la sorpresa fué que este USB lo podía poner en modo monitor por lo que lo pude usar con Kismet y AirCrack, como pruebas intenté romper una llave Wep de un AP que estaba cerca y lo hizo en unos cuántos minutos. Pero lo interesante es que no tuve que compilar nada, ni cargar algún driver, ni nada por el estilo, solo conectarlo, ponerla en modo monitor y listo.
La probé también en Ubuntu Server solo bajé el Aircrack y con eso bastó para poder probar sus cualidades estando en modo promiscuo.
Este USB es un Wireless USB WiBee, los puedes conseguir en plaza de la computación ó en Mercado Libre, para fines educacionales y auditoría de redes es bastante práctico.
Qué el asistente comprenda desde los conceptos básicos de Telefonía Tradicional y Voz Sobre IP hasta conocimientos avanzados de telefonía IP.
Conozca como instalar y configurar Tarjetas de Telefonía Sangoma & Digium.
Sepa diferenciar el uso de los diversos protocolos de comunicación.
Conozca la diferencia y uso de los diversos códecs.
Integrar nuevas aplicaciones alrededor de Asterisk.
Configurar las aplicaciones básicas de un conmutador IP.
Configurar extensiones y manejar el dialplan de Asterisk.
Configuración de IVRs, Grupos de marcación, DISAs, FollowMe, etc.,
Ruteo de llamadas por diveras tecnologías.
Instalar un Administrador Gráfico para Asterisk
Programación de aplicaciones con Asterisk Gateway Interface
Monitoreo de llamadas
Integración de aplicaciones desarrolladas con el Asterisk Manager Interface
Detección de fallos
Integración de aplicaciones externas con Asterisk
Integración de vTiger CRM con Asterisk
Curso de Introducción a la plataforma Linux.
Se provee un curso de introducción opcional que consta de 6 horas previas al curso de VoIP para que los asistentes nuevos en Linux puedan comprender aun más los aspectos fundamentales del Sistema Operativo Linux, plataforma sobre la cuál se integra la tecnología de Asterisk VoIP y conozcan el entorno sobre la cual se implementa Asterisk PBX.
Temario del curso de Linux Core
¿ Qué es Linux ?
Obteniendo Linux
Distribuciones Linux
Instalación de Linux
Sistema de Archivos de Linux
Comandos principales
Permisos de usuarios y accesos de archivos.
Ejecución de aplicaciones.
Instalación de paquetes.
Compilación e instalación de aplicaciones medante código fuente.
Manejo de editor de texto en linux.
Edición de archivos de configuración.
Configuración de servicios de arranque en Linux.
Registros y Mensajes del Sistema.
Detección de hardware.
Monitoreo de sistema(CPU, RAM, Disco Duro).
Configuración de Redes en Linux.
Temario del Curso de Implementación de Asterisk VoIP
SESIÓN 1
Teoría
Conceptos Básicos de Telefonía Tradicional.
Terminología de la Telefonía tradicional.
Concepto básicos de Voz sobre IP.
Situación Actual de la Telefonía Tradicional en México
¿ Qué es la Telefonía IP ?
Ventajas de Implementación de Telefonía IP en las Empresas.
Diferencia entre Voz sobre IP vs Telefonía IP.
Términos y Aspectos legales en México
Protocolos de Voz sobre IP
Codecs de Voz sobre IP
¿ Qué es Asterisk PBX?
Aplicaciones de un Conmutador de Voz sobre IP basados en Asterisk PBX.
Practica
Instalación de Servidor Linux
Configurando de usuarios
Configuración del sistema de paquetes y repositorios de Linux.
Configurando servicio de consola remota(SSH) para acceso remoto.
Instalación de paquetes requeridos para Asterisk y FreePBX.
Descarga de código fuente de aplicaciones requeridas para instalación de Asterisk PBX.
Compilación de paquetes requeridos.
Instalación de Paquetes de Conmutador de Voz Sobre IP con Asterisk PBX.
Instalación de Drivers DAHDI o ZAPTEL para tarjetas Sangoma ó Digium.
Configuración de tarjetas con DAHDI y ZAPTEL.
Configuración de opciones generales de zapata.conf y dahdi.conf
Configuración de grupos y canales de puertos FXO
Instalación de Gateway para desarrollo de Aplicaciones de Voz Sobre IP.
Instalación de Sonidos en español para IVR.
Instalación y Configuración de Administrador Web FreePBX para Asterisk PBX.
Actualización e instalación de nuevos módulos de FreePBX.
Actualización e instalación de módulos no oficiales de FreePBX
Esquema de archivos de configuración de FreePBX y Asterisk PBX.
Edición de Archivos Generales de configuración de Asterisk PBX.
Edición de archivos de configuración de Usuarios y Extensiones de Asterisk PBX.
Configuración de Softphone en Linux, Windows y PocketPC como extensiones del conmutador de VoIP
Evaluación de la Sesión
Retroalimentación
SESION 2
Practica
Configuración de Planes y Reglas de Marcación en archivos de configuración de Asterisk PBX.
Configuración de Equipos FXS como extensiones de Conmutador VoIP.
Configuración de Puertos FXO de SPA3102 como líneas de salida PSTN
Configuración de Puertos FXO de tarjetas como líneas de salida PSTN.
Configuración de dispositivo PAP2 para conexión de Fax.
Consideraciones para Fax sobre IP.
Configuración de Correo de Voz para extensiones.
Configuración de conexión a un proveedor VoIP para realizar y recibir llamadas desde la red PSTN.
Instalación de Códecs g729.
Configuración de servicio DID(Número telefónico vía VoIP) con Asterisk PBX.
Configuración de Ruteo de llamadas Entrantes al conmutador de VoIP.
Configuración de Ruteo para llamadas Salientes del Conmutador de VoIP.
Configuración de password y pins para llamadas salientes.
Configuración de música de fondo para diversos contextos y grupos de marcación.
Configuración de Follow ME.
Configuración de Call Back.
Configuración de Grupos de Marcación.
Grabación de llamadas.
Instalación de aplicación para revisión de llamadas grabadas.
Implementación de Monitoreo y susurro de llamadas.
Grabación de Mensajes para IVR y otros servicios del conmutador de Voz Sobre IP.
Configuración de grupos de toma de llamadas.
Transferencia y Toma de Llamadas
Evaluación de la Sesión
Retroalimentación
SESION 3
Práctica
AudioConferencia en Asterisk PBX.
VideoConferencia en Asterisk PBX
Configuración de Acceso Remoto para Marcación Directa ( DISA ).
Programación de AGI para implementación de DISA personalizado.
Configuración de Ruteo de Llamadas por Horarios de Marcación.
Configuración de Aplicaciones Interactivas de Voz ( IVR ).
Configuración de dispositivo USB e integración con FreePBX para envío de SMS desde aplicación web.
Configuración de Colas de Llamadas.
Revisión de Códigos de Marcación de Asterisk.
Revisión del Panel de Marcación de FreePBX.
Modificación de base de datos de CDR de Asterisk PBX.
Configuración y programación de CDR.
Modificación del sistema de reportes CDR de FreePBX.
Uso de la consola para depuración de eventos de Asterisk
Conociendo las opciones de la consola de Asterisk
Recarga de funciones de Asterisk
Monitoreando canales en Asterisk
Conociendo el log de Asterisk
Detección de problemas y fallos en Asterisk.
Instalación de IAXModem & Hylafax como Fax Virtual
Instalación y Configuración de AvantFax como Administrador Web de Faxes.
Configuración de Hylafax para envío de Fax desde Aplicaciones Windows.
Evaluación de la Sesión
Retroalimentación
SESION 4
Práctica
Instalación del FrameWork de PHP AGI
Que es un AGI
Qué es AMI
Instalación de Festival y parlante en español
Programación AGI(Asterisk Gateway Interface) demo de interfaz entre Asterisk y Aplicación LAMP
Ejecución de Aplicaciones desde llamadas telefónicas con Asterisk
Desarrollo de aplicaciones VoIP haciendo uso de AMI(Asterisk Manager Interface)
Programación de AMI para monitoreo de llamadas
Programación de AMI para interfaz con sistema de tarificación de llamadas
Integración de aplicación Click to Call.
Configuración de WebPhone
Integración de sistema de detección de movimiento con Asterisk.
Configuración de Marcaciones Internas para Accesos a Diversas Aplicaciones VoIP desarrolladas.
Integración de AsterCRM con Conmutador de Voz sobre IP.
Tarificador de llamadas
Implementación de un Conmutador de Voz sobre IP para un escenario real.
Evaluación de la Sesión
Retroalimentación
Material Entregable:
Disco con todos los paquetes a usar en el curso de implementación del conmutador de Voz sobre IP.
Distribución de Linux Server & Linux Desktop.
Libro Electrónico El Futuro de la Telefonía.
Documentación sobre el proceso de instalación de Asterisk VoIP.
Presentación del curso de Voz sobre IP.
Cuenta VoIP con 10 Dlls de Crédito & DID para prueba de llamadas vía VoIP.
Teléfono VoIP Aastra 6730i, ATA SPA3102 o Tarjeta X100P 1 Puerto FXO.
Lugar:
Por definir por parte de los asistentes
Fecha y Horarios del curso:
Fecha y Horario: Por definir por parte de los asistentes
Límite de Asistentes:
Por definir
Adicionales:
Cualquier duda posterior a la fecha del curso podrá atenderse vía correo electrónico o messenger para atender dudas que hayan salido con respecto algunos de los temas, instalación o configuración de los temas vistos en el curso.
Inversión:
Cotizar el costo mediante el sistema de cotizaciones, por favor regístrese en nuestro sistema y seleccione Curso Especializado de Asterisk PBX para que le llegue a su correo información de curso y costo.
50 % Antes del curso y el resto previo al inicio del curso.
Descuentos:
A partir de 3 Personas Inscritas hay un descuento del 10% sobre el costo original.
Hace un rato intentando acceder a un cliente VPN, tuve la necesidad de configurar unos equipos que están en la misma red que el cliente VPN, solo que de este lado del internet no puedo tener accedo directo a esos equipos, entrando vía SSH al cliente VPN puedo tener acceso, pero la idea es que pueda entrar de modo gráfico, por lo que instalo un servidor vnc.
sudo apt-get install vnc4server
El detalle que cuándo entraba por VNC me mandanba una pantalla gráfica pero no era la de KDE y sin forma de abrir un navegador.
Para eso leyendo la documentación sobre el servidor VNC, solo había que modificar un archivo para que al momento de iniciar el servidor de VNC se accediera a KDE.
sudo editor ~/.vnc/xstartup
Para KDE hay que modificar la línea "twm &" por "startkde &"
Para Gnome reemplazar "twm &" por "exec gnome-session &"
Detener todos las instancias de VNC activadas.
Ahora solo Iniciar de nuevo el servidor
Con esto ya pude iniciar vía VNC al KDE del cliente y de ahi mediante firefox entrar a la configuración de los equipos.
Siguiendo con el proceso de instalar un sistema de videoconferencia web basado en Flash pongo aquí un corto HowTo de como Instalar Red5 que es un servidor open source de flash.
Primero se requiere tener instalado Java 1.6, después de haber instalado Java continuar con la siguiente bitácora:
#tener Java 1.6 instalado sudomkdir ~/software cd ~/software #sudo wget http://red5.nl/installer/red5-0.7.0.tar.gz sudowget http://red5.googlecode.com/files/Red5War_0.7.0.zip sudowget http://mirror.olnevhost.net/pub/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz sudomkdir-p/usr/src/red5 cd/usr/src/red5 sudotar-xzvf ~/software/apache-tomcat-6.0.18.tar.gz sudounzip ~/software/Red5War_0.7.0.zip sudomv*.war ../apache-tomcat-6.0.18/webapps/ cd/usr/src/red5/apache-tomcat-6.0.18/ sudorm-rf webapps/ROOT #creamos un script de inicio de red5 sudo editor /usr/src/red5/red5_start.sh #!/bin/bash exportJAVA_HOME="/usr/src/java" exportJRE_HOME="/usr/src/java/jre" exportOSTYPE="linux" exportCATALINA_HOME=/usr/src/red5//apache-tomcat-6.0.18 exportPATH=$PATH:$JAVA_HOME/bin/:$JRE_HOME/bin cd$CATALINA_HOME sh ./bin/startup.sh #asignarle permisos de ejecución al script de inicio de red5 sudochmod +x red5_start.sh #creamos un script de detención de red5 sudo editor /usr/src/red5/red5_stop.sh #!/bin/bash exportJAVA_HOME="/usr/src/java" exportJRE_HOME="/usr/src/java/jre" exportOSTYPE="linux" exportCATALINA_HOME=/usr/src/red5//apache-tomcat-6.0.18 exportPATH=$PATH:$JAVA_HOME/bin/:$JRE_HOME/bin cd$CATALINA_HOME sh ./bin/shutdown.sh #asignarle permisos de ejecución al script de detención de red5 sudochmod +x red5_stop.sh #Para iniciar el script solo bastaría ejecutar sh red5_start.sh # si la ejecución funcionó se vería en la lista de procesos algo como esto
root 113801342.118508822108 pts/2 Sl 22:10 0:01 /usr/src/java/jre/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.c #Y ya con eso solo bastaría que en tú navegador abrieras la IP de tú máquina dónde se instaló red5 en el puerto 8080
firefox http://localhost:8080 # y deberías ver la página demo de red5 y de ahí poder ver algunas otras aplicaciones demo #para detener el servicio de red5 solo ejecuta el siguiente script sh red5_stop.sh
Espero este mini tutorial sirva de algo y cualquier sugerencia, comentario ó información adicional por favor coméntalo para poder enriquecer la información..
Hace unos días un cliente me pidió que le hiciera una página web para promover sus productos, el detalle que me pedía al subir sus fotos a internet es que les pusiera una marca de agua con la dirección de su página web, ya que en ocasiones anteriores el había subido unas fotos de sus productos y la competencia se las había pirateado.
El detalle es que era cientos de fotos, entonces eso de editar foto por foto con gimp pues no era muy chistoso que digamos, por lo que me puse a buscar como hacerlo desde un script ya que imaginaba que se podía hacer, para ello encontré a ImageMagick una gran herramienta para editar imágenes en Linux, entre las herramientas que trae ImageMagick se encuentra convert, la cuál nos permite hacer diversas ediciones y modificaciones a un archivo de manera batch ó en un script, por lo que me puse a leer en la documentación de ImageMagick como hacer lo que me proponía..
La respuesta y la magia vino de convert con la opción -draw la cuál entre otras cosas me permitió empotrar una imagen que contenía información sobre el sitio web de mi cliente, afortunadamente en este caso todas las fotos tenían el mismo tamaño, por lo que no tuve quehacer algo adicional para poder centrar la imagen todo fué configurado directamente desde el script.
El script para poder agregar una imagen a otras imagenes en alguna parte de la imagen es el siguiente:
El script lo que hace es buscar todos los archivos jpg en el directorio actual y subdirectorios, despues va procesando las imágenes y les va empotrando el archivo marcadeagua.png que es una imagen transparente que hice en GIMP, y sobreescribe el mismo archivo de la imagen.
De tal forma que al final veremos todas las imágenes ya con la marca de agua.
Pueden saber más de las opciones de convert en la siguiente url:
Asterbilling es un software que permite integrar un tarificador a Asterisk basado en prefijos, longitud del número de marcado, entre otras cosas, muy apto para ser usado en casetas telefónicas, aparte que tiene un sistema de monitoreo para cuándo se marque un número muestre el tiempo marcado, el número, etc y de ahi mismo imprimir un ticket.
Como plugin adicional para Asterbilling hice un script en php que lo que hace es consultar desde un teléfono el costo de las llamadas desde un cabina en específica, de tal forma que usando festival te regresa de forma hablada la fecha marcada, el tiempo de la llamada, el número marcado y el costo total de la llamada en base a la tarifa aplicada.
Este script también permitiría imprimir un ticket en una impresora de tickets conectada al puerto serial, solo bastaría crear un archivo con la información y mandarlo al puerto lpt.
#!/usr/bin/php -q <?php //llamamos a las librerias de phpagi require("phpagi/phpagi.php"); //activamos la bandera de enviar todo lo que se realice a consola como modo depuracion error_reporting(E_ALL); //creamos una instancia de la clase AGI $agi=new AGI(); //generamos el comando Answer de Asterisk, este comando siempre lo ejecutamos al inicio de un AGI $agi->answer(); //Este demo consultaria informacion en una base de datos y regresaria la informacion de forma hablada por lo que generamos una conexion a la base de datos de sql $conexion=mysql_connect("localhost","astercc","astercc") or die("Error: El servidor no puede conectar con la base de datos"); //Referenciamos el cursor a la base de datos mysql_select_db("astercc",$conexion); //obtenemos el caller id de quien realiza la llamada $_cid=$agi->parse_callerid(); //enviamos un mensaje de voz por medio de festival que esta configurado en idioma espanol $saludo_hora=(date("H")<12)?"Buenos Dias!"<img src="plugins/Emoticons/images/face-sad.png" border="0" alt="face-sad.png " width="16" height="16"/>(date("H")<19)?"Buenas tardes!":"Buenas Noches!");
$agi->text2wav("Hola $saludo_hora"); do{ $agi->text2wav('¿Que cabina desea tarificar? 0 para salir');
//enviamos un beep y esperamos 20 segundos en la espera de una respuesta $_result=$agi->get_data('beep',5000,20); //obtenemos la informacion introducida desde el telefono $cabina=$_result['result']; if($cabina!="" and $cabina!="0"){ $query="select c.id, c.calldate, c.src, c.dst, c.didnumber, c.duration, c.billsec, c.disposition, c.calltype, c.userfield,
m.dialprefix, m.numlen, m.destination, m.connectcharge, m.initblock, m.rateinitial, m.billingblock
from mycdr c, myrate m
where c.src='$cabina' and c.disposition like '%ANSWERED%'
and c.userfield='UNBILLED'
and (c.dst like concat(m.dialprefix,'%') or length(c.dst)=m.numlen)
and (c.groupid=m.groupid or m.groupid=0)
and (c.resellerid=m.resellerid or m.resellerid=0)
order by
"; //select c.id, c.calldate, c.src, c.dst, c.didnumber, c.duration, c.billsec, c.disposition, c.calltype, c.userfield,m.dialprefix, m.numlen, m.destination, m.connectcharge, m.initblock, m.rateinitial, m.billingblock from mycdr c, myrate m where c.src='102' and c.disposition like '%ANSWERED%' and c.userfield=UNBILLED and (c.dst like concat(m.dialprefix,'%') or length(c.dst)=m.numlen) and (c.groupid=m.groupid or m.groupid=0) and (c.resellerid=m.resellerid or m.resellerid=0) $agi->verbose($query); $_result=mysql_query($query); //verificamos si existe un resultado $total=0; $subtotal=0; $ticket=""; $count=1; while($_re=mysql_fetch_array($_result)){ $subtotal=$_re[13]; if($_re[6]>$_re[14]){ $charge_additional=(ceil(($_re[7]-$_re[14])/$_re[16]))*$_re[15]; $subtotal+=$charge_additional; } $total+=$subtotal; $ticket.=" llamada $count.
Fecha: $_re[1].
Tiempo de la llamada: $_re[6] segundos.
Numero Marcado: $_re[4].
Tarifa aplicada: $_re[destination].
Costo: $subtotal pesos.."; } if($total>0){ $agi->text2wav("Total a pagar $total pesos. Desglose : ".$ticket." Total a pagar: $total pesos"); $agi->text2wav("Desea imprimir el ticket?Presione 1 para Aceptar. Otro para salir"); $_result=$agi->get_data('beep',5000,20); $print=$_result['result']; if($print==1){ $ticket=str_replace(".",".\n",$ticket)."\n\nTotal a pagar: ".$total." pesos"; //imprimir ticket //guarda archivo //manda archivo a LPT //elimina archivo impreso //guardar registro } }else{ $agi->text2wav("No hay llamadas para tarificar en la cabina $cabina!"); } } }while($cabina!='0'); $agi->text2wav("Hasta luego. $saludo_hora"); //al finalizar el script del AGI siempre es recomendable ejecutar esta funcion para no dejar el canal abierto. $agi->hangup(); ?>
//*****
Comentarios Recientes