jueves, 9 de diciembre de 2010

Asterisk 1.8.1

Asterisk 1.8.1 liberada!!


El dia de ayer fue liberada la version de Asterisk 1.8.1, Asterisk 1.6.2.15 y Asterisk 1.4.38

aqui la relación de bugs encontrados y solucionados en Asterisk 1.8.1

puedes descargar la ultima version de Asterisk 1.8.1

viernes, 3 de diciembre de 2010

codec g729 para Asterisk 1.8.0

Instalar codec g729 "Free" para Asterisk 1.8.X, 1.4.X, 10,11, realmente es para cualquier versión de asterisk

Estos codec están liberados en modo educativo, para investigación, pero no te garantizan que funcione bien, pero las veces que lo he utilizado me ha funcionado bien, pero cuando implemento a mis clientes compro la licenciada, prefiero evitar arriesgarme por 10 dolares por canal.

 Primero tenemos que revisar el tipo de Procesador que tenemos:







Luego:Para seleccionar el codec adecuado tener en cuenta lo siguiente:
 versión de Asterisk
 tipo de compilador GCC ó ICC
 tipo de procesador y si es de 32 o 64 bits Con las observaciones dadas podemos proseguir:

1.- Ingresamos al link: http://asterisk.hosting.lv/













2.- En la opción Binaries seleccionamos Asterisk 1.8.0 

 descargar el codec g729 que corresponda a nuestro procesador y version de Asterisk en el directorio /usr/lib/asterisk/modules/

 Seleccionamos el codec g729, encontraremos una variedad que estará en función del tipo de procesador y compilador que se tenga, en mi caso es codec_g729-ast18-gcc4-glibc-x86_64-core2-sse4.so

 3.- Descargar el codec seleccionado en el directorio /usr/lib/asterisk/modules/ 
#cd /usr/lib/asterisk/modules/
#wget http://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-x86_64-core2-sse4.so

4.- Renombrar el codec, 
 #cd /usr/lib/asterisk/modules/
#mv codec_g729-ast18-gcc4-glibc-x86_64-core2-sse4.so codec_g729.so 

5.- le damos los permisos de ejecución:
#chmod +x codec_g729.so

6.- reinicamos el servicio de asterisk 
#asterisk -rvvvv
*CLI>core stop now
#asterisk

7.- para validar que el codec se hay instalado correctamente 
#asterisk -rvvv
*CLI>core show translation

Se observa que tanto en la fila como en la columna del codec g729 hay números que están expresados en microsegundos, eso indica que si esta instalado correctamente, en el cruce de ambos se ve que hay una raya, ello indica que el procesador no hace ningún transcoding cuando se comunica un canal con codec g729 con otro que también soprta g729.

Y que pasa si llamamos de un teléfono IP que soporta ulaw a otro que soporta g729, en el cruce nos muestra 4000 micro-segundos, que es el costo en tiempo que le toma al procesador hacer el transcoding.

Cuando el codec g729 es licenciado ese tiempo es mucho menos.












8.- en el fichero sip.conf y iax.conf seleccionar el codec g729.
disallow=all
allow=g729

Bueno para escenarios grandes donde dimensionamos que nuestra centralita va a realizar 50 o mas transcoding a la vez, lo ideal es utilizar tarjetas transcoding, estas vienen con su propio procesador, de esa forma liberamos de carga al procesador de nuestra centralita, y también vienen con 120 licencias g729 y 100 licencias g723 aprox, no tengo el dato exacto.

He realizado algunos afinamientos a este POST, espero que les sirva de ayuda.

Nota:
En el blog de Sinologic, Elio explica muy bien la diferencia entre el codec g729 verison Free y Comercial

miércoles, 1 de diciembre de 2010

LEVANTAMIENTO DE INFORMACION TÉCNICO

LEVANTAR INFORMACIÓN TECNICO A DETALLE NOS AYUDARA A REALIZAR UN BUEN DISEÑO DE LA PLATAFORMA DE TELEFONÍA IP Y ESTO LLEVARA A TENER EXITO EN UNA SOLUCIÓN DE TECNOLOGÍA VOIP CON ASTERISK



Muchas veces he visto en los foros de asterisk, de personas que quieren implementar una solución de telefonia IP con Asterisk en su empresa, o hacer pruebas con ello, pero no saben por donde empezar ni que hardware adquirir, que distribución usar, etc,etc.

