viernes, 30 de octubre de 2009

Asterisk Manuales en Espanol

Hola gente bueno en este post dejo una info que postíe en taringa.net hace un tiempo, son manuales  de Asterisk en español asi que aqui les mando un link de una carpeta que hice en 4shared.com, el link:


http://asteriskespanol.4shared.com


El pass de acceso es: asterisktaringa




Exitos a todos con su inmersión en el mundo de las Voz Ip y Asterisk



"Aquello que estés dispuesto a dejar atras marcará cuan lejos llegarás en la Vida"

jueves, 29 de octubre de 2009

Cisco CNNA Exploration en español completo

Bueno aqui cuelgo un link donde colgué los 4 modulos del CNNA exploration, todos subidos por mí, no tienen virus, son los que tengo instalados en mi PC. Espero que les sirva a todos. El password de la carpeta es: voipsystemscrcnna

ACCEDER


ViopSys_logo01

miércoles, 28 de octubre de 2009

Agregar Soporte H.323 a Asterisk

Este tuto esta probado con las versiones 1.4.23.1 y 1.4.26.2 de Asterisk espero que les sirva:
Instalar PWLIB:

cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/openh323/pwlib-v1_10_3-src-tar.gz
tar zxvf pwlib-v1_10_3-src-tar.gz
cd pwlib_v1_10_3/
./configure
make
make install
make opt
PWLIBDIR=/usr/src/pwlib_v1_10_3
export PWLIBDIR

Instalar OPENH323:

cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/openh323/openh323-v1_18_0-src-tar.gz
tar zxvf openh323-v1_18_0-src-tar.gz
cd openh323_v1_18_0/
./configure
make
make opt
make install
OPENH323DIR=/usr/src/openh323_v1_18_0/
export OPENH323DIR

Instalar chan_h323.so :

cd /usr/src/asterisk
./configure
cd /usr/src/asterisk/channels/h323/
make
make opt
cd /usr/src/asterisk
./configure
make
make install

Ejecutamos:

echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig

Asterisk Manuales en Español

Buenos días a todos aquí les dejo unos manuales que había subido a la red sobre Asterisk están 100% en Español.

El pass de acceso es: asterisktaringa

Éxitos a todos con su inmersión en el mundo de las Voz Ip y Asterisk

VOIP2DAY Presentaciones 2008

