Está en la página 1de 135

INSTALACIN Y CONFIGURACIN DE CENTRALITA VoIP BASADA EN ASTERISK

Pag. - 1 Instalacin y configuracin de centralita VoIP basada en asterisk

Indice INTRODUCCIN..............................................................................................................................5 .............................................................................................................................................................. OBJETIVOS.......................................................................................................................................8 .............................................................................................................................................................. MATERIAL......................................................................................................................................11 1ELEMENTOSHARDWARE........................................................................................................11 1.1CPUSERVIDORASTERISK....................................................................................................11 1.1.1Procesador.................................................................................................................................11 1.1.2Placabase.................................................................................................................................11 1.1.3MemoriaRAM.........................................................................................................................12 1.1.4Discoduro................................................................................................................................12 1.1.5Tarjetagrfica...........................................................................................................................12 1.1.6Lectorptico.............................................................................................................................13 1.1.7Chasis(cajaCPU).....................................................................................................................13 1.2TARJETADECOMUNICACIONESDIGIUM.........................................................................13 1.3PORTTILKIRAN1070...........................................................................................................14 1.4THOMPSONSPEEDTOUCH2030...........................................................................................14 1.5PLANTRONICSAUDIO650USB............................................................................................14 1.6BLUETOOTHJABRABT250V................................................................................................14 1.7LINKSYSPAP2..........................................................................................................................15 1.8TELFONOAIRIST800M1......................................................................................................15 1.9TELFONOAIRIST850M........................................................................................................15 .............................................................................................................................................................. 2ELEMENTOSSOFTWARE.........................................................................................................15 2.1DEBIANGNU/LINUX..............................................................................................................16 2.2SOPORTERAID1......................................................................................................................17 2.3XEN............................................................................................................................................19 2.4ASTERISK.................................................................................................................................20 2.5SUBSISTEMAZAPTEL(ZAPATATELEPHONY).................................................................21 2.6SOFTPHONEVOIXPHONE.....................................................................................................21 2.7CDRASTERISK........................................................................................................................22 MTODO.........................................................................................................................................23 1OBTENCINYPREPARACINDELSOFTWAREDEBIAN.................................................23

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 2 Instalacin y configuracin de centralita VoIP basada en asterisk

2INSTALACINYCONFIGURACINDEDEBIAN.................................................................25 3INSTALACINYCONFIGURACINDESERVIDORXEN...................................................31 4COMANDOSPARAGESTIONARLASMAQUINASVIRTUALESXEN...............................44 4.1LISTARMAQUINASVIRTUALES..........................................................................................44 4.2LISTARRECURSOSCONSUMIDOSPORLASMAQUINAS..............................................44 4.3AJUSTARCANTIDADDEMEMORIAUSADAPORMQUINA.......................................44 4.4INSTRUCCIONESDEPARADA..............................................................................................45 4.5INSTRUCCINDEMIGRACIN...........................................................................................45 4.6INICIOMANUALDEMQUINAXEN..................................................................................45 4.7MTODOSDEACCESOAMQUINAVIRTUALXEN.......................................................45 .............................................................................................................................................................. 5INSTALACINYCONFIGURACINDEASTERISK.............................................................46 5.1PAQUETESBSICOSNECESARIOS.....................................................................................47 5.2DESCARGAYCOMPILACIONDESOFTWAREASTERISK..............................................48 5.3CONFIGURACININICIALTRASLAINSTALACIN.......................................................51 5.4FICHEROSYDIRECTORIOSDEASTERISK.......................................................................52 5.5ASTERISKCLI(COMMANDLINEINTERFACE)................................................................53 5.6CONFIGURACININICIALDELOSFICHEROSDEASTERISK......................................54 5.7ARCHIVOSSIP.CONF,IAX.CONFYDEMASFICHEROSDEPROTOCOLO....................58 .............................................................................................................................................................. 6CONFIGURANDOELENTORNO(PARTEI)...........................................................................64 7CONFIGURANDOELENTORNO(PARTEII)..........................................................................67 8CONFIGURACINDELSOFTPHONEVOIXPHONE.............................................................70 9COMPROBACIONDELFUNCIONAMIENTODELAINSTALACINHARDWARE...........71 .............................................................................................................................................................. 10DIALPLAN(AADIENDOFUNCIONESALACENTRALITA)...........................................74 10.1LOCUCIONDEENTRADA....................................................................................................74 10.2CONTROLHORARIO.............................................................................................................79 10.3CONFIGURANDONUEVASPOSIBILIDADESDEMARCADO........................................83 10.4BUZONESDEVOZYMENSAJESDEAUDIOALCORREO............................................85 10.5GRABACINDECONVERSACIONESYLEYDEPROTECCINDEDATOS...............91 10.6INSTALACINDEHYLAFAX,SERVIDORDEGESTINDEFAX.................................93 10.7CONFIGURACINDEHYLAFAXPARAUTILIZARMODEMVIRTUALASTERISK. .95

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 3 Instalacin y configuracin de centralita VoIP basada en asterisk

10.8RECEPCIONDEFAXENELCORREOELECTRNICO...................................................98 10.9INTEGRARCDRASTERISK.GESTINDEBASEDEDATOS........................................99 .............................................................................................................................................................. RESULTADOS...............................................................................................................................103 1CREACINDEMAQUINAVIRTUALCONSOPORTELVM,DNS,ETC............................104 1.1DEFINICINYCARACTERSTICASDELVM...................................................................104 1.1.1VentajasdeusarLVM.............................................................................................................105 1.1.2AnatomadeunLVM.............................................................................................................106 1.1.3Instantneas(copiasdeseguridad).........................................................................................107 1.2EMPEZAMOSLAINSTALACIN........................................................................................107 1.3PRUEBASCONLVM...............................................................................................................111 1.3.1EliminandounLV...................................................................................................................111 1.3.2ExtendiendounLV.................................................................................................................111 1.3.3ReduciendounLV..................................................................................................................111 1.3.4RemoviendounPV.................................................................................................................112 1.4CONCLUSIN.........................................................................................................................113 .............................................................................................................................................................. 2DEFINICINYCARACTERSTICASDELFIREWALL(SHOREWALL+IPTABLES)......113 2.1INSTALACINDELFIREWALL...........................................................................................114 .............................................................................................................................................................. 3CONFIGURACINSERVIDORDHCP.....................................................................................117 3.1PROCEDIMIENTOPARALAPUESTAENMARCHA........................................................118 .............................................................................................................................................................. 4REALIZACINDECOPIASDESEGURIDADCONSAMBA+CRON................................119 4.1SAMBA.....................................................................................................................................120 4.2CRON........................................................................................................................................121 4.2.1SintaxisdeconfiguracindeCRON......................................................................................122 .............................................................................................................................................................. CONCLUSIONES..........................................................................................................................123 BIBLIOGRAFA............................................................................................................................124 ANEXOS.................................................................................................................................125140

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 4 Instalacin y configuracin de centralita VoIP basada en asterisk

INTRODUCCIN

Es innegable que en nuestra sociedad el mayor activo es la informacin. La informacin nos facilita la toma de decisiones a todos los niveles... personal, poltico, econmico, social, etc. De echo en todas las pocas de la humanidad, la informacin ha sido vital para el avance de las civilizaciones, desde los griegos a los persas pasando por los romanos. Mas la informacin no es como el agua de lluvia, que un buen da sin pedirla cae sobre nosotros. La informacin requiere de medios que nos permitan transmitirla y que llegue a donde nos interesa y a quien o quienes nos interesa. A lo largo de la historia se han usado para transmitir informacin personas a pie y a caballo, palomas mensajeras, seales de humo, sonidos de animales y mltiples formulas ms que la inventiva de la raza humana a pergeado en diferentes pocas.

Y llegamos a la actualidad. Tenemos tal cantidad de informacin a nuestra disposicin y tantos medios para transmitirla, tantas personas a las que queremos hacer llegar dicha informacin, tantos peligros que acechan a dicha informacin en ruta hacia su receptor que necesitamos medios para hacer que esa informacin sea correctamente dirigida, protegida y entregada donde y como deseamos.

Es claro que el medio de comunicacin que ms se ha usado hasta la llegada de Internet ha sido el telfono. Fue el primer medio que uni naciones y continentes e incluso a da de hoy compite an denodadamente contra su sucesor para seguir siendo la perla de las comunicaciones. Pero los das del telfono estn contados puesto que llega la convergencia de redes, esto es, la unin de Internet y el sistema telefnico tradicional. Las grandes operadoras de telefona y las grandes empresas ya hace tiempo que estn adaptando y convirtiendo sus sistemas para distribuir el trafico telefnico como datos mediante la VoIP (voz sobre redes basadas en protocolos IP), pero las pequeas y medianas empresas an no han llegado a dar ese paso por los altos costes tecnolgicos y de infraestructuras que ello supone.

Pero en el teatro de las comunicaciones ha entrado un nuevo actor: el software libre.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 5 Instalacin y configuracin de centralita VoIP basada en asterisk

Gracias a ciertas aplicaciones informticas de las que hablaremos ms adelante, todas ellas realizadas de manera altruista por personas que dedican parte de su tiempo libre a desarrollarlas y por empresas que han visto en el software libre un modelo de negocio descentralizado, con un potencial de crecimiento casi ilimitado y una filosofa ms afn al ser humano que el modelo de negocio basado exclusivamente en el capital.

Gracias a este nuevo actor (ms particularmente a LINUX DEBIAN y a ASTERISK como software de gestin de comunicaciones) y a un fabricante norteamericano llamado DIGIUM, se puede con un coste muy reducido crear una centralita telefnica IP que nos permita usar telfonos especiales conectados a nuestra red de rea local, gestionar las llamadas que nos hacen y que realizamos, recibir faxes y mensajes de voz enviando los mensajes al correo electrnico, enviar mensajes cortos de texto (SMS) desde aplicaciones informticas y decenas de posibilidades ms que nos pueden hacer prescindir definitivamente del telfono tal y como lo concebimos. Este nuevo actor nos permite hacer llegar la informacin a donde nos interesa con facilidad y elegancia.

Aunque tenemos que tener en cuenta la importancia antes comentada de la seguridad en las comunicaciones. Si a da de hoy es pernicioso que por motivos tcnicos no tengamos conexin a Internet, habra que imaginar que pasara si a la misma vez nos quedsemos sin ningn medio de comunicacin. Hacer que un sistema basado en software y hardware nos gestione las comunicaciones nos proporciona flexibilidad y potencia, pero a la par nos genera algunos riesgos que hay que tener en cuenta. Para reducir esos riesgos a la mnima expresin, volvemos a utilizar el software libre. Vamos a utilizar en este Proyecto Integrado un sistema informtico con mquinas virtuales llamado XEN. Este mtodo nos permite que si nuestro servidor de comunicaciones cae por problemas hardware, software o problemas externos tales como robo, incendio o similar, se pueda tener funcionando en cuestin de minutos otro servidor y con tan solo copiar la mquina virtual volvamos a tener funcionando todo nuestro entorno de comunicaciones.

Adems al trabajar con mquinas virtuales conseguimos mayor seguridad en nuestro sistema informtico, puesto que si alguien desea acceder al mismo para conseguir nuestra apreciada informacin, tendra que conseguir burlar la seguridad de varios sistemas operativos

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 6 Instalacin y configuracin de centralita VoIP basada en asterisk

hasta llegar a controlar la totalidad del sistema. Las mquinas virtuales se instalan sobre un sistema operativo LINUX que hace las funciones de guardin y aparte cada uno de los sistemas operativos virtuales tienen sus propias defensas.

En Internet hay un caso de un Ingeniero Informtico de una ONG que cuenta la experiencia en un pueblo perdido de frica al que solamente llegaba una lnea de telfono (all las lneas telefnicas tienen un coste prohibitivo), consigui gracias al software libre ASTERISK dar servicio telefnico al Hospital, al Ayuntamiento y a la sede de la ONG, consiguiendo todos ellos usar el telfono sin necesidad de desplazarse. Esperamos sinceramente que este Proyecto Integrado sea el germen que haga que personas con conocimientos informticos y buena voluntad, puedan hacer pequeos milagros. El pequeo milagro de la comunicacin.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 7 Instalacin y configuracin de centralita VoIP basada en asterisk

OBJETIVOS
1 Obtencin de todo el software necesario para el proyecto a travs de Internet sin costes de licencias al usar software libre o versiones gratuitas plenamente operativas.

Instalacin de una distribucin DEBIAN del sistema operativo LINUX. 2.1 Durante el proceso de instalacin dejar documentados los pasos a seguir para llevar a buen termino la misma. 2.2 En el inicio de la instalacin configurar el sistema operativo Debian en RAID1 para mejorar en lo posible la seguridad y estabilidad del mismo. 2.3 Configurar el entorno de red para el servidor Linux, que permita llamadas por internet. 2.4 Configurar entorno de trabajo Xen en Debian para gestionar mquinas virtuales. 2.5 Configurar usuarios y contraseas para una correcta gestin del servidor, adecuando la seguridad y los permisos.

Creacin de mquina virtual Xen con las herramientas bsicas de trabajo (paquetes de software imprescindibles) para poder transformarla posteriormente en un servidor de centralita Asterisk. 3.1 Configurar entorno de red y repositorios desde los que realizar las descargas de paquete de programas. 3.2 Descargar los paquetes necesarios para la instalacin y configuracin posterior de Asterisk. 3.3 Duplicar (copiar) la mquina virtual para tener una configuracin base sobre la que poder crear sucesivas mquinas virtuales. 3.4 Sobre un clon de la mquina virtual original, preparar la configuracin de nombre de host y direcciones IP correspondientes a nuestra futura mquina Asterisk.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 8 Instalacin y configuracin de centralita VoIP basada en asterisk

3.5 Mostrar usar y detallar las herramientas de gestin de las que dispone Xen para visualizar, mover o modificar las mquinas virtuales. 3.6 Hacer que la mquina virtual se cargue automticamente al inicio del sistema para automatizar al mximo el servidor.

Descargar de la pgina web de Digium el software libre Asterisk, compilarlo e instalarlo en la mquina virtual creada al efecto. 4.1 Configurar tarjeta de comunicaciones Digium para que sea reconocida correctamente por el software Asterisk. 4.2 Crear una configuracin base de una centralita y un dialplan para Asterisk, que permita como mnimo realizar y recibir llamadas desde un telfono con una sola lnea telefnica. 4.3 Mostrar, usar y detallar el uso del interfaz de comandos de Asterisk llamado CLI, el cual provee un modo consola para suministrar comandos de gestin y control a la centralita. 4.4 Configurar Asterisk para ser inicializado automticamente en el encendido del servidor, para hacer el sistema lo ms autnomo posible.

Configurar una centralita Asterisk. 5.1 Configurar diferentes protocolos de transmisin de voz sobre IP. 5.2 Permitir llamadas entrantes a la centralita. 5.3 Permitir llamadas salientes desde la red de rea local a la que se haya conectado la centralita. 5.4 Crear extensiones telefnicas dentro de la red de rea local. 5.5 Permitir llamadas internas entre extensiones y transferencia de llamadas tanto internas como externas entre las mismas. 5.6 Permitir restringir numeracin de marcado en llamadas salientes ya sea en general, o por extensin. 5.7 Gestionar llamadas entrantes generales o personalizadas por extensin en funcin de mes, da y hora.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 9 Instalacin y configuracin de centralita VoIP basada en asterisk

5.8 Crear un sistema de grabacin y escucha de locuciones para ser usadas posteriormente en las diferentes opciones de la centralita. 5.9 Crear buzones de voz generales o para cada usuario que permitan tener contestador automtico y poder hacer una gestin personalizada del mismo. 5.10 Crear un sistema de envo y recepcin de fax no fsico mediante deteccin del tipo de llamada recibida. 5.11 Crear un servidor de correo electrnico que permita a la centralita Asterisk, segn la configuracin que le suministremos, enviar a uno o varios usuarios a sus respectivas cuentas de correo electrnico, los mensajes de voz y faxes que hayan recibido, pudiendo ver y escuchar dichos mensajes y faxes desde sus respectivos clientes de correo. 5.12 Descargar el paquete de software CDR Asterisk, que trae la configuracin base para el almacenamiento de todos los datos de las llamadas realizadas o recibidas con sus atributos de hora, origen, destino, etc. 5.13 Preparar el entorno MySQL para poder crear la base de datos sobre la que va a trabajar el software CDR Asterisk. 5.14 Crear la base de datos para el CDR Asterisk. 5.15 Preparar el entorno Apache para poder acceder a la base de datos del CDR Asterisk desde cualquier cliente WEB y visualizar el contenido de la misma.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 10 Instalacin y configuracin de centralita VoIP basada en asterisk

MATERIAL
1 ELEMENTOS HARDWARE

1.1 CPU SERVIDOR ASTERISK : Para la gestin de la centralita se pueden utilizar sin ningn problema equipos informticos reciclados, siendo los requisitos mnimos recomendados para hacer funcionar una CPU con ASTERISK tener un procesador superior a 300MHZ, 64 MB de memoria RAM y 512 MB de espacio disponible en disco duro. Como los requisitos de instalacin de DEBIAN son similares, podra instalarse prcticamente en cualquier tipo de ordenador. Es muy importante el que las tarjetas de comunicaciones compatibles con ASTERISK no usen IRQ (interrupciones del sistema) que ya estn siendo usadas por otros elementos de la CPU. En todo caso y debido a que aparte de querer usar nuestra CPU para la gestin de la centralita de VoIP, vamos a hacerlo mediante mquinas virtuales, y que adems queremos dejar abierta la posibilidad de que la centralita tenga posibilidad de gestionar un volumen alto de llamadas (lo cual consume recursos de la CPU), hemos optado por una configuracin de gama media-alta. Dicha configuracin sera la siguiente :

1.1.1 Procesador : Hemos optado por un procesador AMD64 4800+ DUAL CORE en socket AM2. Este procesador utiliza una tecnologa llamada AMD VIRTUALIZATION que permite mejorar el rendimiento de mquinas virtuales. Eso hace que sea una eleccin idnea para que el funcionamiento de los diferentes servicios que se le vayan implementando a nuestro Servidor aprovechen al mximo los recursos de la CPU.

1.1.2 Placa base : En este caso hemos decidido instalar una placa base ASUS modelo M2N-SLI. Hemos optado por esta placa por ser ASUS una marca de reconocido prestigio y calidad. Adems de ser aparentemente compatible con el resto de componentes que vamos a aadir. La placa usa el socket AM2 al igual

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 11 Instalacin y configuracin de centralita VoIP basada en asterisk

que el procesador AMD64 4800+ DUAL CORE y soporta mdulos de memoria DDR2. Al tener una ranura para conectar tarjetas grficas PCI Express, si en un momento dado queremos hacer vdeo conferencia y deseamos visualizar en pantalla a uno o ms interlocutores, nos puede hacer falta tener una cierta potencia grfica que si no se dispusiera de dicha ranura, no se podra obtener.

1.1.3 Memoria RAM : Hemos incluido 2GB de memoria RAM DDR2 a 800 MHz en la configuracin de nuestro Servidor. Creemos que esta cantidad de memoria cubre ampliamente las necesidades de recursos para nuestra instalacin y en todo caso, la placa base que estamos usando tiene zcalos de ampliacin de memoria que usaremos en el caso de encontrar problemas por carga excesiva de trabajo a nivel de asignacin de memoria RAM.

1.1.4 Disco duro : Para el almacenamiento hemos tenido muy en cuenta la velocidad de acceso y la fiabilidad, con lo que se han instalado en el Servidor dos discos duros SATA (serial ata) de 320 GB de la marca SEAGATE, con una velocidad de giro de 7200 revoluciones por minuto. Estos discos duros van a funcionar en modo espejo (RAID1) para conseguir que en todo momento tengamos posibilidad de recuperar nuestro Servidor en casos de desastre (rotura de un disco duro).

1.1.5 Tarjeta grfica : La marca NVIDIA es bien conocida por su robustez y estabilidad y por ello es la grfica instalada en nuestro Servidor. El modelo exacto es una NVIDA GFORCE 8500GT con 512 Mb de memoria y tecnologa PCI Express con refrigeracin pasiva. La refrigeracin pasiva (sin ventiladores) creemos que es vital para Servidores, puesto que es conveniente eliminar la mayor cantidad posible de elementos mecnicos que tienen tendencia a estropearse con mayor frecuencia que los elementos electrnicos. 1.1.6 Lector ptico : Para realizar la instalacin, usamos un lector-grabador de DVD de la marca LG con una velocidad de lectura de 18X y conectado, al igual que el disco duro, mediante el interface SATA. Es un grabador que tambin nos

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 12 Instalacin y configuracin de centralita VoIP basada en asterisk

permitir realizar copia de seguridad del sistema a DVD tanto de simple como de doble capa y por tanto poder copiar las mquinas virtuales u otros datos.

1.1.7 Chasis (caja CPU) : Aunque no es la opcin ms recomendable, la instalacin de todos los componentes la hemos realizado en una caja mixta sobremesa/semitorre de dimensiones reducidas. Esto es debido a que vamos a tener que trasladar el Servidor y no podamos permitirnos que fuese muy pesado o engorroso de transportar. En todo caso, recomendamos que si se fuese a utilizar la centralita en produccin (en una empresa o institucin a pleno rendimiento) se utilizara un chasis con fuente redundante (dos fuentes de alimentacin por si una de ellas fallase) y ms amplio para evitar calentamientos innecesarios. No creemos que vayamos a tener problemas en este aspecto, puesto que nuestro Servidor solo estar operativo un par de meses y en ese tiempo es altamente improbable que se dae ningn componente por sobrecalentamientos.

1.2 TARJETA DE COMUNICACIONES DIGIUM : Como alma de nuestra centralita vamos a instalar una tarjeta de comunicaciones DIGIUM TDM400P certificada ASTERISK con posibilidad de conectarle hasta cuatro mdulos FXO o FXS que permiten conectar hasta cuatro lneas telefnicas o dispositivos de salida analgica. Para la conexin dispone de 4 tomas RJ11 (clavijas telefnicas convencionales de cuatro hilos). El corazn de esta tarjeta es un chip INFINEON AN983B. La tarjeta dispone de un conector molex estndar para poder conectarla a la fuente de alimentacin y que esta le suministre energa extra para que as la tarjeta pueda suministrar tensin a dispositivos analgicos que se conecten a los conectores RJ11 y que requieran dicho suministro, tales como telfonos o fax convencionales.

1.3 PORTTIL KIRA N1070 : Para realizar las pruebas con los clientes VoIP por software, vamos a utilizar un ultra porttil AIRIS KIRA N1070. Esto es un ordenador con pantalla de 7, procesador AMD Geode a 500 MHz, un giga byte de memoria RAM y un disco duro de 80Gb. Al disponer de tecnologa inalmbrica tanto mediante Wifi como mediante Bluetooth, nos va a permitir realizar todo tipo de

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 13 Instalacin y configuracin de centralita VoIP basada en asterisk

pruebas y demostraciones con auriculares inalmbricos.

1.4 THOMPSON SPEEDTOUCH 2030 : Para realizar las conferencias telefnicas vamos a utilizar un terminal telefnico THOMPSON SPEEDTOUCH 2030 el cual es un telfono VoIP de gama alta que dispone de una gran cantidad de funciones que le dotan de un gran valor aadido. Entre ellas cabe destacar la posibilidad de comunicarse con servicios de directorio externos como Directorio Activo u OpenLDAP + Apache. Adems soporta NAT, VLAN, registro de llamadas y mltiples codecs de transmisin. Todas estas funciones nos van a permitir intentar usar el terminal conectado a travs de Internet con nuestra centralita (uso desde diferentes redes) y probar la calidad con varios codecs de gestin de datos de voz.

1.5 PLANTRONICS AUDIO 650 USB : Con los clientes software VoIP usaremos un auricular profesional PLANTRONICS AUDIO 650 USB. Esto es un auricular con micrfono que gracias a tener una alta ganancia y cancelacin de ruidos, nos va a permitir mantener conversaciones sin que notemos que estamos usando algo que no es un sistema telefnico analgico convencional. La idea es que el usuario no note diferencia entre la telefona clsica y nuestra flamante centralita VoIP.

1.6 BLUETOOTH JABRA BT250V : Para integrar mediante Bluetooth con el porttil AIRIS KIRA N1070, vamos a usar un auricular Bluetooth JABRA BT250V, que una vez sincronizado nos permitir comunicarnos con otros terminales gracias al software cliente de VoIP. Este auricular dispone de batera de litio que nos dar la autonoma necesaria para realizar las pruebas que consideremos pertinentes. 1.7 LINKSYS PAP2 : Una de las posibilidades que tiene la telefona IP es el poder utilizar telfonos convencionales como terminales VoIP. Pierden unas pocas funcionalidades, pero son plenamente operativos. Para poder hacer esto necesitamos un adaptador que nos permita conectar el telfono a la red local. Ese adaptador es un ADAPTADOR VoIP LINKSYS PAP2 que dispone de dos conexiones para poder tener dos telfonos clsicos.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 14 Instalacin y configuracin de centralita VoIP basada en asterisk

1.8 TELFONO AIRIS T800M1 : Para conectar al adaptador VoIP mencionado anteriormente vamos a usar un telfono inalmbrico marca AIRIS modelo T800M1 con altavoz manos libres y bateras recargables, el cual ser perfecto para realizar las demostraciones oportunas al poder escucharse en publico, gracias al manos libres, las locuciones que queremos poner en la centralita IP.

1.9 TELFONO AIRIS T850M : Tambin vamos a usar un telfono fijo de sobremesa AIRIS T850M conectado a la segunda toma del ADAPTADOR PAP2 para demostrar que se pueden usar sin problemas este tipo de terminales con las opciones aadidas por la centralita.

ELEMENTOS SOFTWARE Como se podr comprobar a lo largo de este proyecto integrado, nuestra principal apuesta

es el software libre, con lo que vamos a intentar por todos los medios no usar en ningn momento software propietario de ningn fabricante. Esto significa que a excepcin del gasto de los elementos hardware, el coste del software va a ser nulo en lo que se refiere a licencias, aunque s que existe un coste que es el tiempo empleado por los recursos humanos necesarios para configurar todo el sistema. Nuestra opinin es que siempre va a salir ms rentable el coste del trabajo de un tcnico local que configure y gestione todo el sistema, que el pago de licencias a un fabricante forneo. Adems esto hace que se produzca riqueza y valor aadido en nuestro entorno, y no la fuga constante de divisas a los grandes fabricantes que en poco o nada repercuten en la mejora de nuestro I+D y nuestra calidad de vida. Ni que decir tiene que para los pases ms desfavorecidos, el software libre puede ser su tabla de salvacin tecnolgica. Tras este pequeo alegato en favor del software libre vamos a exponer los elementos software utilizados en este Proyecto Integrado.