Una vez escuche la frase "Si no sabes hacia dónde vas, llegarás donde no quieres llegar.

Antes de empezar a trabajar con un Servidor de Comunicaciones IP hay que tener en cuenta vaios factores para que el resultado de la implementación tenga exito.

Implementar un Servidor de Comunicaciones IP no es lo mismo que implementar un servidor de correo.Las comunicaciones en una empresa son críticas, por decirles que hay veces que cuando un correo tarde en llegar 5 minutos ya nos estamos enfadando. Imaginense no tener teléfono sacaria de sus casillas a mas de uno.

Para una implementación tendria en cuenta 4 fases:

FASE I: Levantamiento de Información técnico
FASE II: Diseño de la Solución
FASE III: Implementación
FASE IV: Monitoreo , Afinamiento y Puesta en Producción, Capacitación

En esta oportunidad veremos la FASE I: Levantamiento de Información técnico.

El siguiente cuestionario técnico tiene como propósito obtener información sobre el estado actual de la red de datos, las líneas telefónicas y el estado de la Central con la que cuentan. Esto es necesario para iniciar el informe técnico y la propuesta de solución.

La funcionalidad que el Servidor de Telefonía brinda se basa en los requerimientos de los usuarios. Por tal motivo hacemos incapíe en establecer las necesidades de los usuarios tanto a corto como a mediano plazo.

Este cuestionario esta divido en cuatro secciones:

1) Cableado de Red y Eléctrico
2) Telefonía
3) Problemas reportados por los usuarios
4) Funcionalidades
5) Contactos
6) Información adicional proporcionada por el cliente

Observaciones o información que se crea relevante y no este siendo considerada puede ser añadida en la sexta sección “Información adicional proporcionada por el cliente”

1.- CABLEADO DE RED Y ELÉCTRICO

2.- TELEFONIA

3.-PRONBLEMAS REPORTADO POR LOS USUARIOS Y FUNCIONALIDADES SOLICITADOS


En un próximo post, veremos como con esta información podemos diseñar una solución de telefonia IP.

Saber que perfomance tendria que tener el Servidor a utilizar
Saber que tarjeta de Comunicaiones adquirir
Saber que tipo de telefonos comprar
recomendar que switch utilizar y/o que configuración realizar en la misma
etc,etc.

jueves, 25 de noviembre de 2010

Asterisk Scalable Communications Framework Architecture



API CAPAS

En Asterisk SCF las API's se pueden organizar en algunas capas bastante amplio(véase el diagrama adjunto de una representación pictórica), aunque, como se ha mencionado, estas capas no son siempre estrictamente dependientes entre sí y los componentes pueden proporcionar interfaces de múltiples capas a la vez.

martes, 23 de noviembre de 2010

Curso Asterisk 1.8

Para las personas que quieran llevar el curso de Asterisk 1.8

Pueden consultar en estos Links:

OpenSourceCollege
PeruLinux


viernes, 12 de noviembre de 2010

AstriCon 2010 Keynote: The Future Of Open Source Communications

Mas sobre Astersik SCF

AstriCon 2010 Keynote - Asterisk SCF

Asterisk 1.8

Que nuevas caracteristicas nos trae Asterisk 1.8?



* Secure RTP
* Soporte de Ipv6 en el SIP channel driver
* Soporte para identificación de parte conectada
* Integración de calendarios
* Mejora el soporte de FAX
* Soporte de Channel Event Logging (CEL) para registro de llamadas
* Estado de elementos distribuidos usando Jabber/XMPP PubSub
* Soporte de Servicios Suplementarios en Completamiento de Llamadas


asterisk SCF



Scalable Communications Framework
Asterisk SCF será una nuevo sistema en la que podremos tener nuevas formas de integrar otros servicios como chat, email, voip, videoconferencia,etc.

Nuevas librerías, utilidades y herramientas para poder desarrollar más aplicaciones en los lenguajes de programación que queramos :-).

Un sistema que permitirá implementar sistemas de comunicaciones en nuevos sistemas de gran tamaño, incluso en clusters y otras arquitecturas especiales.

para mayor informacion de nuevas caracteristicas:
http://svnview.digium.com/svn/asterisk/branches/1.8/CHANGES?view=markup

Instalación de Asterisk 1.8

Asterisk 1.8

Vamos a proceder a Instalar nuestro querido Asterisk.



