domingo, 6 de enero de 2013

Curso de Asterisk 1.8 versión 2012 en Español

Requisitos:
Conocimientos básicos en sistemas operativos y redes.
Conexión a internet
Microfonó y parlantes o una diadema.

Sistema Operativo:
En los cursos anteriores trabajamos con CentOS ya que los programas de certificación de Digium así lo trabajaban, pero esta vez vamos a trabajar con mi distro linux favorita Debian la cual pueden descargar desde este enlace:

http://www.debian.org/CD/
http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-CD-1.iso  Para 32 Bits
http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso Para 64 Bits

Maquina Virtual:
VirtualBox -» http://www.virtualbox.org/wiki/Downloads
Instalaremos Debian sobre virtualbox pero si quieres trabajar con VMWare o KVM no hay problema.

Softphone
Quienes tengan como sistema operativo anfitrión cualquier distribución linux descarguen Zoiper Comunicator -» http://www.zoiper.com/download_list.php?os=Linux#zc_soft
Para Windows:  3cx http://www.3cx.com/

Otras alternativas de softphone que pueden utilizar en el curso:
http://hotfixed.net/2011/05/21/top-5-softphones-gratuitos/

Los dejo con los capítulos publicados por Daniel Rodríguez en su blog hotfixed.net:
Lección 1 : Configuración VirtualBox
Lección 2 : Instalación Debian
Lección 3 :Configuración y Acceso por SSH

Conexión desde linux o mac:

ssh usuario@ipservidor -p puerto

Windows:

En windows se debe descargar un programa llamado putty desde http://the.earth.li/~sgtatham/putty/lat … /putty.exe, lo guardan en el escritorio o en una carpeta facil de visualizar, allí se ejecuta y se conectan usando la direccion ip del servidor, puerto y usuario correspondiente.

Lección 4 : Introducción a Asterisk
Lección 5 : Compilando Asterisk
Instalación MPG123

Antes de comenzar con la instalación de Asterisk vamos a compilar mpg123 que es una librería para la decodificación de archivos mp3.

No ubicamos en nuestro servidor en la ruta /usr/src/ allí fue donde descargamos los paquetes de asterisk

cd /usr/src/

Descargamos mpg123
wget http://cdnetworks-us-2.dl.sourceforge.net/project/mpg123/mpg123/1.13.4/mpg123-1.13.4.tar.bz2

Descomprimimos e ingresamos al directorio
tar -xjvf mpg123-1.13.4.tar.bz2
cd mpg123.1.13.4

Comenzamos el proceso de compilación

./configure
make
make install

Instalación de Asterisk

Descomprimimos el paquete de asterisk que descargamos en el capítulo anterior.

tar -xzvf asterisk-1.8.9.1.tar.gz

cd asterisk-1.8.9.1/

Ejecutamos el comando  ./configure con este comando se validarán las librerías y dependencias de nuestro servidor para que asterisk pueda ser compilado

Ejecutamos  make menuselect   debe aparecer un mensaje como este:

make menuselect

Nota: Si llega a aparecer el siguiente mensaje “Terminal must be at least 80 x 27″  prueba ejecutando sobre la terminal ctrl y el signo - al tiempo para reducir el tamaño de la fuente y darle espacio para que se pueda mostrar en menú de asterisk.

Aquí vamos a seleccionar los módulos que cargaremos a Asterisk, por ahora únicamente vamos a ir a Core Sound Packages y  Extra Sound Packages, allí  habilitamos la opción CORE-SOUNDS-ES-GSM  y  EXTRA-SOUNDS-EN-GSM respectivamente (para seleccionar se utiliza la barra espaciadora).

Core-sound-es

Extra-soune-en

Ahora presionamos ESC para salir y aparecerá el siguiente mensaje:

Asterisk-Modules

Presionamos la tecla S para guardar y salir.

Instalar soporte para MP3

Instalamos subversion

apt-get install subversion

ejecutamos  contrib/scripts/get_mp3_source.sh

Ejecutamos los siguientes comandos para compilar asterisk

-> compilamos con make  

-> Instalamos programas y módulos con make install

-> Instalamos los archivos de ejemplo de asterisk con  make samples

-> Instalamos los scripts para que asterisk inicie con nuestro servidor tras los reinicios con make config

-> Instalamos logrotate para la rotación de los logs make install-logrotate

Iniciamos el servicio Asterisk

/etc/init.d/asterisk start

Asterisk Start

Para verificar el estado del servicio ejecutamos:
/etc/init.d/asterisk status

Lección 6 : Arquitectura de Asterisk
Lección 7 : Configuración de Extensiones SIP