2.1 DEBIAN GNU/LINUX : Hemos utilizado una distribucin de LINUX llamada DEBIAN por ser la ms reticente a usar programas con licencias propietarias. Adems tiene fama de ser la distribucin ms estable y segura. Mltiples

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 15 Instalacin y configuracin de centralita VoIP basada en asterisk

distribuciones estn basadas en DEBIAN y a da de hoy en Internet hay miles de pginas y de foros donde se puede conseguir ayuda en el caso de que tengamos problemas de instalacin, configuracin o uso. Dentro de DEBIAN hay diferentes ramas de desarrollo. Estas ramas de desarrollo catalogan la distribucin en ESTABLE, DE PRUEBAS, INESTABLE, CONGELADA Y EXPERIMENTAL. Nosotros nos hemos decidido por instalar la rama de desarrollo ESTABLE, porque creemos que tendr todos los drivers hardware y los elementos software necesarios para nuestro Proyecto. En caso de que no fuese as, actualizar en todo o en parte a INESTABLE no sera un problema excesivo. Aunque la palabra asusta un poco, la rama INESTABLE de DEBIAN es la rama estable en otras distribuciones tales como UBUNTU o KNOPPIX. Una vez instalada la distribucin, actualizaremos todos los paquetes tanto de seguridad como de sistema.

El Proyecto Debian es una asociacin de personas que han hecho causa comn para crear un sistema operativo (SO) libre. Este sistema operativo se llama Debian GNU/ Linux, o simplemente Debian para acortar. Un sistema operativo es un conjunto de programas y utilidades bsicas que hacen que un ordenador funcione. El centro de un sistema operativo es el ncleo (tambin llamado kernel). El ncleo es el programa ms importante, realiza todo el trabajo bsico y permite ejecutar otros programas. Los sistemas Debian actualmente usan el ncleo de Linux. Linux es una pieza de software creada en un principio por Linus Torvalds y soportada de manera altruista por miles de programadores a lo largo del mundo.

Sin embargo, se est trabajando para ofrecer Debian con otros ncleos, en especial con el ncleo Hurd. El Hurd es una coleccin de servidores que se ejecutan sobre un microncleo para implementar las distintas funcionalidades. El Hurd es software libre producido por el proyecto GNU. Una gran parte de las herramientas bsicas que completan el sistema operativo, vienen del proyecto GNU; de ah los nombres: GNU/ Linux y GNU/Hurd. Estas herramientas tambin son libres.

Hay que tener en cuenta que lo que la gente quiere es software de aplicacin y herramientas que los ayuden a realizar lo que necesiten hacer, desde editar

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 16 Instalacin y configuracin de centralita VoIP basada en asterisk

documentos, ejecutar aplicaciones de negocios hasta divertirse con juegos o programar ms software; es por lo que Debian viene con ms de 18733 paquetes (software precompilado y empaquetado en un formato de instalacin sencilla en un ordenador) todos ellos de forma gratuita. Es un poco como una torre. En la base est el ncleo. Encima se encuentran todas las herramientas bsicas. Despus est todo el software que ejecutamos en el ordenador. En la cima de la torre se encuentra Debian organizando y encajando las diferentes piezas software cuidadosamente para que todo el sistema trabaje en conjunto.

2.2 SOPORTE RAID1 : Durante el proceso de instalacin vamos a usar el soporte RAID de DEBIAN. Aunque en si mismo no es un programa, las distribuciones LINUX funcionan mediante el mtodo de paquetes. Eso significa que no tienes que instalar los programas, sino que solamente se tiene que instalar una porcin de cdigo de programa que viene precompilado en formatos estndar tales como RPM o DEB. As que vamos a describir todos los paquetes que van a ser representativos durante el proceso de instalacin del Servidor VoIP.

As que volviendo al RAID, vamos a instalar DEBIAN en nuestros discos duros con el soporte RAID1 por software de DEBIAN, lo cual va a permitir que nuestros discos duros contengan cada uno de ellos una copia ntegra de todo el sistema. Un RAID1 crea una copia exacta (o espejo) de un conjunto de datos en dos o ms discos. Esto resulta til cuando el rendimiento en lectura es ms importante que la capacidad. Un conjunto RAID1 slo puede ser tan grande como el ms pequeo de sus discos. Un RAID1 clsico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un slo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos).

Adicionalmente, dado que todos los datos estn en dos o ms discos, con hardware habitualmente independiente, el rendimiento de lectura se incrementa aproximadamente como mltiplo lineal del nmero del copias; es decir, un RAID1 puede estar leyendo simultneamente dos datos diferentes en dos discos diferentes,

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 17 Instalacin y configuracin de centralita VoIP basada en asterisk

por lo que su rendimiento se duplica. Para maximizar los beneficios sobre el rendimiento del RAID1 se recomienda el uso de controladoras de disco independientes, una para cada disco (prctica que algunos denominan splitting o duplexing). El tiempo medio de lectura se reduce, ya que los sectores a buscar pueden dividirse entre los discos, bajando el tiempo de bsqueda y subiendo la tasa de transferencia, con el nico lmite de la velocidad soportada por la controladora RAID. Sin embargo, muchas tarjetas RAID1 IDE antiguas leen slo de un disco de la pareja, por lo que su rendimiento es igual al de un nico disco. Al escribir, el conjunto se comporta como un nico disco, dado que los datos deben ser escritos en todos los discos del RAID1. Por tanto, el rendimiento no mejora.

El RAID1 tiene muchas ventajas de administracin. Por ejemplo, en algunos entornos es posible dividir el espejo: marcar un disco como inactivo, hacer una copia de seguridad de dicho disco y luego reconstruir el espejo. Esto requiere que la aplicacin de gestin del conjunto soporte la recuperacin de los datos del disco en el momento de la divisin.

2.3 XEN : Cuando nuestra distribucin DEBIAN est funcionando en RAID1, el siguiente paso ser instalar XEN. Es una mquina virtual de cdigo abierto desarrollada por la Universidad de Cambridge. La meta del diseo es poder ejecutar instancias de sistemas operativos con todas sus caractersticas, de forma completamente funcional en equipos que no tienen por que ser muy potentes. Xen proporciona aislamiento seguro, control de recursos, garantas de calidad de servicio y migracin de mquinas virtuales en caliente. Los sistemas operativos deben ser modificados explcitamente para ejecutar Xen (aunque manteniendo la compatibilidad con aplicaciones que el usuario tenga instaladas). Utiliza una tcnica llamada paravirtualizacin con la que puede alcanzar alto rendimiento (es decir, bajas penalizaciones del rendimiento, tpicamente alrededor del 2%, con los peores casos de rendimiento rondando el 8%; esto contrasta con las soluciones de emulacin que habitualmente sufren penalizaciones de un 20%). Con la paravirtualizacin, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con tcnicas tradicionales de virtualizacin.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 18 Instalacin y configuracin de centralita VoIP basada en asterisk

A diferencia de las mquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware, Xen requiere portar los sistemas operativos para adaptarse al API (interfaz de programa) de Xen. Hasta el momento hay ports (traducciones o versiones de un mismo programa) para NetBSD, Linux, FreeBSD y Plan 9. Novel ha realizado un port de NetWare para Xen. Un port de Windows XP fue creado durante el desarrollo inicial de Xen, pero las licencias de Microsoft prohben su lanzamiento pblico. Las mquinas virtuales Xen pueden ser migradas en caliente entre equipos fsicos sin pararlos. Durante este proceso, la memoria de la mquina virtual es copiada iterativamente al destino sin detener su ejecucin. Una parada muy breve de alrededor de 60 a 300 milisegundos es necesaria para realizar la sincronizacin final antes de que la mquina virtual comience a ejecutarse en su destino final. Una tecnologa similar es utilizada para suspender las mquinas virtuales a disco y cambiar a otra mquina virtual.

2.4 ASTERISK : Una vez que tengamos nuestra distribucin plenamente operativa, en RAID con una distribucin DEBIAN como mquina principal y otra DEBIAN virtualizada, vamos a instalar el software ASTERISK que se incluye en los repositorios (almacenes de paquetes) de DEBIAN. Asterisk es una aplicacin de software libre (bajo licencia GPL) de una central telefnica (PBX). Como cualquier PBX, se puede conectar un nmero determinado de telfonos para hacer llamadas entre s e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto bsicos como primarios.

Asterisk incluye muchas caractersticas anteriormente slo disponibles en sistemas costosos propietarios PBX como buzn de voz, conferencias, distribucin automtica de llamadas, y otras muchas ms. Los usuarios pueden crear nuevas funcionalidades escribiendo un dialplan en el lenguaje de programacin de script de Asterisk o aadiendo mdulos escritos en lenguaje C o en cualquier otro lenguaje de programacin soportado por Linux.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 19 Instalacin y configuracin de centralita VoIP basada en asterisk

Para conectar telfonos estndar analgicos son necesarias tarjetas electrnicas telefnicas FXS o FXO fabricadas por Digium u otros proveedores compatibles con Asterisk, ya que para conectar el servidor a una lnea externa no basta con un simple mdem. Quiz lo ms interesante de Asterisk es que soporta muchos protocolos VoIP como pueden ser SIP, H.323, IAX y MGCP. Asterisk puede interoperar con terminales IP actuando como un registrador y como gateway entre ambos. Lejos de poder competir con las compaas que comercializan soluciones de VoIP hardware/software de alta calidad como Alcatel-Lucent, Cisco, Avaya, Nortel, Linksys o Thompson, Asterisk se empieza a adoptar en algunos entornos corporativos como solucin de bajo coste y esta pasando a ser asequible a PYMES para las que hasta hace poco no haba soluciones en buena relacin prestaciones precio que les permitieran mejorar sus comunicaciones.

2.5 SUBSISTEMA ZAPTEL (ZAPATA TELEPHONY) : Es un software que permite operar con las tarjetas de comunicaciones, siendo una especie de puente entre estas y Asterisk. Contiene los drivers para configurarlas y es imprescindible su correcta instalacin y configuracin para el funcionamiento de una centralita IP.

2.6 SOFTPHONE VOIXPHONE : Un Softphone (en ingls combinacin de Software y de Telephone) es un software que hace una simulacin de telfono convencional por ordenador. Es decir, permite usar el ordenador para hacer llamadas a otros Softphone o a otros telfonos convencionales usando algn tipo de enlace, como por ejemplo una centralita IP. Normalmente, un Softphone es parte de un entorno Voz sobre IP y puede estar basado en los estndares SIP/H.323/IAX o protocolos privativos. Hay muchas implementaciones disponibles, aunque el ms usado y conocido es sin lugar a dudas el Microsoft Messenger.

Los Softphone ms utilizados basados en el protocolos SIP/IAX actualmente son eyeBeam, OpenWengo, Nexge, sipXphone, Adore Softphone, Express Talk, Zoiper, SJPhone, Ekiga y VoixPhone. Funcionan bien con la mayora de los proveedores de

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 20 Instalacin y configuracin de centralita VoIP basada en asterisk

servicios de telefona por Internet. Se puede llamar con ellos usando un telfono USB o auricular y obtener un servicio gratuito VoIP de telfono a telfono. El muy popular Skype no es simplemente un Softphone sino un servicio P2P VoIP. Los Softphone son realmente parte de un grupo tecnolgico mayor, el CTI (Computer Telephone Integration). Algunos Softphone estn implementados completamente en software, que se comunica con las PBX (centralitas) a travs de LAN (Red de rea Local) para controlar y marcar a travs del telfono fsico. Se hace a travs de un entorno de centro de llamadas, para llamar usando una base de datos de clientes o para recibir llamadas. En estos casos la informacin del cliente aparece en la pantalla de gestin cuando el telfono suena, dando a los operadores del centro de llamadas determinada informacin sobre quin est llamando, cmo recibirlo y dirigirse a esa persona.

Hemos optado por VoixPhone porque tiene versiones libres, y es un cliente VoIP con mltiples opciones que pese a su potencia no consume excesivos recursos del sistema. Tiene versin para Windows con lo que si queremos realizar pruebas desde algn sistema operativo propietario, tendramos la posibilidad.

2.7 CDR ASTERISK : Sorprendiendo una vez ms, resulta que Asterisk almacena todo el trfico de llamadas tanto entrantes como salientes en bases de datos. En esas bases de datos tenemos identificado el telfono o extensin que se ha visto involucrado en la llamada, cunto tiempo ha empleado en dicha llamada, hora de inicio y final, amn de mucha ms informacin. Esta informacin nos puede ayudar a gestionar con eficiencia los recursos humanos y de comunicacin de los que disponemos.

Entre la informacin que podemos obtener del sistema de analtica de llamadas de Asterisk tenemos informes de llamadas diarias o mensuales por extensin, trfico total de llamadas, comparativa de llamadas con das anteriores, llamadas por nmeros especficos mediante criterios de bsqueda y todo ello presentado en atractivas grficas que nos muestran con claridad la informacin solicitada.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 21 Instalacin y configuracin de centralita VoIP basada en asterisk

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 22 Instalacin y configuracin de centralita VoIP basada en asterisk

MTODO

OBTENCIN Y PREPARACIN DEL SOFTWARE DEBIAN Para poder comenzar la instalacin de nuestra centralita IP, lo primero que hemos de hacer es conseguir el sistema operativo que vamos a instalar. En este caso hemos de conseguir la distribucin de LINUX denominada DEBIAN. Al ser software libre, se puede descargar desde Internet. La pgina web desde donde se puede descargar es www.debian.org y ms exactamente desde este enlace http://cdimage.debian.org/debian-cd/4.0_r3/amd64/iso-cd/debian-40r3-amd64netinst.iso el cual nos permite descargar la versin AMD64 NETINSTALL SMALL CD ESTABLE. Para tipo de procesador podemos usar una versin de LINUX que aprovecha al mximo sus caractersticas y es por eso que siendo el nuestro un AMD64 descargamos la distribucin apropiada. Aparte de eso, tambin existen diferentes versiones de formulas de instalacin, y podemos elegir una u otra en funcin del uso que le vayamos a dar a nuestro ordenador. La formula de instalacin ms comn es la descarga de un CD o DVD que contiene el sistema operativo LINUX completo, ms mltiples programas y aplicaciones. Pero en nuestro caso, para no cargar el sistema de aplicaciones que en nuestro servidor de telefona IP no vamos a utilizar, hemos descargado una versin NETINSTALL que lo que hace es instalar una base muy pequea del sistema operativo y que posteriormente a travs de Internet adquiere el resto de aplicaciones y programas que sean necesarios en funcin de las selecciones que realicemos durante la instalacin. Es por lo que a esta versin, al ser muy reducida y entrar en un CD ms pequeo que los habituales, se le llama SMALL CD (pequeo CD). Una vez descargada la imagen ISO a un ordenador, tenemos que grabarla en un CD para poder usarla. Para ello podemos usar nuestro ordenador habitual instalado con LINUX y usar una de las aplicaciones de LINUX ms conocida para grabar CD que se llama BRASERO. Si no lo tenemos instalado, podemos conseguirlo escribiendo en consola

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 23 Instalacin y configuracin de centralita VoIP basada en asterisk

sudo aptitude install brasero lo que har que lo tengamos disponible en el men Aplicaciones Sonido y Vdeo. Al pulsar en el icono del programa, nos saldr una pantalla como la siguiente en la que tenemos que seleccionar la opcin Grabar imagen

al pulsar en dicha opcin nos sale otra pantalla en la que tenemos que pulsar donde pone ruta

y seleccionamos el archivo que hemos descargado (debian-40r3-amd64-netinst.iso en nuestro caso o el que est disponible en Internet en ese momento) con lo que el botn

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 24 Instalacin y configuracin de centralita VoIP basada en asterisk

Grabar que estaba sombreado, permitir ser pulsado, realizando la copia a CD si lo tuvisemos insertado, o pidindonos que le suministremos un CD virgen para proceder a realizar la copia del mismo. En caso de no disponer de un ordenador con LINUX, en este proyecto no damos soporte a software propietario, con lo que la grabacin del CD corre a cargo del lector :) pues Windows a da de hoy no dispone de ninguna herramienta gratuita para poder grabar imgenes de CD.

INSTALACIN Y CONFIGURACIN DE DEBIAN Para proceder a la instalacin de la distribucin de LINUX DEBIAN (en adelante simplemente la denominaremos Debian), hay que asegurarse de que en BIOS del ordenador que se va a utilizar est configurada la opcin de arranque desde la unidad de CD. Debido a que esto suele venir configurado por defecto y a la gran cantidad de placas base y BIOS diferentes que hay en el mercado, no creemos pertinente el explicar cmo se puede modificar dicha configuracin. Solo indicar que si se introduce en el lector o grabador del ordenador Debian copiado en un CD tal y como hemos descrito anteriormente debe de aparecer una pantalla en la que veremos el logotipo de Debian y un mensaje que nos invita a pulsar ENTER para continuar con la instalacin. Si hemos llegado hasta este punto, para facilitar la instalacin y para facilitarnos a nosotros el poder realizar capturas de pantalla de la instalacin, vamos a utilizar un entorno grfico de instalacin (instalacin mediante entorno de ventanas mediante uso del ratn). Para acceder a ese entorno grfico, es necesario que en la posicin donde nos aparece el mensaje que nos invita a pulsar ENTER en lugar de hacerlo, pongamos la orden installgui tal y como se indica a continuacin Press F1 for help, or ENTER to boot : installgui_ y posteriormente pulsamos la tecla ENTER. En unos segundos tendremos a nuestra disposicin una pantalla en la que se nos solicita el idioma en el que deseamos instalar Debian, y nosotros vamos a seleccionar Spanish Espaol

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 25 Instalacin y configuracin de centralita VoIP basada en asterisk

A partir de aqu vamos a ir seleccionando las siguientes opciones para realizar la instalacin: REGIN : Espaa LOCALIZACIN : es_ES.UTF-8 En la pantalla que nos aparece a continuacin se nos piden idiomas adicionales para los que queremos que Debian tenga soporte. En nuestro caso no vamos a indicar ninguno, aunque habr quien desee modificar esta opcin y aadir uno o ms idiomas. Sintase libre de modificar esta o cualquier otra opcin a su discrecin, puesto que para eso estamos usando software libre. Pulse en Continuar cuando termine la seleccin. IDIOMA DEL TECLADO : Espaol (viene por defecto) Seguidamente nos aparece un mensaje en pantalla en el que se nos informa de que se est intentando configurar la red buscando un servidor DHCP (un servidor de asignacin automtica de direcciones de red). Lo normal es que nuestra red disponga de dicho servidor, ya que normalmente todos los ROUTERS, (dispositivos de interconexin entre redes con los que habitualmente conectamos nuestros ordenadores a Internet), tienen un servidor de este tipo. En el caso de que no exista ningn servidor DHCP en nuestra red, nos saldran unas opciones en las que se nos permitira modificar manualmente los parmetros de nuestra red de rea local. Debido a que una configuracin de este tipo tampoco entra en lo que consideramos los objetivos fundamentales de este proyecto, dejamos en manos del usuario el informarse para configurar adecuadamente las direcciones IP y resto de parmetros necesarios para conectar correctamente a Internet el ordenador usado para la configuracin de la centralita.

Si todo ha salido bien aparecer una pantalla en la que se nos pedir el nombre que deseamos ponerle a nuestro servidor de telefona. Nosotros le vamos a llamar gestormv (ya que este servidor va a gestionar nuestras mquinas virtuales) y pulsaremos en Continuar para proceder a introducir el nombre de dominio que vamos a utilizar en nuestra red. Tal y como nos indica este dato puede ser real o inventado. Ha de ser real si tenemos los conocimientos necesarios para integrar nuestro servidor en un dominio en el

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 26 Instalacin y configuracin de centralita VoIP basada en asterisk

que vaya a interactuar con otros servidores y clientes, o podemos sencillamente poner un nombre que nos resulte sugestivo. En este caso nuestro dominio se llamar proyectoasterisk.net. Llegamos al particionado de discos. Lo primero que tenemos claro es que deseamos tener un servidor que sea lo ms seguro posible y para eso hemos decidido el particionar los dos discos duros de los que disponemos en RAID1 (configuracin de discos en espejo ya mencionada en el apartado 2.2 del captulo MATERIALES). Para cargar los paquetes software necesarios hemos de seleccionar en la pantalla de particionado de discos la opcin Manual, con lo que nos aparecer la informacin de los discos duros y del espacio libre que tienen para poder realizar la instalacin. Debido a que nuestros discos duros estn totalmente vacos, disponemos del 100% del espacio libre para configurar las particiones en las que posteriormente vamos a proceder a instalar Debian, as que pulsamos doble click en la primera particin vaca (donde pone pri/lg xxx.xx GB ESPACIO LIBRE) y en la siguiente pantalla seleccionamos la opcin Crear una particin nueva para poder elegir que capacidad del disco duro vamos a dedicar a la particin que deseamos crear. Tenemos disponible todo el disco duro y por defecto nos selecciona el tamao mximo, as que tendremos que indicarle que deseamos una particin de 2GB (que usaremos como particin de intercambio o SWAP). Como hemos indicado antes, sintase libre de modificar la capacidad usada para las particiones. En la bibliografa hay un enlace a una pgina web en la que explican cul es el tamao ideal de la particin de intercambio para cada tipo de instalacin. Para quien no est familiarizado con el concepto de la memoria de intercambio, aclarar que se trata de un espacio del disco duro que el sistema operativo usa como memoria RAM y en el que se almacenan los procesos que tienen poco uso, permitiendo dejar la memoria RAM libre para otros programas y procesos. PARTICIN : Primaria POSICIN : Principio Seleccionamos Utilizar como: sistema ext3 transaccional y en la siguiente pantalla pulsamos sobre rea de intercambio, lo que nos devolver a la pantalla anterior que se nos mostrar modificada con la seleccin que hemos realizado. Pulsamos en Se ha terminado de definir la particin y veremos que el disco duro en el

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 27 Instalacin y configuracin de centralita VoIP basada en asterisk

que hemos creado la particin de intercambio ahora presenta una particin nueva llamada > #1 primaria 2GB f intercambio intercambio, justo debajo de la cual tenemos el espacio libre disponible para generar ms particiones. Pulsamos en pri/lg xxx.xx GB ESPACIO LIBRE Crear una particin nueva Continuar PARTICIN : Primaria En este punto volvemos seleccionar Utilizar como: sistema ext3 transaccional y en la siguiente pantalla seleccionaremos volumen fsico para RAID, lo que nos devolver a la pantalla anterior que se nos mostrar modificada con la seleccin que hemos realizado. Pulsamos en Se ha terminado de definir la particin y estaremos de nuevo en la pantalla inicial en la que se nos mostrar una particin RAID llamada > #2 primaria 318 GB k raid. Hemos de repetir toda la operacin de creacin de particiones con el segundo disco duro, y nos tiene que quedar la pantalla de configuracin de particiones con algo parecido a la captura que vemos a continuacin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 28 Instalacin y configuracin de centralita VoIP basada en asterisk

Seleccionamos Configurar RAID por software para hacer que las particiones que hemos creado se unan creando el espejo. Para ello en la siguiente pantalla se nos indica que hay que realizar unos cambios IRREVERSIBLES que van a destruir la informacin de los discos duros. Seleccionamos S y Continuar. Llegaremos a la configuracin MD-RAID (configuracin Multi-Disco RAID). Crear un dispositivo MD TIPO : RAID1 ACTIVOS : 2 Nos pregunta cuntos dispositivos libres vamos a usar. Los dispositivos libres son discos duros particionados para RAID, pero que se quedan en estado latente a la espera de que alguno de los discos duros que estn en uso falle, pasando en ese momento a estar activo y a suplir la carencia del disco duro defectuoso. En nuestro caso no hemos querido tener este sistema de seguridad extra, con lo que dejamos la opcin que viene por defecto (0 discos) y Continuar. Llegamos a una nueva pantalla de configuracin de RAID en la que se nos solicita que marquemos dos particiones como dispositivos activos. En nuestra instalacin nos aparecen dos pequeos recuadros junto a los que nos aparecen

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 29 Instalacin y configuracin de centralita VoIP basada en asterisk

las reseas /dev/sda1 y /dev/sdb1. Ni que decir tiene que hemos de marcar los dos recuadros y Continuar lo que nos hace regresar a la pantalla de configuracin MDRAID. Como ya hemos terminado de configurar nuestro sistema multi-disco en RAID1, podemos Terminar. Volvemos a la pantalla inicial donde hemos configurado las particiones, la cual ha cambiado y ahora se nos presenta un nuevo disco llamado Dispositivo RAID1 #0 xxx.xx GB dispositivo RAID por software bajo el que aparece como est configurada la particin RAID. Para poder acceder a dicha particin y modificarla, pulsaremos doble click sobre > #1 xxx.xx GB. Volvemos a estar en una pantalla conocida, as que iremos rpido. Utilizar como: no utilizar, sistema ext3 transaccional Punto de montaje: ninguno / - sistema de ficheros raz Se ha terminado de definir la particin Finalizar el particionado y escribir los cambios en el disco Y aunque nos parezca increble, solamente nos falta seleccionar S y Continuar para tener nuestro sistema asegurado mediante un disco duro espejo. ZONA : Pennsula Para realizar cualquier operacin crtica en el servidor, ste nos solicitar una contrasea de superusuario. La contrasea ha de ser eficiente en trminos de seguridad, con lo que debe tener letras, nmeros, smbolos y ms de ocho caracteres. Para nuestra instalacin, vamos a poner como contrasea de root aste-2008*risk. Pulsamos en Continuar y se nos solicita el nombre de un usuario para acceder al sistema. Aqu puedes introducir tu nombre, Continuar. Ahora el nombre con el que el usuario va a acceder a la cuenta del servidor que es operador (Continuar) y la contrasea operador2008 (Continuar). Es importante tener en cuenta que Debian distingue entre maysculas en minsculas. Debian nos solicita una replica de red de la instalacin para configurar el Gestor de paquetes. Esto es debido a que el CD de Debian que estamos usando tiene solamente los programas necesarios para comenzar las instalacin, pero no el sistema operativo completo, hemos de descargar desde una copia en Internet todos los programas que

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 30 Instalacin y configuracin de centralita VoIP basada en asterisk

