asterisk

Todas las entradas etiquetadas como asterisk

Asterisk Backticks

Publicado julio 29, 2008 por orakernel

Buenos días por la mañana. Ayer me encontre con una aplicación muy útil que todos nos creemos que Asterisk la trae “de serie” pero no es asi. Se trata de ejecutar un script y guardar el resultado en una variable para ser usada en el dialplan. Recordemos que tenemos la aplicacion system, para ejecutar comandos/scripts en el servidor, pero a veces se nos queda corta. Veamos como se utiliza el Backticks.

Lee el resto de la entrada →

Anuncios

Estresando la Fonera con Asterisk

Publicado mayo 20, 2008 por orakernel

¿Y pa que quiero yo meter Asterisk en la Fonera? Seguramente para nada, pero hoy veremos cuantas llamadas simultaneas puede manejar una Fonera. Recordemos que la Fonera tiene un hardware superchungo con un micro con asquitectura MIPS a 200MHz ¡¡SE ADMITEN APUESTAS!!

Lee el resto de la entrada →

Juankeando la Fonera

Publicado mayo 15, 2008 por orakernel

omo muchos sabreis, existe una cosa llamada “comunidad fon” que consiste basicamente en “comparte tu ADSL y conectate al ADSL de los demás” una gran comunidad Wifi. Para pertener a ella te hace falta La Fonera. Hoy veremos como hackear la Fonera, para usarla libremente, instalarle un interfaz web de administracion, aircrack y Asterisk 1.4 Lee el resto de la entrada →

Recibir un fax desde Asterisk … sin tener un fax

Publicado noviembre 29, 2007 por orakernel

Hoy veremos como recibir un fax en nuestro correo electrónico, sin tener un fax físico y usando nuestro querido Asterisk. Hay otras webs que explican como hacerlo, pero estas instrucciones son para los muy “cortitos” 😉 Usaremos un par de herramientas nuevas y todas en software libre.

Primero instalamos los siguientes paquetes:
aptitude install Hylafax IAXModem postfix

Editamos /etc/asterisk/iax.conf y configuramos la extension IAX que recibirá los faxes:
[300]
username=300
type=friend
secret=300
qualify=yes
notransfer=yes
host=dynamic
context=from-internal
callerid=”Fax” <300>
disallow=all
allow=slinear

En /etc/asterisk/zapata.conf descomentamos la línea:

faxdetect=incoming

Metemos la siguiente entrada en el dialplan /etc/asterisk/extensions.conf:

exten => 300,1,Answer()
exten => 300,n,Dial(IAX2/300)

Cremos el archivo /etc/iaxmodem/ttyIAX y lo configuramos con:

device /dev/ttyIAX
port 45699
refresh 300
server localhost
peername 300
secret 300
cidname Fax
cidnumber 300
codec slinear

Probamos que se conecta con:

iaxmodem ttyIAX

y en la consola de asterisk:
CLI> iax2 show peers

Si todo chuta lo añadimos en /etc/inittab para que el modem este disponible todo el tiempo:
iax:2345:respawn:/usr/bin/iaxmodem ttyIAX &> /var/log/asterisk/iaxmodem-ttyIAX

Y ejecutamos:
init q

Copiamos:

cp /usr/share/doc/iaxmodem/examples/config.ttyIAX /var/spool/hylafax/etc

Editamos /var/spool/hylafax/etc/config.ttyIAX :
ountryCode: 593
AreaCode: 5
FAXNumber: +593-5-262-2621
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules
ServerTracing: 0xFFF
SessionTracing: 0xFFF
RecvFileMode: 0664
LogFileMode: 0664
DeviceMode: 0666
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: “-h %l dx_%s”
LocalIdentifier: “MI EMPRESA”
TagLineFont: etc/lutRS18.pcf
TagLineFormat: “De %%l|%c|Pag %%P de %%T”
MaxRecvPages: 150

Nuevamente para que se ejecute al inicio, en /etc/inittab :
fax:2345:respawn:/usr/sbin/faxgetty ttyIAX

Y otra ves:

init q

Añadimos en /var/spool/hylafax/etc/FaxDispatch :