Hola aquí les dejo mi cuarto Post, acerca de lo que es Voz Ip y Asterisk
Les traigo todas las filminas del ultimo Astrico, Astricon 2008, el evento de usuarios de Asterisk celebrado en los EEUU. AstriCon es el evento oficial de la comunidad Asterisk y ofrece una amplia variedad de contenidos relacionados con esta plataforma de telefonía IP Open Source. El encuentro se dirige tanto a desarrolladores, usuarios finales como a distribuidores.
Además les traigo un libro del año pasado acerca de [url=http://es.wikipedia.org/wiki/IAX2]IAX[/url], IAX (Inter-Asterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk, un servidor PBX (central telefónica) de código abierto patrocinado por Digium. Es utilizado para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que también utilizan protocolo IAX. Esta muy muy interesante.

Tanto las filminas como el libro de IAX estan en pdf en un folder que cree la URL es:
http://www.4shared.com/dir/16246487/e39bca55/Astricon2008.htm

La contraseña del folder es: voipsystemscr

En unos dias colgare las conferencias del 2009

martes, 27 de octubre de 2009

Implantación de passwords para realizar llamadas externas

Bueno un día de estos me tocó que un cliente me pidió implementar passwords para todos los usuario para realizar llamadas externas a números celulares, convencionales e internacionales, esto facilmente lo podemos lograr usando la aplicación VMAuthenticate(). Pero además el cliente quería que se guardaran los registros para hacer un costeo de llamadas, la idea es si la persona usa otro telefono o extensión que el * le pida un usuario y password que solo la persona sabe, con esto hay que alterar el callerid o editar el CDR(), aqui pongo los pasos que use, esto puede variar, se podria usar nada mas el usuario ingresado y sustituir la variable callerid(all) por "usuario <usuario>" (en este caso son iguales a extensiones), pero para poder usar el nombre del peer vamos a usar la base de datos de asterisk, en internet hay ejemplos usando mysql pero mejor no forzar más el procesador. Bueno a los hechos:

voicemail.conf

[contexto a usar]

1323 => 45754,Juan Perez

...

...

...

extensions.conf

exten => _8.,1,Playback(digiteusuario)

exten => _8.,2,Read(user,,6,2,10) ; aqui la función read, asigna el valor digitado a la variable user,el maximo de la palabra debe ser de 6 letras, se puede equivocar dos veces, y tendrá 10 segs de tiempo para digitarlo
exten => _8.,n,VMAuthenticate(${user}@default)  ; aqui pide el password
exten => _8.,n,Set(NAME=${DB(${user}/name)}  ; sacamos el callerid, esto se mostrará luego
exten => _8.,n,Set(CALLERID(all)=${NAME} <${user}>)
exten => _8.,n,NoOp(${CALLERID(all)})
exten => _8.,n,ChanIsAvail(Dahdi/2&Dahdi/6&Dahdi/7&Dahdi/8,j)   ; verifico que los canales esten libres
exten => _8.,n,Dial(${AVAILORIGCHAN}/${EXTEN:${TRUNKMSD}},60,wWTt)
exten => _8.,n,Busy(3)
exten => _8.,102,Playback(lineasocupadas)

===============================================================================



Ahora mi idea que se me ocurrió fue sacar todos los callerids del sip.conf y del chan_dahdi.conf y guardalos en la BD de asterisk para utilizarlo cada vez que lo ocupe:

Para tomar los CallerIds

Explicación: realizamos un grep a los archivos, con sed eliminamos callerid=,<,> y el " y lo guardamos en callerids.txt
grep callerid sip.conf | sed "s/callerid=//g" | sed -e 's/<//g' | sed -e 's/>//g' | sed -e 's/"//g' >> callerids.txt
grep callerid chan_dahdi.conf | sed "s/callerid=//g" | sed -e 's/<//g' | sed -e 's/>//g' | sed -e 's/"//g' >> callerids.txt

Ahora editamos el archivo callerids.txt para eliminar las pocas lineas que no ocupo

Luego creamos el script para insertarlo en la bd, en este caso use la conexión AMI(Asterisk Manager Interface) vía BASH:

vim crearDBNames
#!/bin/sh

echo "#!/bin/sh" > addAsterisk_name.sh
echo "#" >> addAsterisk_name.sh
echo "echo \"open localhost 5038\"" >> addAsterisk_name.sh
echo "sleep 1" >> addAsterisk_name.sh
echo "echo \"Action: Login\"" >> addAsterisk_name.sh

#El usuario y password son los que ponemos en manager.conf

echo "echo \"UserName: usuario\"" >> addAsterisk_name.sh
echo "echo \"Secret: password\"" >> addAsterisk_name.sh
echo "echo" >> addAsterisk_name.sh

#creamos un bucle while que lee cada línea del archivo callerids.txt
while read calleridname
do
usuario=`echo $calleridname |awk '{print $1}'`
echo "echo \"Action: DBPut\"" >> addAsterisk_name.sh
echo "echo \"Family: $usuario\"" >> addAsterisk_name.sh
echo "echo \"Key: name\"" >> addAsterisk_name.sh
echo "echo \"Val: $calleridname\"" >> addAsterisk_name.sh
echo "echo" >> addAsterisk_name.sh
done < callerids.txt
#Le damos permisos de ejecución al script
chmod +x addAsterisk_name.sh
./addAsterisk_name.sh |telnet

#FIN ARCHIVO

Luego chmod +x crearDBNames

./crearDBNames


NOTA: No debemos dejar espacios en blanco, al terminar un DBPut y empezar otro se separa por un "echo"

Espero que les sirva, hasta la próxima

Intalar Cancelador de Eco HPEC (DIGIUM) desde 0

Hola como un di a de estos me tocó instalar HPEC aquí posteo todos los pasos que hice, cabe recalcar que tuve que pasar de usar zaptel a dahdi pues funciona mejor y ya en dahdi existe la opción de definir que cancelador usar para cada canal, lo que si hay que tener cuidado es que dahdi no le cambie el orden de las tarjetas, en mi caso tenía una tarjeta t1 (puerto 1-24) y una tarjeta TDM2400P(puerto25-48) al instalar dahdi me cambio el orden de las tarjetas imaginense la editada de todos los peers que usaban   linea analógica jiji xD. Bueno a lo que vinimos

Instalación de HPEC


Procedimiento de descarga

1. Descargamos y desempaquetamos la versión de dahdi complete:

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz

tar -zxvf dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz

cd dahdi-linux-complete-2.2.0.2+2.2.0

make

make install

make config

2. Descargar el HPEC.

Nos posicionamos en el directorio del cancelador, ya viene integrado con dahdi

cd /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/hpec/

wget http://downloads.digium.com/pub/telephony/hpec/32-bit/hpec-0.04.001-i386.tar.gz

tar -zxvf hpec-0.04.001-i386.tar.gz

LICENSE
hpec_x86_32.o_shipped

3. Baja el ejecutable para activar el cancelador

cd /root
wget -v http://downloads.digium.com/pub/telephony/hpec/32-bit/dahdihpec_enable
chmod +x dahdihpec_enable
mv -f /root/dahdihpec_enable /usr/sbin/
4. Descargar el archivo de registro para las licencias

cd /root
wget -v http://downloads.digium.com/pub/register/x86-32/register
chmod +x register

5.Procedimiento de Instalacion

cd /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux
make
make install

Nota: si es la primera vez que se va a instalar el dahdi leer el README para instalar primero el DAHDI

7)  Registrar las licencias

cd /root
./register

Nos aparecerá un mensaje como este:

During the registration process, please select "Digium" as the product
vendor, and "High Performance Echo Canceller" as the product type. When
prompted, please enter your key as in the following example:

Key: HPEC-ABC123 (es el ejemplo que sale jeje)

En la siguiente parte ponen su información personal

The registration utility will notify you of a successful registration.
Do you accept this licensing agreement (y/n)? y
First Name:
Last Name:
Company:
Address 1:
Address 2:
City:
State:
Postal Code:
Country:
Phone:
E-Mail:

Wrote license to /var/lib/digium/licenses/HPEC-EARDM2HUJKU9.lic

9)  Please load the 'dahdi' kernel module as in the following example:

