viernes, 25 de diciembre de 2009

Disponible Asterisk Unit Test Framework

Leyendo en voiptoday que David Vossel anunción el add del nuevo Framework de Asterisk para pruebas el añade una serie de herramientas para crear y ejecutar tests internos a través de la consola CLI de Asterisk, lo que nos permitirá detectar si hay alguna incidencia. A continuación las palabras de David en ingles:

Feature Overview:
- Define Unit Tests anywhere in the code using the AST_TEST_DEFINE macro
- Register Unit Tests to a central test manager using AST_TEST_REGISTER macro
- Unregister Unit Tests from the test manager using AST_TEST_UNREGISTER macro
- Execute test from CLI
- Generate xml and txt test result reports from CLI

New CLI Commands
-'test execute all'
-'test execute category'
-'test generate results xml'
-'test generate results txt'
-'test show results all'
-'test show results failed'
-'test show results passed'
-'test show registered'

Enabling TEST_FRAMEWORK
- Configure Asterisk using dev mode, './configure ?enable-dev-mode'
- In 'make menuselect' under the 'Compiler Flags' option enable the 'TEST_FRAMEWORK' flag.
- Recompile Asterisk and the test CLI options will be made available.

Lo probaré y luego les diré que tal, espero que les guste suena muy interesante por lo menos para sistemas de prueba. Feliz NAVIDAD a todos

lunes, 21 de diciembre de 2009

Crear aplicaciones para Asterisk en .Net

Leyendo en Sinologic.net descubrí que ya se liberó una nueva versión de la librería la nueva versión 1.6.3.1 de la librería Asterisk .NET para seguir leyendo clickea el texto

Compilar kernel para Asterisk + Instalacion en Debian Lenny

Bueno hace días que no me tiempo de postear nada pero creo que este Post le va a servir a muchos como me sirvió a mi en mis pruebas, al instalar

PASOS DE INSTALACION

Instalar librerias base

apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

Descargar kernel de linux

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.8.tar.gz

tar xfv linux-2.6.26.8.tar.gz

ln –s /usr/src/linux-2.6.26.8 /usr/src/linux

Compilar kernel

make clean && make mrproper

"make mrproper se usar para limpiar los fuentes del kernel"

cp /boot/config-`uname -r` ./.config

make menuconfig

Ahora en la configuración del kernel seleccionamos:

Processor type and features >> [*]IRQ balancing ---> opcion importante para el balanceo de IRQ's de tarjetas digium
Processor type and features >> Timer frequency = 1000 Hz --> por default viene lo minimo 100 Hz
Processor type and features >> [*]High Resolution Timer Option
Processor type and features >> [*]HPET Timer Support
Device Drivers >> Character Devices >> [*]Enchanced Real Time Clock Support
Library Routines >> [*]CONFIG_CRC_CCITT


Terminada la configuración del kernel lo compilaremos. Debido a que lo estamos haciendo a la Debian way es necesario que tengamos instalado un paquete llamado kernel-package, el cual suministrará las herramientas necesarias para poder compilar y generar el paquete con nuestro kernel, para instalarla: aptitude install kernel-package. Antes de comenzar la compilación debemos estar en el directorio donde se encuentra el código fuente del kernel y luego ejecutar lo siguiente:

“PRIMERO se necesitará hacer un "make-kpkg clean" si desea recompilar el kernel usando la opción de revisión”

make-kpkg clean

Es importante realizar un cambio primero en la configuración de la imagen antes de realizar los .deb del kernel, sino nos dará un error al crear los paquetes, seguimos los siguientes pasos:

cd /usr/src/linux
vim Documentation/lguest/Makefile




Cambiamos:
all: lguest
Por:
all:


Sino lo hacen así les tirará un error como:

make[1]: Leaving directory `/usr/src/linux-2.6.31.6'
/usr/bin/make  EXTRAVERSION=.6-ast01-lw  ARCH=i386 \
-C Documentation/lguest
make[1]: Entering directory `/usr/src/linux-2.6.31.6/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE    lguest.c   -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c:37:18: error: zlib.h: No such file or directory
lguest.c: In function 'create_thread':
lguest.c:1021: warning: implicit declaration of function 'eventfd'
make[1]: *** [lguest] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.31.6/Documentation/lguest'
make: *** [debian/stamp/build/kernel] Error 2

make-kpkg --initrd kernel_image kernel_headers

Los que hayan compilado un kernel de Linux este comando equivale a: make dep, make clean, make bzImage y make modules