SENDTO=FaxMaster;
FILETYPE=pdf;
case “$DEVICE” in
ttyIAX) SENDTO=usuario@midominio.com;;
esac

Para evitar problemas:

touch /etc/hylafax/*

y reiniciamos:

/etc/init.d/hylafax restart

Y ya está, cuando la extension 300 reciba un fax, este llegará a la cuenta de correo que hemos configurado en /var/spool/hylafax/etc/FaxDispatch

En el próximo documento explicaré como enviar un fax … sin tener un fax.

Puto Psicopata

Trunks en Asterisk (SIP e IAX2)

Publicado noviembre 20, 2007 por orakernel

Y para qué quiero yo un Asterisk en mi casa? Puede haber miles de respuestas posibles. Hay quien usa su Asterisk y cacharritos X11 para domotizar su casa, pero el caso que nos ocupa es más simple “quiero llamar lo más barato posible”.

Imaginemos el siguiente caso:

1- Hemos conocido a una chavala en un chat, que resulta ser de EEUU y como allí son muy modernos, usa un proveedor SIP. Las llamadas dentro de ese proveedor SIP son gratuitas además de las llamadas locales, supongamos Utah.

2- Tenemos a un colega que esta de Erasmus y tiene una extension IAX2.

3- En el curro somos muy modernos y tenemos cada uno una extension SIP. Suponemos además que los administradores de red son coleguitas y no nos ponen muchos problemas.

4- Quiero llamar a mis familiares y amigos por la red convencional (PSTN) y ya tengo perfectamente configurada mi tarjeta FXS/FXO.

Lo que resumidamente he tratado de plasmar en el siguiente esquema:

trunking-1.png

Lo primero será registrarnos en el proveedor de VoIP SIP de Utah y en el IAX2 del colega de Erasmus. Configuramos primero el trunk SIP:

Editamos /etc/asterisk/sip.conf

[sip.utah]
type=friend
context=outgoing
disallow=all
allow=alaw
dtmfmode=rfc2833
host=sip.utah.com ; aqui el servidor de Utah
insecure=very
username=12345 ; la extension/usuario que nos han dado
secret=12345 ; la clave
canreinvite=no

“Entiendo” que las extensiones del servidor de Utah son de 5 cifras y las de la PSTN de Utah son de 9 cifras comenzando por 556, asi que en /etc/asterisk/extension.conf

[outgoing]

exten => _XXXXX,1,Dial(SIP/sip.utah/${EXTEN})
exten => _556XXXXXX,1,Dial(SIP/sip.utah/${EXTEN})

Asi de facil. Ahora vamos a /etc/asterisk/iax.conf

[iax.trunk]
host => iax.proxy.com ; el proxy IAX
type=friend
context=outgoing
user=123456 ; extension/usuario IAX
secret=123456 ; clave
host=dynamic
auth=plaintext

“Entiendo” que las extensiones son de 6 cifras, asi que en /etc/asterisk/extensions.conf

[outgoing]

exten => _XXXXXX,1,Dial(IAX2/iax.trunk/${EXTEN})

No puede ser mas fácil. “Entiendo” que la extension del curro es SIP de 4 cifras y queremos llamar a extensiones internas y a clientes, jefes, responsables de área, responsables de ejecución, jefe de departamentos, responsables coordinadores de departamentos, coordinador de departamento, responsables de documentacion de coordinadores de departamentos o cualquier otro que tenga teléfono de empresa. La configuración de /etc/asterisk/sip.conf será similar a la anterior y en /etc/asterisk/extension.conf

[outgoing]

exten => _XXXX,1,Dial(SIP/curro.trunk/${EXTEN})
exten => _0XXXXXXXXX,1,Dial(SIP/curro.trunk/${EXTEN:1})

Ahora configuramos nuestra salida analógica. En /etc/asterisk/extension.conf

[outgoing]

exten => _.,1,Dial(ZAP/g1/${EXTEN})

Y ya está. Asi que para llamar a:

  1. La amiguita de Utah: marcamos su extensión (5 cifras)
  2. El colega de Erasmus: marcamos su extensión (6 cifras)
  3. Al responsable de área: marmamos su extensión (4 cifras)
  4. Al tito Juan (llamada local): marmamos su número (9 cifras)
  5. Al móvil de “la otra amiguita”: marcamos su número (9 cifras)
  6. Al móvil de empresa de un responsable de ejecución: 0 + su número.
  7. A la iglesia mormona de Utah para preguntar si nos podemos casar con “amiguita”: 556 …

Fácil, fácil, fácil. Se podría complicar un poco la cosa, si el número de cifras coincide en alguno de los casos, pero lo solucionamos rápidamente poniendo un prefijo, como en el caso 6

La gracia del tema es que, normalmente los proveedores de telefonía IP dejan que las llamadas locales y a las extensiones de ese proveedor, sean gratuitas. En España esto no esta muy extendido, pero si en el resto del mundo civilizado. Con un poco de paciencia podriamos darnos de alta en proveedores de VoIP a cascoporro y así llamar gratis a casi todas partes del mundo.

Puto Psicópata

Instalación de Asterisk con interfaz web

Publicado octubre 5, 2007 por orakernel

Muy buenos días,

me estreno en el blog publicando un “how to” de lo más sencillito para la instalación de la última version de Asterisk y el interfaz web de Digium, para que os monteis vuestro propio servidor en casita. Si quereis integrarlo con vuestra linea telefónica, necesitareis una tarjeta o un adaptador FXS.

“Entendemos” (jejeje) que ya tenemos instalado el sistema base (debian) en nuestro equipo. Si disponemos de una tarjeta PC-FXS es el momento de pincharla.

Empezamos instalando algunos paquetes necesarios:

aptitude install vim less ssh bison zlibc flex libncurses5-dev zlib1g-dev libssl-dev libnewt-dev libiksemel1-dev make gcc g++ libstdc++6 subversion

y por supuesto las fuentes de nuestro kernel, que las buscaremos con:

aptitude search `uname -r` | grep headers

Si tenemos una tarjeta pinchada nos aseguramos de que el sistema la reconoce, usando:

lspci (del paquete pciutils)

Empezamos descargando las fuentes necesarias:

mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget
http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

Descomprimimos e instalamos cada paquete:

tar -xvzf libpri-1.4.1.tar.gz
cd libpri-1.4.1
make
make install
cd ..
tar -xvzf
zaptel-1.4.5.1.tar.gz
cd zaptel-1.4.5.1

  • editamos zconfig.h y buscamos la linea:
    #define DEFAULT_TONE_ZONE 0
    la cambiamos a (porque estamo en España):
    #define DEFAULT_TONE_ZONE 6

make
make
make isntall
make config
cd ..
tar -xvzf asterisk-1.4.12.tar.gz
cd asterisk-1.4.12
./configure
make
make install
make samples
make config
cd ..
tar -xvzf asterisk-addons-1.4.3.tar.gz
cd asterisk-addons-1.4.3.tar.gz
make
make
make install
make samples

Con esto ya tenemos el asterisk instalado y configurado para que se arranque con el sistema. Ahora instalamos el interfaz web:

Modificamos los siguientes parametros:

  1. /etc/asterisk/http.conf
    enabled = yes
    enabledstatic = yes
    bindaddr = 0.0.0.0
  2. /etc/asterisk/manager.conf
    enabled = yes
    webenabled = yes
    [admin]
    secret = mypass
    read = system,call,log,verbose,command,agent,config
    write = system,call,log,verbose,command,agent,config

svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
cd asterisk-gui
./configure
make
make install
make samples

Comprobamos con:
make checkconfig

Si todo esta OK! ejecutamos asterisk:

/etc/init.d/asterisk start

Y ya esta!! Así de facil. Ahora abrimos un navegador y vamos a:

http://ip_del_servidor:8088/asterisk/static/config/setup/install.html

La clave que pide es la que metemos en el /etc/asterisk/manager.conf

En proximas actualizaciones, veremos como se integra con un TTS (tetx to speech), configurar extensiones chungas y más cosas chungas chungas.

Puto Psicopata