Skip to main content.

5 Mayo 2008

Mark Spencer dará una conferencia en el Museo Guggenheim de Bilbao!!

Me alegra mucho poder comentar esto: Mark Spencer (creador de Asterisk y fundador de Digium) visitará Bilbao (capital del mundo xD) para dar una conferencia sobre Asterisk y el mundo de la telefonía IP.

Siendo el creador de Asterisk, no podéis perderos este evento, siendo el acceso además, gratuito. Podéis inscribiros en la web de Enpresa Digitala para asistir.

Creo que voy a empezar desde ya a preparar el alubión de preguntas que le van a caer al pobre Mark :) digium-mark-spencer2.jpg

Espero ver por allí a toda esa gente de Asterisk-ES, ya que esperamos que sea un día ‘mágico’ para la VozIP.

Nos vemos el 2 de Junio!!

Noticia oficial

Posteado por saghul como General a las 10:57 PM CEST

Sin comentarios »

29 Abril 2008

Habemus nuevo dCAP!!

Acabamos de recibir la noticia de que nuestro compañero Jon Bonilla aka Manwe (el severo de la lista Asterisk-ES) ha aprobado la parte teórica y es oficialmente un Digium Certified Asterisk Professional.dcap_logotype1.gif

Estamos muy contentos de que Jon lo haya conseguido, sobre todo porque ha sido a la primera y sin ir al BootCamp! Mientras yo me lo pasaba bien allí, él apagaba los fuegos que iban surgiendo y estudiaba (duro? xD) para el examen.

Enhorabuena Jon!!

Posteado por saghul como General a las 6:16 PM CEST

9 comentarios »

26 Abril 2008

Día a día en el Asterisk BootCamp Bilbao (5)

Hoy escribo este post-resumen con profunda tristeza, ya que ayer, desafortunadamente, terminó el BootCamp.

El día comenzó bien, ya que como conseguimos terminar el temario a tiempo (!!!) les ofrecimos a los alumnos un pequeño extra: una charla sobre Seguridad en VoIP, que al parecer les gustó bastante :)

Posteriormente todos se prepararon para “la guerra” he incluso hubo quién se trajo “su fusil” :) Los exámenes se realizaron en 2 turnos, y al terminar el sentir de la gente era más o menos el mismo: que el examen no era exageradamente difícil, pero no hay tiempo de pensar, solo se puede actuar, ya que en Burundi, si no te pilla la guerrilla :) Así que dentro de poco los que aprueben ambas partes recibirán la placa que otorga la certificación oficial de Asterisk, para unirse al club :)

2442864852_2c748fc684.jpgSi tuviera que hacer una valoración sobre lo que he vivo esta semana, no encontraría palabras, ya que ha sido increíble para mí: ninguno de los días he dormido más de 4 horas, pero la energía y las ganas de transmitir conocimiento a los asistentes no flaquearon ni un segundo.

Solo hace 2 años que yo estaba en el otro lado, y durante una semana he podido compartir aula y alumnos con Sergio Serrano, así que desde aquí solo me queda dar las gracias a los que han confiado en mí para este BootCamp, y esperar que se vuelva a repetir. :)
A los asistentes dcirles que me ha encantado compartir con ellos esta semana, y que han sido un gran grupo, ya que eran muy participativos y tenían muchas ganas de aprender. Sergio y yo tratamos de darles todo lo posible con algún extra (Asterisk Night Bootcamp y la charla sobre Seguridad) y viendo las valoraciones recibidas estamos más que contentos.

Nos vemos en la red!!!

PD: Así es como quedó el aula tras desmontar todo el asunto :( Tenéis todas las fotos en Flickr.

init 0;

Posteado por saghul como General a las 12:04 PM CEST

Sin comentarios »

25 Abril 2008

Día a día en el Asterisk BootCamp Bilbao (4)

Último día antes del examen. Ya hay bastantes nervios en el ambiente y algunos conceptos empiezan a mezclarse. Por ello el día de ayer no tuvo demasiada carga laectiva, era más bien un día para reflexionar los conceptos adquiridos, y practicar un poco más.2439132018_8a185f2e9c.jpg

Los alumnos estuvieron gran parte de la tarde poniendo en práctica entre ellos lo que en clase habíamos hecho contra el servidor, para así poder ver los 2 lados y entenderlo mejor.

Ayer pasamos por encima de algunos conceptos como AGI, AMI y ARA,y realizamos algún ejemplo alternativo al oficial, con algún AGI en PHP y Python ;) además de hacer un repaso general, para que no se olvide nada.

