Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Asterisk Deusto
Asterisk Deusto
1
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Que es ?
Asterisk es software. Exclusivamente software. Es software open source, desarrollado principalmente por la empresa americana DIGIUM. Liberado con la licencia G L. !e e"ecuta en # estandar $ar%uitectura x&',x&'('), ppc* ba"o G+U,Linux, -!D o Mac.!/. !oporta todas las funcionalidades de las centralitas tradicionales 0 muc1as m2s 3
2
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Esquema Conceptua
3
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Intro!ucci"n
4
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
4e%uisitos5 Dependen directamente de5 Llamadas concurrentes. #onferencias 0 Aplicaciones comple"as simult2neas. 6ranscodifcaciones necesarias $recodificaci7n*. rincipalmente, Asterisk re%uiere microprocesador. !e89n Di8ium5 E%uipo Dual Intel /eon :.& G1; : Gb 4am soporta '< llamadas concurrentes codificando con el codec G.=>?. Dificil determinar con exactitud, me"or apuntar alto para poder escalar.
5
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
4e%uisitos @ardware # 6ar"etas de telefonAa #afB 4e%uisitos !oftware Distribuci7n G+U,Linux 1ttp5,,voipCinfo.or8
6
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk necesita para su correcta compilaci7n 0 funcionamiento los si8uientes pa%uetes5 openss1Cserver5 para acceso remoto se8uro. 8cc,make5 compilador de len8ua"e # 0 1erramientas libcCdev,libsslCdev,;lib:8Cdev,libncursesCdev,libm0s%lclientC dev
7
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk5 +9cleo $core* del sistema. Asterisk,soun!s# Doces de calidad pre8rabadas. Asterisk,a!!ons# !oftware adicional. -i%pri5 LibrerAa para 8estionar enlaces 4D!I rimarios. .apte # Interfa; del Eernel para acceder a tar"etas de comunicaciones para lineas anal78icas o di8itales. mIS'/ Interfa; del kernel para acceso a tar"etas 4D!I -4I mIS'/user arte de misdn %ue se e"ecuta en userspace
8
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk es un demonio %ue se e"ecuta en se8undo plano. !e invoca con el comando FasteriskF5
sudo asterisk
Una ve; e"ecutado, nos devuelve el control de la s1ell, 1aciendo un Fdetac1F. odemos comprobar %ue se est2 e"ecutando correctamente con un listado de procesos 1abitual5
ps aux | grep asterisk
9
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
En este punto tenemos el pro8rama Asterisk en funcionamiento con la confi8uraci7n de ,etc,asterisk Asterisk soporta un intBrprete de comandos $#LI5 #ommand Line Interface*, del estilo de muc1os routers. ara conectarse basta con e"ecutar el comando5
sudo asterisk -r Asterisk 1.2.9.1, Copyright (C) 1999 - 2005 Digium. ritte! "y #ark $pe!%er &markster'digium.%om( Co!!e%ted to Asterisk 1.2.1 %urre!t)y ru!!i!g o! iro!turio! (pid * 2+5,2)
10
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
El intBrprete de comandos de Asterisk es bastante potente, 0 permite controlar 0 monitori;ar 8ran parte de la situaci7n de la centralita. !oporta el empleo de la tecla G6abuladorH, al estilo de las consolas de U+I/,G+U Linux, por lo %ue para ver un listado de todos los comandos disponibles, basta con presionar varias veces la tecla. ara ver los posibles ar8umentos de un comando o completar un par2metro lar8o o complicado.
11
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Es posible reali;ar una desconexi7n del #LI de Administraci7n con F%uitF. Asterisk continuar2 e"ecut2ndose en se8undo plano. ara matar al propio Asterisk desde el #LI, se puede utili;ar el comando stop, en sus tres variantes5 stop no25 Detiene Asterisk al momento stop 23en con4enient5 Detiene Asterisk cuando no 1a0a car8a. stop (race)u 5# Detiene asterisk cuando no 1a0a car8a 0 de"a de aceptar peticiones de llamadas a a partir de este momento.
12
CURSO ASTERISK
+ivel de IVerboseJ5 Este valor indica la cantidad de mensa"es %ue se recibir2n sobre los eventos 8enerales del sistema. #uanto m2s alto, m2s informaci7n sobre lo %ue sucede en la centralita se recibir2. Este nivel, se puede establecer de varias formas5 Al arrancar el demonio5
sudo asterisk ------
CURSO ASTERISK
+ivel de IDebugJ5 Este valor indica la cantidad de mensa"es %ue se recibir2n sobre los eventos 8enerales del sistema, pero utili;ado normalmente para depurar problemas de drivers o de aplicaciones. Este nivel, se puede establecer de varias formas5 Al arrancar el demonio5
sudo asterisk dddd
CURSO ASTERISK
Asterisk PBX
Conceptos 7enera es so%re Asterisk# Termino o(&a
Cana 5 Es una conexi7n %ue conduce una llamada entrante o saliente en el sistema Asterisk. La conexi7n puede venir o salir 1acia telefonAa tradicional anal78ica o di8ital o Do;I . Asterisk soporta una serie de canales, los m2s importantes5 IA/>, !I 5 rotocolos Do;I Kap5 Lineas anal78icas 0 di8itales. misdn5 4D!I
15
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
#oncepto de canal5
8 ama!a# 9 cana es
4ed 6elef7nica
: canal SIP
: canal R'SI
6elBfono I
.perador 4D!I
16
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Conceptos 7enera es so%re Asterisk# Termino o(&a *II+
'ia p an5 !e trata de la confi8uraci7n de la centralita Asterisk %ue indica el itinerario %ue si8ue una llamada desde %ue entra o sale del sistema 1asta %ue lle8a a su punto final. !e trata en lineas 8enerales del comportamiento l78ico de la centralita.
17
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Conceptos 7enera es so%re Asterisk# Termino o(&a *III+
E1tension5 En telefonAa tradicional, las extensiones se asocian con telBfonos, interfaces o men9s. En Asterisk, una extensi7n es una lista de comandos a e"ecutar. Las extensiones se acceden cuando5 !e recibe una llamada entrante por un canal dado. El usuario %ue 1a llamado marca la extensi7n. !e e"ecuta un salto de extensiones desde el Dialplan de Asterisk.
18
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Conceptos 7enera es so%re Asterisk# Termino o(&a *I6+
Conte1to $#ontext*5 El Dialplan o l78ica de comportamiento de Asterisk se divide en uno o varios contextos. Un contexto es una colecci7n de extensiones. Los contextos existen para poder diferenciar el Flu8arF donde se encuentra una llamada, para5 Aplicar polAticas de se8uridad5 Asterisk no se comporta i8ual cuando llama un usuario 0 marca el : 0 cuando un usuario local marca el mismo :. Men9s 0 submenus diferenciados. En 8eneral, es una forma de diferenciaci7n.
19
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk PBX
Conceptos 7enera es so%re Asterisk# Termino o(&a *6+
Ap icaci"n $Application*5 Asterisk e"ecuta secuencialmente los comandos asociados a cada extensi7n. Esos comandos son realmente aplicaciones %ue controlan el comportamiento de la llamada 0 del sistema en sA. Al8unos e"emplos5 @an8up5 #ol8ar la llamada. Monitor5 #omen;ar la 8rabaci7n a disco de la llamada. Dial5 4eali;a una llamada saliente. Goto5 !alta a otra extensi7n o contexto. la0-ack5 4eproduce un fic1ero de sonido.
20
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk puede confi8urarse desde varios puntos, los m2s importantes son5 are desde el propio #LI Desde los fic1eros de confi8uraci7n $.conf* en ,etc,asterisk La confi8uraci7n se car8a al iniciar Asterisk, por lo %ue para aplicar cual%uier cambio ser2 necesario recar8arla, para ello basta con e"ecutar el comando core reload en el cli5
p"uxu"u!tu012C./(%ore re)oad
21
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Con)i(uraci"n Simp e#
misdn.conf ;apata.conf sip:con) e1tensions:con) iax.conf features.conf voicemail.conf meetme.conf %ueues.conf ...
22
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Los fic1eros a manipular son sip.conf e iax.conf, la instalaci7n crea fic1eros de e"emplo con la sintaxis bastante comentada a modo de 8uAa.
SIP:CO/<
CURSO ASTERISK
En primer lu8ar existe la secci7n L8eneralM, donde se definen variables 8lobales 0 aspectos por defecto para todos los canales !I . La s0ntaxis es la si8uiente5
24
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Las variables 8enerales m2s importantes son5 a o2 5 !isa o25 indican los codecs permitidos , no permitidos. !tm)mo!e5 permite especificar el mBtodo por el cual se enviaran los tonos $di8itos pulsados durante la conversaci7n*, valores posibles5 nat5 Informa a Asterisk del tipo de +A6 en el %ue se encuentra. e1ternip5 Direcci7n 9blica tras el +A6. conte1t5 #ontexto por defecto donde entraran las llamadas entrantes por !I . 25 port5 uerto en el %ue escuc1ar $N<'< *.
CURSO ASTERISK
En sip.conf se definen tanto los clientes %ue se conectar2n a Asterisk, como los proveedores %ue se utili;aran para encaminar llamadas. #onceptualmente, se distin8uen user5 Envia llamadas a Asterisk peer5 4ecibe llamadas de Asterisk $proveedor*. friend5 4ecibe 0 EnvAa llamadas $usuario*. La s0ntaxis para definir un friend o un peer es5
3!om"re4 type * 5rie!d 6 peer -aria")e * -a)or -iara")e2 * -a)or ....
26
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Las variables m2s importantes %ue deben ser confi8uradas inicialmente son5 t0pe5 peer , friend context5 #ontexto donde entraran las llamadas 8eneradas. nat5 Indica si el usuario o peer se encuentran tras un nat. 1ost5 I remota o d0namic. username5 nombre de usuario. secret5 contraseOa de acceso. allow 0 disallow5 #onfi8uraciones de codecs especAficas para cada friend,peer. %ualif05 Eval9a el estado del extremo !I para conocer su 27 accesibilidad 0 latencia. Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
28
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Damos a confi8urar un proveedor en sip.conf5 3sare!et4 type*peer host * 10.11.119.200 disa))o8 * a)) a))o8 * g,29 a))o8 * gsm 5romuser* 100 se%ret*ghost
29
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Mediante el comando core reload en el #LI de Asterisk, le indicamos %ue recar8ue la confi8uraci7n. Aun%ue es posible recar8ar de forma independiente5 #LIH sip reload Una ve; recar8ada, podemos comprobar los IfriendsJ %ue 1emos definido con el comando5 sip s1ow users ara ver los IpeersJ definidos5 sip s1ow peers
30
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
@asta el momento conocemos como confi8urar usuarios del sistema Asterisk 0 proveedores externos. ero5 P Que sucede cuando un usuario marca un determinado n9mero R P #omo podemos llamar utili;ando al8uno de los proveedores confi8urados R La respuesta a esta 0 muc1as m2s pre8unas es5 el Dialplan. Es el cora;7n del comportamiento de Asterisk, en Bl se confi8ura toda la l78ica.
31
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
En len8ua"e natural, un e"emplo mu0 sencillo podrAa ser el si8uiente5 #uando un usuario marca un n9mero5
!i el n9mero empie;a por <, llamar al destino utili;ando un proveedor externo. !i el n9mero tiene S cifras 0 empie;a por :, llamar a un determinado usuario de la centralita. !i cuando llamamos a ese usuario, no co8e en '< se8undos, reproducir un mensa"e de alerta.
32
CURSO ASTERISK
33
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
#ontexto Idesde oficinaJ Extensi7n :<<, rioridad :, Aplicaci7n5 4eproducir #anci7n Extensi7n :<<, rioridad >, Aplicaci7n5 Llamar a Ton Extensi7n :<<, rioridad S, Aplicaci7n5 #ol8ar
34
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
35
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
La prioridad InJ, es e%uivalente a sumar uno a la prioridad anterior. Esto permite editar 0 modificar r2pidamente el Dial lan. La sintaxis en extensions.conf e%uivalente serAa5
3desde-o5i%i!a4 exte! *( 100,1,:)ay;a%k(the"eat)es) exte! *( 100,!,Dia)($/:67o!)
36
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
ara obtener un listado de las aplicaciones disponibles, desde el #LI se puede e"ecutar5 core s1ow applications ara obtener una descripci7n de una determinada aplicaci7n5 core s1ow application nombre
37
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
VaitExten $n* Espera n se8undos, pero 8estionando los dA8itos marcados. VaitMusic.n@old$n* 4eproduce m9sica en espera durante n se8undos.
38
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
-us0$* EnvAa la seOal de ocupado al ori8en. @an8up$* #uel8a la llamada. 4in8in8$* EnvAa la seOal de tono de llamada. Dial $ tipo,identificador,timeout,opciones,url * Aplicaci7n para llamar $ver m2s adelante*.
39
CURSO ASTERISK
GotoIf6ime$GtimesHWGweekda0sHWGmda0sHW Gmont1sHRLLcontextWMextenWMpriorit0*
40
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
-ack8round $fic1ero* 4eproduce el fic1ero, pero continua la e"ecuci7n inmediatamente. !a0Di8its $ dA8itos* 4eproduce los dA8itos.
41
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
La aplicaci7n Dial reali;a una llamada a un determinado destino, si el destino acepta la llamada, Asterisk FuneF el ori8en primario de la llamada con este nuevo interlocutor. +o importa la tecnolo8Aa o protocolos utili;ados5 Un canal entrante por 4D!I puede finali;ar en una llamada por I , un usuario !I puede llamar a otro usuario IA/.
8: Llamada a extensi7n ><S 9: Llamada a destino
6elBfono I
?: Llamada establecida
42
CURSO ASTERISK
!iendo5 6ecnolo8Aa5 !I ,IA/>, KA , MI!D+, ... Identificador5 Es el destino $n9mero o nombre* %ue se llamar2 por el canal. La sintaxis depende del canal. 6imeout5 6iempo m2ximo de espera. .pciones U4L5 EnvAa una U4L al destino, si lo soporta.
43
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Al8unas de las posibles opciones5 t5 permite %ue la llamada sea transferida por el destino. 65 permite %ue la llamada sea transferida por el ori8en. m5 reproduce m9sica en espera mientras el destino acepta la llamada.
44
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
usuario o extensi7n destino 5 llamada directa usuario o extensi7n destino X peer E"emplos5 Dial$!I ,><>* , Dial$!I ,><:W:<<Wt*, Dial $!I ,?))):'<>)Xproveedor*
CURSO ASTERISK
En el caso de llamadas internas o funcionamiento simple, las extensiones son conocidas. P ero %ue pasa cuando un usuario llama a un n9mero %ue no se preCconoce R !oluci7n5 Utili;ar patrones en las extensiones.
46
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
ara indicar patrones, se utili;a el car2cter5 I(J !e pueden utili;ar5 /5 Indica un dA8ito del < al ? K5 Indica un dA8ito del : al ? +5 Indica un dA8ito del > al ? L:>?M Indica el :, > o ? . Indica uno o m2s caracteres $YAtenci7n3 #oincide con las extensiones especiales5 1,i,t .., recomendable5 (/.* E"emplos5 Zi"os +acionales5 exte!*( E9AAAAAAAA Internacionales5 exte!*( E00.
47
CURSO ASTERISK
En el Dialplan de Asterisk existen variables, %ue pueden ser modificadas por el propio Asterisk en su e"ecuci7n l78ica o por comandos expresos del Dialplan. Las aplicaciones pueden cambiar variables. Los tipos de variables son5 Globales5 Declaradas en extensions.conf $o por comando*. #anal5 !on propias a cada canal. Entorno5 Dariables de entorno $U+I/ Like*. La sintaxis de una variable es5
FG-aria")eH
48
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asi8naci7n de variables5 !etDar$Dariable[valor* !etGlobalDar$Dariable[valor* Mane"o de cadenas5 !ubcadenas5 \]Dariable 5 offset 5 lon8itud ^
Devuelve la subcadena de variable %ue comien;a en offset 0 con la lon8itud especificada. E"emplo5 \] :>S)N'=&?5>5S^ devuelve S)N \]LE+$Dariable*^ \]Dariable:^\]Dariable>^
49
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
Lon8itud5 #oncatenaci7n5
CURSO ASTERISK
Listado de variables m2s importantes5 \]#ALLE4ID^5 #aller ID actual, nombre 0 n9mero. \]#.+6E/6^5 #ontexto actual. \]E/6E+^5 Extensi7n actual. \]#@A++EL^5 #anal actual. \]DIAL!6A6U!^5 Estado de la llamada5 unavailable, con8estion, bus0, noanswer, answer, cancel, 1an8up. \]DA6E6IME^5 @ora actual. Un comando 9til para ver el contenido es +o.p5 +o.p $ \]DA4IA-LE^ *
50
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
.peradores L78icos5 W$or* , _$A+D* .peradores de #omparaci7n5 [, 3[, G, H, G[, H[ .peradores AritmBticos5 `, C, a, ,, b L...M , E"emplos5
51
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
E=emp o I
LusuariosM exten [H S<<,:,+o.p$Llamada a la secretaria* exten [H S<<,n,Dial$!I ,S<<,:<,t* exten [H (S//,:,Dial$!I ,\]E/6E+^,:<* LsuperusuariosM include [H usuarios exten [H (?////////,:,Dial$Kap,:,\]E/6E+^,><,m* exten [H ('//.,:,Dial$misdn,85:,\]E/6E+^*
52
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo
Aote E(3ost *I+ C 4ecepci7n C #ocina C 4eservas Extensi7n N<< permite 1ablar con recepci7n Extensi7n N<: permite 1ablar con cocina Extensi7n N<> permite 1ablar con reservas s7lo los laborables de ? a :) 0 de :' a ><. En caso contrario reproduce un mensa"e de disculpa 0 cuel8a.
53
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo I
!I .#.+Z LrecepcionM cme"or LN<<M t0pe[friend 1ost[d0namic disallow[all allow[alaw secret[ironsecret context[serviciosC1otel callerid[4ecepcion %ualif0[0es canreinvite[0es
54
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo I
E/6E+!I.+!.#.+Z LserviciosC1otelM exten [H N<<,:,Dial$!I ,recepcion,><,t* exten [H N<:,:,Dial$!I ,N<:,><,tm* exten [H N<>,:,GotoIf6ime$?5<<C:)5<<WmonCfriWaWaRon,:* exten [H N<>,n,GotoIf6ime$:'C><5<<WmonCfriWaWaRon,:* exten [H N<>,n, la0back$locuciones,cerradoCseCsiente* exten [H on,:,+o.p$Llamada de \]#ALLE4ID^ a 4eservas* exten [H on,n,Dial$!I ,reservas,,m*
55
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo II
Aote E(3ost II Al 1otel le ponen por fin las lAneas rdsi 0 se le asi8nan dos identificadores $DID*5 ?) ))) :>S) _ ?) ))) :>SN. !e %uiere reservar el primer DID para recepci7n 0 el se8undo DID se usar2 para el fax. +ota5 El rdsi tambiBn pertenece a un contexto %ue se supone confi8urado en misdn.conf
56
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK LrdsiCentrantesM exten [H ?)))):>S),:,+o. $Llamada entrante por la rdsi* exten [H ?)))):>S),n,Dial$!I ,N<<,><,t* exten [H ?)))):>S),n,Doicemail$:<<<* exten [H ?)))):>SN,:,+o.p$Zax entrante* exten [H ?)))):>SN,n,Dial$IA/>,&<<* LserviciosC1otelM ...
57
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo III
@otel E81ost III Queremos %ue los %ue llaman desde fuera puedan acceder tanto a recepci7n como a reservas. #omo s7lo disponemos de un DID, 1a0 %ue 1acer un ID4 para %ue el llamante pueda ele8ir con %uiBn contactar5 +ota5 Aplicaci7n VaitExten$n*
58
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Ariketo III
LrdsiCentrantesM exten [H ?)))):>S),:,+o. $Llamada entrante por la rdsi* exten [H ?)))):>S),n,-ack8round$locuciones,bienvenido* exten [H ?)))):>S),n,VaitExten$)* exten [H :,:,Dial$!I ,N<<,><,t* exten [H :,n,Doicemail$:<<<* exten [H >,:,GotoIf6ime$?5<<C:)5<<WmonCfriWaWaRserviciosC 1otel,on,:* exten [H >,n,GotoIf6ime$:'C><5<<WmonCfriWaWaRserviciosC 1otel,on,:* exten [H >,n,Doicemail $:<<:* exten [H t,:,Goto$:,:* exten [H i,:,Goto$:,:*
59
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
ara poder interCoperar con la telefonAa tradicional, Asterisk necesita 1ardware especAfico. El principal sponsor 0 desarrollador de Asterisk5 DIGIUM es el principal fabricante de 1ardware.
60
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
ara operar con lineas anal78icas, se necesitan tar"etas con interfaces Z/. E"emplo5 Di8ium 6DM<:ara operar con telBfonos anal78icos o centralitas cl2sicas, se re%uieren interfaces Z/! E"emplo5 Di8ium 6DM:<En ambos casos, el driver a utili;ar es ;aptel, la confi8uraci7n se almacena en ,etc,;aptel.conf
61
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
En lineas di8itales $4D!I*, en Europa existen dos tipos5 -4I 5 Acceso b2sico, proporciona > canales de vo;. 4I5 Acceso primario, proporciona S< canales de Do; $E:*. Asterisk soporta perfectamente ambos tipos de lineas di8itales, con 1ardware especAfico5 ara primarios, Di8ium proporciona tar"etas de 1asta ) puertos, siendo ;aptel el driver a utili;ar. ara primarios, Di8ium proporciona tar"etas de 1asta ) puertos, siendo mI!D+ el driver a utili;ar.
62
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
ara operar con las tar"etas con interfaces Z/! , Z/., Asterisk utili;a el subsistema Kaptel5 Kapata 6elep1on0 Es necesario descar8ar e instalar el pa%uete, est2 disponible en e) 5tp de Digium Una ve; instalado el sistema ;aptel, es necesario confi8urarlo en ,etc,;aptel.conf Definir ;onas $para frecuencias de tonos* Definir interfaces en los canales5 Z/! , Z/. !e puede verificar la confi8uraci7n correcta con el comando instalado5 It%5g -63
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk utili;a los m7dulos provistos por ;aptel para acceder al 1ardware. Este enlace se confi8ura en5 ,etc,asterisk,;apata.conf Aspectos importantes a confi8urar5 #ontext5 contexto donde iran las llamadas 8eneradas por cada canal. ec1o cancel5 cancelaci7n de ec1o $problema importante en telefonAa*. ara utili;ar correctamente las lineas espaOolas son necesarios los si8uientes par2metros $0a no es necesario parc1ear asterisk*5
a!s8ero!po)aritys8it%h*yes ha!gupo!po)aritys8it%h*yes
64
CURSO ASTERISK
6oda la secuencia 0 pro8ramaci7n del dialplan es el verdadero n9cleo del sistema centralita, si bien, las si8uientes funcionalidades se confi8uran en features.conf5 6ransferencias de llamadas5 transferencia de llamadas entre diversos usuarios, independientemente de la tecnolo8Aa %ue usen. #all arkin85 arkin8 de llamadas. #all ickup5 AutoCtransferencia de un telBfono %ue estB sonando.
65
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
atxfer [H secuencia ermite reali;ar una transferencia de llamada atendida. El ori8en es puesto en espera, mientras el destino se comunica con el nuevo destino para anunciarle la lllamada. !i el nuevo destino cuel8a, la llamada no se transfiere. pickupexten [H secuencia 66 Especifica como co8er una llamada del Gorka Gorrotxategi Iaki Baz - Jon Bonilla call8roup.
CURSO ASTERISK
ara poder reali;ar transferencias vAa -/, Asterisk debe estar a la escuc1a de los tonos confi8urados, para ello5 La aplicaci7n Dial debe 1aber recibido como par2metro FtF para permitir transferencia en destino o F6F para 1acerlo en ori8en $o ambas*. En el caso de !I , los D6MZ pueden ser enviados de varias formas $4Z#>&SS,out of band, !I Info,inband*, Asterisk debe saber como los enviar2 el cliente !I . E"emplo de llamada Dial5
exte! *( 100, 1, BoCp())ama!do a :eio) exte! *( 100, !, Dia) ( $/:6peio|10|t) 67
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
CURSO ASTERISK
El callparkin8 es una funcionalidad %ue permite transferir la llamada a un Fparkin8F virtual. udiendo col8ar sin %ue la llamada ori8en sea desconectada de Asterisk, 0a %ue se encontrar2 apacarcada, ara operar, el usuario transfiere la llamada a una extensi7n especial $parkext en features.conf*, Asterisk aparca la llamada 0 anuncia la posici7n en el parkin8. #ual%uier usuario %ue ten8a incluido en su contexto el contexto especial FparkedcallsF puede recuperar la llamada aparcada llamando directamente a su posici7n en el parkin8.
69
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
70
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
C+ # 0 - est2n en conversaci7n.
71
CURSO ASTERISK
F#allpickupF es el 1ec1o de poder descol8ar 0 responder a la llamada entrante a un telBfono o 8rupo de telBfonos determinado desde un tercer telBfono %ue no est2 sonando. La confi8uraci7n de los c7di8os D6MZ para F#allpickupF se confi8ura en features.conf !e definen dos conceptos5 call8roup5 6oda llamada %ue entra a una extensi7n determinada pertenece al,los call8roups de la extensi7n. pickup8roup5 Es el,los call8roups de llamadas entrantes %ue el usuario puede 1acer FpickupF. En cada usuario de la centralita se define esos dos 72 par2metros.
CURSO ASTERISK
Una llamada entrante puede ser enviada a una cola de llamadas, %ue ser2 8estionada por determinados usuarios. !e utili;an muc1o en entornos tipo FcallcenterF, con los canales tipo de A8entes $%ue 1acen Flo8in en el sistemaF*. Las colas pueden comportarse de forma distinta5 !uena todos los telBfonos 1asta %ue al8uno descuel8ue. Los telBfonos van sonando en orden ... Existen colas con prioridad. Las colas de llamadas se confi8uran en %ueues.conf5
73
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
I6R5 Interactive Doice 4esponse El modo de funcionamiento es bastante sencillo5 Al 1acer una llamada a la aplicaci7n VaitExten, Asterisk se %ueda a la espera de %ue el usuario mar%ue una extensi7n. En caso de timeout $el usuario no marca nada en el tiempo especificado*, Asterisk salta a la extensi7n FtF si existe. En caso contrario, Asterisk busca la extensi7n 0 la e"ecuta, sino existe, salta a la extensi7n FiF si existe. !e utili;a casi siempre en combinaci7n con la aplicaci7n -ackGround $!e comien;a a reproducir el fic1ero 0 se8uido se entra en espera, para %ue el usuario pueda introducir 74 extensiones sin tener %ue esperar*..
CURSO ASTERISK
- ama!a
Ap icaci"n VaitExten
+o
Existe extensi7n R
+o
!A Ap icaci"n
Llamar extensi7n
75
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
E"emplo de men95
3me!u-i-r4 exte! *( s, 1, A!s8er() exte! *( s, !, ;a%kJrou!d(i!tro-me!u) exte! *( s, !, ait@xte!(10) exte! *( 1, 1,Joto(e!tra!tes-dpto%omer%ia),s,1) exte! *( 2, 1,Joto(e!tra!tes-dpto%omer%ia),s,1) exte! *( i, 1,:)ay;a%k(op%io!-i!-a)ida) exte! *( i, !,Joto(me!u-i-r,s,1) exte! *( t, 1, Joto(e!tra!tes-ge!era)es) 76
CURSO ASTERISK
Asterisk permite llevar un control ex1austivo de todas las llamadas %ue se 1an reali;ado o recibido. Es interesante para control propio de facturaci7n, independiente del proveedor $si no lo somos*. ermite reali;ar estadAsticas. Este control se denomina5 #D4, #all Detail 4ecord
77
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
El re8istro del #D4 se escribe por defecto en el fic1ero ,var,lo8,asterisk,cdrCcsv,Master.csv Existen extensiones al cdr5 cdr(m0s%l por e"emplo, %ue permiten almacenar los re8istros en una base de datos. cdr(m0s%l est2 disponible en asteriskCaddons El #D4 se confi8ura en el fic1ero cdr.conf, para el m7dulo de M0!QL, se utili;a cdr(m0s%l.conf ara confirmar el estado del #D4 desde el #LI, se puede e"ecutar5
C./( %dr status
78
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk provee el protocolo AMI5 Asterisk Mana8er 6# ,I A I Utili;ando este protocolo, Asterisk permite5 #rear llamadas Monitori;ar llamadas Monitori;ar canales 0 colas E"ecutar comandos !e trata de un demonio m2s de Asterisk, %ue escuc1a en el puerto tcp N<S& !e confi8ura en mana8er.conf
79
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Una de las me"ores aplicaciones opensource para controlar 0 visuali;ar el estado en tiempo real de la centralita Asterisk es5 Zlas1 .perator anel $Z. *. Z. 1a sido desarrollado en erl 0 MI+G, 0 se compone de dos partes5 !ervidor de datos Zlas1 Applet
80
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Asterisk puede ser implantado como un centralita anal78ica, di8ital e I sin problemas. !in embar8o, en muc1os entornos las centralitas o sistemas telef7nicos acaban de ser renovados 0 plantear un cambio dr2stico no es viable. !e ofrecen varias posibilidades, entre ellas5 Inte8raci7n como pasarela a I Inte8raci7n como servicios adicionales
81
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
4ed telef7nica
DoI
Internet
82
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
4ed telef7nica
6elBfonos anal78icos
#entralita actual
DoI
Internet
83
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
La posibilidad de ser implantado en Fcabe;aF de la centralita actual, permite5 Ampliar el n9mero de extensiones actuales $0a sean I o tradicionales*, col8ando las nuevas extensiones del nuevo Asterisk. #rear un sistema de bu;7n de vo; avan;ado #rear un men9 ID4 $re%uiere la confi8uraci7n los DID! en la central actual*.
84
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Uno de los servicios en los proveedores de Do;I son los n9meros ?<x 0 8eo8r2ficos por I , tanto nacionales como internacionales. La venta"a de basarse en telefonAa I es la facilidad de crecer en extensiones. El proveedor nos asi8na un n9mero de la numeraci7n tradicional 0 nos encamina las llamadas por !I ,IA/>... Esta nueva posibilidad supone 8ran movilidad 0 a1orro de costes5 no es necesario tener m2s lineas, 9nicamente tener anc1o de banda 0 una latencia aceptable. !in embar8o5 Dependencia de Internet.
85
CURSO ASTERISK
El pro8rama debe cumplir5 !er e"ecutable $mediante un intBrprete es v2lido*. Locali;ado por dfecto en ,var,lib,asterisk,a8iCbin Asociado con al8una extensi7n en el Dial lan5
exten => 200,1,AGI(mi_programa.php|argumentos)
#omunicaci7n con Asterisk5 El pro8rama escribe en la salida est2ndar para enviar un comando a Asterisk. El pro8rama lee de entrada est2ndar para obtener una respuesta de Asterisk.
86
CURSO ASTERISK
87
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
Re)erencias
Bi% io(ra)&a
Asterisk, The Future of Telephony. Tim Dan Me88elen, Tared !mit1 _ Leif Madsen d .F 4eill0
Sitios De%
Voip-info: 1ttp5,,www.voipCinfo.or8
Lista de correo
Asterisk-es
88
Gorka Gorrotxategi Iaki Baz - Jon Bonilla
CURSO ASTERISK
-icencia
89
Gorka Gorrotxategi Iaki Baz - Jon Bonilla