necesitemos. Seleccionamos lo siguiente : CONFIGURAR REPLICA : Si REPLICA : Espaa SELECCIN DE REPLICA : Continuar ENCUESTA DE PAQUETES : S TIPO DE INSTALACIN : Sistema estndar GRUB : S Finalmente la instalacin expulsa la bandeja del lector de CD (de la que hemos de extraer la copia de Debian desde la que hemos estado instalando) y nos informa de que la instalacin a concluido. Pulsemos felices en Continuar y el sistema se reiniciar para que podamos comenzar a trabajar con nuestro servidor.

INSTALACIN Y CONFIGURACIN DE SERVIDOR XEN Vamos a proceder a la instalacin del servidor XEN. Para ello hemos de iniciar sesin en nuestro servidor con el usuario operador que hemos creado durante la instalacin. Una vez dentro del terminal del servidor, cambiamos la sesin a modo root con la instruccin su, que nos pedir la contrasea de administracin. Ahora instalamos los paquetes necesarios para XEN. Para instalarlos hemos de introducir el siguiente comando : aptitude install screen ssh debootstrap python python-twisted iproute bridge-utils libcurl3-dev Al hacerlo nos indicar que va a adquirir unos 25MB de archivos desde los repositorios a lo que diremos que s. Durante el proceso puede ser que el sistema nos solicite la insercin del CD de instalacin de Debian. Una vez finalizado el proceso vamos instalar un meta paquete (conjunto de paquetes que hacen que una aplicacin funcione) que nos instalar XEN : aptitude install xen-linux-system-2.6.18-6-xen-amd64

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 31 Instalacin y configuracin de centralita VoIP basada en asterisk

Igualmente solicitar la descarga de los paquetes. Una vez instalados, hay que tener en cuenta que XEN solamente permite por defecto el uso de cuatro mquinas virtuales, pero en nuestra instalacin es probable que necesitemos ms. Es por lo que vamos a cambiar en GRUB (el gestor de arranque del sistema) un valor para permitir hasta 6 mquinas virtuales. Para hacerlo hemos de usar un procesador de textos de consola de los muchos que vienen con Debian (Emacs, vi, joe, nano, etc) y editar el archivo menu.lst aadiendo al final de la lnea module /boot/vmlinux-2.6.18-6-xen-amd64 root=/dev/sda1 ro console=tty0 la instruccin max_loop=X donde X es la cantidad mxima de mquinas virtuales que queremos tener en ejecucin. En este caso nosotros vamos a asegurarnos de que la linea quede as: module /boot/vmlinux-2.6.18-6-xen-amd64 root=/dev/sda1 ro console=tty0 max_loop=8. Para editar el fichero la instruccin y la ruta es vi /boot/grub/menu.lst En una instalacin normal, el siguiente paso sera configurar la tarjeta de comunicaciones Digium mediante el driver existente para Debian, pero debido a que queremos que la tarjeta funcione en una mquina virtual, hay que indicarle al sistema que tiene que enmascarar el funcionamiento de la tarjeta Digium y hacer que la use una mquina virtual. Para ello lo primero que hemos de hacer es comprobar en qu direccin del BUS PCI est detectada la tarjeta. Usamos la instruccin lspci -v que nos suministra informacin en pantalla de todos los recursos PCI usados, y buscamos donde nos pone algo similar a lo siguiente (cambia en funcin de cada marca y modelo de tarjeta de comunicaciones) : 01:06.0 Ethernet controller Digium Inc. Unknown device 8005.

Esto nos informa que la direccin 01:06.0 es la que vamos a indicar a la mquina virtual para que use en exclusiva la tarjeta de comunicaciones. Es importante comprobar en el resultado devuelto por lspci que ninguna otra tarjeta ni dispositivo del sistema est ocupando la misma direccin, puesto que podra provocar problemas. Si algo estuviese usando la misma direccin debemos intentar solucionarlo cambiando la tarjeta de slot PCI o deshabilitando en la BIOS del servidor dispositivos que no sean necesarios, tales como puertos serie, paralelo, firewire, etc. Y para que XEN use la tarjeta en exclusiva hemos de volver a editar el archivo menu.lst y aadir a la linea de XEN, que hemos modificado anteriormente para poder tener ms mquinas virtuales, la instruccin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 32 Instalacin y configuracin de centralita VoIP basada en asterisk

pciback.hide=(01:06.0). Una vez modificado reiniciamos el servidor con reboot. Al reiniciar entramos ya con la opcin de GRUB que hemos estado modificando (la opcin que carga XEN. Ahora tenemos que indicar al sistema que la gestin de red que van a usar las mquinas virtuales ser pasando por la mquina principal. Para ello hemos de editar como administrador de sistema el fichero xend-config.sxp vi /etc/xend-config.sxp y buscamos la linea # (network-script network-bridge), a la que le hemos de eliminar la # para que este activa. Y hemos de hacer la operacin inversa con la linea (networkscript network-dummy) a la que le tenemos que aadir # delante para que no se tenga en cuenta a la hora del inicio de XEN. Para que los cambios realizados en la configuracin de XEN sean operativos hemos de reiniciar el demonio (daemon) que lo gestiona. Un demonio es un programa que entra en funcionamiento al iniciar el sistema y que realiza una labor de manera transparente al usuario, sin que tenga que intervenir para nada en su ejecucin o gestin. Existen demonios que estn funcionando para comprobar cuando se inserta un dispositivo USB o que comprueban si existen peticiones de acceso al servidor por ftp, ssh, etc. Para poder reiniciar el demonio que gestiona XEN hemos de introducir la instruccin /etc/init.d/xend restart que hace que tengamos finalmente configurado y en espera nuestro servidor XEN. Ahora vamos a crear nuestra primera mquina virtual en la que vamos a instalar Asterisk. En primer lugar hemos de crear un usuario para almacenar las mquinas virtuales. Le vamos a llamar mvirtual. Para crear el usuario usamos adduser mvirtual y entramos en la carpeta /home de dicho usuario cd /home/mvirtual

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 33 Instalacin y configuracin de centralita VoIP basada en asterisk

creamos un directorio para almacenar las mquinas virtuales mkdir maquinas y accedemos al directorio cd maquinas creamos las imgenes del sistema de archivos que vamos a usar para la mquina virtual, necesitando una particin que nosotros vamos a generar de 20GB en ext3 para el sistema y otra particin de 500Mb para intercambio. Creamos las imgenes con dd if=/dev/zero of=mvasterisk.img bs=1024k count=20000 dd if=/dev/zero of=mvasterisk-swap.img bs=1024k count=500 y le indicamos a cada imagen el sistema de archivos que va a usar (nos avisar de que mvasterisk.img es un dispositivo especial de bloques y pedir autorizacin) mkfs.ext3 mvasterisk.img mkfs.ext3 mvasterisk-swap.img Ya tenemos preparadas las mquinas virtuales para instalarles el sistema operativo sobre el que va a correr Asterisk. Para instalar el sistema operativo, lo haremos directamente desde Internet mediante la instruccin debootstrap que descarga, con una sola lnea de comando, lo imprescindible para que funcione un sistema Debian. Para hacerlo primero creamos una carpeta temporal para montar, (almacenarlo en una carpeta a la que Debian tenga acceso), el sistema de archivos ext3 que hemos creado para la mquina virtual mkdir /home/mvirtual/maquinas/temporal montamos la imagen virtual mount -o loop /home/mvirtual/maquinas/mvasterisk.img /home/mvirtual/maquinas/

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 34 Instalacin y configuracin de centralita VoIP basada en asterisk

temporal/ instalamos el sistema desde Internet debootstrap --arch amd64 etch /home/mvirtual/maquinas/temporal/

http://ftp.es.debian.org/debian Esto iniciar un proceso de descarga de archivos del sistema operativo nos dar el mensaje I: Base system installed successfully si todo ha salido bien. En este momento tenemos un sistema Debian instalado en el sistema de archivos que hemos creado con anterioridad y que hemos montado en el directorio temporal/ (si miramos en el directorio, veremos una estructura de rbol de ficheros clsica de Debian). Vamos a conectar con este nuevo sistema operativo. Para hacerlo, vamos a usar la instruccin chroot /home/mvirtual/maquinas/temporal/ Un entorno chroot sirve para trabajar "como si" tuviramos un rbol de ficheros diferente. Esto sirve para simular, por ejemplo, que tenemos instalado un cierto conjunto de paquetes, o incluso distribuciones Linux enteras. Por ejemplo, en una mquina instalada con Debian estable podemos crear un directorio donde instalemos Debian inestable para probar algunos paquetes ms actualizados. Una vez que tenemos montado el entorno chroot, podemos preparar de forma sencilla unos scripts (programas) para ejecutar aplicaciones que residen en l de forma casi transparente. As podemos utilizar aplicaciones de una versin ms nueva de Debian sin tener que reinstalar todo el sistema. Esto significa que desde el momento en el que hemos ejecutado la instruccin chroot temporal/ estamos dentro de un nuevo sistema operativo y las operaciones que hagamos sobre el mismo no afectan al sistema base sobre el que se est ejecutando. Todos los comandos que escribamos a partir de ahora solamente afectaran a la mquina que hemos creado. chroot temporal/ El sistema base Debian adolece de no tener configurado absolutamente nada de lo que

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 35 Instalacin y configuracin de centralita VoIP basada en asterisk

nos va a hacer falta, con lo que hemos de adquirir desde los repositorios de Debian los paquetes con los programas que vamos a usar. En primer lugar obtenemos el editor de textos que vayamos a usar, en nuestro caso aptitude install vim con lo cual ya podemos editar el archivo sources.list para aadir los repositorios desde los que vamos a ir actualizando y mejorando nuestro sistema base vi /etc/apt/sources.list Hemos de asegurarnos que en el archivo que estamos editando aparezcan las siguientes lneas (si no estn, hemos de aadirlas): deb http://ftp.es.debian.org/debian/ etch main deb-src http://ftp.es.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib y una vez aadidas y guardado el archivo, hemos de actualizar nuestro sistema aptitude update aptitude dist-upgrade Instalamos el paquete locales que nos pondr el sistema en espaol mediante dos sencillas instrucciones aptitude install locales dpkg-reconfigure locales En el listado de locales que nos sale, seleccionamos es_ES.UTF-8 UTF-8 y en_US.UTF-8 UTF-8, con lo que tras darle a ok tendremos habilitados los idiomas Espaol e Ingls. Se nos solicita cul va a ser el idioma predeterminado, a lo que contestamos es_ES.UTF-8.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 36 Instalacin y configuracin de centralita VoIP basada en asterisk

Y ahora instalamos de una sentada varias aplicaciones tiles para nuestros fines de las cuales iremos viendo posteriormente su uso aptitude install ssh zip unzip screen less iftop psmisc udev Editamos el fichero que contiene el nombre de nuestra nueva mquina virtual vi /etc/hostname y le ponemos de nombre asterisk para que se llame as en nuestra red la mquina virtual, solamente tendramos que aadir la lnea asterisk Editamos un fichero de configuracin de gestin de dispositivos llamado fstab. Este fichero se encarga de configurar, al inicio del sistema, las particiones y dispositivos a los que va a tener acceso una mquina o servidor (ya sea real o virtual), para modificarlo vi /etc/fstab y aadir dos lineas como las indicadas a continuacin /dev/hda1 /dev/hda2 / none ext3 swap defaults sw 1 0 2 0

lo que har que nuestra mquina virtual sepa que dispone de una particin ext3 para el sistema y de otra particin swap para intercambio, no configurando ningn dispositivo tipo lector de DVD o almacenamiento USB. Solamente tendremos acceso a esta mquina virtual a travs de la red, la cual tambin tenemos que configurar, puesto que si no lo hacemos dejamos la mquina sin posibilidad de acceso. Para configurar la red modificamos el archivo interfaces vi /etc/network/interfaces aadiendo dos lineas que le indican cual es el interface de red que va a utilizar, que en nuestro caso no es una tarjeta de red fsica, sino una interconexin entre mquinas (en

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 37 Instalacin y configuracin de centralita VoIP basada en asterisk

este caso entre la virtual y la real). Las lineas a aadir son auto lo iface lo inet loopback auto eth0 iface eth0 inet static address netmask gateway 192.168.0.111 255.255.255.0 192.168.0.1

Seguimos configurando la red. Ahora le toca el turno al fichero hosts, en el que normalmente se indican las IP conocidas de mquinas a las que queramos tener acceso habitualmente, junto con su nombre en la red. En nuestro caso solamente vamos a indicar la direccin IP local vi /etc/hosts y aadimos 127.0.0.1 localhost.localdomain localhost

# Las siguientes lineas son convenientes para hosts con soporte Ipv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts Ha todo esto ya hemos terminado de realizar casi todas las modificaciones requeridas para que nuestra mquina virtual est terminada. Nos queda salirnos del chroot para que las operaciones que hagamos a partir de ahora se ejecuten en nuestra mquina real, para ello escribimos exit

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 38 Instalacin y configuracin de centralita VoIP basada en asterisk

y ya en la mquina real copiamos parte de los archivos de XEN dentro del rbol de archivos de la mquina virtual (el cual an tenemos montado en el directorio temporal). Para realizar la copia al sitio adecuado, la instruccin es cp -dpR /lib/modules/2.6.18-6-xen-amd64/ /home/mvirtual/maquinas/temporal/lib/modules tras lo que desmontamos de la carpeta temporal/ el archivo de imagen de la mquina virtual con la el comando umount umount temporal/ En este punto tenemos la maquina virtual con nombre de host mvbase almacenada en el archivo de imagen mvasterisk.img dentro del directorio /home/mvirtual/maquinas/ y preparada para entrar en funcionamiento. Vamos a crear una carpeta llamada asterisk y vamos a copiar dentro la mquina base con el nombre mv01.img (acrnimo de mquina virtual 01) . Es en esa mquina virtual donde vamos a instalar y configurar realmente Asterisk. Para ello mkdir /home/mvirtual/maquinas/asterisk cp -pf /home/mvirtual/maquinas/mvasterisk.img/ /home/mvirtual/maquinas/asterisk/mv01.img cp -pf /home/mvirtual/maquinas/mvasterisk-swap.img/ asterisk/mv01-swap.img Entramos en la recta final. Ahora tenemos que crear el fichero de configuracin de la mquina virtual en la mquina real, que le va a indicar a esta ultima como va a tener que gestionar los recursos hardware de los que dispone y que parte de esos recursos van a ser dedicados a la mquina virtual. Creamos el directorio mkdir /etc/xen/auto y creamos el fichero /home/mvirtual/maquinas/

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 39 Instalacin y configuracin de centralita VoIP basada en asterisk

vi /etc/xen/auto/asterisk.sxp con las siguientes instrucciones en su interior name=asterisk kernel=/boot/vmlinuz-2.6.18-6-xen-amd64 ramdisk=/boot/initrd.img-2.6.18-6-xen-amd64 root=/dev/hd1 ro memory=256 disk=['file:/home/mvirtual/maquinas/asterisk/mv01.img,hda1,w','file:/mvirtual/maqui nas/asterisk/mv01-swap.img,hda2,w'] vif=['mac='] dhcp=off pci=['01:06.0'] ip=172.16.0.211 netmask=255.255.255.0 gateway=172.16.0.1 hostname=asterisk extra='2' Creemos conveniente explicar someramente para qu sirven las instrucciones que hemos introducido en este fichero, por si el lector desea realizar modificaciones. Name es lgicamente el nombre de la mquina virtual (nombre que tendr en la red). Las lineas kernel y ramdisk hacen referencia a dos ficheros de imagen del kernel (ncleo del sistema operativo Linux) que estn almacenados en nuestra mquina principal y que son los que hacen que la mquina arranque, puesto que contienen la base del sistema. Al hacer referencia a ese kernel, la mquina virtual adquiere dicho ncleo y lo utiliza para su funcionamiento. El que esto sea un parmetro modificable es debido a que en un sistema Linux podemos tener instalados varios ncleos diferentes y usarlos en funcin de nuestras necesidades.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 40 Instalacin y configuracin de centralita VoIP basada en asterisk

La linea root indica cual va a ser el disco duro principal de la mquina virtual. En este caso nosotros le estamos indicando que es hda1. La linea memory indica cuanta de la memoria fsica de nuestra mquina real va a ser dedicada en exclusiva a la mquina virtual. La linea disk describe que archivos de imagen sern usados como discos duros y en que dispositivo se van a montar. La linea vif sirve para asignar a la tarjeta de red virtual de la mquina una direccin mac (direccin nica para cada dispositivo de red). Esto es debido a que si no le asignamos una mac, cada vez que iniciamos el sistema se crear aleatoriamente una nueva, que nos generar a su vez un nuevo dispositivo de red. Eso conlleva dificultades de configuracin que no nos podemos permitir. Es por ello que hay que poner una mac dentro de un rango que tiene asignado XEN por el organismo certificador IEEE. El rango es la mac cuyos tres primeros pares sean 00:16:e3:xx:xx:xx, debiendo sustituir las xx por los dgitos hexadecimales generados por el sistema en el primer inicio. La linea dhcp sirve para, en el caso de que tengamos un servidor dhcp, que la mquina virtual adquiera automticamente la direccin ip que le permita conectar a la red. La linea pci le dice a la mquina virtual que use en exclusiva un dispositivo pci con la direccin de bus que se le indica. El resto de parametros son obviamente la configuracin de red que el lector ha de adecuar los valores en funcin de sus necesidades. Ahora nos queda reiniciar nuestro servidor y volver a acceder como administrador sudo reboot introducir usuario y contrasea de operador su

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 41 Instalacin y configuracin de centralita VoIP basada en asterisk

introducir contrasea de root y ejecutar una orden que nos va a permitir conectarnos con nuestra mquina virtual xm console asterisk a partir de este momento estamos dentro de la mquina virtual asterisk, para acceder indicamos que el usuario es root (sin contrasea, puesto que an no se la hemos configurado a esta mquina), una vez accedemos a la consola de la mquina virtual, ejecutamos el comando que nos muestra los interfaces de red y sus parametros de configuracin ifconfig donde vemos que direccin fsica ha tomado la tarjeta de red eth0, la cual comenzar con 00:16:3e: y hemos de copiar completa para poder introducirla en el fichero de configuracin de XEN. Para ello cambiamos de consola con ALT+F3 (por ejemplo, aunque podemos usar cualquier de las otras consolas disponibles en Debian) y volvemos a seguir los pasos de acceso hasta ser usuario administrador. En ese momento editamos de nuevo el fichero vi /etc/xen/auto/asterisk.sxp y la linea con la instruccin vif debemos aadir la direccin mac que hemos copiado de los parametros del interface de red eth0 en la mquina virtual asterisk. La lnea debera de quedar mas o menos vif=['mac=00:16:3e:xx:xx:xx'] guardamos el fichero y hemos terminado de configurar XEN. Ahora podemos usar algunas instrucciones para controlar nuestra, de momento, nica mquina virtual.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 42 Instalacin y configuracin de centralita VoIP basada en asterisk

COMANDOS PARA GESTIONAR LAS MQUINAS VIRTUALES XEN Estar delante de una linea de comandos nos da poca informacin de como est configurado un sistema de mquinas virtuales, as que vamos a aprender un poco a

4.1 LISTAR MQUINAS VIRTUALES : Para ello hemos de usar la instruccin xm list que nos indica cuantas mquinas virtuales tenemos operativas y su estado, suministrando informacin til como el nombre de las mquinas (siendo Domain-0 la mquina real), la id asignada por XEN para referirnos a ellas, la memoria RAM asignada, las CPUS virtuales que van a ser usadas por cada mquina, el estado y los tiempos de proceso consumidos para saber que mquinas tienen ms carga de trabajo.

4.2 LISTAR RECURSOS CONSUMIDOS POR LAS MQUINAS : Usando el comando xm top podemos observar los recursos consumidos por las diferentes mquinas y ordenarlos por CPU, memoria, o cualquier otro parmetro que nos resulte til para poder asignar recursos del sistema a las diferentes mquinas.

4.3 AJUSTAR CANTIDAD DE MEMORIA USADA POR MQUINA : Con el comando xm mem set podemos repartir y modificar en caliente (estando las mquinas virtuales funcionando) la memoria del sistema e indicar cuanta queremos que use cada mquina virtual en un momento determinado. Si reiniciamos cualquiera de las mquinas, tomar la cantidad de memoria por defecto que se le haya indicado en el fichero de configuracion .sxp con el nombre de la mquina.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 43 Instalacin y configuracin de centralita VoIP basada en asterisk

4.4 INSTRUCCIONES DE PARADA : Con los comandos xm pause, xm reboot y xm shutdown podemos respectivamente pausar, reiniciar y apagar una mquina virtual. Una vez apagada la mquina virtual volveremos a la consola desde la que accedimos a ella o desde la que la iniciamos.

4.5 INSTRUCCIONES DE MIGRACIN : Con la instruccin xm migrate podemos mover una mquina virtual completa que est gestionando por ejemplo nuestra centralita y cambiarla de un ordenador a otro sin que en ningn momento (o solo unos pocos milisegundos) deje de funcionar nuestro sistema. Las posibilidades de esta instruccin son tremendas, ya que podemos mover un servicio desde una mquina situada en un pas a otra mquina en otro pas distinto.

4.6 INICIO MANUAL DE MQUINA XEN : Hemos configurado el sistema para que arranque automticamente nuestra mquina virtual, pero podramos iniciar mquinas que no deseemos que se ejecuten al inicio con la instruccin xm create /<ruta>/<nombre fichero .sxp>.

4.7 MTODOS DE ACCESO A MQUINA VIRTUAL XEN : Para poder acceder a nuestras mquinas virtuales, tenemos la opcin de conectarnos tal que si de un ordenador normal se tratase, a travs de cualquiera de los puertos de uso comn, tal que por ejemplo ssh, telnet, ftp, etc o podramos iniciar una sesin de consola con algn programa de gestin remota tipo PUTTY, pero la forma ms cmoda de acceder a nuestras mquinas virtuales cuando estamos en el equipo que las est ejecutando, es usar la instruccin xm console <nombre mquina virtual> con lo que se nos abrir un terminal de consola que nos pedir usuario y contrasea.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 44 Instalacin y configuracin de centralita VoIP basada en asterisk

Una vez introducidos, estaremos dentro de la mquina virtual, y podremos manipularla, instalarle paquetes (programas) y usar dichos programas, tal que si de un ordenador real se tratase. Para cerrar la consola de la mquina virtual, hay que usar la secuencia de teclas control + ] (smbolo de cerrar corchete).

INSTALACIN Y CONFIGURACIN DE ASTERISK. Para instalar Asterisk, en primer lugar reiniciamos nuestra mquina real para que todos los cambios que hemos realizado se ejecuten. Podemos comprobar si nuestra mquina virtual est operativa con la instruccin xm list que nos reportar informacin de Domain-0 (nuestra mquina real) y de Asterisk (nuestra mquina virtual). Para poder acceder a nuestra mquina virtual solamente tendremos que poner xm console asterisk y estaremos en una consola de la mquina virtual que nos solicita el usuario. Accedemos como usuario root sin contrasea y escribimos la instruccin passwd tras lo que el sistema nos solicita por dos veces una contrasea para el usuario administrador. El lector puede tomarse la libertad de elegir una contrasea, aunque recomendamos que cumpla los mnimos exigidos de seguridad que exponamos en el punto dos de este documento (denominado Instalacin y configuracin de Debian). Por fin estamos dentro de nuestra mquina virtual y autentificados como root. Vamos a instalar Asterisk.

El software de gestin PBX Asterisk est capacitado para trabajar con diferentes tarjetas de comunicaciones. Pero hemos de saber a que tipo de lnea telefnica nos vamos a conectar para poder instalar y configurar en nuestra mquina virtual la tarjeta adecuada. Nuestra lnea puede ser analgica (convencional) o digital (RDSI), en el caso de ser

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 45 Instalacin y configuracin de centralita VoIP basada en asterisk

digital podramos tener una linea de acceso BRI (acrnimo de Basic Rate Interface interface de tipo bsico) que nos proporciona dos canales de voz, o podramos tener una lnea PRI (acrnimo de Primary Rate Interface interface de tipo primario) que nos proporciona treinta canales de voz en formato de transmisin digital E1. Este ultimo solamente suele ser utilizado en medianas y grandes empresas. Pero como desgraciadamente no disponemos de una linea digital, vamos a centrarnos en lo que necesitamos para funcionar con lneas analgicas. Para ello se necesitan tarjetas con interfaces FXO (acrnimo de Foreign Exchange Office oficina de intercambio externo) que son dispositivos informticos que permiten conectar un ordenador a la red telefnica bsica (RTB) y mediante un software especial, realizar y recibir llamadas de telfono. Tambin necesitaremos interfaces FXS que son dispositivos que permiten conectar un telfono a un ordenador. Grosso modo podramos decir que los interfaces FXO son de entrada y los FXS son de salida. En nuestro caso, debido a que solo tenemos una lnea de telfono solamente vamos a necesitar un FXO y debido tambin a que los telfonos analgicos que vamos a utilizar los vamos a conectar a un dispositivo hardware que nos los va a transformar en extensiones IP, no necesitaremos conectar a nuestra tarjeta de comunicaciones ningn interface FXS. Un interface FXO fsicamente es un conector RJ11 como aquel en el que conectamos nuestros telfonos fijos en la pared de nuestras casas, y que gracias a las tarjetas de comunicaciones lo tenemos disponible en nuestro ordenador. Para instalarlo solo tenemos que conectar con un cable de telfono el ordenador a la pared.

5.1 PAQUETES BSICOS NECESARIOS. Para poder instalar Asterisk, necesitamos instalar antes unos cuantos paquetes desde los repositorios Debian. Para poder instalar dichos paquetes, solamente tendremos que copiar en la consola de nuestra mquina virtual, estando validados como administradores, la siguiente instruccin en la que vienen recogidos los nombres de los mismos aptitude install bison libncurses5-dev libnewt-dev zlib1g-dev libssl-dev initrdtools procps linux-headers-2.6.18-6-xen-amd64 build-essentials pciutils

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 46 Instalacin y configuracin de centralita VoIP basada en asterisk

libmysqlclient15-dev Con esto obtenemos libreras (conjuntos de pequeos programas para ser usados en programas ms complejos) y herramientas de compilacin (que permiten generar programas ejecutables a partir de lineas de cdigo de programacin). Estas herramientas de compilacin son indispensables para configurar nuestra tarjeta de comunicaciones y el software Asterisk. Es muy importante leer los resultados de las descargas e instalacin de los paquetes, ya que en ocasiones puede pasar que no sea correcto el nombre de alguno de ellos por cambio de la versin o cualquier otra circunstancia. En caso de que alguno fallara, hemos de mirar en los repositorios el nombre de la versin nueva y modificar la instruccin aptitude con nombre correcto del paquete.