archivos de configuración:

sip.conf
[general]
context=default
allowguest=no ;Deshabilita llamadas sin autenticación
srvlookup=yes
udpbindaddr=0.0.0.0
transport=udp

[telefono1]
type=friend
secret=c0ntras3!
host=dynamic
insecure=port,invite
context=users

[telefono2]
type=friend
secret=h0tf1x3d2012
host=dynamic
insecure=port,invite
context=users

extensions.conf
;General Settings for Extensions
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priortityjumping=no

[globals]

;Los contextos comienzan acá
[users]

exten => 2001,1,Dial(SIP/telefono1,20)
exten => 2002,1,Dial(SIP/telefono2,20)

Lección 8 : Configuración Hardfone
Lección 9 : Realizando llamadas entre dispositivos SIP
Lección 10 : Introducción al DialPlan
Lección 11 : Interactuando con el Dialplan

Colocar el siguiente include en el contexto users

include => aplicaciones

[aplicaciones]
exten => 9999,1,Answer()
exten => 9999,n,Playback(es/hello-world)
exten => 9999,n,Hangup()

Lección 12 : Bucles con Goto

Dentro del contexto aplicaciones creamos la extensión 9998 para invocar el menú

exten => 9998,n,Goto(menu1,s,1)

Este es el código para el menú:

[menu1]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(press-1)
exten => s,n,Background(or)
exten => s,n,Background(press-2)
exten => s,n,WaitExten(3)

exten => 1,1,Playback(you-entered)
exten => 1,n,Playback(digits/1)
exten => 1,n,Goto(s,1)

exten => 2,1,Playback(you-entered)
exten => 2,n,Playback(digits/2)
exten => 2,n,Goto(s,1)

exten => h,1,NoOP(hey, han colgado la llamada!!!)
exten => h,n,Hangup()

exten => t,1,Playback(too-low)
exten => t,n,Goto(s,1)

exten => i,1,Playback(pbx-invalid)
exten => i,n,Hangup()

Lección 13 : Configurando Buzones de voz

Archivos que se modificaron para configurar el voicemail.

En el archivo voicemail.conf
[default]

3001 => 4528, Daniel Rodriguez, webmaster@hotfixed.net
3002 => 7691, Julian Cruz, juliancruz@hotfixed.net

En el archivo sip.conf
[telefono1]
type=friend
secret=c0ntras3!
host=dynamic
insecure=port,invite
context=users
mailbox=3001@default

[telefono2]
type=friend
secret=h0tf1x3d2012
host=dynamic
insecure=port,invite
context=users
mailbox=3002@default

En el archivo extensions.conf
[users]
exten => 2001,1,Dial(SIP/telefono1,20)
exten => 2001,n,VoiceMail(3001@default)
exten => 2002,1,Dial(SIP/telefono2,20)
exten => 2002,n,VoiceMail(3002@default)

include => aplicaciones

[aplicaciones]
exten => 9999,1,Answer()
exten => 9999,n,Playback(es/hello-world)
exten => 9999,n,Hangup()
exten => 9500,1,Answer()
exten => 9500,n,VoiceMailMain(@default)

Lección 14 : Pruebas del Buzones de voz
Lección 15 : Construyendo un IVR

[ivr-soporte]
exten => s,1,Answer()
exten => s,n,Wait(0.5)
exten => s,n,Background(bienvenida-soporte)
exten => s,n,WaitExten(5)

exten => 1,1,Goto(users,2001,1)
exten => 2,1,Goto(users,2002,1)
exten => 3,1,Goto(users,2003,1)
exten => 4,1,Goto(aplicaciones,9999,1)

exten => *,1,Goto(s,1)

exten => t,1,Playback(en/goodbye)
enten => t,n,Hangup()

exten => i,1,Playback(en/pbx-invalid)
exten => i,n,Goto(s,1)

Lección 16 : Creación de una extensión para grabar el audio
exten => 9991,1,Answer()
exten => 9991,n,Wait(0.5)
exten => 9991,n,Record(bienvenida-soporte.gsm)
exten => 9991,n,Wait(0.5)
exten => 9991,n,Playback(bienvenida-soporte)
exten => 9991,n,Hangup()
Lección 17 : Probando el IVR
exten => 9000,1,Goto(ivr-soporte,s,1)
Lección 18 : Interfaces de Administración
http://www.asterisk.org/asterisknow/
http://www.elastix.org/
http://fonality.com/trixbox/
Lección 19 : Instalación de Asterisk Now
Lección 20 : Instalación de Elastix

0 comentarios:

Publicar un comentario