Hoy es el gran día, donde todos los esfuerzos realizados durante la semana pueden verse recompensados, aunque no hay que desanimarse si así no ocurre, ya que los conocimientos adquiridos no desaparecen.

Para hoy tenemos 21 “aspirantes”, así que desde aquí os deseo mucha suerte para el examen y que vengáis con los nervios templados :)

Para finalizar, sacamos varias fotos de todo el grupo, para tener de recuerdo :)

Posteado por saghul como General a las 9:17 AM CEST

Sin comentarios »

24 Abril 2008

Día a día en el Asterisk BootCamp Bilbao (3)

2436706927_77a290aefc.jpgHoy los alumnos han aparecido más adormilados que los anteriores días. Normal, ayer fue el día más duro de los 3, y la información comienza a amontonarse en sus cabezas :)

Además, ayer tuvo una gran aceptación el “Asterisk Night BootCamp”, al que asistieron casi todos los alumnos.

Estuvimos hablando de terminales, dispositivos, hubo quién se montó Asterisk 1.6 para probar chan_mobile, y mucho SIP e IAX trunking, vamos de todo. La idea era precisamente reafirmar lo visto en clase y probar cosas nuevas y sobre todo frikear un rato en plan hackers de la noche. ;) 2437529962_363925e843.jpg

Hasta ahora hemos ido muy bien de tiempo, y esperamos terminar hoy (día 4) para poder tener otro “bonus” el viernes por la mañana.

Ya queda menos para el día D, el día del dCAp! :)

PD: Surgirá algo para esta noche? xD

Posteado por saghul como General a las 10:21 AM CEST

3 comentarios »

23 Abril 2008

Día a día en el Asterisk BootCamp Bilbao (2)

Ayer, día 2 del BootCamp, y ya empezaron a cambiar las cosas :) La gente salió con cerebro bastante destrozado ya que fué bastante más duro.1782.jpg

Haciendo gala de la segunda transparencia del libro del BootCamp, en la que se ve una escena de “Full Metal Jacket”, ayer tocó muchísimo dialplan, y los conceptos empiezan a amontonarse.

Por lo que a mi respecta, cada día me parezco más a un oso panda (por aquello de las ojeras xDD) pero todo se ve recompensado al ver que los alumnos aprenden.

Como es imposible que en un BootCamp se vean absolutamente TODOS los conceptos relacionados con Asterisk se nos ha ocurrido organizar una “Asterisk Night Party” para hoy miércoles por la noche :) Con esto pretendemos alejarnos durante un rato del temario, ponernos en modo “promisc up” y hackear un rato ;)

p230408_1349.JPG

Posteado por saghul como General a las 2:14 PM CEST

Sin comentarios »

22 Abril 2008

Día a día en el Asterisk BootCamp Bilbao (1)

Este es el primer2432986051_6a27e161a6.jpg post de una serie de ellos que escribiré esta semana sobre las impresiones del BootCamp que estamos llevando a cabo, en los que haré un seguimiento diario del evento.

Ayer fué el primer día y no se quién estaba más nervioso, si los alumnos o yo :) No hace tanto (2 años) que yo estaba al otro lado, mirando al maestro Olle E. Johanson, y ahora me tocaba a mí darlo todo!

Hay gente muy variada, con más o menos conocimientos de Asterisk y GNU/Linux, pero todos van a recibir lo suyo. Toca sufrir. Ayer como era el primer día, es más flojo, pero a partir de hoy toca poner el turbo, para que aprendan lo máximo posible.

Al final del día estaba destrozado, pero la adrenalina corria por mis venas, ya que fué un día muy especial para mí.2432987167_1c3f3924df.jpg

Espero que al finalizar la semana se les haya hecho trizas el cerebro y me odien un poco, pero que al menos hayan aprendido mucho y sean futuros hackers de Asterisk :)

“Welcome to hell!”

PD: Podéis ver las fotos que vamos sacando en el BootCamp aquí.

Posteado por saghul como General a las 12:36 PM CEST

4 comentarios »

15 Abril 2008

