Instalacion y Configuracion de Asterisk (1) (1)
-
Upload
marco-antonio-quispe-choquehuanca -
Category
Documents
-
view
39 -
download
1
description
Transcript of Instalacion y Configuracion de Asterisk (1) (1)
-
Mayo 2015
Ing. Michael Dvila Pgina 1
Curso 2: Instalacin y configuracin de Asterisk
Programa de Especialista en Telefona IP con Asterisk
Presentacin:
El objetivo del curso es conocer el proceso de implementacin del servicio
telefnico IP basado en software libre, con el soporte de funcionalidades y servicios
que permitan la comunicacin entre usuarios, considerando la extensin del
servicio telefnico hacia otras centrales a travs de la configuracin de troncales
Logros al Finalizar el Programa:
Al finalizar el curso el estudiante habr logrado:
1. Identificar requisitos bsicos de hardware y software para el uso de
centrales telefnicas IP basadas en software libre
2. Seleccionar servicios y funcionalidades de centrales telefnicas IP basadas
en software libre
3. Estructurar el plan de numeracin telefnico
4. Instalar software con funcionalidades de central telefnica IP
5. Configurar funcionalidades bsicas en una central telefnica IP y telfonos
IP
6. Planificar extensin de servicio de telefona a travs de troncales
-
Mayo 2015
Ing. Michael Dvila Pgina 2
Contenido Temtico:
Tema 1: Instalacin de Asterisk
Tema 2: Configuracin de telfonos IP utilizando el protocolo SIP
Tema 3: Estructuracin de plan de numeracin
Tema 4: Interconexin de dos servidores Asterisk
Tema 5: Configuracin de telfonos analgicos
Tema 6: Configuracin de troncales analgicas y digitales
Tema 7: Ruteo de llamadas
Tema 8: Grabacin de llamadas
Tema 9: Correo de voz
Tema 10: Salas de conferencia
Tema 11: Parqueo de llamadas
Tema 12: IVR (Interactive Voice Response), ACD (Automatic Call Distribution)
Juan Michael Dvila Galindo. Ingeniero de Sistemas
Gmail :[email protected] Rpc : 991688428
-
Mayo 2015
Ing. Michael Dvila Pgina 3
Instalacin de Asterisk(Tema 1)
El programa de software Asterisk fue desarrollado por Mark Spencer, por entonces estudiante de ingeniera informtica en la Universidad de Auburn, Alabama. Mark haba creado en 1999 la empresa "Linux
Support Services" con el objetivo de dar soporte a usuarios de
GNU/Linux. Para ello necesitaba una central telefnica, pero ante la imposibilidad de adquirirla dados sus elevados precios, decidi construir
una con un PC bajo Linux, utilizando lenguaje C.
Posteriormente "Linux Support Services" se convertira en el ao 2001 en "Digium", redirigiendo sus objetivos al desarrollo y soporte de
Asterisk.
Una vez que sepas qu es Asterisk, podemos ver cmo se instala.
Contenido
Qu necesitamos
LINUX
DAHDI
LibPRI
Asterisk
Qu necesitamos
Para instalar cualquier aplicacin, es imprescindible prestar atencin a
las cosas que necesitamos:
1. Un sistema con sistema operativo Linux
2. Libreras necesarias
3. Aplicaciones necesarias
4. Otros paquetes opcionales
Asterisk est formado por paquetes:
DAHDI
LibPRI
-
Mayo 2015
Ing. Michael Dvila Pgina 4
Asterisk
Primero Instalar LINUX (Centos 7)
Para administrar los servicios del servidor Centos en Windows se usa el programa PUTTY
Se Descarga de
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
-----------------------------------------------------------------------
Para administrar los archivos del servidor Centos se usa el Programa WinSCP.exe
Se Descarga de
-
Mayo 2015
Ing. Michael Dvila Pgina 5
http://sourceforge.net/projects/winscp/files/WinSCP/5.7.3/winscp573set
up.exe/download?use_mirror=ufpr&download=
Actualizando el Servidor
(Antes de instalar hay q actualizar el servidor)
yum update -y
Esto se hace desde PUTTY
Recordar q hay q Deshabilitar 2 servicios el selinux y el firewal linux
para el firewall
systemctl mask firewalld
service firewalld stop
chkconfig firewalld off
Esto se hace desde PUTTY
para el selinux
vi /etc/selinux/config
Presionar el boton insertar en el teclado de la PC para poder escribir
Ojo no deshabilitar la ltima fila cambiar la fila del centro la que dice
SELINUXTYPE=disabled
Luego presionar
escape :wq
-
Mayo 2015
Ing. Michael Dvila Pgina 6
luego reiniciar el servidor
init 6
Instalando Dependencias para Asterisk
Instalar estas dependencias para Asterisk en PUTTY con estos comandos
yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel libuuid-devel
ir a la carpeta de Recursos con el comando cd para descargar Asterisk y sus Componentes
cd /usr/src/
-
Mayo 2015
Ing. Michael Dvila Pgina 7
wget http://downloads.asterisk.org/pub/telephony/libp
ri/libpri-1.4-current.tar.gz
-
Mayo 2015
Ing. Michael Dvila Pgina 8
cd ..
Entramos a la carpeta dahdi
cd /usr/src/dah*
-
Mayo 2015
Ing. Michael Dvila Pgina 9
asterisk rvvv
Configuracin de Telfonos Ip Utilizando SIP(Tema2)
Para configurar los Telefonos Ip ir a la ruta etc/asterisk/sip.conf para las carpetas y textos de configuraciones usar el WinScp
Configuracin Bsica del Protocolo SIP
[general]
disallow=all
allow=ulaw
allow=alaw
allow=g729
allow=gsm
language=es
[10]
callerid="Oficina"
type=friend
secret=4st3r1skmichael
qualify=yes
nat=no
host=dynamic
-
Mayo 2015
Ing. Michael Dvila Pgina 10
canreinvite=no
context=local
mailbox=10@michaelbuzon
callgroup=1
pickupgroup=1
Asterisk Necesita tener un plan de Discado
Para configurar un plan de Discado ir a la ruta etc/asterisk/extensions.conf para las carpetas y textos de
configuraciones usar el WinScp
Configuracin Bsica del Protocolo SIP
[General]
[default]
exten => s,1,congestion
exten => s,2,Hangup
[local]
exten => 10,1,Dial(SIP/10,20)
exten => 10,2,Hangup
Estructuracin de Plan de Numeracin (Tema3)
El plan de marcacin o Dial Plan, es el corazn de toda configuracin en asterisk, y de esta configuracin depender el performace y eficiencia
de nuestra central telefnica.
Para poder personalizar la central a gusto se deber comprender plenamente el funcionamiento del plan de marcacin de asterisk
Sintaxis:
-
Mayo 2015
Ing. Michael Dvila Pgina 11
El plan de marcacin se configura en el archivo extensions.conf, este
archivo reside usualmente en la carpeta /etc/asterisk/
El dial plan est compuesto de 04 conceptos principalmente:
- Contextos - Extensiones
- Prioridades - Aplicaciones
CONTEXTOS:
El dial plan se divide en secciones llamadas contextos, los contextos son nombres para un grupo de extensiones, las cuales pueden tener
diferentes propsitos. Los contextos tambin pueden interactuar entre ellos.
Los contextos se denotan escribiendo el nombre del contexto entre
corchetes [nombre_de_contexto].
Durante la creacin de una extensin (sip.conf, iax.conf, etc) se define a
que contexto pertenece.
p.e. context=from-internal
Todas las instrucciones por debajo del nombre del contexto son asignadas a ese mismo contexto hasta que un nuevo contexto sea
declarado.
Al inicio del archivo extensions.conf, existen dos contextos especiales
-[General] -[Globals]
La seccin general, contiene los parmetros generales del dial plan.
La seccin globals, contiene las variables globales del sistema, las cuales irn siendo utilizadas por los contextos siguientes.
EXTENSIONES:
Normalmente conocemos con el nombre de extensin, al nmero que se le asigna a los terminales telefnicos, sin embargo en asterisk una
extensin es mucho mas que un nmero _ telefnico, ya que define una serie de pasos (donde cada paso contiene una aplicacin) que asterisk
realizara durante una llamada.
-
Mayo 2015
Ing. Michael Dvila Pgina 12
La sintaxis usada para declarar una extensin es la palabra exten, seguido de una flecha formada por una signo igual y un signo mayor
p.e. exten =>
Esto va seguido por el nmero de la extensin.
exten => name,priority,application()
Una extensin completa est compuesta de:
El nombre (o nmero ) de la extensin.
La prioridad (cada extensin puede incluir mltiples pasos, el nmero
del paso es llamado prioridad)
La aplicacin (o comando) es el que realiza la accin en la llamada.
PRIORIDADES:
Cada extensin puede tener mltiples pasos, llamados prioridades, cada prioridad es numerada secuencialmente, comenzando con 1, y
ejecutando una aplicacin especfica.
Existe un tipo de prioridad no numerada que se representa con la letra n y permite evitar problemas generados por la numeracin secuencial.
Esta prioridad no numerada significa que cada prioridad es igual a la prioridad anterior +1
Por lo tanto: n=n+1 p.e. exten => 123,1,Answer()
exten => 123,n,do something exten => 123,n,do something else
exten => 123,n,do one last thing
exten => 123,n,Hangup()
PRIORIDADES - ETIQUETAS:
Desde asterisk 1.2, es muy comn asignar etiquetas de texto (labels), a
las prioridades. Esto es para asegurarnos que podremos referirnos a esa prioridad por un valor distinto a su nmero, el cual probablemente no se
conozca (prioridad n), y dado que actualmente el uso de prioridades no numeradas es muy usual en el diseo de una dial plan.
-
Mayo 2015
Ing. Michael Dvila Pgina 13
Para asignar una etiqueta de texto a una prioridad, solo basta con agregarla entre parntesis justo despus del nmero de la prioridad.
p.e. exten => 123,n(label),application()
APLICACIONES:
Las aplicaciones son el caballito de batalla del dial plan, cada aplicacin realiza una accin especfica sobre el canal actual, como por ejemplo,
tocar una meloda, aceptando entradas de tono, marcar un canal, colgar una llamada, y as sucesivamente.
Algunas aplicaciones como Answer() o Hangup(), no requieren mayor
informacin para hacer su trabajo, sin embargo existen otras aplicaciones que si requieren de cierta informacin adicional para
procesarla, a esta informacin adicional se le conoce como parmetros, y para pasarle los parmetros a la aplicacin deben colocarse entre los
parntesis.
Ocasionalmente podramos ver el pipe entre los parntesis, y es que
este signo es utilizado para separar mas de un parmetro.
CONSTRUYENDO UN DIAL PLAN SIMPLE: Answer(), Playback(), Hangup()
Vamos a construir un dial plan que consista en que , asterisk contesta la
llamada, toca una meloda, y luego cuelga. Para este ejemplo vamos a asumir que ya hemos creado la extensin y
que tiene como nombre de contexto from-internal
Para la construccin de este dial plan utilizaremos las siguientes aplicaciones:
Answer() Playback()
Hangup()
Answer(), es la aplicacin que se utiliza para que la central conteste una llamada que esta timbrando.
Se puede utilizar al inicio de la configuracin del contexto para una
extension, pero en algunas ocasiones no es necesario.
-
Mayo 2015
Ing. Michael Dvila Pgina 14
Como ya mencionamos, Anwser() no tiene argumentos
Playback(), es la aplicacin que se utiliza para reproducir un sonido
grabado previamente en un archivo o a travs de un canal.
Cuando utilizamos playback, las entradas (inputs) del usuario desde la
extension son ignoradas.
Para utilizar playback() se debe ingresar el nombre del archivo sin la extension (p.e. .wav o .mp3) como argumento entre los parntesis.
Por defecto playback buscara el archivo ingresado como argumento en
la ruta /var/libs/asterisk/sounds
Si se desea hacer referencia a un archivo ubicado en otra ruta, se deber ingresar la ruta completa entre los parntesis
Playback(/home/john/sounds/filename)
Lo mas comun es crear una carpeta para estos archivos dentro de la ruta por defecto
Playback(custom/filename)
Ahora si vamos a crear nuestro dial plan
[from-internal]
exten => 1234,1,Answer() exten => 1234,n,Playback(hello-world)
exten => 1234,n,Hangup()