Académique Documents
Professionnel Documents
Culture Documents
Instalacin y configuracin
Introduccin a Asterisk.
Los equipos de telefona han sido desarrollos propietarios de marcas
grandes, por lo que el acceso a centrales telefnicas de bajo costo para las
empresas medianas y pequeas, van de la mano con las bajas
funcionalidades. Adicionalmente la convergencia de los servicios de telefona
sobre las redes de datos, dan como resultado la telefona IP, que no solo
nos permite beneficiarnos de sus bajos costos en comparacin con la
telefona tradicional, sino tambin de nuevas aplicaciones que permiten a las
compaas y a sus empleados trabajar con mayor eficiencia en beneficio de
sus clientes.
Ejemplo de centrales:
LA PSTN
LA PSTN
Los COs (Oficinas central) son centrales de conmutacin locales que interconectan
los telfonos en un rea especfica.
Troncales
Las troncales interconectan a las centrales telefnicas. Estas transportan la voz
entre los abonados de la central.
Las troncales pueden ser de dos tipos:
Analgicas
Digitales
BUCLE DE ABONADO
INTERFACES ANALOGICAS
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.
Por lo tanto a un FXS se le conectan telfonos analgicos tradiciones.
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.
FXS/FXO
10
FXS/FXO
11
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).
Una de las tendencias ms recientes en telefona es la telefona computarizada, paralelo al
desarrollo de sistemas telefnicos que transmiten la voz por medio de la red de internet.
Estos llevan el nombre de VoIP PBX IP PBX.
El procesador se encarga de establecer la direccin que puede tomar una llamada, la
mejor ruta para la conexin, la facturacin, etc.
Estas pueden usar diferentes interfaces para comunicarse con la PSTN.
FXO
E1,T1
E&M
12
FUNCIONALIDADES DE LA PBX
1. Funcionalidades de una PBX.
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.
13
Telefona IP
Conceptos de telefona IP
14
TELEFONA IP
La Telefona IP es una solucin tecnolgica que sirve para transmitir
comunicaciones de voz sobre una red de datos basada en el estndar IP.
Con la solucin de Telefona IP, la organizacin reduce costos integrando
sus aplicaciones de voz y datos sobre una nica plataforma de Red. Esta
solucin permite elevar la productividad, reducir costos operativos de la
empresa mediante la convergencia de las comunicaciones; adems de
escalar las soluciones de acuerdo a las necesidades de las empresas, las
cuales pueden ser corporativas, medianas o pequeas.
El concepto de telefona ip es ms ampli ya que implica la interconexin
con otras redes de telefona: PSTN, GSM, etc. Generalmente nos referimos
a este concepto cuando hablamos de VOIP.
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).
15
Una red de telefona ip, transporta la voz de los usuarios a travs de una red
de datos , utilizando equipos diversos como:
Terminales de voz: Telfonos ip por hardware, softphones, vide telfonos,
etc.
Gateway de voz: Son dispositivos que actan como interfaces entre
diferente grupo de redes permitiendo integrar la red de telefona ip con
otras redes, como la PSTN.
ATA: Dispositivos que permiten conectar telfonos analgicos a la red de
datos.
Call managers: Se encargan de administrar la comunicaciones entre
dispositivos terminales. Pueden almacenar informacin sobre la facturacin,
despliegan servicios de valos agregado.
Estos dispositivos usan diferentes interfaces:
FXS/FXO
E1
E&M
16
Protocolos
Los protocolos de sealizacin son utilizados para establecer la conexin,
ubicar al destino, identificar la llamada, desconexin, etc.
17
CODECS:
Nos dan la posibilidad de utilizar menos ancho de banda por canal de voz.
Permitindonos pasar ms canales de voz. (Llamadas) por la red:
Entre los ms utilizados tenemos:
18
MOS,
Mean Opinion Score (Calidad de experiencia)
Una unidad de medida referente a la calidad del habla humana en sistemas de
telefona VoIP, representada con un porcentaje. MOS es calculada tomando el
promedio numrico entre puntajes dados por un jurado utilizndolo como un
indicador para medir la calidad de un sistema.
MOS
5
4
3
2
1
CALIDAD
Excelente
Buena
Pasable
Pobre
Mala
DEFICIENCIA
Imperceptible
Perceptible pero no incomoda
Incomoda mnimamente
Incomoda
Incomoda bastante
CODEC
G.711
G.726
G.729
GSM
Ancho de banda
(kbps)
64
32
8
12.2
RESULTADO
4.19
3.85
3.92
3.5
19
ARQUITECTURA DE ASTERISK
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.
Poco a poco, esta aplicacin se ha convertido en la evolucin de las tradicionales
centralitas analgicas y digitales permitiendo tambin integracin con la tecnologa
ms actual: VoIP. Asterisk se convierte as en el mejor, ms completo, avanzado y
econmico sistema de comunicaciones existente en la actualidad.
Otro aliciente es su capacidad de ser programada, permitiendo realizar labores que
hasta el da de hoy lo llevaban realizando sistemas extremadamente costosos y
complicados y, gracias a Asterisk, esta misma labor se realiza de una forma ms
econmica lo que fomenta el uso de sistemas libres como Linux y estndares
abiertos como SIP, H323 o IAX.
Una de las ventajas ms interesantes es su posibilidad como sistema hbrido, ya
que permite gestionar comunicaciones telefnicas tradicionales (analgicas,
digitales, mviles, ...) como comunicaciones IP mediante el uso de los protocolos
estandar de VoIP.
20
ASTERISK
Asterisk es un programa de software libre (bajo licencia GPL) que proporciona
funcionalidades de una central telefnica (PBX). Como cualquier PBX, se puede
conectar un nmero determinado de telfonos para hacer llamadas entre s e
incluso conectar a un proveedor de VoIP o bien a una RDSI tanto bsicos como
primarios.
Asterisk es una plataforma de comunicaciones convergentes diseada para aceptar
diferentes tipos de hardware para telefona ip, telefona analgica, y software que
interacte entre ellos de forma consistente.
Existen versiones de Asterisk para MAC y Windows.
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
Todas
estas
versiones
http://downloads.digium.com/pub/
se
pueden
descargar
desde:
21
ASTERISK
TELEFONA IP: SIP, IAX, H323
CODECS: G711.G729, GSM
22
HARDWARE DE ASTERISK
TDM400P -Analgica
4 INTERFACES FXS/FXO
LOS MODULOS DE PUEDEN
INTERCAMBIAR
Tarjeta Digital
23
IMPLEMENTACIONES
24
IMPLEMENTACIONES
25
INSTALACION DE ASTERISK
26
Iniciando Asterisk
Para iniciar Asterisk :
27
Directorios de instalacin:
/etc/asterisk
/usr/sbin
/usr/lib/asterisk
/usr/lib/asterisk/modules
/usr/include/asterisk
/var/lib/asterisk/agi-bin
/var/lib/asterisk/astdb
/var/lib/asterisk/images
/var/lib/asterisk/keys
/var/lib/asterisk/mohmp3
/var/lib/asterisk/sounds
/var/run/asterisk.pid
/var/run/asterisk/ctl
/var/spool/asterisk
28
29
Concepto de canal
Un canal para Asterisk es una conexin producto de una llamada en la
central Asterisk. Representa la conexin de dos entidades dentro de un
sistema, las cuales podran ser de los siguientes tipos:
DAHDI
SIP: Canal que conecta a dispositivos SIP
IAX: Canales que utilizan el protocolo IAX
H323: Canales que conectan al dispositivo H323
SKINNY
30
Nomenclatura de canales:
Tecnologa/cadena marcada
Ejemplo:
Dahdi/2
SIP/3001
IAX/guest@jyupanqui.sistemasuni.edu.pe
31
Protocolo SIP
SIP (Session Initiation Protocol) es un protocolo de sealizacin para
conferencia, telefona, presencia, notificacin de eventos y mensajera
instantnea a travs de Internet. Fue desarrollado incialmente en el grupo
de trabajo IETF MMUSIC (Multiparty Multimedia Session Control) y, a partir
de Septiembre de 1999, pas al grupo de trabajo IETF SIP.
Pgina oficial sobre el protocolo SIP: SIP - Columbia University
Algunas organizaciones de estandarizacin que lo estn
actualmente, o considerando utilizarlo en un futuro inmediato:
usando
32
Protocolo IAX
IAX (Inter - Asterisk eXchange protocol) es un protocolo propietario,
desarrollado por Mark Spencer (creador de Asterisk), Brian Capouch, Ed Guy y
Frank Miller. La versin mas reciente es la 2 y por ello lo encontramos mas
comnmente como IAX2. Aunque surgi como un proyecto privado, desde
febrero del 2010 figura ya dentro de los RFCs bajo el nmero 5456 con el
carcter de informativo y en el mismo documento se aclara que tal publicacin,
se hace a discrecin del editor y que de ninguna manera IAX2 es candidato a
convertirse en estndar de la IETF. Quiz estn hacindose la misma pregunta.
IAX2 representa una alternativa frente a los protocolos mas difundidos en el
mercado VoIP como SIP y H.323. IAX2 posee algunas ventajas y desventajas
como en todos los casos y en esta seccin nos avocaremos a platicar un poco
de ellas.
33
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]:
En el contexto [general] definiremos parmetros que se aplicarn en todos los
contextos posteriores. Algunos de los parmetros generales del canal SIP son:
34
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:
[1001]
callerid=Gabriel
username=1001
secret=1001
type=friend
host=dynamic
context=normal
qualify=yes
pickupgroup=1
limitonpeers=yes
call-limit=4
dtmfmode=rfc2833
nat=yes
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:
35
[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](!).
Ya que sabemos sobre la existencia de las mscaras en Asterisk, vamos a modificar la
configuracin actual en /etc/asterisk/sip.conf. Crearemos una seccin [normal] con los parmetros
comunes y las extensiones 1001 y 1003 heredarn de esta seccin.
[normal](!)
type=friend
host=dynamic
context=normal
qualify=yes
pickupgroup=1
limitonpeers=yes
call-limit=4
dtmfmode=rfc2833
nat=yes
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
36
37
COMANDOS ASTERISK
General CLI commands
! - Execute a shell command
abort halt - Cancel a running halt
cdr status - Display the CDR status
feature show - Lists configured features
feature show channels - List status of feature channels
file convert - Convert audio file
group show channels - Display active channels with group(s)
help - Display help list, or specific help on a command
indication add - Add the given indication to the country
indication remove - Remove the given indication from the country
indication show - Display a list of all countries/indications
keys init - Initialize RSA key passcodes
keys show - Displays RSA key information
local show channels - List status of local channels
logger mute - Toggle logging output to a console
logger reload - Reopens the log files
logger rotate - Rotates and reopens the log files
logger show channels - List configured log channels
meetme - Execute a command on a conference or conferee
mixmonitor - Execute a MixMonitor command.
38
Agents commands
agent logoff - Sets an agent offline
agent show - Show status of agents
agent show online - Show all online agents
AGI commands
agi debug - Enable AGI debugging
agi debug off - Disable AGI debugging
agi dumphtml - Dumps a list of agi commands in html format
agi show- List AGI commands or specific help
dnsmgr reload - Reloads the DNS manager configuration
dnsmgr status - Display the DNS manager status
http show status - Display HTTP server status
Console commands
console active - Sets/displays active console
console answer - Answer an incoming console call
console autoanswer - Sets/displays autoanswer
console boost - Sets/displays mic boost in dB
console dial - Dial an extension on the console
console flash - Flash a call on the console
console hangup - Hangup a call on the console
console mute - Disable mic input
console send text - Send text to the remote device
console transfer - Transfer a call to a different extension
console unmute - Enable mic input
39
Database commands
database del - Removes database key/value
database deltree - Removes database keytree/values
database get - Gets database value
database put - Adds/updates database value
database show - Shows database contents
database showkey - Shows database contents
Dialplan commands
dialplan add extension - Add new extension into context
dialplan add ignorepat - Add new ignore pattern
dialplan add include - Include context in other context
dialplan reload - Reload extensions and *only* extensions
dialplan remove extension - Remove a specified extension
dialplan remove ignorepat - Remove ignore pattern from context
dialplan remove include - Remove a specified include from context
dialplan save - Save dialplan
dialplan show - Show dialplan
IAX2 commands
iax2 provision - Provision an IAX device
iax2 prune realtime - Prune a cached realtime lookup
iax2 reload - Reload IAX configuration
iax2 set debug - Enable IAX debugging
iax2 set debug jb - Enable IAX jitterbuffer debugging
iax2 set debug jb off - Disable IAX jitterbuffer debugging
iax2 set debug off - Disable IAX debugging
iax2 set debug trunk - Enable IAX trunk debugging
iax2 set debug trunk off - Disable IAX trunk debugging
iax2 show cache - Display IAX cached dialplan
iax2 show channels - List active IAX channels
iax2 show firmware - List available IAX firmwares
iax2 show netstats - List active IAX channel netstats
iax2 show peers - List defined IAX peers
iax2 show peer - Show details on specific IAX peer
iax2 show provisioning - Display iax provisioning
iax2 show registry - Display IAX registration status
iax2 show stats - Display IAX statistics
iax2 show threads - Display IAX helper thread info
iax2 show users - List defined IAX users
iax2 test losspct - Set IAX2 incoming frame loss percentage
Module management
40
Queue commands
queue add member - Add a channel to a specified queue
queue remove member - Removes a channel from a specified queue
queue show - Show status of a specified queue
rtcp debug ip - Enable RTCP debugging on IP
rtcp debug - Enable RTCP debugging
rtcp debug off - Disable RTCP debugging
rtcp stats - Enable RTCP stats
rtcp stats off - Disable RTCP stats
rtp debug ip - Enable RTP debugging on IP
rtp debug - Enable RTP debugging
rtp debug off - Disable RTP debugging
say load - Set/show the say mode
show parkedcalls - Lists parked calls
show queue - Show information for target queue
show queues - Show the queues
SIP commands
sip history - Enable SIP history
sip history off - Disable SIP history
sip notify - Send a notify packet to a SIP peer
sip prune realtime - Prune cached Realtime object(s)
sip prune realtime peer - Prune cached Realtime peer(s)
sip prune realtime user - Prune cached Realtime user(s)
sip reload - Reload SIP configuration
sip set debug - Enable SIP debugging
sip set debug ip - Enable SIP debugging on IP
sip set debug off - Disable SIP debugging
sip set debug peer - Enable SIP debugging on Peername
sip show channels - List active SIP channels
sip show channel - Show detailed SIP channel info
sip show domains - List our local SIP domains.
sip show history - Show SIP dialog history
sip show inuse - List all inuse/limits
sip show objects - List all SIP object allocations
sip show peers - List defined SIP peers
sip show peer - Show details on specific SIP peer
sip show registry - List SIP registration status
sip show settings - Show SIP global settings
sip show subscriptions - List active SIP subscriptions
sip show users - List defined SIP users
sip show user - Show details on specific SIP user
41
Voicemail commands
voicemail show users - List defined voicemail boxes
voicemail show users for - List defined voicemail boxes for target context
voicemail show zones - List zone message formats
Zaptel commands
zap destroy channel - Destroys a channel
zap restart - Fully restart zaptel channels
zap show cadences - List cadences
zap show channels - Show active zapata channels
zap show channel - Show information on a channel
zap show status - Show all Zaptel cards status
DAHDI commands
dahdi show channels
dahdi show channel
42
BIBLIOGRAFIA:
43