TODO: Tipo de Propuesta: Taller - 4 Horas Track: Aplicaciones Resumen: Es imortante !ue las comunicaciones sean a"iertas. #or lo tanto es imortante aoyar el soft$are li"re. Mas a%n el soft$are li"re !ue se encarga de &acer osi"le la comunicacin. Asterisk se &a osicionado en ocos a'os como algo mas !ue un #()* es un servidor de comunicaciones increi"lemente fle+i"le. ,urante este taller mostraremos como configurar Asterisk ara oner en marc&a tu roio #(). E+licaremos las diferencias y el ael !ue -uegan los distintos rotocolos !ue ueden ser utili.ados ara /oI#. ,urante esta sesin tcnica se tocar0n los siguientes untos1 2 Instalacin de Asterisk en 34567inu+ 8referentemente 3entoo 7inu+9 2 Configuracin de e+tensiones SI#: IA) 8si &ay recursos: ;a: 5nicall9 2 Configuracin de los atrones de marcado. 2 Configuracin de transferencia asistida y otros servicios 8features.conf9 2 5so de los mane-adores C,<. 2 5so aroiado de los C=,ECs 2 E-emlo de uso de diversas alicaciones 8/oicemail: MeetMe etc9 2 Cone+iones IA)>: tios de autori.acin 8<SA: lain: md?9 1. Instalacin de Asterisk ( otros pa!uetes necesarios" (1 #ora" Asterisk es un #() 8#rivate (ranc& E+c&ange9 "asado comletamente en soft$are. @uncionalidad !ue durante muc&o tiemo se &acia utili.ando circuitos electrnicos de conmutacin &a eme.ado a desarrollarse en soft$are: volviendo los e!uios mas fle+i"les: configura"les y "aratos. 7a instalacin de Asterisk en 34567inu+ no difiere muc&o de la instalacin de cual!uier otro servicio. Antes de instalarlo veremos como esta constituida la ar!uitectura general de Asterisk. En el siguiente diagrama &e lasmado los concetos !ue considero mas imortantes y !ue tocaremos a lo largo de este taller. Si nuestro deseo fuera unicamente instalar Asterisk ara servicios uramente /oI#. 7a arte del diagrama !ue involucra c&anA.a: c&anAunicall y los drivers de .atel desaarecerBan. Sin em"argo normalmente es necesario conectarnos a redes tradicionales como la red telefnica %"lica conmutada: <C#C o #SC4 or sus siglas en ingls. #or esta ra.n necesitamos algunas deendencias mas. 7os siguientes a!uetes son necesarios ara nuestra instalacin. s!lite >.+ 8 utili.aremos el sencillo mane-ador de C,< ara SD7ite9 .atelEF.>.? 8drivers ara el funcionamiento de tar-etas telefnicas #CI 9 asteriskEF.>.G.F kia+: k&one 8o cual!uier otro ar de soft&ones SI# e IA)9 En gentoo "asta utili.ar los Huse flagsH aroiados y e-ecutar el comando Hemerge asteriskH. #ara ver las "anderas disoni"les y cuales se encuentran &a"ilitadas e-ecuta Hemerge asterisk EvH: cual!uier "andera e+tra !ue desees agregar o eliminar uedes &acerlo editando el arc&ivo H6etc6ortage6ackage.useH. ,eendiendo de las "anderas gentoo decidira las deendencias adecuadas ara Asterisk y los soft&ones. #ara instalarlo a mano: descomrime los arc&ivos .tar.g. con el comando tar E+v.f <nom"re del arc&ivo> #ara el caso de .atel el siguiente comando lo instalar01 make linu+>I make install Asterisk necesita1 make install 7a comilacin uede tomar minutos mas: minutos menos deendiendo de la velocidad de tu rocesador: o de si comartes la comilacin utili.ando servicios como distcc. Mientras se comila: asemos a revisar los arc&ivos de configuracin y directorios mas imortantes !ue se instalar0n. $etc$asterisk En este directorio se encuentran todos los arc&ivos necesarios ara configurar la gran cantidad de servicios !ue Asterisk rovee. ComarBa muc&o tiemo revisar todos estos servicios: or lo !ue nos concentraremos en los mas imortantes. asterisk.conf > configuraciones generales de la u"icacin de directorios de configuraciones: mdulos comilados: voicemails etc. En general es "uena idea no modificar estas configuraciones: salvo casos eseciales. cdr.conf > Configuraciones referentes al HCall ,etail <ecordH. 7os C,< son sumamente imortantes ara las coma'ias telefnicas. Modificar datos en este arc&ivo uede reercutir en la integridad de los C,< si no est0s seguro de lo !ue &aces. Si tu instalacin es unicamente de rue"a: o los C,< no son materia imortante: no &ay ro"lema. codecs.conf > A menos !ue utilices S#EE): o !uieras &acer cosas eseciales con la forma en la !ue los codecs se comortan: es me-or no modificar este arc&ivo. e+tconfig.conf > Arc&ivo ara maear arc&ivos de configuracin &acia ta"las en alguna "ase de datos: de forma !ue no es necesario guardar las configuraciones en arc&ivos. Mas adelante &a"laremos un oco mas acerca de esto. e+tensions.conf > Cal ve. el arc&ivo mas imortante de Asterisk. En este arc&ivo se toman las decisiones de ruteo de las llamadas. Mas adelante veremos la sinta+is de este arc&ivo y &a"laremos so"re e+tensions.ael features.conf > Este arc&ivo es tam"in muy imortante. #ermite &a"ilitar y configurar servicios genricos de un #() como la transferencia asistida y monitoreo de llamadas. ia+.conf > Imortante arc&ivo ara el funcionamiento del canal c&anAia+ !ue le ermite a Asterisk interactuar con otros disositivos IA): incluyendo otros #() Asterisk. indications.conf > Configuraciones ara los gruos de fre!uencias a utili.ar ara la indicacion del roceso de las llamadas. 7os defaults suelen ser suficiente. logger.conf > Due nivel de ver"osidad de"en tener los mensa-es de log y a donde de"en ser enviados. manager.conf > Configuracin del imortante servicio AMI 8Asterisk Manager Interface9 !ue ermite conectarnos a un socket CC# y mane-ar el #(). ,e cierta forma se encuentra relacionado con el arc&ivo &tt.conf: !ue rovee de una interface ara rogramar alicaciones con AJA) !ue se comuni!uen directamente con AMI. modules.conf > Arc&ivo sumamente imortante. ,etermina !ue mdulos ser0n cargados or Asterisk al iniciar. Es frecuente !ue cuando se instala asterisk or rimera ve.: no arran!ue de"ido a !ue no uede cargar un mdulo ara el !ue no tenemos soorte. Esto se soluciona comentando la lBnea del mdulo en este arc&ivo. si.conf > An0logo del arc&ivo ia+.conf ara el rotocolo SI# .aata.conf > Configuracin de los canales ;a. 7as configuraciones de este arc&ivo de"en coincidir con el &ard$are instalado y la configuracin del driver .atel. E+iste un arc&ivo muy similar a este llamado unicall.conf: no incluido directamente con Asterisk. $%ar$lo&$asterisk Cuando &ay ro"lemas: este es el lugar en donde de"emos "uscar. En esta careta se encuentran los arc&ivos de registro de las oeraciones de Asterisk. /eamos !ue arc&ivos odemos encontrar. cdr:d" > Este arc&ivo se encuentra disoni"le si se cuenta con el C,< &andler ara la "ase de datos SD7ite. El arc&ivo contiene la "ase de datos de los registros de las llamadas. eventAlog > <egistro de eventos sucedidos en el #(). full > Creado con la intencion de contener todos los mensa-es de de"ug del sistema. messages > Contiene un listado de los mensa-es de $arning: de"ug y demas niveles de logeo. !ueueAlog > Arc&ivo utili.ado rincialmente or la alicacion aA!ueue. $%ar$li'$asterisk ,irectorio con arc&ivos de audio: llaves <SA: scrits A3I 8Asterisk 3ate$ay Interface9: "ase de datos astd" y arc&ivos ara el e!ue'o servidor KCC# ara AJAM 8Async&ronus Javascrit Asterisk Manager9. A!ui veremos una descricin de cada uno de los directorios: ya !ue los arc&ivos ueden ser irrelevantes. agiE"in6 > A!ui se contienen rogramas en C: #K#: #yt&on o cual!uier otro lengua-e con el !ue se retenda interactuar desde Asterisk. Al final de este taller revisaremos con mas detalle A3I. keys6 > ,irectorio !ue contiene llaves <SA ara la autenticacin de llamadas con el rotocolo IA)> sounds6 > ,irectorio con todos los sonidos !ue ser0n utili.ados or alicaciones como #lay"ack89 y (ackground89 mo&mL > Arc&ivos M#L ara Music=nKold (ien: a&ora !ue la comilacin &a terminado: y &emos terminado de revisar los arc&ivos !ue fueron instalados: odemos roceder a iniciar Asterisk. /arias distri"uciones de 34567inu+ incluyen su roia forma de iniciar servicios. #ara gentoo1 6etc6init.d6asterisk start Kaciendolo a ata no es tan difBcil. Iniciaremos el servicio como HrootH 8no intenten esto en casaM9. asterisk Evvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvc Si se e!uivocan en la cantidad de HvH vale !ueso y rovocamos Hkernel anicH: asi !ue cuentenle "ien todas las v: 1 : ya &a"lando en serio: solo estamos usando dos ociones ara iniciarlo. 7a HvH indica F incremento en la ver"osidad 8!ue tantos mensa-es de notificaciones se o"servan en la consola9: asi !ue mientras mas letras HvH m0s mensa-es tenemos. 7a letra HcH nos roorciona una consola donde odemos ver mensa-es de lo !ue sucede en el #() y odemos e-ecutar comandos de Asterisk. 7a linea de comandos en Asterisk es muy similar a "as&: asi !ue es sencilla de usar. Si resionamos <CA(>: veremos los comandos disoni"les: y desde luego tam"in odemos comletarlos. A&ora estrenemos nuestra linea de comandos e-ecutando1 2C7I> si s&o$ eers Este comando nos muestra los HeersH disoni"les en el sistema. 4o revisaremos con detalle lo !ue significa un HeerH. ,e momento digamos !ue nos muestra las e+tensiones dadas de alta en el sistema !ue &a"lan el rotocolo SI#. E+iste un comando an0logo ara IA)>. Con esto ya tenemos un #() instalado en nuestra comutadoraM. En la siguiente seccin veremos como &acer algo %til con l 1, (. Patrones de marcado con)i&uracin de e*tensiones +IP$IA, (1 #ora" #ara los imacientes iremos directo a la accin y luego las e+licaciones. A"re el arc&ivo 6etc6asterisk6e+tensions.conf con tu editor favorito 8sugiero /IM amliamente9 y escri"e1 N&elloE$orldO e+ten P> A)):F:Ans$er89 e+ten P> A)):>:#lay"ack8&elloE$orld9 e+ten P> A)):L:Kangu89 3uarda el arc&ivo: a"re si.conf y escri"e1 NgeneralO NgeneralO "indortP?QIQ "indaddr P Q.Q.Q.Q localnet P FR>.FIS.F.Q6>T * a!ui va la direccion de la red en la !ue te encuentras allo$Pall defaultconte+tPunaut&ori.ed NLLO tyePfriend secretPverysecure &ostPdynamic natPno dtmfmodePinfo !ualifyPyes conte+tP&elloE$orld @i-ate !ue el ar0metro Hconte+tH del registro NLLO de"e coincidir con el conte+to !ue agregamos en e+tensions.conf. A&ora: como Asterisk guarda sus arc&ivos de configuracin en memoria al iniciar: los cam"ios !ue &emos &ec&o no &an sido detectados. #ara ello nos dirigimos a la consola y escri"imos1 2C7I > si s&o$ eers U de"e mostrarnos algo como esto1 4ame6username Kost ,yn 4at AC7 #ort Status LL 85nsecified9 , Q 54V4=W4 Esto nos indica !ue Asterisk &a detectado el nuevo registro de e+tensin. A&ora a"re tu cliente SI# 8k&one or e-emlo.9: en k&one de"es dirigirte a H@ile > Identity...H 5n formulario te solicitar0 varios camos. #roorciona los siguientes1 @ull 4ame1 <tu nom"re> 5ser #art of SI# 5<71 LL Kost #art of SI# 5<71 <la I# o nom"re de dominio de la ma!uina !ue corre Asterisk> Aut&entication 5ser1 LL Es osi"le !ue V#&one re!uiera de reiniciarse ara alicar los cam"ios. Al reiniciar: si se encuentra "ien configurado: te edira el ass$ord ara el registro. El ass$ord es el camo !ue indicamos como HsecretH en la configuracin del registro LL. #roorcionalo ara finali.ar el registro. En el momento en el !ue resiones HenterH desus de &a"er ingresado el ass$ord: en Asterisk de"e aarecer el intento de registro: con un mensa-e indicando si fu e+itoso: o fall 8la causa mas com%n: teclear incorrectamente el ass$ord.9. Como usuario registrado uedes iniciar a &acer llamadas. A&ora teclea cual!uier n%mero de dos dBgitos 8II or e-emlo9 y resiona enter. Si tienes tu tar-eta de sonido "ien configurada: o decidiste utili.ar un telfono I# en lugar de un soft&one: de"es escuc&ar un mensa-e de una mu-er de vo. se+y diciendo1 HKello WorldH. U voil0: tenemos nuestro rimer ruteo de llamada concretado. Antes de continuar con un ruteo algo mas avan.ado: o"servemos como Asterisk mane-a la ar!uitectura de sus arc&ivos de configuracin. 7os canales c&anAsi. c&anAia+ y c&anA.a 8asi como otras entidades en el sistema9 tienen acceso a su arc&ivo de configuracin a travs de Asterisk: !uien a su ve. tiene registrado un config engine !ue se encarga de o"tener los datos. Este config engine uede acceder a una "ase de datos 8ostgres!l: mys!l etc9 o directamente a los arc&ivos contenidos en 6etc6asterisk. /eamos a&ora el flu-o general de una llamada generada or un SI# 5A 8SI# 5ser Agent9. En realidad es un o!uito mas comle-o !ue lo mostrado *9 : sin em"argo ara nuestros fines es suficiente sa"er lo !ue el diagrama muestra. #ara !ue una llamada ueda reali.arse el 5A 8user agent9 de"e estar de"idamente registrado. En el caso de ;a el registro es imlicito uesto !ue la tar-eta #CI no udo &a"er sido instalada ni conectada sola en la comutadora 1 5na ve. registrado el 5A: uede roceder a solicitar el inicio de una llamada enviando un n%mero. Esta eticin es reci"ida or el mdulo corresondiente de Asterisk 8c&anA.a: c&anAsi: c&anAia+: c&anA+++9: !uien a su ve. revisa el arc&ivo de configuracin corresondiente 8.aata.conf: si.conf: ia+.conf 9 ara autori.ar la llamada y decidir a !ue Hconte+toH de e+tensions.conf se delegar0 el ruteo de la llamada: asB como otras configuraciones esecBficas de como tratar la llamada y al 5A. 5na ve. delegado el ruteo al conte+to: e+tensions.conf tendr0 el comleto control de la llamada: y es donde nosotros: como Administradores de Asterisk de"emos decidir como rutear la llamada en "ase al n%mero marcado y cual!uier otro set de criterios !ue deseemos utili.ar. Asi !ue: la rimer regunta !ue de"emos &acernos es !ue deseamos &acer con nuestras llamadas y !ue numeracin utili.aremos ara &acerlo. #or e-emlo: simlificando un oco las cosas odemos decir !ue telme+ decide en sus centrales !ue cuando reci"a un numero iniciando con QF: seguido de FQ n%meros: lo diri-ira a un ruteo nacional: detectando osteriormente el cdigo de estado: 0rea &asta encontrar el destino final. 4osotros eme.aremos con una red mas simle: sin involucrar otros servidores o conmutadores: asB !ue ondremos una regla simle. 7as e+tensiones internas de nuestro sistema tendr0n dos dBgitos. Asi !ue a"rimos el arc&ivo e+tensions.conf y escri"imos1 NinternalEe+tensionsO e+ten P> A)):F:Ans$er89 e+ten P> A)):>:,ial8SI#6XYE)CE4Z9 e+ten P> A)):L:Kangu89 7os carcteres dentro de los corc&etes indican el nom"re del conte+to. El inicio del conte+to se encuentra -usto de"a-o de su definicin entre corc&etes: y termina al iniciar otro conte+to: o al terminar el arc&ivo. ,entro del conte+to de"en encontrarse nuestras definiciones de ruteo 8conocidas en Asterisk como e+tensiones9: llamadas a alicaciones: macros etc. El conte+to !ue aca"amos de definir unicamente ermite: a los disositivos configurados ara usarlo: marcar n%meros de longitud de > dBgitos. 7a sinta+is ara las e+tensiones es1 e+ten P> <atron>: <rioridad>: <alicacin> #atrn1 7a comrensin de los atrones es fundamental ara organi.ar correctamente nuestro sistema y &acerlo funcionar de una forma otima y sencilla ara nuestros usuarios. Al final de este documento se encuentra en el andice algo de teorBa !ue tuve !ue anali.ar ara desarrollar un ruteador de llamadas en #K# saltandome el reconocimiento de atrones de Asterisk: a!ui solo veremos lo necesario ara continuar. 5n atrn de marcado en Asterisk se comone de una serBe de n%meros y sBm"olos !ue reresentan rangos de n%meros. ,e esta forma Asterisk decide !ue eme.ar a &acer con la llamada !ue est0 reci"iendo. #rioridad1 =rden secuencial ara la e-ecucin de alicaciones de Asterisk so"re la llamada reci"ida. Alicacin1 @uncionalidad !ue se desea e-ecutar so"re la llamada 8conectar con otro disositivo: reroducirle un arc&ivo de audio: colgarla etc.9 Analicemos el conte+to NinternalEe+tensionsO. 7a rimer linea dice1 e+ten P> A)):F:Ans$er89 7o !ue indica !ue como rimer alicacin a e-ecutar ara un n%mero de dos dBgitos Asterisk e-ecutar0 la alicacin Ans$er89. Cada alicacin se e-ecuta or un tiemo varia"le: deendiendo de o"-etivo de la alicacin. A la alicacin Ans$er solo le toma unos milisegundos. Su o"-etivo es simle: iniciali.ar varia"les y datos imortantes so"re la llamada. Es sumamente imortante !ue siemre utilices esta alicacin al iniciar el ruteo de una llamada. El guin "a-o antes de las dos ) significa inicio de atrn. Es v0lido tam"in omitir el guin "a-o cuando se ondr0 como atrn un n%mero en articular: or e-emlo He+ten P> F>:F:Ans$er89H. 7a segunda lBnea del conte+to dice1 e+ten P> A)):>:,ial8SI#6XYE)CE4Z9 Esta lBnea indica !ue como segunda rioridad se e-ecutar0 la alicacin ,ial: reci"iendo como rimer argumento la cadena HSI#6XYE)CE4ZH. 7a alicacin dial se encarga de conectar la llamada con otro unto. Sus argumentos ueden ser comlicados: este es solo el caso m0s "0sico de conectar una llamada con otro unto. 7a cadena dice XYE)CE4Z e+ande a ser el n%mero marcado de > dBgitos. ,e tal forma !ue si el 5A envia el n%mero LT: la alicacin ,ial reci"e el e!uivalente a ,ial8SI#6LT9. 7o !ue rovocarBa !ue Asterisk intentara conectar la llamada con la e+tensin LT. Si no e+isten un registro en el arc&ivo si.conf con la e+tensin LT registrada: la alicacin ,ial iniciali.a una varia"le llamada XY,IA7SCAC5SZ con el valor HCKA454A/AI7H indicando !ue el canal solicitado no se encuentra disoni"le. El valor de esta varia"le es frecuentemente consultado desus de las llamadas a ,ial89 ara decidir !ue &acer con la llamada. Es frecuente tam"in !ue si CKA454A/AI7 es el valor de la varia"le: a continuacin se e-ecute una alicacin como #lay"ack89 ara reroducit un arc&ivo de audio indicando !ue la e+tensin no e+iste o no se encuentra disoni"le. #or %ltimo la lBnea e+ten P> A)):L:Kangu89 le indica a Asterisk !ue como rioridad n%mero L de"e colgar la llamada. ,e forma similar a como configuramos la e+tensin SI#: se configura la e+tensin IA). En realidad el rotocolo IA) es me-or conocido como IA)>: ya !ue la versin F del rotocolo ya no se encuentra soortada. Sin em"argo el arc&ivo conserva el nom"re ia+.conf. /eamos una configuracin tBica. 7a configuracin de un cliente IA) muy similar a la configuracin ara un cliente SI#. /eamos un e-emlo de configuracin. NgeneralO "indortPT?IR "indaddr P Q.Q.Q.Q allo$Pall defaultconte+tPunaut&ori.ed NGFLO tyePfriend secretPverysecure &ostPdynamic conte+tP&elloE$orld E+isten sin em"argo algunas e!ue'as diferencias en algunos ar0metros de"ido a !ue el rotocolo IA)> es enteramente diferente al rotocolo SI#. #ara !ue el telfono SI# reviamente configurado udiera comunicarse con esta nueva e+tensin IA) tendriamos !ue modificar el conte+to en e+tensions.conf de esta forma1 NinternalEe+tensionsO e+ten P> A)):F:Ans$er89 e+ten P> A)):>:,ial8SI#6XYE)CE4Z9 e+ten P> A)):L:Kangu89 e+ten P> A))):F:Ans$er89 e+ten P> A))):>:,ial8IA)>6XYE)CE4Z9 e+ten P> A))):L:Kangu89 -. .aptel .apata. (1 #ora o -/ minutos0 depende de si se cuenta con tar1etas" Al rinciio del documento mencionamos "revemente los canales ;a. 7os canales ;a son la vBa de comunicacin entre Asterisk y el &ard$are #CI telefnico. El canal ;a se comunica directamente con el driver de las tar-etas telefnicas #CI 8;atel9. ,e tal suerte !ue cuando en un dial lan se escri"e una lBnea como1 e+ten P> A)))))))):>:,ial8;a6F6XYE)CE4Z9 7a eticin de cone+in es asada or Asterisk &acia el mdulo c&anA.a !ue a su ve. se comunica con el driver ara indicarle !ue &a"le con el &ard$are ara !ue la tar-eta #CI &aga su tra"a-o telefnico ara iniciar una llamada. Esta e+licacin la odemos areciar me-or en el siguiente diagrama1 Cal ve. en el diagrama &e e+resado una e+licacin !ue uede arecer mas rofunda de lo necesario: sin em"argo creo !ue no &ace da'o conocer como es !ue Asterisk enca-a en todo el sistema oerativo. A&ora: tal ve. sea mas sencillo entender or !ue es necesario !ue la configuracin de .aata.conf coincida en algunos untos con la configuracin de los drivers de .atel 86etc6.atel.conf9. En el diagrama se arecian los mdulos de .atel mas imortantes1 @)=: @)S y EF6CF. Se encuentra fuera del o"-etivo de este documento descri"ir a detalle cada uno de los mdulos: sin em"argo dar una descricin "reve del o"-etivo y alcances de cada mdulo. @)S 8@oreign E+c&ange Suscri"ers91 Mdulo caa. de generar se'ali.acin tio @)S. 7a se'ali.acin @)S es roia de centrales telefnicas. 7os uertos @)S son a!uellos !ue roveen de tono de marcado roorcionando un nivel de volta-e y necesariamente conectados en su otro e+tremo &acia un uerto @)=. En nuestras casas: los uertos de los telfonos son @)= y se encuentran conectados a los sockets de la ared: !ue van a dar &acia la central telfonica !ue rovee de se'ali.acin @)S. @)= 8@oreign E+c&ange =ffice91 Mdulo encargad de acetar tono: enviar digitos y reci"ir llamadas. 5sualmente destinados a ser nodos finales. 7a se'ali.acin @)= es roia de los telfonos analgicos convencionales. A continuacin veremos una configuracin cl0sica de una tar-eta @)=. Nc&annelsO ec&ocancelPyes ec&ocancel$&en"ridgedPyes ec&otrainingPFQQ r+gainPFS t+gainP> rela+dtmfPyes signallingPf+sAks calleridPno usecalleridPno restrictcidPno t&ree$aycallingPyes transferPyes cancallfor$ardPyes callreturnPyes grouP> immediatePyes "usydetectPno callrogressPno musicon&oldPdefault conte+tPinternalEe+tensions c&annelPFEL Kay una diferencia imortante 8aarte de la evidente diferencia de ar0metros9 entre el arc&ivo de configuracin .aata.con y los arc&ivos si.conf e ia+.conf. Mientras en ia+ y si el fin de un set de ar0metros se encuentra determinado or el inicio de otro conte+to. En .aata solo e+iste F conte+to: el conte+to Nc&annelsO. U &acemos distincin entre ar0metros !ue ali!uen a un canal u otro en "ase al ar0metro esecial Hc&annelH. Cada ve. !ue aarece Hc&annelH se configura el canal o rango de canales esecificado con los ar0metros !ue est0n definidos antes. En este arc&ivo &ay un ar0metro !ue es sumamente imortante1 HsignallingH. Este ar0metro determina !ue se'ali.acin ser0 utili.ada con el uerto de la tar-eta #CI. Esta se'ali.acin de"e ser co&erente con la se'ali.acin declarada en el arc&ivo de configuracin del driver de la tar-eta. /eamos cual serBa la configuracin correcta de 6etc6.atel.conf ara un arc&ivo .aata como el anterior. f+sksPF f+sksP> f+sksPL 5n arc&ivo .atel con estos L ar0metros serBa suficiente. Indicando !ue se utili.ara se'ali.acin @)S ke$l start: una variacin de la se'ali.acin @)S con suervisin ara descone+iones. Como udimos o"servar: &ay una similitud muy imortante entre .aata.conf: ia+.conf y si.conf. Esto es: todos contienen un ar0metro conocido como Hconte+tH !ue determina donde iniciar0 el ruteo de las eticiones de llamada reci"idas. 7a %nica diferencia es !ue nuestro conte+to internalEe+tensions de"e ser e+tendido un oco: de"ido a !ue a diferencia de SI# e IA): las llamadas !ue reci"amos or nuestra interface @)= no envian un n%mero rutea"le. 7a interface @)= unicamente reci"e tono de tim"rado: indicando !ue alguien !uiere llamarnos: se suone !ue un telfono convencional: ante tal se'al tim"rarBa y alguien lo contestarBa. Sin em"argo no conectamos un telfono: contectamos un #(). Como #() es nuestra resonsa"ilidad rutear la llamada. Cenemos "asicamente dos ociones1 F. Enviar la llamada directamente a una e+tensin ar"itraria >. <eali.ar una contestacin autom0tica con una gra"acin !ue le ida a !uien llama !ue mar!ue la e+tensin deseada. ,e momento solo o"servaremos la ocin mas simle: la F. 4uestro conte+to internalEe+tensions !uedarBa asi1 NinternalEe+tensionsO e+ten P> s:F:Ans$er89 e+ten P> s:>:,ial8SI#6LL9 e+ten P> s:L:Kangu89 e+ten P> A)):F:Ans$er89 e+ten P> A)):>:,ial8SI#6XYE)CE4Z9 e+ten P> A)):L:Kangu89 e+ten P> A))):F:Ans$er89 e+ten P> A))):>:,ial8IA)>6XYE)CE4Z9 e+ten P> A))):L:Kangu89 Esta ve. agregamos un atrn esecial: HsH. Este atrn esecial indica !ue cuando no e+ista un n%mero a rutear: se eme.ar0 en ese unto. <ecaitulando. Cual!uier disositivo !ue tenga este conte+to como inicio de ruteo tiene L osi"ilidades1 E marcar un n%mero de L dBgitos ara e+tensiones IA). E marcar un n%mero de > dBgitos ara e+tensiones SI#. E cuando no se reci"e n%mero se marca a la e+tensin SI# LL directamente. 4. Troncales IA,(. (1 #ora" En el lingo de las telecomunicaciones: una troncal es una cone+in entre dos centrales telefnicas. 5n #() es una e!ue'a central telefnica. #or lo tanto si contamos con m0s de una comutadora odemos crear un enlace telefnico entre am"as comutadoras. En esta seccin anali.aremos como crear un enlace con una o mas centrales telefnicas mediante el rotocolo IA)>. #or si no lo &a"Ba mencionado: IA)> es el rotocolo nativo de Asterisk: sus siglas significan Inter Asterisk E+c&ange. A diferencia de SI#: IA) es un rotocolo ensado directamente en /oI#: or lo !ue no necesita uertos adicionales 8SI# necesita cone+iones adicionales <C# ara llevar la vo.: o el video9. ,ecidB incluir unicamente troncales IA) de"ido a su simlicidad. (ien: ara eme.ar necesitamos dos comutadoras con Asterisk instalado. 7lamaremos a la rimer comutadora Hia+roviderH y a la otra Hia+clientH. 4otese !ue los nom"res son meramente ilustrativos: no e+iste un cliente y un servidor: ni un cliente ni un rovider. En cuanto al rotocolo se refiere am"os untos son iguales. IA)> soorta varios mtodos de autenticacin. A!ui usaremos el mtodo de llave <SA: a mi arecer tal ve. el m0s seguro. Emecemos or configurar Hia+roviderH. ia+.conf en Hia+roviderH NgeneralO ortPT?IR "indaddrPQ.Q.Q.Q Nia+clientO tyePfriend &ostPdynamic conte+tPia+clientconte+t aut&Prsa inkeysPia+clientkey notransferPyes e+tensions.conf en Hia+roviderH Nia+clientconte+tO e+ten P> A)):F:Ans$er89 e+ten P> A)):>:,ial8SI#6XYE)CE4SI=4Z9 e+ten P> A)):L:Kangu89 NinternalEe+tensionsO e+ten P> ATT)):F:Ans$er89 e+ten P> ATT)):>:,ial8IA)>6ia+rovider1Nia+roviderkeyO@ia+client.&ost.com6XYE)CE41>Z9 e+ten P> ATT)):L:Kangu89 Como odr0n ver unicamente le damos acceso a esta cone+in a marcar e+tensiones tio SI#. A&ora configuraremos la comutadora Hia+clientH ia+.conf en Hia+clientH NgeneralO ortPT?IR "indaddrPQ.Q.Q.Q Nia+roviderO tyePfriend &ostPdynamic conte+tPia+roviderconte+t aut&Prsa inkeysPia+roviderkey notransferPyes e+tensions.conf en Hia+clientH Nia+roviderconte+tO e+ten P> A)):F:Ans$er89 e+ten P> A)):>:,ial8IA)>6XYE)CE4SI=4Z9 e+ten P> A)):L:Kangu89 NinternalEe+tensionsO e+ten P> ALL)):F:Ans$er89 e+ten P> ALL)):>:,ial8IA)>6ia+client1Nia+clientkeyO@ia+rovider.&ost.com6XYE)CE41>Z9 e+ten P> ALL)):L:Kangu89 ,el lado del cliente solo damos acceso a e+tensiones IA). A&ora: no &emos terminado !ueda endiente un unto imortante. 7a generacin de las llaves <SA. #ara ello rimero analicemos lo !ue &emos &ec&o. F. En la m0!uina ia+rovider creamos un conte+to nuevo en ia+.conf con el nom"re ia+client y en la m0!uina ia+client creamos de igual forma un conte+to: e+ceto !ue con el nom"re ia+rovider. Estos conte+tos son las definiciones ara darle entrada a otro disositivo a nuestro sistema telefnico. 7os otros untos imortantes dentro de estos conte+tos son conte+t y inkeys: el rimero determina donde se iniciara el ruteo de las llamadas reci"idas or este &ost. El otro ar0metro es el nom"re de una llave <SA %"lica con la !ue autori.aremos al &ost a entrar a nuestro sistema. 7as llaves <SA de"en estar u"icadas en la careta 6var6li"6asterisk6keys a menos !ue algo diferente se esecifi!ue en el arc&ivo de asterisk.conf >. Creamos un conte+to de ruteo ara reci"ir las llamadas de nuestros &osts. En ia+rovider unicamente damos acceso a e+tensiones SI# de > dBgitos. En ia+client damos a e+tensiones IA) de > digitos. L. Creamos un conte+to ara oder reali.ar llamadas &acia el &ost en cuestion. 7a sinta+is ara llamar a otro &ost ia+ es1 ,ial8IA)>6<usuario>1<Nllave<SAO>@<&ost>6<e+tension deseada>9 Como se uede ver: la e+tensin deseada !ue esecificamos es XYE)CE41>Z esto significa: la e+tensin marcada originalmente: !uitandole dos dBgitos de inicio. El LL en ia+client lo de-amos constante a manera de refi-o: ero no es enviado al ia+rovider. El TT en ia+rovider de igual forma. 5na ve. aclarado esto: rocedemos a crear nuestro ar de llaves. 5na %"lica y una rivada. #ara ello necesitamos el rograma oenssl. En la comutadora ia+client e-ecutamos1 oenssl genrsa Eout 6var6li"6asterisk6keys6ia+clientkey.key FQ>T oenssl rsa Ein 6var6li"6asterisk6keys6ia+clientkey.key Eu"out Eout 6var6li"6asterisk6keys6ia+clientkey.u" En la comutadora ia+rovider e-ecutamos1 oenssl genrsa Eout 6var6li"6asterisk6keys6ia+roviderkey.key FQ>T oenssl rsa Ein 6var6li"6asterisk6keys6ia+roviderkey.key Eu"out Eout 6var6li"6asterisk6keys6ia+roviderkey.u" @inalmente transferimos una coia de las llaves %"licas entre los &osts. En ia+rovider1 sc 6var6li"6asterisk6keys6ia+roviderkey.u" root@ia+client.&ost.com16var6li"6asterisk6keys6 En la m0!uina ia+client1 sc 6var6li"6asterisk6keys6ia+clientkey.u" root@ia+rovider.&ost.com16var6li"6asterisk6keys6 @inalmente en asterisk e-ecutamos Hrestart $&en convenientH: con esto Asterisk leer0 las llaves al iniciar. #ara rovar es necesario configurar un ar de e+tensiones: una en cada &ost e intentar marcar: desde ia+client HLL))H donde )) es el n%mero de la e+tensin de dos dBgitos en ia+rovider. #ara llamar desde ia+rovider se marca HTT))H. 2. Otr3s Aplicaciones. (posi'le tiempo so'rante indeterminado" AJAM 8Async&ronus Javascrit Asterisk Manager9 A<A 8 Asterisk <eal Cime Arc&itecture 9 Alicaciones Misc. Meetme89: /oiceMail89: C&anSy89: diversas ociones en ,ial89: C,< 8 F &ora 9 A3I y AMI