Command-line Example:

modprobe dahdi

modprobe dahdi
/usr/sbin/dahdihpec_enable
Digium High-Performance Echo Canceller Enabler
Copyright (C) 2006, Digium, Inc.
Version SVN-trunk-r83
Use the '-l' option to see license information for software
included in this program.

Found key 'HPEC-XXXX' for X channels.
Found valid HPEC licenses for X channels.
Successfully enabled X channels.

Si al hacer /etc/init.d/dahdi restart

Nos tira un error como not found dahdi/ctl..... reiniciamos la máquina este mensaje lo tira la primera vez que instalamos.

Para crear la configuración default de las tarjetas hacemos: dahdi_genconf

Si queremos ver que tarjetas hacemos: dahdi_hardware y nos aparecerá algo como:

pci:0000:01:08.0     wcte12xp+    d161:8001 Wildcard TE122
pci:0000:06:08.0     wctdm24xxp+  d161:2400 Wildcard TDM2400P

Editamos el archivo: /etc/dahdi/system.conf y quedaría la parte del cancelador así:

# Span 2: WCT1/0 "Wildcard TE122 Card 0" (MASTER) B8ZS/ESF ClockSource
span=2,1,0,esf,b8zs
fxsks=25-48
echocanceller=mg2,31-48
echocanceller=hpec,25-30

Esto sería todo. Espero que le sirva a alguno en sus proximas instalaciones, si hay que jugar un poco con la opción echocancel en el archivo /etc/asterisk/chan_dahdi.conf

NOTA: En ciertas versiones de DAHDI, hay que editar el archivo de /etc/init.d/dahdi, y cambiar la palabra zaphpec por dahdihpec por ejemplo:
# zaphpec_enable not installed in /usr/sbin  antes zaphpec

if [ ! -f /usr/sbin/dahdihpec_enable ]; then

echo -n "Running zaphpec_enable: Failed"

echo -n "."

echo "  The zaphpec_enable binary is not installed in /usr/sbin."

return

fi

De ahi seguirían editando todas las opciones siguientes. Saludes

miércoles, 21 de octubre de 2009

Organizar y controlar los logs de Asterisk

Estaba leyendo en sinologic.net que Jon Bonilla ha publicado un estupendo tutorial sobre cómo organizar el log de Asterisk, realmente imprescindible para sistemas de alta carga o que generan muchos mensajes y que necesitamos controlar para saber qué está haciendo Asterisk en ese momento. Estos es estupendo para los que tenemos que lidear con grandes cantidades de Logs, por ejemplo si tenemos que verificar los gateways H323 y el log esta creciendo constantemente en tiempo real se hará muy complicado, chequeen esta solución aquí

