Diferencia entre revisiones de «FESOL/201801/Especializacion/proyectos/Planta Telefonica con Asterisk»
(No se muestran 15 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
'''UNIVERSIDAD LUTERANA SALVADOREÑA''' | '''UNIVERSIDAD LUTERANA SALVADOREÑA''' | ||
+ | |||
+ | [[Archivo:Logoulsfull_oficial_web.jpg]] | ||
FACULTAD CIENCIAS DEL HOMBRE Y LA NATURALEZA | FACULTAD CIENCIAS DEL HOMBRE Y LA NATURALEZA | ||
Línea 14: | Línea 16: | ||
GUILLERMO ANTONIO OSEGUEDA CARNET: OG01121492 | GUILLERMO ANTONIO OSEGUEDA CARNET: OG01121492 | ||
− | + | ---- | |
− | + | =INTRODUCCIÓN= | |
El presente documento: “IMPLEMENTACIÓN DE UNA PLANTA TELEFÓNICA CON ASTERISK” se basa en las aplicaciones y funcionamientos de llamadas de vos sobre una red IP. | El presente documento: “IMPLEMENTACIÓN DE UNA PLANTA TELEFÓNICA CON ASTERISK” se basa en las aplicaciones y funcionamientos de llamadas de vos sobre una red IP. | ||
Línea 25: | Línea 27: | ||
Asterisk se adapta a las necesidades de cualquier empresa, desde una pyme que necesite una centralita sencilla para coordinar las llamadas entrantes y salientes de una pequeña oficina hasta una gran compañía que necesite un Call Center de atención al cliente con cientos de operadores. | Asterisk se adapta a las necesidades de cualquier empresa, desde una pyme que necesite una centralita sencilla para coordinar las llamadas entrantes y salientes de una pequeña oficina hasta una gran compañía que necesite un Call Center de atención al cliente con cientos de operadores. | ||
− | + | =OBJETIVOS= | |
'''GENERAL''' | '''GENERAL''' | ||
− | Configurar una planta telefónica con opciones de call center, utilizando la tecnología de Asterisk en su versión 14.13. | + | *Configurar una planta telefónica con opciones de call center, utilizando la tecnología de Asterisk en su versión 14.13. |
'''ESPECÍFICOS''' | '''ESPECÍFICOS''' | ||
− | Obtener conocimiento de la tecnología Asterisk. | + | *Obtener conocimiento de la tecnología Asterisk. |
− | Conocer el protocolo utilizado en transmisión de voz sobre IP (VOIP). | + | *Conocer el protocolo utilizado en transmisión de voz sobre IP (VOIP). |
− | + | =MARCO TEÓRICO= | |
Una central telefónica IP es un equipo telefónico diseñado para ofrecer servicios de comunicación a través de las redes de datos. A esta aplicación se le conoce como voz por IP (VoIP), donde la dirección IP (Internet Protocol) es la identificación de los dispositivos dentro de la web. Con los componentes adecuados se puede manejar un número ilimitado de anexos en sitio o remotos vía internet, añadir video, conectarle troncales digitales o servicios de VoIP (SIP trunking) para llamadas internacionales a bajo costo. Los aparatos telefónicos que se usan les llaman teléfonos IP o SIP y se conectan a la red. Además por medio de puertos de enlaces se le conectan las líneas normales de las redes telefónicas públicas, y anexos analógicos para teléfonos estándar (fax, inalámbricos, contestadoras, etc.). | Una central telefónica IP es un equipo telefónico diseñado para ofrecer servicios de comunicación a través de las redes de datos. A esta aplicación se le conoce como voz por IP (VoIP), donde la dirección IP (Internet Protocol) es la identificación de los dispositivos dentro de la web. Con los componentes adecuados se puede manejar un número ilimitado de anexos en sitio o remotos vía internet, añadir video, conectarle troncales digitales o servicios de VoIP (SIP trunking) para llamadas internacionales a bajo costo. Los aparatos telefónicos que se usan les llaman teléfonos IP o SIP y se conectan a la red. Además por medio de puertos de enlaces se le conectan las líneas normales de las redes telefónicas públicas, y anexos analógicos para teléfonos estándar (fax, inalámbricos, contestadoras, etc.). | ||
Línea 49: | Línea 51: | ||
Los estándares abiertos permiten que cualquiera pueda implementar un sistema con garantías de interoperabilidad. Gracias a esa interoperabilidad de nuestro diseño no sólo podemos crear nuestra red telefónica, sino que, además, podemos conectarla a la red telefónica global. | Los estándares abiertos permiten que cualquiera pueda implementar un sistema con garantías de interoperabilidad. Gracias a esa interoperabilidad de nuestro diseño no sólo podemos crear nuestra red telefónica, sino que, además, podemos conectarla a la red telefónica global. | ||
− | + | =MATERIALES= | |
'''VIRTUAL BOX:''' | '''VIRTUAL BOX:''' | ||
Línea 78: | Línea 80: | ||
Utilizaremos nuestra laptop personal para convertirlo en un servidor, utilizando máquinas virtuales y softphone. | Utilizaremos nuestra laptop personal para convertirlo en un servidor, utilizando máquinas virtuales y softphone. | ||
+ | |||
+ | =METODO= | ||
+ | |||
+ | [[Archivo:Diagrama2.jpeg]] | ||
+ | |||
+ | =PROCESO= | ||
+ | ==INSTALACIÓN Y CONFIGURACIÓN DE ASTERISK 13.14== | ||
+ | |||
+ | Lo primero que tenemos que hacer para iniciar la instalación de nuestra central telefónica con asterisk es actualizar nuestro sistema, vale decir que para este proyecto utilizamos una máquina virtual donde instalamos Debian 9 stretch en su estructura de 64 bits, además, no se instaló un entorno gráfico, ya que no es necesario para la configuración que realizaremos. | ||
+ | |||
+ | ---- | ||
+ | ''#apt-get update'' | ||
+ | |||
+ | ''#apt-get upgrade'' | ||
+ | ---- | ||
+ | Con el primer comando actualizamos nuestra lista de paquetes, con el segundo instalamos todos los paquetes nuevos en nuestro sistema operativo. | ||
+ | Ahora solo nos queda realizar la instalación de nuestra central telefónica, para ello ejecutamos el siguiente comando, también es de mencionar que todas las versiones de debían tienen disponible entre sus repositorios la plataforma Asterisk, por lo cual es muy fácil de instalar. | ||
+ | ---- | ||
+ | ''#apt-get install asterisk'' | ||
+ | ---- | ||
+ | Al ejecutar el comando se iniciara el proceso de instalación, se mostrara en pantalla todo el proceso, solamente debemos de ser pacientes, una vez termine la instalación nos dirigiremos a la siguiente ruta. | ||
+ | ---- | ||
+ | ''#cd /etc/asterisk'' | ||
+ | ---- | ||
+ | Cuando estemos en la ruta /etc/asterisk, hacemos un “ls” para ver todo los archivos que podemos editar de nuestra centralita telefónica, para esta práctica solamente necesitaremos editar los archivos asterisk.conf, sip.conf, extensions.conf, voicemail.conf y queues.conf. | ||
+ | |||
+ | ===CONFIGURACION ARCHIVO SIP.CONF=== | ||
+ | |||
+ | Para esta práctica se ha utilizado la configuración que trae por defecto el archivo sip.conf, solamente se eliminan todas las líneas que están comentadas, y solamente dejamos activas las siguientes opciones. | ||
+ | |||
+ | [[Archivo:SIP.CONF.jpg]] | ||
+ | |||
+ | Ahora configuramos nuestros números telefónicos, esto siempre en el archivo sip.conf | ||
+ | Lo primero que aremos será una macro, que contenga nuestra configuración por defecto para nuestras líneas telefónicas, para esto utilizamos el signo “!”, el nombre de nuestra macro será '''[tel]!.''' | ||
+ | ---- | ||
+ | ''[tel]!'' | ||
+ | |||
+ | ''Type = friend'' | ||
+ | |||
+ | ''Secret=12345'' | ||
+ | |||
+ | ''Host = dynamic'' | ||
+ | |||
+ | ''Insecure =port,invite'' | ||
+ | |||
+ | ''Context = users'' | ||
+ | |||
+ | ''Quality =yes'' | ||
+ | ---- | ||
+ | Ahora solo necesitamos definir los nombres o números que tendrán nuestras líneas telefónicas, para esta práctica utilizamos la siguiente configuración. | ||
+ | ---- | ||
+ | ''[100](tel) ;En este apartado definimos el nombre de la línea e invocamos la macro.'' | ||
+ | |||
+ | ''Callerid = “Teléfono 1”<100>; Definimos el nombre del usuario.'' | ||
+ | |||
+ | ''Mailbox = 100@default ;En esta línea definimos el buzón de voz asociado.'' | ||
+ | |||
+ | ''[101](tel)'' | ||
+ | |||
+ | ''Callerid = “Teléfono 2”<101>'' | ||
+ | |||
+ | ''Mailbox = 101@default'' | ||
+ | |||
+ | ''[102](tel)'' | ||
+ | |||
+ | ''Callerid = “Teléfono 3”<102>'' | ||
+ | |||
+ | ''Mailbox = 102@default'' | ||
+ | ---- | ||
+ | ===CONFIGURACION ARCHIVO EXTENSIONS.CONF=== | ||
+ | |||
+ | Ahora vamos a configurar el plan de llamadas, para esto es importante el conocer el contexto en el cual hemos creado nuestras líneas, para esta práctica hemos definido el contexto “users”, para los usuarios normales y tenemos la siguiente información. | ||
+ | ---- | ||
+ | ''[users] ;Este es el contexto que definimos en el sip.conf.'' | ||
+ | |||
+ | ''Exten = _1XX,1,Dial(SIP/${EXTEN},10)'' | ||
+ | |||
+ | ''Exten = _1XX,n,Voicemail(${EXTEN}@default)'' | ||
+ | |||
+ | ''Exten = _1XX,n,Hangup()'' | ||
+ | ---- | ||
+ | Todas las líneas comienzan con '''“exten”''' son configuraciones del plan de llamadas, donde ponemos _1XX estamos incluyendo las líneas de la 100 a la 199. | ||
+ | Con el comando Dial, definimos que puede llamar y recibir llamadas usando el protocolo SIP, es de aclarar que solo puede recibir llamadas de extensiones que estén en el mismo contexto. | ||
+ | El comando '''Voicemail(${EXTEN}@default)''', estamos definiendo que al estar ocupada o no disponible la extensión los permitirá dejar un mensaje en su buzón de voz. | ||
+ | Con '''Hangup(),''' simplemente cortamos la llamada. | ||
+ | |||
+ | ===CONFIGURACION ARCHIVO VOICEMAIL.CONF=== | ||
+ | |||
+ | En este archivo configuramos los buzones de voz que utilizaran nuestras líneas telefónicas, para esto se crea un contexto, el cual vemos relacionado cuando definimos nuestras extensiones y dialplan, en esta práctica el contexto que hemos creado es “default”, la configuración es la siguiente. | ||
+ | ---- | ||
+ | ''[default] ;Definimos el contexto en el cual funcionara nuestro buzón de voz.'' | ||
+ | |||
+ | ''100 => 12345, telefono1, tel@gmail.com'' | ||
+ | |||
+ | ''101 => 12345, telefono2, tel@gmail.com'' | ||
+ | |||
+ | ''102 => 12345, telefono3, tel@gmail.com'' | ||
+ | ---- | ||
+ | Lo primero que tenemos que hacer es definir el contexto, luego se agrega la línea o extensión a la cual se le creara el buzo de voz, a este se le introduce una contraseña, y el nombre del propietario de la línea, y al final su correo. | ||
+ | Con estas simples líneas ya hemos definido nuestro buzón de voz, totalmente funcional. | ||
+ | |||
+ | ===CONFIGURACION DELA EXTENCION PARA ESCUCHAR EL BUZO DE VOZ=== | ||
+ | |||
+ | Las siguientes configuraciones se realizan en el archivo extensions.conf lo primero que aremos será definir una línea a la cual podamos llamar, para escuchar nuestros mensajes de voz, la configuración es la siguiente. | ||
+ | ---- | ||
+ | ''[buzon]'' | ||
+ | |||
+ | ''exten => 80,1,Answer()'' | ||
+ | |||
+ | ''exten => 80,n,VoiceMailMain(${CALLERID(num)}@default)'' | ||
+ | |||
+ | ''exten => 80,n,Hangup()'' | ||
+ | |||
+ | Luego solo tenemos que incluir el contexto [buzon] en los usuarios, para esto solamente colocamos la siguiente línea dentro del contexto [users]. | ||
+ | |||
+ | ''Include = buzon'' | ||
+ | ---- | ||
+ | ===CONFIGURAR CALL CENTER EN NUESTRA CENTRAL TELEFONICA=== | ||
+ | |||
+ | Este apartado es el más complejo dentro de nuestra práctica, lo primero que tendremos que definir será las líneas que ocuparemos como agentes que recibirán las llamadas, esta configuración se realiza de la misma manera en la que definimos las líneas para los usuarios normales, solamente cambiamos el contexto, esto dentro del archivo sip.conf | ||
+ | ---- | ||
+ | ''[agent]!'' | ||
+ | |||
+ | ''type = friend'' | ||
+ | |||
+ | ''secret=12345'' | ||
+ | |||
+ | ''host=dynamic'' | ||
+ | |||
+ | ''insecure=port,invite'' | ||
+ | |||
+ | ''context=ivr-agents'' | ||
+ | |||
+ | ''quality=yes'' | ||
+ | |||
+ | |||
+ | ''[200](agent)'' | ||
+ | |||
+ | ''callerid="agente1"<200>'' | ||
+ | |||
+ | ''mailbox=200@default'' | ||
+ | |||
+ | ''[201](agent)'' | ||
+ | |||
+ | ''callerid="agente2"<201>'' | ||
+ | |||
+ | ''mailbox=201@default'' | ||
+ | |||
+ | ''[202](agent)'' | ||
+ | |||
+ | ''callerid="agente3"<202>'' | ||
+ | |||
+ | ''mailbox=202@default'' | ||
+ | ---- | ||
+ | Cuando ya tengamos definidos las líneas que utilizaremos como agentes pasamos a definir las colas, estas son de suma importancia, ya que son las que se encargaran de poner las llamadas en espera y de trasladar las llamadas a los agentes disponibles. | ||
+ | La siguiente configuración se realiza en '''queues.conf''' | ||
+ | ---- | ||
+ | ''[general]'' | ||
+ | |||
+ | ''persistentmembers = yes'' | ||
+ | |||
+ | ''autofill = no'' | ||
+ | |||
+ | ''monitor-type = MixMonitor'' | ||
+ | |||
+ | ''updatecdr = no'' | ||
+ | |||
+ | ''shared_lastcall=no'' | ||
+ | ---- | ||
+ | En el contexto [general] de este archivo definimos la persistencia y el monitoreo. | ||
+ | Luego de esto definimos todos los parámetros de nuestra cola, como la música de espera, el nombre de la cola, la cantidad de extensiones que puede tener en línea de espera, etc. | ||
+ | ---- | ||
+ | ''[Tecnicos]'' | ||
+ | |||
+ | ''musicclass = default'' | ||
+ | |||
+ | ''strategy = rrmemory'' | ||
+ | |||
+ | ''timeout = 10'' | ||
+ | |||
+ | ''retry = 1'' | ||
+ | |||
+ | ''timeoutpriority = app'' | ||
+ | |||
+ | ''wrapuptime=10'' | ||
+ | |||
+ | ''announce-frequency = 90'' | ||
+ | |||
+ | ''min-announce-frequency = 15'' | ||
+ | |||
+ | ''periodic-announce-frequency=60'' | ||
+ | |||
+ | ''random-periodic-announce=no'' | ||
+ | |||
+ | ''relative-periodic-announce=yes'' | ||
+ | |||
+ | ''announce-holdtime = once'' | ||
+ | |||
+ | ''announce-position = yes'' | ||
+ | |||
+ | ''announce-to-first-user = no'' | ||
+ | |||
+ | ''announce-position-limit = 5'' | ||
+ | |||
+ | ''announce-round-seconds = 10'' | ||
+ | ---- | ||
+ | De manera igual se definirían otras colas, solamente se le cambia el nombre a la cola, ahora vamos a logear a los agentes en las colas, para esto debemos de agregar las siguientes líneas en el archivo '''extensions.conf''' | ||
+ | ---- | ||
+ | '';Logear a los agentes de la cola de SOPORTE'' | ||
+ | |||
+ | ''exten => *300,1,NoOp(metemos a un agente en la cola de Tecnicos)'' | ||
+ | |||
+ | ''same => n,Answer()'' | ||
+ | |||
+ | ''same => n,AddQueueMember(Tecnicos)'' | ||
+ | |||
+ | ''same => n,Playback(agenteregistrado)'' | ||
+ | |||
+ | ''same => n,HangUp()'' | ||
+ | |||
+ | ''exten => *301,1,NoOp(Sacamos a un agente de cola de Tecnicos)'' | ||
+ | |||
+ | ''same => n,Answer()'' | ||
+ | |||
+ | ''same => n,RemoveQueueMember(Tecnicos)'' | ||
+ | |||
+ | ''same => n,Playback(adios)'' | ||
+ | |||
+ | ''same => n,HangUp()'' | ||
+ | ---- | ||
+ | Con estas líneas agregamos y removemos a los agentes de la cola Tecnicos, para agregar a un agente solamente necesitamos llamar a la línea *300 y cuando ya no estaremos en tal cola solamente marcamos a la extensión '''*301.''' | ||
+ | |||
+ | Ahora solo nos faltaría crear el menú para que los usuarios marquen y se dirijan según sus necesidades al departamento y cola de llamada que necesiten, para esto agregamos las siguientes líneas siempre en el archivo extensions.conf | ||
+ | ---- | ||
+ | ''[ivr-menu]'' | ||
+ | |||
+ | ''exten => 900,1,Answer()'' | ||
+ | |||
+ | ''exten => 900,n,Wait(6)''' | ||
+ | |||
+ | ''exten => 900,n,Record(agenteregistrado.gsm)'' | ||
+ | |||
+ | ''exten => 900,n,Wait(2)'' | ||
+ | |||
+ | ''exten => 900,n,Playback(agenteregistrado)'' | ||
+ | |||
+ | ''exten => 900,n,Hangup()'' | ||
+ | |||
+ | ''exten => 777,1,Answer()'' | ||
+ | |||
+ | ''exten => 777,n,Goto(s,1)'' | ||
+ | |||
+ | ''exten => s,1,Answer()'' | ||
+ | |||
+ | ''exten => s,n,Wait(1)'' | ||
+ | |||
+ | ''exten => s,n,Background(menu-ivr2)'' | ||
+ | |||
+ | ''exten => s,n,WaitExten(7)'' | ||
+ | |||
+ | ''exten => s,n,PlayBack(adios)'' | ||
+ | |||
+ | ''exten => s,n,Hangup()'' | ||
+ | |||
+ | ''exten => 1,1,Queue(Tecnicos)'' | ||
+ | |||
+ | ''exten => 2,1,Queue(Ventas)'' | ||
+ | |||
+ | ''exten => 3,1,Queue(Humanos)'' | ||
+ | |||
+ | ''exten => *,1,Goto(s,1)'' | ||
+ | |||
+ | ''exten => i,1,PlayBack(pbx-invalid)'' | ||
+ | |||
+ | ''exten => i,n,Goto(s,1)'' | ||
+ | ---- | ||
+ | Con las primeras líneas, cuando marcamos a la extensión 900 vamos a gravar el menú de que escuchara el usuario cuando llame a nuestra call center. | ||
+ | Al llamar a la extensión 777 entraremos a la contestadora de nuestro call center, al escuchar el menú, el usuario puede elegir a que departamento dirigirse y a partir de esa decisión, entrara en una de las colas que hemos definido. | ||
+ | Ahora ya tenemos configuradas las extensiones, el plan de llamadas, el buzón de voz y las colas de llamadas. | ||
+ | |||
+ | |||
+ | ===CONFIGURAR EL IDIOMA=== | ||
+ | Por defecto todas las voces de asterisk están en inglés, pero las podemos cambiar a español de una manera muy sencilla, solamente debemos de conocer la ruta en la cual se guardan las voces de nuestro asterisk, la ruta para esta versión es la siguiente. | ||
+ | ---- | ||
+ | ''#cd /usr/share/asterisk/sounds/'' | ||
+ | ---- | ||
+ | Una vez estemos en la ruta anterior ejecutamos un '''“ls”''' para ver los idiomas que tenemos disponibles. | ||
+ | [[Archivo:Sound.jpg]] | ||
+ | |||
+ | Podemos identificar el idioma que tenemos en nuestra central telefónica observando los diferentes directorios, por ejemplo, vemos que en este momento solo tenemos disponible el idioma inglés que se identifica con “en” “en_US” la fuente o core es el inglés de Estados Unidos, ahora instalaremos el idioma español, ejecutamos el siguiente comando. | ||
+ | ---- | ||
+ | ''#apt-cache search asterisk sounds'' | ||
+ | ---- | ||
+ | Al ejecutar el comando podemos ver todos los paquetes de sonidos que tenemos disponibles en los repositorios de debían para nuestra central telefónica. | ||
+ | |||
+ | [[Archivo:Sound2.jpg]] | ||
+ | |||
+ | Ahora que ya tenemos identificados los nombres de los paquetes que necesitamos, los instalamos con el siguiente comando. | ||
+ | ---- | ||
+ | ''#apt install asterisk-core-sounds-es asterisk-core-sounds-es-g722 asterisk-core-sounds-es-gsm asterisk-core-sounds-es-wav'' | ||
+ | ---- | ||
+ | Ahora que ya tenemos instalados los paquetes que deseamos, lo verificamos haciendo un “ls” en la carpeta donde se almacenan los sonidos de asterisk, se mostrara algo como lo siguiente. | ||
+ | |||
+ | [[Archivo:Sound3.jpg]] | ||
+ | |||
+ | Cuando ya tenemos los paquetes instalados, solamente debemos de configurar nuestra central telefónica para que tome los paquetes “es” y “es_MX”, para eso editamos el archivo asterisk.conf y modificamos el apartado “defaultlanguage” y “documentation_language”. | ||
+ | |||
+ | [[Archivo:Sound4.jpg]] | ||
+ | |||
+ | Y con esto ya tendríamos configurados los sonidos en español. |
Revisión actual del 20:47 17 jul 2018
UNIVERSIDAD LUTERANA SALVADOREÑA
FACULTAD CIENCIAS DEL HOMBRE Y LA NATURALEZA
TEMA: IMPLEMENTACIÓN DE PLANTA TELEFÓNICA CON TECNOLOGIA ASTERISK
MATERIA: SEMINARIO DE ESPECIALIZACION
CATEDRATICO: ING. MANUEL FLORES
ESTUDIANTES:
CRISTIAN JAVIER AMAYA AGUILAR CARNET: AA01121087
GUILLERMO ANTONIO OSEGUEDA CARNET: OG01121492
Contenido
INTRODUCCIÓN
El presente documento: “IMPLEMENTACIÓN DE UNA PLANTA TELEFÓNICA CON ASTERISK” se basa en las aplicaciones y funcionamientos de llamadas de vos sobre una red IP. El objetivo es de implementar una planta telefónica con Asterisk usando las tecnologías de software libre. Cabe mencionar que el montaje de la central telefónica IP será sobre una versión de GNU/Linux usando una máquina virtual la cual servirá como el servidor donde se conectaran los teléfonos IP, que en este caso usaremos smartphone con la aplicación zoiper instalada y configurada para que estos funcionen como sotfphone. Asterisk es un programa de código abierto cuya implantación en el sector de las comunicaciones se remonta a 1999. Su desarrollo continúo desde aquel momento, sus actualizaciones periódicas y sus más que contrastadas posibilidades le han convertido en el principal motor de las centralitas basadas en tecnología IP en todo el mundo. Creado originalmente como el motor de una centralita, el software Asterisk incluye todos los componentes necesarios para construir un sistema de comunicaciones potente y escalable. Asterisk se adapta a las necesidades de cualquier empresa, desde una pyme que necesite una centralita sencilla para coordinar las llamadas entrantes y salientes de una pequeña oficina hasta una gran compañía que necesite un Call Center de atención al cliente con cientos de operadores.
OBJETIVOS
GENERAL
- Configurar una planta telefónica con opciones de call center, utilizando la tecnología de Asterisk en su versión 14.13.
ESPECÍFICOS
- Obtener conocimiento de la tecnología Asterisk.
- Conocer el protocolo utilizado en transmisión de voz sobre IP (VOIP).
MARCO TEÓRICO
Una central telefónica IP es un equipo telefónico diseñado para ofrecer servicios de comunicación a través de las redes de datos. A esta aplicación se le conoce como voz por IP (VoIP), donde la dirección IP (Internet Protocol) es la identificación de los dispositivos dentro de la web. Con los componentes adecuados se puede manejar un número ilimitado de anexos en sitio o remotos vía internet, añadir video, conectarle troncales digitales o servicios de VoIP (SIP trunking) para llamadas internacionales a bajo costo. Los aparatos telefónicos que se usan les llaman teléfonos IP o SIP y se conectan a la red. Además por medio de puertos de enlaces se le conectan las líneas normales de las redes telefónicas públicas, y anexos analógicos para teléfonos estándar (fax, inalámbricos, contestadoras, etc.). Pero para en esta ocasión lo que nosotros haremos es hacer uso de aplicaciones para teléfonos Android a estas aplicaciones se les llama softphone, y nos permitirá poder simular un teléfono SIP y a la vez nos ahorrara el gasto de cableado ya que al establecer una red wifi los teléfonos se podrán conectar al servidor de manera inalámbrica. Para las corporaciones internacionales que pueden contar con sistemas de punta, estas centrales se han convertido en un equipo indispensable. La apertura de sistemas operativos y software gratuitos han hecho proliferar muchas centrales IP algunos inclusive usan las PC´s como hardware. El tema de la seguridad es muy controversial en estos equipos, ya que al estar conectados a Internet tienen grandes posibilidades de ser atacados por hackers, virus, gusanos y demás. La implementación de una planta telefónica IP resuelta ser una de las opciones de solventar un problema en la comunicación ya que esta se basa en tecnologías que sirven para transmitir voces sobre una red de datos basada en el estándar IP. Con la implementación de una planta telefónica IP una organización o empresa reduce costo integrando sus aplicaciones de voz y datos sobre una única plataforma de red. Siendo esta una opción que servirá para elevar la productividad, reduciendo costos operativos en la organización o empresa mediante la convergencia de las comunicaciones, además de escalar las soluciones de acuerdo con las necesidades de las organizaciones o empresas que implementen esta herramienta de comunicación, siendo instituciones de corporativas medianas o pequeñas. Anteriormente los sistemas propietarios construían sistemas de telefonías supuestamente costosos e incompatibles, con rutinas muy complicadas, con códigos obsoletos y asociados con hardware obsoleto. Como ejemplo, Nortel Business Communications Manager kludges basado en VxWorks, sistema que trabaja en un conmutador telefónico, bajo un PC de 700-MHz Esta arquitectura se podría obtener en un rango entre 5 y 15 mil dólares, no incluyendo los teléfonos. El futuro de la tecnología telefónica va a desprenderse del imperio de las normas y la era de la libertad, para ello el software libre (Asterisk en este caso) converge hacia este tipo de soluciones, enfocándose por la revolución de código abierto. Los estándares abiertos permiten que cualquiera pueda implementar un sistema con garantías de interoperabilidad. Gracias a esa interoperabilidad de nuestro diseño no sólo podemos crear nuestra red telefónica, sino que, además, podemos conectarla a la red telefónica global.
MATERIALES
VIRTUAL BOX:
Oracle VM VirtualBox es un software de virtualización para arquitecturas x86/amd64. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual. Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp , Microsoft Windows, y Solaris/OpenSolaris, y dentro de ellos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros.
DEBIAN 9 (STRETCH):
Para esta práctica utilizaremos el sistema Debian en su versión 9, eso nos facilitara mucho el trabajo, ya que las versiones de Debian ya traen en sus repositorios la tecnología Asterisk.
ASTERISK:
Es un programa de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí dentro de una misma organización e incluso acceder a comunicaciones fuera de la misma a la PSTN o conectando a un proveedor de VoIP o bien a una RDSI tanto básicos como primarios.
CELULARES ANDROID:
Para este proyecto utilizaremos nuestros celulares de uso personal y con ayuda de aplicaciones especiales los utilizaremos como teléfonos IP.
SOFTPHONE:
Un softphone es un software que es utilizado para realizar llamadas a otros softphones o a otros teléfonos convencionales usando un VoIP (Voz sobre IP) o ToIP (Telefonía sobre IP), para esta practica utilizaremos Zoiper, X-Lite, 3CX Phone.
PUTTY:
Es un cliente SSH, Telnet, rlogin, y TCP raw con licencia libre. Disponible originalmente sólo para Windows, ahora también está disponible en varias plataformas Unix, y se está desarrollando la versión para Mac OS clásico y Mac OS X.
LAPTOP:
Utilizaremos nuestra laptop personal para convertirlo en un servidor, utilizando máquinas virtuales y softphone.
METODO
PROCESO
INSTALACIÓN Y CONFIGURACIÓN DE ASTERISK 13.14
Lo primero que tenemos que hacer para iniciar la instalación de nuestra central telefónica con asterisk es actualizar nuestro sistema, vale decir que para este proyecto utilizamos una máquina virtual donde instalamos Debian 9 stretch en su estructura de 64 bits, además, no se instaló un entorno gráfico, ya que no es necesario para la configuración que realizaremos.
#apt-get update
#apt-get upgrade
Con el primer comando actualizamos nuestra lista de paquetes, con el segundo instalamos todos los paquetes nuevos en nuestro sistema operativo. Ahora solo nos queda realizar la instalación de nuestra central telefónica, para ello ejecutamos el siguiente comando, también es de mencionar que todas las versiones de debían tienen disponible entre sus repositorios la plataforma Asterisk, por lo cual es muy fácil de instalar.
#apt-get install asterisk
Al ejecutar el comando se iniciara el proceso de instalación, se mostrara en pantalla todo el proceso, solamente debemos de ser pacientes, una vez termine la instalación nos dirigiremos a la siguiente ruta.
#cd /etc/asterisk
Cuando estemos en la ruta /etc/asterisk, hacemos un “ls” para ver todo los archivos que podemos editar de nuestra centralita telefónica, para esta práctica solamente necesitaremos editar los archivos asterisk.conf, sip.conf, extensions.conf, voicemail.conf y queues.conf.
CONFIGURACION ARCHIVO SIP.CONF
Para esta práctica se ha utilizado la configuración que trae por defecto el archivo sip.conf, solamente se eliminan todas las líneas que están comentadas, y solamente dejamos activas las siguientes opciones.
Ahora configuramos nuestros números telefónicos, esto siempre en el archivo sip.conf Lo primero que aremos será una macro, que contenga nuestra configuración por defecto para nuestras líneas telefónicas, para esto utilizamos el signo “!”, el nombre de nuestra macro será [tel]!.
[tel]!
Type = friend
Secret=12345
Host = dynamic
Insecure =port,invite
Context = users
Quality =yes
Ahora solo necesitamos definir los nombres o números que tendrán nuestras líneas telefónicas, para esta práctica utilizamos la siguiente configuración.
[100](tel) ;En este apartado definimos el nombre de la línea e invocamos la macro.
Callerid = “Teléfono 1”<100>; Definimos el nombre del usuario.
Mailbox = 100@default ;En esta línea definimos el buzón de voz asociado.
[101](tel)
Callerid = “Teléfono 2”<101>
Mailbox = 101@default
[102](tel)
Callerid = “Teléfono 3”<102>
Mailbox = 102@default
CONFIGURACION ARCHIVO EXTENSIONS.CONF
Ahora vamos a configurar el plan de llamadas, para esto es importante el conocer el contexto en el cual hemos creado nuestras líneas, para esta práctica hemos definido el contexto “users”, para los usuarios normales y tenemos la siguiente información.
[users] ;Este es el contexto que definimos en el sip.conf.
Exten = _1XX,1,Dial(SIP/${EXTEN},10)
Exten = _1XX,n,Voicemail(${EXTEN}@default)
Exten = _1XX,n,Hangup()
Todas las líneas comienzan con “exten” son configuraciones del plan de llamadas, donde ponemos _1XX estamos incluyendo las líneas de la 100 a la 199. Con el comando Dial, definimos que puede llamar y recibir llamadas usando el protocolo SIP, es de aclarar que solo puede recibir llamadas de extensiones que estén en el mismo contexto. El comando Voicemail(${EXTEN}@default), estamos definiendo que al estar ocupada o no disponible la extensión los permitirá dejar un mensaje en su buzón de voz. Con Hangup(), simplemente cortamos la llamada.
CONFIGURACION ARCHIVO VOICEMAIL.CONF
En este archivo configuramos los buzones de voz que utilizaran nuestras líneas telefónicas, para esto se crea un contexto, el cual vemos relacionado cuando definimos nuestras extensiones y dialplan, en esta práctica el contexto que hemos creado es “default”, la configuración es la siguiente.
[default] ;Definimos el contexto en el cual funcionara nuestro buzón de voz.
100 => 12345, telefono1, tel@gmail.com
101 => 12345, telefono2, tel@gmail.com
102 => 12345, telefono3, tel@gmail.com
Lo primero que tenemos que hacer es definir el contexto, luego se agrega la línea o extensión a la cual se le creara el buzo de voz, a este se le introduce una contraseña, y el nombre del propietario de la línea, y al final su correo. Con estas simples líneas ya hemos definido nuestro buzón de voz, totalmente funcional.
CONFIGURACION DELA EXTENCION PARA ESCUCHAR EL BUZO DE VOZ
Las siguientes configuraciones se realizan en el archivo extensions.conf lo primero que aremos será definir una línea a la cual podamos llamar, para escuchar nuestros mensajes de voz, la configuración es la siguiente.
[buzon]
exten => 80,1,Answer()
exten => 80,n,VoiceMailMain(${CALLERID(num)}@default)
exten => 80,n,Hangup()
Luego solo tenemos que incluir el contexto [buzon] en los usuarios, para esto solamente colocamos la siguiente línea dentro del contexto [users].
Include = buzon
CONFIGURAR CALL CENTER EN NUESTRA CENTRAL TELEFONICA
Este apartado es el más complejo dentro de nuestra práctica, lo primero que tendremos que definir será las líneas que ocuparemos como agentes que recibirán las llamadas, esta configuración se realiza de la misma manera en la que definimos las líneas para los usuarios normales, solamente cambiamos el contexto, esto dentro del archivo sip.conf
[agent]!
type = friend
secret=12345
host=dynamic
insecure=port,invite
context=ivr-agents
quality=yes
[200](agent)
callerid="agente1"<200>
mailbox=200@default
[201](agent)
callerid="agente2"<201>
mailbox=201@default
[202](agent)
callerid="agente3"<202>
mailbox=202@default
Cuando ya tengamos definidos las líneas que utilizaremos como agentes pasamos a definir las colas, estas son de suma importancia, ya que son las que se encargaran de poner las llamadas en espera y de trasladar las llamadas a los agentes disponibles. La siguiente configuración se realiza en queues.conf
[general]
persistentmembers = yes
autofill = no
monitor-type = MixMonitor
updatecdr = no
shared_lastcall=no
En el contexto [general] de este archivo definimos la persistencia y el monitoreo. Luego de esto definimos todos los parámetros de nuestra cola, como la música de espera, el nombre de la cola, la cantidad de extensiones que puede tener en línea de espera, etc.
[Tecnicos]
musicclass = default
strategy = rrmemory
timeout = 10
retry = 1
timeoutpriority = app
wrapuptime=10
announce-frequency = 90
min-announce-frequency = 15
periodic-announce-frequency=60
random-periodic-announce=no
relative-periodic-announce=yes
announce-holdtime = once
announce-position = yes
announce-to-first-user = no
announce-position-limit = 5
announce-round-seconds = 10
De manera igual se definirían otras colas, solamente se le cambia el nombre a la cola, ahora vamos a logear a los agentes en las colas, para esto debemos de agregar las siguientes líneas en el archivo extensions.conf
;Logear a los agentes de la cola de SOPORTE
exten => *300,1,NoOp(metemos a un agente en la cola de Tecnicos)
same => n,Answer()
same => n,AddQueueMember(Tecnicos)
same => n,Playback(agenteregistrado)
same => n,HangUp()
exten => *301,1,NoOp(Sacamos a un agente de cola de Tecnicos)
same => n,Answer()
same => n,RemoveQueueMember(Tecnicos)
same => n,Playback(adios)
same => n,HangUp()
Con estas líneas agregamos y removemos a los agentes de la cola Tecnicos, para agregar a un agente solamente necesitamos llamar a la línea *300 y cuando ya no estaremos en tal cola solamente marcamos a la extensión *301.
Ahora solo nos faltaría crear el menú para que los usuarios marquen y se dirijan según sus necesidades al departamento y cola de llamada que necesiten, para esto agregamos las siguientes líneas siempre en el archivo extensions.conf
[ivr-menu]
exten => 900,1,Answer()
exten => 900,n,Wait(6)'
exten => 900,n,Record(agenteregistrado.gsm)
exten => 900,n,Wait(2)
exten => 900,n,Playback(agenteregistrado)
exten => 900,n,Hangup()
exten => 777,1,Answer()
exten => 777,n,Goto(s,1)
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(menu-ivr2)
exten => s,n,WaitExten(7)
exten => s,n,PlayBack(adios)
exten => s,n,Hangup()
exten => 1,1,Queue(Tecnicos)
exten => 2,1,Queue(Ventas)
exten => 3,1,Queue(Humanos)
exten => *,1,Goto(s,1)
exten => i,1,PlayBack(pbx-invalid)
exten => i,n,Goto(s,1)
Con las primeras líneas, cuando marcamos a la extensión 900 vamos a gravar el menú de que escuchara el usuario cuando llame a nuestra call center. Al llamar a la extensión 777 entraremos a la contestadora de nuestro call center, al escuchar el menú, el usuario puede elegir a que departamento dirigirse y a partir de esa decisión, entrara en una de las colas que hemos definido. Ahora ya tenemos configuradas las extensiones, el plan de llamadas, el buzón de voz y las colas de llamadas.
CONFIGURAR EL IDIOMA
Por defecto todas las voces de asterisk están en inglés, pero las podemos cambiar a español de una manera muy sencilla, solamente debemos de conocer la ruta en la cual se guardan las voces de nuestro asterisk, la ruta para esta versión es la siguiente.
#cd /usr/share/asterisk/sounds/
Una vez estemos en la ruta anterior ejecutamos un “ls” para ver los idiomas que tenemos disponibles.
Podemos identificar el idioma que tenemos en nuestra central telefónica observando los diferentes directorios, por ejemplo, vemos que en este momento solo tenemos disponible el idioma inglés que se identifica con “en” “en_US” la fuente o core es el inglés de Estados Unidos, ahora instalaremos el idioma español, ejecutamos el siguiente comando.
#apt-cache search asterisk sounds
Al ejecutar el comando podemos ver todos los paquetes de sonidos que tenemos disponibles en los repositorios de debían para nuestra central telefónica.
Ahora que ya tenemos identificados los nombres de los paquetes que necesitamos, los instalamos con el siguiente comando.
#apt install asterisk-core-sounds-es asterisk-core-sounds-es-g722 asterisk-core-sounds-es-gsm asterisk-core-sounds-es-wav
Ahora que ya tenemos instalados los paquetes que deseamos, lo verificamos haciendo un “ls” en la carpeta donde se almacenan los sonidos de asterisk, se mostrara algo como lo siguiente.
Cuando ya tenemos los paquetes instalados, solamente debemos de configurar nuestra central telefónica para que tome los paquetes “es” y “es_MX”, para eso editamos el archivo asterisk.conf y modificamos el apartado “defaultlanguage” y “documentation_language”.
Y con esto ya tendríamos configurados los sonidos en español.