La opción --initrd crea una imagen initrd en el paquete que se guardará en /boot cuando instalemos el kernel (recordar que solo estamos compilando y empaquetando, no instalando).

El comando anterior creará dos paquetes con extensión .deb en el directorio superior. Un paquete será el kernel y el otro los kernel-headers.

Instalación de paquetes generados:

dpkg -i *.deb

Y reiniciamos el servidor, veremos la nueva versión de imagen :D

Instalación de Asterisk

Instalación de dependencias:

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 flex fail2ban subversion libiksemel-dev libcurl3-dev libvorbis-dev libspeex-dev flex xsltproc libxml2-dev bison g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core

En esta ocasión voy a instalar un Asterisk estable que han tomado unos españoles se trata del

Asterisk-ES-rsp, en su página hallarán toda la información que necesiten saber acerca de este gran proyecto, entre sus ventajas es que ya trae por defecto muchos parches para usar octqe y usa por defecto oslec de manera maravillosa cabe recalcar :), porque usar esta versión de Asterisk mmm pues la ultima versión de dahdi y de asterisk la 1.4.27.1 me estaba reventando mucho, para tarjetas tdm me daba problemas de colgado al minuto casi siempre, en Digium me dijeron tienes que hace un tonezone para tu país y yo mmm, intente hacerlos pero no me sirvió, instale esta versión los problemas de eco se fueron, y la estabilidad volvió xD

En el siguiente link están todos los pasos de descarga, compilación e instalación de esta gran versión:

ASTERISK-ES-RSP



Para finalizar quiero dejar un parche que tuve que aplicar para un error al usar la opcion L(limit) en la aplicación dial, me daba un loop terrible


ERROR[5003]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor


En https://issues.asterisk.org/view.php?id=14723 esta la solución, solo aplique el parche 14723_1-4-24.patch  por si quieren probar wget 'https://issues.asterisk.org/file_download.php?file_id=22202&type=bug' -O - | patch -p0
y pues parece que se soluciono el problema porque ya no se me quedan pegadas las llamadas y no se genera ese mundo de log





miércoles, 2 de diciembre de 2009

Curriculas CISCO CCNP v5

Hola buenas mañanas madrugadas juju, aquí dejo los links de los 4 modulos del CCNP v5 que halle incluyendo unos pdf's con practicas, muchas gracias a Minchos por subirlos a taringa, los enlaces originales estaba para megaupload, pero yo los subí a 4shared espero que los disfruten

Link de carpeta: IR

El password de acceso de la carpeta es: voipsystemscr

Info en la carpeta:

  • Building Scalable Cisco Internetworks (BSCI)

  • Building Cisco Multilayer Switched Networks (BCMSN)

  • Implementing Secure Converged Wide Area Networks (ISCW)

  • Optimizing Converged Cisco Networks (ONT)

  • PDF's para practicas

Prueba Asterisk sin “ensuciar” tu sistema

Vamos a ver 2 maneras de hacerlo: instalando Asterisk en multiples lugares y utilizando live_ast.


Instalar Asterisk en distintos lugares


Si queremos tener un Asterisk 1.4 y un Asterisk 1.6 en el mismo sistema haremos lo siguiente para tener cada uno instalado en /opt por ejemplo:


cd asteriak14
./configure --prefix=/opt/asterisk14 --sysconfdir=/opt/asterisk14/etc --localstatedir=/opt/asterisk14}/var
make menuselect
make
make install
make samples


cd asteriak16
./configure --prefix=/opt/asterisk16 --sysconfdir=/opt/asterisk16/etc --localstatedir=/opt/asterisk16}/var
make menuselect
make
make install
make samples


En este ejemplo se asume que tenemos las fuentes de Asterisk 1.4 en un directorio llamado “asterisk14? y las de la 1.6 en “asterisk16?. De esta manera hemos conseguido tener dos versiones completamente aisladas en /opt. Las configuraciones estarán en /opt/asterisk14/etc y /opt/asterisk16/etc respectivamente.


Utilizar live_ast


Ésta es la que he descubierto hoy y me ha gustado  live_ast es un script que Tzafir Cohen hizo en bash que nos permite ejecutar Asterisk en el mismo directorio en el que lo hemos descargado. Esta disponible en trunk y en Asterisk 1.6, pero también funciona con Asterisk 1.4. Veamos como funciona:


cd asterisk-1.6.2
cp contrib/scripts/live_ast .
./live_ast configure
./live_ast install
./live_ast samples
./live_ast run -vvvvvvvvvc


Lo que realiza el script es fijar las variables necesarias para que Asterisk quede completamente instalado en el subdirectorio “live”.


FUENTE