Actualizar el kernel y sus fuentes


#yum install kernel kernel-devel kernel-headers
Luego reiniciamos el servidor para que inicien con el nuevo kernel

#yum update

Instalar librerias necesarias para instalar Asterisk:



Librerias necesarias para compilar las fuentes


#yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel wget newt newt-devel libxml2 libxml2-devel

Para utilizar MySQL com base de datos


#yum install mysql mysql-server mysql-devel

Para instalar Apache , PHP


#yum install httpd php php-mysql php-gd

Iniciar el servicio MySQL


#service mysqld start
#chkconfig mysqld on

Esto es importante hacer antes de compilar e instalar asterisk, para que todos los modulos referentes a MySQL se implementen

Descargar Dahdi, Libpri, Asterisk



#cd /usr/src/

#wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.4.0.tar.gz

#wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.4.0.tar.gz

#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.0.tar.gz

#wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.4.tar.gz

Desempaquetar los paquetes libpri,dahdi,asterisk


#cd /usr/src/
#tar -zxvf libpri-1.4.11.4.tar.gz
#tar -zxvf dahdi-linux-2.4.0.tar.gz
#tar -zxvf dahdi-tools-2.4.0.tar.gz
#tar -zxvf asterisk-1.8.0.tar.gz

Compilar e Instalar libpri, dahdi y asterisk


#cd /usr/src/libpri/
#make
#make install

#cd /usr/src/dahdi-linux-2.4.0/
#make
#make install

#cd /usr/src/dahdi-tools-2.4.0/
#./configure
#make
#make install
#make config (implementa un script que me permite iniciar de manera automatica)


#cd /usr/src/asterisk/
#./configure
#make menuselect (se daran cuenta que se podran habilitar los modulos que en las versiones anteriores venia asterisk-addons)
#make
#make install
#make samples (me crea archivos de configuración de ejemplos)
#make config (implementa script para inicio automatico del servicio)

iniciamos asterisk


#service asterisk start

Ingresamos al CLI de Asterisk


#asterisk -rvvvvvvvvvv

EVENTOS EN SOLUCIONES DE VOIP

Como es sabido uno de los eventos mas grandes en VoIP que hay en España es el VoIP2DAY que se viene celebrando desde el año 2008.

para los que no pudieron asistir les paso el link de las 4 ediciones realizadas hasta la fecha para que puedan descargar el pdf y puedan ver los videos de las presentaciones.

Este evento tiene una duración de 3 días

Dia del Call Center
Dia de las Comunicaciones Unificadas
Dia de la Comunidad

Para los que no pueden ir este domingo a celebrar el dia del cine y quieren quedarse en casa ahi unos videos para disfrutar:

voip2day - 2008
voip2day - 2009
voip2day -2010 - Portugal
voip2day - 2010 - España

miércoles, 20 de octubre de 2010

Jalar llamadas en Asterisk usando PICKUP

Pickup, es la aplicación que nos va ha permitir jalar llamadas dirigidas a cualquier anexo .

Esta aplicacion trabaja con el modulo app_directed_pickup.

ejemplo de configuración para jalar llamadas:

[funciones]
exten => _**1XXX,1,PickUp(${EXTEN:2}@PICKUPMARK)


[anexos]
exten=>_1XXX,1,Macro(extension,SIP/${EXTEN},${EXTEN},20,Ttr)

[macro-extension]


exten => s,1,Set(Anexo=${ARG2})

exten => s,n,Set(__PICKUPMARK=${Anexo})
exten => s,n,Dial(${ARG1},${ARG3},${ARG4})

exten => s,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?s-NOANSWER,1)

exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?s-BUSY,1)

exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?s-NOANSWER,1)

exten => s,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?s-NOANSWER,1)

exten => s,n,Hangup()


exen => s-BUSY,1,Voicemail(${Anexo},b)

exten => s-BUSY,n,Hangup()
exten => s-NOANSWER,1,Voicemail(${Anexo},u)
exten => s-NOANSWER,n,Hangup()

Nota:

exten =>_**1XXX,1,Pickup(${EXTEN:2}@PICKUPMARK)

Para poder jalar la llamada con la aplicacion Pickup,
tenemos que tener la variable PICKUPMARK definida en el CANAL que esta timbrando,