5.2 DESCARGA Y COMPILACIN DEL SOFTWARE ASTERISK. Creamos y accedemos a una carpeta donde vamos a guardar el software necesario para instalar y configurar Asterisk mkdir asterisk cd asterisk y ejecutamos las instrucciones de descarga de la ultima versin de los paquetes necesarios desde la pgina web de la empresa Digium (creadora e impulsora de Asterisk) wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4current.tar.gz En el momento en el que nosotros nos descargamos estos paquetes ya existen en fase beta (fase de pruebas) unos paquetes correspondientes a la versin 1.6 y por

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 47 Instalacin y configuracin de centralita VoIP basada en asterisk

ello avisamos al lector que si las instrucciones de descarga no funcionan, acceda al ftp de Digium mediante un navegador web y compruebe cual es la ultima versin disponible para indicarlo en las instrucciones wget. Ahora descomprimimos y compilamos cada uno de los archivos que hemos descargado, para ello hemos de utilizar secuencialmente las siguientes instrucciones (tener en cuenta que pueden cambiar si cambian las versiones de los paquetes) tar -zxvf zaptel-1.4-current.tar.gz cd zaptel-1.4.10.1 ./configure make menuselect en este momento nos sale un men ZAPTEL MODULE SELECTION en el que usando los cursores entramos en todos los apartados y seleccionamos todos los mdulos, tras lo que pulsamos la tecla x para grabar los cambios Continuamos, (revisando que las instrucciones no generan ningn error), con make make install make config cd .. tar -zxvf libpri-1.4-current.tar.gz cd libpri-1.4.4 make make install cd .. tar -zxvf asterisk-1.4-current.tar.gz cd asterisk-1.4.19.2 ./configure make menuselect en el men dejamos todo por defecto, a excepcin de la seccin CORE SOUND PACKAGES en la que aadimos todos los paquetes de sonidos en

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 48 Instalacin y configuracin de centralita VoIP basada en asterisk

espaol marcando los puntos donde pone CORE-SOUNDS-ES-<formato audio>. Estos sonidos son locuciones que podremos usar en el contestador automtico de la centralita si no queremos generar unos ficheros de audio propios. Tambin podemos incluir los puntos 13 y 14 completos, lo que nos facilita msica para dejar llamadas en espera y complementos de sonido para usos varios. Pulsamos x para salvar y continuamos con la compilacin make make install make samples cd .. tar -zxvf asterisk-addons-1.4-current.tar.gz cd asterisk-addons-1.4.6 ./configure make menuselect no tocamos nada de la configuracin y pulsamos x para grabar make make install make samples cd / con lo que hemos terminado de instalar Asterisk y el software Zaptel, que contiene los drivers de la tarjeta de comunicaciones Digium TDM400P que estamos usando en nuestro servidor. Adems hemos instalado los mdulos necesarios para poder utilizar usar la informacin que genera Asterisk desde una base de datos y gestionar dicha informacin (CDR).

5.3 CONFIGURACIN INICIAL TRAS LA INSTALACIN. Ahora que tenemos instalado Asterisk, hemos de realizar unas modificaciones al sistema para que cada vez que lo iniciemos, cargue todo lo necesario para que nuestra centralita funcione. En primer lugar configuramos Zaptel con la zona donde nos encontramos y la cantidad de FXO y FXS que va a gestionar. Para

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 49 Instalacin y configuracin de centralita VoIP basada en asterisk

ello editamos vi /etc/zaptel.conf y como solamente vamos a usar una linea FXO, buscamos donde aparece fxsks=1 y si no existe lo aadimos. Si quisiramos aadir telfonos analgicos conectados directamente al ordenador en los hipotticos FXS que podramos instalar en nuestra tarjeta de comunicaciones, tendramos que asegurarnos que aparece la linea fxoks=1,2,3,4 (o el nmero de lineas que quisiramos gestionar). Dentro del mismo fichero hemos de modificar o aadir tambin donde pone loadzone por loadzone = es. Es conveniente hacer notar que para las lneas FXO estamos aadiendo la orden de seal fxsks (seal FXS) y viceversa para las lineas FXS. Esto es porque las tomas de entrada, requieren seal de salida y porque las tomas de salida requieren seal de entrada. Guardamos los cambios y continuamos. Para que los mdulos de Zaptel se carguen en el encendido de nuestra mquina virtual, hemos de modificar el fichero vi /etc/rc.local y aadir por encima de la instruccin exit 0 estos comandos /etc/rc.local/modprobe zaptel /etc/rc.local/modprobe wctdm ztcfg Guardamos, reiniciamos nuestra mquina virtual con reboot y volvemos a acceder a ella (con xm console asterisk y suministrando la contrasea de root). Con la instruccin ztcfg -vv nos aparecen los canales que tenemos disponibles para configurar. En nuestro caso nos aparece Channel 01 : FXS Kewlstart (Default) (Slaves : 01) indicando que tenemos un canal analgico disponible para darnos servicios de voz. Estamos en el buen camino, parece que todo

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 50 Instalacin y configuracin de centralita VoIP basada en asterisk

funciona.

5.4 Ficheros y directorios de Asterisk. En la instalacin, Asterisk a creado una serie de directorios y ficheros que es conveniente conocer, para proceder a la configuracin de las extensiones y conocer un poco mejor la aplicacin. Veamos una somera explicacin de lo que contiene cada uno. /etc/asterisk : Contiene los ficheros de configuracin. Gracias a haber ejecutado la instruccin make samples durante el proceso de instalacin, tenemos unos ejemplos de dichos ficheros de configuracin sobre los que podramos comenzar a funcionar.

/usr/lib/asterisk/modules : Contiene los mdulos de Asterisk que hemos compilado con las instrucciones make. /var/lib/asterisk : Aqu estn almacenadas las libreras (archivos que contienen secciones de programa o subprogramas que son necesarios para el funcionamiento de otro programa ms complejo). /var/lib/asterisk/agi-bin : Directorio para contener los AGI (acrnimo de Asterisk Gateway Interfaces), que son interfaces para poder integrar PHP, C, PERL y otros lenguajes de programacin con Asterisk. /var/spool/asterisk : Directorio de almacenamiento de archivos generados por Asterisk durante su funcionamiento. Estos archivos pueden ser por ejemplo de audio, generados por el contestador automtico al grabar los mensajes de los usuario y almacenarlos para ser enviados por correo electrnico al usuario de la extensin que ha recibido la llamada. Tambin pueden ser documentos de imagen de fax, etc.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 51 Instalacin y configuracin de centralita VoIP basada en asterisk

/var/log/asterisk : Almacn de los archivos log de Asterisk. Un archivo log es un archivo de texto plano en el que se plasma cualquier accin que realiza un programa, servidor o aplicacin. Aqu podremos encontrar informacin pormenorizada de que ha hecho Asterisk desde el inicio de sistema, hasta la ultima de las llamadas emitidas o recibidas con informacin relativa a las mismas. Aqu se almacenan los archivos de los que se alimenta el CDR de Asterisk que nos va a suministrar informacin estadstica de las llamadas.

5.5 ASTERISK CLI (COMMAND LINE INTERFACE) : Asterisk dispone de una interfaz de comandos (como una consola de Linux, pero que incluye instrucciones que afectan directamente al funcionamiento de la centralita). La cantidad de instrucciones de manipulacin y gestin es inmensa y no est a nuestro alcance el hacer un manual pormenorizado de cada una de ellas. Durante la configuracin de la centralita vamos a usar apenas dos o tres instrucciones y para quin desee profundizar en el tema, en la bibliografa hemos indicado unas cuantas pginas web que explican (en ingles) el uso de los diferentes comandos. Para iniciar Asterisk y acceder al CLI solamente tendramos que escribir la instruccin asterisk -vvvvvvvvvvc (no usar)

aunque lo normal no es que se acceda al CLI Asterisk mediante este mtodo, sino escribiendo la instruccin asterisk que arranca la aplicacin en segundo plano y accediendo al CLI mediante la instruccin asterisk -vvvvvvvvvvr En el CLI existen instrucciones para crear extensiones, perfiles, gestionar codecs (interpretes) de audio y etc. Estas instrucciones no las vamos a utilizar,

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 52 Instalacin y configuracin de centralita VoIP basada en asterisk

puesto que vamos a realizar las modificaciones a pelo en los ficheros de configuracin. Esperamos en futuras revisiones de este proyecto, el aadir un manual completo del CLI Asterisk. Para salir del CLI se usa el comando exit. Hasta este punto, si hemos introducido la instruccin asterisk, tenemos nuestra centralita funcionando y corriendo en segundo plano.

5.6 CONFIGURACIN INICIAL DE FICHEROS DE ASTERISK; LNEA, EXTENSIONES Y CONTEXTOS. Durante el proceso de instalacin, se nos han generado en la carpeta /etc/asterisk una serie de archivos de configuracin a los que si echamos una mirada, veremos que traen una cantidad brutal de informacin. En particular los que ms nos interesan son tres, denominados zapata.conf, extensions.conf y sip.conf. Los ficheros generados automticamente por asterisk en /etc/asterisk tienen una configuracin base y comentarios antes de cada instruccin que explican (en ingls) qu hacen todos y cada uno de los parametros usados en estos archivos. Casi todos los parametros estn comentados para que no tengan efecto, puesto que la mayor parte de ellos se usan solamente en configuraciones muy complejas de entornos de red. Para evitar confusiones y clarificar lo que vamos haciendo, renombramos los ficheros, llamndolos por ejemplo copiazapata.conf, copiaextensions.conf y copiasip.conf, para tener acceso a la informacin que suministran en caso de que la necesitemos. Para renombrar podemos usar la instruccin mv /etc/asterisk/zapata.conf /etc/asterisk/copiazapata.conf mv /etc/asterisk/extensions.conf /etc/asterisk/copiaextensions.conf mv /etc/asterisk/sip.conf /etc/asterisk/copiasip.conf El fichero zapata.conf es el que configura los canales (lineas telefnicas) que va a tener activos nuestra tarjeta de comunicaciones. Como en este caso solamente vamos a tener un canal, vamos a editar el archivo y a introducir las instrucciones para activar y gestionar ese canal

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 53 Instalacin y configuracin de centralita VoIP basada en asterisk

vi /etc/asterisk/zapata.conf e insertamos lo siguiente [channels] language usercallerid hidecallerid callwaiting transfer immediate faxdetect busydetect group context busycount immediate signalling echocancel = es = yes = no = yes = yes = yes = yes =1 =7 = yes = fxs_ks = yes ; afecta a todos los canales configurados ; selecciona el lenguaje ; identifica la llamada ; oculta la identificacin de llamada ; activa la llamada en espera ; activa la llamada a tres ; permite transferir las llamadas ; ; detecta si la linea esta ocupada ; Indica que esta ser la linea Zap 1 ; ; ; tipo de seal que usa la linea ; cancelacin de eco

threewaycalling = yes

= both ; detecta si la llamada recibida es un fax

= inicio ; contexto al que va a dirigir la linea la llamada

echocancelwhenbridged = yes answeronpolarityswitch = yes hanguponpolarityswitch = yes rxgain txgain channel Digium ahora editamos por primera vez un extensions.conf limpio al que vamos a introducir dos contextos para realizar las pruebas de emisin y recepcin de llamadas. Un contexto es una secuencia de ordenes que englobamos con etiquetas para clarificar su funcionamiento. En este caso vamos a crear un contexto [inicio] que haga que se reciban llamadas desde la extensin 100 y otro = 0.5 = 1.0 =>1 ; ; ; la linea Zap 1 usar el canal 1 de la tarjeta

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 54 Instalacin y configuracin de centralita VoIP basada en asterisk

[salida] que haga que puedan hacerse llamadas desde dicha extensin, para ello vi /etc/asterisk/extensions.conf y aadimos en el fichero las siguientes instrucciones

[general] static writeprotect = = yes no yes no no es ; ; ; ; ; ; idioma espaol en todos lo ficheros

autofallthrough = clearglobalvars = priorityjumping = language [inicio] include exten exten ext100 exten [salida] exten exten exten exten => => => => => = => => =

salida s,1,Answer() s,n,Dial(Sip/100,30,tr) s,n,Hungup() ; descuelga ;manda la llamada a

; cuelga al terminar

_9XXXXXXXX,1,Dial(Zap/1/${EXTEN},,tTr) _9XXXXXXXX,n,Hangup _6XXXXXXXX,n,Dial(Zap/1/${EXTEN},,tTr) _6XXXXXXXX,n,Hangup

Por ultimo editamos el fichero del protocolo de transmisin sip.conf para aadir una extensin que llamaremos [100]. El nombre ha de ser numrico y nos va a permitir posteriormente realizar o pasar llamadas entre extensiones, as que editamos vi /etc/asterisk/sip.conf

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 55 Instalacin y configuracin de centralita VoIP basada en asterisk

aadiendo los siguientes parametros

[100] username=100 type=friend ;secret= ;callerid= language=es context=inicio nat=yes host=dynamic canreinvite=no

; nombre de la extensin (linea personal) ; nombre del usuario (mismo que extensin) ; permite enviar y recibir llamadas ; permite poner una contrasea para activacin ; muestra este valor al hacer una llamada ; lenguaje en espaol en todos los ficheros ; contexto al que se dirige esta extensin ; permite llamadas por internet ; se puede usar desde cualquier ip de la red ;

Con estos tres ficheros, si lo hemos hecho bien, nuestra centralita debe de poder recibir llamadas a la extensin 100 (en el capitulo 6 configuraremos el hardware PAP2T para que funcione dicha extensin). Pero antes de pasar a realizar las pruebas, vamos a detenernos a examinar que es lo que hemos hecho en los tres ficheros de configuracin que hemos introducido. Es muy importante y conveniente tener claro que hace cada uno de los ficheros y conocer las instrucciones bsicas que hemos introducido, para poder posteriormente ir aumentando la complejidad del entramado de nuestra centralita. La mayora de las opciones las hemos comentado con ; <nota del programador> , que es como se hacen los comentarios en los ficheros de Asterisk, pero vamos a hacer especial hincapi en aquellas lneas que son cruciales para la configuracin y en aquellos conceptos que han de ser comprendidos.

5.7 ARCHIVOS

SIP.CONF,

IAX.CONF

DEMS

FICHEROS

DE

PROTOCOLO DE COMUNICACIONES. Los archivos de protocolo de comunicaciones se usan para seleccionar que protocolo usar cada extensin. Asterisk lee todos los archivos de protocolo a la

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 56 Instalacin y configuracin de centralita VoIP basada en asterisk

hora de iniciarse y activa las extensiones (lineas personales) que estn configuradas en todos ellos. Lgicamente hemos de evitar tener la extensin [100] configurada simultneamente en dos de los archivos de protocolo. Cada protocolo es conveniente en ciertos casos. El ms usado y compatible es el protocolo SIP (acrnimo de Session Initiation Protocol protocolo de inicio de sesiones) que es el que hemos usado en nuestra configuracin inicial. Para poder hacer que el hardware que vamos a usar funcione con Asterisk, es necesario que el mismo sea compatible con este protocolo. El protocolo IAX es un protocolo libre creado por la empresa Digium para su uso especfico en la gestin de voz sobre IP a travs de redes WAN y su uso facilita la comunicacin a travs de internet. Si quisiramos que nuestra centralita tuviera extensiones no conectadas a la red local sino conectadas a internet en cualquier lugar del mundo y que dichas extensiones pudieran usar la centralita con todo su potencial, tendramos que crear estas extensiones dentro del fichero iax.conf. Existen otros ficheros de protocolo tales como h323.conf, jabber.conf, etc, cada uno con su idiosincrasia a la hora de configurarlos, pero con SIP e IAX tenemos los ms estandarizados y es ms que suficiente para nuestros fines. Una vez razonado que hace exactamente el archivo sip.conf, veamos un poco mejor el contenido que le hemos introducido : [100] ; nombre de la extensin (linea personal)

Vamos a poder aadir al archivo sip.conf tantas extensiones como queramos, y podemos llamarlas con el nmero que nos parezca conveniente. Podemos organizarlo por departamentos de una empresa, y por ejemplo el telfono principal de administracin sea el [100], el de Rosa [101], el de Pablo [102], la extensin del fax del departamento [110]. O por ejemplo podemos aadir una extensin para emergencias en la garita del guardia de la empresa y llamarle [091]. Es solo un ejemplo para que nos demos cuenta que tenemos en nuestras manos el poder de configurar miles de extensiones (nada nos impide poner la extensin [72384236427834623], solo que es un poco difcil de recordar). username=100 ; nombre del usuario (mismo que extensin)

El nombre de usuario, que usaremos en los programas Softphone o en el hardware de gestin de VoIP para configurar la extensin ;secret= ; permite poner una contrasea para activacin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 57 Instalacin y configuracin de centralita VoIP basada en asterisk

En este punto nosotros hemos dejado la contrasea sin configurar. Para una gestin segura del sistema, sobre todo si se va a tener acceso desde internet, es conveniente quitar el ; (comentario) y poner una contrasea de nuestra eleccin. Se usar al configurar en el hardware y en los Softphone al igual que el nombre de usuario.

El siguiente archivo que vamos a ver en detalle es el extensions.conf, el cual configura los caminos (Dial Plan plan de marcado) que van a seguir las llamadas en funcin de diferentes parmetros que nosotros podemos definir mediante contextos. Un contexto es el medio mediante el que vamos a organizar las acciones que la centralita va a realizar. Lo dividimos en contextos para que sea ms sencillo el posteriormente modificar dichos caminos. Para la creacin de los contextos, se usa un sencillo lenguaje de programacin que permite el uso y creacin de variables y los saltos entre lineas de cdigo (el nunca bien ponderado GO TO). Veamos los contextos que hemos creado :

[general] El contexto general contiene parmetros de Asterisk, que no vamos a entrar a explicar. Se puede ver que hace cada uno de ellos en la copia de seguridad copiaextensions.conf que hemos dejado almacenada para consulta.

[inicio] El contexto inicio es donde vamos a configurar que va a hacer Asterisk cuando reciba una llamada en cualquiera de las lineas que le hayamos configurado. El nombre del contexto lo podemos poner a nuestro gusto y debera ser aclaratorio de que funcin va a realizar dicho contexto dentro de la centralita. En nuestro caso va a ser el punto del camino donde las llamadas van a dar sus primeros pasos. include = salida

Asterisk solamente usa el primer contexto que encuentra en el fichero extensions.conf, en nuestro caso el contexto [inicio], y ejecuta los pasos que

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 58 Instalacin y configuracin de centralita VoIP basada en asterisk

encuentra en ese contexto. Pero nosotros hemos creado un segundo contexto para las llamadas salientes. Si no incluimos el contexto [salida] con una orden include en el contexto principal y marcamos cualquier nmero, Asterisk nos dar errores y comunicar. Hemos de aadir mediante include todos los contextos que hayamos creado y que consideremos necesarios. Los contextos secundarios pueden ser incluidos en el contexto principal o solamente ser llamados desde otros contextos, si con ello conseguimos algn objetivo que se nos haya propuesto por los usuarios de la centralita. Lo veremos ms a fondo cuando compliquemos nuestro Dial Plan. exten => s,1,Answer() ; descuelga

Todos los pasos del camino, que ha partir de ahora vamos a llamar prioridad, comienzan con la palabra exten y el smbolo => , eso es una prerrogativa del lenguaje de programacin de Asterisk. A continuacin se introducen las instrucciones que constan de varias partes separadas por comas. En la instruccin que estamos viendo, en primer lugar tenemos la extensin s (start). La extensin s es la primera de varias extensiones especiales (h, i, T, t y fax), de las que solamente vamos a usar inicialmente s y fax. La extensin start capta una llamada no generada por nosotros y que por tanto no tiene nmero de extensin. El nmero de extensin en este caso sera el nmero de telfono del llamante. El nmero 1 que aparece tras la coma, es la prioridad, o sea, el paso dentro de nuestro camino particular hacia gestionar esa llamada. Lgicamente no debemos comenzar el camino dando el quinto paso, pues lo ms probable ser que tropecemos. Por ultimo la funcin de Asterisk Answer() ordena que conteste (descuelgue) la linea para ser enrutada hacia pasos posteriores. exten => s,2,Dial(Sip/100,30,tr) ;manda la llamada a ext100

En esta orden continuamos manteniendo el mismo llamante que est almacenado en la extensin s, le asignamos la prioridad dos (segundo paso en nuestro plan de marcado) y vemos la funcin Dial(), que sirve para obligar a Asterisk a marcar una extensin que le indiquemos por parmetros. En este caso lo parametros que le estamos dando son Sip/100, que le indica a Asterisk que busque en el archivo sip.conf una extensin llamada [100] (que hemos creado anteriormente). Si por ejemplo hubisemos creado la extensin dentro del

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 59 Instalacin y configuracin de centralita VoIP basada en asterisk

fichero iax.conf (para su posterior uso a travs de internet) tendramos que haber solicitado el marcado a la extensin IAX/100. El segundo parmetro de Dial() es el tiempo que deseamos que suene la extensin a la que llamamos. En este caso intentara que la extensin respondiera durante 30 segundos y seguidamente desistira pasando a la siguiente prioridad en el enrutado. Podramos no poner el nmero 30 (dejando nicamente ;;) y se intentara contactar indefinidamente con la extensin. Esto no es conveniente (hay que poner limites), puesto que si la extensin no funciona por el motivo que sea, dejamos el sistema en un bucle del que la nica salida es que el llamante cuelgue. El ultimo parmetro son dos letras. La letra t permite que el receptor pueda transferir la llamada a otra extensin si le parece conveniente y la letra r indica que se va a generar un timbrado (va a sonar un telfono). Tambin se podra usar la letra T que permite que el llamante pueda transferir la llamada. exten => s,3,Hungup() ; cuelga al terminar

Y en este tercer paso usamos la funcin Hungup() (colgar), lo que hacemos con prioridad tres y para la extensin s (telfono llamante). Hemos colgado a nuestro paciente usuario. En las pruebas del sistema veremos como afectan fsicamente estas instrucciones al hardware de la centralita.

[salida] Sin este contexto, con las instrucciones que lo integran, no podramos realizar llamadas. Las instrucciones podramos haberlas escrito en el contexto [inicio], y funcionaran correctamente, pero veremos como se puede llegar a complicar este fichero/programa y agradeceremos el tenerlo todo bien organizado. exten => _9XXXXXXXX,1,Dial(Zap/1/${EXTEN},,tTr) Esta instruccin tiene exactamente el mismo formato que las que hemos visto en el contexto [inicio], pero en lugar de usar la extensin s (recordamos por ultima vez que esta extensin es la primera que se busca si no se ha marcado ningn nmero y sirve para dar acceso a la centralita de un usuario llamante), comprueba que la extensin sea un nmero que comience por 9 y que posteriormente tenga ocho dgitos (por eso las ocho X).

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 60 Instalacin y configuracin de centralita VoIP basada en asterisk

Cuando marcamos desde cualquiera de los telfonos conectados a la centralita un nmero cualquiera (por ejemplo 12345), ese nmero se almacena en una variable llamada ${EXTEN} (las variables en Asterisk siempre tienen el formato ${NOMBRE_VARIABLES}). As que nos atenemos al ejemplo, Asterisk ir mirando paso por paso en todos los contextos buscando el nmero 12345 o cualquier orden que le permita usarlo (por ejemplo 1XXXX). Si no lo encuentra, nos dar un error de que no puede marcar dicho nmero. Pero marcando por ejemplo el 953291383 si que estamos cumpliendo la condicin exigida en la instruccin que estamos viendo, con lo que comprueba la prioridad que en este caso es 1 y por tanto pasa gestionar el parmetro en el que mediante la funcin Dial() le indicamos que llame a Zap/1. Antes hemos visto que al entrar una llamada la dirigiamos hacia Sip/100 (extensin 100 dentro del fichero Sip), pues ahora vamos a dirigir a Zap/1 (extensin 1 dentro del fichero zapata). En el fichero zapata.conf hemos introducido la configuracin de todas las lneas que nos permite usar nuestra tarjeta de comunicaciones, as que estamos obligando a Asterisk a llamar a la linea 1 de la tarjeta. Pero la llamada exacta es Zap/1/${EXTEN}, con lo que le estamos diciendo que llame a la extensin 1 del fichero zapata.conf y que lo haga con el nmero que hemos tomado a travs del teclado de nuestro telfono y que se ha almacenado en la variable ${EXTEN}. Es un poco enrevesado, pero estamos obligando a Asterisk a llamar al nmero de telfono almacenado en la variable. Asterisk usa ese nmero como una extensin ms de la centralita aunque no pertenezca a la misma red (pertenece a la red del operador de telefona). Lgicamente al pasar la llamada a travs de la red telefnica de nuestra compaa telefnica, esta nos cobrar por sus servicios el coste que tengamos contratado (tarifa plana, coste por minutos, etc). Solo pagamos las llamadas que usan las lneas Zap. exten => _9XXXXXXXX,2,Hangup() Una vez terminada la llamada realizada en la instruccin anterior (cuando nosotros o el receptor cuelga el telfono), nos aseguramos que dicha llamada se cuelgue en la centralita con prioridad 2. Para colgar usamos la funcin Hangup(). exten => _6XXXXXXXX,1,Dial(Zap/1/${EXTEN},,tTr)

Esta instruccin posibilita que se puedan marcar nmeros de telfono mvil desde nuestra centralita. Si no se aade, no podramos llamar a mviles con lo

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 61 Instalacin y configuracin de centralita VoIP basada en asterisk

cual ya estamos gestionando las llamadas. Solo tenemos que comentar con ; dos instrucciones y evitamos que los usuarios de la centralita llamen a la novia. exten => _6XXXXXXXX,2,Hangup

Nos aseguramos que tras la llamada se cuelga la extensin en la centralita.

CONFIGURANDO EL ENTORNO (PARTE I). Para comenzar a hacer las pruebas vamos a conectar algunos de los dispositivos hardware que hemos descrito en el punto 1 de la seccin MATERIAL. Primero hemos de conectar un cable de telfono desde la lnea telefnica (la toma de pared RJ11 donde habitualmente conectamos el telfono) hasta la linea 1 de nuestra tarjeta de comunicaciones Digium TDM-400. Posteriormente conectamos nuestro Internet Phone Adapter Linksys PAP2T. Para ello hemos de usar un cable RJ45 (cable estndar de red) con el que conectaremos el puerto INTERNET del dispositivo a nuestro ROUTER o SWITCH para aadirlo a nuestra red local y posteriormente conectamos el telfono analgico AIRIS T850M al conector PHONE 1 del PAP2T. Ya tenemos nuestro escenario de pruebas preparado, con un nico telfono conectado a nuestra centralita y con el que vamos a intentar enviar y recibir llamadas. Una vez que logremos hacerlo, conectaremos ms dispositivos e intentaremos interactuar entre ellos.

