Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Asterisk El Manual
Asterisk El Manual
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
Flavio E. Gonalves
Ex
Tercera Generacin
1. Edicin/Janeiro/2007
rev. 8.2
ii
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Constato: oops@asteriskguide.com
Todos los derechos reservados. Es prohibida la reproduccin total o parcial de esto libro.
iii
Prefacio
El Asterisk PBX es, en mi opinin, una revolucin en reas de telefona ip
y PBX basado en software. Durante muchos aos el mercado de la
telefona fue ligado a equipamientos propietarios fabricados por grandes
compaas multinacionales. A pesar de tener equipamientos de bajo costo
estas arquitecturas tambin presentan baja funcionalidad. La
convergencia de datos y voz en poco tiempo va hacer que la telefona sea
apenas una aplicacin mas de redes, tornando las actuales PBX obsoletas.
Con la entrada de Asterisk, ms y ms empresas van a poder
experimentar recursos como URA unidad de respuesta audible, DAC
es
distribucin automtica de llamadas, movilidad, buzn de voz, y
conferencia, antes restrictivo solo a grandes compaas debido al alto
ed
costo.
ar
zP
La telefona IP cuando adquiera masa crtica har con el PBX de cualquier
empresa pueda hablar con el PBX de cualquier otra a travs de Internet.
re
A la hora de evaluar los beneficios de Asterisk preciso entrever este
Pe
horizonte futuro que operadoras IP hacen intercomunicacin automtica
con otros PBX. La economa en DDD y DDI es solo la punta del iceberg.
el
igu
lo que existe sobre Asterisk en este libro, pues esto seria una misin casi
imposible, nuevos recursos estn siendo agregados todos los das y
clu
Flvio E Goncalves
Diretor Geral
V.Office Networks
flavio@asteriskguide.com
iv
Agradecimientos
Tengo aqu que agradecer a mi familia por la paciencia de verme
trabajando las madrugadas y fines de semanas para que este material
pudiese ser escrito. Agradezco a Clarice mi esposa y compaera por los
incentivos y apoyo y a Cristina Gonalves y Cristiano Soares por resolver
todos los embates como la publicacin, distribucin, tapa, marketing que
posibilitaron que este material llegase a los usuarios y a Oscar Osvaldo
Fueyo Alvarez por la traduccin al espaol.
es
Marcas registradas
ed
ar
Las marcas registradas de DIGIUM, de ASTERISK, de IAX y de
zP
DUNDi son caracterstica de Digium Inc.
re
Pe
Este trabajo es independiente y no es patrocinado ni es endosado por
Digium Inc.
el
igu
Errores
eM
nt
oops@asteriskguide.com
siv
clu
Ex
v
Sumario
INTRODUCCIN AL ASTERISK....................................................................11
es
1.7 UN SISTEMA PARA TESTES Y DESARROLLO ............................................. 23
ed
1.8 ESCENARIOS DE USO DE ASTERISK ..................................................... 24
1.9 BUSCANDO INFORMACIONES RELATIVAS A ASTERISK................................. 29
ar
1.10 SUMARIO ................................................................................ 29
zP
1.11 CUESTIONARIO.......................................................................... 30
re
Pe
BAJANDO E INSTALANDO ASTERISK ..........................................................32
el
igu
es
4.11 NOMENCLATURA DE LOS CANALES ZAP .............................................118
ed
4.12 NOMENCLATURA DE LOS CANALES UNICALL ........................................118
ar
zP
VOZ SOBRE IP...................................................................................... 120
re
Pe
5.1 OBJECTIVOS .............................................................................120
5.2 INTRODUCCIN ..........................................................................120
el
5.13 CUESTIONARIO.........................................................................132
siv
es
7.11 FORMAS DE PASAJES POR EL NAT ...................................................189
ed
7.12 SOLUCIONES PRCTICAS PARA EL ASTERISK .......................................193
ar
7.13 CONSIDERACIONES FINALES SOBRE EL NAT........................................197
zP
7.14 CUESTIONARIO.........................................................................198
re
RECURSOS BSICOS DEL PLAN DE DISCADO ........................................... 202
Pe
el
8.13 CUESTIONARIO.........................................................................226
clu
es
10.7 GRABANDO UNA COMUNICACIN .....................................................265
10.8 MSICA EN ESPERA MUSIC ON HOLD ..............................................265
ed
10.9 CUESTIONARIO.........................................................................267
ar
zP
DAC DISTRIBUCIN AUTOMTICA DE LLAMADAS.................................... 269
re
Pe
11.1 OBJETIVOS .............................................................................269
11.2 INTRODUCCIN ........................................................................269
el
11.9 CUESTIONARIO.........................................................................276
aV
es
14.4 EXTENDIENDO ASTERISK A TRAVS DE LA CONSOLA. ..............................303
14.5 EXTENDIENDO ASTERISK USANDO EL APLICATIVO SYSTEM ........................303
ed
14.6 LO QUE REPRESENTA AMI ............................................................304
ar
14.7 CONFIGURANDO USUARIOS Y PERMISOS ............................................305
zP
14.8 ASTERISK MANAGER PROXY ..........................................................309
14.9 ASTERISK GATEWAY INTERFACE .....................................................311
re
14.10 ALTERANDO EL CDIGO FUENTE ....................................................317
Pe
14.11 SUMARIO .............................................................................317
14.12 CUESTIONARIO .......................................................................319
el
igu
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 1
Introduccin al Asterisk
En este captulo vamos aprender que es Asterisk, cual es su arquitectura
y como puede ser utilizado.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
Y mucho ms...
ed
Asterisk incluye muchos recursos que solo eran encontrados en sistemas
ar
de mensajeria unificada sistema encima de la lnea como:
zP
Msica en espera para clientes en filas de espera, soportando
re
streaming de media as como msica en MP3.
Pe
Filas de llamada donde agentes de forma conjunta atienden las
el
http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10)
es
Hace 20 o 25 aos atrs, La AT&T comenz a ofrecer una API permitiendo
ed
a los usuarios personalizar la funcionalidad de su sistema de buzn de voz
y auto-atencin de llamadas el cual recibi el nombre Audix. Audix corra
ar
en plataforma Unix y costaba como todo en telefona antes y hasta el
zP
momento, millares de dlares por puerta con una funcionalidad bastante
re
limitada.
Pe
En una tentativa de tornar las colas posibles y atractivas (Especialmente
el
para quien no tenia un PBX AT&T) algunos fabricantes vieron que con una
igu
placa que poda ser colocada en un PC que corriera con DOS y responda
a una nica lnea telefnica (FXO solamente) habra posibilidades. Las
eM
placas no tenan una calidad tan buena en cuanto a las actuales y muchas
terminaron como secretarias electrnicas siendo igualmente malas en
nt
calidad.
ice
gateway de voz sobre ip, va a ver que buena parte del costo todabia est
relacionada a los DSPs.
clu
creciendo. De forma que para probar el concepto inicial compr una placa
Mitel89000C ISDN Express Development Card y escrib un driver para el
FreeBSD. La placa ocup poco procesamiento de un Pentium III 600Mhz,
probando que si no fuese por la limitacin de I/O (La placa trataba de
forma ineficiente la I/O exigiendo muchos wait-states) ella podra atender
de 50 a 75 canales. Como resultado de este acontecimiento, yo sal y
compr lo necesario para crear un nuevo diseo de tarjeta ISA que usase
el I/O de forma eficiente. Yo consegu dos T1s (48 canales) de datos
transferidos sobre el bus entre memoria y el microprocesador y el PC
gerencia esto sin problemas. Entonces ya tena yo las placas ofrecidas
para la venta (Unas 50 fueron vendidas) y coloqu el diseo completo
(incluyendo archivos de ploteo de la placa) en la web. .
1.2 Que es Asterisk | 14
es
BSD para Linux.
ed
De cualquier forma mi experiencia con Linux no era buena y comenc a
ar
tener problemas en desarrollar el mdulo del kernel en la forma de
zP
mdulos cargables. De cualquier forma lo libere en la red sabiendo que
re
algn guru en Linux se reira de l y talvez me ayudara a reformarlo en
un Linux apropiado. En 48 horas recib un e-mail de un sujeto de
Pe
Alabama (Mark Spencer), que se ofreci para hacer exactamente esto. Me
el
entere que, l deca que tenia algo que seria perfecto para a todo esto en
igu
y interfaces permitiran a l crecer para ser un PBX real que podra hablar
con telfonos y lneas reales.
aV
ar
Como cualquiera puede ver, con el trabajo dedicado de Mark (un montn
de mi tiempo y de otras personas) los drives de Zaptel y el software de
Asterisk, son tecnologas que vienen de un largo tiempo atrs y que estn
creciendo y mejorndose da tras da.
es
procuro levantar toda la informacin sobre las alternativas de los
ed
proyectos que hago y intento descubrir cuales son los puntos fuertes y los
dbiles de una solucin como es Asterisk. Puedo decir que despus de
ar
algunos das yo quede pasmado, saba que Asterisk traera un cambio
zP
profundo en todo el mercado de las telecomunicaciones y voz sobre IP.
Asterisk es el Apache de la telefona. Djenme entonces dar varias
re
razones para elegir Asterisk y algunas limitaciones que an existen desde
Pe
la publicacin de este libro.
el
igu
Cuando usted agrega recursos avanzados como Voz sobre IP, URA e DAC,
la diferencia de costo es menor, en diversas oportunidades. Para dar un
op
Este es uno de los beneficios mas citados, en vez de esperar que alguien
configure su PBX propietario (algunos ni dan una indicacin para el cliente
final sobre esto), lo configura usted mismo. Total libertad e interfaces
estndar. En fin de cuentas es LINUX y es libre.
es
ed
1.3.6 Plan de discado flexible y poderoso
ar
Una vez ms el Asterisk se supera. Si pensamos, la mayora de las
zP
centrales, ni siquiera posen la misma ruta de costo menor. Con Asterisk
re
este proceso es simple y prctico.
Pe
1.3.7 Corre bajo Linux y es cdigo abierto
el
igu
Asterisk usa una CPU de servidor para procesar los canales de voz, en
siv
es
ed
ar
zP
re
Pe
el
igu
1.4.1 Canales
aV
ar
sealizacin (GSM con SIP, Ulaw con IAX). En un principio las conexiones
de telefona eran siempre analgicas y por eso, ms susceptibles a ruidos
clu
1
POTS Plain Old Telephony System, sistema de telefona convencional, basado
normalmente en lneas analgicas.
1.4 Arquitectura de Asterisk | 18
es
ed
Otros channel drivers para la red pblica:
ar
zP
chan_phone: Tarjetas quicknet phonejack y linejack.
chan_misdn, chan_visdn, chan_capi: Tarjetas ISDN (Eicon,
Beronet, Junghanns)
re
Pe
chan_unicall: Tarjetas Digium con sealizacin MFC/R2
el
una compresin de 8 para 1. Otros ejemplos son ulaw, alaw, gsm, ilbc y
g729.
es
GSM (12-13 Kbps)
ed
iLBC (15 Kbps)
LPC10 - (2.5 Kbps)
ar
Speex - (2.15-44.2 Kbps)
zP
re
1.4.3 Protocolos Pe
Enviar datos de un telfono a otro seria fcil si los datos encontrasen su
el
SIP
H323
siv
IAXv1 y v2
clu
MGCP
SCCP (Cisco Skinny).
Ex
1.4.4 Aplicaciones
Para conectar las llamadas de entrada con las llamadas de salida u otros
usuarios de Asterisk son usadas diversas aplicaciones como es Dial, por
ejemplo. La mayor parte de las funcionalidades de Asterisk son creadas
en forma de aplicaciones como son estas el VoiceMail (buzn de voz),
Meetme (conferencia), entre otras. Usted puede ver las aplicaciones
disponibles en Asterisk usando el comando core show applications en la
interface de lnea de comando del Asterisk. Ms all de las aplicaciones en
la versin central existen aplicaciones que pueden ser adicionadas a partir
de archivos asterisk-addons y de terceros.
1.5 Visin General | 20
CISCO IP PHONE
7905 SERIES
CISCO IP PHONE
7905 SERIES
1 2 3
AB C DE F
4 5 6
G HI J KL MNO
4
7 8 9
PQ RS TUV W XYZ
0 #
PR
QS
CISCO IP PHONE
7905 SERIES
1 2 3
AB C DE F
4 5 6
G HI J KL MNO
4
7 8 9
PQ RS TUV W XYZ
0 #
PR
QS
1 2 3
AB C DE F
4 5 6
G HI J KL MNO
4
7 8 9
PQ RS TUV W XYZ
0 #
PR
QS
es
*
ed
ar
zP
re
Pe
el
igu
eM
cada vez mas familiarizado con ellos. En la figura de arriba podemos ver
op
2
TDM TDM - multiplexacin por divisin de tiempo, toda a telefona convencional
est basada en este concepto, cuando hablamos en TDM estaremos refirindonos a
circuitos T1 e E1. E1 es ms comn en Brasil e Europa, T1 es ms usado en EUA.
21 | Captulo 1| Introduccin al Asterisk
CISCO IP PHONE
7905 SERIES
CISCO IP PHONE
7905 SERIES
1 2 3
AB C DEF
4 5 6
GHI J KL MNO
4
7 8 9
PQ R S TUV WX YZ
0 #
QR S
P
CISCO IP PHONE
7905 SERIES
1 2 3
AB C DE F
4 5 6
GH I JKL MNO
4
7 8 9
P QR S TUV WX YZ
0 #
Q SR
P
1 2 3
AB C DE F
4 5 6
GH I JKL MNO
4
7 8 9
P QR S TUV WX YZ
es
0 #
QR
P S
ed
ar
zP
re
Pe
el
igu
eM
CISCO IP PHONE
7905 SERIES
CISCO IP PHONE
7905 SERIES
1 2 3
A BC DE F
4 5 6
G HI JKL MNO
4
7 8 9
PQ RS TUV W X YZ
0 #
QR
P S
CISCO IP PHONE
7905 SERIES
1 2 3
A BC DE F
4 5 6
G HI JKL MNO
4
7 8 9
PQ RS TUV W X YZ
0 #
QR
P S
1 2 3
A BC DE F
4 5 6
G HI JKL MNO
4
7 8 9
PQ RS TUV W X YZ
0 #
QR
P S
es
ed
ar
zP
re
Pe
el
igu
apropiado. Es increible decir esto, pero puedo demostrar que es mas fcil
ice
telefona convencional.
ar
op
siv
clu
Ex
23 | Captulo 1| Introduccin al Asterisk
Conexin
internet
CISCO IP PHONE
7905 SERIES
1 2 3
ABC DEF
4 5 6
GHI JKL MNO
4
7 8 9
PQRS TUV W XY Z
0 #
PR
QS
Te
lf
S
on
FX
o SI
ce
P
r fa
te
es
In
ed
ar
zP
ce
te rfa
In XO
re
F
Pe
el
Este es uno de los sistemas ms simples que usted puede construir con
Asterisk. A pesar de tener poca utilidad prctica este permite que se
nt
posee una placa FXO (Foreign Exchange Office) para ser ligada a las
aV
es
ed
ar
zP
re
Pe
el
igu
eM
es
ed
ar
zP
re
Pe
el
igu
te
ten
is
X N
ex
PB ST
o
oP
lc
Te
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
es
el lenguaje de programacion puede ser escogido por el desarrollador.
ed
Creo que sern cada vez ms comunes los portales de voz, para
diseminar la informacin por un conjunto aun mayor de personas.
ar
zP
1.8.5 Media Gateway
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
es
ed
ar
zP
re
Pe
el
igu
hacer sonar los otros, porque tanto OOHH para esta cosa de DAC. La
ice
1. www.asterisk.org
es
2. www.asteriskexperts.com.br
ed
3. www.asteriskdocs.org
ar
zP
4. www.asteriskguru.com
re
Pe
5. www.voip-info.org (la mayor wikipedia relativa a Asterisk)
el
6. http://svn.digium.com/view/asterisk/branches/1.4/doc/
igu
eM
1.10 Sumario
nt
comn en una poderosa central telefnica. Fue creado por Mark Spencer
de Digium que comercializa el hardware de telefona. El Hardware de
aV
1.11 Cuestionario
1. Marque las opciones correctas.
CANALES
PROTOCOLOS
AGENTES
TELEFONOS
CODECS
es
APLICACIONES
ed
2. Si fuera necesario crear un PBX con 4 enlaces y ocho telfonos, ud.
ar
puede usar un PC con Linux y 3 placas TDM400P una con cuatro canales
zP
FXO y 2 con cuatro canales FXS cada una. La afirmacin es:
CORRECTA
re
Pe
INCORRECTA
el
igu
CORRECTA
nt
INCORRECTA
ice
recursos:
ar
Telfonos IP
Telfonos Analgicos
clu
CORRECTA
INCORRECTA
URA
IVR
DAC
Unified Messaging
E1
T1
FXO
es
FXS
ed
8 Marque a opcin correcta. Un canal E1 soporta ___ canales de
ar
telefona en cuanto un T1 soporta ___ canales.
zP
re
12, 24
30, 24
Pe
12,12
el
1,1
igu
CORRECTA
ice
INCORRECTA
aV
es
funcionar con otra distribucin, pero esto no fue testado. Asterisk es
conocido por funcionar en la mayora de las distribuciones. Testeamos en
ed
Debian, Suse, Fedora, Ubuntu y Slackware.
ar
zP
2.1 Objetivos del captulo
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Cuidado!
Algunas aplicaciones de Asterisk como el Meetme requieren una
fuente de clock para proveer la temporizacin. Normalmente la
fuente de clock de Asterisk es una placa TDM. Si su sistema no
tiene una placa TDM, usted puede usar un driver ztdummy.
es
2.2.1 Montando su sistema
ed
ar
El hardware necesario para Asterisk no es muy complicado. Usted no
precisa de una placa de vdeo sofisticada o perifricos. Puertos seriales,
zP
paralelos y USB pueden ser completamente deshabilitados. Una buena
re
tarjeta de red es esencial. Si usted estuviese usando una de las placas de
Pe
Digium, seria bueno verificar las instrucciones de su placa-madre para
determinar si los Slots PCI soportan estas placas. Muchas placas-madres
el
necesario.
nt
#cat /proc/interrupts
CPU0
0: 41353058 XT-PIC timer
1: 1988 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 413437739 XT-PIC wctdm <-- TDM400
4: 5721494 XT-PIC eth0
7: 413453581 XT-PIC wcfxo <-- X100P
8: 1 XT-PIC rtc
9: 413445182 XT-PIC wcfxo <-- X100P
12: 0 XT-PIC PS/2 Mouse
es
14: 179578 XT-PIC ide0
ed
15: 3 XT-PIC ide1
NMI: 0
ar
ERR: 0
zP
Arriba usted puede ver las tres placas de Digium cada una en su IRQ. Si
re
este fuera el caso, usted puede ir en frente e instalar los drivers de
Pe
hardware. Si no fuera el caso, vuelva a la BIOS hasta que las placas no
estn compartiendo las IRQs.
el
igu
ser usado en BSD y OS X. Todava esto, las placas PSTN de Digium fueron
ice
diseadas para trabajar con Linux i386. Si usted fuese nuevo con Asterisk
procure usar Linux.
aV
es
Paso 1: Coloque el CD de Debian el la lectora de cdrom e inicialice el
ed
booteo de su PC desde all con opcin linux26
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
es
ed
ar
Paso 4: Escoja ahora el mapa de teclado correspondiente.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 7: Ser hecha la configuracin de particionamiento de disco del
zP
equipo, apenas confirme las opciones presentadas.
re
Cuidado ! Pe
Todos las datos de su disco rgido sern perdidos. Instale en un
PC nuevo o que usted pueda formatear !!!
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
2.4 Instalando Linux para atender al Asterisk. | 38
es
ed
ar
zP
Paso 9: Confirme que todos los archivos estaran en una particion.
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 12: Acepte la instalacin de GRUB.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 15: Siga las opciones presentadas para la configuracin del horrio.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 18: Escoja su ciudad.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 21: Cree un usuario llamado asterisk.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
ed
ar
Paso 24: Reescriba la contrasea para confirmar.
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
Paso 26: Ya que utilizaremos esta mquina como servidor Asterisk PBX,
no es necesario seleccionar ninguna opcin de las presentadas aqu.
Reescriba la contrasea para confirmar.
es
ed
ar
zP
re
Paso 27: Apenas confirme la opcin presentada para la terminacin de
Pe
las configuraciones de Debian
el
igu
eM
nt
ice
aV
ar
op
siv
es
ed
ar
zP
2.5 Preparando Debian para Asterisk.
re
Pe
La instalacin de Debian est completa, vamos ahora instalar los
el
(/etc/apt/sources.list))
aV
#apt-setup
ar
op
es
ed
ar
zP
Paso 5: Seleccionar ftp.debian.org
re
Pe
el
igu
eM
nt
ice
aV
ar
op
es
hacer la instalacin de Asterisk.
ed
2.6.1 Obteniendo las fuentes de Asterisk
ar
zP
Para obtener las fuentes de Asterisk y drivers de Zaptel para el uso con
hardware de digium, usted debe bajar los paquetes de Digium. Baje los
re
archivos usando el comando wget. Cree el diretrio /usr/src se este no
Pe
existe. En el momento de finalizacin de este libro estas eran las
versiones corrientes, substituya los comandos abajo con los archivos de
el
# cd /usr/src
#wget http://ftp.DIGIUM.com/pub/zaptel/zaptel-1.4.x.tar.gz
#wget http://ftp.DIGIUM.com/pub/libpri/libpri-1.4.x.tar.gz
nt
#wget http://ftp.DIGIUM.com/pub/ASTERISK/ASTERISK-addons-1.4.x.tar.gz
ice
#wget http://ftp.DIGIUM.com/pub/ASTERISK/ASTERISK-1.4.x.tar.gz
aV
ar
op
siv
clu
Ex
2.6 Obteniendo y compilando Asterisk | 48
es
normalmente sea provista por una placa con driver zaptel. Si esta placa
no existe va ha ser preciso compilar el mdulo ztdummy
ed
ar
Compilando los drivers de Zaptel.
zP
cd /usr/src/zaptel-1.4.x/
make clean
re
./configure
make menuselect
Pe
make install
el
make install-udev
make config
igu
cd /usr/src/libpri-1.4.x/
make clean
make
make install
cd /usr/src/asterisk-1.4.0
make clean
./configure
make menuselect
make
make install
make samples ;use to create sample configuration files
make config ;use para start asterisk at boot time
es
ed
ar
2.7 Iniciando y deteniendo Asterisk
zP
Con esta configuracin mnima, ya es posible iniciar Asterisk con xito
re
Pe
/usr/sbin/asterisk vvvgc
el
Use el comando stop now para parar Asterisk. Vea los comandos
igu
CLI>stop now
nt
#/sbin/asterisk
siv
#/sbin/asterisk r
debian:/usr/src/asterisk-1.4.0# asterisk -h
Asterisk 1.4.0, Copyright (C) 1999 - 2006, Digium, Inc. and others.
Usage: asterisk [OPTIONS]
Valid Options:
-V Display version number and exit
2.8 Directorios de instalacin | 50
es
-n Disable console colorization
-p Run as pseudo-realtime thread
ed
-q Quiet mode (suppress output)
ar
-r Connect to Asterisk on this machine
-R Connect to Asterisk, and attempt to reconnect if disconnected
zP
-t Record soundfiles in /var/tmp and move them where they belong
after they are done.
re
-T Display the time in [Mmm dd hh:mm:ss] format for each line of
Pe
output to the CLI.
-v Increase verbosity (multiple v's = more verbose)
el
asterisk.conf
aV
[directories]
astetcdir => /etc/asterisk
ar
;
; Logging Configuration
;
; In this file, you configure logging to files or to
; the syslog system.
;
; "logger reload" at the CLI will reload configuration
; of the logging system.
[general]
; Customize the display of debug message time stamps
; this example is the ISO 8601 date format (yyyy-mm-dd HH:MM:SS)
; see strftime(3) Linux manual for format specifiers
;dateformat=%F %T
;
; This appends the hostname to the name of the log files.
es
;appendhostname = yes
ed
;
; This determines whether or not we log queue events to a file
ar
; (defaults to yes).
;queue_log = no
zP
;
; This determines whether or not we log generic events to a file
re
; (defaults to yes). Pe
;event_log = no
;
;
el
;
; For console logging, you set options at start of
eM
; option astlogdir
;
aV
[logfiles]
;
; Format is "filename" and then "levels" of debugging to be included:
ar
; debug
op
; notice
; warning
; error
siv
; verbose
; dtmf
clu
;
; Special filename "console" represents the system console
Ex
;
; We highly recommend that you DO NOT turn on debug mode if you are simply
; running a production system. Debug mode turns on a LOT of extra
messages,
; most of which you are unlikely to understand without an understanding of
; the underlying code. Do NOT report debug messages as code issues, unless
; you have a specific issue that you are attempting to debug. They are
; messages for just that -- debugging -- and do not rise to the level of
; something that merit your attention as an Asterisk administrator. Debug
; messages are also very verbose and can and do fill up logfiles quickly;
; this is another reason not to have debug mode on a production system
unless
; you are in the process of debugging a specific issue.
;
;debug => debug
console => notice,warning,error
2.10 Iniciando Asterisk usando un usuario diferente de root. | 52
es
Error
Console Enabled - Warning Notice
ed
Error
ar
zP
CLI> logger rotate
== Parsing '/etc/asterisk/logger.conf': Found
Asterisk Event Logger restarted
re
Asterisk Queue Logger restarted
Pe
Usted puede programar la rotacin de los logs usando lo logrotate
el
daemon.
igu
/etc/logrotate.d/asterisk.
eM
/var/log/asterisk/messages /var/log/asterisk/*log {
missingok
nt
rotate 5
weekly
ice
}
op
#man logrotate
clu
Ex
#cd /
#chown --recursive asterisk:asterisk /etc/asterisk
#chmod --recursive u=rwX,g=rX,o= /etc/asterisk
#chown --recursive asterisk:asterisk /var/lib/asterisk
es
#chown --recursive asterisk:asterisk /var/log/asterisk
ed
#chown --recursive asterisk:asterisk /var/run/asterisk
#chown --recursive asterisk:asterisk /var/spool/asterisk
ar
#chown --recursive asterisk: asterisk /dev/zap
zP
#chmod --recursive u=rwX,g=rX,o= /var/lib/asterisk
#chmod --recursive u=rwX,g=rX,o= /var/log/asterisk
re
#chmod --recursive u=rwX,g=rX,o= /var/run/asterisk
#chmod --recursive u=rwX,g=rX,o= /var/spool/asterisk Pe
#chmod --recursive u=rwX,g=rX,o= /dev/zap
el
start
eM
es
propio usuario con descargas, navegacin, e-mail entre otras cosas.
ed
Evite concentradores de 10 y 100 Mbps, las colisiones en estos equipos,
ar
causan variacin de atraso (jitter). Jitter es uno de los peores enemigos
zP
de telefona IP.
re
Oriente a los usuarios de telefona sobre Internet donde no es posible
Pe
garantizar la calidad. Mantener las expectativas en un nivel realista evita
el
as.....
eM
Cuando usa una red IP privada con equipos que soportan QoS extremo-a-
extremo, si la calidad de voz estuviese baja, verifique inmediatamente, es
nt
2.12 Sumario
ar
2.13 Cuestionario
1. Cual es la configuracin mnima para Asterisk.
Correcto
Incorrecto
es
ed
3. Para que la telefona IP funcione con perfeccin es necesario que la red
posea QoS extremo-a-extremo.
ar
zP
Correcto
re
Incorrecto Pe
4. Es posible obtener una buena calidad de voz en una red que no este
el
Correcto
eM
Incorrecto
nt
6. Si usted no tiene una placa zaptel, usted precisa una fuente de tiempo.
op
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
57 | Captulo 2| Bajando e instalando Asterisk
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 3
es
adelante, mostraremos, con detalles, los canales SIP, IAX y ZAPATA.
ed
3.1 Objetivos del captulo
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
;
; la primera lnea sin comentario debe ser el ttulo de una seccin.
;
[seccin]
llave = valor ; Designacin de variable
[sessao2]
59 | Captulo 3| Primeros pasos en Asterisk
3.3 Gramtica
Gramtica Creacin de Conf. File Ejemplo
los objetos:
Grupo Simples Todos en la misma extensions.conf exten=>4000,1,Dial(SIP/4000)
lnea
es
ed
Herencia de Las opciones son zapata.conf [channels]
Opciones definidas primero.
context=default
ar
Los objetos
heredan estas signalling=fxs_ks
zP
opciones group=1
re
channel => 1
Entidad Cada entidad sip.conf, Pe [cisco]
Compleja recibe un contexto iax.conf
type=friend
el
secret=mysecret
igu
host=10.1.30.50
context=trusted
eM
[xlite]
type=friend
nt
secret=xlite
ice
host=dynamic
aV
[seccin]
objeto1 => op1,op2,op3
objeto2 => op1b,op2b,op3b
[seccin]
op1 = bas
op2 = adv
objeto=>1
op1 = int
objeto => 2
es
Las primeras dos configuran el valor de opcin op1 y op2 para bas y
adv respectivamente. Cuando el objeto 1 es inicializado, este es creado
ed
con su opcin 1 siendo bas y su opcin 2 siendo adv. Despus de
ar
declarar el objeto 1, cambiamos el valor de opcin 1 en int. Y entonces
zP
creamos el objeto 2, ahora el objeto 2 es creado con su opcin 1 siendo
int y su opcin 2 permaneciendo adv.
re
Pe
3.3.3 Objeto entidad compleja
el
[entidad1]
ar
op1=valor1
op
op2=valor2
[entidad2]
siv
op1=valor3
op2=valor4
clu
En trminos generales, una placa FXO es usada para unir la red pblica a
un PBX, esta placa recibe as tono. Una placa FXS en cambio puede ser
usada para unir un aparato telefnico comn, una lnea FXS dar tono.
es
ed
ar
zP
re
Pe
el
igu
Una pista: Otra forma es conseguir una placa FXO clon de una
nt
no quisiera correr riesgos las placas de Digium son una excelente opcin.
clu
zaptel.conf
es
ed
fxsks=1
loadzone=br
ar
defaultzone=br
zP
channels=1
re
zapata.conf Pe
[channels]
el
context=default
igu
signalling=fxs_ks
group=1
channel => 1
eM
modprobe zaptel
aV
ztcfg vvvvvv
modprobe wcfxo
asterisk -vvvvvgc
ar
op
En este captulo vamos a dar una visin general de como configurar los
clu
es
maxexpirey: Tiempo mximo para registro en segundos.
ed
defaultexpirey: Tiempo por defecto para registrarse en
segundos.
ar
register: Registra Asterisk con otro host. El formato es una
zP
direccin SIP opcionalmente seguido por una barra normal (/) y
re
una extensin.
Pe
Ejemplo:
el
[general]
igu
bindport = 5060
bindaddr = 10.1.30.45
context = default
eM
disallow = all
allow = ulaw
nt
maxexpirey = 120
defaultexpirey = 80
ice
aV
generales SIP. Es bueno recordar que en esta seccin vamos apenas a dar
una introduccin a el archivo sip.conf. Tenemos una seccin especfica
siv
para detallar los otros parmetros. Las entradas son divididas en tres
categoras:
clu
Ex
Ejemplo:
[cisco]
type=friend
secret=mysecret
host=10.1.30.50
context=trusted
[xlite]
type=friend
secret=xlite
host=dynamic
es
El plan de discado es el corazn de Asterisk, en la medida, que este
ed
define como Asterisk ir a gestionando las llamadas. Este consiste de una
ar
lista de instrucciones o pasos que Asterisk debera seguir. Esas
zP
instrucciones son disparadas a partir dos dgitos recibidos de un canal o
aplicacin. Es fundamental para configurar Asterisk, que se entienda el
re
plan de discado. Pe
La mayor parte del plan de discado est contenida en el archivo
el
Aplicaciones
nt
Contextos
ice
Extensiones
aV
Prioridads
ar
En este captulo vamos a ver como crear un plan de discado bsico, pero
op
3.6.1 Extensiones
es
ed
ar
zP
re
Pe
Vea este ejemplo:
el
igu
exten=>8580,1,Dial(SIP/8580,20)
exten=>8580,2,voicemail(u8580)
exten=>8580,101,voicemail(b8580)
eM
pueden ser usadas para ms que esto en Asterisk. Una extensin puede
ser creada con la sintaxis definida abajo:
3.6.2 Prioridades
3.6.3 Aplicaciones
es
aplicacin instaladas en Asterisk usando el comando:
ed
CLI>core show applications
ar
zP
3.6.4 Contextos
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Por otro lado, una llamada es recibida dentro del contexto del canal. Con
esto diferentes canales pueden ser recibidos en diferentes telfonos
dependiendo del contexto seleccionado. Esto puede ser til para tener
una recepcin diferente para cada compaa compartiendo un mismo
servidor Asterisk.
Contextos tambin son usados para crear mens de voz que dan al
es
usuario una lista de extensiones para escoger presionando las teclas de
ed
un telfono multi frequencial. Esta funcionalidad es normalmente conocida
como auto-atencin de llamadas. Auto-atencin de llamadas ser visto en
ar
captulos posteriores.
zP
re
Los contextos reciben su nombre dentro de llaves ([]s). Por ejemplo, si
nosotros hiciramos la creacin de un contexto para la entrada de
Pe
llamadas, podramos definir esta como sigue:
el
igu
[entrada]
eM
es
ed
ar
zP
re
Pe
el
igu
forma es usar una placa FXO. Para hacer el laboratorio descrito usted va a
aV
precisar de dos PCs, Pentium 300 Mhz o mayores con 256 MB RAM por lo
menos. Si usted tuviera un nico PC puede usar el vmware (no es
ar
buscando en Internet. Puede ser tambin que los dos citados arriba no
existan ms cuando usted estuviese leyendo este material. Usted puede
Ex
[general]
bindport=5060
bindaddr=10.1.30.45 ; Coloque aqu la direccin IP de su servidor
context=default
allow=all
[2000]
type=friend
secret=2000
69 | Captulo 3| Primeros pasos en Asterisk
host=dynamic
canreinvite=no
es
d) Acepte las prximas ventanas en general hasta terminar la
ed
instalacin. En otras palabras NEXT->NEXT->FINISH.
ar
zP
e) Entre en el menu de X-LITE presionando el icono mostrado abajo:
re
Pe
el
igu
eM
h) Escoja Default
ar
Username: 2000
Authorization User: 2000
clu
Password: 2000
Domain/Realm: Direccin IP del servidor
Ex
La extensin especial s
es
pertenece. La extensin s es inmediatamente ejecutada al entrar en un
ed
canal. En nuestro ejemplo vamos a crear un plan de discado con la
extensin s
ar
zP
Las aplicaciones Answer(), Hangup() y Playback()
re
Si vamos a responder a una llamada, es mejor que conozcamos las
Pe
aplicaciones que van a hacer esto. La aplicacin Answer() es usada para
el
[entrada]
exten=>s,1,answer()
exten=>s,2,playback(goodbye)
exten=>s,3,hangup()
71 | Captulo 3| Primeros pasos en Asterisk
Una llamada que entre por la FXO es enviada dentro del contexto
[entrada] (Este contexto [entrada] debe estar configurado en el archivo
zapata.conf para el canal FXO) y es enviada para la extensin s.
Tenemos tres prioridades en el contexto, 1, 2 y 3. Cada prioridad llama
un aplicativo. Vamos a observar de cerca las prioridades:
es
este mensaje dar un saludo de adis al usuario.
ed
Por fin la prioridad 3 ir a desconectar al usuario.
ar
zP
Un ejemplo ms til
re
Ahora que ya comenzamos con algo simple, vamos a incrementar
Pe
aprendiendo un poco de los aplicativos background() y goto(). Estas dos
el
funcionalidad.
eM
argumentos.
Ex
Goto(contexto,extension,prioridad)
Goto(extension,prioridad)
Goto(prioridad)
[entrada]
exten=>s,1,Answer()
exten=>s,2,Background(saludos)
exten=>s,3,hangup()
exten=>1,1,playback(soporte)
exten=>1,2,goto(soporte,s,1)
exten=>2,1,playback(entrenamiento)
exten=>2,2,goto(entrenamiento,s,1)
es
exten=>3,1,playback(ventas,)
ed
exten=>3,2,goto(ventas,s,1)
ar
Vamos a seguir este ejemplo paso a paso. Cuando alguien se comunica en
zP
la interface FXO (configurada para el contexto [entrada]), la comunicacin
es pasada para la extensin s dentro del contexto [entrada]. La
re
extensin s atiende la comunicacin y usando el comando Background()
Pe
hace sonar un saludo y aguarda por el discado de un dgito. Despus de
discar el dgito 1 por ejemplo, el sistema va para la extensin 1 en la
el
ramal especfico.
op
siv
[entrada]
exten=>s,1,Answer()
exten=>s,2,Background(saludo)
clu
exten=>s,3,hangup()
exten=>1,1,playback(soporte)
Ex
exten=>1,2,Dial(SIP/8000)
exten=>2,1,playback(entrenamiento)
exten=>2,2,Dial(ZAP/1)
exten=>3,1,playback(ventas)
exten=>3,2,Dial(IAX/8002)
3.7 Laboratorio
En este laboratorio vamos a crear una pequea central telefnica capaz
es
de discar entre ramales, para la red pblica por la placa PSTN o por un
ed
proveedor VoIP y recibiendo llamadas usando atencin automtica de
llamadas. Para crear este PBX vamos hacer algunas consideraciones:
ar
zP
Los ramales van desde 2000 hasta 2100
re
Para salir para la red pblica se disca el nmero 0 (cero)
Pe
Para salir para la red pblica a travs de un proveedor se disca
1 (uno)
el
automtica de llamadas.
eM
siguientes comandos:
aV
[default]
ar
exten=>2000,1,Dial(SIP/2000)
op
exten=>2001,1,Dial(SIP/2001)
siv
[default]
exten=>0,1,Dial(ZAP/1,20,r)
Escriba los comandos que estn abajo, estos van a crear una interface
para que usted pueda grabar los mensajes del men de atencin
automtica de llamadas. El mensaje puede ser algo como Usted se
comunico con xyz, llame el extensin deseado o aguarde y ser
atendido. Cuando termine de hablar el mensaje tecle # para que este
3.7 Laboratorio | 74
[default]
exten=>8000,1,Wait(2)
exten=>8000,2,Record(menu:gsm)
exten=>8000,3,Wait(2)
exten=>8000,4,Playback(menu)
exten=>8000,5,Hangup()
es
comunicacin ser automticamente transferida para el ramal 2000.
ed
[default]
ar
exten=>s,1,Background(menu)
zP
exten=>s,2,Dial(SIP/2000)
exten=>2000,1,Dial(SIP/2000)
exten=>2001,1,Dial(SIP/2001)
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
75 | Captulo 3| Primeros pasos en Asterisk
3.8 Sumario
En este captulo usted aprendi que los archivos de configuracin estn
en /etc/asterisk. Para usar Asterisk es preciso en primer lugar configurar
los canales (Ej. sip.conf y zapata.conf). Existen bsicamente tres
formatos, el grupo simple, herencia de opciones, entidad compleja.
es
ed
Background() es un comando importante en la creacin de una URA.
Dial() es el principal comando del plan de discado
ar
zP
3.9 Cuestionario
re
1. Son ejemplos de archivos de configuracin de canales Asterisk.
Pe
el
zaptel.conf
igu
zapata.conf
sip.conf
eM
iax.conf
nt
cuando nos llega una comunicacin de este canal (sip, iax, zap) al
Asterisk este ser tratado en el archivo extensions.conf en este contexto.
aV
Correcto
ar
Incorrecto
op
siv
Correcto
Incorrecto
Correcto
Incorrecto
3.9 Cuestionario | 76
Correcto
Incorrecto
es
ed
[general]
bindport = 5060
ar
bindaddr = 10.1.30.45
zP
context = default
disallow = speex
disallow = ilbc
re
allow = ulaw Pe
maxexpirey = 120
defaultexpirey = 80
el
igu
[8000]
type=friend
aV
secret=8000
host=dynamic
ar
canreinvite=no
op
[8001]
type=friend
siv
secret=8000
host=dynamic
clu
canreinvite=no
Ex
Correcto
Incorrecto
Correcto
Incorrecto
77 | Captulo 3| Primeros pasos en Asterisk
0
9
s
i
Goto(contexto,extension,prioridad)
es
Goto(prioridad, contexto, extension)
ed
Goto(extension,prioridad)
Goto(prioridad)
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
3.9 Cuestionario | 78
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 4
4.1 Objetivos
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
Sealizacin de supervisin
3
POTS, Plain Old Telephony System, sistema de telefonia convencional basado en
redes de par metlico y lneas TDM.
4.2 Conceptos bsicos | 80
Sealizacin de direccionamiento
Sealizacin de informacin
es
ed
Off-Hook El usuario que desea hacer una llamada telefnica debe pasar
ar
para el estado off-hook (descolgar), descolgando el telfono. Este
zP
estado cierra el loop elctrico, el cual indica al PBX que el usuario desea
hacer una llamada telefnica. El PBX entonces, luego de recibir esa
re
indicacin, genera el tono de discado, indicando la el usuario que est
Pe
listo para recibir la direccin de destino (nmero de telfono).
el
[br]
description=Brazil
siv
ringcadance=1000,4000
dial=425
clu
busy=425/250,0/250
ring=425/1000,0/4000
congestion=425/250,0/250,425/750,0/250
Ex
callwaiting=425/50,0/1000
Tono de discado
Seal de ocupado
Tono de retorno (ringback)
Congestionamiento (congestion)
Nmero invlido
Tono de confirmacin
es
En la mayora de los casos usted a la comunicarse con su PBX a la red
ed
pblica de telefona. En los captulos posteriores vamos a mostrar como
ar
hacer esto. Bsicamente existen tres opciones de lneas telefnicas hoy
zP
en el mercado. Las lneas analgicas, que son las ms comunes y son
entregadas usando un par metlico de hilos. Las lneas Digitales son
re
usadas cuando son necesarias muchas lneas analgicas. La lnea digital
Pe
es normalmente entregada la travs de un MODEM HDSL de 2 Mbps el la
travs de una lnea de fibra ptica con un MUX Digital. La tercera opcin,
el
normalmente travs del protocolo SIP. En Brasil por ejemplo, hasta este
eM
es
el PBX a otro conmutador (PBX, Red Pblica, gateway de voz sobre IP).
ed
Es muy comn conectar una interface FXO de una central telefnica
(ramal) a un gateway VoIP y transportar la voz empaquetada para otro
ar
gateway donde una interface FXS conecta un telfono. Esta operacin es
zP
conocida como OPX (Off-Promises Extension) el ramal remoto.
Placas E&M para Asterisk no estn disponibles. Estas placas son conocidas
en el mercado de telefona como tie-lines analgicas. La mayora de las
centrales no vienen con este tipo de interface, mucha de las centrales de
marcas conocidas posean E&M como un opcional. Las placas E&M
permiten una comunicacin bi-direcional, pueden dar y recibir tono. Si
usted precisa usar una interface E&M con Asterisk la mejor opcin es la
integracin de un gateway de voz.
es
4.4.3 Sealizacin en los enlaces
ed
Loop-Start
ar
Ground-Start
zP
Kool-Start
re
Pe
Es casi un estndar en Asterisk el uso de Sealizacin koolstart.
Koolstart no es un estndar de supervisin conocido en la industria, lo
el
es
comercializados 10, 15 o 30 Canales (lneas telefnicas). Algunas
ed
compaas ya entregan el canal E1 (2 Mbps) con CCS (Common Channel
Signaling) en el estndar ISDN PRI que es ms confiable con el Asterisk.
ar
zP
ISDN (Red Digital Integrada de Servicios): es una nueva
re
forma de entroncamiento (desde 1990) Un simple par de Hilos
pueden transportar dos lneas y ms un circuito de datos de
Pe
16kbps usados como sealizacin. ISDN permite una forma
el
en Brasil.
op
es
ISDN, es ms simple, tiene mejor desempeo y es parte integral de
ed
Asterisk. Cabe recordar que el driver para R2 es experimental y no tiene
soporte de Digium.
ar
zP
4.5.3 Sealizacin CCS, E1-ISDN-PRI.
re
La Sealizacin ISDN est disponible para Asterisk en diversas
Pe
variaciones. Estas variaciones son configuradas en el archivo zapata.conf.
el
casos
y el uso del Kernel 2.6 de Linux con motherboards que suportan APIC
ayuda bastante en estos casos.
http://www.digium.com/index.php?menu=compatibility
es
con una interface FXO y otra interface FXS.
ed
Pasos necesarios:
ar
zP
1. Instalacin de una placa analgica FXO, FXS o ambas
2. Configuracin del archivo zaptel.conf
3. Carga del driver de la placa zaptel
re
Pe
4. Ejecucin del utilitario zttest
el
4.7.1 Instalando una placa TDM400P con una porta FXS y otra
nt
puerta FXO.
ice
aV
ar
O
FX
op
o
S
FX
siv
clu
V
12
Ex
La placa TDM 400P contiene mdulos FXS y FXO de una puerta. Cuando
existiesen placas FXS, es preciso alimentar directamente la placa con una
fuente de energa (semejante al conector de hard disk). Use proteccin
electroesttica para evitar daos en la placa o la de su computador.
Conecte la placa a un slot PCI y conecte su mquina. Conecte los mdulos
FXS (S110M) y FXO (X100M) a la placa TDM400P. Si la placa tiene
interfaces FXS alimente el conector de 12V usando un de los cabos de la
fuente del PC.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
En la TDM400P los mdulos FXS son verdes y los mdulos FXO son rojos.
Ex
es
#modprobe zaptel
#modprobe wctdm
ed
ar
4.7.4 Usando el utilitrio zttest.
zP
Un utilitrio importante es el zttest que puede ser usando para verificar
re
conflictos de interrupcin y interrupt misses (interrupciones perdidas). Es
Pe
muy comn problemas en la calidad de audio por causa de conflictos y
prdidas de interrupcin. Usted puede usar el comando:
el
igu
#cat /proc/interrupts
eM
Luego de cargar el driver, usted debe configurar los canales usando ztcfg.
siv
#/sbin/ztcfg -vv
Zaptel Configuration
======================
Channel map:
Channel 01: FXS Kewlstart (Default) (Slaves: 01)
Channel 02: FXO Kewlstart (Default) (Slaves: 02)
2 channels configured.
Si los canales se cargasen con xito, usted va a ver una salida similar al
recuadro de arriba. Un error comn es invertir la sealizacin entre los
canales. Si esto sucede usted va a ver algo parecido como:
89 | Captulo 4| Canales Analgicos y Digitales
Luego que los canales hayan sido configurados con xito, usted est listo
para iniciar el uso de su hardware con Asterisk.
es
otros softwares como Open SS7 y lo mismo para rate PPP o HDLC. Para
usar Asterisk con un hardware zaptel, usted debe ahora configurar el
ed
archivo de canales zapata.conf. Este va a crear los canales lgicos TDM
ar
que sern usados en su plan de discado.
zP
signalling=fxs_ks;
re
group=1; nmero de grupo de Canales Pe
context=entrada ; contexto de entrada de los Canales
channel => 1; nmero de los Canales
el
Placa E1 (TE205P)
aV
Pasos necesarios:
ar
es
ed
ar
zP
re
Figura 4.5 Placa TDM 205P Pe
En primer lugar es importante entender las implicaciones de escoger una
el
placa Digium TE205P o TE210P. La placa TE210P es una placa que usa un
igu
bus de datos de 64 bits de 3.3 volts. Este bus solo es encontrado en PCs
servidores de red. Cuidado al especificar esta placa, certifquese que su
eM
placa con dos interfaces E1 para el ejemplo, pues es fcil reducirlo para
ice
es
un mdulo correspondiente a la placa que usted est instalando.
ed
ar
Tabla de los drivers de Digium
Placa Driver Descripcin
zP
TE410P wct4xxp 4xE1/T1-3.3V PCI
re
TE405P wct4xxp 4xE1/T1-5V PCI
TE210P wct2xxp 2XE1/T1-3.3V PCI
Pe
TE205P wct2xxp 2xE1/T1-5V PCI
el
T100P wct1xxp 1 T1
E100P Wctlxxp 1 E1
eM
#modprobe zaptel
ice
#modprobe wct2xxp
aV
Para verificar en que interrupcin est cada una de las placas use:
#cat /proc/interrupts
CPU0
0: 3675537 XT-PIC timer
1: 2 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 410705 XT-PIC eth1
4: 1694897 XT-PIC eth0
5: 36737213 XT-PIC t1xxp
7: 14703 XT-PIC libata
8: 4 XT-PIC rtc
10: 36742553 XT-PIC wcfxo
11: 36742513 XT-PIC wcfxo
es
14: 55631 XT-PIC ide0
ed
NMI: 0
LOC: 3675478
ar
ERR: 0
zP
MIS: 0
re
4.8.6 Usando el utilitrio ztcfg Pe
Esta es la salida del comando ztcfg vvv de un servidor Asterisk con una
el
Zaptel Configuration
eM
======================
nt
Channel map:
aV
18 channels configured.
callerid=<4830258580>
switchtype=euroisdn
signalling = pri_cpe
group = 1
channel => 1-15;17-31
group =2
channel => 32-46;48-62
es
CRC4
Digium Wildcard E100P E1/PRA Card 0 OK 0 0 0
ed
Wildcard X100P Board 1 OK 0 0 0
Wildcard X100P Board 2 RED 0 0 0
ar
zP
pri show span: Permite verificar los datos de link ISDN.
re
vtsvoffice*CLI> pri show span 1 Pe
Primary D-channel: 16
Status: Provisioned, Up, Active
el
Switchtype: EuroISDN
Type: CPE
igu
SolicitFbit: 0
Retrans: 0
Busy: 0
nt
Overlap Dial: 0
T200 Timer: 1000
ice
2 entrada en default
3 entrada en default
4 entrada en default
5 entrada en default
6 entrada en default
7 entrada en default
8 entrada en default
9 entrada en default
10 entrada en default
11 entrada en default
12 entrada en default
13 entrada en default
14 entrada en default
15 entrada en default
32 default en default
33 fax en default
4.8 Ejemplo 2 Carga de dos Canales E1-ISDN | 94
es
Owner: <None>
Real: <None>
ed
Callwait: <None>
Threeway: <None>
ar
Confno: -1
Propagated Conference: -1
zP
Real in conference: 0
DSP: no
re
Relax DTMF: no
Dialing/CallwaitCAS: 0/0 Pe
Default law: alaw
el
verbo (set verbose=0) antes de emitir el comando para tener apenas los
ice
mode (16)
> Ext: 1 User information layer 1: A-Law
Ex
(35)
> [18 03 a9 83 81]
> Channel ID (len= 5) [ Ext: 1 IntID: Implicit, PRI Spare: 0, Exclusive
Dchan: 0
> ChanSel: Reserved
> Ext: 1 Coding: 0 Number Specified Channel
Type: 3
> Ext: 1 Channel: 1 ]
> [28 0e 46 6c 61 76 69 6f 20 45 64 75 61 72 64 6f]
> Display (len=14) @h@>[ Flavio Eduardo ]
> [6c 0c 21 80 34 38 33 30 32 35 38 35 39 30]
> Calling Number (len=14) [ Ext: 0 TON: National Number (2) NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
> Presentation: Presentation permitted, user
number not screened (0) '4830258590' ]
> [70 09 a1 33 32 32 34 38 35 38 30]
> Called Number (len=11) [ Ext: 1 TON: National Number (2) NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1) '32248580' ]
95 | Captulo 4| Canales Analgicos y Digitales
> [a1]fice*CLI>
> Sending Complete (len= 1)
< Protocol Discriminator: Q.931 (8) len=10
< Call Ref: len= 2 (reference 65/0x41) (Terminator)
< Message type: CALL PROCEEDING (2)
< [18 03 a9 83 81]
< Channel ID (len= 5) [ Ext: 1 IntID: Implicit, PRI Spare: 0, Exclusive
Dchan: 0
< ChanSel: Reserved
< Ext: 1 Coding: 0 Number Specified Channel
Type: 3
< Ext: 1 Channel: 1 ]
-- Processing IE 24 (cs0, Channel Identification)
< Protocol Discriminator: Q.931 (8) len=9
< Call Ref: len= 2 (reference 65/0x41) (Terminator)
< Message type: ALERTING (1)
< [1e 02 84 88]
es
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0)
0: 0 Location: Public network serving the remote user (4)
ed
< Ext: 1 Progress Description: Inband
information or appropriate pattern now available. (8) ]
ar
-- Processing IE 30 (cs0, Progress Indicator)
< Protocol Discriminator: Q.931 (8) len=64
zP
< Call Ref: len= 2 (reference 5720/0x1658) (Originator)
< Message type: SETUP (5)
re
< [04 03 80 90 a3]
< Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer
Pe
capability: Speech (0)
< Ext: 1 Trans mode/rate: 64kbps, circuit-
el
mode (16)
< Ext: 1 User information layer 1: A-Law
igu
(35)
< [18 03 a1 83 82]
eM
< Facility (len=23, codeset=0) [ 0x91, 0xa1, 0x12, 0x02, 0x01, 0xbc, 0x02,
0x01, 0x0f, '0', 0x0a, 0x02, 0x01, 0x01, 0x0a, 0x01, 0x00, 0xa1, 0x02,
0x82, 0x00 ]
ar
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0)
0: 0 Location: Public network serving the local user (2)
< Ext: 1 Progress Description: Calling
siv
< Calling Number (len=14) [ Ext: 0 TON: National Number (2) NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
< Presentation: Presentation allowed of network
Ex
es
Type: 3
> Ext: 1 Channel: 2 ]
ed
> [1e 02 81 82]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0)
ar
0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Called
zP
equipment is non-ISDN. (2) ]
< Protocol Discriminator: Q.931 (8) len=5
re
< Call Ref: len= 2 (reference 5720/0x1658) (Originator)
< Message type: CONNECT ACKNOWLEDGE (15) Pe
< Protocol Discriminator: Q.931 (8) len=9
< Call Ref: len= 2 (reference 65/0x41) (Terminator)
el
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0)
0: 0 Location: Public network serving the remote user (4)
eM
Request
op
es
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
ed
4.9 Configurando MFC/R2
ar
zP
4.9.1 Entendiendo el problema
re
La placa usada para la Sealizacin R2 es la misma usada para la
Pe
sealizacin ISDN. El propio Digium posee dentro del cdigo de canal
zapata sealizacin R2, ms de acuerdo con Mark Spencer est lejos de
el
de las lneas en Amrica del Sur usan Sealizacin R2, tambin conocida
ice
como R2-Digital.
aV
transferidos los bits ABCD de cada canal de voz a travs de los cuales es
clu
es
Estado ABCD p/ Frente ABCD p/ Trs
ed
Idle/Released (libre) 1001 1001
Seized (Ocupado) 0001 1001
ar
Seize Ack (Confirmacin de ocupado, Ring) 0001 1101
zP
Llamada en progreso 0001 1101
Atencion de la Llamada 0001 0101
re
Answered (En conversacin) 0001 0101
Tarificacin 0001 Pe 1101
ClearBack (Desconexin por la parte llamada) 0001 1101
ClearFwd (Antes de Clear-Back) 1001 0101
el
brasilea.
op
1 Algoritmo 1 I-1
2 Algoritmo 2 I-2
Ex
3 Algoritmo 3 I-3
4 Algoritmo 4 I-4
5 Algoritmo 5 I-5
6 Algoritmo 6 I-6
7 Algoritmo 7 I-7
8 Algoritmo 8 I-8
9 Algoritmo 9 I-9
10 Algoritmo 0 I-10
11 Interseccin semi-supresor de eco I-11
12 Pedido recusado o indicacin de transito internacional I-12
13 Acceso equipamiento de test I-13
14 Insercin de semi-supresor de eco de destino o I-14
indicacin de transito internacional
15 Fin de nmero o indicacin de que la llamada curs I-15
enlace va satlite
99 | Captulo 4| Canales Analgicos y Digitales
es
11 Indicativo de llamada transferida II-11
12 Confuso o Inestable II-12
ed
13 Confuso o Inestable II-13
14 Confuso o Inestable II-14
ar
15 Confuso o Inestable II-15
zP
Grupo de seales A (de atrs)
re
Pe
Seales Descripcin Seal delante
1 Enviar el prximo Algoritmo (n+1) A-1
el
13 Reservado A13
op
14 Reservado A14
15 Reservado A15
siv
14 Reservado B14
15 Reservado B15
Asterisk Operadora
Ramal da
Ramal
Operadora
es
Tom de discagem 10 Idle(livre) 10
ed
Envio dos Dgitos 10 Idle(livre) 10
Silncio 10 Idle(livre) 10
ar
00 Seized/(Ocupao)
Seize Ack/(Confirma Ocupao) 11
zP
Discado primeiro dgito (I-X)
Enviar prximo dgito (A-1)
re
Discado segundo dgito (I-X)
Pe
Enviar prximo dgito (A-1)
...
el
Retorno da Campainha
Campainha
nt
Answer(Conversao) 01
Conversao
On-hook (no gancho)
aV
Clearback (Trmino) 11
Silncio 10 Clear Forward (Trmino)
ar
es
cas=17-31:1101
span-2,0,0,cas,hdb3
ed
cas=33-47:1101
ar
cas=49-63:1101
loadzone=br
zP
defaultzone=br
Colocar los bits en bloqueado es importante para que la operadora no
re
entienda que en la carga de la placa de Asterisk esta listo para recibir
Pe
llamadas. La placa simplemente esta conectada, pero no lista para recibir
llamadas.
el
igu
Ejecutar ZTCFG.
eM
bash# ztcfg -v
Zaptel Configuration
nt
==================
ice
62 channels configured.
op
spandsp
#cd /usr/src
#wget http://www.moythreads.com/unicall/soft-switch/r1b1/spandsp/spandsp-
0.0.3pre27.tgz
#tar xzvf spandsp-0.0.3pre27.tar.gz
#cd spandsp-0.0.3
# ./configure --prefix=/usr
#make
#make install
libsupertone
#cd /usr/src
es
#wget http://www.moythreads.com/unicall/soft-switch/r1b1/unicall/libsupertone-
0.0.2.tar.gz
ed
#tar xzvf libsupertone-0.0.2.tar.gz
ar
#cd libsupertone-0.0.2
# ./configure --prefix=/usr
zP
#make
#make install
re
Pe
libunicall
el
igu
#cd /usr/src
#wget http://www.moythreads.com/unicall/soft-switch/r1b1/unicall/libunicall-
0.0.3_1.4.tar.bz2
eM
# ./configure --prefix=/usr
ice
#make
#make install
aV
libmfcr2
ar
#cd /usr/src
op
#wgethttp://www.moythreads.com/unicall/soft-switch/r1b1/unicall/libmfcr2-
0.0.3_1.4.tar.bz2
siv
# ./configure --prefix=/usr
#make
Ex
#make install
es
ed
4.9.8 Configurando el canal unicall
ar
As como para configurar los Canales zaptel, usted editaba un archivo
zP
llamado zapata.conf, ahora para los Canales R2 usted editar el archivo
re
unicall.conf. Este archivo tiene sintaxis y atributos casi idnticos al
Pe
zapata.conf de forma que no ser difcil entenderlo. Vea abajo el archivo
editado.
el
igu
;
; Unicall telephony channel driver
eM
;
; Sample configuration file
;
nt
;
[channels]
aV
;
; Default language
;
ar
language=br
op
;
; Default context
siv
;
context=default
;
clu
usecallerid=yes
;
; Whether or not to hide outgoing caller ID
;
hidecallerid=no
;
; Whether or not restrict outgoing caller ID (will be sent as ANI only, not
available for the user)
; Mostly use with FXS ports
;
;restrictcid=no
;
; Support Caller*ID on Call Waiting
;
callwaitingcallerid=yes
;
4.9 Configurando MFC/R2 | 104
es
; Enable echo cancellation
ed
; Use either "yes", "no", or la power of two from 32 to 256 if you wish
; to actually set the number of taps of cancellation.
ar
;
echocancel=yes
zP
;
; Generally, it is not necessary (and in fact undesirable) to echo cancel
re
; when the circuit path is entirely TDM. You may, however, reverse this
Pe
; behavior by enabling the echo cancel during pure TDM bridging below.
;
echocancelwhenbridged=yes
el
;
igu
; In some cases, the echo canceller doesn't train quickly enough and there
; is echo at the beginning of the call. Enabling echo training will cause
eM
; asterisk to briefly mute the channel, send an impulse, and use the
impulse
; response to pre-train the echo canceller so it can start out with la much
nt
; closer idea of the actual echo. Value may be "yes", "no", or la number
ice
of
; milliseconds to delay before training (default = 400)
aV
;
;echotraining=yes
;echotraining=800
ar
;
op
; If you are having trouble with DTMF detection, you can relax the
; DTMF detection parameters. Relaxing them may make the DTMF detector
; more likely to have "talkoff" where DTMF is detected when it
siv
; shouldn't be.
;
clu
;relaxdtmf=yes
;
Ex
; You may also set the default receive and transmit gains (in dB)
;
rxgain=0.0
txgain=0.0
;
; Logical groups can be assigned to allow outgoing rollover. Groups
; range from 0 to 31, and multiple groups can be specified.
;
group=1
;
; Ring groups (a.k.a. call groups) and pickup groups. If la phone is
ringing
; and it is la member of la group which is one of your pickup groups, then
; you can answer it by picking up and dialing *8#. For simple offices,
just
; make these both the same
105 | Captulo 4| Canales Analgicos y Digitales
;
callgroup=1
pickupgroup=1
;
; Specify whether the channel should be answered immediately or
; if the simple switch should provide dialtone, read digits, etc.
;
immediate=no
;
; CallerID can be set to "asreceived" or la specific number
; if you want to override it. Note that "asreceived" only
; applies to trunk interfaces.
;
callerid=asreceived
;
; AMA flags affects the recording of Call Detail Records. If specified
es
; it may be 'default', 'omit', 'billing', or 'documentation'.
ed
;
;amaflags=default
ar
;
; Channels may be associated with an account code to ease
zP
; billing
;
re
;accountcode=lss0101 Pe
;
; For fax detection, uncomment one of the following lines. The default is
*OFF*
el
;
igu
;faxdetect=both
;faxdetect=incoming
eM
;faxdetect=outgoing
;faxdetect=no
;
nt
; Select which class of music to use for music on hold. If not specified
ice
;musiconhold=default
;
;protocolclass=fx
ar
;protocolvariant=ls,hk
op
;protocolend=co
;group = 3
;channel => 280-283
siv
;protocolclass=fx
clu
;protocolvariant=ls,hk
;protocolend=cpe
Ex
;group = 4
;channel => 284
;
; Set up E1s 2 and 3 to work in China MFC/R2 mode. la maximum of 20 ANI
digits
; will be accepted. 7 DNIS digits are expected. MFC/R2 uses the E1s in CAS
mode,
; so time slot 16 of each E1 must be skipped when allocating the channels.
;
;loglevel=255
protocolclass=mfcr2
; For MFC/R2 an optional fourth parameter for the variant is composed of
bits,
; which must be OR'ed together, as follows:
;
4.9 Configurando MFC/R2 | 106
; 1: Play progress tones. These are usually handled by the far end
switch, but
; may need to be sent as audio through the channel on some systems.
; 2: Play disconnect tone. The disconnect tone is usually handled by the
far end
; switch, but may need to be sent as audio through the channel on
some systems.
; 4: Play ringback tone. The ringback tone is usually generated by
something
; downstream of the MFC/R2 software, but may need to be generated
here on some
; systems.
; 8: Get ANI after DNIS. The usual behaviour for incoming calls is to
get the
; calling party category and the ANI as soon as possible, and to get
the DNIS
es
; afterwards. This doesn't work on all systems, so the option to
ed
reverse the
; behaviour is provided.
ar
; 16: Use immediate accept. Most variants of MFC/R2 offer la way to go
directly to
zP
; the call accepted state, bypassing the use of group B and II tones.
This option
re
; enables the use of that feature for incoming calls.
Pe
;
protocolvariant=br,20,4
protocolend=cpe
el
group = 1
igu
comandos:
ar
protocolvariant=pas,digitos-ANI,digitos-DNIS
op
siv
Argentina "ar"
Bahrain "bh"
Ex
Bolivia "bo"
Brazil "br"
Chile "cl"
China "cn"
Colombia landlines "co-land"
Colombia cellular "co-cell"
Czech "cz"
Honduras "hn"
India "in"
Indonesia "id"
Korea "kr"
Malaysia "my"
Mexico "mx"
Panama "pa"
Philipinnes "ph"
Singapore "sg"
107 | Captulo 4| Canales Analgicos y Digitales
Thailand "th"
ANI y DNIS
es
por la sigla en ingles DID Direct Inward Dial. El nmero de ANI en este
caso el nmero de identificacin de quien origin la llamada tambin
ed
conocido como nmero de A.
ar
zP
En una llamada saliente el nmero de ANI va a contener el nmero de
identificacin del ramal que gener la comunicacin. Y DNIS ir a
identificar el nmero de destino de la llamada.
re
Pe
La importancia de configurar correctamente estos parmetros reside en el
el
igu
sea recibir apenas los ltimos cuatro dgitos. Asterisk en este caso
ice
protocolvariant=br,20,4
ar
#asterisk vvvvvvvvvvvvvvv&
#asterisk r
Ex
es
Apr 11 06:45:07 VERBOSE[24876]: -- Unicall/8 far unblocked
Apr 11 06:45:07 WARNING[24876]: Unicall/8 event Local end unblocked
ed
Apr 11 06:45:07 VERBOSE[24876]: -- Unicall/8 local unblocked
ar
Estos indican que los Canales estan y pasaran de estado bloqueado
zP
original (11) para el estado idle (10). Local end unblocked quiere decir
que el lado de Asterisk fue desbloqueado, Far end inblocked quiere decir
re
que el lado de la operadora fue desbloqueado. Si uno de los lados no
Pe
aparece desbloqueado la lnea puede no haber sido activada.
el
igu
compilado o cargado.
clu
es
Apr 12 08:33:51 WARNING[4417]: MFC/R2 UniCall/1 1 off -> [2/
40/Group I /DNIS ]
ed
Apr 12 08:33:51 WARNING[4417]: MFC/R2 UniCall/1 <- 1 off [2/
40/Group I /DNIS ]
ar
Apr 12 08:33:51 WARNING[4417]: MFC/R2 UniCall/1 5 on -> [2/
40/Group I /DNIS ]
zP
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 <- 1 on [2/
40/Group I /DNIS ]
re
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 5 off -> [2/
40/Group I /DNIS ] Pe
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 <- 1 off [2/
40/Group I /DNIS ]
el
40/Group I /DNIS ]
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 Calling party category 0x0
ice
40/Group I /Category ]
op
40/Group I /Category ]
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 <- 5 on [2/
clu
40/Group I /ANI ]
Apr 12 08:33:52 WARNING[4417]: MFC/R2 UniCall/1 1 off -> [2/
40/Group I /ANI ]
Ex
es
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 9 on -> [2/
ed
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 <- 5 on [2/
ar
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 9 off -> [2/
zP
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 <- 5 off [2/
re
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 5 on
Pe -> [2/
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 <- 5 on [2/
el
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 5 off -> [2/
igu
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 <- 5 off [2/
eM
40/Group I /ANI ]
Apr 12 08:33:54 WARNING[4417]: MFC/R2 UniCall/1 0 on -> [2/
40/Group I /ANI ]
nt
40/Group I /ANI ]
op
40/Group I /ANI ]
Apr 12 08:33:55 WARNING[4417]: MFC/R2 UniCall/1 <- 5 off [2/
clu
40/Group I /ANI ]
Apr 12 08:33:55 WARNING[4417]: MFC/R2 UniCall/1 0 on -> [2/
40/Group I /ANI ]
Ex
es
40/Group I /DNIS ]
Apr 12 08:33:56 WARNING[4417]: MFC/R2 UniCall/1 0 off -> [2/
ed
40/Group I /DNIS ]
Apr 12 08:33:56 WARNING[4417]: MFC/R2 UniCall/1 <- 1 off [2/
ar
40/Group I /DNIS ]
Apr 12 08:33:56 WARNING[4417]: MFC/R2 UniCall/1 2 on -> [2/
zP
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 <- 1 on [2/
re
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 2 off ->
Pe [2/
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 <- 1 off [2/
el
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 5 on -> [2/
igu
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 <- 1 on [2/
eM
40/Group I /DNIS ]
Apr 12 08:33:57 WARNING[4417]: MFC/R2 UniCall/1 5 off -> [2/
40/Group I /DNIS ]
nt
40/Group I /DNIS ]
op
40/Group I /DNIS ]
Apr 12 08:33:58 WARNING[4417]: MFC/R2 UniCall/1 <- 1 on [2/
clu
40/Group I /DNIS ]
Apr 12 08:33:58 WARNING[4417]: MFC/R2 UniCall/1 5 off -> [2/
40/Group I /DNIS ]
Ex
es
disconnected(cause=Normal Clearing [16]) - state 0x400
Apr 12 08:34:25 WARNING[4417]: Unicall/1 event Far end disconnected
ed
Apr 12 08:34:25 WARNING[4417]: CRN 32769 - far disconnected cause=Normal
Clearing [16]
ar
Apr 12 08:34:25 WARNING[4417]: MFC/R2 UniCall/1 Call control(6)
Apr 12 08:34:25 WARNING[4417]: MFC/R2 UniCall/1 Drop call(cause=Normal
zP
Clearing [16])
Apr 12 08:34:25 WARNING[4417]: MFC/R2 UniCall/1 Clearing fwd
re
Apr 12 08:34:25 WARNING[4417]: MFC/R2 UniCall/1 1001 -> [1/
800/Clear back /Category ] Pe
Apr 12 08:34:28 NOTICE[4417]: Peer '2222' is now TOO LAGGED!
Apr 12 08:34:30 WARNING[4417]: MFC/R2 UniCall/1 <- 1001 [1/
el
32769
Apr 12 08:34:30 WARNING[4417]: Unicall/1 event Release call
ice
context=default
Channel=>1-15
Channel=>16
Channel=>17,18
113 | Captulo 4| Canales Analgicos y Digitales
group: Permite que un nmero de canales sea tratado como uno para el
propsito de discado. Si usted disca usando un grupo, el primer canal
disponible ser usado. Si fueran telfonos, al comunicarse para el grupo
todos recibirn la campanada de llamada al mismo tiempo. Con comas
usted puede especificar que un canal pertenece a ms de un grupo.
group=1
group=3,5
es
Ahora el recurso esta ya preparado, Ingles es el nico lenguaje que fue
completamente grabado para la instalacin estndar de Asterisk.
ed
ar
musiconhold: Selecciona la clase para msica en espera
zP
4.10.2 Opciones para conexiones con red ISDN
re
Pe
switchtype: Configura el tipo de Sealizacin usado para la lnea PRI.
Los valores aceptables son:
el
igu
euroisdn: EuroISDN
national: National ISDN
nt
switchtype = EuroISDN
ar
op
estndar EuroISDN.
Ex
pri_dialplan = unknown
prilocaldialplan = unknown
4.10 Opciones de configuracin del archivo zapata.conf | 114
es
el archivo /etc/zaptel.conf. Las correctas a escoger son las basadas en el
ed
hardware disponible. En una red ISDN Existen dos tipos de sealizacin.
ar
pri_cpe: Use la sealizacin PRI como CPE/Client/User/Slave. es
zP
usado para terminar una lnea PRI en canales de Asterisk. Esta es
re
la sealizacin ms simple. Si usted pidi el circuito de una red
Pe
pblica, debe funcionar de inmediato. Si usted se va a conectar a
una central, cuidado, es comn que la central estaa configuradas
el
es
pasa el CallerID con la numeracin correcta su llamada no es completada,
mas ahora usted consigue recibir llamadas.
ed
ar
callerid = "Flavio Eduardo Goncalves" <48 3025-8500>
zP
4.10.4 Opciones de calidad de udio
re
Pe
Estas opciones ajustan ciertos parmetros de Asterisk que afectan la
calidad del audio en Canales zapata.
el
igu
echocancel=yes
echocancelwhenbridged=yes
txgain=-10%
rxgain=10%
es
un registro detallado de llamadas (CDR Call Detail Records).
ed
ar
amaflags: Configura las AMA flags afectando la categorizacin de las
entradas al registro de llamadas. Acepta estos valores:
zP
re
billing: Marca el registro para tarifar.
Pe
documentation: Marca el registro para documentar.
el
igu
accountcode=financiero
ar
amaflags=billing
op
callprogress=no
busydetect=yes
es
4.10.7 Opciones para telefonos ligados a lneas FXS
ed
Estas opciones habilitan o deshabilitan recursos avanzados en lneas FXS.
ar
zP
adsi: (Analog Display Services Interface). Es un conjunto de estndar de
la industria de Telecom. Fue usado por algunas compaas telefnicas
re
para ofrecer servicios como compras de pasajes. Poco comn en Brasil, la
Pe
opcin habilita o deshabilita el soporte a ADSI.
el
cidsignalling=bell
cidstart=ring
es
4.11 Nomenclatura de los Canales ZAP
ed
ar
Los Canales ZAP configurados en el archivo zapata.conf usan el siguiente
zP
formato:
re
Zap/[g]<identificador>[c][r<cadence> Pe
<identificador>- Identificador numrico para el nmero de canal fsico del
el
canal selecionado.
igu
Ejemplos:
aV
zap/2 - Canal 2
zap/g1- Primer canal disponible en el grupo 1
ar
op
siguiente formato:
Ex
Unicall/[g]<identificador>[c][r<cadence>
<identificador>- Identificador numrico para el nmero de canal fsico del
canal selecionado.
[g] Identificador de grupo en vez de canal
[c] Peide confirmacin de respuesta. Un nmero no es considerado
respondido Hasta que la parte llamada presione #
[r] Campanilla personalizada.
[cadence] un entero de uno a cuatro.
Ejemplos:
Unicall/2 - Canal 2
Unicall/g1 - Primer canal disponible en el grupo 1
119 | Captulo 4| Canales Analgicos y Digitales
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 5
Voz sobre IP
En este captulo vamos a aprender conceptos bsicos sobre voz sobre IP
aplicados a la realidad de Asterisk.
5.1 Objetivos
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
5.2 Introduccin
siv
principalmente basada en Asterisk ser canalizada por voz sobre IP. Por
Ex
es
ed
Algunas aplicaciones que estn creciendo rpidamente en telefona IP
son:
ar
zP
5.3.1 Aplicaciones para Call-Centers
re
Usted puede reducir drsticamente el costo de un Call-Center usando voz
Pe
sobre IP. Mas all de que Asterisk posea los recursos principales para
el
est disponible.
ice
para usted.
clu
es
analgicas, FXS y FXO, conjuntamente con canales VoIP en los estndares
ed
SIP, H323, MGCP, IAX e SCCP.
ar
zP
re
Pe
Traduccin de Codecs API
el
Gsm, ALaw, Ulaw, G.723,
eM
nt
ice
aV
ar
op
siv
Aplicao Asterisk
Apresentao G.729/G711/GSM/Speex
Sesso H323/SIP/MGCP/IAX
Transporte UDP/RTP/SRTP
es
ed
Enlace Frame-Relay/ATM/PPP/Ethernet
ar
zP
Fsica Ethernet/V.35/RS-232/xDSL
re
Pe
Figura 5-2 Distribucin de los protocolos de VoIP dentro del modelo OSI.
el
5.5.2 IAX
5.5.3 MGCP
es
gran ventaja es la escalabilidad. Toda la inteligencia es implementada en
ed
los Call Agent contrarrestando a los gateways. Simplifica mucho la
configuracin. Puntos fuertes: manejo centralizado, puntos flacos, el
ar
protocolo es poco adoptado todava.
zP
re
5.5.4 H323 Pe
Muy usado en voz sobre ip. Esencial en la conectividad con proyectos
el
Hace
llama
das p
clu
ara A
steris
k
Ex
as
e l l amad
hac r
ec ibe y user+pee
R d=
Frien
es
Normalmente, el servidor o dispositivo ir precisar ser ambos un user y
ed
un peer al mismo tiempo, en este caso, usted lo definira como un
friend, que es un atajo para user e peer. Un friend puede ser
ar
ambos, enviar y recibir llamadas de un servidor. Un telfono
zP
probablemente caer en esta categora, as mismo como un servidor
re
remoto que precise de acceso a sus extensiones.
Pe
5.7 Codecs y conversin de Codecs
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Los Codecs son usados para convertir una seal analgica de voz en una
versin codificada digitalmente. Los Codecs varan en calidad de sonido,
banda ancha necesaria y requisitos computacionales. Cada servicio,
programa, telfono o gateway, tpicamente, soporta varios codecs
diferentes y cuando van a hablar uno con otro negocian que codec es el
que van a usar. Algunos codecs como el G.729 necesitan de pagos de
royalties para su uso.
5.8 Como escoger el CODEC. | 126
GSM: 13 Kbps
es
ed
ITU G.729: 8 Kbps
ar
Speex - 2.15 to 44.2 Kbps
zP
re
LPC10 - 2.5 Kbps
Pe
Los Codecs pueden ser traducidos de uno para otro, pero existen casos
el
donde esto no funciona muy bien. Es posible tambin usar el modo pass-
igu
Ancho de 64 8 13.33 13
Banda
(Kbps)
Costo Gratuito US$10.00 Gratuito Gratuito
por cada
canal
Resistencia a Ningn 3% 5% 3%
prdida de mecanismo
127 | Captulo 5| Voz sobre IP
paquetes
(Frame
Erasure)1
Complejidad ~0.35 ~13 ~18 ~5
en Mips 2
1
Resistencia a perdida de paquetes se refiere a una tasa en la cual el MOS es aproximadamente
0.5 peor que la calidad pico para el CODEC.
2
Uso de CPU se refiere a la cantidad en millones de instrucciones por segundo para codificar y
decodificar usando un DSP TI TMS320C54x. Existe una relacin casi directa entre MIPS y la
frecuencia del procesador del PC, estos valores sirven como comparativo, pero no es posible hacer
una relacin precisa entre nmero de canales y complejidad de CODEC con la frecuencia de la CPU
necesaria al servidor Asterisk.
es
ed
5.9 Overhead causado por los encabezados.
ar
zP
re
Pe
el
igu
Ethernet Destination
IP Header (20)
Voice Payload
Checksum (4)
Address (6)
Address (6)
Ethernet
eM
nt
ice
aV
ar
op
siv
A pesar de los codecs usasen poca banda ancha, tenemos una sobrecarga
Ex
causada por las cabeceras IP, UDP y RTP de los paquetes de voz. De esta
forma podemos decir que la necesidad de ancho de banda vara de
acuerdo con los tipos de cabecera comprometidos. Si estamos en una red
Ethernet tenemos que adicionar el encabezado Ethernet al clculo, si
estamos en una red WAN normalmente vamos a sumarle el
encabezamiento Frame-Relay o PPP. Esto aumenta la cantidad de banda
ancha utilizada en hasta incluso tres veces. Para ejemplificar vamos a
tomar los siguientes ejemplos:
es
http://blog.asteriskguide.com/bandcalc/bandcalc.php
ed
5.10 Ingeniera del trfico
ar
zP
Uno de los puntos importantes en el uso de voz sobre IP es determinar la
cantidad de banda ancha necesaria para un determinado destino como
re
una filial o un escritorio remoto. Esto tambin es importante en la
Pe
determinacin de cantidad de llamadas simultneas de Asterisk (que
el
5.10.1 Simplificaciones
eM
Filial 2 : 15 ramales
Ex
es
la banda ancha necesaria en un canal de datos o el nmero de enlaces
ed
necesarios.
ar
Vamos a usar el modelo Erlang B que es el ms comn y determinar
zP
cuantas lneas son necesarias en la hora ms ocupada. Uno de los puntos
re
importantes es que el modelo Erlang requiere que se sepa cuantos
minutos de llamadas existen en la hora ms ocupada BHT (Busy Hour
Pe
Traffic). Esto puede ser obtenido de dos maneras: Tarificacin por hora
el
deseada.
aV
Ejemplo 1:
ar
GoS=0,01
es
ed
Volumen diario total: 1200 * 140s = 168000 s por da = 46,66 horas
Hora ms ocupada = 17% * 46,66 = 7,93
ar
zP
re
Pe
el
igu
eM
nt
esto significa que en Internet este no puede ser usado. El modo IAX
Trunked solo puede ser habilitado entre dos servidores Asterisk y no vale
Ex
Usando cRTP la banda ancha usada por el g.729 con los encabezados cae
de 26.4 Kbps para 11.2 Kbps.
131 | Captulo 5| Voz sobre IP
es
pasen mas de 9.6 Kbps. Usando el estudio de John Todd da Loligo
ed
http://www.voip-info.org/wiki-Asterisk+bandwidth+iax2 podemos
determinar el siguiente uso de banda ancha:
ar
zP
Filial 1: 11 llamadas
http://blog.asteriskguide.com/bandcalc/bandcalces.php
nt
5.12 Sumario
ice
En este captulo usted aprendi que Asterisk trata la voz como un canal,
aV
as como un canal TDM. Aprendi como todo encaja dentro del modelo
ar
5.13 Cuestionario
1. Cite por lo menos cuatro beneficios del uso de voz sobre IP
es
ed
Correcto
ar
Incorrecto
zP
3. Asterisk no puede usar simultneamente recursos de PSTN (Red
re
pblica de telefona y de voz sobre IP, pues los codecs no son
Pe
compatibles).
el
Correcto
igu
Incorrecto
eM
Correcto
aV
Incorrecto
ar
5. Dentro del modelo OSI, los protocolos SIP, H.323 e IAX2 estn en la
op
capa de:
siv
Presentacin
Aplicacin
clu
Fsica
Ex
Sesin
Enlace
Correcto
Incorrecto
Correcto
Incorrecto
es
9. Users pueden recibir llamadas
ed
Correcto
ar
Incorrecto
zP
re
10. Sobre los codecs asignarle lo que es verdadero
Pe
G711 es el equivalente al PCM (Pulse Code Modulation) y usa 64 Kbps
el
de banda ancha.
igu
en Brasil.
G.729 es leve y ocupa poca CPU en su codificacin.
aV
ar
op
siv
clu
Ex
5.13 Cuestionario | 134
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 6
El Protocolo IAX
En este captulo vamos a aprender un poco sobre el protocolo IAX, sus
puntos fuertes y puntos flacos. Detalles como interfaces trunked e
integracin entre dos Asterisks tambin sern vistos.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
6.2 Introduccin
siv
es
6.3 Teora de operacin
ed
ar
IAX es un protocolo de media y sealizacin peer-to-peer. Eso significa
zP
que los dispositivos mantienen conexiones asociadas con las operaciones
de protocolo. Con respecto a los componentes de sealizacin de IAX,
re
este tiene ms parecido con el SIP que con el MGCP, que es un protocolo
Pe
de control de tipo maestro-esclavo.
el
mltiples flujos sobre una nica asociacin UDP entre dos hosts de
Internet. En esta faceta del proyecto, este se torna de los protocolos, el
eM
de 15 bits para multiplexar los flujos sobre una nica asociacin UDP.
Ex
137 | Captulo 6| El Protocolo IAX
IAX protocol
llamada #n
es
llamada #n
ed
ar
zP
re
Figura 6.1: Mltiples llamadas sobre una nica asociacin de puerto UDP.
Pe
El valor 0 es un nmero especial de llamada reservado en cada host.
el
individual.
ice
aV
Los mensajes IAX son llamadas frames. Existen varios tipos bsicos de
frames. Cada un de los tipos es descrito en esta seccin. Un bit F es
clu
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
F Nmero Originador de R Nmero de Destino de
Llamada Llamada
Timestamp
OSeqno ISegno Frame Type C Subclasse
Figura 6.2 Formato binario de un frame completo
es
La figura de arriba ilustra el formato binario de un frame completo. La
tabla de abajo describe cada uno de los campos. El bit R es marcado para
ed
indicar que un frame est siendo retransmitido. La retransmisin ocurre
ar
despus de un perodo de timeout y las retransmisiones son intentadas
zP
varias veces, dependiendo del contexto. El nmero de secuencia del flujo
de salida OSeqno inicia con 0 y se incrementa de uno en uno. El campo
re
OSeqno es usado para identificar el orden de los frames de media. Pe
ISeqno es lo mismo solo que en el sentido de entrada (Inbound).
el
Campo Descripcin
igu
Destinacin Call Number Nmero de llamada de destino del lado receptor del frame.
Timestamp Timestamp completo 32-Bits
ice
Subclasse Subclase
op
6.4.2 MiniFrame
clu
abajo.
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Datos
Figura 6-4 Formato binario de un mini-frame
Campo Descripcin
F Marcado en 0 indica que es un frame incompleto
Source Call Number Nmero de llamada originador del lado de
transmisin del frame completo
Timestamp Timestamp 16-Bits
Datos Datos
Figura 6-5 Descripcin de los campos de Mini Frame
es
6.5 Uso de banda ancha
ed
El uso de banda ancha en voz sobre IP es modificado por una serie de
ar
factores. Desde el CODEC, hasta cuestiones como compresin de
zP
encabezados.
El IAX permite el uso del modo Trunked. En este caso, cuando ms dere
Pe
una llamada es hecha, el overhead de los encabezados IP es disminuido,
el
G.711 (ulaw)
Una llamada:164333.75 bps /94.26 pps (82.1 kbps)
ar
De este modo:
Para cada llamada adicional: 42544 bps (21.2 Kbps)
Sobrecarga estimada IP/IAX2 (1 llamada): 13590 bps (6.7 Kbps)
Nmero estimado de llamadas por megabit: 47
G.729
Una llamada: 60124.33 bps/101.26 pps (30.0 Kbps).
Dos llamadas: 79496.23 bps/102.85 pps (39.7 Kbps).
De este modo:
Para cada llamada adicional: 19732 bps (9.6 Kbps)
4
Reproducido con el permiso del autor.
6.5 Uso de banda ancha | 140
GSM
Una llamada: 70958.16 bps/102.13 pps (35.4 kbps)
Dos llamadas: 100455.23 bps/102.63 pps (50.2 Kbps)
De este modo:
Para cada llamada adicional: 29497 bps (14.7 Kbps)
Sobrecarga estimada IP/IAX2 (1 llamada): 41461 bps
Nmero estimado de llamadas por megabit: 68
LPC10
Una llamada: 43855.44 bps/89.94 pps (21.9 kbps).
Dos llamadas: 56059.18 bps/100.81 pps (28.0 kbps)
es
De este modo:
ed
Para cada llamada adicional:12203 bps (6.1 Kbps)
Sobrecarga estimada IP/IAX2 (1 llamada):31561 bps (15.8 kbps)
ar
Nmero estimado de llamadas por megabit: 164
zP
SPEEX:
Una llamada: 74817.18 bps/101.06 pps (37.14 kbps)
re
Dos llamadas:109692.68 bps/102.18 pps (54.8 kbps)
Pe
De este modo:
Para cada llamada adicional:34875 bps (17.4 kbps)
el
el link Ethernet del servidor donde esto fue medido es Ethernet Full-
Duplex (posee un canal de entrada y salida). En una Wan que
siv
El mejor uso de banda ancha fue obtenido por el LPC10 sin tener en
cuenta la calidad de sus llamadas. Ya el G729 mostr que tiene un
excelente uso de banda ancha manteniendo una calidad de voz
impecable.
141 | Captulo 6| El Protocolo IAX
IAX2/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context>][/<options>]
es
<peer> Nombre de servidor al cual se conecta
ed
<portno> Nmero de puerto para la conexin en el
ar
servidor(opcional).
<exten> Extensin en el servidor Asterisk remoto(opcional)
zP
<context>: Contexto para usar en el servidor asterisk
re
remoto (opcional) Pe
La nica opcin disponible es a que significa pedido
<options> para auto-responder.
el
igu
IAX2/mark:asdf@myserver/6275@default Llame
"myserver"
nt
usando "mark"
ice
como nombre de
aV
usuario y adsf
como contrasea
ar
y pida la
op
extensin 6275
en contexto
siv
default.
clu
IAX2/iaxphone/s/a llame al
"iaxphone"
Ex
pidiendo
respuesta
inmediata
IAX2/john:[johnrsa]@somewhere.com Llame
somewhere.com,
usando john
como nombre de
usuario y una
llave RSA como
autentificacin.
El formato de un
nombre de canal
6.7 Escenarios de uso | 142
es
ed
6.6.4 Ejemplo de canales de entrada
ar
IAX2[mark@192.168.0.1]/14 llame al nmero 14 de usuario mark en
zP
la ip 192.168.0.1
re
IAX2[192.168.10.1]/13 llame al nmero 13 de ip 192.168.10.1
Pe
6.7 Escenarios de uso
el
igu
[general]
bindport=4569
bindaddr=0.0.0.0
bandwidth=high
disallow=all
allow=ulaw
143 | Captulo 6| El Protocolo IAX
[guest]
type=user
context=default
callerid="Guest IAX User"
;
; Trust Caller*ID Coming from iaxtel.com
;
[iaxtel]
type=user
context=default
auth=rsa
inkeys=iaxtel
;
; Trust Caller*ID Coming from iax.fwdnet.net
;
es
[iaxfwd]
ed
type=user
context=default
ar
auth=rsa
inkeys=freeworlddialup
zP
re
[2003] Pe
type=friend
context=default
secret=contrasea
el
host=dynamic
igu
son:
nt
bandwidth=high
ice
aV
Este comando hace que codecs de banda alta como el G711 puedan ser
seleccionados. Si usted usa bandwidth=low y selecciona como codec ulaw
ar
disponible.
siv
disallow=all
allow=ulaw
clu
[2003]
type=friend
context=default
secret=contrasea
host=dynamic
es
http://www.asteriskguru.com/tools/idefisk/idefisk133_installer.exe
ed
Cuidado: URLs frecuentemente cambian y el software
ar
probablemente no estar en este exacto lugar cuando usted
zP
decida hacer el download. Nada que usted no pueda resolver
re
navegando un poco.
Pe
Otros softphones o telfonos IP basados en IAX pueden ser usados para
el
ALT+A.
aV
[default]
exten=>2000,1,Dial(SIP/2000)
exten=>2001,1,Dial(SIP/2001)
exten=>2003,1,Dial(IAX2/2003)
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
6.7 Escenarios de uso | 146
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
es
ed
ar
zP
re
Figura 6.3 habilitando iax2 en el freeworlddialup Pe
Aviso: Las pantallas y urls frecuentemente cambian de layout y
el
IAX2.
eM
[general]
register=>621538:contrasea@iax2.fwdnet.net/2003
ar
op
type=peer
secret=contrasea ; su contrasea en el proveedor
host=iax2.fwdnet.net
[iaxfwd]
type=user
context=default
auth=rsa
inkeys=freeworlddialup
6.7 Escenarios de uso | 148
es
Para esto vamos a configurar el archivo extensions.conf y adicionar la
ed
siguiente lnea en el contexto default.
ar
exten=>612,1,Dial(IAX2/621538:contrasea@iax2.fwdnet.net/612,20,r)
zP
Entre a la interfase de lnea de comando de Asterisk, haga un reload y
enseguida use el comando:
re
Pe
el
CLI>reload
CLI>iax2 show register
igu
es
ed
ar
zP
re
Pe
el
igu
Los siguientes pasos tienen que ser hechos para que el servidor esclavo
pueda hacer y recibir llamadas del servidor maestro. Para mostrar un
ar
En el archivo iax.conf
register=>maestro:contrasea@maestro.net.br
En el archivo iax.conf
es
ed
[maestro]
type=user
ar
auth=plaintext
zP
context-default
secret=contrasea
host=dynamic
re
callerid=master Pe
trunk=yes
notransfer=yes
el
[maestro]
igu
type=user
auth=plaintext
eM
context-default
secret=contrasea
callerid=master
nt
trunk=yes
ice
notransfer=yes
aV
[2000]
type=friend
auth=plaintext
ar
context-default
op
secret=contrasea
callerid=master
siv
[2001]
clu
[esclavo]
type=user
auth=plaintext
context-default
secret=contrasea
host=dynamic
callerid=esclavo
trunk=yes
notransfer=yes
[esclavo]
151 | Captulo 6| El Protocolo IAX
type=user
auth=plaintext
context-default
secret=contrasea
callerid=esclavo
trunk=yes
notransfer=yes
[2200]
type=friend
auth=plaintext
context-default
secret=contrasea
callerid=master
[2201]
es
. ; Definicin de los otros canales IAX (Ramas)
ed
ar
2.2 Registrarse en el esclavo
zP
register=>esclavo:contrasea@esclavo.net.br
re
Pe
Paso 3 Configurar el archivo extensions.conf en el servidor esclavo.
el
igu
[default]
exten => _20XX,Dial(IAX2/master/${EXTEN}
eM
exten=>_22XX,Dial(IAX2/${EXTEN})
nt
[default]
aV
exten=>_20XX, Dial(IAX2/${EXTEN})
op
es
4. Acepta la conexin y enva para el originador para el contexto
ed
especifico en la configuracin context= de la entrada en el
archivo iax.conf.
ar
zP
Si un nombre de usuario no es proporcionado, Asterisk hace lo siguiente:
re
1. Busca por un type=user (o type=friend) en archivo iax.conf
Pe
sin un secreto especificado y tambin en las restricciones de
el
[guest]
clu
type=user
context=guest
Ex
[iaxtel]
type=user
context=incoming
auth=rsa
inkeys=iaxtel
[iax-gateway]
type=friend
allow=192.168.0.1
context=incoming
host=192.168.0.1
[iax-friend]
type=user
secret=this_is_secret
153 | Captulo 6| El Protocolo IAX
auth=md5
context=incoming
guest
iaxtel
iax-gateway
iax-friend
es
Entonces el Asterisk intentar autenticar la conexin usando la entrada
ed
correspondiente en iax.conf. Si cualquier otro nombre de usuario fuese
ar
especificado, la conexin ser recusada.
zP
Si ningn usuario ha sido especificado, Asterisk autenticar la conexin
re
como usuario guest (invitado). Entretanto si usted no tuviese un usuario
Pe
guest en su archivo iax.conf, el usuario que se estuviese conectando,
puede especificar el secreto asociado con cualquier otro iax.conf que no
el
que pueden ser adivinadas y que van a permitir que el usuario se conecte
en el sistema.
nt
ice
Usar llaves RSA como sus secretos es una forma de evitar este problema
sin crear un usuario guest. Entradas RSA no son adivinbles, otro
aV
autentificacin de:
clu
[iaxtel-outbound]
type=peer
username=iaxtel_username
secret=iaxtel_secret
host=iaxtel.com
6.9 Configuracin del archivo iax.conf | 154
[iax-gateway]
type=friend
allow=192.168.0.1
context=incoming
host=192.168.0.1
Entonces el comando:
Dial(IAX2/iaxtel-outbound/1234)
es
El comando:
ed
Dial(IAX2/user2:secret2@iaxtel-outbound/1234)
ar
zP
Tambin se ir a conectar con el host iaxtel.com, pero especificar
user2:secret2 como nombre y contrasea respectivamente y esto
sobrescribe las entradas en el iax.conf.
re
Pe
el
Dial(IAX2/iaxtel.com/1234)
igu
rechazada.
ice
Dial(IAX2/iax-gateway/5678)
aV
es
valor.
ed
bindaddr = <ipaddr> Esto permite conectar el IAX a una
direccin IP especifica en vez de ligar el
ar
* a todos las direcciones.
zP
re
6.9.2 Seleccin de los codecs: Pe
La seleccin de los codecs puede ser hecha en la sesin [general] o en
el
es
ed
ar
zP
Flujo de voz estable
re
Figura 6.5 Buffer del jitter Pe
Jitter tambin conocido como variacin de atraso es uno de los grandes
el
jitter.
siv
es
tos=0x04 = high reliability
ed
tos=0x02 = ECT bit set
tos=0x01 = CE bit set
ar
zP
Ejemplo:
re
tos=0x05 Pe
el
Usted est diciendo que quiere alta confiabilidad junto con el bit CE
igu
habilitado.
eM
conectarse de determinadas
ar
deny=192.168.0.0/255.255.255.0
permit=0.0.0.0/0.0.0.0
6.9 Configuracin del archivo iax.conf | 158
es
de autentificacin son permitidos.
ed
Mltiples mtodos pueden ser
especificados, separados por comas. Si
ar
md5 o texto simple (plaintext) es
zP
seleccionado un secreto (secret) debe
re
ser proporcionado. Si la autentificacin
Pe
RSA fuera especificada, entonces uno
o ms nombres de llaves deben ser
el
/var/lib/asterisk/keys/<name>.pub y
Ex
Parmetros de billing:
es
vtsvoffice*CLI> iax2 show netstats
-------- LOCAL --------------------- -----
ed
--- REMOTE --------------------
ar
Channel RTT Jit Del Lost % Drop OOO Kpkts Jit
Del Lost % Drop OOO Kpkts
zP
IAX2/8590-1 16 -1 0 -1 -1 0 -1 1 60
110 3 0 0 0 0
re
Pe
iax2 show channels
el
iax2 debug
6.10 Comandos de depuracin do IAX2. | 160
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
REGREQ
Timestamp: 00003ms SCall: 26975 DCall: 00000 [8.8.30.43:4569]
USERNAME : 8590
REFRESH : 60
es
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass:
ed
REGAUTH
Timestamp: 00009ms SCall: 00003 DCall: 26975 [8.8.30.43:4569]
ar
AUTHMETHODS : 2
zP
CHALLENGE : 137472844
USERNAME : 8590
re
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX
Pe Subclass:
REGREQ
Timestamp: 00016ms SCall: 26975 DCall: 00003 [8.8.30.43:4569]
el
USERNAME : 8590
igu
REFRESH : 60
MD5 RESULT : f772b6512e77fa4a44c2f74ef709e873
eM
Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 00025ms SCall: 26975 DCall: 00003 [8.8.30.43:4569]
siv
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00003ms SCall: 00006 DCall: 00000 [8.8.30.43:4569]
clu
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 26976 DCall: 00006 [8.8.30.43:4569]
Ex
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00003ms SCall: 26976 DCall: 00006 [8.8.30.43:4569]
RR_JITTER : 0
RR_LOSS : 0
RR_PKTS : 1
RR_DELAY : 40
RR_DROPPED : 0
RR_OUTOFORDER : 0
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 00006 DCall: 26976 [8.8.30.43:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00003ms SCall: 26977 DCall: 00000 [8.8.30.43:4569]
VERSION : 2
CALLING NUMBER : 8590
CALLING NAME : 4830258590
161 | Captulo 6| El Protocolo IAX
FORMAT : 2
CAPABILITY : 1550
USERNAME : 8590
CALLED NUMBER : 8580
DNID : 8580
Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00003ms SCall: 26977 DCall: 00000 [8.8.30.43:4569]
VERSION : 2
es
CALLING NUMBER : 8590
ed
CALLING NAME : 4830258590
FORMAT : 2
ar
CAPABILITY : 1550
USERNAME : 8590
zP
CALLED NUMBER : 8580
DNID : 8580
re
Pe
Tx-Frame Retry[-01] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 00004 DCall: 26977 [8.8.30.43:4569]
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass:
el
AUTHREP
igu
FORMAT : 1024
aV
Tx-Frame Retry[000] -- OSeqno: 003 ISeqno: 002 Type: VOICE Subclass: 138
op
Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 003 Type: IAX Subclass: ACK
Timestamp: 00057ms SCall: 26977 DCall: 00004 [8.8.30.43:4569]
clu
Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 004 Type: IAX Subclass: ACK
Timestamp: 00090ms SCall: 26977 DCall: 00004 [8.8.30.43:4569]
Ex
Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 004 Type: VOICE Subclass: 138
Timestamp: 00210ms SCall: 26977 DCall: 00004 [8.8.30.43:4569]
Tx-Frame Retry[-01] -- OSeqno: 004 ISeqno: 003 Type: IAX Subclass: ACK
Timestamp: 00210ms SCall: 00004 DCall: 26977 [8.8.30.43:4569]
Rx-Frame Retry[ No] -- OSeqno: 003 ISeqno: 004 Type: IAX Subclass: PING
Timestamp: 02083ms SCall: 26977 DCall: 00004 [8.8.30.43:4569]
Tx-Frame Retry[000] -- OSeqno: 004 ISeqno: 004 Type: IAX Subclass: PONG
Timestamp: 02083ms SCall: 00004 DCall: 26977 [8.8.30.43:4569]
RR_JITTER : 0
RR_LOSS : 0
RR_PKTS : 1
RR_DELAY : 40
RR_DROPPED : 0
RR_OUTOFORDER : 0
Rx-Frame Retry[ No] -- OSeqno: 004 ISeqno: 005 Type: IAX Subclass: ACK
6.11 Sumario | 162
vtsvoffice*CLI>iax2 no debug
6.11 Sumario
En este captulo usted aprendi a diferenciar los puntos fuertes y flacos
es
del IAX. Fue posible demostrar los escenarios de uso do Asterisk como
ed
cliente usando un softphone y entroncamiento de dos PBX con IAX
trunked. Fue demostrado que el modo trunked economiza banda ancha
ar
enviando diversas llamadas en un mismo paquete evitando la creacin de
zP
nuevos paquetes y encabezados. Fue posible ver que la cantidad de
banda ancha usada depende de los codec, como tambin de las
re
configuraciones. Aprendi a configurar el archivo iax.conf para conectarse
Pe
a telfonos y proveedores y pudo usar algunos de los comandos de
el
6.12 Cuestionario
1. Podemos citar como principales beneficios de IAX la economa de
banda ancha y facilidad de pasar por Firewalls con NAT.
Correcto
Incorrecto
es
Correcta
ed
Incorrecta
ar
3. El IAX emplea los siguientes tipos de frames
zP
Frame Completo
re
Frame Incompleto Pe
Mini-Frame
el
Trunked Frame
igu
IP
ice
UDP
IAX
aV
RTP
cRTP
ar
op
Verdadero
Ex
Falso
Correcta
Incorrecta
Correcta
6.12 Cuestionario | 164
Incorrecta
IAX/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context>][/<options>]]
es
Correcta
ed
Incorrecta
ar
10. Es comando IAX2 show registry muestra informaciones sobre:
zP
Los usuarios registrados
re
Los proveedores a los cuales el Asterisk se conecto.
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
165 | Captulo 6| El Protocolo IAX
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 7
El protocolo SIP
7.1 Objetivos
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
vdeo, chat, juegos interactivos y realidad virtual. Fue definido por la IETF
y se viene tornando el estndar de facto en telefona IP.
clu
Ex
167 | Captulo 7| El protocolo SIP
es
ed
ar
zP
re
Pe
el
igu
eM
sealizacin SIP.
aV
no est en su administracin.
8500@200.180.1.1
es
ed
ar
zP
re
Pe
el
igu
eM
formato sip:flavio@voffice.com.br.
op
siv
clu
Ex
169 | Captulo 7| El protocolo SIP
Location y
Registrar
Server
INVITE INVITE
sip:8500@voffice.com.br sip:8500@200.180.4.168
From: sip:2400@sip.com From: sip:2400@sip.com
To: sip:8500@voffice.com.br To: sip:8500@voffice.com.br
es
Call-ID 2400@sip.com Call-ID 2400@sip.com
ed
OK 200 OK 200
ar
From: sip:2400@sip.com From: sip:2400@sip.com
To: sip:8500@voffice.com.br Proxy To: sip:8500@voffice.com.br
zP
Call-ID 2400@sip.com Call-ID 2400@sip.com
re
Flujo de Media
sip:2400@sip.com
Pe sip:8500@200.180.4.168
el
igu
Location y
ice
Registrar
Server
aV
ar
INVITE
op
sip:8500@voffice.com.br
From: sip:2400@sip.com
To: sip:8500@voffice.com.br
siv
Call-ID 2400@sip.com
clu
INVITE 8500@200.180.4.168
OK 200
ACK 8500@200.180.4.168
Flujo de Media
sip:2400@sip.com sip:8500@200.180.4.168
Figura 7.4 Operacin em modo redirect
7.2 Visin general | 170
es
ed
ar
zP
re
Pe
el
igu
n) (s
e
P i na SIP
SI zac P
clu
i liz
al RT dio) ac
R dio
e
(A
i
TP )
s u n)
u
( (A
Ex
es
ed
OPTIONS pedido de opciones del servidor
ar
Las respuestas a los mensajes de SIP son en formato texto como en el
zP
protocolo http. Aqu estn las respuestas ms importantes.
[xxx]
es
Type=xxx
Parametr1=valor
ed
Parmetro2=valor
ar
Donde xxx es el nombre de usuario asociado con el cliente SIP, o es un
zP
nombre arbitrario usado por otros archivos de configuracin para
re
referirse, a este dispositivo SIP. Tpicamente si un telfono SIP tiene un
Pe
nmero de extensin de 123, entonces su entrada correspondiente en
este archivo ir a iniciarse con [123]. Note que usted todava tiene que
el
telfono.
eM
La otra manera en que las llamadas SIP de entrada se inicien con las
sesiones [xxx] de este archivo, es examinar la direccin IP de pedido que
nt
est llegando y ojear la sesin peer [xxx] que tenga el valor de host
ice
bindaddr=0.0.0.0
bindport=5060
Ex
realm=voffice.com.br
srvlookup=yes
173 | Captulo 7| El protocolo SIP
tos=lowdelay
es
Los parmetros lowdelay, throughput, reliability, mincost y none estn
ed
obsoletos porque setean el tipo de servicio de acuerdo con el antiguo
modelo de precedencia definidos en las RFC 791 y RFC 1349.
ar
zP
Los parmetros TOS setean bytes correspondientes al tipo de servicio en
el encabezado del paquete IP. Este campo es responsable de informar a
re
los ruteadores como se debe tratar estos paquetes en la red y aplicar QoS
Pe
(calidad de servicio). Este campo ya sofri varias modificaciones. Ms
el
Services Code Point RFC 2474 y RFC 2475) ha sido la ms usada. Usando
valores numricos (decimales) usted puede setear cualquier valor en el
eM
Para simplificar los valores ms usados para los paquetes de voz son:
ice
tos=160
op
anterior)
clu
tos=160
Ex
Como usted puede notar existe una compatibilidad de la nueva RFC con la
antigua. S usted setea auto-qos voip en un switch Cisco (que soporte el
recurso) el automticamente priorizar paquetes con este marcado en los
encabezados.
es
ed
ar
zP
re
Pe
el
Configurando un cliente SIP con el SIP Server: Esto significa que clientes
SIP (telfonos, softones) se registran para el servidor Asterisk y
eM
telfono.
ar
Telfono Tpico
[4101]
type=friend
context=default
callerid=Flvio E. Goncalves<8550>
host=dynamic
canreinvite=yes
dtmfmode=info
mailbox=1234@default
disallow=all
allow=ulaw
allow=g729
secret=contrasea
175 | Captulo 7| El protocolo SIP
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
musicclass=default
es
7.4.3 Paso 3 Definir la extensin en el archivo sip.conf
ed
ar
Despus que usted defina las cuentas de clients sip en sip.conf, usted
zP
est apto a loguearse en el servidor Asterisk dos clientes y hacer y recibir
llamadas. Usted precisar configurar las extensiones en extensions.conf.
re
Pe
Ejemplo:
el
Si alguien llama a una extensin que empieza con 41 y dos dgitos ms, el
eM
type=friend
ar
context=default
siv
clu
discado.
host=dynamic
canreinvite=yes
dtmfmode=info
es
ed
El dtmfmode es esencial para que el telfono pase el DTMF necesario a
operaciones como transferencia, captura de llamada entre otras cosas.
ar
Este puede ser seteado como uno de los siguientes parmetros:
zP
dtmfmode=info. Cuando es configurado de esta forma las informaciones
re
de DTMF son pasadas por la sealizacin SIP. Este mtodo es definido por
Pe
la RFC 3265 (eventos de sealizacin). Esta RFC define varias formas de
el
dtmfmode=rfc2833. Este rfc permite que los tonos DTMF sean pasados
aV
Codificacin do evento(decimal)
clu
_________________________
0--9 0--9
Ex
* 10
# 11
A--D 12--15
Flash 16
mailbox=1234@default
disallow=all
secret=contrasea
es
Este parmetro configura la contrasea para la autentificacin. Si usted
ed
no quisiera que las contraseas aparezcan en el archivo de texto puede
usar el comando md5secret=contrasea criptogrfica en MD5.
ar
zP
Para generar la contrasea en MD5 usted puede usar el comando de
lnea:
re
Pe
#echo n username:realm:secret |md5sum
el
igu
md5secret=0b0e5d467890....
nt
clculo de MD5.
aV
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
ar
op
musicclass=default
Ex
videosupport=yes/no
language=br
rtptimeout=60
rtpholdtimeout=120
es
Termina la llamada si no hubiera actividad RTP cuando esta en espera
ed
(hold) (debe ser mayor que el rtptimeout).
ar
qualify=yes|no o tiempo en milisegundos
zP
Enva peridicamente un mensaje para medir el tiempo de respuesta de
re
peer. Cuando sea mayor que 2000 ms o el tiempo es especificado en el
Pe
comando, considera al peer fuera de alcance.
el
Asterisk no soporto llamadas SIP sobre TCP o TLS, apenas las soporto
sobre UDP.
nt
ice
es
ed
ar
zP
re
Pe
el
SIP client: Esto significa que Asterisk se registra como un cliente para
eM
de simplificar el discado.
clu
register=>621538:password@fwd.fwdnet.net/4100
register=>ip1140623535:password@gvt.com.br/8573
7.5 Conectndo se a un proveedor SIP. | 180
[gvt]
context=entrada
es
type=friend
callerid="ip1140623535" <1140623535>
ed
dtmfmode=inband
canreinvite=no
ar
username=ip1140623535
zP
secret=[omitido por seguridad]
host=gvt.com.br
fromuser=ip1140623535
re
fromdomain=gvt.com.br Pe
insecure=invite
el
En este ejemplo, vamos escoger el digito 010 como ruta de salida para el
eM
FWD. Para discar para el 610000, usted debe discar 010610000. (Como si
fuese una nueva operadora, marque 10 para llamar el fwd).
nt
ice
exten=>_010.,1,SetCIDNum(621538})
aV
exten=>_010.,2,SetCIDName(Flavio Goncalves)
exten=>_010.,3,Dial(SIP/${EXTEN:3}@gvt)
exten=>_010.,4,Playback(invalid)
ar
exten=>_010.,5,Hangup
op
siv
conexin a proveedores.
register=>621538:password@fwd.fwdnet.net/4100
registertimeout=20
es
ed
CLI>sip show registry
ar
El comando SIP show registry permite que usted vea si su Asterisk se
zP
registr correctamente a su proveedor.
re
username=ip1140623535 Pe
el
host=gvt.com.br
nt
ice
fromuser=ip1140623535
fromdomain=gvt.com.br
ar
op
insecure=very
Ex
es
ed
ar
zP
re
Pe
el
igu
eM
allowguest=yes/no
op
insecure=invite;port
autocreatepeer=yes/no
183 | Captulo 7| El protocolo SIP
es
factura.
ed
ar
7.7 Nomenclatura de los canales SIP
zP
El formato de el nombre de un canal SIP usado para una conexin de
salida es:
re
Pe
el
SIP/[exten@]peer[:portno]
eM
peer: El nombre de el peer al cual se conecta. Esto puede ser uno de los
nt
siguientes:
ice
Ejemplos:
exten=>s,1,Dial(SIP/ipphone)
exten=>s,1,Dial(SIP/info@voffice.com.br)
exten=>s,1,Dial(SIP/192.168.1.8:5060,20)
exten=>s,1,Dial(SIP/8500@sip.com:9876)
7.8 SIP NAT Traversal | 184
es
mapeada para una direccin IP:Puerto externo. Con este mapeamiento el
ed
ruteador sabe como encaminar de vuelta un paquete que ha venido de la
red externa. Este mapeamiento es valido por un tiempo pr-determinado,
ar
despus el cual en la ausencia de trfico es descartado.
zP
re
Existen cuatro tipos de NAT definidos como
Pe
Full Cone
el
Restricted Cone
igu
Symmetric
nt
Para una dada direccin interna, los tres primeros tipos de NAT
ice
cliente a travs de NAT puede ser vlido apenas por cierta cantidad de
tiempo, (tpicamente algunos minutos), a menos que los paquetes
siv
Por ejemplo:
es
de destino IP especfico. Por ejemplo:
ed
En el caso donde el cliente enva un paquete para un computador externo,
ar
el NAT mapea al cliente 10.0.0.1:8000 para 200.180.4.168:1234. As el
zP
computador externo puede enviar paquetes de vuelta. Entretanto el NAT
re
bloqueara paquetes que llegan de otros computadores externos.
Pe
Note que en este caso el Firewall tiene control sobre la sesin, esperando
el
1010.
clu
7.8.4 Simtrico
es
ed
ar
zP
re
Pe
el
igu
cualquiera intentara enviar para otro puerto mapeado, estos paquetes son
descartados como en el caso de Cono Restricto. El par externo IP:puerto
siv
especfico.
Ex
es
rport, y algunos clientes no van a procesar los mensajes SIP
ed
correctamente.
ar
Si estas etiquetas estuviesen presentes, por lo menos en principio el
zP
mecanismo existe para atravesar el NAT. Otro modo simple de atravesar
re
el NAT es usar TCP para la sealizacin SIP entre el cliente y el proxy.
Desde que la conexin TCP es abierta a travs de NAT directamente de el
Pe
cliente para el proxy. La sealizacin proceder sin bloqueo. Nuevamente,
el
trabajan apenas usando UDP. Note que la sealizacin SIP debera estar
apta a atravesar cualquiera de los cuatro tipos de NAT si el proxy retorne
eM
es
009 Content-Length: 138
ed
010 Content-Type: application/sdp
011 User-Agent: HearMe SoftPHONE
ar
012
013 v=0
zP
014 o=deltathree 0 0 IN IP4 10.0.0.1
015 s=deltathree
re
016 c=IN IP4 10.0.0.1
017 t=0 0 Pe
018 m=audio 8000 RTP/AVP 4
019 a=ptime:90
el
020 a=x-ssrc:00aea3c0
igu
es
ed
Soluciones Near-End-Nat-Traversal
UPnP
ar
ALG
zP
STUN
re
Configuracin Manual
ICE
Pe
Soluciones Far-End-Nat-Traversal
el
7.11.1 UPnP
nt
es
en el puerto 10.0.0.1:8000.
ed
Esto ir a funcionar en las siguientes situaciones:
ar
zP
1. El cliente debe enviar y recibir el RTP en el mismo puerto.
re
2. El cliente debe enviar un mensaje SIP logo despus de enviar la
Pe
consulta para la prueba de NAT. Si existe un largo atraso NAT
el
IP:Puerto.
op
par IP:Puerto pblico, el puede tambin determinar el tipo de NAT del que
usted est detrs. Clientes que usan el protocolo STUN ya existen como el
Ex
es
Usando una combinacin de diferentes pedidos el servidor STUN, un
ed
cliente puede determinar si el est en la Internet abierta o si est atrs de
un Firewall que bloquea el UDP o si el est atrs de un NAT y de que tipo.
ar
zP
7.11.3 ALG Aplication Layer Gateway
re
Esta tcnica se vale de la instalacin de un Firewall/NAT mejorado
Pe
llamado un gateway de capa de aplicacin (ALG) que entiende la relacin
el
telnet del ruteador. Por la interfase Web no tenia esta opcin. Dos
equipamientos con chipset GlobeSpan Virata nos presentaron este
siv
Externip=Direccin IP Externo
Localnet=Direccin da Red Local Interna
7.11 Formas de pasajes por el NAT | 192
Permiten que cuando Asterisk est enviando paquetes SIP para afuera de
la red la direccin sea substituida por la direccin definida en el comando
Externip. La lnea Localnet define cual es direcciones pertenecen a la red
local. Todas las redes que no estuviesen en la franja definida en localnet
son externas. Con esto el Asterisk sabe cuando debe sustituir las
direcciones de los encabezados dependiendo del peer de destino.
; RTP Configuration
es
;
[general]
ed
;
; RTP start and RTP end configure start and end addresses
ar
;
zP
rtpstart=10000
rtpend=20000
re
Pe
7.11.5 COMEDIA Conexin Oriented Media
el
igu
La solucin de arriba funciona bien (Servidor STUN) para los tres primeros
tipos de NAT. El cuarto caso (NAT simtrico) no va a permitir este
eM
Si es deseado que ambos, los UACs que estn atrs de NATs y los UACs
Ex
a=direction:active
es
2. Si ambos de los puntos finales estn atrs de NATs
ed
simtricos.
ar
En cualquiera de los dos casos, una solucin es tener un Relay de RTP en
zP
el medio del flujo entre los puntos finales. El Relay RTP acta como un
re
segundo punto final para el cual los dispositivos reales se intentan
comunicar uno con el otro. Tpicamente, existira un servidor en el medio
Pe
del flujo que va a manipular el SDP de forma de instruir los puntos finales
el
para enviar el RTP para el Relay en vez de directamente desde uno hacia
igu
va a permitir que el cliente VoIP atraviese con xito una gran variedad de
firewalls que existiesen entre el usuario remoto y la red.
siv
es
ed
7.12.1 Parmetros de Asterisk usados para atravesar NAT
ar
NAT
zP
re
nat=yes (puede ser true, t, y, 1 y on)
Pe
o Es la combinacin de los modos route + modo rfc3581
el
nat=route
igu
nat=rfc3581
aV
nat=never
o En este caso el Asterisk no va a adicionar el rport en la lnea
VIA del encabezado como en la RFC3581
QUALIFY
Qualify=yes
o Esta opcin usa el valor estndar de 2 segundos.
195 | Captulo 7| El protocolo SIP
Qualify=no
o Deshabilita el chequeo del peer
Qualify=x ms
o Setea el tiempo en ms entre los chequeos
EXTERNIP
Ex: externip=200.180.4.168
es
ed
Usted solo precisa usar esta opcin si su Asterisk est detrs de NAT
intentndose comunicar con dispositivos fuera de NAT.
ar
zP
LOCALNET
re
Usada dentro de la sesin [general] del archivo sip.conf. Indica la red
Pe
privada interna donde el Asterisk no va a usar la direccin externa
el
Ex: localnet=10.1.0.0/255.255.0.0
eM
nt
Para simplificar, vamos a usar dos situaciones que son las ms tpicas.
aV
es
ed
ar
zP
re
Pe
el
igu
quedara as:
aV
[general]
ar
nat=yes
externip = 200.84.7.1
op
localnet = 192.168.1.0/255.255.255.0
siv
es
Varios proveedores usan soluciones de tipo RTP Relay que permiten una
ed
flexibilidad mejor, esto es hecho usando el SER (SIP Express Router) y el
rtpproxy del PortOne o el MediaProxy de ag-projects.de. A pesar de ser
ar
flexibles ellas adicionan mucha complejidad al ambiente. En ambientes
zP
corporativos la solucin de VPN me parece ser la ms simple y segura.
Para proveedores de VoIP talvez no haya mucho para escoger. El uso de
re
IAX tambin es una opcin para quien se quiere librar de los problemas
Pe
con NAT.
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
7.14 Cuestionario | 198
7.14 Cuestionario
1. El SIP es un protocolo de tipo texto similar al ______ e _______.
IAX
HTTP
H323
SMTP
2. El SIP puede tener sesiones de tipo: (marque todos los que se aplican)
es
Voz
ed
Buzn de voz
Vdeo
ar
Chat
zP
Juegos
re
3. Podemos citar como componentes de SIP a: (marque todos los que se
Pe
aplican)
el
igu
User Agent
Media gateway
eM
PSTN Server
Proxy Server
nt
Registrar Server
ice
___________.
ar
Correcto
Ex
Incorrecto
Correcto
Incorrecto
199 | Captulo 7| El protocolo SIP
Correcto
Incorrecto
Correcta
Incorrecta
es
ed
9. Asterisk soporta sin problemas la supresin de silencio en canales SIP.
La afirmacin es:
ar
zP
Correcta
re
Incorrecta
Pe
10. El tipo ms difcil de NAT para transportar es el:
el
Full Cone
igu
Restricted Cone
Port Restricted Cone
eM
Symmetric
nt
ice
aV
ar
op
siv
clu
Ex
7.14 Cuestionario | 200
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Ex
clu
siv
op
ar
aV
ice
nt
eM
igu
el
Pe
re
zP
ar
ed
es
Captulo 8
es
para cada nmero que usted disca, es posible programar una accin y
esto es determinado en el plan de discado. El Archivo que contiene el
ed
plano de numeracin esta localizado en /etc/asterisk/extensions.conf y
ar
en este captulo usted va a aprender a configurarlo.
zP
8.1 Objetivos del captulo
re
Pe
Al final de este captulo usted debe estar apto para:
el
8.2 Introduccin
siv
clu
es
estn algunas opciones relacionadas al plan de discado:
ed
static: En la practica, esta opcin afecta apenas la operacin del
ar
comando save dialplan. El valor estndar es no, pero el
zP
archivo ejemplo de extensions.conf instalado con el Asterisk
re
explcitamente coloca static=yes.
Pe
writeprotect: Si las opciones writeprotect=no y static=yes
el
Nota:
save dialplan sobrescribir su archivo extensions.conf
con uno nuevo generado por el plano de numeracin
actual. Una copia de su archivo extensions.conf viejo no
ser guardada. Todos los comentarios sern perdidos.
El archivo ejemplo de Asterisk viene con esta
configuracin peligrosa, writeprotect=no, static=yes
es
globales (o constantes) y sus valores iniciales.
ed
En verdad las variables globales de Asterisk son normalmente usadas
ar
como constantes y no como variables. Ellas son usadas para simplificar
zP
mudanzas futuras en la configuracin del PBX. El valor actual de las
re
variables globales puede ser cambiado usando el comando Set. El valor
Pe
de la variable global puede ser referenciado, usando la sintaxis:
${nombredevariable}. Las variables globales no son sensibles a
el
maysculas y minsculas.
igu
ENTRADA=>Zap/3&Zap/4
nt
ice
RINGTIME=>3
ar
VMANNOUNCE=>mysounds/my-vm-annouce
clu
COCINA=>Zap/3
SALA =>Zap/4
CUARTO =>Zap/5
Las variables globales pueden ser configuradas dentro del plan de discado
usando el comando:
es
ed
Despus de las secciones [general] y [globals], el resto del archivo
extensions.conf es usado en la definicin del plan de discado. El plan de
ar
discado consiste de una coleccin de contextos. Cada contexto consiste de
zP
una coleccin de extensiones.
Contexto "default"
aV
Extensin Descripcin
8580 Flavio
ar
8581 Daniel
op
8582 Juliano
siv
0 Telefonista
Ex
En este ejemplo, que fue dado el nombre de default, las primeras tres
extensiones sern asociadas a telfonos. La cuarta extensin (8583) ser
asociada con la aplicacin de buzn de voz. La quinta extensin (8585)
ser asociada a una sala de conferencia. Finalmente el 0 ser asociado
con el operador.
Context "men":
Extensin Descripcin
s Bienvenido a mensajes e instrucciones
8.4 Contextos y Extensiones | 206
1 Ventas
2 Soporte
3 Contabilidad
9 Directorio
# Colgar
es
extensin real o hacer algo como enviar para quien disco hacia otro
ed
men.
ar
Los contextos pueden ser usados para programar un nmero importante
zP
de recursos incluyendo:
re
Seguridad: Permitir ciertas llamadas de algunos telfonos.
Pe
el
extensiones.
nt
quiere atender.
clu
que contexto una llamada de aquel canal va a ser colocada, usando una
definicin como:
context=incoming
Entonces la primer forma en que los contextos son usados es hacer que
el Asterisk se comporte de forma diferente dependiendo de donde este
viniendo la llamada. Con certeza usted va a tener por lo menos un
contexto definido. En este contexto usted va a definir que hacer con la
llamada, si va ha sonar una de las extensiones, entrar en el buzn de voz
o tocar un anuncio de voz. Si usted quiere que Asterisk trate las
conexiones de sus extensiones internas de forma diferente, por ejemplo,
es
poder hacer ddi, usted puede definir que diferentes canales entren en
ed
diferentes contextos.
ar
8.5 Extensiones
zP
Una extensin puede ser una de estos tres tipos: literal, estndar, o
especial
re
Pe
8.5.1 Literales
el
igu
Una extensin literal puede ser un nmero, como el 123, y este puede
eM
B,C,D y las extensiones pueden ser definidas con estas letras tambin. De
hecho, el nombre de la extensin puede contener cualquier letra o
aV
8.5.2 Estndares
es
ejemplo, 1,2,3,7,8,9)
ed
. punto, corresponde a uno o
ms caracteres
ar
zP
Considere el contexto routing
re
Extensin Descripcin
Pe
_61XX Escritorio Son Paulo
_63XX Escritorio Rio de Janeiro
el
Ms ejemplos de estndares
siv
8.5.3 Especiales
i : Invalid (Invlido).
s :Start (Inicio).
h: Hangup (Colg).
o: Operator (Telefonista).
es
Descripciones:
ed
s: Start. Usado para planos de discado que entran en un contexto sin
ar
otras informaciones como el identificador de llamada. As mismo si usted
zP
conoce el identificador de llamada, usted an tiene un lugar para
re
comenzar.
Pe
t: Timeout. Usado cuando las llamadas estn inactivas despus un
el
prompt haya sido tocado. Tambin usado para colgar una lnea que
igu
estuviese ociosa.
eM
h: Hangup. Usado para limpiar una llamada. Puede ser usado para hacer
aV
Respuesta Audible).
clu
hint: mapea una extensin para un canal (usado para la luz de ocupado).
En Asterisk, un canal puede estar ocupado o sonando, pero una extensin
es apenas un string de nmeros que activan una o ms aplicaciones.
es
sucesivamente. Esto ocurre hasta que la llamada sea colgada, o un
ed
comando retorne con cdigo de resultado 1 (indicando falla) o hasta que
ningn comando de mayor prioridad exista o la llamada sea ruteada para
ar
una nueva extensin.
zP
re
En cada contexto usted puede definir una o ms extensiones. Para cada
extensin, usted define un conjunto de comandos. Para cada comando es
Pe
dada una lnea separada con el siguiente formato:
el
igu
exten=>extension,priority,command(parameters)
eM
son ejecutados, hacen al Asterisk saltar para una nueva prioridad en vez
de ir para la prxima.
Ejemplo:
exten=>123,1,Answer
exten=>123,2,Playback(tt-weasels)
211 | Captulo 7| Recursos bsicos del plan de discado
exten=>123,3,Voicemail(44)
exten=>123,4,Hangup
es
porque Asterisk usa la prioridad de cada lnea para determinar el orden de
ejecucin.
ed
ar
exten=>123,1,Answer
zP
exten=>123,2,Playback(tt-weasels)
exten=>123,3,Voicemail(44)
re
exten=>123,4,Hangup
Pe
Otras opciones para definir extensiones incluyen la opcin normalmente
el
exten=>123/100,1,Answer()
nt
exten=>123/100,2,Playback(tt-weasels)
exten=>123/100,3,Voicemail(123)
ice
exten=>123/100,4,Hangup()
aV
exten=>1234/_256NXXXXXX,1,Answer()
clu
y as de aqu en adelante.
Ex
Esto dir en el 1234 si el CallerID comienza con 256. Esto es muy til
para evitar que usuarios locales llamen al 0800 y usted tenga que pagar
por esto.
Un punto importante por ser entendido es que cada canal VoIP (SIP,
H323) o PSTN (Zap, ISDN) es configurado dentro de un contexto. Por lo
tanto, cada canal pertenece a un nico contexto. Que extensiones o que
servicios va ha usar este canal depender de las instrucciones contenidas
en el plan de discado para aquel contexto.
8.6 Variables | 212
8.6 Variables
En Asterisk las variables pueden ser globales, variables asociadas a un
canal y variables de ambiente. Las variables pueden ser vistas en la
consola de Asterisk usando el comando NoOP. Aunque el comando no
ejecute nada con la variable, su resultado es mostrado en consola.
${varname}
es
ed
Donde varname es el nombre de la variable. Un nombre de variable
puede ser un string alfanumrico iniciado con una letra. Los nombres de
ar
variables definidos por el usuario no son sensibles a maysculas y
zP
minsculas. ${VarName} y ${varname} se refieren a la misma variable.
re
Entretanto las variables definidas por Asterisk diferencian
maysculas y minsculas. ${EXTEN} funciona, pero ${exten} no.
Pe
el
Variables globales
eM
Variables de canal
Variables de ambiente
nt
ice
${CDR(accountcode)}:Cdigo de contabilizacin
${ANSWEREDTIME}: Horario cuando la llamada fue atendida
${CALLERID(all)}: El identificador de llamada (nombre y nmero)
${CALLERID(name)}: El nombre de id de la llamada
${CALLERID(num)}: El nmero de id de la llamada
${CALLINGPRES}: Variable de presentacin PRI Call ID para
llamadas de entrada
${CHANNEL}: Nombre del canal actual
${CONTEXT}: Nombre del contexto actual
es
${DATETIME}: Fecha y hora en formato YYYY-MM-DD_HH:MM:SS.
ed
${DIALEDPEERNAME}: Nombre de quien fue llamado
${DIALEDPEERNUMBER}: Nmero de quien fue llamado.
ar
${DIALEDTIME}: Hora en que el nmero fue discado.
zP
${DIALSTATUS}: Status de la llamada.
re
${DNID}: Identificador del nmero discado.
${EPOCH}: poca al estilo de Unix (Nmero de segundos desde
Pe
1970).
el
entrada.
${SIP_CODEC}: Usada para Setear o codec SIP para una llamada.
clu
es
EnumLookup retorna ${ENUM}: El resultado de la busqueda.
ed
ar
MeetMe recibe input de {MEETME_AGI_BACKGROUND}: un
zP
script de AGI para correr.
re
MeetMe retorna ${MEETMESECS}: El nmero de segundos que
Pe
el usuario este en conferencia.
el
igu
lookup.
ice
estn disponibles.
siv
igual en adelante.
${ENV(nombredelavariable)}.
es
${ENV(RECORDED_FILE)}: El nombre del archivo grabado por
ed
ltima vez con el comando Record.
ar
zP
8.7 Expresiones
re
El uso de expresiones puede ser muy til para la configuracin del plan de
Pe
discado. Las expresiones combinan variables, valores y operadores para
llegar a un resultado. Expresiones son usadas para manipular strings, y
el
$[expresin]
nt
$[${SUMA}+100]
ar
op
8.7.1 Operadores
clu
Ex
Operadores matemticos
Suma (+)
Resta(-)
Multiplicacin(*)
Divisin(/)
Porcentaje(%)
Operadores lgicos
8.8 Funciones | 216
es
lenguajes de scripts como Perl y PHP y son muy usadas para manipular
ed
strings. Es importante que antes de usar expresiones regulares usted
pueda leer algn tutorial, sobre el asunto, varios estn disponibles en
ar
Internet. Explicar detalladamente las expresiones regulares escapa de
zP
este libro.
Ejemplo re
Pe
el
pantalla de la consola.
nt
exten=1000,1,Set(TEST=10)
ice
exten=1000,2,Set(SUMA=$[${TEST}*5])
exten=1000,3,NoOP(${SUMA})
aV
8.8 Funciones
ar
op
procesar las variables de una forma todava mas avanzada que los
clu
Ejemplo:
exten=>100,1,Set(Fruta=pera)
exten=>100,2,NoOp(${LEN(Fruta)})
exten=>100,3,NoOp(${LEN(${Fruta})})
217 | Captulo 7| Recursos bsicos del plan de discado
8.8.2 Substrings
${string:offset:length}
es
ed
Retorna un substring de string, iniciando en la posicin definida por
offset y retornando la compresin de caracteres definidos en length.
ar
zP
Si el offset es negativo, esto es tomar de la derecha hacia la izquierda a
re
partir del final del string.
Pe
Si la compresin es omitida, o es negativa, entonces todo el resto del
el
Ejemplos:
eM
Ejemplos de uso:
ar
exten=>_NXX.,1,Set(areacode=${EXTEN:0:3})
op
exten=>_516XXXXXXX,1,Dial(${EXTEN:3})
Ex
exten=>100,1,Set(whichVowel=4) exten=>100,2,Set(foo=AEIOU:${whichVowel}:1)
${foo}${bar}
555${elnumero}
${PrefixoLongaDistancia}555${ONumero}
8.9 O plan de discado en la prctica | 218
es
si una parte del ramal de la central va desde 4000 hasta 4999 y todos los
ed
ramales son SIP podremos usar el siguiente comando de abajo:
ar
exten=_4XXX,1,Dial(SIP/${EXTEN})
zP
re
El comando Dial() usado arriba posee la siguiente sintaxis:
Pe
;Discando un canal
el
Dial(tipo/identificador,timeout,opciones, URL)
igu
Dial(tipo1/identificar1&tipo2/identificar2/tipon/identificadorn,timeout,opc
iones, URL
nt
Parmetros:
ice
aV
Tipo: especifica el tipo de canal. Debe ser uno de los canales registrados
como Zap, SIP, IAX2 y as en adelante.
ar
op
es
extensiones de aquellas que estn designadas para usted.
g: Cuando la persona llamada cuelga, sale a ejecutar ms
ed
comandos en el contexto actual.
ar
G(contexto^extensin^prioridad): Si una llamada es
zP
atendida, este comando transfiere ambas comunicaciones para
un contexto y extensin especficos. La parte originadora es
re
transferida para la prioridad x y la parte llamada para la
Pe
prioridad x+1. Esto permite al plan de discado distinguir entre
el
las llamadas .
op
expira.
LIMIT_CONNECT_FILE Archivo para tocar cuando la llamada
inicia.
LIMIT_WARNING_FILE Archivo para tocar como aviso si y
est definido. Si LIMIT_WARNING_FILE no estuviese definido,
entonces una macro de sonido especial para decir
automticamente cuanto tiempo resta (Usted tiene [XX]
minutos [YY] segundos).
m: Provee msica en espera para el originador hasta que el
usuario llamado responda. Esto es mutuamente exclusivo con
la opcin r.
8.9 O plan de discado en la prctica | 220
es
Asterisk 1.2 (enva este nmero de extensin).
ed
w: Permite al usuario de destino iniciar una grabacin
presionando *1 o el que estuviese definido en el archivo
ar
features.conf (1.2). Requiere el siguiente comando,
zP
Set(DYNAMIC_FEATURES=automon)
re
W: Permite a la parte que origin la llamada iniciar la
Pe
grabacin despus de presionar *1 o el que estuviese definido
en features.conf. (1.2). Requiere el siguiente comando,
el
Set(DYNAMIC_FEATURES=automon)
igu
exten=_4XXX,1,Dial(SIP/${EXTEN},20,tTm)
ar
op
Para discar una ruta externa (dentro de la red pblica de telefona PSTN)
normalmente se usa en Brasil el nmero 0. En algunos lugares el nmero
9 es usado para discado externo. Para salir para la red pblica es
necesario un canal Zapata (analgico o digital ISDN), unicall (digital R2) o
sip (proveedor de voz sobre IP).
exten=_0ZXXXXXXX,1,Dial(Zap/1/${EXTEN:1},20,tT)
exten=_0ZXXXXXXX,1,Dial(Zap/g1/${EXTEN:1},20,tT)
es
Usando:
ed
exten=_0ZZXXZXXXXXXX,1,Dial(Zap/g1/${EXTEN:1},20,tT)
ar
zP
El usuario podra hacer un interurbano dentro del pas.
exten=0,1,Dial(Zap/g1,20,tT)
nt
exten=_0ZZ.,1,Dial(Zap/g1/055{EXTEN:3},20,tT)
siv
[entrada]
exten = s,1,Answer()
8.9 O plan de discado en la prctica | 222
exten = s,2,Dial(SIP/4000,115,tT)
exten = s,3,Hangup()
Si usted posee una lnea digital (E1 con sealizacin RDSI (ISDN) o R2)
usted puede usar un sistema conocido como discado directo al ramal que
normalmente dispensa la telefonista. Con este sistema la operadora pasa
los ltimos cuatro nmeros del telfono para su central. Suponga que su
conjunto de DDR va desde 4830258550 hasta 4830258599. La
configuracin quedara as:
es
ed
[entrada]
exten => _85[5-9]X,1,Answer()
ar
exten => _85[5-9]X,2,Dial(SIP/${EXTEN},15,tT)
exten => _85[5-9]X,3,Hangup()
zP
8.9.7 Tocando varias extensiones
re
Pe
Frecuentemente es deseado que una extensin dada, en primer lugar
el
por ms de 15 segundos.
siv
es
regla especial, donde si el originador es 482518888 (ruteamiento por el
ed
callerid es indicado colocando un ./. y el identificador de la llamada) este
ar
recibe inmediatamente el tono de ocupado. Otros originadores son
atendidos normalmente. Un ejemplo ms comn de ruteamiento por el
zP
identificador de llamada es:
re
Pe
8.9.10 Usando variables en el plan de discado
el
[globals]
op
[mainmenu]
exten => 1,1,Dial(${Daniel}&${Flavio})
Ex
exten=2000,1,Dial(SIP/2000)
exten=2000,n,goto(${DIALSTATUS})
exten=2000,n,hangup()
exten=2000,n(BUSY),voicemail(b2000)
exten=2000,n,hangup
exten=2000,n(NOANSWER),voicemail(u2000)
exten=2000,n,hangup
exten=2000,n(CHANUNAVAILABLE),hangup
exten=2000,n(CANCEL),hangup
exten=2000,n(CONGESTION),hangup
es
Usted puede observar arriba diversas construcciones nuevas. En primer
lugar surge la prioridad n de next (prximo), ella permite que usted no
ed
tenga que estar numerando su plan de discado. En segundo lugar usted
ar
puede observar las etiquetas (labels). Ellas permiten discar un punto en el
zP
plan de discado y por fin el comando goto salta para las etiquetas de
acuerdo con el retorno de la variable ${DIALSTATUS}. Usted puede
re
observar que los resultados de la variable ${DIALSTATUS} permiten un
Pe
control mucho ms rpido del estado de la llamada.
el
bastante comunes.
op
abajo:
[ramales]
;discado para otros ramales
exten=_[2-3]X,1,Dial(SIP/${EXTEN},20,tT)
exten=_[2-3]X,2,Hangup()
;comunicacin externa
exten=0,1,Dial(Zap/g1,20,tT)
es
ed
8.11.2 Central con un E1 de 15 canales o 50 ramales SIP
ar
zP
Vamos a suponer que si fuese a construir un PBX con quince canales
digitales R2 y 50 telfonos IP SIP. Consideramos para esto el ejemplo de
re
abajo: Pe
Instalada la placa TE110P en el PC corriendo Asterisk
el
exten=_40[0-4]X,1,Answer()
exten=_40[0-4]X,2,Dial(SIP/${EXTEN},20,tT)
clu
exten=_40[0-4]X,3,Hangup()
[ramales]
Ex
8.12 Sumario
En este captulo usted aprendi que el plan de discado es la pieza
principal de configuracin del Asterisk. Este esta formado de contextos
8.13 Cuestionario | 226
8.13 Cuestionario
1. En la configuracin de la sesin [general] el valor estndar de la opcin
writeprotect=no. Siendo as si usted emite el comando save dialplan en la
es
lnea de comando CLI>. (Marque todas que se aplican).
ed
Asterisk sobrescribir el extensions.conf con la configuracin actual.
ar
Todos los comentarios sern perdidos.
zP
Ser hecho un backup de extensions.conf en extensions.bak.
La opcin static=yes debe estar configurada para poder salvar el plan
de discado.
re
Pe
el
Verdadero
nt
Falso
ice
$[varname]
{varname}
$(varname)
227 | Captulo 7| Recursos bsicos del plan de discado
${varname}
Constantes
Variables pblicas
Variables de ambiente
Variables globales
Variables privadas
Variables de canal
es
__________.
ed
8. Para concatenar strings basta colocar una al lado de la otra como en el
ar
ejemplo abajo. La afirmacin est:
zP
re
${foo}${bar}
555${elnumero}
Pe
${PrefijoLargaDistancia}555${elNumero}
el
igu
Correcta
Incorrecta
eM
10. Suponga que usted tenga una central telefnica digital. Coloque en el
espacio de abajo los comandos necesarios (extensions.conf) para permitir
el discado externo solo para nmeros DDD en el contexto [ramales].
Coloque tambin los comandos necesarios para forzar el discado por la
operadora 55 desconsiderando la operadora escogida por el usuario.
8.13 Cuestionario | 228
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 9
9.1 Objetivos
AL final de este captulo, el lector deber estar apto para:
es
ed
Limitar comunicaciones externas usando el concepto de
ar
inclusin de contextos.
zP
Alterar la prioridad de como Asterisk encuentra una extensin.
Usar el concepto de Macros para evitar la digitalizacin
repetitiva de comandos.
re
Pe
Configurar un men de URA para recepcin de llamadas.
el
basado en Asterisk.
siv
Contexto default
Extensin Descripcin
4101 Juan da Silva
4102 Jose da Silva
0 Telefonista
Contexto local
Extensin Descripcin
_9NXXXXXX Llamadas locales
9.2 Inclusin de contextos | 230
include=> "default"
es
un discado de larga distancia, y este tambin incluye el contexto local,
ed
de este modo permitiendo al usuario hacer llamadas locales y tambin
ar
discar las extensiones de Juan, Jos o la telefonista.
zP
Usando contextos de extensin usted puede cuidadosamente controlar
re
quien tiene acceso a los servicios de discado
Pe
Si ms de un estndar corresponde al nmero discado, el Asterisk puede
el
las usa para comparar contra el nmero discado. Para cada extensin,
clu
Una extensin solo puede discar para nmeros que estn dentro
del mismo contexto.
[ramales]
exten => _4XXX,1,Dial(SIP/${EXTEN})
exten => _4XXX,2,Congestion()
[local]
ignorepat => 0
es
exten => 0,1,Dial(Zap/g2/)
exten => 0,2,Congestion()
ed
include => ramales
ar
[DDD]
zP
ignorepat =>0
exten => _00XXXXXXXXXX.,1,Dial(Zap/g2/${EXTEN:1})
exten => _00XXXXXXXXXX.,2,Congestion()
re
include => local Pe
[DDI]
el
ignorepat => 0
exten => _00.,1,Dial(Zap/g2/${EXTEN:1})
igu
mudo esperando que usted disque todo el resto. Para resolver esto
tenemos un comando muy til, la instruccin ignorepat.
ar
op
es
medida que usted marca.
ed
Para Asterisk, el estilo todo de una vez de discar es ms fcil de
ar
procesar: Asterisk solo verifica si el nmero discado condice con cualquier
zP
estndar de extensin en el contexto actual del plan de discado.
re
El estilo encuentra en cuanto disca es un poco ms difcil porque no est
Pe
claro cuando usted va a terminar el discado. De un lado usted no quiere
el
nmero lo ms rpido posible, por otro lado Asterisk tiene que esperar si
algn dgito adicional va a afectar como esta gerencia su llamada.
eM
podrn dar con el nmero? Asterisk considera el nmero que usted disc
hasta el momento y busca los padrones de extensin definidos en aquel
Ex
exten=>123,1,DoSomething(...)
exten=>_XXX.,1,DoSomethingElse(...)
Si usted digit 123, Asterisk esperar para ver si usted va a digitar otro
dgito, porque no est claro que usted quiere la extensin 123. Por
233 | Captulo 9| Recursos avanzados del plan de discado
es
Zap, esto significa que alguien levanto el tubo y comenz a discar y
ed
Asterisk est procesando cada dgito en la medida en que este es discado.
ar
Para nuevas llamadas, el segundo factor que afecta cuanto tiempo
zP
Asterisk espera por ms dgitos antes de desistir es el tipo de canal de
re
donde la llamada esta viniendo. Cada tipo de canal determina su propio
perodo de timeout. Un canal Zap tiene un tiempo fijo de 3 segundos y
Pe
esto no puede ser mudado a no ser modificando el cdigo fuente y re-
el
inicial, fue para la extensin (al igual que la extensin s), inici el
procesamiento de comandos y permaneci sin comandos para procesar y
nt
est esperando ahora que algo sea discado. Tpicamente, uno de los
ice
URA y Asterisk quedara esperando que sea discada la eleccin del men.
ar
segundos, pero esto puede ser cambiado usando el comando del mismo
siv
nombre.
clu
es
ed
2. Si por otro lado, esta una conexin establecida, Asterisk salto para una
extensin, inici la ejecucin de comandos (ej. tocando un mensaje de un
ar
men de ura) y permaneci sin comandos, esperando que el usuario
zP
disque alguna cosa. En este caso el discado de un nmero invlido hace
re
que Asterisk salte para la extensin i. Si la extensin i no estuviese
definida en este contexto, asterisk colgar.
Pe
el
9.3.2 Ejemplo
igu
Una empresa quiere que sus llamadas telefnicas sean respondidas con
eM
es:
aV
[incoming]
exten=>s,1,Background(bienvenido a la empresa)
ar
exten=>1,1,Dial(Zap/1)
op
exten=>2,1,Dial(Zap/2)
exten=>21,1,Dial(Zap/3)
siv
exten=>22,1,Dial(Zap/4)
exten=>31,1,Dial(Zap/5)
clu
exten=>32,1,Dial(Zap/6)
Ex
es
ed
9.3.3 Orden de busca de los estndares de extensin
ar
Cada contexto definido en el plan de discado dir al Asterisk como
zP
procesar los nmeros de telfono en aquel contexto. Como usted puede
re
usar estndares para definir extensiones, un estndar de extensin puede
con un nmero de telfono dado. Asterisk no marca los nmeros contra
Pe
los estndares en el orden que usted los define, los estndares son
el
ordenados primero.
igu
Problema ejemplo:
eM
Vamos a decir que para el contexto ejemplo, usted deseara que los
nt
nmeros iniciados con 918 salgan por una lnea analgica conectada en
ice
Zap/1, y todos los otros nmeros salgan por la Zap/2. Entonces usted
escribe algo como sigue:
aV
ar
op
[ejemplo]
exten=>_918.,1,Dial(Zap/1/${EXTEN})
exten=>_.,1,Dial(Zap/2/${EXTEN})
siv
exten=>h,1,Hangup
clu
usted disca, todos los nmeros son enviados va Zap/2. Esto ocurre
porque Asterisk ordena las extensiones y toma la primera que
corresponda. Para ver el orden por el cual Asterisk ordena las
extensiones, digite el comando dialplan show ejemplo en la consola.
Usted va a descubrir que el orden es:
_
_918
h
Note que este es un orden diferente del cual usted defini en su archivo
extensions.conf. La lnea con _. es ahora la primera, incluyendo aquellas
9.3 Como el plan de discado encuentra la extensin | 236
que comienzan con 918. Note tambin que la extensin h no puede ser
alcanzada, porque ella tambin corresponde al _.
Entonces como hace para que Asterisk disque los estndares de extensin
en el orden que usted quiere. Usando la palabra clave include para incluir
otro contexto de estndares de extensiones dentro del contexto actual.
[ejemplo]
include=>ejemplo-sub
exten=>h,1,Hangup
exten=>_918.,1,Dial(Zap/1/${EXTEN})
es
ed
[ejemplo-sub]
exten=>_.,1,Dial(Zap/2/${EXTEN})
ar
zP
Asterisk (cuando en el contexto ejemplo) procesar los nmeros
discados en el siguiente orden.
re
Pe
_918
h
el
_
igu
Reloading
op
El comando Background()
Sintaxis:
es
ed
Background(nombre del archivo)
ar
Comienza tocando un archivo de audio dado, pero inmediatamente
zP
retorna, permitiendo al archivo de audio tocar de fondo entre tanto los
re
prximos comandos (cualesquiera sean) se ejecuten. (Comparando con el
comando Playback, que tambin toca un archivo de audio, pero que
Pe
espera hasta que el audio este terminando antes de retornar el control).
el
espera por cualquier dgito DTMF que el usuario pueda discar en tanto
esta continua tocando el archivo de audio. Si el usuario disca un nmero
clu
Ejemplo:
[incoming]
exten=>s,1,Answer
9.4 Recibiendo una llamada en un men de voz. | 238
exten=>s,2,ResponseTimeout(5)
exten=>s,3,Background(meumenu)
exten=>s,4,Background(escolhaalgo)
exten=>t,1,Goto(s,2)
exten=>i,1,Playback(pbx-invalid)
exten=>i,2,Goto(s,2)
exten=>1,1,DoSomething
exten=>2,1,DoSomethingElse
exten=>3,1,Dial(...)
es
Entonces alineamos hacia el audio del archivo escojaalgo.gsm para
ed
tocar una vez que el primer audio haya terminado. (paso s,4). Como no
existe paso s,5, El Asterisk continua tocando mimenu.gsm y
ar
escojaalgo.gsm hasta estar terminado y entonces silenciosamente espera
zP
cinco segundos ms por una respuesta. Si en cualquier momento, con el
re
audio sonando o no, el usuario disca una extensin entonces el Asterisk
para de tocar el audio y salta para la extensin. Si esta disca 1, 2o
Pe
3, entonces Asterisk saltar para la extensin apropiada.
el
igu
El comando goto()
op
siv
Descripcin:
clu
Sintaxis:
Goto([[context|]extension|]priority)
Goto(context,extension,priority)
Goto(extension,priority)
Goto(priority)
Ejemplo:
es
frente.
ed
Cdigos de retorno:
ar
zP
Siempre retorna 0, lo mismo para un contexto dado, extensin, o la
prioridad sea invlido.
re
Pe
Ejemplo:
el
exten=>1,1,Goto(submenu,s,1)
exten=>600,4,Goto(s,6)
igu
eM
[menuprincipal]
exten => s,1,Background(bienvenido-menuprincipal)
aV
[ventas]
exten => s,1,Background(bienvenido-ventas)
siv
Ejemplos de discado:
9.5 Switches, encaminando para otro Asterisk | 240
es
prioridad n+101 si tal prioridad existe en esta extensin. En este caso,
ed
tenemos nosotros prioridad (102), la cual enva el originador para la caja
ar
postal de buzn de voz 8590 con un mensaje de ocupado (busy). Si
zP
simplemente nadie atiende, entonces la ejecucin continuar en el paso
siguiente, donde el originador ser colocado en el buzn de voz con el
re
mensaje de nadie atendi (unavailable). Pe
El comando gotoif()
el
igu
Sintaxis:
nt
ice
GotoIf(condition?label1[:label2])
aV
Ejemplo:
ar
op
exten=s,n(inicio),Background(escojasuopcin)
exten=s,n,set(counter=$[${counter}-1])
clu
exten=s,n,gotoif($[${COUNTER} = 0]?fim:inicio)
exten=s,n(fim),hangup
Ex
exten=1,1,noop(ejecuta opcin 1)
exten=2,1,noop(ejecuta opcin 2)
9.6 Macros
Un macro es un conjunto de comandos que van ha ser ejecutados en
secuencia. Los macros son usados primariamente para procesar las
extensiones, de forma que no sea necesario en el plan de discado digitar
varias lneas de comando para cada extensin.
es
Programacin del Macro.
ed
Descripcin:
ar
zP
Macro(macroname,arg1,arg2...)
re
Ejecuta un macro usando el contexto macro-<macroname>, saltando
Pe
para la extensin s de aquel contexto y ejecutando cada paso, as
el
Note que usted no puede usar cualquier otra extensin diferente de s para
eM
contrario.
Ex
Ejemplo:
[macro-stdexten]
;Macro extensin estndar
;
;${ARG1}-Telfono por sonar (ring)
exten=>s,1,Dial(${ARG1},20,j)
exten=>s,2,Voicemail(u${MACRO_EXTEN})
exten=>s,3,Goto(default,s,1) ;Si fuese presionado #, retorna al inicio
exten=>s,102,Voicemail(b${MACRO_EXTEN}) ;Si esta ocupado, enva un
voicemail con o sin anuncio de busy
9.7 La base de datos de Asterisk | 242
es
parecido al registry de Windows. Este banco de datos puede ser usado por
Asterisk para almacenar datos temporarios, y configuraciones. Un ejemplo
ed
de uso es la transferencia con consulta, donde si el telfono est ocupado
ar
este guarda la extensin en una base de datos y permanece reintentando
zP
hasta conseguir.
re
Los datos son agrupados en familias e identificados con una llave que es
Pe
nica dentro de la familia.
el
9.7.1 Familias
igu
eM
9.72 Funciones
aV
Abreviaciones usadas:
[macro-stdexten]
;${ARG1}-Extension
exten=>s,1,gotoif(${DB_EXISTS(CFIM/${ARG1})?cfim)
exten=>s,n(dial),Dial(SIP/${ARG1},20)
exten=>s,n,goto(${DIALSTATUS})
exten=>s,n,hangup()
exten=>s,n(BUSY),gotoif(${DB_EXISTS(CFBS/${ARG1)?cfbs:end)
exten=>s,n(cfbs),Dial(SIP/${DB(CFBS/${ARG1})},20)
exten=>s,n,hangup()
exten=>s,n(cfim),Dial(SIP/${DB(CFIM/${ARG1})},20)
exten=>s,n,hangup()
Notas:
es
Este macro lee las variables almacenadas en la base de datos
ed
de Asterisk.
ar
zP
El Macro ejecuta el Dial(SIP/${temp}) si un nmero de
redireccionamiento fuera encontrado.
re
Pe
Si la funcin DB() no encuentra una llave, esta va hacia la
el
prioridad 102.
igu
[apps]
eM
;Sigame
exten=>_*21*X.,1,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:4})
exten=>_*21*X.,2,Hangup
nt
exten=>#21#,1,DBdel(CFIM/${CALLERID(num)})
ice
exten=>#21#,2,Hangup
aV
exten=>#61#,1,DBdel(CFBS/${CALLERID(num)})
op
exten=>#61#,2,Hangup
siv
[pbx]
exten=7000,1,Macro(stdexten,SIP/7000)
clu
exten=7001,1,Macro(stdexten,IAX/7001)
Ex
Ejemplo:
[entrada]
exten => s,1,LookupBlacklist(j)
exten => s,2,Dial(SIP/4000,20,tT)
exten => s,3,Hangup()
exten => s,102,Goto(bloqueado,s,1)
[bloqueado]
exten => s,1,Answer()
exten => s,2,Playback(llamadabloqueada)
exten => s,3,Hangup()
es
usado anteriormente en sgame. Usando *31* seguido de la extensin.
Para remover de la lista negra basta usar #31# seguido del nmero a ser
ed
removido de esta lista.
ar
zP
[apps]
exten=>_*31*X.,1,Set(DB(blacklist/${EXTEN}=1})
re
exten=>_*31*X.,2,Hangup()
exten=>_#31#,1,DBdel(blacklist/${EXTEN}) Pe
exten=>_#31#,2,Hangup()
el
es
ed
ar
zP
re
Pe
el
igu
contextos. Cuando una llamada est entrando, esta viene por un canal.
Este canal pertenece a un contexto. En el caso de arriba el canal
nt
usando el comando:
ar
Por ejemplo:
siv
clu
De forma que uno de los dos va a tener la extensin s (Start) estos van a
tocar la llamada apropiada y transferir para el menuprincipal. Despus del
anuncio del men principal el sistema esperar por el discado de 1 dgito,
pudiendo transferir para ventas o para cualquier ramal en el contexto
default. Note que no es posible transferir para una lnea externa, pues el
contexto discar externo, no est incluido en el contexto men principal.
9.9 Contextos basados en horario | 246
es
el contexto discarexterno.
ed
Los mensajes dependientes de horario pueden tambin ser programados
ar
usando la aplicacin:
zP
re
GotoifTime().
Pe
El formato del comando GotoifTime sigue abajo:
el
igu
GotoIfTime(<timerange>|<daysofweek>|<daysofmonth>|<months>?[[context|]exten
sin|]pri)
eM
extensin especificada. Cada uno de los tems podr ser rellenados con *
ice
(siempre) o como una faja. Si el tiempo actual no indica con una hora
especificada el prximo comando deber ser ejecutado.
aV
<timerange>=<hour>':'<minute>'-'<hour>':'<minute> |"*"
<daysofweek>=<dayname>|<dayname>'-'<dayname>|"*"
siv
<dayname>="sun"|"mon"|"tue"|"wed"|"thu"|"fri"|"sat"
clu
<daysofmonth>=<daynum>|<daynum>'-'<daynum> |"*"
<daynum>=un nmero de 1 a 31
Ex
<hour>=un nmero de 0 a 23
<minute>=un nmero de 0 a 59
<months>=<monthname>|<monthname>'-'<monthname>|"*"
<monthname>="ene"|"feb"|"mar"|"abr"|"may"|"jun"|"jul"|"ago"|"sep"|
"oct"|"nov"|"dic"
exten=>s,1,GotoIfTime(8:00-18:00|mon-fri|*|*?expediente,s,1)
247 | Captulo 9| Recursos avanzados del plan de discado
DISA(passcode[|context])
DISA(archivo de contraseas)
es
Ejemplo de uso:
ed
ar
exten => s,1,DISA(no-password|default)
zP
Con este comando por ejemplo el usuario disca para la central y sin
re
pasar una contrasea, recibe un tono de discado. Cualquier llamada
Pe
colocada en DISA en este caso ser procesada en el contexto default.
el
siguiente ejemplo para mostrar como funciona. Suponga que usted tiene
una filial llamada Rio donde los telfonos comienzan con _214X y que
esta localidad es servida por un canal de datos donde apenas 64Kbps
fuesen reservados para comunicaciones. En este caso usted va a querer
que apenas dos comunicaciones al mismo tiempo puedan ser hechas para
esta localidad. Vea el ejemplo de abajo:
exten=>_214X,1,set(GROUP()=Rio)
exten=>_214X,n,Gotoif($[${GROUP_COUNT()} > 1]?revento)
exten=>_214X,n,Dial(SIP/${EXTEN})
exten=>_214X,n,hangup
exten=>_214X,n(revento),playback(comunicacionesexedidas)
exten=>_214X,n,hangup
9.12 Un plan de discado en la prctica | 248
es
ed
ar
zP
re
Pe
el
igu
4 enlaces analgicos.
aV
3 clases de ramales.
op
Vamos asumir en este caso que los drivers del hardware de la placa de
telefona (zaptel.conf) ya estn configurados y cargados. En el archivo
zapata.conf usted configura los canales zap correspondientes a los
enlaces de la central.
signalling=fxs_ks
language=en
context=entrada
group=1
channel => 1-4
es
ed
Canales SIP (sip.conf)
ar
Vamos a escoger el rango de numeracin del nmero 2000 al nmero
zP
2100. Dos codecs van a ser utilizados, GSM y G711 ulaw. El primero es
para telfonos conectados a Internet o en lneas de baja velocidad, el
re
segundo para los telfonos locales. Vamos hacer una convencin que
Pe
ramales de los nmeros 2000 hasta el 2039 son restrictos, de los ramales
el
2040 hasta el 2059 pueden hacer DDD y del nmero 2060 en adelante
igu
[general]
disallow=all
nt
allow=gsm
allow=ulaw
ice
bindport = 5060
bindaddr = 0.0.0.0
aV
context = ramales
ar
[2000]
type=friend
op
username=20
secret=contrasea
siv
host=dynamic
mailbox=20
clu
context=restricto
canreinvite=yes
Ex
[2040]
type=friend
username=20
secret=contrasea
host=dynamic
mailbox=20
context=puededdi
canreinvite=yes
dtmfmode=rfc2833
[2060]
type=friend
username=20
secret=contrasea
host=dynamic
mailbox=20
9.12 Un plan de discado en la prctica | 250
context=puededdd
canreinvite=yes
dtmfmode=rfc2833
es
; Este contexto permite conectar para ramales y comunicaciones locales
[ramales]
ed
exten=>_20XX,1,Dial(SIP/${EXTEN},20,r)
ar
[local]
zP
exten=>_0XXXXXXXX,1,Dial(ZAP/g1/${EXTEN:1},20,Tt) ; comunicaciones locales
re
Definiendo la salida para DDD Pe
[ddd]
el
exten=>_00XXXXXXXXX,1,Dial(Zap/g1/${EXTEN:1},20,Tt)
; Discado para DDD al nmero de 8 dgitos
eM
exten=>_00XXXXXXXXXX,1,Dial(Zap/g1/${EXTEN:1},20,Tt)
nt
[ddi]
aV
[restricto]
include=>ramales
clu
include=>local
Ex
[podeddd]
include=>ramales
include=>local
include=>ddd
[podeddi]
include=>ramales
include=>local
include=>ddd
include=>ddi
Para recibir las llamadas, vamos a usar dos contextos uno para
comunicaciones durante el expediente y otra para comunicaciones fuera
del expediente. La comunicacin va a ser atendida por un contestador
automtico y transferida directamente para un ramal o para algn otro
men.
es
ed
[entrada]
include=>expediente|08:00-18:00|mon-fri|*|*
ar
zP
; Este es el horario fuera de expediente
include=>fueradeexpediente|18:00-23:59|*|*|*
include=>fueradeexpediente|00:00-07:59|*|*|*
re
include=>fueradeexpediente|*|sat-sun|*|* Pe
[expediente]
el
exten=>s,1,Goto(menuprincipal,s,1)
igu
[fueradeexpediente]
exten=>s,1,Background(fueradeexpediente)
eM
exten=>s,2,hangup()
exten=>i,1,hangup()
exten=>t,1,hangup()
nt
include=>ramales
ice
[globals]
TELEFONISTA=SIP/2060
Ex
VENTAS=SIP/2035
SOPORTE=SIP/2004
ENTRENAMIENTO=SIP/2036
[menuprincipal]
exten=> s,1,Background(bienvenido-menuprincipal)
exten=>1,1,Goto(ventas,s,1)
exten=>2,1,Goto(soporte,s,1)
exten=>3,1,Goto(entrenamiento,s,1)
exten=>i,1,Playback(Invalido)
exten=>i,2,hangup()
exten=>t,1,Dial(${TELEFONISTA},20,Tt)
include=>ramales
[ventas]
exten=>s,1,Dial(${VENTAS},20,Tt)
9.12 Un plan de discado en la prctica | 252
[soporte]
exten=>s,1,Dial(${SOPORTE},20,Tt)
[entrenamiento]
exten=>s,1,Dial(${ENTRENAMIENTO},20,Tt)
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
253 | Captulo 9| Recursos avanzados del plan de discado
9.13 Cuestionario
1. Para incluir un contexto que depende del horario, usted puede usar:
include=> context|<times>|<weekdays>|<mdays>|<months>
include=>expediente|08:00-18:00|mon-fri|*|*
Ejecuta las extensiones de lunes a viernes desde las 08:00 hasta las
es
18:00.
ed
Ejecutan las opciones todos los das en todos los meses.
El comando es invlido.
ar
zP
2. Cuando el usuario disca 0 para tomar la lnea el Asterisk
automticamente corta el audio. Esto es malo, porque el usuario est
acostumbrado a discar el 0 y or el tono
re
externo de discado. Para crear
Pe
este comportamiento que el usuario est acostumbrado, se puede usar
el
comando ___________.
igu
3. Los comandos:
eM
Oracle
MySQL
Berkley DB
PostgreSQL
Falsa
Verdadera
es
ed
9. En el comando Background la msica de fondo tiene que ser tocada
enteramente antes que el usuario pueda digitar algo. La afirmacin es:
ar
zP
Falsa
re
Verdadera
Pe
10. Los formatos vlidos para el comando Goto() son:
el
igu
Goto (context,extension)
Goto(context,extension,priority)
eM
Goto(extension,priority)
Goto(priority)
nt
ice
11. Switches son usados para direccionar para otro PBX. La afirmacin de
arriba es:
aV
ar
Correcta
Incorrecta
op
siv
12. Un macro puede ser usado para automatizar una serie de operaciones
en secuencia para una extension especfica. El primer argumento pasado
clu
${ARG1}
${ENV1}
${V1}
${X}
255 | Captulo 9| Recursos avanzados del plan de discado
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 10
10.1 Objetivos
Al final de este captulo usted debe estar apto para configurar los
siguientes recursos.
es
ed
Gerenciamiento de llamadas.
ar
zP
o Call Parking (Estacionamiento de llamadas).
re
o Call Pickup (Captura de llamadas).
Pe
o Call Transfer (Transferencia).
el
igu
Sala de conferencia.
aV
Msica en espera.
ar
recursos.
es
ed
Llamada en espera: Normalmente implementado por el
telfono.
ar
zP
Transferencia a ciegas: Implementado en el * opcional
re
del telfono.
Pe
Llamada en espera con consulta: Implementado en el
el
telfono
igu
Seguimiento incondicional: *
eM
discado.
ice
de discado.
ar
Transferencia asistida: *
op
siv
No molestar: *
Transferencia a ciegas: *
es
ed
Seguimiento incondicional: *
ar
Seguimiento si no se atiende: Creado en el plan de
zP
discado.
re
Seguimiento si estuviese ocupado: Creado en el plan
Pe
de discado.
el
igu
Transferencia asistida: *
eM
Rediscado manual: *
siv
No molestar: *
clu
Encuentreme: *
Es usado para estacionar una llamada. Esto nos auxilia cuando usted est
atendiendo en un telfono fuera de su sala. Estaciona la llamada en una
determinada extensin y cuando se mueve de vuelta hacia su sala digita
la extensin donde la llamada est estacionada.
es
estacionado por ms tiempo que el lmite entonces Asterisk har sonar la
ed
extensin discada originalmente.
ar
10.3.2 Lista de tareas para la configuracin
zP
re
1. Incluir la lnea (include=>parkedcalls) en el archivo extensions.conf.
Pe
2. Teste usando #700
el
igu
include=>parkedcalls
ar
usando #700.
siv
Notas:
clu
es
ed
1. Configure el grupo para que sus extensiones pertenezcan
ar
dentro de uno de los siguientes archivos sip.conf, iax.conf,
zP
zapata.conf (obligatorio).
re
[4x00] Pe
callgroup=1
pickupgroup=1,2
el
igu
10.5.1 Descripcin
ar
es
MeetMe() es un puente de videoconferencia, muy simple de usar con la
ed
ventaja de que funciona con cualquier tipo de canal. Algunos telfonos
estndar SIP, por ejemplo, tienen sus propios mecanismos de conferencia
ar
que tambin pueden ser usados, pero el mtodo estndar para
zP
conferencia es el MeetMe(). Vamos a dar una ojeada ms en profundo en
re
el aplicativo.
Pe
10.6.1 Formato:
el
igu
MeetMe(Confno[|options][|password])
eM
10.6.2 Descripcin:
nt
caracteres.
op
'v'modo vdeo.
10.6 Conferencia Call Conference | 262
es
nico usuario.
ed
'e'Selecciona una conferencia vaca.
ar
zP
'E'Selecciona una conferencia vaca sin pin.
re
'b'Corre el script AGI especificado en
Pe
${MEETME_AGI_BACKGROUND} el estndar es conf-
el
es
2. Incluya el comando MeetMe() en el archivo extensions.conf
ed
(obligatorio)
ar
3. Edite el archivo meetme.conf para configurar las contraseas
zP
(opcional)
re
10.5.6 Ejemplos Pe
Ejemplo 1: Sala de conferencia simple
el
igu
exten=>500,1,MeetMe(101|123456)
nt
extensin 500
aV
exten=> 18,2,Wait(1)
exten=> 18,1,Answer
clu
exten=> 18,2,Wait(1)
exten=> 18,3,Authenticate(5678)
Ex
exten=>18,4,MeetMe(18|p)
exten=>18,5,Playback(vm-goodbye)
exten=>18,6,Hangup
Nota importante:
La aplicacin MeetMe precisa de un temporizador para funcionar. Existen
diferentes maneras de hacer un temporizador para que funcione, pero no
va a funcionar por default si usted no tiene un hardware Digium Zaptel
instalado. En este momento, apenas dispositivos zaptel pueden ser
10.6 Conferencia Call Conference | 264
Ejemplo:
;
;Archivo de configuracin para las salas de conferencia del Meetme()
;
[rooms]
es
;Formato: conf=>confno,pincode
ed
;
conf=>9000
ar
conf=>9001,123456
zP
Actualmente no es necesario usar ni el comando reload, ni el comando
re
restart para que Asterisk note los cambios en el archivo meetme.conf.
Pe
La aplicacin Meetme cuenta con dos aplicativos de apoyo:
el
igu
MeetMeCount(confno[|var])
eM
MeetMeAdmin(confno,command,user):
ar
Ejemplo:
es
exten=>_4XXX,1,Set(DYNAMIC_FEATURES=automon)
exten=>_4XXX,2,Dial(SIP/${EXTEN},20,jtTwW);wW habilitan la grabacin.
ed
ar
Los canales de audio de entrada (IN) y salida (OUT) sern separados en
zP
dos archivos y estarn disponibles en su servidor Asterisk en el siguiente
directorio.
re
Pe
/var/spool/asterisk/monitor
el
[globals]
DYNAMIC_FEATURES=>automon
ar
op
[channels]
musiconhold=default
Si usted compila el sox con soporte a MP3 usted puede usar los comandos
de abajo.
es
ed
[default]
mode=files
ar
directory=/var/lib/asterisk/mohmp3
zP
Usted debe reiniciar el asterisk porque ha alterado el archivo
re
musiconhold.conf Pe
Coloque sus archivos en formato .raw en el directorio
/var/lib/asterisk/mohmp3
el
igu
Exten=>100,1,SetMusicOnHold(default)
Exten=>100,2,Dial(Zap/2)
ice
Ejemplos:
aV
ar
[local]
siv
10.9 Cuestionario
1. Con relacin a Call Parking asigne las afirmaciones verdaderas.
2. Para que el Call Pickup funcione es preciso que las extensiones estn
es
en el mismo _____. En el caso de extensiones Zap esto es configurado
ed
en _____.
ar
3. En el caso de transferencia de llamadas existen las transferencias
zP
__________, donde el ramal de destino no es consultado antes y la
transferencia __________ donde es posible verificar si el usuario est en
la extensin.
re
Pe
el
#1, #2
#2, #1
nt
#3, #1
ice
#4, #2
aV
MeetMe()
MeetMeConsole()
Ex
MeetMeAdministrator()
MeetmeAdmin()
10.9 Cuestionario | 268
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 11
es
Comprender su funcionamiento bsico.
ed
ar
Instalar y configurar DAC
zP
11.2 Introduccin
re
Pe
Las Filas de atencin de llamadas permiten que estas llamadas de entrada
en el PBX puedan ser tratadas de forma ms eficiente. De una forma
el
llamadas.
eM
nt
0800
ice
Fila de Clientes
aV
ar
DAC
op
Ringall,RoundRobin,Rrmemory,
LeastRecent,Priority
siv
clu
Ex
es
llamadas), llamadas abandonadas, que permiten que usted pueda
ed
dimensionar cientficamente su atencin.
ar
Las filas son definidas en el archivos queues.conf. Los agentes son
zP
personas que responden a las llamadas que fueron colocadas en una fila
re
especfica. Un agente se autentica indicando que est listo para recibir
una llamada, los agentes son definidos en el archivos agents.conf. El
Pe
Asterisk transfiere una llamada recibida para la fila, que es as transferida
el
11.3 Miembros
eM
11.4 Estrategias
siv
Las llamadas son distribuidas entre los miembros de una fila de acuerdo
clu
es
ed
Queue() ahora tiene opciones para penalidad (penalty), tiempo para
ordenarse (wrapuptime) y prioridad (priority). Estos recursos fueron
ar
adicionados al sistema de filas de Asterisk.
zP
re
Prioridad funciona de la siguiente manera:
Pe
Los nuevos recursos permiten que las filas acten como filas de prioridad,
el
mas all del modo actual FIFO (primero que entra es el primero que sale).
igu
Ahora usted puede tener una nica fila atendiendo las llamadas
nt
Ejemplo:
siv
Clientes importantes
clu
exten=>111,1,Playback(welcome)
exten=>111,2,Set(QUEUE_PRIO=10)
Ex
exten=>111,3,Queue(support)
11.7 Configuracin
11.7.1 Lista de Tareas
es
ed
queues.conf
[telemarketing]
ar
music = default
zP
;announce = queue-markq
;context = qoutcon
re
timeout = 2
retry = 2 Pe
maxlen = 0
member => Agent/300
el
[auditoria]
music = default
;announce = queue-markq
eM
;context = qoutcon
timeout = 15
nt
retry = 5
maxlen = 0
ice
agents.conf
siv
[agents]
;Define autologoff si es apropiado. Esto es cuanto tiempo el telfono va ha
clu
autologoff=15
; Define ackcall para pedir una confirmacin por '#' cuando un
; agente se loguea sobre agentcallpark. Por default es "yes".
;ackcall=yes
; Define el tiempo de wrapuptime. Esta es la cantidad mnima de tiempo que
; el agente tiene despus de desconectar antes que posea recibir una nueva
comunicacin.
;Es el tiempo que el agente tiene por ejemplo para dar marcha al pedido
; del cliente. (En milisegundos).
;wrapuptime=5000
;Define la msica en espera para los agentes.
;musiconhold => music_class
musiconhold => default
;Un beep opcional para hacer sonar para los agentes con conexin
;permanente
;custom_beep=beep
273 | Captulo 11| DAC Distribucin automtica de llamadas.
agents.conf
;agent => agentid,agentpassword,name
[agents]
agent => 300,300,Test Rep - 300
agent => 301,301,Test Rep . 301
agent => 600,600,Test Ver - 600
agent => 601,601,Test Ver . 601
es
ed
extensions.conf
ar
; Fila telemarketing.
zP
exten=>_0800XXXXXXX,1,Answer
exten=>_0800XXXXXXX,2,SetMusicOnHold(default)
re
exten=>_0800XXXXXXX,3,DigitTimeout,5 Pe
exten=>_0800XXXXXXX,4,ResponseTimeout,10
exten=>_0800XXXXXXX,5,Background(welcome)
el
exten=>_0800XXXXXXX,6,Queue(telemarketing)
igu
queues.conf
siv
;Formato usado para grabar las llamadas (wav, gsm, wav49). El default es
Ex
;"wav".
recordformat=gsm
es
Agent show: Muestra los agentes.
ed
ar
Show queues: Lista todos los agentes.
zP
Queue show <name>: Muestra datos de una fila especfica.
re
Pe
11.8 Funcionamiento de las filas
el
Sintaxis:
aV
Agentlogin([agentnumber])
ar
la fila el telfono del agente ser llamado, en vez de estar todo el tiempo
abierto como el AgentLogin().
Parte 2: Fila
275 | Captulo 11| DAC Distribucin automtica de llamadas.
Una vez en la fila, el agente oir una MOH (msica en espera, si fue
definida), o nada en caso contrario. Cuando una conexin ocurre, la
llamada es conectada a un agente en la fila telemarketing. El agente oir
un beep (la MOH dejara de sonar si estuviese tocando), y ser conectada
a esa llamada.
es
telemarketing.
ed
Presionar #8000 y la llamada ser transferida para la fila auditoria.
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
11.9 Cuestionario | 276
11.9 Cuestionario
1. Cite cuatro estratgias de ruteamiento del sistema de fila de atencin
de llamadas.
es
3. Para loguear un agente se usa el comando Agentlogin([agentnumber]).
ed
Cuando el agente termina la llamada este puede presionar:
ar
zP
* para desconectarse y permanecer en la fila
Colgar el telfono y ser desconectado de la fila
re
Presionar #8000 y la llamada ser transferida para la fila de auditoria
Pe
Presionar # para colgar.
el
son:
eM
Crear la fila
Crear los agentes
nt
Configurar la grabacin
aV
AgentCallBackLogin().
siv
clu
Ex
Agente
Men
Contexto
Aplicativo
277 | Captulo 11| DAC Distribucin automtica de llamadas.
el Plan de discado
la interfase de lnea de comando
en el archivo queues.conf
en el archivo agents.conf
es
Verdadero
ed
Falso
ar
9. Wrapuptime es el tiempo que el agente precisa despus del trmino
zP
de una llamada para prepararse para la prxima o completar procesos en
re
relacin a la llamada atendida
Pe
Verdadero
el
Falso
igu
10. Una llamada puede ser priorizada dependiendo del CallerID dentro de
eM
Correcta
ice
Incorrecta
aV
ar
op
siv
clu
Ex
11.9 Cuestionario | 278
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 12
El Buzn de voz
12.1 Objetivos
Al final de este captulo usted debe ser capaz de:
es
Comprender el funcionamiento bsico.
ed
ar
Instalar y configurar el Buzn de voz.
zP
Enviar el buzn de voz para el e-mail.
re
Pe
12.2 Introduccin
el
estndar.
aV
Para configurar el buzn de voz usted debe seguir los siguientes pasos:
siv
[default]
12.3 Lista de tareas para la configuracin | 280
1234=>1234,SomeUser,email@address.com,pager@address.com,saycid=yes|dialout=
fromvm|callback=fromvm|review=yes|operator=yes
[globals]
PHONE1=Zap/1
PHONE2=SIP/6002
[macro-oneline]
es
exten=>s,1,Dial(${ARG1},20,t)
ed
exten=>s,2,Voicemail(u${MACRO_EXTEN})
exten=>s,3,Hangup
ar
exten=>s,102,Voicemail(b${MACRO_EXTEN})
exten=>s,103,Hangup
zP
[local]
re
exten=>6601,1,Macro(oneline,${PHONE1})
exten=>6602,1,Macro(oneline,${PHONE2}) Pe
el
exten=>9000,1,VoiceMailMain()
eM
Men
ar
o
o 2 Graba su mensaje de ocupado
siv
o 3 Graba su nombre
4 Graba su mensaje temporneo
clu
o
o 5 Cambia su contrasea
* Retorna al men principal
Ex
o
1 Lee los mensajes de voicemail
o 3 Opciones avanzadas
1 Reply
2 Call Back
3 Envelope
4 llamada de salida
o 4 Toca el mensaje anterior
o 5 Repite el mensaje actual
o 6 Toca el prximo mensaje
o 7 Apaga el mensaje actual
o 8 Reencamina el mensaje para otra casilla
o 9 Salva el mensaje para un folder (carpeta)
281 | Captulo 12| El Buzn de voz
o * Ayuda
o * Salir
2 Cambios de pistas
Ayuda
# Salida
1 Acepta
2 Revisin
es
ed
3 Re-grabar
ar
0 Va hacia la telefonista
zP
12.3.4 Sintaxis del Voicemail():
re
Pe
VoiceMail([flags]boxnumber[@context][&boxnumber2[@context]][&boxnumber3])
el
igu
your message after the tone. When done, hang up, or press the pound
key.") no sea ejecutada. (En Castellano Por favor, deje su mensaje
aV
sosteniendo)
op
es
aquellos nmeros de caja postal de buzn de voz.
ed
/var/spool/asterisk/voicemail/context/boxnumber/INBOX/
ar
zP
Si el originador presiona 0 (cero) durante el anuncio, este ser movido
re
para la extensin o(Out) en el contexto actual del voicemail. Esto puede
ser usado como salida para la recepcionista. Si usted no quiere esto,
Pe
apenas configure la extensin para volver al voicemail, sino la llamada
el
ser colgada.
igu
de voz.
ice
contexto donde fue colocada la casilla postal del buzn de voz ser usada
para saltar para las extensiones a u o.
clu
Certifquese de hacer algo con el originador despus que este vuelva del
voicemail(), seria algo as:
exten=>somewhere,5,Playback(Goodbye)
exten=>somewhere,6,Hangup
283 | Captulo 12| El Buzn de voz
es
attach
ed
ar
hace que asterisk copie un mensaje de voicemail para un archivo de audio
y lo enve al usuario como un anexo en un e-mail. El estndar es no (no).
zP
re
delete Pe
Si se ha configurado yes el mensaje ser borrado de la casilla de
el
global. Es recomendado que usted coloque esto en cada casilla postal que
el mensaje debe ser borrado despus de ser enviado por e-mail.
nt
ice
mailcmd
aV
maxsilence
clu
envelope
externnotify
12.4 Archivos de configuracin del VoiceMail. | 284
silencethreshold
serveremail
es
ed
Esta configuracin puede ser usada para identificar la fuente de una
notificacin de mensaje de voz. El valor es un string que puede ser
ar
codificado de una de dos formas. Si el string est en la forma
zP
alguien@host.com, entonces el string ser usado con direccin fuente en
re
las notificaciones por e-mail. Si el string estuviera en la forma de alguien,
entonces el nombre del host de la mquina que corre asterisk ser
Pe
adicionado al final del string despus de la insercin de @.
el
igu
maxmessage
eM
sin limites.
ice
minmessage
aV
ar
Esta configuracin puede ser usada para eliminar mensajes que son ms
op
format
Ex
maxgreet
es
skipms
ed
Define el intervalo en milisegundos para usar cuando se pasa adelante o
ar
hacia atrs un mensaje est siendo tocado. El valor ingresado debe ser
zP
positivo y entero. El estndar es 3000 (3 segundos)
maxlogins re
Pe
el
cidinternalcontexts
nt
review
siv
operator
saycid
dialout
Especifica el contexto a ser usado para que una llamada de salida pueda
ser usada. Recibe un string con el contexto.
callback
dbuser
es
Especifica el nombre de usuario en la base de datos MySQL a ser usado
ed
en la aplicacin de buzn de voz. El valor es un string, el estndar es
test. Note que Asterisk debe ser compilado con soporte para MySQL.
ar
zP
dbpass
re
Pe
Especifica la contrasea en la base datos MySQL a ser usada para la
aplicacin de buzn de voz
el
igu
dbhost
eM
dbname
ice
aV
dboption
op
que el Asterisk tiene que ser compilado para el Postgres para que esta
opcin funcione.
clu
Ex
pbxskip
fromstring
emailsubject
emailbody
exitcontext
es
ed
Contexto de salida para dejar al usuario despus de tener presionado * o
0 para salir del voicemail.
ar
zP
nextaftercmd
re
Pe
Si es configurado en yes despus de borrar el mensaje de voicemail, el
sistema automticamente tocar el prximo mensaje.
el
igu
VM_NAME
nt
VM_DUR
ice
aV
VM_MSGNUM
ar
VM_MAILBOX
op
VM_CIDNUM
siv
VM_CIDNAME
clu
Ex
VM_CALLERID
VM_DATE
[context_section]
extensin_number =>
voicemail_password,user_name,user_email_address,user_pager_email_address,us
er_option(s)
12.5 Interfase Web para el Buson de voz. | 288
es
ed
user_name: Campo alfanumrico con el primer y ultimo nombre
de usuario.
ar
zP
user_email_address: Direccin de e-mail para notificacin.
re
pager_email_address: puede ser configurado para la direccin
Pe
de e-mail de un pager de forma que cuando reciba un buzn de
el
opciones deben ser separadas por la barra vertical (|). Las nueve
ice
localizado en /usr/src/asterisk/vmail.cgi.
clu
Note que el make install no instala esta interfase a menos que usted corra
make webvmail separadamente. Este script requiere que el Perl y Perl-
Ex
chmod +x vmail.cgi
289 | Captulo 12| El Buzn de voz
12.6 Sumario
En este captulo usted aprendi los pasos necesarios para la configuracin
de buzn de voz. Conoci tambin los archivos de configuracin y los
principales archivos relacionados.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
12.7 Cuestionario | 290
12.7 Cuestionario
1. Los archivos emparentados con la configuracin del Buzn de voz son:
sip.conf
iax.conf
asterisk.conf
voicemail.conf
vmail.conf
extensions.conf
es
2. En la aplicacin VoiceMail(), los parmetros uyb son ___________
ed
y __________ respectivamente. Estos sirven para determinar que tipo de
mensaje el buzn de voz tocar para el usuario.
ar
zP
Ocupado, Libre
Ocupado, No atiende
re
No atiende, Ocupado Pe
Libre, Ocupado
el
igu
Correcta
nt
Incorrecta
ice
0
ar
*
op
#
siv
9999
clu
Correcta
Incorrecta
291 | Captulo 12| El Buzn de voz
Correcta
Incorrecta
Correcta
Incorrecta
es
9. Es posible personalizar los mensajes de buzn con emailsubject y
ed
emailbody. Que variables pueden ser usadas para indicar el CallerID en el
mensaje:
ar
zP
re
10. El nombre de CGI para instalar la interfase Web del voicemail es el
____________.
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 13
Billing en Asterisk
13.1 Introduccin
El Asterisk como en otras plataformas de telefona, permite la contabilidad
de las llamadas telefnicas. Existen diversos programas en el mercado
que importan la contabilidad de llamadas generados por las centrales
telefnicas y tratan estos con fines de correlacionarlos con la cuenta
es
telefnica, controles internos y estadsticas entre otros cosas.
ed
13.2 Objetivos:
ar
zP
Al final de este captulo el lector deber estar apto para:
re
Pe
Entender donde y en que formato son generados los informes de
contabilidad de llamadas
el
del Asterisk
ice
aV
es
Sigue un ejemplo en dos lneas del archivo csv importado para una tabla.
ed
ar
AccountCode CallerID No. Extensin Contexto CallerID texto Canal Origen Canal Destino
zP
1234 4830258576 *72*1234*8584 admin "Alexandre Keller" <4830258576> SIP/8576-5f30 SIP/8584-9153
1234 4830258576 *72*1234*8584 admin "Alexandre Keller" <4830258576> SIP/8576-96f5 SIP/8584-3312
re
1234 4830258576 *72*1234*8584 admin "Alexandre Keller" <4830258576> SIP/8576-74ac SIP/8584-297b
1234 4830258576 2012348584 admin "Alexandre Keller" <4830258576>
Pe SIP/8576-2c5d SIP/8584-9870
1234 4830258584 2012348576 default "Luiz Eduardo Dagios" <4830258584> SIP/8584-03fd SIP/8576-645c
el
Dial SIP/8584|30|tT 27/3/2006 16:05 27/3/2006 16:05 27/3/2006 16:05 5 3 ANSWERED DOCUMENTATION
Dial SIP/8584|30|tT 27/3/2006 16:16 27/3/2006 16:16 27/3/2006 16:16 6 4 ANSWERED BILLING
eM
Dial SIP/8584|30|tT 27/3/2006 16:22 27/3/2006 16:22 27/3/2006 16:22 9 5 ANSWERED BILLING
Dial SIP/8584|30|tT 27/3/2006 16:37 27/3/2006 16:37 27/3/2006 16:37 5 2 ANSWERED BILLING
nt
Dial SIP/8576|30|tT 27/3/2006 16:37 27/3/2006 16:37 27/3/2006 16:37 9 5 ANSWERED BILLING
ice
iax.conf y zapata.conf).
siv
Ejemplo: (sip.conf)
13.5 Cambiando el formato del CDR | 294
[8576]
amaflags=default
accountcode=Soporte
type=friend
username=8576
es
; Mappings for custom config file
;
ed
[mappings]
Master.csv =>
ar
"${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(channe
zP
l)}","${CDR(dstchannel)}","${CDR(lastapp)}","${CDR(lastdata)}","${CDR(start
)}","${CDR(answer)}","${CDR(end)}","${CDR(duration)}","${CDR(billsec)}","${
re
CDR(disposition)}","${CDR(amaflags)}","${CDR(accountcode)}","${CDR(uniqueid
)}","${CDR(userfield)}" Pe
13.6 Mtodos de almacenamiento del CDR
el
igu
Las formas ms importantes en nuestra opinin son los CSV, pues puede
ser importada para planillas y para software de contabilidad de llamadas
nt
es
de billing en MySQL no es ms parte integrante de Asterisk. Esto viene
ed
con el archivo addons que usted tendr que descomprimir y compilar si
desease usar esta aplicacin.
ar
zP
Siga las siguientes instrucciones para compilar el soporte de MySQL para
re
Asterisk
Pe
Instale los paquetes MySQL y MySQL-devel
el
igu
#cd /usr/src
#wget http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-
1.4.1.tar.gz
nt
#cd asterisk-addons-1.4.1
#make clean
aV
#make
#make install
ar
visto abajo:
siv
[global]
clu
hostname=localhost
dbname=asteriskdb
Ex
password=asterisk
user=asterisk
port=3306
;sock=/var/run/mysqld/mysqld.sock
;userfield=1
Mysql -p
USE asteriskdb;
es
`billsec` int(11) NOT NULL default '0',
ed
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
ar
`accountcode` varchar(20) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
zP
);
re
ALTER TABLE `cdr` ADD INDEX ( `calldate` );Pe
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
el
igu
13.7.1 CDR(accountcode)
siv
el Dial().
Ex
Formato:
Set(CDR(accountcode)=accountcode)
13.7.2 SetAMAFlags
Set(CDR(amaflags)=flags)
297 | Captulo 13| Billing en Asterisk
13.7.3 NoCDR()
Hace que ningn CDR sea grabado para una cierta llamada.
13.7.4 ResetCDR()
es
13.7.5 Set(CDR(userfield)=Value)
ed
Este comando configura el campo definido por el usuario de CDR. Si usted
ar
estuviese usando el cdr_addon_mysql certifquese de tener userfield=1 en
zP
el cdr_mysql.conf. Si estuviera usando cdr_csv.c, edite el archivo fuente
re
recompile para habilitar el campo de usuario. El comando no tiene efecto
si no estuviese habilitado.
Pe
el
13.7.6 AppendCDRUserField(Value)
igu
Formato:
siv
Authenticate(password[|options])
clu
Authenticate(/passwdfile|[|options])
Authenticate(</db-keyfamily|d>options)
Ex
Opciones:
exten=_000.,1,Authenticate(/contrasea|daj)
exten=_000.,2,Dial(Zap/g1/${EXTEN:1},20,tT)
exten=_000.,3,Hangup()
exten=_000.,102,Playback(no_autorizado)
exten=_000.,103,Hangup()
es
13.9 Usando las contraseas del Buzn de voz
ed
Hace lo mismo que el Authenticate, pero usa la base de datos del buzn
ar
de voz para la autentificacin de los usuarios.
zP
VMAuthenticate([mailbox][@context][|options])
re
Pe
Si una casilla postal fuera especificada, apenas la contrasea de la casilla
postal ser considerada vlida. Si la casilla postal no fuese especificada, la
el
igu
exten=_000.,1,VMAuthenticate(${CALLERID}@ramales|ajs)
exten=_000.,2,Dial(Zap/g1/${EXTEN:1},20,tT)
aV
exten=_000.,3,Hangup()
exten=_000.,102,Playback(no_autorizado)
exten=_000.,103,Hangup()
ar
op
siv
clu
Ex
299 | Captulo 13| Billing en Asterisk
13.10 Sumario
En este captulo aprendimos como atribuir cdigos de contabilizacin a los
canales (ramales y enlaces) de Asterisk. Aprendimos como configurar el
billing de llamadas para ser almacenada en archivos de texto y tambin
en bases de datos. Por fin entendemos los mecanismos de autentificacin
que permiten un control mayor de la contabilizacin en Asterisk.
13.11 Cuestionario
es
1. Por default Asterisk contabiliza las llamadas en /var/log/asterisk/cdr-
csv.
ed
ar
Falso
zP
Verdadero
re
2. Asterisk solo permite contabilizar en las bases de datos:
Pe
el
MySQL
igu
Oracle nativo
MSSQL
eM
Falso
Verdadero
ar
op
Default
clu
Omit
Tax
Ex
Rate
Billing
Documentation
Falso
Verdadero
Falso
Verdadero
es
Contrasea
ed
Archivos de contraseas
Banco berkley DB (dbput e dbget)
ar
VoiceMail
zP
re
9. Las contraseas de buzn son especificadas en otra parte del archivo
voicemail.conf y no son las mismas del buzn de voz.
Pe
el
Falso
igu
Verdadero
eM
a
j
aV
d
ar
r
op
siv
clu
Ex
301 | Captulo 13| Billing en Asterisk
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 14
es
ya es construido sobre un computador, tiene diversas formas de
ed
integracin y no esta limitado apenas a una interfase de CTI. El punto
ar
negativo es que una interfase CSTA estandarizada todava no est
zP
disponible. En este captulo adems de la interfase de CTI de Asterisk
conocida como AMI (Asterisk Manager Internase), veremos el uso de
re
AGIs, del comando asterisk rx y del aplicativo System(). A partir de
Pe
estos recursos es posible construir aplicaciones de URA, discadores,
popup de pantalla, monitorizacin e informes. Consideraciones sobre
el
plan de discado
op
gerenciamiento.
Ejecutar un comando en el Asterisk a travs de AMI usando PHP.
clu
asterisk rx <comando>
Por ejemplo:
es
#asterisk rx stop now
ed
O lo mismo con un comando que tenga un output como:
ar
zP
asterisk:~# asterisk -rx "sip show peers"
Name/username Host Dyn Nat ACL Port Status
re
4000/4000 10.1.1.6 D
Pe 5060 Unmonitored
1 sip peers [1 online , 0 offline]
el
asterisk*CLI>
-= Info about application 'System' =-
aV
[Synopsis]
Execute a system command
ar
op
[Description]
System(command): Executes a command by using system(). If the command
siv
es
ed
exten => fax,1,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tif)
exten => fax,n,Set(FAXFILENOEXT=/var/spool/asterisk/fax/${CALLERID(num)})
ar
exten => fax,n,rxfax(${FAXFILE})
zP
exten => fax,n,System('/usr/bin/fax2mail ${CALLERID(num)}
"${CALLERID(name)}" FaxNum RecipName email@address.com ${FAXFILENOEXT} p')
concepto de llave: el valor es utilizado sobre un socket tcp. Las lneas son
ice
cualquier lenguaje que suporte una interfase sockets o que simule Telnet.
Para este documento, escogemos PHP por la popularidad y por la facilidad
de integracin con un Web-browser.
es
procesada por vez. El paquete contiene el nombre de la operacin y
ed
sus parmetros.
Response: Es la respuesta enviada por el Asterisk a la ltima accin
ar
solicitada por el cliente.
zP
Event: Datos pertenecientes a un evento generado de dentro del
re
ncleo de Asterisk o por un mdulo.
Pe
Al enviar paquetes de tipo Action para Asterisk los clientes incluyen un
el
permisos.
[general]
enabled=yes
port=5038
bindaddr=127.0.0.1
[admin]
secret=contrasea
14.7 Configurando usuarios y permisos | 306
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
Para hacer el login y autenticarse en AMI, usted precisa enviar una accin
de tipo Login con su nombre de usuario y contrasea. Algo como lo que
esta abajo:
Action:login
es
Username:admin
Secret:contrasea
ed
ar
14.7.2 Logueandose en AMI via PHP.
zP
<?php
re
Pe
$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
el
?>
eM
<?php
aV
?>
clu
Cuando usted enva al Asterisk una accin, algunas llaves extras pueden
ser proporcionadas como parmetros. Por ejemplo, un nmero a ser
llamado. Esto es hecho en la forma de pasar los pares llave:valor
despus el Action. Es posible tambin pasar variables para el plan de
discado.
es
Agents agent,all Lists agents and their status
ed
ChangeMonitor call,all Change monitoring filename of a
ar
channel
zP
Command command,all Execute Asterisk CLI Command
DBGet system,all Get DB Entry
re
DBPut system,all Put DB Entry Pe
EventsControl <none> Event Flow
ExtensinState call,all Check Extensin Status
el
es
Priority: Priority to use (requires 'Exten' and 'Context')
Application: Application to use
ed
Data: Data to use (requires 'Application')
Timeout: How long to wait for call to be answered (in ms)
ar
CallerID: Caller ID to be set on the outgoing channel
zP
Variable: Channel variable to set, multiple Variable: headers are
allowed
Account: Account code
re
Async: Set to 'true' for fast origination
Pe
14.7.5 Paquetes de tipo Event
el
igu
Descripcin:
nt
Notas:
ar
op
Varios eventos de link pueden ser vistos para una nica llamada. Esto
puede ocurrir cuando el Asterisk falla en configurar un puente nativo para
siv
una llamada. En estos casos Asterisk esta entre los dos telfonos y
clu
Ejemplo:
Event: Link
Channel1: SIP/101-3f3f
Channel2: Zap/2-1
Uniqueid1: 1094154427.10
Uniqueid2: 1094154427.11
Descripcin:
Ejemplo:
Event: Unlink
Channel1: SIP/101-3f3f
Channel2: Zap/2-1
Uniqueid1: 1094154427.10
Uniqueid2: 1094154427.11
14.7.8 Eventos disponibles en el Asterisk
es
AgentCallbackLogoffEvent LinkEvent QueueMemberEvent
ed
AgentCalledEvent LogChannelEvent QueueMemberPausedEvent
AgentCompleteEvent ManagerEvent QueueMemberRemovedEvent
ar
AgentConnectEvent MeetMeEvent QueueMemberStatusEvent
zP
AgentDumpEvent MeetMeJoinEvent QueueParamsEvent
AgentLoginEvent MeetMeLeaveEvent QueueStatusCompleteEvent
re
AgentLogoffEvent MeetMeStopTalkingEvent Pe RegistryEvent
AgentsCompleteEvent MeetMeTalkingEvent ReloadEvent
AgentsEvent MessageWaitingEvent RenameEvent
el
HangupEvent PeerEntryEvent
op
HoldedCallEvent PeerlistCompleteEvent
siv
Usted puede usar el Astmanproxy como base para que una aplicacin
basada en Web o XML permita acceso por aplicaciones Windows usando
HTTP POST o HTTP GET y recibiendo la salida en HTML. Usted puede usar
el Astmanproxy como un alimentador XML para un programa .NET que
mantiene el registro del estado de Asterisk.
es
Paso 1: Bajar el Astmanproxy
ed
Use el sistema subversin para bajar el astmanproxy.
ar
zP
svn checkout http://svncommunity.digium.com/svn/astmanproxy/trunk
make
igu
make install
eM
vi /etc/asterisk/astmanproxy.conf
ice
; astmanproxy.conf
aV
vi /etc/asterisk/astmanproxy.users
vi /etc/asterisk/ssl.conf
astmanproxy
311 | Captulo 14| Integracin de Asterisk usando AGI y AMI
astmanproxy -dddddd
/usr/local/sbin/astmanproxy
es
ed
Mas informaciones sobre el Astmanproxy pueden ser encontradas en el
archivo README de la distribucin de astmanproxy.
ar
zP
14.9 Asterisk Gateway Interface
re
AGI es una interfase de gateway para el Asterisk similar al CGI usado por
Pe
los servidores Web. Este permite el uso de diferentes lenguajes de
el
sockets.
EAGI: da a la aplicacin la posibilidad de acceder y controlar el
ar
Formato de la aplicacin:
clu
asterisk*CLI>
-= Info about application 'AGI' =-
[Synopsis]
Executes an AGI compliant application
[Description]
[E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface
compliant
program on a channel. AGI allows Asterisk to launch external programs
written in any language to control a telephony channel, play audio,
read DTMF digits, etc. by communicating with the AGI protocol on stdin
and stdout.
Returns -1 on hangup (except for DeadAGI) or if application requested
hangup, or 0 on non-hangup exit.
14.9 Asterisk Gateway Interface | 312
Using 'EAGI' provides enhanced AGI, with incoming audio available out of
band
on file descriptor 3
Use the CLI command 'agi show' to list available agi commands
es
database put Adds/updates database value
exec Executes a given Application
ed
get data Prompts for DTMF on a channel
get full variable Evaluates a channel expression
ar
get option Stream file, prompt for DTMF, with timeout
zP
get variable Gets a channel variable
hangup Hangup the current channel
noop Does nothing
re
receive char Receives one character from channels supporting it
Pe
receive text Receives text from channels supporting it
record file Records to a given file
el
es
#!/usr/bin/php -q
ed
<?php
ar
Paso 4: Abriendo los canales de entrada y salida:
zP
re
$stdin = fopen('php://stdin', 'r');
$stdout = fopen('php://stdout', 'w'); Pe
$stdlog = fopen('agi.log', 'w');
el
agi_request:testephp
agi_channel: Zap/1-1
aV
agi_language: en
agi_type: Zap
ar
agi_callerid:
op
agi_dnid:
agi_context: default
agi_extensin: 4000
siv
agi_priority: 1
clu
while (!feof($stdin)) {
$temp = fgets($stdin);
$temp = str_replace("\n","",$temp);
$s = explode(":",$temp);
$agivar[$s[0]] = trim($s[1]);
If (($temp == "") || ($temp == "\n")) {
break;
}
}
es
Paso 6 Usando el canal AGI
ed
En este punto usted puede comenzar a hablar con el Asterisk. Use el
ar
comando fputs para enviar comandos agi. Usted puede usar el comando
zP
echo tambin.
re
fputs($stdout,"SAY NUMBER 4000 '79#' \n"); Pe
fflush($stdout);
el
Variables de canal pueden ser definidas dentro del AGI, pero las variables
siv
$msg = fgets($stdin,1024);
fputs($stdlog,$msg . "\n");
315 | Captulo 14| Integracin de Asterisk usando AGI y AMI
es
Marque el nmero de la orden
Marque 3 Para la consulta de precios
ed
Marque el cdigo de lo tem
ar
Marque 4 Para la atencin personalizada
zP
re
Pe
el
BANCO URA
igu
DE
DATOS
eM
Cliente
nt
ice
utiliza este valor para realizar una consulta en un banco de datos MySQL.
La consulta retorna una
ar
op
#!/usr/bin/php -q
<?php
siv
ob_implicit_flush(true);
set_time_limit(6);
clu
error_reporting(0);
$in = fopen("php://stdin","r");
$stdlog = fopen("/var/log/asterisk/agi.log", "w");
Ex
function write($line) {
global $debug, $stdlog;
if ($debug) fputs($stdlog, "write: $line\n");
echo $line."\n";
14.9 Asterisk Gateway Interface | 316
es
}
ed
// Programa Principal
ar
connect_db();
zP
// Almacena valor de la variable OPCAO en
write("GET VARIABLE OPCAO");
re
$c = read(); Pe
$produto = substr($c,14);
$produto = substr($call,0,-1);
el
$query_result = @mysql_query($query);
$result = mysql_fetch_row($query_result);
eM
$valor = "$result[0]";
nt
read();
aV
fclose($in);
fclose($stdlog);
exit;
ar
op
?>
siv
14.9.3 DeadAGI
14.9.4 FASTAGI
El Fast AGI implementa una conexin de AGI va TCP por la puerta 4573
por default. Si usa el FastAGI en el formato (agi://).
317 | Captulo 14| Integracin de Asterisk usando AGI y AMI
Ejemplo:
es
Usted puede obtener ms detalles de FastAGI en el directorio fuente, vea
ed
los archivos agi/fastagi-test.
ar
La empresa OrderlyCalls posee un servidor JAGI que implementa el
zP
FastAGI para el JAVA. Ms informaciones en www.orderlycalls.com.
www.asterisk.org/developers
aV
http://www.asterisk.org/doxygen/
clu
Para aquellos que estn familiarizados con C puede ser interesante alterar
Ex
14.11 Sumario
En este captulo usted aprendi como usar programas externos a travs
de interfaces con el Asterisk. Iniciamos con el comando asterisk rx que
permite pasar comandos para la consola. Enseguida vimos la aplicacin
System() que llama aplicaciones externas. AMI, Asterisk Manager
Interface es uno de los mecanismos ms poderosos de Asterisk y la que
ms se aproxima de una interfase de CTI existente en las centrales
digitales. Para llamar una aplicacin desde dentro del plan de discado,
14.11 Sumario | 318
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
319 | Captulo 14| Integracin de Asterisk usando AGI y AMI
14.12 Cuestionario
1. Cual de los siguientes no es un mtodo de uso de interfase con el
Asterisk
AMI
AGI
Asterisk rx
System()
External()
es
2. AMI, que quiere decir que Asterisk Manager Interfase permite que
ed
comandos puedan ser pasados al Asterisk va puerto TCP. Este recurso es
habilitado por default.
ar
zP
Correcto
Incorrecto
re
Pe
3. El AMI es muy seguro pues su autentificacin es hecha usando MD5
el
Challenge/Response
igu
Verdadero
eM
Falso
nt
Sysproxy
op
siv
Falso
Ex
Verdadero
Falso
Verdadero
Falso
14.12 Cuestionario | 320
Verdadero
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
321 | Captulo 14| Integracin de Asterisk usando AGI y AMI
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Captulo 15
Asterisk Real-Time
15-1 Introduccin
Como usted ya sabe la configuracin de Asterisk es retirada de
varios archivos de texto dentro de /etc/asterisk. A pesar de la
facilidad proporcionada por la simplicidad de los archivos de
configuracin en textos simple, estos presentan muchas
es
desventajas.
ed
ar
Podemos citar:
zP
Necesidad de recarga del sistema a cada alteracin.
re
Creacin de gran volumen de usuarios.
Pe
Dificultad en la creacin de interfaces de aprovisionamiento.
Imposibilidad de integracin con las bases existentes.
el
igu
es
ed
ar
zP
re
Pe
En la nueva arquitectura RealTime, todo el cdigo especfico para
el
#wget http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-
1.4.1.tar.gz
es
ed
#apt-get install libmysqlclient12-dev
ar
Paso 3: Descomprima y compile los add-ons
zP
#tar xzvf asterisk-addons-1.4.1.tar.gz
re
#cd asterisk-1.4.1 Pe
#make
#./configure
el
#make install
#make samples
eM
;
; Static and realtime external configuration
; engine configuration
;
; Please read doc/README.extconfig for basic table
; formatting information.
;
[settings]
es
;
ed
; Static configuration files:
;
ar
; file.conf => driver,database[,table]
;
zP
; maps a particular configuration file to the given
; database driver, database and table (or uses the
re
; name of the file as the table if not specified)Pe
;
;uncomment to load queues.conf via the odbc engine.
;
el
;
; The following files CANNOT be loaded from Realtime storage:
eM
; asterisk.conf
; extconfig.conf (this file)
; logger.conf
nt
;
ice
; rtp.conf
op
;
; Realtime configuration engine
siv
;
; maps a particular family of realtime
; configuration to a given database driver,
clu
;
;example => odbc,asterisk,alttable
;iaxusers => odbc,asterisk
;iaxpeers => odbc,asterisk
;sipusers => odbc,asterisk
;sippeers => odbc,asterisk
;voicemail => odbc,asterisk
;extensins => odbc,asterisk
;queues => odbc,asterisk
;queue_members => odbc,asterisk
Ejemplo:
es
ed
El segundo ejemplo ir a la tabla sip.conf (Como fue omitido el
ar
nombre de la tabla, esta tiene como estndar el nombre de archivo)
zP
en la base de datos asterisk usando un driver MySQL. La tercera ir
a configurar el archivo iax.conf a la tabla iax.conf usando un driver
re
LDAP. MyBaseDN es la base BN para la bsqueda.
Pe
Usando los ejemplos de arriba, cuando la aplicacin app_queue.so
el
Ejemplo:
nt
ice
Ejemplo:
es
las tablas en el banco de datos. De una forma general las columnas
ed
en su tabla deben tener los mismos campos de los archivos de
configuracin. Por ejemplo para un archivo de configuracin de tipo
ar
SIP o IAX, la base podra ser como la de abajo:
zP
re
[4000]
host=dynamic Pe
secret=contrasea
context=default
el
context=ramales
igu
de abajo
nt
Para el uso con el IAX, la tabla tiene que poseer por lo menos los
ar
correspondiente a la tabla.
clu
Una tabla SIP debe aparecerse como la de abajo para tener los
Ex
campos necesarios.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
RealTime:
siv
[ramales]
switch => realtime
clu
o
Ex
[ramales]
Switch =>realtime/ramais@extensins
#mysql u root p
es
ed
Paso 4: Cree un usuario con acceso a la base de datos de
ar
Asterisk.
zP
mysql>grant all privileges on asteriskdb.* to
re
'asterisk'@'localhost' identified by 'asterisk';
Pe
Paso 5: Salga del mysql con el comando quit y entre
el
#wget http://blog.asteriskguide.com/realtime.sql
ar
es
ed
ar
zP
re
Pe
el
igu
Pantalla de login
eM
nt
ice
aV
ar
op
siv
clu
Ex
[general]
dbhost = 127.0.0.1
dbname = asteriskdb
dbuser = asterisk
dbpass = asterisk
dbport = 3306
es
para la configuracin de nuestro banco de datos.
ed
Paso 1: Configurar el extconfig.conf y reinicializar el
ar
Asterisk.
zP
; Realtime configuration engine
re
;example => odbc,asterisk,alttable
Pe
iaxusers => mysql,asteriskdb,iax_buddies
el
Verifique con sip show peers el ramal. Usted va a notar que el ramal
en tiempo real no aparece en la lista de peers como los estticos. Si
usted precisa usar soporte de NAT o indicador de mensajes de
buzn de voz, use la instruccin rtcachefriends=yes en el archivo
sip.conf
es
seccin [general] del archivo sip.conf.
ed
Paso 5: Teste nuevamente una comunicacin de telfono 4000 al
ar
4001
zP
re
Verifique el comando sip show peers. Porque este aparece ahora ?
Pe
Paso 6: Cree un nuevo ramal en la base de datos con nmero
el
4007
igu
Asterisk.
nt
mysql -u asterisk -p
Enter password:
ar
use asteriskdb;
insert into extensions_table(id, context, exten, priority, app,
appdata) VALUES ('1','teste', '40007','1','Dial','SIP/40007');
CLI>extensions reload
15.9 Sumario
En este captulo usted aprendi que el Asterisk Real Time permite
colocar las configuraciones de Asterisk en un banco de datos. Los
bancos soportados son MySQL, cualquier base de datos que soporte
unixODBC y LDAP. La configuracin del ARA posee dos partes,
esttica, que substituye los archivos de configuracin en texto y
realtime que permite la creacin dinmica de objetos en el Asterisk.
Enseguida fue hecha la instalacin, configuracin y tests del sistema
es
Realtime.
ed
15.10 Cuestionario
ar
zP
1. El Asterisk Real Time es un recurso que hace parte de la
distribucin del Asterisk?
re
Pe
Verdadero
el
Falso
igu
Libmysqlclient12-dev
ice
Mysql-server-4.1
Perl
aV
Php
ar
extensions.conf
clu
sip.conf
res_mysql.conf
Ex
extconfig.conf
Verdadero
Falso
es
Este telfono solamente podr llamar, pero no va a recibir
ed
llamadas
No es posible usar NAT, pues el qualify es usado para
ar
mantener el NAT abierto.
zP
No es posible indicar al telfono mensajes en espera en el
re
buzn de voz.
Pe
No es posible usar el ramal pues la configuracin del SIP es
siempre esttica
el
igu
archivo sip.conf
Apenas MWI es posible
aV
Verdadero
clu
Falso
Ex
Verdadero
Falso
Verdadero
Falso
Apndice A
CANALES
es
PROTOCOLOS
ed
AGENTES
ar
TELFONOS
zP
CODECS
APLICACIONES
re
Pe
2. Si fuera necesario crear un PBX con 4 enlaces y ocho telfonos,
ud. puede usar una PC con Linux y 3 placas TDM400P una con
el
afirmacin es:
eM
CORRECTA
INCORRECTA
nt
ice
CORRECTA
INCORRECTA
siv
clu
CORRECTA
INCORRECTA
Respuestas del captulo 1 | 336
URA
IVR
DAC
Unified Messaging
es
ed
7 Disque las opciones correctas, Un banco de canales es
conectado al Asterisk a travs de una interface:
ar
zP
E1
re
T1
FXO
Pe
FXS
el
igu
12, 24
nt
30, 24
ice
12,12
1,1
aV
ar
CORRECTA
clu
INCORRECTA
Ex
Pentium 300Mhz
256MB RAM
100 MB de disco
es
Correcto
ed
Incorrecto
ar
3. Para que la telefona IP funcione con perfeccin es necesario que
zP
la red posea QoS extremo-a-extremo.
Correcto
re
Pe
Incorrecto
el
igu
Correcto
nt
Incorrecto
ice
Correcto
Incorrecto
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
339 | Apndice A | Respuesta de los ejercicios
zaptel.conf
zapata.conf
sip.conf
iax.conf
es
Asterisk este ser tratado en el archivo extensions.conf en este
ed
contexto.
ar
Correcto
zP
Incorrecto
Correcto
nt
Incorrecto
ice
(bancos de canales).
siv
Correcto
clu
Incorrecto
Ex
Correcto
Incorrecto
[general]
bindport = 5060
bindaddr = 10.1.30.45
context = default
disallow = speex
disallow = ilbc
allow = ulaw
maxexpirey = 120
defaultexpirey = 80
es
definidos con la opcin canreinvite=no. Con esto, cuando una
ed
comunicacin es hecha de un telfono para el otro, el Audio va
directamente de un telfono para otro sin pasar por Asterisk.
ar
zP
[8000]
type=friend
re
secret=8000 Pe
host=dynamic
canreinvite=no
el
[8001]
igu
type=friend
secret=8000
eM
host=dynamic
canreinvite=no
nt
ice
Correcto
Incorrecto
aV
Correcto
Ex
Incorrecto
0
9
s
i
Goto(contexto,extensin,prioridad)
Goto(prioridad, contexto, extensin)
Goto(extensin,prioridad)
Goto(prioridad)
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
Respuestas del Captulo 5 | 342
es
Correcto
ed
Incorrecto
ar
zP
3. Asterisk no puede usar simultneamente recursos de PSTN (Red
pblica de telefona y de voz sobre IP, pues los codecs no son
re
compatibles). Pe
Correcto
el
Incorrecto
igu
Correcto
ice
Incorrecto
aV
5. Dentro del modelo OSI, los protocolos SIP, H.323 e IAX2 estn
ar
en la capa de:
op
Presentacin
siv
Aplicacin
clu
Fsica
Sesin
Ex
Enlace
Correcto
Incorrecto
Correcto
343 | Apndice A | Respuesta de los ejercicios
Incorrecto
es
ed
Correcto
Incorrecto
ar
zP
10. Sobre los codecs asignarle lo que es verdadero
re
Pe
G711 es el equivalente al PCM (Pulse Code Modulation) y usa 64
Kbps de banda ancha.
el
de banda ancha.
GSM viene creciendo, pues ocupa 12 Kbps de banda ancha y no
eM
precisa de licencia.
G711 u-law es comn en los EUA en tanto a-law es comn en
nt
Europa y en Brasil.
ice
Correcto
Incorrecto
es
Correcta
ed
Incorrecta
ar
3. El IAX emplea los siguientes tipos de frames
zP
re
Frame Completo
Frame Incompleto
Pe
Mini-Frame
el
Trunked Frame
igu
IP
UDP
aV
IAX
ar
RTP
cRTP
op
siv
Verdadero
Falso
Correcta
Incorrecta
345 | Apndice A | Respuesta de los ejercicios
Correcta
Incorrecta
IAX/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context>][/<opti
ons>]]
es
9. El contexto es adicionado para cada cliente IAX, esto permite que
ed
diferentes clientes posean diferentes contextos. Se puede pensar en
ar
un contexto como una clase de ramal donde el cliente ser
zP
colocado. La afirmacin es:
Correcta
re
Pe
Incorrecta
el
igu
IAX
HTTP
H323
SMTP
es
ed
Voz
Buzn Electrnico
ar
Vdeo
zP
Chat
re
Juegos
Pe
3. Podemos citar como componentes de SIP a: (disque todos los
el
que se aplican)
igu
User Agent
eM
Media gateway
PSTN Server
nt
Proxy Server
ice
Registrar Server
aV
Registrar.
op
Correcto
Incorrecto
Correcto
Incorrecto
347 | Apndice A | Respuesta de los ejercicios
Correcto
Incorrecto
.Correcta
Incorrecta
es
ed
9. Asterisk soporta sin problemas la supresin de silencio en canales
SIP. La afirmacin es:
ar
zP
Correcta
re
Incorrecta
Pe
10. El tipo ms difcil de NAT para transportar es el:
el
Full Cone
igu
Restricted Cone
Port Restricted Cone
eM
Symmetric
nt
ice
aV
ar
op
siv
clu
Ex
Respuestas del capitulo 8 | 348
es
La opcin static=yes debe estar configurada para poder salvar el
ed
plan de discado.
ar
2. Normalmente las variables globales van a estar escritas en
zP
maysculas en tanto las variables de canal estarn comenzando con
re
mayscula y las restantes en minsculas. Esto no es obligatorio,
pero facilita la lectura.
Pe
el
Verdadero
igu
Falso
eM
Seguridad
Ruteamiento
clu
Mens
Ex
Aislamiento
$[varname]
{varname}
$(varname)
${varname}
Constantes
Variables pblicas
Variables de ambiente
Variables globales
Variables privadas
Variables de canal
es
ed
${foo}${bar}
555${elnumero}
ar
${PrefijoLargaDistancia}555${elNumero}
zP
re
Correcta
Incorrecta
Pe
el
SIP/4001 simultneamente.
ice
aV
exten=4000,1,dial(SIP/4000,15)
exten=4000,2,dial(SIP/4000&SIP/4001,15)
ar
10. Suponga que usted tenga una central telefnica digital. Coloque
op
[ramais]
exten=_0XXXXXXXXXX,1,Dial(Zap/g1/_055${EXTEN:4},15)
Respuestas del capitulo 9 | 350
include=> context|<times>|<weekdays>|<mdays>|<months>
include=>expediente|08:00-18:00|mon-fri|*|*
es
Ejecuta las extensiones de lunes a viernes desde las 08:00 hasta
ed
las 18:00.
Ejecutan las opciones todos los das en todos los meses.
ar
El comando es invlido.
zP
re
2. Cuando el usuario disca 0 para tomar la lnea el Asterisk
automticamente corta el audio. Esto es negativo porque el usuario
Pe
est acostumbrado a discar el 0 y or el tono externo de discado.
el
3. Los comandos:
nt
Oracle
MySQL
Berkley DB
PostgreSQL
es
afirmacin es:
ed
Falsa
ar
Verdadera
zP
re
9. En el comando Background la msica de fondo tiene que ser
Pe
tocada enteramente antes que el usuario pueda digitar algo. La
afirmacin es:
el
igu
Falsa
Verdadera
eM
nt
Correcta
ar
Incorrecta
op
${ARG1}
${ENV1}
${V1}
${X}
Respuestas del captulo 10 | 352
es
configurado en zapata.conf.
ed
3. En el caso de transferencia de llamadas existen las transferencias
ar
ciegas, donde el ramal de destino no es consultado antes y la
zP
transferencia asistida donde es posible verificar si el usuario est
re
en la extensin.
Pe
4. Para hacer una transferencia asistida usted usa el __ en tanto
el
#1, #2
eM
#2, #1
#3, #1
nt
#4, #2
ice
MEETME().
ar
MeetMe()
clu
MeetMeConsole()
MeetMeAdministrator()
Ex
MeetmeAdmin()
353 | Apndice A | Respuesta de los ejercicios
es
este puede presionar:
ed
* para desconectarse y permanecer en la fila
ar
Colgar el telfono y ser desconectado de la fila
zP
Presionar #8000 y la llamada ser transferida para la fila de
re
auditoria
Presionar # para colgar.
Pe
el
llamadas son:
eM
Crear la fila
Crear los agentes
nt
Configurar la grabacin
Colocar en el plan de discado
aV
ar
AgentCallBackLogin().
siv
clu
Ex
Agente
Menu
Contexto
Aplicativo
Respuestas del captulo 11 | 354
el Plan de discado
la interfase de lnea de comando
en el archivo queues.conf
en el archivo agents.conf
es
Verdadero
ed
Falso
ar
9. Wrapuptime es el tiempo que el agente precisa despus del
zP
trmino de una llamada para prepararse para la prxima o
re
completar procesos en relacin a la llamada atendida
Pe
Verdadero
el
Falso
igu
Correcta
ice
Incorrecta
aV
ar
op
siv
clu
Ex
355 | Apndice A | Respuesta de los ejercicios
sip.conf
iax.conf
asterisk.conf
voicemail.conf
vmail.conf
extensions.conf
es
ed
2. En la aplicacin VoiceMail(), los parmetros uyb son
___________ y __________ respectivamente. Estos sirven para
ar
determinar que tipo de mensaje el buzn de voz tocar para el
zP
usuario.
Ocupado, Libre
re
Pe
Ocupado, No atiende
el
No atiende, Ocupado
igu
Libre, Preso
eM
Correcta
Incorrecta
aV
ar
0
siv
*
#
clu
9999
Ex
VoiceMail([flags]boxnumber[@context][&boxnumber2[@context]][&boxnumbe
r3])
Correcta
Incorrecta
Respuestas del captulo 12 | 356
Correcta
Incorrecta
Correcta
Incorrecta
es
ed
9. Es posible personalizar los mensajes de buzn con emailsubject y
emailbody. Que variables pueden ser usadas para indicar el CallerID
ar
en el mensaje:
zP
VM_CallerID
re
Pe
10. El nombre de CGI para instalar la interfase Web del voicemail es
el vmail.cgi.
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
357 | Apndice A | Respuesta de los ejercicios
Falso
Verdadero
MySQL
es
Oracle nativo
ed
MSSQL
Archivos texto CSV
ar
Bases de datos por unix_ODBC
zP
re
3. Asterisk contabiliza apenas en un tipo de almacenamiento
Pe
Falso
el
Verdadero
igu
Default
nt
Omit
ice
Tax
Rate
aV
Billing
ar
Documentation
op
Falso
Verdadero
Falso
Respuestas del captulo 13 | 358
Verdadero
Contrasea
Archivos de contraseas
Banco berkley DB (dbput e dbget)
VoiceMail
es
ed
Falso
Verdadero
ar
zP
10. La opcin del comando Authenticate __ hace que la contrasea
re
sea colocada en el cdigo de contabilizacin del cdr.
Pe
a
el
j
igu
d
r
eM
nt
ice
aV
ar
op
siv
clu
Ex
359 | Apndice A | Respuesta de los ejercicios
AMI
AGI
Asterisk rx
System()
External()
es
2. AMI, que quiere decir que Asterisk Manager Interfase permite
ed
que comandos puedan ser pasados al Asterisk va puerto TCP. Este
recurso es habilitado por default.
ar
zP
Correcto
re
Incorrecto
Pe
3. El AMI es muy seguro pues su autentificacin es hecha usando
el
MD5 Challenge/Response
igu
Verdadero
eM
Falso
nt
Astmanproxy
Sysproxy
op
siv
Falso
Ex
Verdadero
Falso
Verdadero
Falso
Verdadero
10. Para hacer debug en un AGI usted debe usar el comando agi
debug.
es
ed
ar
zP
re
Pe
el
igu
eM
nt
ice
aV
ar
op
siv
clu
Ex
361 | Apndice A | Respuesta de los ejercicios
Verdadero
Falso
es
Libmysqlclient12-dev
ed
Mysql-server-4.1
Perl
ar
Php
zP
re
3 LA configuracin de las direcciones y puertos de acceso al banco
de datos MySQL es hecha en el archivo:
Pe
el
extensions.conf
igu
sip.conf
res_mysql.conf
eM
extconfig.conf
nt
Verdadero
Falso
es
El realtime no fue creado para usar con NAT
ed
Usted puede usar el comando rtcachefriends=yes en el
archivo sip.conf
ar
Apenas MWI es posible
zP
Para usar NAT es preciso que la configuracin sea esttica.
re
Pe
8 Usted puede continuar usando los archivos de texto de
configuracin, mismo despus de configurar el Asterisk Real Time.
el
igu
Verdadero
Falso
eM
Verdadero
Falso
aV
ar
Verdadero
clu
Falso
Ex