Asterisk tiene una funcionalidad que consiste en la herencia de variables entre los canales. Podemos hacer que una variable este definida en todos los canales que se generen después, precediendo su nombre con 2 guiones bajos (__). Por lo tanto, lo que tenemos que hacer para poder coger cualquier llamada, es definir la variable de la siguiente manera:

exten => _1XXX,1,Set(__PICKUPMARK=${EXTEN})
exten => _1XXX,n,Dial(SIP/${EXTEN})

Llamadas a la PSTN con contraseña de usuario


Esta vez vamos a ver como realizar llamadas a la PSTN con autenticación de usuarios, usando la Aplicación AUTHENTICATE( )

Paso 1:

ciframos las contraseñas con encriptación md5, esta es la contraseña que se utilizara para hacer las llamadas



#echo -n 2356 md5sum

822feae78925e75b73431a991f66a2cd -

#echo -n 5146 md5sum

9c64c534bf3d8ec85db3864473b1b8a4 -


Paso 2:

creamos la categoría de Permisos para realizar llamadas a numeros fijos usando cifrado md5 en el fichero /etc/asterisk/c-loc

# vim /etc/asterisk/c-loc

Simon Bilivar:822feae78925e75b73431a991f66a2cd

Tupac Amaru:9c64c534bf3d8ec85db3864473b1b8a4

Paso 3:

Luego en el fichero extensions.conf

[local-fijo]

exten => _[2-7]XXXXXX,1,Authenticate(/etc/asterisk/c-loc|m)

exten => _[2-7]XXXXXX,n,Dial(dahdi/g0/${EXTEN})

exten => _[2-7]XXXXXX,n,Hangup()


Nota:

La opcion "a" de la aplicación authenticate permitira que la contraseña se almacene en el campo ACCOUNTCODE del CDR.

La opcion "m" - Interpreta la ruta dada como un archivo que contiene una lista de los códigos de la contraseña hashes MD5 delimitada con ':', que se enumeran una por línea en el archivo.



domingo, 10 de octubre de 2010

Instalanción de Asterisk 1.4

Instalando Asterisk 1.4

Vamos a explicar como Instalar Asterisk, una aplicación basado en software que implementa una central telefónica, tal y como si fuese una central del tipo hardware.

Pasos:

1.- Instalar el Linux, la distribución que mejor domines,
2.- Actualizar el kernel
3.- Desactivar Selinux y Cortafuegos
4.- Instalar las librerias pre-requisitos para Asterisk
5.- Descargar los paquetes de Asterisk
6.- Desempaquetar
7.- Renombrar (Opcional)
8.- Compilar e instalar

Detallando algunos puntos:

1.- Instalar el S.O, lo unico que necesitamos es el kernel y algunas librerias por lo que se podria instalar cualquier distro, en lo personal he instalado sobre Debian, Ubuntu y Centos y en todas he trabajado muy bien.

2.-#yum install kernel kernel-devel
luego reiniciar para que inicie por el kernel actualizado.

3.-#yum -y install gcc-c++ ncurses ncurses-devel zlib zlib-devel glib glib-devel openssl openssl-devel bison ntp newt*

4.- Descargaremos los paquetes en el directorio /usr/src/
#cd /usr/src/

#wget http://www.asterisk.org/downloads/asterisk/releases/asterisk-1.4-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.4.12.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.4.0.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.4.0.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1..11.4.tar.gz


5.- Desempaquetamos los paquetes:
#tar xvfz asterisk-1.4-current.tar.gz
#tar xvfz asterisk-addons-1.4.12.tar.gz
#tar xvfz libpri-1.4.11.4.tar.gz
#tar xvfz dahdi-linux-2.4.0.tar.gz
#tar xvfz dahdi-tools-2.4.0.tar.gz

6.-
#cd /usr/src/librpi-1.4.11.4
#make
#make install

#cd ../dahdi.linux-2.4.0/
#make
#make install

#cd ../dahdi.tools-.2.4.0
#./configure
#make menuselect
#make
#make install
#make config

#cd ../asterisk-1.4.36/
#./configure
#make
#make install
#make samples
#make config


#cd ../asterisk-addons-1.4
#./configure
#make menuselect
#make
#make install
#make samples

#asterisk -c



Ingresara a la Interface de Linea de Comandos de Asterisk *CLI>


Para salir: *CLI>!

Para Ingrasar al CLI: asterisk -r

domingo, 11 de abril de 2010

desde ping.fm a Facebook,Twitter, Blogger, hi5.