Ahora que tenemos conectado un telfono, la lnea y el adaptador Linksys, hemos de configurar el adaptador Linksys para permitir gestionar llamadas. Dicho adaptador tiene activo un cliente DHCP (recibe una direccin IP automtica desde un servidor DHCP), con lo que tomar una IP acorde con nuestra red. Para saber en que IP se ha conectado, podemos usar la orden nmap 172.16.0.* (con dgitos acordes a nuestro rango IP) y una vez sepamos en que IP est, desde un navegador WEB accedemos poniendo en la barra de direcciones

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 62 Instalacin y configuracin de centralita VoIP basada en asterisk

http://172.16.0.208 (en este caso la IP que tiene en nuestra red) Nos aparece un gestor WEB que nos permite modificar los diferentes parmetros de los que dispone este adaptador telefnico. Pulsamos en Admin Login para acceder a los recursos de administrador del dispositivo, pulsamos en System y en la pestaa donde aparece DHCP le indicamos no. Debajo ponemos los parametros de red que nos interesen, para que sean fijos y podamos acceder siempre al PAP2 desde la misma direccin IP. Lgicamente apuntamos la IP para crear luego nuestro mapeado de la red. Pulsamos donde pone Line 1 y en la seccin Proxy aadimos la direccin IP de nuestro servidor Asterisk (en nuestro caso es 172.16.0.211); en las secciones Auth Id y User Id ponemos el nmero de extensin que queramos asignar a esa lnea del PAP2. Nosotros hemos creado en el fichero sip.conf un usuario llamado 100 con lo que ese nmero es el que tenemos que incluir en dichas secciones. Si a la hora de crear la extensin hubisemos configurado una contrasea en la instruccin secret estaramos obligados a incluir dicha contrasea en la seccin password. Tiene que quedar la configuracin tal y como mostramos en la captura de pantalla que vemos a continuacin :

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 63 Instalacin y configuracin de centralita VoIP basada en asterisk

Pulsamos en Save Settings. Ya tenemos nuestra centralita preparada para realizar y recibir las primeras llamadas. Probamos a descolgar el telfono y comprobamos que tenemos lnea. Llamamos al vecino del cuarto. Si nos contesta, el estar leyendo este documento a merecido la pena. Podemos tambin probar a llamarnos al telfono mvil, y disfrutar de nuestra tono de llamada favorito. El contexto [salida] funciona. Ahora probamos a llamar a nuestro nmero de telfono fijo desde el mvil y comprobamos que el telfono suena y podemos mantener una conversacin con nuestro interlocutor. El contexto [inicio] tambin funciona.

Ahora que sabemos que nuestra centralita funciona, solamente nos queda el aadir la

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 64 Instalacin y configuracin de centralita VoIP basada en asterisk

orden para que Asterisk arranque cada vez que se inicie el servidor. No lo hemos hecho hasta ahora por si tenamos cualquier problema de cuelgues por una mala configuracin o una gestin errnea, poder usar el nunca bien ponderado botn de reset. Pero ya si que podemos editar el archivo vi /etc/rc.local y aadir la instruccin asterisk antes de la lnea que pone exit 0. Guardamos y cerramos el archivo de configuracin.

CONFIGURANDO EL ENTORNO (PARTE II). Una centralita que de servicio a una sola extensin (un solo telfono fsico) es muy triste, as que vamos a configurar en el PAP2 un telfono inalmbrico analgico y vamos tambin a conectar un telfono IP THOMSON. Cuando terminemos tendremos tres telfono e intentaremos realizar llamadas internas a travs de la centralita, que no tienen coste, puesto que se realizan a travs de nuestra red local. Para ello, antes de conectar los dispositivos, vamos a aadir las extensiones en el fichero sip.conf con las siguientes instrucciones [200] username type context host = = = = 200 friend inicio dynamic

[300] username type = = 300 friend

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 65 Instalacin y configuracin de centralita VoIP basada en asterisk

context host

= =

inicio dynamic

y tambin vamos a aadir reglas de marcado en el fichero extensions.conf aadiendo en el contexto [salida] lo que indicamos a continuacin exten exten exten exten exten exten exten exten => => => => => => => => 100,1,Dial(Sip/100,30,tTr) 100,2,Hangup() 200,1,Dial(Sip/200,30,tTr) 200,2,Hangup() 300,1,Dial(Sip/300,30,tTr) 300,2,Hangup() 400,1,Dial(Sip/400,30,tTr) 400,2,Hangup()

Podemos poner estas lneas dentro del contexto donde nos parezca conveniente, teniendo en cuenta que tiene que revisar todas las instrucciones hasta encontrar la adecuada. Si nuestra centralita va a soportar principalmente trfico de llamadas entre extensiones, es conveniente poner las instrucciones al principio del contexto, sin embargo, si lo que vamos a hacer es principalmente hacer llamadas a mviles, esas lneas son las que deben estar en primer lugar. Como se puede observar, vamos teniendo opciones ms complejas de optimizacin y gestin de la centralita. Y es solo el principio de lo que vamos a hacer. Aunque es probable que por lo hecho hasta ahora tengamos claro que hacen las instrucciones anteriores, veamos detenidamente una de las extensiones creadas exten => 100,1,Dial(Sip/100,30,tTr)

Si marcamos 100 en cualquiera de los telfonos (excepto desde la extensin 100 que comunica), Asterisk intenta con prioridad 1 llamar a la extensin Sip/100 durante 30 segundos y permitiendo que tanto el llamante como el receptor, puedan desviar la llamada a otra extensin. De igual forma funcionan las otras dos extensiones creadas. exten => 100,2,Hangup() Terminada la comunicacin, nos aseguramos que la conexin en la centralita se finalice. Para que la extensin [200] funcione, hemos de configurar nuestro telfono THOMSON ST2022 con una IP dentro del rango de nuestra red. Conectamos el telfono a la red elctrica y a nuestra red local con un cable estndar RJ45. Lo dejamos unos segundos

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 66 Instalacin y configuracin de centralita VoIP basada en asterisk

que termine de configurarse y pulsamos las tecla MENU para ver una seleccin en pantalla. Pulsamos en dicha seleccin la opcin Admin y nos pide una contrasea. La contrasea por defecto de este modelo de telfono es 784518. La introducimos y le damos a OK. Pulsamos Select sobre la opcin Networking y con la flecha abajo vamos pasando hasta encontrar la direccin IP. Le damos a Edit y ponemos la IP que nos convenga. En nuestro caso vamos a poner la IP 172.16.0.207 y pulsamos Save. El telfono se reiniciar (de nuevo la discoteca) y volvemos a entrar en Admin introduciendo la contrasea. Ahora en lugar de entrar en la opcin Networking, bajamos con la flecha y pulsamos sobre SIP Configuration. Nos aparece Profile 1. Lo seleccionamos con Select. Pulsamos la flecha abajo para encontrar una opcin que pone Name, donde hemos de escribir el nombre de extensin que va a tener el telfono. Nosotros le vamos a llamar Ext. 300. Pulsamos de nuevo la tecla abajo y nos aparece PxySrv y la siguiente RegSrv, teniendo que poner en ambas opciones la IP de nuestro servidor Asterisk pulsando sobre Edit (nuestro servidor es el 172.16.0.211). Seguimos bajando y donde pone RegID y TelNbr hemos de poner (tambin pulsando en Edit y posteriormente en Save) el nmero con el que hemos llamado a nuestra extensin en el fichero SIP. Como en este caso hemos aadido tres extensiones al fichero sip.conf ([200], [300] y [400]) le vamos a llamar a este telfono 300. Nos faltara configurar la extensin [200] en nuestro adaptador telefnico PAP2 para tener tres telfonos operativos. Para ello accedemos desde el navegador WEB al la pgina de configuracin y seguimos los mismos pasos que para configurar la extensin [100] (captulo 6 Configurando el entorno (Parte I)). Solo que en lugar de modificarlo en Line 1, las modificaciones las hacemos sobre Line 2 y lgicamente, en lugar de poner 100, pondremos 200 donde corresponda. Evidentemente tendremos que conectar nuestro telfono inalmbrico AIRIS T800B1 al conector Phone 2 del adaptador Linksys para poder usar la extensin 200. 8 CONFIGURACIN DE SOFTPHONE VOIXPHONE. Queremos usar tambin telfonos por software para nuestra instalacin, as que vamos a descargar y configurar VoixPhone. Lo vamos a instalar en el porttil AIRIS Praxis N1070 que tiene instalada una distribucin UBUNTU de Linux. Descargamos desde la siguiente web : http://www.voixphone.com/index.php/Download la versin para Linux. Descomprimimos el archivo descargado y pulsamos doble click sobre el mismo. Nos aparece un men de instalacin en el que seleccionamos la instalacin Default (por

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 67 Instalacin y configuracin de centralita VoIP basada en asterisk

defecto) y posteriormente hay que pulsar siguiente hasta que nos solicita el idioma en el que seleccionamos espaol. Nos pedir durante el proceso la contrasea de administrador la cual suministramos y por ultimo nos pregunta si queremos un acceso directo en el escritorio, a lo que contestamos que si. Para configurarlo hemos de modificar nuestro fichero iax.conf para lo que vamos a realizar una copia del que se crea por defecto con la instruccin mv /etc/asterisk/iax.conf /etc/asterisk/copiaiax.conf tras lo que editamos el fichero nuevo vi /etc/asterisk/iax.conf y le incluimos una nueva extensin mediante las siguiente instrucciones [general] bindport bindaddr context language delayreject bandwitch allow [700] username type secret context host nat = = = = = = 700 friend 700 inicio dynamic yes = = = = = = = 4569 0.0.0.0 inicio es yes low all ; usar codecs con bajo consumo de ancho de banda ; codecs que se usarn (permitimos todos) ; puerto por defecto del protocolo ; direccin ip para la conexin (todas) ; contexto por defecto

tras lo que guardamos y salimos. Ahora vamos a configurar en el Softphone la extensin que acabamos de crear. Para ello vamos a Opciones, Telfono y donde nos pide direccin del servidor insertamos 172.16.0.211 (nuestra IP del servidor Asterisk). En puerto

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 68 Instalacin y configuracin de centralita VoIP basada en asterisk

dejamos 4569, en nombre de usuario ponemos 700, contrasea 700, nombre identificador 700 y nmero identificador 700 (fcil no?). Le damos a la marca de aplicar y pulsamos en Discar para que nos aparezca el teclado numrico para poder llamar. Cada vez que modificamos los parmetros de los archivos de configuracin de Asterisk, tenemos dos opciones para que estos parmetros se hagan efectivos. La primera es cerrar Asterisk desde el CLI con la instruccin stop when convenient, que cierra los servicios de Asterisk cuando detecta que ya no queda nadie hablando por telfono (tambin se puede usar stop now, pero queda feo dejar a los usuarios con la palabra en la boca) y volver a iniciar Asterisk ya sea escribiendo asterisk en la consola o reiniciando la mquina virtual. El segundo mtodo, mas eficiente es sencillamente poner en el CLI la instruccin dialplan reload, que har que se ejecuten todas las modificaciones. As que es lo que deberamos hacer para que nuestra nueva extensin est operativa. Es conveniente hacerlo antes de configurar el Softphone, puesto que en caso contrario, el mismo no podr registrar la extensin en nuestra centralita y nos dar errores. He avisado tarde?

Comprobacin del funcionamiento de la instalacin hardware. Ahora que tenemos operativa la centralita y todos los telfonos hardware que vamos a usar, es oportuno el hacer comprobaciones de funcionamiento. Para ello es conveniente en nuestro servidor Asterisk el abrir la consola (CLI) de Asterisk con la instruccin asterisk -vvvvvvvvvvr Veremos que cada accin que hagamos con nuestra centralita se ver reflejada en pantalla, dando informacin, pistas y errores que nos ayudarn en la configuracin. Si lo deseamos, podemos acceder desde una segunda consola a nuestro servidor Asterisk para poder seguir realizando modificaciones al sistema (ALT+F2 y nos autentificamos como administrador). Teniendo el CLI Asterisk en pantalla descolgamos nuestra extensin [100] (el telfono sobremesa AIRIS) y marcamos el 300 (la extensin de nuestro telfono THOMSON). Veremos lo siguiente -- Executing [300@inicio:1] Dial("SIP/100-006dd0c0", "Sip/300|30|tTr") in new

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 69 Instalacin y configuracin de centralita VoIP basada en asterisk

stack Nos dice que se va a ejecutar una llamada (Dial()) desde la extensin SIP/100 a la extensin Sip/300. -- Called 300 Indica que la llamada est en proceso (esta buscando la extensin y comprobando si est operativa). -- SIP/300-006e1400 is ringing Informa de que la conexin se ha establecido y que el telfono est sonando. Si en este momento, descolgamos la extensin [300], veremos en pantalla -- SIP/300-006e1400 answered SIP/100-006dd0c0 lo que nos informa de SIP/300 ha contestado a la llamada de SIP/100 correctamente. Si en cualquier momento colgamos alguno de los telfonos veremos == Spawn extension (inicio, 300, 1) exited non-zero on 'SIP/100-006dd0c0' que la conexin entre ambas extensiones ha terminado correctamente. Supongo que el afanado lector habr constatado lo interesante que resulta tener operativo el CLI durante las configuracin de la centralita, puesto que nos hace tener una idea clara de lo que va pasando en sus entraas. Es conveniente que probemos a llamar entre las diferentes extensiones para ver si todo funciona correctamente y que veamos como afectan al CLI las diferentes llamadas. Realmente ahora esto si que parece una centralita. Podemos desde los telfono analgicos desviar llamadas desde una extensin a otra marcando # y el nmero de extensin a la que queremos pasar la llamada (mientras observamos como afecta todo ello al CLI). Esta es la traza de una llamada de la extensin [100] a la [200], la cual a descolgado (se supone que hablan algo) y que la [200] ha transferido a la [300] (la trescientos a mantenido tambin una conversacin) y por ultimo uno de los usuario (el [100] o el [300], puesto que el [200] al transferir la llamada, no esta involucrado) ha colgado. -- Executing [200@inicio:1] Dial("SIP/100-006dd0c0", "Sip/200|30|tTr") in new

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 70 Instalacin y configuracin de centralita VoIP basada en asterisk

stack marcamos desde la extensin [100] a la [200] -- Called 200 se realiza la llamada -- SIP/200-006e1400 is ringing suena el telfono en la [200] -- SIP/200-006e1400 answered SIP/100-006dd0c0 la extensin [200] contesta -- Started music on hold, class 'default', on SIP/100-006dd0c0 la extensin [200] ha pulsado # y por tanto se llama al sistema de msica en espera -- <SIP/200-006e1400> Playing 'pbx-transfer' (language 'es') suena la msica (el fichero que se est escuchando se llama 'pbx-transfer') -- Stopped music on hold on SIP/100-006dd0c0 la msica termina porque se ha terminado de marcar un nmero en el terminal -- Executing [300@inicio:1] Dial("SIP/100-006dd0c0", "Sip/300|30|tTr") in new stack el nmero que se ha marcado es el 300 con lo que nos genera la llamada -- Called 300 y llama a la extensin [300] -- SIP/300-006f17f0 is ringing suena el telfono en la extensin -- SIP/300-006f17f0 answered SIP/100-006dd0c0 se responde a la llamada y por ultimo == Spawn extension (inicio, 300, 1) exited non-zero on 'SIP/100-006dd0c0' uno de los usuario cuelga el telfono.

10 DIALPLAN (AADIENDO FUNCIONES A LA CENTRALITA). 10.1 LOCUCIN DE ENTRADA. Tenemos operativa la centralita y nuestros telfono. Es el momento de complicar un poco nuestro Dial plan. Actualmente nuestro Dial plan es un poco soso. Cuando entra una llamada la dirigimos directamente a la extensin [100] y

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 71 Instalacin y configuracin de centralita VoIP basada en asterisk

desde esa extensin podramos derivar las llamadas donde nos interese, siendo este el clsico mtodo de tener una persona atendiendo el telfono. Pero nuestra centralita puede ms que todo eso. Vamos a hacer que cuando alguien llame, le salga una locucin (mensaje de voz) que le indique las posibilidades de contacto que le ofrece la centralita. El men telefnico de la locucin de acceso va a ser el siguiente : Ha llamado a proyecto asterisk, si desea hablar con Jos Manuel Campos pulse uno, si desea hablar con Miguel Guzmn pulse dos, si desea hablar con tutora pulse tres, si no desea hablar con ninguno de los anteriores, pulse 4 y ser atendido por un operador Lo primero que vamos a hacer es grabar la locucin. Como a lo largo de la configuracin de la centralita y de su vida til, tendremos que grabar mltiples locuciones, lo ideal es automatizar las operaciones de grabacin lo mximo posible. Es por lo que vamos a crear una extensin de marcado dedicada a realizar y escuchar las grabaciones, para ello hemos de incluir en nuestro extensions.conf unas nuevos comandos al final de los ya existentes en el contexto salida. Las instrucciones a incluir seran exten exten exten => => => 555,1,Answer() 555,n,Wait(2) ; descuelga ; espera 2 segundos

555,n,Record(locucion:gsm)

con esta instruccin le indicamos que grabe un archivo llamado locucion.gsm con lo que nosotros digamos por el auricular telefnico exten exten exten exten => => => => 555,n,Wait(2) 555,n,Hangup() ; espera 2 segundos ; cuelga

556,1,Playback(locucion) ; reproduce locucion.gsm 556,n,Hangup() ; cuelga

tras lo que guardamos y salimos del archivo. En el CLI de Asterisk usamos la instruccin dialplan reload para que los cambios tengan efecto y probamos el funcionamiento de nuestra extensin de grabacin de mensajes marcando en cualquiera de los telfonos 555. Esperamos a que nos salga un pitido fuerte y

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 72 Instalacin y configuracin de centralita VoIP basada en asterisk

agudo que indica que la grabacin se ha iniciado (en el CLI tambin nos informar de ello), y es cuando ponemos nuestra mejor voz para grabar el mensaje que hemos escrito anteriormente. Esperamos unos segundos despus de terminar de hablar y colgamos el telfono. El mensaje se ha grabado en nuestro servidor en la carpeta /var/lib/asterisk/sounds/locucion.gsm y procedemos a escucharlo usando la extensin de escucha 556 para lo que descolgamos el telfono y marcamos dicha extensin. Si lo que escuchamos nos parece correcto, tenemos nuestra locucin de inicio preparada. Solo tendramos que cambiar de nombre el archivo por otro que nos resultara ms clarificador y sobre todo porque si grabamos otra locucin, se grabara encima de la ya existente. Para cambiar el nombre al archivo lo hacemos con la instruccin mv /var/lib/asterisk/sounds/locucion.gsm /var/lib/asterisk/sounds/loc_inicio.gsm Si nos fijamos, a la hora de aadir las instrucciones para grabacin en el archivo extensions.conf no hemos marcado las prioridades en las instrucciones y las hemos sustituido por la letra n a excepcin de la primera prioridad que si que le hemos indicado que es 1. En cualquiera de las instrucciones que vamos aadiendo a la centralita podemos hacer esto, ya que n indica a Asterisk que sume uno a la prioridad anterior. Es por lo que la segunda lnea sera 1+n = 2. Esto hace que no tengamos que estar poniendo las prioridades a mano en largas cadenas de condiciones. Ahora vamos a aadir la locucin a nuestro plan de marcado. Editamos el archivo extensions.conf por ensima vez y modificamos el contexto [inicio] para que quede mas o menos as [inicio] include = salida exten exten exten 100 exten => s,n,Hangup() ; cuelga => => => s,1,Answer() s,n,Background(loc_inicio) s,n,Dial(SIP/100,30,tr) ; descuelga ; reproduce locucion ; marca a la extensin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 73 Instalacin y configuracin de centralita VoIP basada en asterisk

Probamos (recargando el dialplan) nuestra nueva configuracin llamando a nuestra centralita desde un telfono externo para as escuchar nuestra dulce voz. Ahora hemos de configurar el contexto inicio para que haga lo que dice la locucin de entrada. Si asignamos la extensin [100] a Jos Manuel Campos, la [200] a Miguel Guzmn, la [300] a tutora y la [400] a un hipottico operador, hemos de hacer que si el llamante marca alguno de los dgitos indicados en la locucin, se transfiera correctamente la llamada al destinatario solicitado. Para ello volvemos a modificar el contexto para que quede como sigue [inicio] include = salida exten exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => => s,1,Answer() s,n,Background(loc_inicio) s,n,WaitExten(5) s,n,Background(loc_inicio) s,n,WaitExten(5) s,n,Goto(100,1) s,n,Hangup() 1,1,Goto(100,1) 2,1,Goto(200,1) 3,1,Goto(300,1) 4,1,Goto(400,1) ; espera 5 segundos ; descuelga

Grabamos, salimos, reiniciamos el dialplan, comprobamos que funciona y vamos a ver que diablos hemos hecho. Veamos las instrucciones ms rocambolescas a fondo exten => s,n,Background(loc_inicio)

Aunque ya la hemos visto anteriormente es conveniente indicar que para reproducir las locuciones podemos emplear Playback o Background. Playback

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 74 Instalacin y configuracin de centralita VoIP basada en asterisk

realiza la reproduccin total del archivo de audio y Background reproduce hasta que se pulsa una tecla en el terminal. Es por lo que si deseamos obligar al llamante a escuchar nuestro mensaje usaramos Playback, pero como no es el caso y si el llamante conoce la extensin queremos que acceda a ella en cualquier momento, con pulsar una adecuada, listo.

exten

=>

s,n,WaitExten(5)

Dejamos un espacio de tiempo de 5 segundos para permitir al llamante ponderar cual de las opciones que le hemos suministrado en la locucin es la que desea usar. Es el tiempo en el que se supone ha de pulsar la extensin adecuada. Si se pasan esos 5 segundos, le damos una segunda oportunidad reproduciendo totalmente la locucin, por si no ha entendido algo en la primera reproduccin, tras eso esperamos otros 5 segundos y si no ha marcado nada valido exten => s,n,Goto(100,1)

le indicamos a Asterisk que transfiera la llamada entrante a la extensin [100] con la prioridad 1. Por ultimo las instrucciones del tipo exten => 1,1,Goto(100,1)

son sencillas de entender. Si hemos marcado 1 en la locucin nos pasa directamente a la extensin que hemos configurado para ese nmero con la prioridad 1 (en este caso la [100]). La orden Goto nos permite saltar automticamente hasta cualquiera de las ordenes de los contextos activos. Podramos poner 1,1,Goto(555,1) y nos saltara automticamente a nuestra extensin de grabacin de locuciones al pulsar el llamante la opcin 1. Si nos fijamos, nuestra instruccin de grabacin es 555,1,Answer() y el inicio de esa instruccin que es 555,1 no se repite en ningn punto del dialplan. Goto es una herramienta muy potente que usaremos a discrecin.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 75 Instalacin y configuracin de centralita VoIP basada en asterisk

10.2 CONTROL HORARIO. Que pasara si alguien llamara a nuestra centralita fuera del horario en el que las diferentes extensiones pueden atender las llamadas? El llamante pulsara la extensin deseada y el telfono sonara durante el tiempo que le hayamos especificado, pero no contestara nadie. Eso nos dejara en muy mal lugar. As que vamos a configurar en nuestro dialplan un control horario que haga saltar locuciones indicando que se est llamando en da festivo o que se est llamando fuera del horario en el que el usuario de la extensin est disponible. Para ello vamos a tener que modificar sustancialmente los contextos. En primer lugar le cambiamos al contexto [inicio] actual el nombre por [entrada] y justo antes de ese contexto hemos de crear de nuevo el contexto [inicio] que es donde vamos a aadir las instrucciones para redirigir las llamadas en funcin del da y hora. Hemos de tener en cuenta que tenemos que grabar las locuciones para cada uno de los escenarios en los que nos podemos encontrar. Primer escenario, que Jos Manuel Campos no est, para lo que vamos a grabar la locucin Si desea contactar con Jos Manuel Campos, le rogamos llame de seis a diez de la tarde. Esa locucin, por supuesto, saldr solamente cuando se llame fuera del horario indicado. Al archivo de audio el llamaremos joseno. Ponemos un ejemplo de como hacerlo y habra que repetirlo en el resto de escenarios. mv /var/lib/asterisk/sounds/locucion.gsm /var/lib/asterisk/sounds/joseno.gsm Segundo escenario, que Miguel Guzmn no est, para lo que vamos a grabar la locucin Si desea contactar con Miguel Guzmn, le rogamos llame de 10 de la maana a 3 de la tarde. Al archivo de audio le llamaremos miguelno. Tercer escenario, que no haya nadie en tutora, para lo que vamos a grabar la locucin Si desea contactar con tutora, le rogamos llame lunes o martes a

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 76 Instalacin y configuracin de centralita VoIP basada en asterisk

partir de las seis y media de la tarde. Al archivo de audio le llamaremos tutoriano.

Cuarto escenario, que haya llamado a los operadores, que ser enviada a la siguiente locucin Lamentamos comunicarle que aun no tenemos presupuesto para poder pagar operadores, intente contactar con otra extensin. Al archivo de audio le llamaremos operadoresno. Quinto escenario, que haya llamado fuera del horario en el que alguien puede atender la llamada para lo que vamos a grabar Ha llamado fuera de nuestro horario de atencin de consultas, le rogamos llame de Lunes a Sbado de 10 a 15 horas o de 18 a 22 horas. Al archivo de audio le llamaremos horano. Sexto escenario, que haya llamado en domingo que le saldra la locucin Hasta el creador descans el sptimo da, con lo que hoy no podemos atenderle. Al archivo de audio le llamaremos domingono. Grabamos los mensajes, recordamos cambiar el nombre de cada uno de ellos con la extensin .gsm despus de cada grabacin (si no se sobreescriben) y ahora hay que integrarlos en el dialplan, poniendo el nuevo contexto [inicio] al principio del archivo extensions.conf y el contexto [horario] al final del mismo [inicio] include include exten exten exten exten exten => => = = => => entrada horarios s,1,Answer() s,2,Wait(3)