Todo listo para el Asterisk BootCamp Bilbao 2008

Como ya se ha comentado en la web oficial de Irontec de la que SinoLogic, VoipNovatos y saghul.net se hacían “echo”, ya tenemos todo listo para dcap_logotype.gifel Asterisk BootCamp que comienza el próximo lunes. La verdad es que han sido semanas de duros preparativos y estamos esperando con nervios que se de el pistoletazo de salida.

Llevamos meses haciendo cábalas de cómo va a ser la semana y cuánto vamos a trabajar con nuestras tecnologías favoritas. De momento además de las cosas obvias como las aulas, ordenadores, material para el curso… etc, tenemos preparadas varias sorpresas relacionadas con el mundo de la telefonía IP en general y Asterisk en particular. De momento os podemos adelantar que los “meetme” de las comidas se servirán en “chan_hotel_nervion”.


exten => s,1,Playback(os-esperamos)
exten => s,n,Hangup

Posteado por saghul como General a las 8:32 PM CEST

Sin comentarios »

Jugando con la extensión ‘h’

Aparte de las extensiones que podemos declarar en el extensions.conf, Asterisk dispone de unas cuantas ‘de serie’, entre las que destacan:

  • s - start
  • i - invalid
  • t - timeout
  • h - hangup

469185188_0417e87373.jpgLas 3 primeras son mayormente utilizadas en IVRs, mientras que la última (hangup) es bastante utilizada en temas de billing.

Hoy he estado jugando un rato con la extensión h, así que voy a comentar un poco su uso, ya que en ocasiones puede resultar confuso:

¿Por qué queremos utilizar la extensión h?

Porque se ejecuta justo al finalizar la llamada, por lo que si queremos llevar a cabo algún proceso en ese momento, como tarificar una llamada, por ejemplo, la extensión ‘h’ es nuestra aliada.

Lo primero que necesitamos saber antes de comenzar a utilizarla, es que la extensión ‘h’ se ejecuta en el contexto desde el que hemos realizado la llamada. Veámoslo con un ejemplo:


[desde-pruebas]
include => prueba1
include => prueba2
[prueba1]
exten => 1234,1,Playback(tt-monkeys)
exten => h,1,Noop(Extension h — PRUEBA1)
[prueba2]
exten => 5678,1,Playback(demo-congrats)
exten => h,1,Noop(Extension h — PRUEBA2)

Ahora, si definimos nuestro usuario SIP (por ejemplo) en el contexto desde-pruebas, ¿qué ocurrirá al colgar si llamamos al 1234? ¿y al 5678?

En ambos casos se mostrará “Extension h — PRUEBA1″ porque lo que Asterisk busca es la extensión ‘h’ del contexto desde-pruebas, que es donde se ha originado la llamada, y como el primer include es el de prueba1, prevalecerá esa.

Otra cosa que nos puede suceder es que si realizamos algún tratamiento en la extensión ‘h’, después, en el CDR, nos aparezca ‘h’ como campo dst, en lugar del destino.

Para solucionar esto podemos usar la aplicación ResetCDR de la siguiente manera:


[desde-pruebas]
include => prueba1
include => prueba2
exten => h,1,ResetCDR(w)
exten => h.n.Noop(Estoy en el colgado)

El parámetro w pasado a la aplicación ResetCDR hará que el CDR sea grabado justo en ese instante, por lo que el campo dst quedará intacto :)

PEERO! Ahora es probable que tengamos 2 registros en el CDR por cada llamada: uno con el dst bien y otro con la ‘h’ que comentábamos antes. Para solucionarlo podemos usar la aplicación NoCDR, que anula la creación del CDR, de la siguiente manera:


[desde-pruebas]
include => prueba1
include => prueba2
exten => h,1,ResetCDR(w)
exten => h,n,NoCDR()
exten => h.n.Noop(Estoy en el colgado)

Así, lo que ocurrirá será que se grabará el CDR, y justo a continuación se dejará de crear, por lo que tendremos un único registro, y con el dst correcto :)

Happy Asterisk hacking!

Posteado por saghul como General a las 3:40 PM CEST

Sin comentarios »

6 Marzo 2008

Sistema de streaming con Asterisk y Icecast2

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!

Posteado por saghul como Asterisk, General a las 8:33 PM CET

1 comentario »

« Entradas Anteriores  
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 ]