Skip to main content.

Archive for the ‘General’ Category

Sistema de streaming con Asterisk y Icecast2

Jueves, Marzo 6th, 2008

Con motivo de la Semana ESIDE, se han organizado diversos actos y charlas desde el E-Ghost. Suele ser habitual grabarlas, y alguna vez se ha experimentado con el streming del audio, pero para esta ocasión se me ocurrió que podríamos hacer las 2 cosas a la vez con Asterisk.logo_phpbb.gif

El funcionamiento del sistema se basa en Asterisk y Icecast2, que es un servidor de streaming, configurando el montaje de la siguiente manera:

  • Un servidor remoto con Icecast2.
  • Un portátil con Asterisk instalado, de manera que metemos en un MeetMe el ‘console channel driver’, es decir, la entrada de micrófono y grabamos la conversación con la opción ‘r’ de MeetMe.
  • Con chan_local, metemos a ese mismo MeetMe la aplicación Ices, que envía el stream a un servidor de Icecast2.

y ahora, vamos por partes:

Instalación y configuración de Icecast2

apt-get install icecast2

  1.  
  2. <icecast>
  3.     <limits>
  4.         <clients>100</clients>
  5.         <sources>2</sources>
  6.         <threadpool>5</threadpool>
  7.         <queue-size>524288</queue-size>
  8.         <client-timeout>30</client-timeout>
  9.         <header-timeout>15</header-timeout>
  10.         <source-timeout>10</source-timeout>
  11.         <burst-on-connect>1</burst-on-connect>
  12.         <burst-size>65535</burst-size>
  13.     </limits>
  14.     <authentication>
  15.         <source-password>superfarsa</source-password>
  16.         <relay-password>hackme</relay-password>
  17.         <admin-user>admin</admin-user>
  18.         <admin-password>ironfarsa</admin-password>
  19.     </authentication>
  20.     <hostname>streamcluster.irontec.com</hostname>
  21.     <listen-socket>
  22.         <port>8088</port>
  23.     </listen-socket>
  24.     <fileserve>1</fileserve>
  25.     <paths>
  26.         <basedir>/usr/share/icecast2</basedir>
  27.         <logdir>/var/log/icecast2</logdir>
  28.         <webroot>/usr/share/icecast2/web</webroot>
  29.         <adminroot>/usr/share/icecast2/admin</adminroot>
  30.                 <alias source="/" dest="/status.xsl"/>
  31.     </paths>
  32.     <logging>
  33.         <accesslog>access.log</accesslog>
  34.         <errorlog>error.log</errorlog>
  35.         <loglevel>4</loglevel>
  36.         <logsize>10000</logsize>
  37.     </logging>
  38.  
  39.     <security>
  40.         <chroot>0</chroot>
  41.     </security>
  42. </icecast>
  43.  

Después hay que editar el fichero /etc/default/icecast2 y poner ENABLED=true. Tras esto ya podemos iniciar Icecast2:

/etc/init.d/icecast2 start

Configuración de Asterisk necesaria