martes, 20 de octubre de 2009

Siete pasos para mejorar la seguridad en SIP con Asterisk


Hola aqui dejo un post resumen de un comunicado de Digium acerca de algunos tips ha tener en cuenta con respecto a la seguridad en SIP, link:

  1. No aceptar SIP autentication request desde cualquier dirección: usar permit y deny en el sip.conf para permitir solo el pool de IP's que sepamos que van a intentar registrarse.  Poner allowguest=no, en el sip.conf.

  2. Poner alwaysauthreject=yes en el sip.conf: Esta opción esta por defecto en "no",  lo que va a permitir fugas de información de extensiones. Poniendolo en “yes” vamos a denegar las bad authentication requests en usernames validos, denegando así a los atacantes remotos la habilidad de dtectar extensiones con ataques de fuerza bruta.

  3. Usar passwords fuertes: Usar símbolos, números, y mezclar con letras mayúsculas y miniscúlas, por lo menos que sean passwords de 12 dígitos de largo.

  4. Bloquear los puertos del AMI manager: Usar las líneas “permit=” y “deny=” en el manager.conf para reducir la cantidad de petición de conexiones sabiendo unicamente el host. Usar passwords fuertes, usar símbolos, números, y mezclar con letras mayúsculas y miniscúlas, por lo menos que sean passwords de 12 dígitos de largo.

  5. Permitir solo una o dos llamadas a la vez para usuarios SIP: usar la expresión call-limit=2.

  6. Crear los usuarios SIP diferentes de las extensiones: usar la dirección MAC de la tarjeta de red, o alguna combinación de una frase común + el hash de la extensión en MD5 (ejemplo: escribimos en el shell, "md5 -s elpassword2550" 2550 sería la extensión?).

  7. Asegurarse que el contexto [default] es seguro: No permitir que llamantes no autenticados puedan llegar a algun contexto que permita realizar llamadas. Prohibir llamadas sin auntenticación permanentemente poniendo “allowguest=no” en la sección [general] del sip.conf.

Nueva Release de Pangolin con soporte para importar contactos de Outlook

Estaba leyendo en Voip Today que la gente de PortSIP saco una nueva release de su softphone Pangolin la versión 5.1 la cual trae soporte para importar contactos desde Outlook. Aquí les dejo el link de descarga: Pangolin

Nuevo libro de IAX

Hola a todos, aqui les dejo el link para descargar el libro"
Inter-Asterisk Exchange (IAX): Deployment Scenarios in SIP-Enabled Networks

Escrito por un experto en el campo de las telecomunicaciones, este libro describe el protocolo de Inter-Asterisk Exchange (IAX) y sus operaciones, discutiendo las características principales del protocolo, incluidos NAT transversal, la seguridad, soporte de IPv6, el interfuncionamiento entre IPv4 e IPv6, el interfuncionamiento con SIP y muchos otros. El autor presenta la manera en que IAX puede ser activado a fin de evitar complicaciones tales como NAT y la presencia de cajas de intermediario en las arquitecturas de funcionamiento. Este libro demuestra analíticamente los valores añadidos de protocolo IAX en comparación con los ya existentes, al tiempo que propone escenarios de implementación viable que evaluar el comportamiento del protocolo en las redes operativas.
Características principales:

* Promueve un protocolo alternativa viable para facilitar el despliegue de servicios multimedia
* Análisis de las capacidades del protocolo IAX y su capacidad para cumplir los requisitos de proveedor de servicio VoIP, y proporciona los escenarios de la introducción de IAX en las arquitecturas de funcionamiento
* Las ventajas y desventajas de SIP, y se detallan las características de IAX que pueden ayudar, en el cruce con la SIP, para superar las distintas desventajas de SIP
* Explora los valores agregados de protocolo IAX en comparación con los protocolos existentes
* Explica la compatibilidad de las nuevas arquitecturas y protocolos aprobados asociados

Espero que les guste aqui les va el link de descarga:

Script de Instalacion de Asterisk 1.6.0.9

Hola aqui cuelgo un script que hice para mis instalaciones de Asterisk y sus dependencias para Debian y ubuntu eventualmente lo unico que cambiaria entre otras distribuciones seria la parte de instalacion de dependencias, suerte con esas instalaciones



cd /usr/src