s,3,GotoifTime(22:01-09:59|mon-sat|*|*?horario,s,13) s,4,GotoifTime(15:01-17:59|mon-sat|*|*?horario,s,13) => s,5,GotoifTime(00:00-23:59|sun|*|*?horario,s,16)

Con estas instrucciones en el nuevo contexto inicio, hacemos que si alguien llama en domingo o en horarios que no haya nadie no le de ni la opcin a seleccionar una extensin, sino que automticamente le indique al llamante que no se le puede atender.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 77 Instalacin y configuracin de centralita VoIP basada en asterisk

Modificamos tambin el contexto [entrada], al que le quitamos la instruccin s,1,Answer() (puesto que la llamada ya est contestada en el contexto [inicio]), y nos aseguramos que como primera linea despus del include est la instruccin exten => s,n,Background(loc_inicio)

El no ponerle prioridad es porque va a pasar dicha prioridad desde el contexto [inicio] continuando por el orden que llevara en dicho contexto. As podemos hacer todos los aadidos que queramos de horarios en [inicio] sin tener que modificar posteriormente las prioridades de todas la lneas del contexto [entrada]. Ahora hemos de crear el contexto [horario], que es el que realmente va a ejecutar la orden de reproducir las diferentes locuciones. Ponemos las siguientes instrucciones [horario] exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => => => => => => => => s,1,Answer() s,2,Playback(joseno) s,3,Hangup() s,4,Answer() s,5,Playback(miguelno) s,6,Hangup() s,7,Answer() s,8,Playback(tutoriano) s,9,Hangup() s,10,Answer() s,12,Hangup() s,13,Answer() s,14,Playback(horano) s,15,Hangup() s,16,Answer() ; comienza domingono s,17,Playback(domingono) ; comienza horano ; comienza operadoresno s,11,Playback(operadoresno) ; comienza tutoriano ; comienza miguelno ; comienza joseno

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 78 Instalacin y configuracin de centralita VoIP basada en asterisk

exten

=>

s,18,Hangup()

y por ultimo para cada una de las extensiones [100], [200], [300] y [400] vamos a incluir una orden GotoifTime personalizada, con lo que tenemos que modificar en el contexto salida dichas extensiones y cambiar por lo que ponemos a continuacin exten exten exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => => => 100,1,GotoifTime(22:01-17:59|mon-sat|*|*?horario,s,1) 100,n,Dial(Sip/100,30,tTr) 100,n,Hangup() 200,1,GotoifTime(15:01-09:59|mon-sat|*|*?horario,s,4) 200,n,Dial(Sip/200,30,tTr) 200,n,Hangup() 300,1,GotoifTime(00:01-18:29|wed-sun|*|*?horario,s,7) 300,n,Dial(Sip/300,30,tTr) 300,n,Hangup() 400,1,GotoifTime(00:00-23:59|mon-sun|*|*?horario,s,10) 400,n,Dial(Sip/400,30,tTr) 400,n,Hangup()

Ahora podemos guardar y salir del archivo, volver a cargar el dialplan en el CLI y comprobar si nuestras modificaciones son efectivas. Recomendamos ir haciendo pruebas, cambiando horas, y comprobando los diferentes efectos que esos cambios tienen sobre el funcionamiento de la centralita. Como siempre, veamos ms detenidamente las mejores jugadas del partido exten => s,3,GotoifTime(22:01-09:59|mon-sat|*|*?horario,s,13)

Esta instruccin que hemos puesto en el contexto [inicio] hace que si el horario en el que el llamante esta intentando contactar con nuestra centralita est entre las diez y un minuto de la noche y las nueve y cincuenta y nueve segundos de la maana, de lunes a sbados, salte al contexto horario, a la prioridad 13. Aqu vemos el posible uso de las prioridades, que nos permiten ir a puntos concretos dentro de un contexto o extensin. Los asteriscos sirven para indicar si queremos que esa condicin horaria se ejecute solamente ciertos das del mes o solamente ciertos meses. Un asterisco indica que no procede comprobar esa

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 79 Instalacin y configuracin de centralita VoIP basada en asterisk

opcin. Para decirle por ejemplo que esa condicin es para los das uno al quince de cada mes tendramos que poner la siguiente instruccin exten => s,3,GotoifTime(22:01-09:59|mon-sat|1-15|*?horario,s,13) o si por el contrario queremos que solamente revise todos los meses del ao excepto Julio y Agosto tendramos que poner exten=> s,3,GotoifTime(22:01-09:59|mon-sat|*|Sep-Jun?horario,s,13) Con esta informacin consideramos que el lector que haya seguido el proceso de creacin de la centralita, tiene datos suficientes para poder comprender el resto de modificaciones que hemos incluido en el dialplan y para poder realizar sus propias modificaciones para adaptar cada extensin al horario que le sea conveniente.

10.3 CONFIGURANDO NUEVAS POSIBILIDADES DE MARCADO Nos hemos cortado con una hoja de papel y decidimos llamar al 061; cual es nuestra sorpresa al comprobar que en el CLI ( como que no lo tenias abierto en pantalla !!!?) aparece un mensaje que dice as '061' rejected because extension not found. Adems para ms inri, el telfono comunica. Eso es debido a que hemos generado reglas de marcado (extensiones) para llamar a fijos 9XXXXXXXX y a mviles 6XXXXXXXX, pero no hemos dicho nada de los nmeros especiales, as que en nuestro dialplan, en el contexto [salida], vamos a aadir lo siguiente exten exten => => _0ZZ,1,Dial(Zap/1/${EXTEN},,r) _0ZZ,n,Hangup()

que quiere decir que si marcamos cualquier nmero que comience por cero y que los dos siguientes nmero sean cualquiera del uno al nueve, haga el marcado. Ni que decir tiene que Z es el comodn para todos los nmeros menos el cero. Esta regla nos permite llamar a 061,091, etc. exten exten => => _1ZZ,1,Dial(Zap/1/${EXTEN},,r) _1ZZ,n,Hangup()

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 80 Instalacin y configuracin de centralita VoIP basada en asterisk

que nos permite llamar al telfono 112 y similares. exten exten => => _[89]0[0-289]XXXXXX,1,Dial(Zap/1/${EXTEN},, r) _[89]0[0-289]XXXXXX,n,Hangup()

nos permite llamar a telfonos especiales que no sean de pago (los de pago son 803, 806, 807, 904, 905 y 907). Le estamos diciendo que el nmero puede tener en su primer dgito un 8 o un 9, en el segundo dgito un 0 y en el tercero cualquier nmero del 0 al 2 o los nmeros 2489. Con esto podramos llamar a telfonos 900, 901, 902 y similares. Como podemos observar cabe la posibilidad de realizar combinaciones que restrinjan genricamente las llamadas a telfonos que no nos interesan. exten exten => => _00.,1,Dial(Zap/1/${EXTEN},, r) _00.,n,Hangup()

con esta extensin permitimos llamadas internacionales. Le estamos diciendo que cuando marquemos dos veces el cero, acepte cualquier otra combinacin de nmeros que aadamos despus (el comodn punto significa cualquier cosa que marques, yo lo marco). Si sabemos que las nicas llamadas internacionales que vamos a realizar son a Repblica Checa, podemos restringir ms el patrn de la extensin y poner algo como _00420.,1,Dial(Zap/1/${EXTEN},, r). Por ultimo comentar que al igual que podemos permitir, podemos denegar explcitamente extensiones. Si por ejemplo nuestra organizacin se dedica a negocios turbios puede ser que deseemos poder llamar al 061, pero no nos interesa que se realicen llamadas al 091. Para ello podramos aadir un patrn de este tipo 091,1,Hangup(), con lo que cada vez que se marque el 091, automticamente la centralita nos cuelgue. Por supuesto que no vamos a integrar esta norma en nuestro dialplan o s?. Es necesario que esta norma est ANTES de la norma genrica que hemos creado para los telfonos 0NN, pues recordamos que el dialplan es un sistema de caminos que comienza en el primer rengln del fichero extensions.conf y va pasando por todos los contextos incluidos, instruccin por instruccin. Si encuentra primero la extensin 0NN marcar el 091, pero si encuentra primero la lnea que especficamente tiene el 091, colgar y no llegar a evaluar la extensin 0NN. Cada vez tenemos ms herramientas para controlar nuestra centralita.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 81 Instalacin y configuracin de centralita VoIP basada en asterisk

10.4 BUZONES DE VOZ (CONTESTADOR AUTOMTICO) Y MENSAJES DE AUDIO AL CORREO. Asterisk nos permite configurar buzones de voz que permitan al llamante, si la persona que ha de atender la extensin no puede coger el telfono, dejar un mensaje indicando cual es el motivo de la llamada o cualquier informacin que pueda ser de utilidad para el receptor. Para poder acceder a esos mensajes, hemos de crear nuevas reglas en nuestro dialplan y se podran escuchar marcando la extensin del contestador y escuchando el mensaje, como se hace en todos los telfonos analgicos. Una vez escuchado el mensaje tenemos opcin de dejarlo almacenado, borrarlo, ver a que hora ha sido recibido, etc. Pero con Asterisk podemos rizar el rizo y hacer que el mensaje grabado, nos sea enviado por correo electrnico a nuestro cliente de correo habitual y podemos escucharlo en el ordenador con ayuda de unos auriculares o unos altavoces y nuestro reproductor de audio favorito (Amarok, Rhythmbox, Totem, Gstreamer, o Windows Media si no hay ms remedio). Adems esto nos permite almacenar fcil y ordenadamente todos los mensajes de voz que recibamos, pudiendo acceder a ellos con rapidez en caso de tener dudas con respecto a lo que se nos dijo en los mismos.

Para poder realizar todas estas operaciones, lo primero que hemos de hacer es instalar un servidor de correo electrnico en nuestra mquina Asterisk para permitir el envo de los mensajes de voz a travs de dicho servidor. Uno de los servidores de correo electrnico mas simples de instalar y configurar es exim4 as que lo instalamos con aptitude install exim4 mailutils Cuando termine de instalar con la siguiente instruccin nos aparece en pantalla el asistente de configuracin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 82 Instalacin y configuracin de centralita VoIP basada en asterisk

dpkg-reconfigure exim4-config Vamos a dejar las opciones que vienen por defecto sin modificar y solamente vamos a ir comentando los puntos en los que tenemos que realizar alguna variacin o interaccin con el asistente... con lo que llegamos a la pantalla en la que se nos muestra por primera vez Configuracin del servidor de correo en la que tenemos que seleccionar la primera opcin que pone Internet site : el correo se enva y recibe directamente usando smtp. En la siguiente pantalla, donde pide Nombre del sistema de correo ponemos proyectoasterisk.net o el que corresponda en la configuracin de red del lector. En las siguientes pantallas seguimos pulsando sin miedo sobre las opciones por defecto hasta que se nos pide el Destinatario de correo de root y postmaster, donde hemos de poner un usuario valido, nosotros hemos querido que se enve el correo a un usuario operador que hemos creado en la mquina Asterisk con adduser operador Podemos hacer una prueba de funcionamiento usando la siguiente instruccin ls -l | mail <cuenta de correo electrnico> Ejemplo : ls -l | mail operador@proyectoasterisk.net lo que har que llegue un correo electrnico a la cuenta especificada con el contenido del directorio en el que estemos posicionados. Comprobamos en el cliente de correo que usamos habitualmente si ha llegado esta informacin y si es as, tenemos completamente configurado nuestro correo y podemos pasar a configurar los buzones de voz. Para configurar los buzones, hemos de modificar el archivo voicemail.conf, con lo que primero le hacemos una copia de seguridad (al igual que hemos hecho de todos los dems archivos de configuracin) para tener salvaguardada la informacin que nos puede suministrar sobre cada una de las instrucciones que lo constituyen, y despus lo editamos desde cero mv /etc/asterisk/voicemail.conf /etc/asterisk/copiavoicemail.conf vi /etc/asterisk/voicemail.conf

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 83 Instalacin y configuracin de centralita VoIP basada en asterisk

e incluimos en el fichero las siguientes instrucciones [general] format attach maxmessage mailcmd serveremail fromstring emailsubject emailbody = wav = yes = 180 = /usr/sbin/exim4 = buzondevoz@proyectoasterisk.net = "Centralita Asterisk de Proyecto Asterisk" = [PBX] Mensaje n ${VM_MSGNUM} en buzn de voz. = \n\n\n***** Este es un mensaje automtico de la ; formato de grabacin del audio ; enviar mensajes de voz por correo electrnico

centralita de VoIP de *****\n PROYECTOASTERISK *****\n\n\n\n\t Tiene un mensaje nuevo en su buzn de voz: \n Con el numero ${VM_MSGNUM}. \ n Recibido desde el numero de telfono ${VM_CALLERID}. \n El $ {VM_DATE} . \n Dicho mensaje se adjunta a este mail, pero no obstante debe llamar a su buzn de voz y eliminarlo tras su escucha. Si no conoce como acceder a su buzn de voz, por favor contacte con el departamento al cargo.\n\n\t Gracias.\n\n\t [default] 100 200 300 400 => => => => 1234,jose,jose@proyectoasterisk.net 1234,miguel,miguel@proyectoasterisk.net 1234,tutoria,tutoria@proyectoasterisk.net 1234,operador,operador@proyectoasterisk.net

Con esto hemos creado cuatro buzones de voz independientes para cada una de las extensiones que salen en nuestra locucin de entrada, y vamos a permitir que cuando el usuario no pueda coger el telfono, salte automticamente el buzn de voz dando al llamante la posibilidad de dejar un mensaje, que ser enviado al correo electrnico que hallamos indicado en la configuracin. Vamos a estudiar detenidamente las lneas de configuracin que hemos incluido; en primer lugar 100 => 1234,jose,jose@proyectoasterisk.net

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 84 Instalacin y configuracin de centralita VoIP basada en asterisk

El 100 es una extensin que ya tenemos creada, 1234 es la contrasea que tendremos que poner para poder acceder al buzn de voz (puede ser la misma para todos los usuarios o ponerla a discrecin de los mismos). El parmetro jose en este caso es el nombre que se le da al buzn y por ltimo, se pone la cuenta de correo electrnico a la que queremos que vayan los mensajes de voz de esa extensin. El resto de parametros que aparecen en la seccin general (y algunos que no aparecen) tienen los siguientes usos attach: Indica si se adjunta un archivo .wav con el contenido de la grabacin del buzn de voz en las notificaciones de correo electrnico. delete: Indica que el mensaje de voz ser borrado del servidor si es enviado por correo electrnico. mailcmd: Sirve para fijar la ruta del servidor de correo electrnico. maxsilence Indica los segundos de silencio que debe detectar el servidor para cortar la llamada al buzn. Por defecto es 0 que equivale a un tiempo infinito y no hace caso a los silencios, parando solamente cuando el llamante cuelgue. envelope: Si lo activamos con "yes" indicar el da y la hora en que se recibi el mensaje. externnotify: Sirve para ejecutar un programa externo cuando alguien deja un mensaje. externpass: Sirve para ejecutar un programa externo cuando alguien cambia su contrasea del buzn. silencetreshold: Funciona solamente si la opcin maxsilence="yes" y sirve para fijar el umbral de silencio, para ajustar que consideramos silencio (cuando nos llaman puede haber ruido de fondo, pero no estar hablando nadie). serveremail: Indica el origen de los mensajes de notificacin de e-mail. maxmessage: Indica el tiempo mximo de grabacin de un mensaje. maxmsg: Indica el numero mximo de mensajes en un buzn. minmessage: Sirve para eliminar los mensajes que tienen menos duracin que lo indicado por este comando. format: Indica el formato en que se guardar los mensajes e voz. Hay las siguientes posibilidades: "wav49", "gsm" y "wav". maxgreet Fija el tiempo mximo del mensaje de bienvenida que pueden configurar los usuarios.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 85 Instalacin y configuracin de centralita VoIP basada en asterisk

maxlogins: Numero mximo de intentos fallidos al buzn de voz (por si alguien intenta escuchar nuestro buzn sin saber la contrasea). cdinternalcontexts: Distingue si los contextos son internos o externos (si el llamante es una extensin o sin embargo es un nmero de telfono ajeno a la centralita). promiscredir: Permite soportar redirecciones 302. Por defecto "no". review: Por defecto es "no". Si lo pusiramos a "yes" el usuario que deja el mensaje podra revisarlo antes de salvarlo y dejarlo en el buzn. operator: Permite marcar una extensin cuando ha saltado el buzn de voz. saycid: Si lo ponemos a "yes" nos informar del nmero que llam antes de repetir el mensaje. fromstring: Establece el from (desde) del mensaje de aviso de correo. emailsubject: Establece el asunto del mensaje de aviso de correo. emailbody: Establece el cuerpo del mensaje de aviso de correo. nextaftercmd: Reproduce el siguiente mensaje automticamente cuando se borra el anterior y ya tenemos un poco ms claro como podemos gestionar la configuracin de los buzones de voz. Mas... como los integramos en nuestro dialplan? Muy sencillo, hemos de editar vi /etc/asterisk/extensions.conf y aadir al final del archivo un nuevo contexto con las siguientes instrucciones [buzondevoz] exten exten => => 12345,1,VoicemailMain(${CALLERIDNUM}) 12345,2,Hangup()

Esto hace que cuando desde cualquiera de las extensiones marquemos el nmero de telfono 12345 Asterisk comprobar cual es la extensin que realiza la peticin (accediendo a la variable del sistema CALLERIDNUM) y le dar acceso al sistema de buzn de voz para poder escuchar los mensajes grabados. Nos va tocando hacer pruebas, pero antes ser mejora que integremos con un include el contexto [buzondevoz] en el contexto [salida], puesto que si no lo

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 86 Instalacin y configuracin de centralita VoIP basada en asterisk

hacemos, por mucho que se marque el 12345, va a ser que no. Si hemos hecho todo lo anterior y recargamos el dialplan podemos hacer la primera prueba. Dejamos el CLI en pantalla para observar como afectan nuestras actuaciones a la centralita. En primer lugar marcamos el 12345 desde cualquiera de las extensiones y sale una voz solicitando el nmero de extensin del que deseamos acceder a su buzn de voz, indicamos en nuestro caso el 100 y posteriormente nos pide la contrasea (que tenemos definida como 1234). Eso nos va metiendo en una serie de submenus telefnicos, mediante sucesivas locuciones, que nos permiten gestionar el buzn. Es interesante el fijarse en los nombres de los ficheros de audio que se van reproduciendo en el CLI, puesto que podramos sencillamente grabando un mensaje personalizado con nuestra voz y sobreescribiendo el archivo que aparece en el CLI por el nuestro, el conseguir un buzn de voz totalmente personalizado. Nosotros no lo hemos hecho, porque en principio pensamos usar principalmente el mtodo de correos electrnicos, con los que no hace falta acceder para nada al sistema automatizado de buzn de voz. Ahora vamos a decidir cuando tiene que saltar el buzn de voz. Eso lo hacemos volviendo a editar extensions.conf y modificar las extensiones [100] [200][300] y [400] aadiendo en las mismas la siguiente instruccin exten => 100,n,Voicemail,100

justo antes de la instruccin que contiene el colgado (Hangup). As antes de colgar, se pide al llamante si desea grabar un mensaje. En el caso de ser la extensin [200] o sucesivas, creo evidente cual sera la instruccin a insertar. Volvemos a recargar el dialplan y realizamos la prueba de llamar a las extensiones. Como tenemos configurado que nuestras extensiones suenen durante 30 segundo tendremos que esperar ese tiempo a que salte el contestador que nos indicar que dejemos un mensaje despus de or la seal. Dejamos un mensaje y, como las balas, abrimos nuestro cliente de correo electrnico para ver si tenemos un flamante y maravilloso archivo .wav con el mensaje que hemos dejado.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 87 Instalacin y configuracin de centralita VoIP basada en asterisk

10.5 GRABACIN DE CONVERSACIONES Y LEY DE PROTECCIN DE DATOS. Una de las cosas que hemos visto muy interesantes es la posibilidad de grabar todas o parte de las conversaciones que gestiona Asterisk. Eso supone una herramienta de control y gestin de personal extremadamente potente. Un supervisor puede asegurarse que los componentes de su equipo estn siguiendo las directrices de atencin telefnica que su organizacin a estipulado. Claro que esto entra en claro conflicto que la ley de proteccin de datos, que expresamente penaliza las grabaciones digitales sin el consentimiento de la persona grabada. Es por lo que en el caso de que quisiramos legalmente grabar las conversaciones, en la locucin de acceso tendramos que aadir una locucin extra indicando Su mensaje puede ser grabado para la gestin de calidad, en caso de no desear ser grabado, indquelo a la persona que le atienda. Con esto estaramos cumpliendo la ley. En todo caso, cumpliendo o no la ley, es una herramienta ms de nuestra centralita y vamos a ver el modo de hacerlo. En primer lugar podemos hacer grabaciones puntuales. Eso significa que la persona que atiende la llamada puede decidir grabar la conversacin en un momento dado, para lo que primero tendremos que haber habilitado la funcin de grabacin en el extensions.conf para esa extensin y en segundo lugar el operador de la extensin a de pulsar *1 con lo que hace que a partir de ese momento la conversacin se grabe en el directorio /var/spool/asterisk/monitor. Para habilitar la grabacin en la linea de la extensin en el extensions.conf habra que aadir w en los parametros de la misma exten => 100,n,Dial(Sip/100,30,tTrw)

Pero si lo que deseamos es grabar todo lo que pasa por una extensin, podemos aadir estas instrucciones a la extensin o extensiones que deseemos grabar de manera constante. Estas lineas tienen que ponerse al principio de la extensin, para que antes incluso de que se descuelgue el telfono, el sistema ya est en disposicin de comenzar la grabacin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 88 Instalacin y configuracin de centralita VoIP basada en asterisk

exten => 100,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-%H-%M-%S--)}) exten => 100,2,MixMonitor(ENTRADA-${horadellamada}-$ {CALLERID(num)}-${EXTEN}.wav) y a continuacin las lneas que normalmente hemos tenido operativas para usar la extensin. Explicamos que hacen exactamente estas instrucciones exten => 100,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-%H-%M-%S--)}) indica que las llamadas entrantes en la extensin [100] almacenaran una variable llamada horadellamada (eso es una variable de usuario creada por nosotros, por si no se ha notado). Esa variable contendr el da, mes, ao, hora, minuto y segundo de inicio de la llamada en formato texto para poder usarlo junto con ms parametros en la confeccin de un nombre de archivo en el que se almacenar la grabacin. exten => 100,2,MixMonitor(ENTRADA-${horadellamada}-$ {CALLERID(num)}-${EXTEN}.wav) indica que se almacenara en el directorio por defecto de grabaciones, que como hemos indicado antes es /var/spool/asterisk/monitor, un archivo cuyo nombre ser ENTRADA seguido de un guin, seguido de la variable que hemos almacenado anteriormente con el dia y hora de la llamada, seguido de otro guin, seguido del nmero de la persona que ha llamado que est almacenado en la variable de sistema CALLERID (el poner num entre parntesis es para indicar que solamente se aceptar para esa variable un parmetro numrico),seguido de un guin, seguido del nmero de extensin que ha recibido la llamada (almacenado en la variable de sistema EXTEN), seguido por ultimo de la extensin .wav que nos deja finalmente un nombre de archivo que permite identificar con facilidad las grabaciones, un ejemplo de nombre de archivo generado es este : ENTRADA-08-06-08 21-58-08---953121212-200.wav

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 89 Instalacin y configuracin de centralita VoIP basada en asterisk

10.6 INSTALACIN DE HYLAFAX, SERVIDOR DE GESTIN DE FAX. Uno de los puntos de mayor complejidad a la hora de configurar la centralita es la gestin de fax. Una vez configurada, nos permitir enviar faxes desde los terminales informticos de la empresa, sencillamente indicando que el documento que hemos de enviar lo queremos imprimir al fax, momento en que se nos solicitar el nmero de telfono al que deseamos remitir dicho fax y Asterisk se encargar de todo. Tambin estar Asterisk atento a todas las llamadas entrantes para asegurarse de si se identifican o no como una llamada de fax, para en el caso de que lo hagan, gestionarlas y remitirlas a una extensin donde hayamos conectado un fax fsico, o si lo deseamos, a una cuenta de correo electrnico desde la que podremos revisar e imprimir si nos interesa el contenido de dicho fax. Para la gestin de fax vamos a usar el servidor hylafax y para instalarlo, tendremos que usar aptitude install hylafax-server Una vez instalado, ejecutamos la orden faxsetup que crea una configuracin inicial almacenando la configuracin en dos directorios. Ambos directorios contienen la misma informacin, aunque nosotros hemos de modificar archivos nicamente en uno de ellos. Cuando el servidor hylafax se reinicia, automticamente copia los ficheros de configuracin del directorio donde los modificamos al directorio para su uso personal. Esos directorios son /etc/hylafax, que es donde haremos las modificaciones y /var/spool/hylafax/etc que es donde estar almacenado el duplicado que usa el servidor. En el directorio /etc/hylafax podremos encontrar los ficheros que detallamos a continuacin /etc/hylafax/hfaxd.conf Este es el archivo de configuracin del demonio del servidor hylafax y en el se definen donde estn los ficheros de configuracin adicionales. Raramente hay que modificar los parametros que contiene, pero lo indicamos por si en un caso excepcional es necesario para alguna configuracin compleja. /etc/hylafax/hyla.conf

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 90 Instalacin y configuracin de centralita VoIP basada en asterisk

Parmetros de configuracin del los clientes para que puedan enviar fax desde el servidor mediante sendfax.

/etc/hylafax/config Configuracin general de hylafax para el sistema local. Se puede especificar en este archivo como llamar el servidor de fax a los diferentes nmeros de telfono (incluyendo como distinguir llamadas internacionales de locales). Se puede tambin configurar la gestin de archivos log (archivos que contienen informacin de todo lo que va haciendo el servidor de fax), el nmero mximo de trabajos concurrentes, tamao mximo de la pgina del fax, si se desea pgina informativa aadida automticamente al fax enviado con los datos de la organizacin, y por ultimo, pero no menos importante, el nmero mximo de intentos que realizar el servidor a un nmero de fax dado antes de indicarnos que no puede enviar el fax. /etc/hylafax/hosts.hfaxd Este archivo especifica los equipos y usuarios a los que se les permite acceder a los servicios de fax, por medio del proceso hfaxd. Podemos aadir y quitar usuarios de fax sin necesidad de editar el fichero ejecutando en la lnea de comandos del sistema las instrucciones faxadduser y faxdeluser seguidas del nombre del usuario. /var/spool/hylafax/info Directorio con informacin de las mquinas receptoras a las que ya se ha enviado algn fax. /var/spool/hylafax/docq Directorio donde hylafax almacena todos los documentos enviados.

