Академический Документы
Профессиональный Документы
Культура Документы
Asterisk
Departamento de Informática
Red de Enlaces
Central Telefónica
PSTN
Bucle de Abonado
PBX
La PSTN
Abonados Telefónicos
Central Telefónica
Interfaces Analógicas
Gateway de voz
FXS / FXO
Gateway de voz
PBX – Private Box eXchange
Una PBX se
conecta a la PSTN
y administra las
llamadas locales
(entre extensiones
de la PBX) y las
llamadas con el
exterior. PBX
Central Telefónica (CO)
Soportan interfases
como: FXS, FXO,
E&M, E1, T1, IP,
etc.
Funcionalidad de una PBX
• Transferencia de Llamadas
• Conferencia
• Captura de llamadas
• Llamada en espera
• Servicio diurno y nocturno
• Clases de Servicio
• IVR
Tema 02
Conceptos de Telefonía IP
Telefonía IP
FXS
Gateway
de Voz
INTERNET
FXO
Tema 03
personalizadas, ...
Traductor
API de Traducción de Codecs
de Codecs
Temporizador y
Gestor de
GSM
Lanzador de Entradas/Salidas
Aplicaciones GSMsf
G723
G723sf
G711
WAV
MP3
MP3
ADPCMA
LINEAR
Núcleo de
Arquitectura de Asterisk
Centralita
Cargador de
Módulos
Telefonía IP:
Telefonía Tradicional: - SIP, IAX, H323
- Codec G711
Hardware para Asterisk
TDM400P B410P
4 interfases FXS/FXO Interfase BRI
TDM2400P TE420
24 interfases FXS/FXO 120 canales E1
Arquitectura
Multiconferencia, IVR, Buzón de Voz, Directorio, aplicaciones
personalizadas, ...
de Codecs
Temporizador y
Gestor de
GSM
Lanzador de Entradas/Salidas
Aplicaciones GSMsf
G723
G723sf
G711
WAV
MP3
MP3
ADPCMA
LINEAR
Núcleo de
Centralita
Cargador de
Módulos
Canales.-
Un canal equivale a una línea telefónica, como un
circuito de voz digital. Puede ser una línea
analógica o un circuito digital.
(CODEC / Protocolo de señalización Ejm: GSM / SIP).
Aplicaciones.-
Para que Asterisk pueda conectar llamadas de entrada
o salida, utilizar el buzón de voz, conferencia, etc.
necesita ejecutar aplicaciones.
Archivos.-
Asterisk soporta algunos tipos de archivos que
utiliza para tocar audio como: mp3, wav, GSM,
etc.
API de Formato de Ficheros: Sirve para
controlar el formato de archivos que pueden ser
controlados por el sistema.
Tema 04
Escenarios de
Implementación
Implementaciones
Telefonía IP
Internet
Telefonía Analógica
PSTN
Implementaciones
SIP
Internet Telefonía IP
PSTN
Telefonía Analógica
Implementaciones
IAX
IAX Internet
SIP
SIP
Telefonía IP Telefonía IP
Implementaciones
Aplicaciones :
-Click and Dial
- Marcador predictivo
- CRM
Internet
BD
PSTN
Servidor de
aplicaciones
Implementaciones
Tema 05
Instalación de Asterisk
Requisitos de Software
http://www.asterisk.org/downloads
De aquí descargamos los paquetes básicos para
instalar asterisk en formato tar.gz:
- asterisk
- asterisk-addons
- asterisk-sounds
- zaptel
- libpri
Instalando ZAPTEL
#make clean
#./configure
#make
#make install
#make config
Instalando libpri
#make clean
#make
#make install
Instalando asterisk
Cliente SIP
Base de datos
de ubicaciones
Tema 02
Configurando Teléfonos
SIP
Módulo SIP
SIP.CONF :
/etc/asterisk/sip.conf
[general]
bindport=5060
bindaddr=0.0.0.0
context=Internal
language=es
disallow=all
allow=all
Configurando cuentas SIP
[3001]
type=friend
secret=123456
peer nat=no
host=dynamic
disalow=all
allow=ulaw
allow=gsm
context=Internal
Configurando cuentas SIP
canreinvite = yes
Permite que asterisk pase directamente los paquetes
RTP entre los puntos de comunicación.
dtmfmode = info
Permite detectar los tonos DTMF en la línea de
comunicación.
Instalando el softphone SIP
X-Lite:
- 2 Líneas
- Mute
- Redial
- Videoconferencia
- G.711, GSM
Instalando el softphone SIP
La configuración de
x-lite es simple
basta con llenar el
siguiente
formulario con la
información que se
configuró en
sip.conf
Probando la configuración
[local]
include => salida
Plan de Discado
• Dial(type1/identifier1[&type2/identifier2[&type3/ide
ntifier3... ] ], timeout, options, URL)
Para timbrar varios canales al mismo tiempo se colocan
varias líneas del tipo type/identifier separadas por ´&´.
Aplicaciones
La sintaxis es la siguiente:
Playback(filename,options...)
Plan de Discado
Ejm:
- La línea telefónica que viene de la PSTN podemos
usarla como troncal.
- Una cuenta SIP con un proveedor de telefonía IP.
Protocolo IAX2
Operación de IAX2
IAX es un protocolo para medios y señalización
“peer to peer”, su señalización es parecida a la
de SIP.
Nomenclatura de canales IAX2
Ejm:
IAX/mark:asdf@myserver/6275@default
Nomenclatura de canales IAX2
Canales de entrada:
IAX[[<username>@]<host>]/<callno>
Ejm:
IAX[mark@192.168.0.1]/14
Interconectando 2 Asterisk
[general]
bindport=4569
bindaddr=192.168.0.1
bandwidth=low
jitterbuffer=yes
register => rgonzales:123456@192.168.1.107
Interconectando 2 Asterisk
[toTrujillo]
exten=>9001,1,Dial(iax2/trujillo/${exten})
Probando la configuración
Asterisk actúa como un ____ to Back User Agent SIP, de tal forma
que es posible que detecte el envío de tonos durante la
conversación para realizar acciones.
La configuración de dispositivos ___ la hacemos a través del archivo
/etc/asterisk/sip.conf, mientras que la configuración de las
extensiones se realiza en el archivo /etc/asterisk/extensions.conf.
El protocolo IAX2 puede funcionar en modo trunking y permitir el
transporte de _______ de varias comunicaciones de voz utilizando
una única cabecera.
la interconexión de servidores asterisk se hace de preferencia
utilizando el protocolo IAX2 y se configura en /etc/asterisk/iax2.conf
Unidad 03
Configurando Teléfonos
Analógicos
Introducción
Descuelga el teléfono
para atender la llamada
Detecta el voltaje de timbrado.
Procedimiento de llamada
Descuelga el teléfono
FXS
Detecta la corriente de
descolgado.
Recibe los dígitos DTMF.
Señalización de Abonado
• Loop start.
• Ground Start.
• Kewl Start.
Tema 02
Configurando Tarjetas
Digium TDM
Tarjeta TDM400P
fxoks=1,2
fxsks=3,4
loadzone = fr
defaultzone = fr
Cargando los módulos
#modprobe wctdm
#ztcfg -vv
Zapata.conf
[channels]
usecallerid=yes
hidecallerid=yes
callwaiting=yes
threewaycalling=yes
transfer=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
Zapata.conf
signalling=fxo_ks
language=fr
context=sales
channel => 2
Tema 03
Implementando el plan de
Discado
Nomenclatura de canales ZAP
Ejm:
Zap/1
Zap/g1
Nomenclatura de canales ZAP
Ejm:
Zap/1-1
Zap/3-2
Plan de Discado
[local]
exten => 2001,1,Dial(ZAP/1,20,trT)
exten => 2001,2,Hangup()
exten => 2002,1,Dial(ZAP/2,20,trT)
exten => 2002,2,Hangup()
Aplicaciones
La sintaxis es la siguiente:
Record(filename.format[|silence][|mxduration][|option])
Aplicaciones
La sintaxis es la siguiente:
Background(filename1[&filename2...][|options[|langover
ride][|context]])
Aplicaciones
La sintaxis es la siguiente:
WaitExten(seconds)
WaitExten([seconds][|options])
Aplicaciones
La sintaxis es la siguiente:
Echo()
Resumen
fxoks=1,2
fxsks=3,4
loadzone = fr
defaultzone = fr
Cargando los módulos
#modprobe wctdm
#ztcfg -vv
Ejemplo de Zapata.conf
[channels]
usecallerid=yes
hidecallerid=yes
callwaiting=yes
threewaycalling=yes
transfer=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
Zapata.conf
CANAL 00 1
1 -- 15
15 16
16 17
17 --- 30
30 31
31
-- -
30 canales B
PRI B
D 1 canal D
Zaptel.conf
#modprobe wctlxxp
#ztcfg -vv
Zapata.conf
group=3
switchtype=euroisdn
signalling=pri_cpe
channel=>1-15;17-31
Probando la configuración
[entrante]
exten => s,1,Answer
exten => s,2,Dial(SIP/5001,20,trT)
exten => s,3,Hangup
Plan de Discado
[salidas]
exten => _9xxxxxxx,1,Dial(ZAP/3/${EXTEN:1}),20,trT)
exten => _9xxxxxxx,2,Hangup
Plan de Discado
[salidas]
exten => _9xxxxxxx,1,Dial(ZAP/g2/${EXTEN:1}),20,trT)
exten => _9xxxxxxx,2,Hangup
Resumen
- Variables globales
- Variables de canal
- Variables de entorno
[globals]
• Ejm:
[globals]
OPERADORA=sip/2001
SALIDAS=zap/g3
IVRMSG=mensaje-ivr1
Variables de Entorno
• Ejm:
${ENV(ASTERISK_PROMPT)} – indica el prompt
actual en al CLI de asterisk.
${ENV(RECORDED_FILE)} – el nombre del archivo
grabado por última vez con el comando record.
Variables Pre-Definidas
Variables de Canal:
${CDR(accountcode)}: Código de cuenta si está
especificado.
${CALLERID(all)}:El CallerID name / number
utilizado actualmente.
${CALLERID(name)}: El nombre para el callerID
utilizado actualmente.
${CALLERID(num)}: El número para el callerID
utilizado actualmente.
Variables Pre-Definidas
• Sintaxis:
Set(variablename=value[|variable2=value2][|options])
• Sintaxis:
$[expresión]
Expresiones
Operadores Booleanos:
Operadores Matemáticos:
Ejemplo:
$[${valor1}+500] ; suma 500 a la variable valor1.
• Ejm:
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
Aplicación Goto
• Sintaxis:
Goto([[context,]extension,]priority)
Ejemplos:
exten => 1,1,Goto(submenu,s,1)
Salta al contexto “submenu”, extensión “s” y
prioridad “1”.
• Sintaxis:
GotoIf(condition?label1[:label2])
[testing]
exten => 2001,1,GotoIf($["${CALLERID(num)}" = “3001"]?3)
exten => 2001,2,GotoIf($["${CALLERID(num)}" != "3002"]?7:5)
exten => 2001,3,Dial(SIP/4001,15,Trt)
exten => 2001,4,Hangup
exten => 2001,5,Dial(SIP/4002,15,Trt)
exten => 2001,6,Hangup
exten => 2001,7,MusicOnHold(default)
Tema 03
Creación de Macros
Macros
• Sintaxis:
Macro(macroname,arg1,arg2,…)
Ejemplo
[macro-test]
exten => s,1,Dial(${ARG2},20)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-NOANSWER,2,Goto(default,s,1)
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => s-BUSY,2,Goto(default,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)
exten => a,1,VoicemailMain(${ARG1})
Tema 04
Ejecutando Comandos del
Shell de Linux
EL Shell de Linux
• Sintaxis:
System(comando arg1 arg2 )
Ejemplo
Reiniciando asterisk:
exten => 2001,1,Playback(asterisk-restart-msg)
exten => 2001,2,Wait(1)
exten => 2001,3,System(“service asterisk restart”)
exten => 2001,4,Hangup
Resumen de la Unidad