aptitude install linux-headers-`uname -r` bison ncurses-dev libssl-dev zlib1g-dev initrd-tools cvs procps  build-essential libnewt-dev libusb-dev libmysqlclient15-dev make sox libsox-fmt-gsm libsox-fmt-mp3 fail2ban



ln -s /usr/src/linux-headers-`uname -r` linux



echo "DESCARGA DE asterisk 1.6.0.9, dahdi-linux 2.1.0.4, dahdi tools 2.1.0.2, libpri 1.4.9, asterisk addons 1.6.0.2"

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.1.1.tar.gz

wget http://downloads.digium.com/pub/telephony/dahdi-linux/releases/dahdi-linux-2.2.0.2.tar.gz

wget http://downloads.digium.com/pub/telephony/dahdi-tools/releases/dahdi-tools-2.2.0.tar.gz

wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.10.1.tar.gz

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.1.1.tar.gz



echo "instalacion de libpri 1.4.10.1"

tar -zxvf libpri-1.4.10.1.tar.gz

cd libpri-1.4.10.1

make && make install

echo "se sale del directorio"

cd ..

echo "instalaciion de dahdi linux dahdi-linux-2.2.0.2"

tar -zxvf dahdi-linux-2.2.0.2.tar.gz

cd dahdi-linux-2.2.0.2

make && make install

echo "se sale del directorio"

cd ..

echo "instalacion de dahdi tools 2.2.0"

tar -zxvf dahdi-tools-2.2.0.tar.gz

cd dahdi-tools-2.2.0

./configure  && make  && make install && make config

echo "se sale del directorio"

cd ..

echo "instalacion de asterisk 1.6.1.1"

tar -zxvf asterisk-1.6.1.1.tar.gz

cd asterisk-1.6.1.1

./configure && make && make install && make samples

echo "Instalacion de Script de Inicio para Asterisk"

cp contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk

cd /etc/init.d/

update-rc.d asterisk defaults

cd /usr/src

echo "instalacion de asterisk addons 1.6.1.1"

tar -zxvf asterisk-addons-1.6.1.1.tar.gz

cd asterisk-addons-1.6.1.1

./configure && make menuselect && make install && make samples

echo "se sale del directorio"

cd ..



echo -e "Desea instalar apache2 php5 mysql?: Digite 1 para instalar o dos para salir"

read opcion

if [ $opcion -eq 1 ] ; then

        aptitude install apache2 mysql-server-5.0 php5 php5-gd php5-mysql php5-cli

else

    echo "Suerte en tu viaje susus"

fi

Oslec Cancelador de Eco

Hoy mostraré como se hace para instalar el cancelador de eco gratuito OSLEC, la versión de zaptel usada es la 1.4.12.1


Debemos estar corriendo en un kernel 2.6, y tener instalado un zaptel 1.2.13 o una versión mayor


1/ Download, build and install oslec:

$ cd ~

$ wget http://www.rowetel.com/ucasterisk/downloads/oslec-0.2.tar.gz

$ tar xvzf oslec-0.2.tar.gz

$ cd oslec-0.2

$ make

$ insmod kernel/oslec.ko

1/ Descargar, compilar e instalar osclec:


$ cd ~


$ wget http://www.rowetel.com/ucasterisk/downloads/oslec-0.2.tar.gz


$ tar xvzf oslec-0.2.tar.gz


$ cd oslec-0.2


$ make


$ insmod kernel/oslec.ko


cd ..


buscar en http://svn.astfin.org/software/oslec/trunk/kernel el parque ocupamos en mi caso:


wget http://svn.astfin.org/software/oslec/trunk/kernel/zaptel-1.4.12.1.patch


2/ Compilar, parchear e instalar Zaptel:


$ tar xvzf zaptel-1.4.12.1.tar.gz


$ cd zaptel-1.4.12.1


$ ./configure


$ patch -p1 < ../zaptel-1.4.12.1.patch    (Use la opción -p1 para versiones de zaptel-1.4.9.2 y superiores)


$ cp ../oslec-0.2/kernel/dir/Module.symvers kernel/(detiene los mensajes de error como WARNING: "oslec_echo_can_create" [zaptel.ko] undefined!")


$ make


$ insmod zaptel.ko


$ insmod wctdm.ko (o el modulo de tarjeta que estemos usando


make install


$ ./ztcfg


3/ Configuraciones Importantes en zapata.conf:


echocancel=yes


echocancelwhenbridged=no


;echotraining=400


4/ Reiniciar Asterisk

jueves, 1 de octubre de 2009