10.7 CONFIGURACIN DE HYLAFAX PARA UTILIZAR MODEM VIRTUAL DE ASTERISK.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 91 Instalacin y configuracin de centralita VoIP basada en asterisk

En primer lugar hemos de crear una nueva extensin para la recepcin de fax. Vamos aadir para ello en el fichero vi /etc/asterisk/iax.conf las instrucciones necesarias para aadir la extensin [777] (nuestra flamante nueva extensin para fax) [777] username = 777 type = friend secret = 777 qualify = yes notransfer = yes host = dynamic context = fax callerid = Fax <777> allow = all modificamos el archivo vi /etc/asterisk/zapata.conf aadiendo la instruccin faxdetect = both ; permite envo y recepcin de fax

modificamos por fin nuestro dialplan agregando en el archivo extensions.conf, al final del contexto [inicio] exten => fax,1,Goto(fax,777,1)

y agregamos en el contesto inicio un include = fax.

Ahora creamos el contexto de fax. Esto lo podemos poner al final del

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 92 Instalacin y configuracin de centralita VoIP basada en asterisk

extensions.conf donde nos parezca conveniente, recordando que al final del dialplan han de estar las extensiones a las que demos menos uso. La extensin quedara as [fax] exten exten exten => => => 777,1,Answer() 777,n,Dial(IAX2/777) 777,n,Hangup()

y para comprobar que todo esta correcto, en la lnea de comandos del sistema ejecutamos la instruccin iaxmodem ttyIAX que nos mostrar unas lineas de registro del servicio (con algunos errores, eso es normal, no hay que asustarse), y que finalmente aparecer un mensaje Registration completed successfully a lo que seguidamente en el CLI ejecutamos la instruccin iax2 show peers like 777 que nos responde con un mensaje como el siguiente Name Host Mask (D) 255.255.255.255 Port 45699 Status OK (2 ms)

777/777 127.0.0.1

lo que nos indica que todo est preparado para poder recibir fax correctamente. Solo nos falta hacer que el proceso faxgetty est constantemente a la escucha de los posibles fax entrantes. Para ello hemos de aadir en el archivo vi /etc/inittab justo al principio del fichero tras las dos primeras lineas de descripcin del archivo, las dos instrucciones que indicamos a continuacin iax:2345:respawn:/usr/local/bin/iaxmodem ttyIAX &> /var/log/asterisk/iaxmodem-ttyIAX fax:2345:respawn:/usr/local/sbin/faxgetty ttyIAX

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 93 Instalacin y configuracin de centralita VoIP basada en asterisk

tras lo que grabamos, salimos y reiniciamos nuestra mquina Asterisk para que cargue el proceso correspondiente. Aqu viene la complicacin, pues hemos de buscar a alguien que tenga posibilidad de enviar fax para que haga unos intentos y veamos el resultado de nuestros esfuerzos. Podemos mandar un fax de prueba con la instruccin sendfax -n -d <nmero de fax> /etc/hylafax/faxcover.ps (o cualquier otro archivo .ps que tengamos) Cuando nos enven un fax, comprobamos si dicho fax aparece en /var/spool/hylafax/recvq (estar en formato TIFF o PDF). Si no entran los fax o no se envan correctamente, podemos intentar comprender donde esta el problema echando un vistazo al archivo /var/log/messages. Para ver el estado del sistema de fax usaremos faxstat y para ver la cola de fax pendientes de envo usaremos faxstat -s.

10.8 RECEPCIN DE FAX EN EL CORREO ELECTRNICO. Hemos de crear un fichero de configuracin nuevo mediante la instruccin vi /etc/hylafax/FaxDispatch que contenga los siguientes comandos FILETYPE=pdf; SENDTO=tutoria@proyectoasterisk.net; Aadimos al final del fichero

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 94 Instalacin y configuracin de centralita VoIP basada en asterisk

vi /etc/aliases FAXMASTER: tutoria@proyectoasterisk.net Por ultimo solo nos queda editar el fichero vi /etc/hylafax/FaxNotify y aadir NOTIFY_FAXMASTER=yes; RETURNFILETYPE=pdf; Con esto deberamos de recibir en el correo electrnico que hemos indicado en la configuracin tanto los fax entrantes en ficheros adjuntos a una notificacin informativa de cual ha sido el nmero de telfono que nos ha remitido dicho fax, como una confirmacin de que los fax que estamos enviando, funcionan correctamente.

10.9 INTEGRAR CDR ASTERISK. GESTIN DE BASE DE DATOS. Una de las funciones ms llamativas de Asterisk, es la posibilidad de gestin mediante bases de datos de toda la informacin obtenida de las llamadas que pasan a travs del servidor. Es una maravilla que hay que ver para creer, as que aptitude install mysql-server apache2 php5 php5-mysql php5-pd Una vez instalado el servidor web y el servidor de base de datos entramos en la lnea de comando del gestor de base de datos con la instruccin mysql y vamos introduciendo los siguientes comandos CREATE DATABASE asterisk; GRANT INSERT ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'password'

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 95 Instalacin y configuracin de centralita VoIP basada en asterisk

donde password lo sustituimos por la contrasea de root que tengamos en la mquina Asterisk. Seguimos introduciendo instrucciones USE asterisk; CREATE TABLE cdr (calldate datetime NOT NULL default '0000-00-00 00:00:00',clid varchar(80) NOT NULL default '',src varchar(80) NOT NULL default '',dst varchar(80) NOT NULL default '',dcontext varchar(80) NOT NULL default '',channel varchar(80) NOT NULL default '',dstchannel varchar(80) NOT NULL default '',lastapp varchar(80) NOT NULL default '',lastdata varchar(80) NOT NULL default '',duration int(11) NOT NULL default '0',billsec int(11) NOT NULL default '0',disposition varchar(45) NOT NULL default '',amaflags int(11) NOT NULL default '0',accountcode varchar(20) NOT NULL default '',userfield varchar(255) NOT NULL default ''); ALTER TABLE cdr ADD INDEX (calldate); ALTER TABLE cdr ADD INDEX (dst); ALTER TABLE cdr ADD INDEX (accountcode); Y modificamos los ficheros de asterisk para la base de datos vi /etc/asterisk/cdr_mysql.conf que nos aseguramos que contenga las instrucciones que indicamos a continuacin [global] hostname=localhost dbname=asterisk password= user=root editamos vi /etc/asterisk/res_mysql.conf

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 96 Instalacin y configuracin de centralita VoIP basada en asterisk

asegurndonos que contenga [general] dbhost = 127.0.0.1 dbname = asterisk dbtable= cdr dbuser = root dbpass = dbport = 3306 dbsock = /tmp/mysql.sock Descargamos asterisk-stat que contiene una pgina web en PHP que permite visualizar los datos que asterisk almacena en la base de datos, para que funcione nos vamos a cd /var/www descargamos y descomprimimos el siguiente archivo, con lo que se nos crea una carpeta llamada asterisk-stat-v2 wget http://areski.net/asterisk-stat-v2/asterisk-stat-v2_0_1.tar.gz tar -zxvf asterisk-stat-v2_0_1.tar.gz modificamos el fichero vi /var/www/asterisk-stat-v2/lib/defines.php y comprobamos que en el principio del fichero las instrucciones que presentamos a continuacin existen y con los parmetros que indicamos define ("WEBROOT", "http://localhost/asterisk-stat/"); define ("FSROOT", "/var/www/html/HTTP2/Asterisk/asterisk-stat-v2/"); define ("LIBDIR", FSROOT."lib/"); define ("HOST", "localhost"); define ("PORT", "3306"); define ("USER", "root");

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 97 Instalacin y configuracin de centralita VoIP basada en asterisk

define ("PASS", ""); define ("DBNAME", "asterisk"); define ("DB_TYPE", "mysql"); define ("DB_TABLENAME", "cdr"); y finalmente, aleluya, para poder ver las estadsticas de nuestra centralita desde un cliente WEB, solamente tendramos que escribir en la barra de direcciones http://172.16.0.211/asterisk-stat-v2/cdr.php La pgina de estadsticas tiene mltiples opciones que dejamos en manos del lector el explorar. Adems es totalmente modificable para alguien con conocimientos de PHP (de echo la pgina que descargas est en ingles y nosotros la hemos traducido al castellano). Se pueden aadir nuevas estadsticas y funcionalidades que puedan ser tiles en nuestra organizacin.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 98 Instalacin y configuracin de centralita VoIP basada en asterisk

RESULTADOS
Durante la gestacin del proyecto y su posterior desarrollo, hemos tenido que leer cantidades ingentes de documentacin. Esencialmente pginas web, foros y manuales en linea. Esas lecturas han conseguido principalmente dos cosas; por un lado que hayamos obtenido el resultado esperado, esto es, una centralita plenamente operativa con unas funciones que superan a las centralitas de gama media-alta que venden o alquilan las operadoras de telefona, y por un precio extremadamente inferior. Pero por otro lado, una vez el proyecto estaba maduro, y pasada la fase de pruebas iniciales, gracias a seguir extrayendo informacin de internet, nos dimos cuenta que muchas cosas que habamos hecho de manera manual durante los procesos de instalacin se podan automatizar, haciendo ms sencilla la creacin e instalacin de nuevas mquinas virtuales. Eso nos anim a pensar por que no crear ms mquinas virtuales que provean de ms servicios al servidor? Tambin, en nuestro afn porque nuestro servidor fuese lo ms seguro y escalable dentro de lo posible, vimos que existe un sistema de archivos llamado LVM extremadamente flexible que provee ciertas funciones interesantes. Planteamos en aras de las seguridad el aadirle un firewall al servidor (un corta fuegos herramienta software para intentar evitar intrusiones o ataques a ordenadores) para lo que encontramos Shorewall y para que todo ello funcionara correctamente nos vimos en la necesidad de usar un servidor DHCP (que asigna direcciones IP automticamente), un servidor SAMBA (que permite compartir archivos entre diferentes sistemas operativos) y hemos querido que tanto esfuerzo, se salvaguarde cada poco tiempo, para lo que hemos generado un sistema de copias de seguridad automatizado mediante CRON (un gestor de ejecucin de tareas de Debian). El resultado es que tenemos un pequeo proyecto secundario en el que explicamos las mejoras que hemos encontrado y con esas mejoras hemos generado las instrucciones de creacin de una nueva mquina virtual que engloba todas las funciones que, por desconocimiento, en un principio no tenamos previsto incluir en nuestro servidor de centralita Asterisk. He aqu el resultado :

CREACIN DE MAQUINA VIRTUAL CON SOPORTE LVM, SERVIDOR DE FICHEROS, SERVIDOR DNS, FIREWALL Y COPIAS DE SEGURIDAD CON

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 99 Instalacin y configuracin de centralita VoIP basada en asterisk

CRON. Una vez creada la primera mquina virtual nos planteamos crear otra que nos sirva de cortafuegos, copias de seguridad servidor de nombres (DNS) y ficheros (vamos a centralizar toda la informacin de la red en esta mquina que har las veces de servidor de enlace entre redes). El primer problemas que se nos plantea es en el tema de la generacin de datos, pues como nuestro sistema esta en maquinas virtuales de tamao fijo, llegar un momento en que debido a los datos generados por el uso de la centralita (mensajes de voz archivados, faxes, datos del CDR), nos quedaremos sin espacio en el disco duro. Para solucionar esto utilizaremos volmenes lgicos a la hora de crear las imgenes de las maquinas virtuales. El segundo problema a resolver es el como configurar nuestro sistema para que todo el trafico que pase desde internet a nuestra intranet pase por esta maquina y proteja tanto nuestros datos como toda nuestra red de Internet. Para esto le instalaremos a nuestro sistema una tarjeta de red extra que conectaremos directamente a Internet y configuraremos nuestro sistema Xen para que la mquina virtual administre esta tarjeta directamente, al igual que hicimos con la tarjeta de comunicaciones Asterisk, y as poder ejercer las funciones de router en nuestra intranet.

1.1 DEFINICIN Y CARACTERISTICAS DE LVM: LVM es una implementacin de un administrador de volmenes lgicos para el kernel Linux. LVM incluye muchas de las caractersticas que podemos esperar de un administrador de volmenes, incluyendo:

- Redimensionado de grupos lgicos - Redimensionado de volmenes lgicos - Instantneas de slo lectura (LVM2 ofrece lectura y escritura) - RAID0 de volmenes lgicos (unir varios discos duros como uno)

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 100 Instalacin y configuracin de centralita VoIP basada en asterisk

LVM no implementa RAID1 o RAID5, por lo que se recomienda usar software especfico de RAID para estas operaciones, teniendo las LV por encima del RAID. En la imagen de la derecha podemos observar cmo trabaja LVM. Los volmenes lgicos agrupan particiones fsicas de disco, y stos a su vez, aunque no est representado en la figura, se engloban en un grupo lgico. De esta forma, /home se compone de hda3, hda4 y hdb3, y a su vez, /usr engloba a hda1, hda2, hdb1 y hdb2.

1.1.1 Ventajas de usar LVM : - La gestin de volmenes lgicos proporciona una vista de alto nivel sobre el almacenamiento en un ordenador, en vez de la tradicional vista de discos y particiones. - Los volmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos a voluntad, aunque esto quiz necesite actualizar las herramientas del sistema.

- LVM tambin permite la administracin en grupos definidos por el usuario, permitiendo al administrador del sistema tratar con volmenes llamados, por ejemplo, "ventas" o "desarrollo", en vez de nombres de dispositivos fsicos, como "sda" o "sdb".

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 101 Instalacin y configuracin de centralita VoIP basada en asterisk

1.1.2 Anatoma de un LVM : Un volumen LVM se descompone en tres partes: 1.1.2.1 Volmenes fsicos (PV): son los discos duros, particiones o cualquier otra "cosa" que parezca un disco duro (como por ejemplo los RAID). 1.1.2.2 Volmenes lgicos (LV): es el equivalente a una particin en un sistema tradicional. El LV es visible como un dispositivo estndar de bloques, por lo que puede contener un sistema de archivos (por ejemplo /home). 1.1.2.3 Grupos de volmenes (VG): es la parte superior de la LVM. Es la "caja" en la que tenemos nuestros volmenes lgicos (LV) y nuestros volmenes fsicos (PV). Se puede ver como una unidad administrativa en la que se engloban nuestros recursos. Hay que hacer notar que mientras un PV no se aada al VG, no podemos comenzar a usarlo.

A su vez, un PV se divide en chunks de datos, que se conocen como PE (acrnimo de physical extents medidas fsicas), que son del mismo tamao que los PE del VG. Adems, un LV se divide tambin en LE (logical extents), cuyo tamao es el mismo para todos los LV del VG.

Por ejemplo, teniendo como referencia la imagen del comienzo del artculo, supongamos que tenemos un VG llamado CASA, con 4MB de PE, al que queremos aadir un LV para /tmp/. Aadimos dos particiones de disco, /dev/sda4 y /dev/sdb3, que se llamarn PV1 y PV2 (se las puede renombrar a discrecin del usuario). Los PV pueden ser de distinto tamao y por lo tanto, tendrn un nmero distinto de PE, por lo que supongamos que tenemos para PV1 99 PE y para PV2 248 PE. Ahora, podemos crear el LV que necesitamos, que puede ser de cualquier tamao entre 1 y 347 (99+248) PE. De esta forma se crea una tabla que relaciona los PE y los LE y si, por ejemplo, escribimos 4 MB en el LE nmero 1 del LV, se correspondern con el PE 51 de la PV1.

1.1.3 Instantneas (copias de seguridad) : Las instantneas (snapshots) permiten al administrador crear un nuevo dispositivo que ser una copia exacta del LV,

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 102 Instalacin y configuracin de centralita VoIP basada en asterisk

congelada en algn punto del tiempo. Normalmente esto se realiza de forma automtica, para no alterar el funcionamiento normal del sistema. Cuando la instantnea ha terminado, el administrador puede quitar el dispositivo sin mayor complicacin. Adems, no es necesario que los datos en el LV se encuentren en un estado consistente, ya que muchos sistemas de ficheros en el kernel 2.6 lo realizan de forma automtica. Una diferencia importante entre la versin 1 de LVM (LVM1 a partir de ahora) y la versin 2 (LVM2) es que en la primera, los snapshots eran de slo lectura, mientras que en LVM2 son de lectura y escritura. Cul es la diferencia? En LVM1, se crea lo que se llama una tabla de excepciones, que se usa para mantener una lista de qu bloques en disco han cambiado. Si un bloque va a ser modificado en el origen, primero se copia en la instantnea, se marca como copiado en la tabla de excepciones y luego los nuevos datos se copian al volumen original. En LVM2, las instantneas funcionan como en LVM1, pero con la caracterstica de que si los datos se escriben en el snapshot (una vez montado), ese bloque se marca como usado en la tabla de excepciones y no se copia al volumen original. Esta caracterstica es muy til debido a que podemos crear nuestra instantnea, montarla y probar un programa o un nuevo navegador de ficheros. Si ocurre algo desastroso, la desmontamos, la borramos y volvemos a colocar el volumen original.

1.2 EMPEZAMOS LA INSTALACIN. Preparamos nuestro sistema, necesitamos una particin vaca o bien un disco duro, para esto vamos a utilizar un HD de 320 GB. Primero tendremos que particionar el disco duro. Utilizaremos el comando fdisk (fdisk /dev/hdb) creamos una particin nuevo con la opcin n , le cambiamos el tipo con la opcin t y elegimos el tipo de particin Linux LVM. Para escribir los datos en el disco duro y salir pulsamos w. fdisk /dev//hdb
El nmero de cilindros para este disco est establecido en 38913 No hay nada malo en ello, pero es mayor que 1024, y en algunos casos podra causar problemas con:

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 103 Instalacin y configuracin de centralita VoIP basada en asterisk

1) software que funciona en el inicio (ejemplo versiones antiguas de LILO) 2) software de arranque o particionamiento de otros sistemas operativos (ejemplo FDISK de DOS, FDISK de OS/2) Orden (m para obtener ayuda): p Disco /dev//hdb: 320.0 GB, 320072933376 bytes 255 cabezas, 63 sectores/pista, 38913 cilindros Unidades = cilindros de 16065 * 512 = 8225280 bytes Dispositivo /dev//hdb1 Inicio 1 Comienzo Fin 38913 Bloques Id Sistema Linux LVM

312568641 8e

Inicializamos la particin y creamos el volumen fsico (PV), es decir pvcreate /dev/hdb1 Vemos el resultado con pvdisplay:
--- Physical volume --PV Name VG Name PV Size Allocatable PE Size (Kbyte) Total PE Free PE Allocated PE PV UUID /dev/hdb1 vg 298,09 GB / not usable 0 yes 4096 76310 60424 15886 yeOwtx-Bt1Z-Q43X-cu3k-lM7z-Rwik-VcMH49

Ahora nos disponemos a crear un grupo de volumen (VG) llamado tambin vg vgcreate vg /dev/sdb1 que comprobamos tambin con vgdisplay, obteniendo

--- Volume group --VG Name System ID Format Metadata Areas Metadata Sequence lvm2 1 No 28 vg

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 104 Instalacin y configuracin de centralita VoIP basada en asterisk

VG Access VG Status MAX LV Cur LV Open LV Max PV Cur PV Act PV VG Size PE Size Total PE Alloc PE / Size Free PE / Size

read/write resizable 0 10 3 0 1 1 298,09 GB 4,00 MB 76310 15886 / 62,05 GB 60424 / 236,03 GB

VG UUID 9P10qW-d6GW-tZnC-RWGC-E1fZ-poEs-pFhCsx

Una vez hecho esto ya solo nos queda crear nuestra maquina virtual con soporte para LVM. Para ello instalamos un paquete para creacin de maquinas virtuales que provee una forma ms rpida que la descrita durante el proceso de instalacin del servidor Asterisk aptitude install xen-tools modificaremos el fichero vi /etc/xen-tools/xen-tools.conf para que quede con las siguientes instrucciones #dir = /data/xenmachines/ lvm = vg size = 4Gb # Nombre del volumen lvm # Tamao que tomara en un principio # Memoria RAM reservada para esta maquina virtual # Tamao de la particin Swap # noswap = 1 debootstrap = 1 memory = 128Mb swap = 128Mb fs = ext3 dist = etch

# El sistema de ficheros que vamos a usar es ext3 # Distribucin a instalar por defecto

image = sparse gateway = 172.16.0.1

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 105 Instalacin y configuracin de centralita VoIP basada en asterisk

netmask = 255.255.255.0 kernel = /boot/vmlinuz-2.6.18-6-xen-amd64 initrd = /boot/initrd.img-2.6.18-6-xen-amd64 # o la que estemos usando # o la que estemos usando

Una vez hecho esto ya podemos crear todas las imgenes que queramos con el comando: xen-create-image --hostname <nombre> --ip <ip de la maquina> Ejemplo: xen-create-image --hostname intranet --ip 172.16.0.212 Con este comando creamos directamente la maquina y con una Debian instalada. Este proceso tardara algo pues la instalacin de la Debian en esta maquina virtual la hace desde internet con debootstrap (utilizado en la creacin de la maquina Asterisk). Y arrancamos la maquina con: xm create -c /etc/xen/intranet.cfg Con esto ya tenemos creada nuestra maquina virtual con un tamao fijo de 4 Gb y nos disponemos a probar como funciona eso del LVM. 1.3 PRUEBAS CON LVM. 1.3.1 Eliminando un LV. Supongamos que no deseamos, por el motivo que sea, seguir usando el LV llamado intranet y deseamos eliminarlo para disponer de ese espacio para otros usos. Lo hacemos con : lvremove /dev/vg/intranet

1.3.2 Extendiendo un LV.

Supongamos que por el contrario en lugar de eliminar un LV queremos aadirle

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 106 Instalacin y configuracin de centralita VoIP basada en asterisk

5GB de capacidad, para ello tendramos que usar las instrucciones

lvextend-L+5G /dev/vg/intranet ; extiende el LV en +X cantidad de espacio e2fsck -f resize2fs /dev/vg/intranet ; examina la particin antes de tocarla /dev/disk/intranet ; realiza el cambio definitivo de tamao

1.3.3 Reduciendo un LV.

Veamos el caso contrario, pensemos que queremos reducir intranet, le quitaremos 5GB, el proceso es parecido al anterior: e2fschk -f /dev/vg/intranet resize2fs /dev/vg/intranet 35G lvreduce -L-5G /dev/vg/intranet Esto consigue que 1- revisamos el sistema de archivos (FS) ext3 2- reducimos el tamao del FS ext3 (aqu s hay que saber a cunto reducirlo) 3- reducimos el tamao del LV intranet, si te fijas usamos -L-5G aunque tambin podamos haber usado -L35G para indicarle el valor al que lo reducimos.

Con esto nos basta para reducir el tamao en 5GB.

1.3.4 Removiendo un PV.

Supongamos que un PV nuestro lo queremos sacar. Puede ser porque hemos agregado un nuevo PV anteriormente que es muy grande y ya este PV viejo nos queda pequeo y nos molesta su prrica presencia, queremos por tanto eliminar

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 107 Instalacin y configuracin de centralita VoIP basada en asterisk

el disco con

pvmove /dev/hdb1 Este proceso puede durar mucho tiempo, puesto que pvmove saca la informacin que tenga guardada y la almacena en los otros PV, esto sin alterar el esquema de los LV. Por supuesto que la suma de capacidad disponible en los otros PV debe ser mayor o igual a la cantidad de informacin que se est moviendo. Al finalizar de mover el PV, lo podemos eliminar del VG con:

vgreduce vg /dev/hdb1

1.4 CONCLUSIN Una vez hechas todas las comprobaciones podemos asegurar que por muchas maquinas virtuales que creemos o por mucho informacin que vayamos a guardar en nuestro servidor de ficheros y copias de seguridad, vamos a poder en todo momento administrar la capacidad de disco duro pudiendo disminuir el tamao de una maquina virtual que en un principio la creamos demasiado grande y poder drselo a otra maquina virtual que realmente lo necesite.