Necesitamos un fichero de ejemplo para la aplicación Ices, que podemos encontrar en la carpeta contrib de las fuentes de Asterisk. Ejemplo:

  1.  
  2. <?xml version="1.0"?>
  3. <ices>
  4.     <background>0</background>
  5.     <logpath>/var/log/ices</logpath>
  6.     <logfile>ices.log</logfile>
  7.     <loglevel>4</loglevel>
  8.     <consolelog>0</consolelog>
  9.     <stream>
  10.         <metadata>
  11.             <name>Example stream name</name>
  12.             <genre>Example genre</genre>
  13.             <description>A short description of your stream</description>
  14.             <url>http://mysite.org</url>
  15.         </metadata>
  16.         <input>
  17.             <module>stdinpcm</module>
  18.             <param name="rate">8000</param>
  19.             <param name="channels">1</param>
  20.             <!– Read metadata (from stdin by default, or –>
  21.             <!– filename defined below (if the latter, only on SIGUSR1) –>
  22.             <param name="metadata">1</param>
  23.             <param name="metadatafilename">test</param>
  24.         </input>
  25.         <instance>
  26.             <hostname>SERVIDOR_ICECAST2</hostname>
  27.             <port>8000</port>
  28.             <password>PASSWORD_DE_LA_FUENTE</password>
  29.             <mount>/fichero.ogg</mount>
  30.             <yp>1</yp>
  31.             <encode>
  32.                 <quality>0</quality>
  33.                 <samplerate>8000</samplerate>
  34.                 <channels>1</channels>
  35.             </encode>
  36.             <downmix>0</downmix>
  37.         </instance>
  38.     </stream>
  39. </ices>
  40.  

Ya tenemos todo lo necesario, en lo que al streaming se refiere, solo queda un poco de dialplan:


[streaming]
exten => hablar,1,MeetMe(1234,qtr)
exten => escuchar,1,MeetMe(1234,ql)
exten => stream,1,ICES(stream.xml)

y un par de callfiles para automatizar el proceso:

Callfile1:

Channel: CONSOLE/dsp
Context: streaming
Extension: hablar
Priority: 1

Callfile2:

Channel: Local/escuchar@streaming
Context: streaming
Extension: stream
Priority: 1

Pues esto es todo! Con copiar los callfiles a /var/spool/asterisk/outgoing ya tenemos un sistema de streaming rápido y hecho 100% con Software Libre. Enjoy it!

Reflexiones a la vuelta del SIMO

Jueves, Noviembre 15th, 2007

Esta ha sido nuestra primera edición en el SIMO como expositores, por lo que ahora que (casi) todo ha vuelto a la normalidad, toca reflexionar.

00027.jpg

Si miramos el SIMO en general, muchos dicen que el SIMO está de capa caída desde hace algunos años, y creo que no les falta razón, ya que cada vez se ve menos innovación… solo se ven móviles y televisores… No obstante, en nuestro campo, el de la VoIP, creo que va mejorando cada año y que concretamente éste, ha marcado un punto y aparte.

En lo que al público se refiere, hemos comprobado que ha sido bastante variado, pero la gran mayoría ya sabía “algo”, aunque fuera solo lo que querían. Si excluimos el sábado, que no acude público profesional, la afluencia de gente ha sido bastante regular y estamos muy satisfechos con las visitas recibidas.

Hablando del Día de la Comunidad, lo único que podemos decir es que fue excelente. Fue un placer poder conocer tanta gente de la comunidad, así como la posterior cena por cortesía de Avanzada7. Esto unido a las charlas diarias, ha dado una relevancia aún mayor a la comunidad de Asterisk y la VoIP en el panorama nacional.

Por último, comentar que la logística del evento fue exquisita por parte de Avanzada7, así como el trato recibido. Enhorabuena chicos! Nos vemos el año que viene!

Integración de softphone y agenda de contactos

Viernes, Diciembre 1st, 2006

integration.jpg

En ocasiones puede ser interesante el uso de softphones en lugar de teléfonos de sobremesa, por ejemplo cuando se requiere manejar un ordenador mientras mantenemos una conversación telefónica.

Dentro de este escenario, en el que la telefonía radica en un programa de software, sería interesante ganar en agilidad aprovechando la integración de nuestro softphone con nuestra aplicación de agenda de contactos.

Objetivo

Buscar soluciones para realizar llamadas telefónicas desde nuestra agenda de contactos, sin la necesidad de tener que marcar el número de teléfono manualmente en el softphone.

Algunos softphones incluyen una pequeña agenda de contactos, pero sólo tienen validez para el propio softphone. Entendemos en este artículo que el usuario prefiere tener su agenda centralizada en una aplicación independiente y más completa (correo, agenda, notas, tareas, calendario, etc).

Por cuestiones ideológicas haremos hincapié sólo en soluciones de software libre, entendiendo que son además las que mejor permiten ser adaptadas a nuestras necesidades y las que mayor flexibilidad ofrecen.

(more…)

Nokia se decanta por SIP

Domingo, Octubre 1st, 2006

Nokia N80i Internet Edition - SIP

A menudo resulta que una pequeña gota es la responsable de que la balanza se incline de uno u otro lado. Ya pasó hace tiempo con los formatos de vídeo analógico Betamax y VHS, está pasando con los formatos de tarjetas de memoria flash y pasará con el soporte para la alta definición digital Blue-ray vs HD-DVD.

El mundo de la telefonía IP no iba a ser menos y desde hace tiempo existe una dura batalla por la supervivencia y egemonía en el mercado de la tarificación por minutos IP, un mercado incipiente que ya maneja una cifra de negocio de millones de dolares a nivel mundial. Aunque no es descabellado vaticinar que en un futuro no muy lejano la telefonía tradicional dejará de existir tal y como la conocemos hoy en día, dando paso a otros sistemas telefónicos mucho más económicos y dimensionables como la voz sobre Internet, la migración será paulatina y coexistirán durante años ambos sistemas.

En esta batalla el mercado ha seleccionado dos protocolos de señalización como aspirantes al trono: SIP y Skype. El uno es un estandar abierto de la IETF y el otro en un protocolo cerrado de una las empresas que mejor definen lo que se conoce como Burbuja Internet. Los fabricantes de terminales de telefonía, bien sean de VOIP o duales móviles (GSM-WIFI+VOIP), están jugando sus cartas y apostando por uno u otro intentando ser partícipes de esa batalla.

Nokia, la empresa fabricante de moviles más importante a nivel mundial y, sin duda, una de las piezas claves en esta balanza, se ha decantado por el estandar SIP. Sus nuevos teléfonos N80i (Internet Edition) vienen provistos de un cliente de voz IP (a través de la interfaz WI-FI que dispone) que permite configurar una cuenta SIP que dispongamos con alguno de los múltiples proveedores que ofrecen este servicio. Esta decisión estratégica de Nokia, no solo nos permite cambiar de operador de telefonía IP, acceder a un mercado de libre competencia y posibilita un mayor desarrollo de economías locales, sino que refuerza la importancia del uso e implementación de estándares abiertos y libres.

2005 © Irontec S.L. :: Powered by Irontec & Wordpress
[ IRONTEC S.L. - C.I.F. B-95274890 ]
[ Ctra. Basurto-Kastrexana nº70 / Enpresaldea ]
[ 48002 - Bilbao - Bizkaia ]