Manual Asterisk Completo Sistemas
Manual Asterisk Completo Sistemas
Manual Asterisk Completo Sistemas
Instalacin y configuracin
Ejemplo de centrales:
Asterisk es una aplicacin OpenSource basada en licencia GPL y por lo tanto con
las ventajas que ello representa, lo que lo hace libre para desarrollar sistemas de
comunicaciones profesionales de gran calidad, seguridad y versatilidad.
Caractersticas de la PSTN
Entre las centrales la comunicacin se realiza a travs de las troncales, las cuales
generalmente son digitales. Se le conoce como red de transporte.
Analgicas
Digitales
Digitales: utilizan estructuras multiplexadas que utilizan sealizacin (E1, T1) las
cuales estn formadas por centrales digitales que transportan voz y sealizacin.
Son ms eficientes que las troncales analgicas y permiten la implementacin de
aplicaciones de valor agregado.
Una central telefnica tipo PBX utiliza una lnea troncal para poder hacer de la
central parte de la red de otras centrales y mantener comunicaciones.
Generalmente las lneas troncales de los PBX son enlaces digitales E1 y T1 que
soportan hasta 30 canales (lneas) de voz para la intercomunicacin. Si se llegase
a interrumpir la comunicacin de la lnea troncal, no habra manera de establecer
comunicacin entre las centrales por ninguno de sus 30 canales.
Normalmente el bucle del abonado puede estar entre 5 y 7Km , para este calculo
se toma como referencia la resistencia del circuito.
FXS y FXO son los nombres de los puertos usados por las lneas telefnicas analgicas (tambin
denominados POTS - Servicio Telefnico Bsico y Antiguo)
FXS La interfaz de abonado externo es el puerto que efectivamente enva la lnea analgica al
abonado. En otras palabras, es el enchufe de la pared que enva tono de marcado, corriente para la
batera y tensin de llamada.
FXO Interfaz de central externa es el puerto que recibe la lnea analgica. Es un enchufe del telfono
o aparato de fax, o el enchufe de su centralita telefnica analgica. Enva una indicacin de
colgado/descolgado (cierre de bucle). Como el puerto FXO est adjunto a un dispositivo, tal como un
fax o telfono, el dispositivo a menudo se denomina dispositivo FXO.
Por lo tanto aqu se conectan las lneas analgicas de las COs tradicionales y los puertos de las
extensiones de PBXs.
PBX son las siglas en ingls de Private Branch Exchange, la cual es la red telefnica
privada que es utilizada dentro de una empresa. Los usuarios del sistema telefnico PBX
comparten un nmero definido de lneas telefnicas para poder realizar llamadas externas.
El sistema PBX conecta las extensiones internas dentro de una empresa y al mismo tiempo
las conecta con la red pblica conmutada, conocida tambin como PSTN (public switched
telephone network).
FXO
E1,T1
E&M
Transferencia de llamada
Conferencias
Captura de Llamadas
Llamada en espera
Servicio Diurno y Nocturno
Clases de Servicio
IVR
Interfaces con porteros y telfonos de puerta
NO Molestar
Desvos de llamadas
Grupos de hunting (Ejemplo: los grupos de timbrado)
Re llamada sobre interno ocupado
Etc.
Como la voz viaja por una red de conmutacin, se debe tener en cuenta que
esta debe cumplir requisitos necesarios sin que se deteriore la
comunicacin. Para esto debemos asegurar una calidad de servicio,
trabajando con retardos pequeos, dispositivos que administren el trfico de
voz eficientemente. (jitter retardo).
FXS/FXO
E1
E&M
Algoritmos:
Historia de Asterisk
Asterisk fue creada en 1999 por Mark Spencer de la empresa Digium y donada
a la comunidad con licencia libre tras lo cual se han recibido muchas
colaboraciones y mejoras por parte de muchos desarrolladores libres y empresas
sin solicitar nada a cambio.
Versiones
Asterisk LibPri Zaptel DAHDI
1.8 1.8.4.3 1.4.11.5 n/a 2.4.1.2
1.6.2 1.6.2.18 1.4.11.5 n/a 2.4.1.2
1.4 1.4.41 1.4.11.5 1.4.12.1 2.4.1.2
1.2 1.2.31 1.2.8 1.2.27 n/a
API de Canales: Los apis de canales controlan las llamadas del sistema, sean
voz IP, llamadas analgicas , o de cualquier otra tecnologa; pudiendo
desarrollar nuevos canales.
Las aplicaciones interactan con los archivos, codecs, y canales a travs de APIS, Asterisk
posee 4 APIS:
API DE CANALES
API DE CODECS
API DE FORMATO DE ARCHIVOS
API DE APLICACIONES
El Api de Canales le permite a Asterisk interactuar con canales diferentes tanto TDM como de
TDM, VoIP,
Canales para la red Pblica:
chan_dahdi: Digium Dahdi (tarjetas analgicas)
system.conf : tarjetas Digitales
Algoritmos:
ARCHIVOS:
Asterisk soporta algunos tipos de archivos que utiliza para reproducir audio como:
mp3,wav,gsm,etc.
Requisitos de Software.
Drivers DAHDI (anteriormente zaptel)- drivers para las tarjetas. Analgicas o digitales
Libreras para PRI (libpri). Libreras para las tarj. Usarla cuando tenga interfaces ISDN PRI, esto
ahorra memoria RAM.
NOTA: Es recomendable instalas los tres paquetes para activar los modulos que se van
necesitando segn sea el escenario
Obtener de la direccin:
http://www.asterisk.org/downloads
los paquetes:
asterisk
asterisk-addons
asterisk-sounds
dahdi
libpri
Estos paquetes descargaran en formato tar.gz los cuales debern ser desempaquetados en:
/usr/src/
#tar xvzf asterisk-addons (ofrece soporte mysql par alas CDR y soporte mp3 para MOH (music on
Hold)
#make clean
#make
#make install
2. Instalacin de DAHDI
#make clean
#./configure
#make
#make install
#make
#make samples : Instala los archivos de configuracin por defecto. Despues de instalar asterisk si
se vuelve a ejecutar make samples borrara la configuracin anterior.
#make config.- instala los script de arranque , esta linea define el autoinicio del programa durante
la carga del sistema operative.
#make clean no es necesario la primera vez que compilamos los drivers, pero es necesario cuando
se recompila los drivers, asi nos aseguramos que se eliminaran los archivos de configuracin y
binarios anteriores.
#asterisk -rvvvvv
Estas es una central privada de una compaa u oficina que se encarga de administrar las llamadas
entre las extensiones conectadas a ella, asi como las lneas telefnicas de entrada y salida.
Funciones:
O funciones avanzada:
Marcador automtico.
Contestador automatico
Distribuidor automatico de trafico de llamadas
Cuentas con codigos para registrar llamadas
Desvio de llamadas.
Transferencias de llamadas
Llamada en espera
Conferencia entre tres o mas usuarios
Mensaje de bienvenida
Marcado de una extensin desde el exterior del sistema
NO molestar
Musica en espera
Servicio de modo nocturno /hora almuerzo
Reporte de llamadas CDR
Tipos:
DAHDI/2
SIP/4001
IAX/iax-server-remoto
Salida:
SIP/[<exten>@] <peer>[:<puertono>]
peer: es el nombre del punto a donde nos vamos a conectar. Puede ser un nombre o una ip.
Ejemplos:
SIP/3001@jyupanqui:5060
SIP/jyupanqui@172.17.0.50:5060
SIP/2001
Entrada:
Por ejemplo cuando se integra con una central remota que ofrece bolsa de minutos.
SIP/<peer>-<id>
Id es el identificador remoto
Ejemplo:
SIP/172.17.3.100-02FB43D6
Este es un protocolo punto a punto, implementado como cliente servidor. Est basado en los
protocolos HTTP y SMTP. Usado originalmente para establecer y terminar las sesiones
multimedia en la internet.
Para el envi de voz se utiliza el protocolo RTP, el cual la enva directamente entre dos puntos.
Los puntos remotos son los user agents, los cuales pueden ser de dos tipos: clientes o servidores:
User agent server: es el punto que procesa los requerimientos y genera una respuesta.
Todos los clientes antes de poder iniciar una llamada debern registrarse
primero. Este proceso consiste en asociar un nombre de la cuenta sip con el
numero ip del dispositivo conectado.
[general]
bindport=5060
bindaddr=0.0.0.0
context=local
language=es
disallow=all
allow=all
language= lenguaje por defecto para ser usado por las aplicaciones
PlayBack y Background.
[4001]
type=friend
secret=sistemas
nat=no
host=dynamic
disallow=all
allow=ulaw
allow=gsm
context=local
Mute
Redial
Videoconferencia
G711,GSM
Contextos
Extensiones
Prioridades
Aplicaciones
ejemplo:
exten=> 2000,1,answer
APLICACIONES
Answer Contesta el canal al que esta
llamando
Dial Marca un canal especifico
Hangup Cuelga un canal que esta activo
Playback Toca un archivo de sonido
Background Toca un archivo de sonido mientras
se puede seguir interactuando en el
plan
wait Espera un tiempo determinado
[entrada]
exten=> 1001,1,Answer()
exten=> 1001,2,playback(bienvenidos.wav)
exten=> 1001,3,hangup()
exten=> 1002,1,Dial(SIP/1002,10)
exten=> 1002,3,Hangup()
PUERTO: 4569
Canales de salida:
IAX/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context
>][/options]]
Ejemplo:
exten=> 4001,1,dial(IAX2/iax-server-A/2001,20)
user= usuario
secret = password
[general]
bindport=4569
bindaddr=172.17.3.20
bandwidth=low
jitterbuffer=yes
[arequipa]
type=friend
host=dynamic
trunk=yes
secret=sistemas
context=entrada
deny=0.0.0.0/0.0.0.0
permit=172.17.3.200/255.255.252.0
[topiura]
exten=4001,1,dial(iax2/piura/${exten})
CLI>reload
El tipo de senalizacion.
Aqu se asume que tenemos una tarjeta con dos modulos FXS en los
canales 1 y 2; 2 dos modulos en los canales FXO en los canales 3 y 4.
El archivo de configuracin system.conf quedara:
fxoks=1,2
fxsks=3,4
loadzone= fr
defaultzone = fr (el tipo de sealizacin la define el proveedor.
Per se basa en el standard europeo).
[channels]
usecallerid=yes
hidecallerid=yes
callwaiting=yes
threewaycalling=yes
transfer=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group 1
signalling = fxo_fxs
Language = en
Context = ventas
channel => 1
signalling = fxo_ks
language = fr
context = operaciones
channels => 2
Canales de salida:
dahdi/[g] ,identifier.[c][r<cadense.]
Ejemplo:
zap/1
zap/g1
dahdi/1
dahdi/g1
Ejemplos>
[local]
La sintaxis es la siguiente:
Record(filename.format[|silence][|mxduration][|option]
La sintaxis es la siguiente:
wait(seconds)
Ejemplos:
sip.conf
El fichero de configuracin del canal sip se encuentra en
/etc/asterisk/sip.conf y por tanto ser donde configuremos las cuentas SIP.
Su formato es similar al de los ficheros .ini; por lo que se encuentra dividido en
secciones conocidas en Asterisk como contextos. En el fichero sip.conf hay un
contexto predefinido, se llama [general]:
[general]
port=5060
bindaddr = 0.0.0.0
context = normal
videosupport = no
language = es
disallow = all
allow= alaw, gsm
type: define la clase de conexin que tendr el cliente. Hay tres tipos de clientes SIP:
1. peer: solo puede recibir llamadas.
2. user: solo puede realizar llamadas.
3. friend: puede recibir y realizar llamadas.
callerid: es el identificador del cliente, es decir, el nombre que aparecer cuando se realice
una llamada.
username: usuario con el que nos conectaremos al servidor Asterisk.
secret: contrasea con la que se realizar la autenticacin en Asterisk junto con el
username.
context: contexto asociado al cliente en el dialplan de Asterisk, es decir, contexto que se
aplicar en el fichero extensions.conf del cual hablaremos ms adelante.
dtmfmode: Dual-Tone Multi-Frequecy (DTMF) se refiere a la marcacin por tonos.
Normalmente le especifico que use el estandar rfc2833.
qualify: si se establece a yes podremos monitorizar la extensin. Esta configuracin no es
muy recomendable cuando tenemos muchas extensiones.
Bien! Ya tenemos lo suficiente como para empezar a registrar cada uno de los clientes SIP :-) De
esta forma, para registrar el telfono digital cuya extensin es 1001 tendremos que aadir la
siguiente configuracin al fichero /etc/asterisk/sip.conf:
Como una breve anotacin tengo que decir que en la cabecera de la seccin, en este caso [1001],
podemos poner cualquier cadena, creo que sin espacios, pero yo opto por poner el nmero de la
extensin, me es ms cmodo al leer la configuracin.
Una que hemos configurado un cliente, los dems son coser y cantar. Vamos a registrar un nuevo
cliente SIP, por ejemplo, mi portatil cuyo username es mviera y su extensin ser 1003. La
configuracin en sip.conf sera la siguiente:
[1003]
Callerid = jyupanqui
Username = 1003
Secret = 1003
Type = friend
Host = dynamic
Context = normal
Qualify = yes
Pickupgroup = 1
Limitonpeers = yes
call-limit = 4
dtmfmode = rfc2833
nat = yes
Fcil no? Pero no os resulta esta ltima configuracin un poco redundante? Algunos ya se
habrn dado cuenta. En realidad esta ltima configuracin es igual que la anterior, solamente
cambian los parmetros callerid, username y secret. Cierto?
Para ello, Asterisk en su ltimas versiones permite el uso de mscaras. Esta funcionalidad nos
permite crear una seccin padre donde configuraremos todos los parmetros comunes. De esta
forma podremos heredar parte de la configuracin, pudiendo sobreescribir o incluir nuevos
parmetros que nos sean necesarios. Utilizaremos (!) junto al nombre de la seccin, para
especificar que una seccin actuar como una mscara. Ejemplo: [nombre_seccion](!).
Para especificar que una seccin hereda de otra que acta como mscara especificaremos el
nombre de la mscara a continuacin del nombre de la seccin, es decir, de la siguiente forma:
[nombre_seccion](nombre_mascara). Por lo que la configuracin de las extensiones 1001 y
1003 se reducira a lo siguiente:
[1001](normal)
callerid=digital
username=1001
secret=1001
[1003](normal)
callerid=mviera
username=1003
secret=1003
# /etc/init.d/asterisk restart
La configuracin del resto de extensiones es similar a las anteriores, aun as os dejo el enlace al
fichero sip.conf.
AGI commands
Console commands
Database commands
Dialplan commands
IAX2 commands
Module management
Queue commands
SIP commands
Zaptel commands
DAHDI commands