Si por el contrario ya hemos llenado toda la capacidad del disco duro se puede aadir otro mas (en cualquier momento) aumentando el tamao del primero. Parecido a un RAID 0. La diferencia con este radica en que el RAID0 hace una escritura en paralelo con lo que es mucho mas rpido que el LVM pero no permite hacer las maravillas (en el aspecto de posibilidades de gestin del LVM.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 108 Instalacin y configuracin de centralita VoIP basada en asterisk

DEFINICIN Y CARACTERSTICAS DEL FIREWALL (SHOREWALL + IPTABLES).

Shorewall (Shoreline Firewall) es una robusta herramienta de alto nivel para la configuracin de cortafuegos. Shorewall solo necesita que se le proporcionen algunos datos en algunos ficheros de texto simple y ste crear las reglas de cortafuegos correspondientes a travs de Iptables. Shorewall puede permitir utilizar un sistema como cortafuegos dedicado, permitiendo mltiples funciones como puerta de enlace, dispositivo de encaminamiento (router) y servidor de servicios de red.

Iptables es el nombre de la herramienta de espacio de usuario (User Space, es decir, rea de memoria donde todas las aplicaciones, en modo de usuario, pueden ser intercambiadas hacia memoria virtual cuando sea necesario) a travs de la cual los administradores de sistemas crean reglas para cada filtrado de paquetes y mdulos de NAT. Iptables es la herramienta estndar de todas las distribuciones modernas de GNU/Linux.

2.1 INSTALACIN DEL FIREWALL. Primero le instalamos a nuestro sistema una tarjeta de red secundaria conectada directamente al dispositivo que nos suministra servicios de internet (router adsl , cable mdem, etc) y configuramos (al igual que hicimos con tarjeta Asterisk) en el grub de nuestra maquina principal el parmetro necesario para poder administrar esta tarjeta directamente en la maquina virtual de cortafuegos, usando de nuevo la instruccin lspci y tomando nota de la direccin para aadirla INMEDIATAMENTE a continuacin de la que tenamos aadida para la gestin de la tarjeta de comunicaciones (tal y como est explicado en el captulo 3 INSTALACIN Y CONFIGURACIN DE SERVIDOR XEN). La instruccin debera quedar ms o menos as

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 109 Instalacin y configuracin de centralita VoIP basada en asterisk

module

/boot/vmlinux-2.6.18-6-xen-amd64

root=/dev/sda1

ro

console=tty0

max_loop=8 pciback.hide=(01:06.0)(01:07.0) Modificamos el fichero de configuracin de la mquina virtual que nos han creado las herramientas de creacin de Xen, mediante la instruccin vi /etc/xen/intranet.cfg y nos aseguramos que la instruccin PCI contenga lo siguientes pci=['01:07.0'] Copiamos en /etc/xen/auto/ el archivo de configuracin una vez modificado para que as se inicie automticamente cada vez que encendamos el servidor y arrancamos la mquina virtual con xm create /etc/xen/auto/intranet.cfg -c Una vez arrancada la maquina virtual tenemos que decirle al sistema que tenemos una tarjeta de red extra y que nos conectaremos por dhcp a la red de Internet, para ello editamos el fichero de configuracin de las tarjetas de red que en Debian se encuentra en /etc/network/interfaces auto eth0 iface eth0 inet static address 172.16.0.212 netmask 255.255.255.0 auto eth1 iface eth1 inet dhcp

Al reiniciar la red con /etc/init.d/networking restart comprobaremos que en esta maquina virtual ya tenemos Internet. Podemos ver el resultado con la instruccin ifconfig. En este caso eth0 es la tarjeta (virtual en este caso) que se conecta a nuestra red y

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 110 Instalacin y configuracin de centralita VoIP basada en asterisk

eth1 es la tarjeta de red que conecta la mquina intranet directamente a internet para poder, una vez filtrada la conexin, suministrar servicios al resto de mquina reales y virtuales de la red. Pero para que comparta la conexin tenemos que instalar Shorewall en intranet mediante la instruccin aptitude install shorewall

Shorewall es fcil de configurar. Al instalarlo se crean unos ficheros de configuracin en /etc/shorewall que son los que tendremos que modificar para configurarlo. /etc/interfaces .- En este fichero configuramos las tarjetas de red que tenemos y donde estn conectadas net eth1 detect loc eth0 detect dhcp,tcpflags,norfc1918,routefilter,nosmurfs,logmartians tcpflags,detectnets,nosmurfs

/etc/masq .- Este fichero es el que nos sirve para configurar el enrutado de la conexin de internet de una tarjeta de red a otra y as poder compartir la conexin a internet #INTERFACE SUBNET eth1 eth0 ADDRESS PROTO PORT(S)IPSEC

/etc/shorewall/policity .- Aqu indicamos la poltica que vamos a seguir. No es necesario modificarlo, pues como viene por defecto es suficiente para que el sistema funcione, aunque podramos, dependiendo del grado de seguridad que queramos para nuestra red, cambiar las polticas por defecto. /etc/shorewall/rules .- En este fichero le vamos a decir al firewall que puertos queremos dejar abiertos y a que puertos de las maquinas de nuestra red va a ir. Ejemplo si queremos direccionar el puerto 110 (POP3) a la maquina 172.168.0.213 de nuestra red usaramos la instruccin

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 111 Instalacin y configuracin de centralita VoIP basada en asterisk

NAT

net

loc:192.168.0.155:110

tcp

110

/etc/shorewall/zones .- Aqu configuramos las distintas zonas en que se va a componer nuestro cortafuegos, en nuestro caso configuramos 3 zonas una para nuestra red local otra para internet y otra para el cortafuegos.

#ZONE TYPE OPTIONS fw net loc firewall ipv4 ipv4

IN

OUT

OPTIONS

OPTIONS

Si todo esta bien configurado al hacer un /etc/init.d/shorewall restar ya estamos compartiendo con nuestra red la conexin a internet. Eso si la configuracin IP de las mquinas de la red la tendremos que configurar a mano debido a que aun no hemos instalado ningn servidor DHCP (este se encarga de asignar direcciones IP, puerta de enlace y servidor de nombres automticamente).

CONFIGURACIN SERVIDOR DHCP. DHCP (sigla en ingls de Dynamic Host Configuration Protocol) es un protocolo de red que permite a los nodos de una red IP obtener sus parmetros de configuracin automticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinmicas y las va asignando a los clientes conforme stas van estando libres, sabiendo en todo momento quin ha estado en posesin de esa IP, cunto tiempo la ha tenido y a quin se la ha asignado despus. Sin DHCP, cada direccin IP debe configurarse manualmente en cada computadora y, si la computadora se mueve a otro lugar en otra parte de la red, se debe configurar otra direccin IP diferente. El DHCP le permite al administrador supervisar y distribuir de forma centralizada las direcciones IP necesarias y, automticamente, asignar y enviar una nueva IP si la computadora es conectado en un lugar diferente de la red.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 112 Instalacin y configuracin de centralita VoIP basada en asterisk

El protocolo DHCP incluye tres mtodos de asignacin de direcciones IP: Asignacin manual o esttica: Asigna una direccin IP a una mquina determinada. Se suele utilizar cuando se quiere controlar la asignacin de direccin IP a cada cliente, y evitar, tambin, que se conecten clientes no identificados. Asignacin automtica: Asigna una direccin IP de forma permanente a una mquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele utilizar cuando el nmero de clientes no vara demasiado. Asignacin dinmica: el nico mtodo que permite la reutilizacin dinmica de las direcciones IP. El administrador de la red determina un rango de direcciones IP y cada computadora conectada a la red est configurada para solicitar su direccin IP al servidor cuando la tarjeta de interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de tiempo controlable. Esto facilita la instalacin de nuevas mquinas clientes a la red. En nuestro caso vamos a preparar nuestro servidor para poder suministrar este ltimo mtodo de asignacin.

3.1 PROCEDIMIENTO PARA LA PUESTA EN MARCHA. aptitude install dhcpd y una vez terminada la instalacin editamos el archivo vi /etc/dhcpd.conf que tiene que contener las siguientes instrucciones subnet 192.168.0.0 range netmask 255.255.255.0 172.16.0.240; 172.16.0.255; {

dynamic-bootp 172.16.0.220

option broadcast-address

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 113 Instalacin y configuracin de centralita VoIP basada en asterisk

option domain-name-servers option routers }

172.16.0.1; 192.168.0.212;

En la linea1, hace referencia a nuestra red local (al rango) y su mascara (en este caso, al ser de clase C, es 255.255.255.0). En la linea 2, configuramos el rango de IP que se van a dar a los clientes. En este caso de la IP 172.16.0.220 a la 172.16.0.240, es decir que el servidor configurar automticamente hasta 20 clientes simultneos. En la linea 3 est la direccin de broadcast de la red, que siempre que no haya subredes creadas terminara en .255 con la direccin de la red. En la linea 4, se hace referencia a la IP del servidor DNS que utilizaran los clientes de la red local. Como no hay ningn servidor DNS configurado an en la red local, configuramos la IP del servidor DNS del proveedor de Internet. En la linea 5, finalmente, se referencia a la mquina que hace de gateway de la red, que en este caso es la misma que tiene el servidor DHCP configurado. Con esto solo ya solo nos resta reiniciar el servidor dhcp con un /etc/init.d/dhcpd restart y listo, ya tenemos el servidor configurado y funcionando.

REALIZACIN DE COPIAS DE SEGURIDAD CON SAMBA + CRON. Hacer una copia de seguridad o copia de respaldo (backup en ingls, el uso de este anglicismo est ampliamente extendido) se refiere a la copia de datos de tal forma que estas copias adicionales puedan restaurar un sistema despus de una prdida de informacin. La copia de seguridad es til por varias razones: - Para restaurar un ordenador a un estado operacional tras un desastre (copias de seguridad del sistema. - Para restaurar un pequeo nmero de ficheros despus de que hayan sido borrados o daados accidentalmente (copias de seguridad de datos).

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 114 Instalacin y configuracin de centralita VoIP basada en asterisk

- En el mundo de la empresa, adems es til y obligatorio, para evitar ser sancionado por los rganos de control en materia de proteccin de datos. La primera la tenemos cubierta con nuestro sistema de maquinas virtuales con Xen y para la segunda utilizamos esta maquina virtual para realizar la copia de los datos de todos los equipos de nuestra red, tanto Windows como Linux. Para esto utilizaremos el programa Samba para comunicarnos con las maquinas Windows y CRON para arrancar nuestro sistema de copias de seguridad.

4.1 SAMBA

Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux, Mac OS X o Unix en general se vean como servidores o acten como clientes en redes de Windows. Samba tambin permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresin, directorios compartidos y autenticar con su propio archivo de usuarios. Entre los sistemas tipo Unix en los que se puede ejecutar Samba, estn las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD.

Samba configura directorios Unix/Linux como recursos para compartir a travs de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen como carpetas normales de red. Los usuarios de Linux pueden montar en sus sistemas de archivos estas unidades de red como si fueran dispositivos locales, o utilizar la orden smbclient para conectarse a ellas muy al estilo del cliente de la lnea de rdenes ftp. Cada directorio puede tener diferentes permisos de acceso sobrepuestos a las protecciones del sistema de archivos que se est usando en Linux. Por ejemplo, las carpetas home pueden tener permisos de lectura y escritura para cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin embargo, deberemos cambiar los permisos de los archivos localmente para dejar al resto ver nuestros archivos, ya que con dar permisos de escritura en el recurso no ser suficiente.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 115 Instalacin y configuracin de centralita VoIP basada en asterisk

La configuracin de Samba se logra editando un solo archivo, accesible en /etc/smb.conf o en /etc/samba/smb.conf.

Para las copias de seguridad de todas las mquinas Windows de nuestra red hemos creado un script que copia todo lo que tenemos en un recurso compartido segn el da de la semana. El archivo que contiene el script lo guardamos en /root/backupwindows y el script lo suministramos como anexo1 al documento, tanto en papel como en formato electrnico. El script hace copias de seguridad cada da de la semana de las carpetas que le indiquemos en la funcin function CopiaDiaria().

Para la copia de seguridad de las maquinas Linux, hemos generado un segundo script que al igual que el primero, guarda copia de seguridad de las carpetas que le indiquemos. Este script tambin lo almacenamos en /root/backuplinux y lo aadimos como anexo 2 a la documentacin.

4.2 CRON.

CRON es es un administrador regular de procesos en segundo plano (demonio) que ejecuta programas a intervalos regulares (por ejemplo, cada minuto, da, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el archivo /etc/crontab.

CRON se podra definir como el "equivalente" a Tareas Programadas de Windows. Los usuarios habilitados para crear su archivo crontab se especifican en el archivo /etc/cron.allow. De manera anloga, los que no lo tienen permitido figuran en /etc/cron.d/cron.deny o en /etc/cron.deny.

Formato del archivo crontab

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 116 Instalacin y configuracin de centralita VoIP basada en asterisk

01 * * * * root nice -n 19 run-parts /etc/cron.hourly 50 0 * * * root nice -n 19 run-parts /etc/cron.daily 22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly 42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly Para agregar, quitar o modificar tareas, hay que editar el crontab. Esto se hace con la orden crontab -e, que abrir el editor definido en la variable entorno EDITOR y cargar el archivo crontab correspondiente al usuario que est autentificado en el sistema.

4.2.1 Sintaxis de configuracin de CRON. El momento de ejecucin de un script lo indicamos en el archivo crontab teniendo en cuenta que tiene cinco posibles parmetros en este orden : Minutos : (0-59) Horas : (0-23) Das : (1-31) Mes : (1-12) Da de la semana : (0-6), siendo 1=Lunes, 2=Martes, etc, 0=Domingo Por tanto para indicar en el crontab que queremos ejecutar nuestro script de copia de seguridad todos los Lunes a las diez de la noche tendramos que indicar * 22 * * 01 /root/backuplinux

o podramos hacer que la copia fuese todos los das quince de cada mes a las doce y cinco de la madrugada 05 00 15 * * /root/backupwindows

Ni que decir tiene que podemos ejecutar no solo nuestros scripts, sino tambin cualquier orden de sistema o cualquier aplicacin que nos interese.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 117 Instalacin y configuracin de centralita VoIP basada en asterisk

CONCLUSIONES
El software libre es la panacea universal para la informtica. Es el nico medio que hace que el ser humano no tenga que reinventar la rueda una y mil veces. Es una perdida de recursos y tiempo el que si alguien quiere suministrar un procesador de textos, tenga que reescribir el cdigo desde cero. Y eso por cada organizacin, empresa o particular que desee disponer de dicho procesador de textos, creando adems diferentes formatos incompatibles entre s. Nosotros, sin tener que reinventar la rueda hemos podido crear una centralita telefnica de alto valor aadido, aprovechando el trabajo previo de personas que han cedido horas de su tiempo para generar esta maravilla de la computacin que es Asterisk. Es por lo que por nuestra parte vamos a poner nuestro proyecto a disposicin de la comunidad del software libre para que gracias a nuestras experiencias, podamos facilitar que otras personas no tengan que usar la barbaridad de horas de lectura y creacin que hemos tenido que emplear nosotros para poner en marcha un servidor Asterisk. Para que otras personas, no tengan que reinventar la rueda y puedan dedicar su tiempo a sus aficiones, a su familia, a sus amigos o que diablos !!! a generar ms software libre que luego todos podamos disfrutar.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 118 Instalacin y configuracin de centralita VoIP basada en asterisk

BIBLIOGRAFA http://www.genbeta.com/2007/09/29-cual-es-el-tamano-optimo-para-la-swap-en-linux http://www.laespiral.org/articulos/chroot/entorno-chroot.html http://www.kriptopolis.org/instalar-xen-en-arch-linux http://www.howtoforge.com/perfect_setup_xen3_debian http://linuxupc.upc.es/~kampa/blog/gnulinux/instalar-xen-en-gnudebian-etch/ http://www.linuca.org/body.phtml?nIdNoticia=355&nIdPage=4 http://julioduque.wordpress.com/2007/11/27/virtualizar-puerto-paralelo-en-xen/feed/ http://es.wikipedia.org/wiki/E1 http://es.wikipedia.org/wiki/RDSI http://www.escritura-uah.es/index.php?option=com_easyfaq&task=view&id=16 http://www.voip-info.org/wiki-Asterisk+CLI http://www.ecualug.org/?q=2007/jul/29/forums/asterisk_cli http://www.asteriskguru.com/tutorials/cli_cmd_14_page2.html http://www.pixelado.org/?p=36 http://mdelgac.weblog.net/2007/10/12/escenario-de-configuracion-basica-de-asteriskpap2spa400/ http://forum.asterisk-online.com.ar/phpBB2/viewtopic.php? p=560&sid=188d4322251373820ca88b291786b188 http://www.3cx.es/voip-sip/telefonos-sip.php http://www.voipforo.com/asterisk/configuracion-extensions-conf.php

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 119 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO I SCRIPT DE COPIAS DE SEGURIDAD MEDIANTE RSYNC PARA SISTEMAS WINDOWS


#!/bin/sh #Copia un Recurso compartido SAMBA con montaje y desmontaje #Parmetros: Recurso CarpetaOrigen CarpetaDestino function CopiaCarpetas() { echo "*** Comienza copia diaria de carpeta $1/$2 a $3" mount -t smbfs -o password= $1 /mnt rsync -a --delete /mnt/$2/ /backup2/$3 umount /mnt echo "*** Termina copia diaria de carpeta $1/$2 a $3" } function CopiaDiaria() { #Insertar una linea por cada recurso compartido a copiar #PC MIGUEL CopiaCarpetas //172.16.0.241/AEAT . $1/miguel/AEAT CopiaCarpetas //172.16.0.241/mis_documentos . $1/miguel/mis_documentos

#PC PEDRO CopiaCarpetas //172.16.0.242/Documents_and_settings . $1/pedro/Documents_and_settings

MiFecha=`date +%Y_%m_%d` echo "********************** BACKUP DEL $MiFecha ********************************"

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 120 Instalacin y configuracin de centralita VoIP basada en asterisk

dia=`date +%A` case "$dia" in lunes) CopiaDiaria lunes ;; martes) CopiaDiaria martes ;; mircoles) CopiaDiaria mircoles ;; jueves) CopiaDiaria jueves ;; viernes) CopiaDiaria viernes ;; esac

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 121 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO II SCRIPT DE COPIAS DE SEGURIDAD EN ARCHIVOS COMPRIMIDOS .TAR PARA SISTEMAS LINUX
#!/bin/bash #Directorios que queremos copiar ETC=/etc/ HOME=/home/almacen #Guardamos la fecha DIA=`date +%Y%m%d` #Destino, donde se almacenaran las copias de seguridad DEST=/backup2 /linux echo Creando copia completa tar -cvzf $DEST/etc.$DIA.copia.tar.gz $ETC tar -cvzf $DEST/almacen.$DIA.copia.tar.gz $HOME echo Copia completa terminada echo COPIA DE SEGURIDAD DEL $DIA DE $ETC $HOME CREADA | mail supervisor@proyectoasterisk.net

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 122 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO III CONTENIDO DEL ARCHIVO ZAPATA.CONF [channels] language usecallingpres usercallerid hidecallerid callwaiting transfer = yes immediate faxdetect busydetect = yes = both = yes = es = yes = yes = no = yes

threewaycalling = yes

group=1 context busycount immediate signalling echocancel = inicio =7 = yes = fxs_ks = yes

echocancelwhenbridged=yes answeronpolarityswitch=yes hanguponpolarityswitch=yes rxgain txgain channel =>1 = 0.5 = 1.0

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 123 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO IV CONTENIDO DEL ARCHIVO SIP.CONF [general] port bindaddr context disallow allow language useragent tos videosupport = = = = = = = = = 5060 0.0.0.0 inicio all alaw es ASTERISK PBX PROYECTO 0x18 yes

[100] username type ;secret ;callerid = context ;nat host ;canreinvite ;qualify ;call-limit mailbox = = = = = = = inicio yes dynamic no yes 10 100 ; permitir que la extension se use desde internet ; permite que la extensin se use con todas ips = = = 100 friend

[200] username = 200

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 124 Instalacin y configuracin de centralita VoIP basada en asterisk

type context host mailbox [300] username type context host mailbox [400] username type secret context host mailbox

= = = =

friend inicio dynamic 200

= = = = =

300 friend inicio dynamic 300

= = = = = =

400 friend 400 inicio dynamic 400

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 125 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO V CONTENIDO DEL ARCHIVO IAX.CONF [general] bindport bindaddr context languaje delayreject bandwitch allow [700] username type secret context host nat [777] username type qualify notransfer secret host context nat callerid allow = = = = = = = = = = 777 friend yes yes 777 dynamic fax no Fax <777> all = = = = = = 700 friend 700 inicio dynamic yes = = = = = = = 4569 inicio es yes low all ; usar codec con bajo consumo de ancho de banda ; codecs que se usarn (permitimos todos) ; puerto por defecto del protocolo IAX ; contexto por defecto 0.0.0.0 ; direccin IP para la conexin (cualquiera)

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 126 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO VI CONTENIDO DEL ARCHIVO EXTENSIONS.CONF [general] static writeprotect = = yes no yes no no es

autofallthrough = clearglobalvars = priorityjumping = language =

[inicio] include = entrada include = horario include = fax exten exten exten exten exten exten => => => => => => s,1,Answer() s,n,Wait(3) ; descuelga ; espera 3 segundos ; ;

s,n,GotoifTime(22:01-09:59|mon-sat|*|*?horario,s,13) s,n,GotoifTime(15:01-19:59|mon-sat|*|*?horario,s,13) s,n,GotoifTime(00:00-23:59|sun|*|*?horario,s,16) fax,1,Goto(fax,777,1) ;

; si es un fax marca la extensin 777

[entrada]

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 127 Instalacin y configuracin de centralita VoIP basada en asterisk

include = salida exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => s,n,Background(loc_inicio) s,n,WaitExten(5) s,n,Background(loc_inicio) s,n,WaitExten(5) s,n,Goto(100,1) s,n,Hangup() 1,1,Goto(100,1) 2,1,Goto(200,1) 3,1,Goto(300,1) 4,1,Goto(400,1)

[salida] include = buzondevoz ; extensiones internas exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => 100,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-100,n,MixMonitor(ENTRADA-${horadellamada}-$ 100,n,GotoifTime(22:01-17:59|mon-sat|*|*?horario,s,1) 100,n,Dial(Sip/100,30,tTr) 100,n,Voicemail,100 100,n,Hangup() 200,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-200,n,MixMonitor(ENTRADA-${horadellamada}-$ 200,n,GotoifTime(15:01-09:59|mon-sat|*|*?horario,s,4) 200,n,Dial(Sip/200,30,tTr) %H-%M-%S--)}) {CALLERID(num)}-${EXTEN}.wav)

%H-%M-%S--)}) {CALLERID(num)}-${EXTEN}.wav)

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 128 Instalacin y configuracin de centralita VoIP basada en asterisk

exten exten exten exten exten exten exten exten exten exten exten exten exten exten

=> => => => => => => => => => => => => =>

200,n,Voicemail,200 200,n,Hangup() 300,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-300,n,MixMonitor(ENTRADA-${horadellamada}-$ 300,n,GotoifTime(00:01-18:29|wed-sun|*|*?horario,s,7) 300,n,Dial(Sip/300,30,tTr) 300,n,Voicemail,300 300,n,Hangup() 400,1,Set(horadellamada=${STRFTIME(${EPOCH},,%d-%m-%y-400,n,MixMonitor(ENTRADA-${horadellamada}-$ 400,n,GotoifTime(00:00-23:59|mon-sun|*|*?horario,s,10) 400,n,Dial(Sip/400,30,tTr) 400,n,Voicemail,400 400,n,Hangup()

%H-%M-%S--)}) {CALLERID(num)}-${EXTEN}.wav)

%H-%M-%S--)}) {CALLERID(num)}-${EXTEN}.wav)

; llamadas a fijos y mviles exten exten exten exten => => => => _9XXXXXXXX,1,Dial(Zap/1/${EXTEN},,tTr) _9XXXXXXXX,n,Hangup _6XXXXXXXX,1,Dial(Zap/1/${EXTEN},,tr) _6XXXXXXXX,n,Hangup

; llamadas a telfonos de polica, bomberos, emergencias exten exten exten exten => => => => _0ZZ,1,Dial(Zap/1/${EXTEN},,r) _0ZZ,n,Hangup() _1ZZ,1,Dial(Zap/1/${EXTEN},,r) _1ZZ,n,Hangup()

; llamadas a telfonos superiores al 9xx y 8xx (telfonos de pago por servicios) exten => _[89]0[0-289]XXXXXX,1,Dial(Zap/1/${EXTEN},, r)

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 129 Instalacin y configuracin de centralita VoIP basada en asterisk

exten

=>

_[89]0[0-289]XXXXXX,n,Hangup()

; llamadas internacionales exten exten => => _00.,1,Dial(Zap/1/${EXTEN},, r) _00.,n,Hangup()

; llamadas del sistema para grabar y escuchar locuciones de voz exten exten exten exten exten => => => => => 555,1,Answer() 555,n,Record(locucion:gsm) 555,n,Hangup() 556,1,Playback(locucion) 556,2,Hangup()

[horario] exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten exten => => => => => => => => => => => => => => => => => => s,1,Answer() s,2,Playback(joseno) s,3,Hangup() s,4,Answer() s,5,Playback(miguelno) s,6,Hangup() s,7,Answer() s,8,Playback(tutoriano) s,9,Hangup() s,10,Answer() s,12,Hangup() s,13,Answer() s,14,Playback(horano) s,15,Hangup() s,16,Answer() s,18,Hangup() ; comienza domingono s,17,Playback(domingono) ; comienza horano ; comienza operadoresno s,11,Playback(operadoresno) ; comienza tutoriano ; comienza miguelno ; comienza joseno

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 130 Instalacin y configuracin de centralita VoIP basada en asterisk

[fax] exten exten exten => => => 777,1,Answer() 777,n,Dial(IAX2/777) 777,n,Hangup()

[buzondevoz] exten exten => => 12345,1,VoicemailMain(${CALLERIDNUM}) 12345,2,Hangup()

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 131 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO VII CONTENIDO DEL ARCHIVO CDR_MYSQL.CONF [global] hostname=localhost dbname=asterisk password= user=root ;port=3306 ;sock=/tmp/mysql.sock ;userfield=1

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 132 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO VIII CONTENIDO DEL ARCHIVO RES_MYSQL.CONF [general] dbhost = 127.0.0.1 dbname = asterisk dbtable= cdr dbuser = root dbpass = dbport = 3306 dbsock = /tmp/mysql.sock

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 133 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO IX CONTENIDO DEL ARCHIVO VOICEMAIL.CONF [general] format=wav attach=yes ; formato de grabacin del audio ; enviar mensajes de voz por correo electrnico

maxmessage=180 mailcmd=/usr/sbin/sendmail -t serveremail=root@localhost fromstring="Centralita Asterisk de Proyecto Asterisk" emailsubject=[PBX] Mensaje nmero ${VM_MSGNUM} en buzn de voz. emailbody=\n\n\n***** Este es un mensaje automtico de la centralita de VoIP de *****\n PROYECTOASTERISK *****\n\n\n\n\t Tiene un mensaje nuevo en su buzn de voz: \n Con el numero ${VM_MSGNUM}. \n Recibido desde el numero de telfono ${VM_CALLERID}. \n El ${VM_DATE} . \n Dicho mensaje se adjunta a este mail, pero no obstante debe llamar a su buzn de voz y eliminarlo tras su escucha. Si no conoce como acceder a su buzn de voz, por favor contacte con el departamento al cargo.\n\n\t Gracias.\n\n\t [default] 100 200 300 400 => => => => 1234,100,100,jose@localhost 1234,200,200,miguel@proyectoasterisk.net 1234,300,300,tutoria@proyectoasterisk.net 1234,400,400,operador@proyectoasterisk.net

Jos Manuel campos moreno y Miguel Jos guzmn munuera

Pag. - 134 Instalacin y configuracin de centralita VoIP basada en asterisk

ANEXO X MANUAL DE INSTRUCCIONES DE CENTRALITA ASTERISK. Si suena el telfono : Descolgar y hablar. Si queremos llamar : Descolgar, marcar y hablar (si nos lo cogen). Si deseamos transferir una llamada : Pulsamos # y el nmero de extensin donde deseamos pasar la llamada. Si deseamos grabar una llamada : Pulsamos *1 en cualquier momento durante la conversacin. Si deseamos escuchar el buzn de voz : Pulsamos 12345, esperamos respuesta y seguimos instrucciones. Si deseamos grabar una locucin para la centralita : Pulsamos 555, esperamos tono y declamamos la locucin. Si deseamos escuchar la ltima locucin grabada : Pulsamos 556 y escuchamos nuestra dulce voz.

Jos Manuel campos moreno y Miguel Jos guzmn munuera

También podría gustarte