Hace unos días adquirí una tarjeta DH55HC para meterle un procesador Intel Core i7 860 a 2.86 Ghz, para esto instalé la versión de Ubuntu Server 8.04 con el kernel 2.6.24-26, todo funcionó bien a excepción de la tarjeta de red la cuál no fué detectada por el kernel de linux, por lo que me metí a la página de Intel para checar que dispositivo de red incluía esta tarjeta madre y buscar el driver, esto ya que Intel le da soporte a Linux.
La tarjeta de red Ethernet Gigabit incluída es la Intel® 82578DC, por lo que buscando los drivers en la página de Intel encontré los correctos para Linux 2.6.18 o superior y los cuáles pueden descargarse de la siguiente URL:
El proceso de instalación es muy simple y lo pongo a continuación:
#Creamos directorio de instalación mkdir-p ~/drivers/ethernet cd ~/drivers/ethernet #descargamos drivers wget http://downloadmirror.intel.com/15817/eng/e1000e-1.2.20.tar.gz #descomprimimos drivers sudotar-xzvf e1000e-1.2.20.tar.gz #entramos al directorio dónde está el código fuente cd e1000e*/src #compilamos e instalamos los drivers cómo módulo en el directorio del kernel utilizado sudomakeinstall #levantamos el módulo sudo modprobe e1000e sudo depmod -a #si damos ifconfig eth0 deberíamos de poder ver la interfaz intel ethernet gigabit ifconfig eth0
Hace un par de meses instalé un conmutador de Voz sobre IP a un cliente el cuál realiza en promedio cerca de 150 llamadas diarias, por lo que me solicitó que en el conmutador se grabaran las llamadas que recibiera e hiciera, esto quedo funcionando bien, el detalle que en ese tiempo se me pasó agregar un parámetro para que después de finalizada la grabación copiara el archivo de la llamada grabada a una carpeta con la fecha actual de la grabación, esto para ir organizando las llamadas, pero como esto no se hizo 40 días después obviamente tenía miles de llamadas grabadas por lo que revisar una por una fue complicado.
Por lo que se me ocurrió rápidamente hacer un script en PHP que listara la información por fecha y en base a la fecha del archivo crear una carpeta si es que este directorio no existiera y mover ahí el archivo grabado.
En el código solo modificar el directorio de búsqueda y el directorio dónde se crearán las carpetas y moverán los archivos, obviamente este script puede funcionar para cualquier tipo de archivo pero aquí lo hice para que busque archivos wav, cree un directorio de la fecha del archivo si esta no existe y mover ahí el archivo, y asi consecutivamente con todos los archivos.
Espero este script pueda serle de utilidad a alguien más y cualquier comentario hacérmelo llegar..
El desarrollo de Asterisk está creciendo a pasos agigantados y también la cantidad de software alrededor de esta plataforma que ya es un Killer App, por lo que buscando hace unos días información sobre USRP encontré información sobre OpenBTS y de ahí di con un vídeo en youtube sobre como interceptar llamadas entre teléfonos celulares, esto mediante un dispositivo USRP el cuál toma la función de un AP GSM, por lo que los móviles se conectan a estos AP pensando que son los verdaderos de Telcel o Movistar, pero lo que no saben es que en realidad es que son Fake AP que si permiten hacer llamadas, más no recibir obviamente, pero las llamadas realizadas son monitoreadas por el sistema Fake que se encuentra en medio.
En youtube se puede encontrar un video que explica aun más este nuevo concepto:
Cuándo instalamos un servidor Linux en modo consola, generalmente solo tiene habilitada 3 Zonas horarias las cuáles no siempre coinciden con las Zonas Horarias especificadas para México, por lo que es necesario actualizar la Zona horaria para que el reloj del sistema quede perfectamente configurado, para eso solo realizar lo siguiente:
#Respaldar la configuración de zona horaria actual sudomv/etc/localtime /etc/localtime-old.old #Crear un enlace dinámico de la zona horaria de México a la zona horaria actual sudoln-sf/usr/share/zoneinfo/America/Mexico_City /etc/localtime #Instalar vía apt-get un sincronizador de horario sudoapt-get--yesinstall rdate #Sincronizar la hora con un servidor de horarios sudo/usr/bin/rdate -s time-a.nist.gov #Sincronizar la hora del sistema con la hora del bios sudo/sbin/hwclock --systohc #Verificar la nueva hora configurada date
Hace un rato revisando mi listado de llamadas perdidas desde el CDR de FreePBX quise regresar algunas llamadas, ya que los números eran de algunos amigos, por lo que comencé a marcar desde mi extensión sus números, pero algo que se me hizo poco ilógico es ¿ Cómo marcar a la antigüita si ya tengo un sistema Asterisk ?, lo primero que pensé fué un sistema Click2Dial, imaginé que primero tendría que programar algo adicional al CDR, pero imaginé que a lo mejor ya habría un plugin en Firefox que ya resolviera este detalle, por lo que me metí al sitio de Addons de Firefox a buscar un plugin y pude encontrar Asterisk Click2Dial.
Asterisk Click2Dial
Solo basta agregar el plugin como extensión de firefox, reiniciar firefox y configurar los parámetros de Asterisk Click2Dial.
En este caso preferí usar el modo AMI para hacer las llamadas, por lo que tuve que introducir el host del servidor de Asterisk, Puerto, Login, Password, Contexto y a que extensión mandaría el número marcado.
Los primeros parámetros los podemos configurar en el archivo de /etc/asterisk/manager.conf.
Ahora solo seleccionar cualquier número y presionar el botón derecho para luego elegir llamar al número seleccionado.
Hemos dividido nuestro curso de Telefonía de Voz sobre IP basada en la plataforma Asterisk PBX en 2 cursos, básico-principiantes e intermedio-avanzado, los cursos están diseñados para que el asistente con el curso de principiantes conozca desde los aspectos básicos de telefonía hasta los conocimientos principales para poder integrar un conmutador de voz sobre IP y ponerlo en producción, dónde podrá integrar un conmutador mediante tarjetas de telefonía Sangoma, Digium así como configurar opciones como son IVRs, Grupos de Marcación, Extensiones, Rutas de llamadas entrantes, salientes, bloqueo de llamadas, correos de Voz, etc .
El curso intermedio avazando se enfoca en cuestiones avanzadas de la telefonía de Voz sobre IP como son integración de Asterisk con CRM, desarrollo de aplicaciones, integración de bases de datos, texto a voz y reconocimiento de voz, videoconferencia, domótica y casas inteligentes entre, monitoreo entre otros temas avanzados que le darán al usuario mayores conocimientos en la integración de soluciones de Voz sobre IP más allá de un conmutador IP.
Para información del Temario, Fechas y Costos puede obtenerse mayor información en el siguiente PDF
Hace unos días instalé Asterisk sobre la nueva versión de servidor de Ubuntu, el detalle con esta versión es que ya trae PHP 5.3 por lo que me salió un problema al instalar mis agis, el error que me salía era el siguiente:
PHP Parse error: syntax error, unexpected T_GOTO, expecting T_STRING in/var/lib/asterisk/agi-bin/phpagi/phpagi.php on line 1184<br>
Esto ya que en el código de phpagi se creó una función llamada goto, función que no existía antes en PHP, pero que desde la versión 5.3 ya existe
T_GOTO goto (available since PHP 5.3.0)<br>
Por lo que había un conflicto con los tipos de parámetros, para esto solo basto editar el código y renombrar la función goto a goto2
function goto($context,$extension='s',$priority=1)
Los archivos AAC son formatos de Audio con alta calidad y buena compresión, por lo que los archivos ocupan poco espacio pero con muy buena calidad de audio.
Queriendo usar unos ringtones para un softphone estuvo buscando algunos y encontré los que trae Nokia por default en sus teléfonos, el detalle es que estos estan en formato AAC y no son soportados por el softphone ya que solo soporta Wav. Por lo que tuve que buscar la forma de convertir estos archivos a formato Wav, para esto encontré la aplicación FAAD que ayuda con esto, solo basta instalarla desde los paquetes
Hace unos días instalé un conmutador de Voz sobre IP para un cliente, el detalle en esta ocasión es que se usarían softphones pero no sobre Windows como se hacía con anteriores clientes, si no sobre Linux.
Al principio no le vi complicación pues existen diversos softphones para Linux, tanto open source, gratuitos y comerciales, pero despues de evaluar varios todos tenían una pega.
En el caso de los comerciales requerían del pago de una licencia por softphone por lo que para el cliente no le era atractivo, los gratuitos estaban muy limitados y los open source no todos funcionaban bien.
Pero buscando y buscando lei la recomendación en varios foros del SoftPhone Twinkle, el cuál es un softphone SIP que funciona solo para Linux y es Open Source.
Su interfaz no es muy atractiva, pero despues de empezar a usarla es muy funcional
Al principio tuve problemas son este softphone ya que al recibir llamadas se me quedaba colgado el softphone, pero buscando info encontré que era por falta de librerías.
Entre las principales características es que te permite elegir un dispositivo de sonido para el timbrado y otro para hablar y escuchar, esto es práctico cuándo se usan diademas ya que asi se puede conectar una diadema usb y hacer que el timbrado suene por el dispositivo principal de sonido y la conversación se realice por las diademas USB. Gracias a lo anterior también es posible elegir un tono para el timbrado por lo que es práctico cuándo se tienen múltiples extensiones en una misma oficina asi ya no se confunden entre los timbrados.
También este softphone permite elegir el tipo de códec a usar soportado G711u, G711a, GSM, iLBC, G726, Speex.
Soporta cancelación de eco, ajuste automático de volúmen de dispositivos.
Entre otras muchas características que lo hacen interesante y práctico para su uso en producción.
Su instalación en debian o Ubuntu se puede realizar por paquetes y es necesario instalar las librerías adicionales para no tener problemas de funcionamiento.
Muchos amigos me han preguntado como lanzar llamadas en automático a través de Asterisk, aparte que es muy común que en diversos foros salgan este tipo de preguntas. Por ello aquí posteo un código muy simple hecho en PHP que permite marcar a un número para luego enlazarlo a un AGI, Un grupo de marcación, grupo de extensiones, IVR, etc.,
<? #Direccion IP del Servidor de Asterisk Manager $strHost="localhost"; #Usuario dado de alta en el Asterisk Manager definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf $strUser="cloudvoox"; #Password del usuario del Asterisk Manager definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf $strSecret="cloudvoox"; #especificamos el contexto $strContext="from-internal"; #indicamos el tiempo de espera de la marcación $strWaitTime=45; #La prioridad para colocar la llamada $strPriority=1; #maximo de reintentos $strMaxRetry="2"; #Extensión a dónde mandaremos la llamada realizada, previamente debemos definirla extension en /etc/asterisk/extensions_custom.conf, esta puede ser un AGI, un Grupo de marcación, IVR, Extension, Cola de llamadas, etc. $number="1997"; #A partir de aquí podemos crear un ciclo que lea diversos números a marcar, por ejemplo podría ser un mysql_fetch_array que nos obtenga los numeros a marcar y sustituirlos en el número de abajo #Aqui podemos enlazar los destinatarios externos ya sean extensiones internas SIP o IAX, o también pueden ser números de la PSTN que salgamos mediante IAX2, SIP, Zaptel o DAHDI #En este caso estoy llamando a traves de voipjet al número de la ciudad de México 11689818 (+525511689818) $strChannel="IAX2/voipjet/011525511689818"; if($strChannel!=""): $errno=0 ; $errstr=0 ; $strCallerId=" WebCall<$number>"; $oSocket=fsockopen($strHost,5038,$errno,$errstr,20); if(!$oSocket){ echo"$errstr ($errno)<br>\n"; }else{
Ahí previamente debemos tener creada la extensión 1997 en el plan de marcación de asterisk, esa extensión es a dónde vamos a mandar las llamadas contestadas, en este caso por ejemplo se puede crear en /etc/asterisk/extensions_custom.conf en caso de que se use freepbx como lo hacemos a continuación
sudo editor /etc/asterisk/extensions_custom.conf
#Y agregamos lo siguiente o editamos en caso de que ya exista
[from-internal-custom] include=>asterisk-calls [asterisk-calls]
exten =>1997,1,Answer
exten =>1997,n,SetMusicOnHold(Publicidad)
exten =>1997,n,MusicOnHold()
exten =>1997,n,Hangup #guardamos el archivo y reiniciamos el plan de marcación en la consola de asterisk
sudo asterisk -rvvv
dialplan reload
Básicamente lo que hicimos en el plan de marcación es poner la música de fondo llamada publicidad, que previamente debimos haberla creada, aquí también puede ser un AGI, o marcar a un grupo de extensiones, IVR, etc.
Con esto fácilmente podemos subir una lista de números a marcar, para que enseguida ejecutar el script y Asterisk les llame para luego enlazar las llamadas a la extensión 1997 dónde podemos tener cualquier aplicación como puede ser un AGI que haga una encuesta por ejemplo
También podemos crear un script que genere hilos de llamadas dependiendo del número de canales de voz disponibles en nuestro conmutador de Voz sobre IP.
Comentarios Recientes