Está en la página 1de 78

DESARROLLO DE UN SOFTPHONE, IMPLEMENTACIN DE UNA CENTRALITA BASADA EN CDIGO LIBRE E INTEGRACIN CON HERRAMIENTA CRM

Memria del Projecte Fi de Carrera dEnginyeria en Informtica realitzat per Miguel Martnez Martnez i dirigit per Diego Javier Mostaccio Mancini Bellaterra, 22 de Juny de 2011

Escola Tcnica Superior dEnginyeria

El sotasignat, Diego Javier Mostaccio Mancini, Professor de lEscola Tcnica Superior dEnginyeria de la UAB, CERTIFICA: Que el treball a qu correspon aquesta memria ha estat realitzat sota la seva direcci per en Miguel Martnez Martnez I per tal que consti firma la present.

Signat: Bellaterra, 22 de Juny de 2011

NDICE 1. INTRODUCCIN 2. ESTADO DEL ARTE Y CONCEPTOS BSICOS 2.1. Qu es VoIP? 2.2. Elementos de una red VoIP 2.3. Protocolos de sealizacin en VoIP 2.4. Cdecs de audio VoIP 2.5. Ventajas del sistema de telefona IP 2.6. Problemas de la VoIP 2.7. Centralita Asterisk 2.7.1. Conceptos genrales sobre Asterisk 2.7.2. Integracin de Asterisk con la telefona tradicional 2.8. Elastix 2.8.1. Breve historia de Elastix 2.8.2. Caractersticas de Elastix 3. ANLISIS DE REQUERIMIENTOS Y OBJETIVOS DEL PROYECTO 3.1. Descripcin y organizacin de la empresa 3.2. Requisitos de la empresa sobre el nuevo sistema de telefona 4. PLANIFICACIN DE TAREAS 5. JUSTIFICACIN DE LAS HERRAMIENTAS ESCOGIDAS 6. ARQUITECTURA DEL SISTEMA 7. DISEO E IMPLEMENTACIN DEL SISTEMA 7.1. Diseo e implementacin de Elastix 7.2. Diseo del Softphone 7.2.1. Formularios 7.2.2. Mdulos 7.2.3. Controles de usuario 7.2.4. Estructura de la base de datos 7.3. Implementacin del Softphone 7.3.1. SipekSdk 8. INTEGRACIN CON HERRAMIENTA CRM 9. METODOLOGA PARA HACER PRUEBAS 10. CONCLUSIONES Y LNEAS FUTURAS BIBLIOGRAFA 5 7 7 7 8 9 10 11 11 12 12 13 13 14 19 19 19 23 24 27 29 29 32 32 38 39 40 43 43 45 48 52 54

ANEXO I CONFIGURACIN DE LAS HERRAMIENTAS Instalacin de Elastix Configuracin de la centralita Asterisk mediante Elastix Configuracin de extensiones Configuracin de los cdigos de funcionalidades Configuracin del troncal con el SPA-3102 Configuracin de la operadora digital (IVR) Configuracin de llamadas entrantes y salientes Llamadas entrantes (Inbound Routes) Llamadas salientes (Outbound Routes) Configuracin de colas Configuracin de las salas de conferencias Configuracin del estacionamiento de llamadas Configuracin del buzn de voz Configuracin del softphone Configuracin del Gateway VoIP (SPA-3102) 55 55 55 56 57 58 59 60 60 61 62 63 64 65 66 67

1 - INTRODUCCIN Hoy en da existen muchas empresas del sector de las telecomunicaciones qu e ofrecen soluciones telefnicas. El inconveniente de estas soluciones comerciales e s que son cerradas, propietarias y la gran mayora costosas. Por el contrario, la ce ntralita telefnica Asterisk es un programa de software libre con una tecnologa abierta que proporciona un estndar de comunicaciones VoIP, lo que permite no estar sujeto a l as limitaciones de ningn fabricante y ofrece la libertad de desarrollar las innovaci ones que sean necesarias. Por otro lado, en la actualidad tambin existen gran variedad de softphones , (software que hace la simulacin de un telfono convencional a travs de un ordenador) que soportan diferentes cdecs y protocolos de establecimiento de llamada, los cuales son desarrollados o bien por empresas y por tanto de pago, o bien por particulares y de cdigo abierto. Entre los softphones ms populares (X-Lite o eyeBeam de la firma CounterPath, Skype...) se pueden encontrar algunos no comerciales, (como es caso del X-lite) y como es lgico, por el hecho de ser versi ones gratuitas no cuentan con todas las funcionalidades de las que pueden disponer lo s softphones comerciales.(la implementacin de estas tiene unos costes) Los softphones de carcter no comercial y de cdigo abierto presentan algunos inconvenientes que implica la condicin de ser gratuitos, como pueden ser: no disponer de una interfaz grfica de usuario amigable e intuitiva, o requerir un ci erto conocimiento de la tecnologa VoIP para su configuracin y su posterior utilizacin, p or no decir de los que se ofrecen con unas funcionalidades mnimas. Es decir no cumpl en con las caractersticas que puede tener un softphone propietario. Es por todo lo anterior por lo que mediante este proyecto se pretende desarrollar un telfono software que pueda disponer de la gran mayora de las funcionalidades que cumple u n softphone comercial. El objetivo principal de este proyecto consistir en la creacin y configurac in de una centralita telefnica asterisk que ofrezca la mayor parte de las funcionali dades de un sistema de telefona implantado en cualquier pequea o mediana empresa de la actualidad. Adems ser construido un telfono software basado en el protocolo de sealizacin SIP que permitir la explotacin de las funcionalidades configuradas en dicha centralita.(transferencia de llamada, desvo de llamada, captura de llamada, sala de conferencias, buzn de voz..) Este sistema de telefona permitir la comunicacin entre telfonos de varios tipos: softphones, telfonos IP y telfonos analgicos.(red pblica de telefona, PSTN) Adems tendr la capacidad de integrarse con la herramienta SugarCRM y con cualquier sistema que disponga de una BBDD que tenga una tabla de contactos con los campos nombre de usuario y extensin telefnica.(ya sea una herramienta CRM o cualquier otro tipo de sistema) Para todo ello se util izar

software libre y se realizar todo sobre una mquina virtual, aportando de esta manera una fcil integracin en cualquier infraestructura, adems de una fcil escalabilidad y portabilidad en sistemas diferentes. Para la creacin del proyecto se han empleado 300 horas, de las que 45 se h an dedicado a la parte de anlisis de requerimientos (15%), 60 horas al diseo (20%), 1 50 horas a la implementacin (50%) y 40 horas a las pruebas (15%). La memoria se ha i do elaborando en paralelo con las diferentes fases del proyecto, por lo que el tiem po empleado en su elaboracin est contenido dentro del tiempo dedicado a cada fase. La memoria ha sido estructurada en 10 captulos. En el captulo 2 se describe el estado del arte y los conceptos bsicos de la tecnologa VoIP, de la centralita tele fnica Asterisk y del paquete Elastix. En el captulo 3 se muestran los requerimientos y los objetivos del proyecto. En el captulo 4 se detalla la planificacin de las tareas q ue se llevarn a cabo para la realizacin del proyecto. En el captulo 5 se describen las herramientas seleccionadas para crear el proyecto y la justificacin para la elecc in de cada una de ellas. En el captulo 6 se muestra la arquitectura del sistema. En el captulo 7 se describe el diseo y la implementacin del sistema. En el captulo 8 se describe la forma de realizar la integracin del sistema telefnico con la herramienta SugarCRM. En el captulo 9 se muestra la metodologa seguida para la realizacin de las pruebas sobre el sistema. En el captulo 10 se describen las conclusiones obtenidas y las lneas futuras en las que se puede seguir investigando.

2 - ESTADO DEL ARTE Y CONCEPTOS BSICOS 2.1. Qu es VoIP?

El trmino VoIP (Voice Over Internet Protocol) define la tecnologa que perm ite encapsular la voz en paquetes para ser transportados sobre redes IP sin necesida d de disponer de circuitos conmutados como es el caso de la red de telefona conmutada.(PSTN) Este sistema permite la convivencia con los sistemas actuales d e comunicacin. La ventaja de la telefona IP frente a la red convencional es que mientras esta ltima se basa en la conmutacin de circuitos (durante una conversacin se establece un circuito fsico lo cual implica la reserva de recursos hasta que n o finaliza la comunicacin) mientras que en la primera no se utilizan circuitos fsico s para las conversaciones, sino que se envan mltiples conversaciones a travs del mismo canal (circuito virtual) codificadas en paquetes y flujos independientes. Se uti liza de una forma ms eficiente el ancho de banda puesto que cuando se producen silencios en una conversacin los paquetes de datos de otras conversaciones pueden ser transmitidos por la red.

2.2.

Elementos de una red VoIP

La arquitectura para la transmisin de voz sobre una red IP define los sigui entes elementos fundamentales en su estructura:

Terminales: caso

telfonos IP que pueden ser hardware o software.(en este se denominan softphones)

SoftSwitch: ntrol y banda,

es el elemento central de la red. Su funcin es la de co gestin de los recursos de la red, (control del ancho de enrutamiento de llamadas..) de manera que no se produz

can situaciones de saturacin de la misma. Sera el sustituto de las actuales centrales. Gateway: dicional, a VoIP en voz analgica y viceversa, permitiendo de esta forma la realizacin y recepcin de llamadas con la red telefnica bsi ca. Red IP: provee conectividad entre todos los terminales. La red dispositivo que hace de enlace con la red telefnica tra actuando de forma transparente al usuario. Convierte l

IP puede ser una red privada, una Intranet o Internet. 7

Figura 1. Elementos de una red VoIP 2.3. Protocolos de sealizacin en VoIP

Son los lenguajes que utilizarn los distintos dispositivos VoIP para su con exin. Los ms importantes son: -H323: es el protocolo ms antiguo y ofrece un soporte excelente de video y a que originalmente se orient a servicios de videoconferencia. Su punto ms negativo es la falta de flexibilidad ya que la peticin de llamada depende de los elementos que intervienen en esta. -SIP (Session Initiation Protocol) : es un protocolo de sealizacin para el establecimiento, mantenimiento y terminacin de sesiones interactivas entre usuarios. Los mensajes que se intercambian en el protocolo SIP pueden ser peticiones (Figura 2) o respuestas. Un servidor, tras la recepcin de una solicitud enva una o varias respuestas. Cada respuesta tiene un cdigo que indica el estado de la transaccin. Estas pueden ser de diferentes tipos, t al y como se muestra en la Figura 3. Las respuestas tienen junto al cdigo de es tado una frase legible que informa del significado del cdigo de la respuesta. E sto es para que el usuario sepa realmente lo que sucede ya que el protocolo slo tiene en cuenta para su funcionamiento el cdigo. Mtodo Descripcin REGISTER Registra al usuario INVITE Invita a un usuario o servicio a participar en una se sin ACK BYE OPTION or CANCEL Cancela una peticin pendiente Figura 2. Mtodos de peticin SIP Confirma el establecimiento de una sesin Indica la finalizacin de una sesin Solicita informacin sobre las capacidades de un servid

Cdigos Tipos 100-199 Informativo 200-299 xito 300-399 Redireccin 400-499 Error cliente 500-599 Error servidor 600-699 Error Global Figura 3. Cdigos de respuesta SIP Es el protocolo ms extendido con diferencia ya que es considerado u n protocolo muy fcil de integrar y muy flexible ya que puede funcionar en multitud de escenarios. Dispone de mecanismos que permiten garantizar la seguridad en las comunicaciones. La gran mayora de telfonos IP soportan est e protocolo.

-MGCP (Media Gateway Control Protocol) : es un protocolo que tiene mucha facilidad para ampliarse y en el que la centralita Asterisk se desenvuelv e de forma muy ptima. Es un protocolo propietario de Cisco. -IAX: (Inter Asterisk eXchange) fue desarrollado por Digium para la comunicacin entre centralitas basadas en Asterisk. En la actualidad tambin han sido implementados clientes que soportan este protocolo. El principal objetivo de este protocolo es reducir el ancho de banda en la transmisin d e voz y video a travs de las redes IP adems de proveer un soporte nativo para ser transparente a los NATs. Actualmente se utiliza la segunda versin de e ste protocolo: IAX2, que adems de ser robusta y simple en comparacin con otros protocolos, permite transportar cualquier tipo de datos y manejar gran cantidad de cdecs. El inconveniente de este protocolo es que no est estandarizado y por tanto no est muy extendido en dispositivos hardware. 2.4. Cdecs de audio VoIP

La codificacin de la voz analgica es una de las partes principales y problemticas de la voz sobre IP. El hecho que la voz se tenga que transportar en tiempo real provoca que los paquetes tengan que transmitirse de una forma muy rpida, ya que en caso contrario se escuchara la conversacin cortada y con muchos retardos. El proceso de codificacin consiste en que a partir de una seal analgica, en este caso la voz, obtener una seal digital, de tal manera que pueda ser transmiti da a 9

travs de la red, y una vez llegue a su destino pueda reconstruirse de nuevo a su forma analgica original para poder ser escuchada. Al conjunto de este codificador y decodificador se le llama cdec. En la eleccin de un cdec se ha de tener en cuenta la cantidad de ancho de banda que utiliza ya que suele ser directamente proporcional a la calidad del se rvicio que se desea obtener. En la Figura 4 se pueden ver los cdecs ms comunes, el algoritmo de compresin que utilizan y el ancho de banda que pueden llegar a consumir. Cdec Algoritmo G. 711 PCM (Pulse Code Modulation) G. 726 ADPCM (Adaptative Differential PCM) 40 Kbps G. 728 LD-CELP (Low Delay Code Excited Linear Prediction) G. 729 CS-ACELP (Conjugate Structure Algebraic CELP) G.723.1 MP-MLQ (Multi-Pulse Maximum Likelihood Quantization) Kbps ACELP (Algebraic Code Excited Linear Prediction) Figura 4. Cdecs estndar Velocidad 64 Kbps 16,24,32, 16 Kbps 8 Kbps 6,3 y 5,3

Se puede comprobar que el cdec G.711 requiere poco consumo de CPU (poca compresin) pero tiene un gran consumo de ancho de banda mientras que el cdec G.723.1 requiere gran consumo de CPU (compresin elevada) y utiliza un ancho de banda reducido. 2.5. Ventajas del sistema de telefona IP

La utilizacin de la voz sobre ip reduce costos en la instalacin y el mantenimiento, adems de mejorar la escalabilidad; es posible la transmisin de ms de una llamada sobre la misma lnea telefnica, lo que hace que sea muy fcil la incorporacin de nuevas lneas telefnicas ante nuevos empleados. El hecho de estar basada en estndares implica que sea compatible con hardware de diferentes fabricantes/proveedores. La telefona ip no requiere el establecimiento de un circuito fsico durante el tiempo que dura una conversacin, lo que implica un uso ms eficiente de los recurso s que intervienen en la realizacin de una llamada, ya que pueden ser utilizados en otra cuando se produce un silencio.

10

La telefona IP ofrece la integracin de servicios de telecomunicaciones (voz , datos, video e internet) sobre una misma red de una forma rpida y eficiente. Otra caracterstica importante que ofrece la telefona IP es que permite la movilidad de los empleados dentro de una empresa ya que pueden conectar el telfono IP en cualquier toma Ethernet o instalar un softphone en cualquier ordenador, manteniendo en ambos casos la misma extensin. 2.6. Problemas de la VoIP

Transportar la informacin dividida en paquetes presenta el inconveniente d e que estos se pueden perder y de que no haya una garanta sobre el tiempo que tardarn en llegar de un extremo al otro de la comunicacin. La calidad de servicio (QoS) son las tecnologas que garantizan la transmi sin de cierta cantidad de informacin (paquetes de voz) en un momento concreto, priorizando un determinado trfico sobre otros. Es necesario ofrecer calidad del servicio ya que la transmisin de voz en tiempo real es crtica. La QoS viene defini da por diferentes parmetros, como son el retardo, que es el tiempo que tarda la voz en llegar a su destino, el jitter, que es la variacin del retardo y la prdida de paqu etes. 2.7. Centralita Asterisk

Asterisk es una centralita software (PBX) de cdigo abierto que corre en un a plataforma linux, que permite conectar las redes PSTN y las redes VoIP. Este pro yecto fue desarrollado por el ingeniero Mark Spencer, miembro fundador de la compaa Digium, principal desarrolladora de Asterisk. Originalmente Asterisk fue desarrollado para el sistema operativo GNU/Lin ux, aunque en la actualidad tambin se distribuye en versiones para los sistemas operativos BSD (Berkeley Software Distribution), MacOSX, Solaris y Microsoft Windows, aunque la plataforma nativa es la mejor de todas. Asterisk incluye muchas caractersticas que antes de su creacin slo estaban disponibles en costosos sistemas propietarios PBX, como es el caso de las confer encias, IVR (Interactive Voice Response), buzn de voz y otras muchas funcionalidades. Est as funcionalidades pueden seguir creciendo ya que los usuarios pueden crear nuevas escribiendo un plan de llamadas (dialplan) en el lenguaje script de asterisk o aa diendo mdulos escritos en lenguaje C o en cualquier otro lenguaje de programacin soportado por Linux.

11

Por tanto, a pesar de ser una aplicacin software ofrece las mismas caractersticas y servicios que los caros sistemas propietarios PBX. En este proye cto se utilizar el paquete Elastix para administrar la centralita telefnica Asterisk. 2.7.1. Conceptos generales sobre Asterisk Un Canal es el medio por el que se transmiten las llamadas entrantes y salientes. Entre los canales ms importantes se encuentran H323, IAX2, SIP (Protoc olos de VoIP) y ZAP (lneas analgicas y digitales) El Dialplan consiste en la configuracin de la centralita Asterisk que marc a el camino a seguir por las llamadas, desde su inicio a su finalizacin. Se puede defi nir como la lgica de comportamiento de Asterisk. El Dialplan de Asterisk se divide en uno o varios contextos, siendo un contexto una coleccin de extensiones. Una Extensin corresponde a los comandos que Asterisk debe ejecutar cuando recibe un evento relacionado con una llamada.(llamada entrante, pulsado de dgitos en un canal..) Estos comandos son aplicaciones que controlan el comportamiento d e la llamada y del sistema en s.(hangup, dial) 2.7.2. Integracin de Asterisk con la telefona tradicional La integracin se XO, FXS), los cuales permiten ca y/o telfonos analgicos. analgicas PSTN, mientras analgicos a Asterisk. realiza a partir de Interfaces analgicos: (dispositivos F conectar el servidor Asterisk con la red de telefona bsi Los dispositivos FXO se utilizan para conectar con lneas que los dispositivos FXS permiten conectar telfonos

Figura 5. Interfaces analgicos

12

2.8.

Elastix

Es una distribucin de software libre de Servidor de Comunicaciones Unifica das que integra en un paquete diferentes tecnologas: VoIP PBX, Fax, mensajera instantnea, e-mail y herramientas CRM, mediante los programas Asterisk, Hylafax, Openfire, postfix y SugarCRM respectivamente. El sistema operativo se basa en Ce ntos, que es una conocida distribucin Linux orientada a servidores. La potencia de este paquete est en la interface web de la que dispone, la cual permite administrar e integrar los servicios anteriormente comentados de una forma fcil y sencilla.

Figura 6. Esquema general de Elastix

2.8.1. Breve historia de Elastix

Elastix fue creado y actualmente es mantenido por la compaa ecuatoriana PaloSanto Solutions. Elastix fue liberado por primera vez en marzo de 2006 pero no se trataba de una distribucin sino ms bien de una interfaz para mostrar registros de detalles de llamadas para asterisk. Fue a finales de diciembre de 2006 cuando fu e lanzada como una distribucin que contena muchas herramientas interesantes administrables bajo una misma interfaz Web que llam la atencin por su usabilidad. Desde entonces hasta la fecha esta distribucin no ha parado de crecer en popularidad y actualmente es una de las preferidas del mercado. En 2007 el proye cto estuvo nominado en 2 categoras para los premios CCA de SourceForge.

13

2.8.2. Caractersticas de Elastix Las caractersticas ms importantes son: VOIP PBX a de un 14 modo diferente dependiendo del horario Soporte para PINes de seguridad Soporte DISA Grabacin de llamadas con interfaz va Web Voicemails con soporte para notificaciones por e-mail IVR configurable y bastante flexible Soporte para sintetizacin de voz Herramienta para crear lotes de extensiones lo cual facilita instalaciones nuevas Cancelador de eco integrado Provisionador de telfonos va Web. Esto permite instalar numerosos telfonos en muy corto tiempo. Soporte para Video-telfonos Interfaz de deteccin de hardware de telefona Servidor DHCP para asignacin dinmica de IPs a Telfonos IP. Panel de operador. Desde donde el operador puede ver toda la actividad telefnica de manera grfica y realizar sencillas acciones drag-n-drop como transferencias, aparcar llamadas, etc Aparcamiento de llamadas Reporte de detalle de llamadas (CDRs) con soporte para bsquedas por fecha, extensin y otros criterios Tarificacin con informes de consumo por destino Informe de uso de canales por tecnologa (SIP, ZAP, IAX, Local, H323) Soporte para colas de llamadas Centro de conferencias. Desde donde se puede programar conferencias estticas o temporales. Soporta protocolo SIP, IAX, H323, MGCP, SKINNY entre otros Cdecs soportados: ADPCM, G.711 (A-Law & -Law), G.722, G.723.1 (pass through), G.726, G.729 (si se compra licencia comercial), GSM, iLBC Soporte para interfaces anlogas FXS/FXO Soporte para interfaces digitales E1/T1/J1 a travs de protocolos PRI/BRI/R2 Soporte para interfaces bluetooth para celulares (canal chan_mobile) Identificacin de llamadas Troncalizacin Rutas entrantes y salientes las cuales se pueden configurar por coincidenci patrones de marcado lo cual da mucha flexibilidad Soporte para follow-me Soporte para grupos de timbrado Soporte para paging e intercom. El modelo de telfono debe soportar tambin esta caracterstica Soporte para condiciones de tiempo. Es decir que la central se comporte de

FAX GENERAL EMAIL

Soporte Callback Editor Web de archivos de configuracin de Asterisk Acceso interactivo desde el Web a la consola de Asterisk

Servidor de Fax administrable desde Web Visor de Faxes integrado, pudiendo descargarse los faxes desde el Web en formato PDF. Aplicacin fax-a-email Personalizacin de faxes-a-email Control de acceso para clientes de fax Puede ser integrado con WinprintHylafax. Esta aplicacin permite, desde cualquier aplicacin Windows, enviar a imprimir un documento y este realmente se enva por fax. Configurador Web de plantillas de emails

Ayuda en lnea incorporada Elastix est traducido a 22 idiomas Monitor de recursos del sistema Configurador de parmetros de red Control de apagado/re-encendido de la central va Web Manejo centralizado de usuarios y perfiles gracias al soporte de ACLs Administracin centralizada de actualizaciones Soporte para copias de seguridad y la restauracin de las mismas a travs del Web Soporte para temas o skins Interfaz para configurar fecha/hora/huso horario de la central

Servidor de correo electrnico con soporte multidominio Administrable desde Web Interfaz de configuracin de Relay Cliente de Email basado en Web Soporte para "cuotas" configurable desde el Web Soporte antispam Soporte para manejo de listas de correo

COLABORACIN Calendario integrado con PBX con soporte para recordatorios de voz Libreta telefnica (Phone Book) con capacidad clic-to-Media:call Dos productos de CRM integrados a la interfaz como vTigerCRM y SugarCRM

15

EXTRAS Interfaz de generacin de tarjetas de telefona basada en software A2Billing CRM completo basado en el producto vTigerCRM Tambin versin de cdigo abierto de SugarCRM

CENTRO DE LLAMADAS Mdulo de centro de llamadas con marcador predictivo incluido. Ms detalle de este mdulo ms abajo.

MENSAJERA INSTANTNEA tes ente un mismo cliente Informe de sesiones de usuarios Soporte para plugins Soporta LDAP Soporta conexiones server-to-server para compartir usuarios de mensajera instantnea disponibles Se puede iniciar una llamada desde el cliente de mensajera (si se usa el cli Spark (software)) El servidor de mensajera es configurable desde Web Soporta grupos de usuarios Soporta conexin a otras redes de mensajera como MSN, Yahoo Messenger, Google Talk, ICQ, etc. Esto permite estar conectado a varias redes desde Servidor de mensajera instantnea basado en Openfire e integrado a PBX con soporte para protocolo XMPP, lo que permite usar una amplia gama de clien

Soporte para hardware de telefona Elastix cuenta con un buen soporte para hardware de telefona, contando co n drivers para los principales fabricantes de tarjetas como: OpenVox Digium Sangoma Rhino Equipment Xorcom Yeastar

La mayora de estos controladores se soportan a travs de los drivers del proyecto Zaptel o versiones modificadas del mismo. Otros se soportan en base al proyecto mISDN u otros. Elastix tambin soporta muchas marcas de telfonos gracias a que los protocolos SIP e IAX que usa Asterisk lo permiten. Estos protocolos son abiertos por lo que prcticamente cualquier fabricante puede implementar un telfono que se comunique sobre estos estndares. 16

Algunos fabricantes de telfonos soportados son: Polycom Atcom Aastra Linksys Snom Cisco Nokia UTstarcom Yealink

Mdulo para centros de llamadas Elastix es la primera distribucin en ofrecer un mdulo de centro de llamadas con marcador predictivo incluido siendo ste totalmente software libre. Este mdulo se lo puede instalar de manera muy sencilla a travs del "cargador de mdulos" que provee la interfaz de Elastix. Con este mdulo la implementacin de un proyecto de centro de llamadas se puede realizar en un tiempo mucho menor al habitual. El mdulo de centro de llamadas puede manejar tanto campaas de llamadas entrantes como salientes. Algunas de las caractersticas son: Soporte para lista de nmeros no-llamar (Do-Not-Call List) Soporte para campaas entrantes y salientes Asociacin de formularios por campaa Asociacin de guin por campaa Consola de agente Soporte para breaks, siendo estos configurables y de diferentes tipos Marcador predictivo de cdigo abierto Informes avanzados

17

Figura 7. Pantalla principal de Elastix Fig

18

3 - ANLISIS DE REQUERIMIENTOS Y OBJETIVOS DEL PROYECTO Para la realizacin del proyecto se ha partido de la idea de la existencia d e una empresa ficticia que pretende implementar un sistema de telefona IP personalizado .

3.1.

Descripcin y organizacin de la empresa

La empresa Eages Solutions (una PYME ficticia de unos 40 trabajadores) se dedica al desarrollo de proyectos informticos. La organizacin de esta empresa est dividida en diferentes departamentos: -Departamento comercial: se encarga de elaborar ofertas comerciales sobre proyectos a los clientes. -Departamento de administracin: su funcin es controlar la documentacin de la empresa, adems de llevar el registro y la contabilidad de operaciones. -Departamento tcnico: se encargan de solucionar las incidencias tcnicas que surgen en casa del cliente y de llevar el mantenimiento de los proyectos. -Departamento de desarrollo: elabora las soluciones software solicitadas por los clientes. Est formado por programadores, analistas y jefes de proyecto. 3.2. Requisitos de la empresa sobre el nuevo sistema de telefona:

Esta empresa solicita que se ponga en marcha un sistema de telefona VoIP qu e cumpla los siguientes requisitos: 1) Todo el personal de la empresa debe disponer de una extensin telefnica. 2) Disponer de 4 lneas analgicas para comunicaciones con la PSTN y que haya un nmero principal que agrupe a todas.(sera el nmero de contacto de la empresa) 3) Todas las extensiones de la empresa han de disponer de buzn de voz.

19

4) Todas las llamadas procedentes del exterior sern operadora digital mediante un men con diferentes guiando al llamante hasta llegar a la persona con contacto. El men que anunciar esta operadora se

tratadas por una opciones que irn la que quiere entrar en muestra en la Figura 8.

1. Departamento comercial 2. Departamento administrativo 3. Departamento tcnico 4. Departamento de desarrollo 5. Unirse a una conferencia 6. Hablar con recepcin Figura 8. Opciones del men de operadora virtual Este men ser anunciado despus de emitir un mensaje de bienvenida: Bienvenidos a Eages Solutions. Si se elige la opcin 1 la llamada ser dirigida a la persona de contacto del departamento comercial. Si se elige la opcin 2 la llamada ser dirigida a la persona de contacto del departamento administrativo. Si se elige la opcin 3 la llamada se enva a una cola, en la que los miembros del departamento tcnico atendern las llamadas. Mientras no responde nadie a la llamada se ir reproduciendo un mensaje de voz que va anunciando En breves momentos ser atendido; mantngase a la espera por favor. Si se elige la opcin 4 la llamada ser dirigida a la persona de contacto del departamento de desarrollo. Si se pulsa la opcin 5 la llamada ser dirigida a la sala de conferencias. Si se elige la opcin 6 la llamada ser atendida por la persona de contacto del departamento administrativo.

Si se introduce un nmero fuera del intervalo [1-6] se reproducir el siguiente mensaje informativo: La opcin pulsada no es vlida; introduzca de nuevo la opcin.

20

5) Distribucin automtica de llamadas para el departamento tcnico ya que ser el departamento que est en contacto directo con los clientes y necesita distribuir la carga de llamadas de una forma eficiente. Existen diferentes polticas de gestionar las colas de llamadas, pero la empresa solicita que se implemente la estrategia de atencin de llamadas leastrecent.(la llamada se pasa al agente que hace ms tiempo que ha recibido una llamada) 6) Disponer de una Sala de conferencias permanente, con extensin 3000. 7) Posibilidad de aparcar llamadas para poder recuperarlas desde cualquier extensin interna. 8) Disponer de una herramienta que permita extraer Reports de las llamadas que han sido registradas en la centralita telefnica. 9) Disponer de una herramienta que permita ver en tiempo real la actividad de la centralita telefnica.(llamadas en curso, conferencias, colas..) 10) Poder grabar llamadas y posibilidad de descargarlas. 11) Disear un Softphone para que pueda ser utilizado por todo el personal de la empresa, que explote la gran mayora de las funcionalidades proporcionadas por la centralita telefnica Asterisk y se exige que se cumplan estrictamente las siguientes: Permitir realizar y recibir llamadas.(tanto entre telfonos de la empresa como entre telfonos internos y todo tipo de telfonos de la PSTN) Gestionar 2 llamadas simultneas. Rellamar al ltimo nmero llamado. Transferencia de una llamada a cualquier telfono.(ya sea interno o externo) Desviar las llamadas recibidas por una extensin hacia otra, previamente configurada. Puesta en espera de una llamada. Captura de llamada. Sala de conferencias que permita la conversacin entre usuarios de la empresa y usuarios externos de la PSTN. Parking de llamadas. Disponer de una pantalla de marcaje rpido. Disponer de una agenda con los nmeros ms utilizados por un usuario. Implementacin de una herramienta CRM para poder recopilar informacin sobre los clientes y ver las necesidades de estos para mejorar la calidad en la atencin. 21

Disponer de un listn corporativo, sobre el que los usuarios de la empresa slo podrn ver la jerarqua de telfonos previamente configurados por el administrador del sistema de telefona. Adems se han de poder visualizar en este listn los contactos existentes en l herramienta CRM elegida, permitir realizar llamadas sobre estos e incluir un botn de refresco para actualizar la lista de contactos.(

a esta lista puede ser modificada debido a cambios de extensiones telefnic as las caractersticas de todas las comunicaciones que han tenido lugar con su bir una llamada. extensin en el perodo de tiempo indicado.(histrico de llamadas) Posibilitar la ejecucin del softphone en modo background (ejecucin del aplicativo minimizado) y que se maximice en el momento de reci de contactos, bajas, altas..) Disponer de un listn personal, el cual podr ser personalizado por cada empleado. Permitir realizar en ambos listines la bsqueda de telfonos, tanto por extensin como por nombre de usuario. Buzn de voz para cualquier extensin de la empresa. Registro de las ltimas llamadas.(recibidas, realizadas y perdidas) Creacin de una herramienta que permita a los empleados realizar consultas, filtrando por intervalo de fechas y horas, para obtener

El objetivo del proyecto consistir en la implementacin de un sistema de telefona IP corporativo, mediante la creacin y configuracin de una centralita telefnica software que cumpla con todas las funcionalidades exigidas por la empre sa y la creacin de un telfono software a medida, que cumpla con todos los requisitos solicitados y que sea capaz de acceder a todas las funcionalidades que proporcio na la centralita telefnica implementada. Tambin se integrar este sistema telefnico con la herramienta SugarCRM, de tal forma que en el listn corporativo del softphone aparecern los contactos existentes en SugarCRM, lo que facilitar la comunicacin con estos contactos.

22

4 - PLANIFICACIN DE TAREAS Tras analizar los requisitos solicitados por la empresa y realizar un es tudio de las diferentes herramientas que podran utilizarse para llevarlo a cabo se hizo un a planificacin inicial del proyecto, en el que se describen las tareas a utilizar y el tiempo estimado a dedicar en cada una de ellas, tal y como se puede observar en el sigu iente diagrama de Gantt.

Figura 9. Planificacin inicial de las tareas del proyecto 23

5 - JUSTIFICACIN DE LAS HERRAMIENTAS ESCOGIDAS En este punto se proceder a la enumeracin de las herramientas empleadas en la realizacin del proyecto, justificando su eleccin. -Para la eleccin de la centralita telefnica a utilizar se llev a cabo un est udio sobre las existentes en la actualidad. -FreeSWITCH: es un conmutador de llamadas software y de cdigo abierto desarrollado por un grupo de desarrolladores de Asterisk que no estaban de acuer do con una serie de decisiones sobre la arquitectura. La principal caracterstica de FreeSwitch, que permite aumentar el rendimie nto con respecto a la tecnologa de Asterisk, es el hecho de que el primero emplea un hilo por cada canal, lo que elimina el problema de conocer el estado de los canales d el sistema. El inconveniente de esta tecnologa es que no est tan difundida como Asteris k. -OpenSER: est considerado como el servidor SIP ms avanzado del mercado. Permite una gran escalabilidad. Es un entorno sumamente optimizado, basado en sistemas abiertos y posibilita la conexin de miles de usuarios de forma concurren te. A diferencia de Asterisk, OpenSER no tiene prestaciones de Media Gateway, lo que provoca que no pueda sustituir a una centralita avanzada por s solo, con l o cual no puede ser considerado equivalente a una centralita tradicional. -SIPX ECS: es otra solucin de PBX basada en SIP que se puede considerar co mo uno de los mayores competidores de Asterisk a da de hoy. Ofrece ms o menos las mismas funcionalidades que Asterisk pero soporta menos protocolos que Asterisk. SIPX ECS sera ms adecuado para hacer las funciones de un proxy SIP. -YATE: es otra alternativa ms de una centralita de cdigo abierto. Entre su s caractersticas cabe destacar su flexibilidad para poder ser ampliado, su portabil idad y estabilidad. -OpenPBX: es un desarrollo basado en Asterisk 1.2 que mantiene algunas caractersticas y aplicaciones de este, que fueron eliminadas de Asterisk 1.4 y ha mejorado significativamente el proceso de compilacin frente a Asterisk 1.2. Uno d e los mayores inconvenientes de esta plataforma es la falta de soporte en la comun idad comparado con Asterisk.

24

Tras revisar las diferentes opciones disponibles se tom la decisin de utili zar Asterisk ya que a pesar de que existen alternativas perfectamente vlidas, Asteris k es lder mundial como motor de telefona no propietaria y herramientas para su uso. Ofrece gran flexibilidad y facilita tanto a desarrolladores como a integradores la tarea de crear soluciones avanzadas en comunicaciones gratuitamente. -Software de virtualizacin. Una mquina virtual es un entorno que permite emular un sistema operativo como si estuviera instalado en una plataforma hardwa re. En el mercado existen diferentes plataformas para la virtualizacin del SO. Antes de decidir cual utilizar se analizaron las caractersticas de las ms importantes.(VMWa re, VirtualBox y Xen) Se decidi utilizar VirtualBox, debido principalmente a su licen cia open-source y a su gran rendimiento computacional frente a otras distribuciones. -Para la eleccin del paquete software que incluye Asterisk se estudiaron l os siguientes: -AsteriskNOW, que es una distribucin de software open-source basada en Li nux que incluye el sistema Asterisk, AsteriskGUI y todo el software necesario para m ontar un sistema especfico de administracin VoIP. Asterisk es propiedad de Digium por lo qu e la compatibilidad con sus tarjetas est asegurada. Su principal carencia es la imposi bilidad de aadir nuevos mdulos externos para una hipottica ampliacin futura.

-Trixbox CE es similar en caractersticas a AsteriskNOW. Ofrece diferentes posibilidades para desarrollar una centralita a medida. Es propiedad de la casa Fonality. Dispone de la herramienta SugarCRM.

-Elastix. Integra un conjunto de herramientas para PBXs basadas en Asteris k. Su principal punto fuerte consiste en la posibilidad de ampliar sus capacidades con la creacin de mdulos externos a su ncleo principal.

Tras analizar los 3 paquetes anteriores se decidi utilizar Elastix para est e proyecto ya que es el ms completo en cuanto a herramientas software. Adems, dispone de dos herramientas CRM, (vTigerCRM y SugarCRM) hecho que fue decisivo

25

para continuar trabajando con este paquete ya que en los inicios del proyecto es taba en estudio la herramienta CRM a utilizar para realizar la integracin con la centr alita telefnica (Trixbox slo dispona de SugarCRM mientras que AsteriskNOW no dispona de ninguna) y Elastix era el nico que ofreca varias alternativas.(en este proyecto se utilizarn las herramientas Asterisk y SugarCRM de Elastix) -Sistema Operativo Linux Centos, ya que el paquete Elastix es una distrib ucin de Linux basada en CentOS. -El entorno de desarrollo integrado escogido para crear el softphone es Microsoft Visual Studio .NET ya que es el ms utilizado en la actualidad para desarrollos que corren bajo Windows. -El protocolo de sealizacin que utilizar el softphone ser el protocolo SIP ya que es el protocolo estndar ms flexible y difundido en la actualidad. -Tras analizar diferentes SDKs de cdigo abierto, para el desarrollo del softphone se ha seleccionado la herramienta SDKSipek ya que es un SDK open-sourc e, que se puede integrar en el entorno de desarrollo Microsoft Visual Studio .NET, y que cubre todas las funcionalidades que se han de implementar. Adems, el protocolo de sealizacin que utiliza es el estndar SIP. Entre las funcionalidades que cumple, cab e destacar que es capaz de gestionar varias llamadas simultneas. -Base de datos PostgreSQL para el Sotphone: es un gestor de base de datos de cdigo libre que se distribuye bajo licencia BSD; permite usarlo para fines comerc iales. Proporciona soporte de todas las caractersticas de una base de datos profesional como son los disparadores, las secuencias, las vistas.. Las bases de datos que s e pueden crear son ilimitadas, al igual que los registros por tabla. -Herramienta CRM de integracin con Asterisk. Tras comparar las dos herramientas que vienen con Elastix se decidi utilizar SugarCRM ya que es idnea para ser utilizada en pequeos proyectos.

26

6 - ARQUITECTURA DEL SISTEMA El modelo que sigue la tecnologa de VoIP es el de cliente-servidor, donde los clientes son las extensiones, que a partir de un usuario y una contrasea se conec tan a una centralita telefnica Asterisk.(servidor VoIP) La funcionalidad de esta es ace ptar las conexiones de cada extensin de usuario, decidir qu procesamiento seguir cada llamada y gestionar todas las extensiones con las que se puede establecer una conexin. El sistema telefnico que ser creado en este proyecto dispondr de varias conexiones hacia la PSTN para poder llamar a cualquier telfono de la red tradicio nal, a travs de Gateways de VoIP (Linksys SPA-3102). Estos dispositivos tambin permitirn conectar telfonos analgicos, los cuales sern vistos desde el sistema telefnico como si fueran telfonos IP.(tienen el mismo tipo de extensin)

El sistema puede reducir costes en las llamadas que realiza a travs de la PSTN utilizando un proveedor de internet como alternativa para las llamadas que resul tan ms caras, como son las llamadas a nmeros mviles o internacionales. La arquitectura que se va a utilizar en este proyecto queda reflejada en la Figura 10. El elemento principal de esta arquitectura es el servidor, en el que reside el cerebro del sistema de telefona. Este servidor est basado en un sistema operativo Windows 7. El sistema de telefona ir instalado en una mquina virtual Oracle VM VirtualBox, la cual ir instalada sobre el S.O. del servidor. Esta mquina virtual h a sido creada bajo un sistema operativo Linux centos. El paquete de software Elastix ir instalado sobre este sistema operativo. Para un buen rendimiento del paquete Ela stix es necesario que la mquina en la que est instalado disponga como mnimo de un procesador Pentium IV a 2.0 GHz con una memoria RAM de 1 GB.

27

Figura 10. Arquitectura del sistema

28

7 - DISEO E IMPLEMENTACIN DEL SISTEMA A continuacin se describe la solucin adoptada para cumplir con todos los requisitos solicitados por la empresa. 7.1. Diseo e implementacin de Elastix

-Sern creados tantos usuarios SIP como empleados tenga la empresa y se asociar a cada uno un buzn de voz. -Para la utilizacin de varias lneas analgicas se instalarn Gateways VoIP, que enlazarn el sistema de VoIP de la empresa con la PSTN. -Para el men de bienvenida con opciones ser configurado un IVR en Elastix, que encaminar la llamada a su destino mediante la interactuacin con el usuario. Adems, ser necesario hacer un agrupamiento de lneas para recibir todas las llamadas por el nmero principal de la empresa y encaminarlas hacia las otras. Est e agrupamiento ser realizado por el proveedor de servicios actual de la empresa. De esta manera cuando un usuario llame al nmero principal de la empresa y ya exista una comunicacin establecida con otro usuario, no se encontrar con que la lnea est ocupada. -Para la distribucin automtica de llamadas del departamento tcnico ser configurada una cola con la poltica leastrecent

Figura 11. Diagrama de flujo de la operadora automtica 29

-Ser dada de alta a travs de Elastix una sala de conferencias con extensin 3000. -Ser configurada una extensin para que recoja todas las llamadas aparcadas . En el Anexo I se puede ver cmo implementar cada uno de los puntos anteriores.

-Mediante la pestaa CDR Report es posible visualizar un listado con el detalle de las llamadas registradas en Elastix. El report obtenido variar en func in del filtro aplicado.(Figura 12) Fecha inicio fecha a partir de la que se seleccionan las llamadas Fecha fin fecha hasta la que se seleccionan las llamadas Campo destino, origen, canal destino, canal origen Estado contestado, no contestado, ocupado Figura 12. Campos del filtro para extraer reports de llamadas

Figura 13. Report de llamadas registradas

30

-Elastix incorpora la herramienta Flash Operator Panel, la cual permite monitorizar a travs de una pgina web el estado actual de las extensiones de la centralita asterisk.(extensiones que se encuentran llamando, en comunicacin, en conferencia, en cola..)

Figura 14. Flash Operator Panel

-Elastix permite acceder a las llamadas que han sido grabadas en la centr alita. Para ello slo se ha de indicar un filtro de fechas en la pantalla de Reporte de monitoreo. Si se dispone de privilegios de administrador podrn verse todas las llamadas grabadas. Si por el contrario se tiene privilegios de usuario normal slo podrn verse las llamadas en las que interviene la extensin asociada a este usuario . Existen dos formas de activar la grabacin de llamadas a travs de Elastix. Por un lado se puede activar esta opcin para una extensin en concreto o bien se puede habilitar la grabacin para todas las extensiones desde la pestaa de configuracin general.

Figura 15. Monitoreo de llamadas grabadas

31

7.2.

Diseo del Softphone

Una vez estudiados los requerimientos solicitados por la empresa Eages Solutions se procede a disear el softphone: qu elementos tendr, qu funcionalidad tendr cada uno de ellos, cules accedern a la base de datos postgres. A continuacin se detalla la estructura modular y la comunicacin entre mdulos del aplicativo. Para ello han sido dividido los elementos que lo van a integrar en 3 tipos: formularios, mdulos y controles de usuario, los cuales son descritos a continuacin .

7.2.1. Formularios Contienen la interfaz grfica con la que interacta el usuario y el cdigo que da la funcionalidad correspondiente a cada pantalla.

-frmLogin Mediante la pantalla de login inicial, a partir del nombre de usu ario introducido se lee de la BBDD postgres, ubicada en el servidor en el que est instalado el paquete Elastix, la extensin que le corresponde. El login par a acceder al softphone permite la movilidad de los empleados, pudiendo acce der al softphone desde cualquier PC, manteniendo su extensin.

Figura 16. Login Softphone -frmConfiguracionConsola Mediante este formulario es posible configurar las opciones de sonido del softphone, es decir, habilitar y seleccionar el sonido acstico de las llamadas entrantes y cambiar el tono de aviso de llamada al softphone.(este formulario es llamado desde frmMain y accede a BBDD)

32

Figura 17. Configuracin sonido llamadas -frmExtensionDesvio Muestra una ventana a travs de la que es posible configurar la extensin a la que se desea realizar los desvos de llamada.(se llama desde el formulario frmMain y accede a BBDD)

Figura 18. Configuracin extensin de desvo -frmFindPhone A travs de este formulario es posible realizar la bsqueda de un nmero telefnico sobre los listines corporativos y personal, bien sea a partir del campo alias o del campo nmero de telfono.(este formulario es llamado desde el listn personal y corporativo, los cuales se encuentran en el formulario frmMain y accede a BBDD)

33

Figura 19. Bsqueda de telfono -frmHistoricoLlamadas Permite visualizar las llamadas (tanto las recibidas como las realizadas) y la duracin de estas, dentro de un rango de fechas y de horas, (hora inicio y hora de fin de la llamada) el cual es aplicado como filtro de bsqueda dentro del histrico de llamadas.(es llamado desde frmMain y accede a BBDD)

Figura 20. Histrico de llamadas

3 4

-frmLeyenda Muestra la leyenda de coloracin de los tipos de llamada que se pueden ver en los datagrids: llamada atendida, perdida (Es llamado desde frmMain y desde frmHistoricoLlamadas y no accede a BBDD)

Figura 21. Leyenda de coloracin -frmMain Es el formulario principal de la aplicacin. Permite el acceso a todas las funcionalidades del softphone. Este formulario muestra un display telefnico, un marcador telefnico, la extensin del softphone, la memoria de nmeros, en la que cada usuario almacena los nmeros que crea convenientes, una botonera de operaciones desde la que se tendr acceso a diferentes funcionalidades del sistema, una lista en la que aparecen las ltimas llamadas recibidas y otra en la que aparecen las ltimas llamadas realizadas y 2 listines: uno corporativo y otro personal. En este formulario principal se incorpora la integracin de la librera sipek para poder acceder a todas las funcionalidades que ofrece la centralita telefnica Asterisk.(accede a BBDD)

35

Figura 22. Vista sencilla del formulario principal

Figura 23. Vista avanzada del formulario principal

36

-frmMarcRapido Este formulario permite a un usuario gestionar la marcacin rpida, creando accesos directos para aquellos nmeros de uso ms habitual. As el usuario podr asignar un nmero del teclado del marcador telefnico a un nmero de telfono. De esta manera el usuario slo tendr que presionar el nmero que desea del marcador telefnico para realizar una llamada.(es llamado desde frmMain y accede a BBDD)

Figura. 24 Marcaje rpido -frmPhoneAdd Permite aadir un nuevo nmero de telfono al listn personal.(es llamado desde el listn personal, el cual se encuentra en el formulario frmMain y accede a BBDD)

Figura 25. Aadir telfono al listn personal

37

7.2.2. Mdulos Los mdulos contienen cdigo que puede ser utilizado desde diferentes formularios.

-modFunciones Mdulo de funcionalidades genricas que pueden ser llamadas desde el resto de formularios y mdulos del proyecto.(accede a BBDD)

-modMain Dentro de este formulario se encuentran las funciones que permiten el soporte del multilenguaje en el softphone. -modTiposLlamadasyNumeros En este mdulo se definen las clases llamada_telefonica y numero_Almacenado_En_Memoria. -modVariables En este mdulo se definen las variables globales a toda la aplicacin. -telefoniaDB Este mdulo proporciona todas las funciones necesarias para acceder a la base de datos del softphone. Dentro de este mdulo se encuentran encapsuladas las diferentes consultas a la base de datos, necesarias para el correcto funcionamiento de la aplicacin.

38

7.2.3. Controles de usuario

Es un componente creado por el desarrollador que se puede agregar al rea d e diseo del entorno de programacin (barra de herramientas) y puede ser utilizado como cualquier otro control de sistema.

-listinTelefonico Este control de usuario permite mostrar la jerarqua de telfonos definida en la base de datos de una manera ordenada para que el usuario d e la aplicacin pueda navegar. Adems de mostrar la jerarqua de telfonos proporciona todas las opciones necesarias para administrar esta jerarqua.(creacin, modificacin y eliminacin de carpetas y telfonos, y bsqueda de un determinado telfono) En el listn de telfonos corporativos no es posible crear, eliminar ni modificar la jerarqua de telfonos; solamente podr llevarse a cabo en el listn de telfonos personales.(este control accede a la base de datos)

39

7.2.4. Estructura de la base de datos

Una vez vistos los elementos que van a integrar el softphone se muestra la estructura de la base de datos de la que va a obtener toda la informacin esta aplicacin. Las tablas que sern utilizadas y los campos que componen cada una de ellas son descritos a continuacin: tonos_usuario La tabla tonos_usuario identifica el tono que tiene configurado cada usuario para las llamadas entrantes. Usuario Identificador del usuario que se ha logado en el softphon e Identificador nico de la tabla codigo_tono Nombre del tono

telef_almacenados La tabla telef_almacenados guarda toda la informacin relativa a los telfonos que se almacenan tanto en la memoria del softphone como en la memoria de marcaje rpido. tel_almacenado_pk Identificador nico de la tabla junto con el campo usuari o usuario Usuario que ha almacenado los telfonos, bien sea en la memoria del softphone o en la memoria de marcaje rpido descripcin Alias del nmero de telfono almacenado posicin Identifica la posicin, tanto en la memoria del softphone como en la memoria de telfonos de marcaje rpido en los que aparecern los nmeros almacenados es_memoria Identifica si el telfono ser almacenado en la memoria del softphone o en la de marcaje rpido num_tlf Nmero de telfono almacenado llamadas La tabla llamadas guarda toda la informacin relativa a las llamadas realizadas o recibidas por los usuarios. llamada_pk Identificador nico de la tabla junto con el campo usuario y el campo extension_usuario

40

usuario extesion_usuario numero_tlf descripcin o hora_llamada duracion_llamada tipollamada fecha

Usuario que estaba logado en el softphone cuando se ha realizado o recibido una llamada Extensin telefnica que tiene asignada el usuario que ha recibido o realizado una llamada Nmero de telfono con el que se ha establecido una comunicacin Identifica el alias del telfono desde el que se ha recibido al que se ha realizado una llamada Hora en la que se ha realizado o recibido una llamada Duracin de la llamada, bien sea realizada o recibida Identifica el tipo de llamada: realizada o recibida Indica la fecha en la que se ha realizado o recibido una llamada

desvio_llamadas La tabla desvio_llamadas contiene los desvos de llamada configurados para cada operador. operador Identificador nico de la tabla junto con el campo numero_tlf_operador. Identifica el usuario que se ha logado en el softphone numero_tlf_operador Extensin telefnica que tiene asignada el usuario numero_tlf_desvio Contiene el nmero de telfono sobre el que se realizar el desvo activado Indica si el desvo est activado o no

carpeta La tabla carpeta identifica los nodos que componen la jerarqua de telfonos. Dichos nodos tendrn como nodos hijo a los telfonos (definidos en la tabla telefono). carpeta_pk Identificador numrico nico que identifica una carpeta descripcin Nombre lgico de la carpeta padre Carpeta padre de la carpeta actual Usuario Usuario que ha creado la carpeta en el listn correspondiente es_general Identifica el tipo de listn al que pertenece la carpeta: corporativo o personal 41

telefono La tabla telefono guarda toda la informacin relativa a un telfono, as como su relacin con las carpetas del listn al que pertenecen.(Corporativo o Personal) numero_tlf Nmero telefnico asignado en el plan de numeracin de la centralita. Identificador nico de la tabla junto con los campos usuario y es_general usuario Usuario que ha creado el telfono en el listn correspondiente es_general Identifica el tipo de listn al que pertenece el telfono: corporativo o personal descripcin Descripcin asociada al nmero de telfono carpeta_fk Carpeta a la que pertenece dentro de la jerarqua de telfonos. Clave fornea proveniente de la tabla carpeta historico_llamadas La tabla historico_llamadas guarda toda la informacin relativa a las llamadas realizadas o recibidas por los usuarios. operador Identificador nico de la tabla junto con el campo fecha , el campo hora y el campo numero_tlf_operador. Identifica al usuario que ha recibido / realizado una llamada fecha Fecha en la que se ha recibido / realizado una llamada hora Hora en la que se ha recibido / realizado una llamada numero_tlf_operador Extensin telefnica que tiene el usuario que ha realizado / recibido una llamada telefnica numero_tlf Identifica el alias del telfono desde el que se ha reci bido o al que se ha realizado una llamada duracion Duracin de la llamada, bien sea realizada o recibida recibe_llamada Indica si es una llamada realizada o recibida

Login La tabla login guarda todos los usuarios que pueden acceder al aplicativo softphone, sus correspondientes passwords y la extensin que tienen asignada. usuario Usuario que se ha logado en el softphone Password Password asociado al usuario Extensin Extensin asociada al usuario

42

7.3.

Implementacin del Softphone

La parte ms importante en la implementacin del softphone es la utilizacin del SDK SipekSDK. Este va a permitir al softphone acceder a las diferentes funcionalidades de la centralita asterisk. 7.3.1. SipekSdk Para poder trabajar con este SDK son necesarias las siguientes accione s: 1) Incluir en el proyecto las libreras: Imports Sipek.Common.CallControl Imports Sipek.Sip Imports Sipek.Common 2) Configurar los parmetros del SDK. CallManager.Config = PhoneConfig PhoneConfig es una clase cuyos miembros son los parmetros necesarios para que una cuenta de usuario pueda registrarse en el servidor de telefona Asterisk. Los ms importantes son: HostName Puerto SIP ) UserName nombre que aparecer en los telfonos a los que se llame Id extensin telefnica asociada a la cuenta de usuario creada Password contrasea de la cuenta de usuario creada Figura 26. Parmetros de una cuenta de usuario 3) Inicializar el CallManager y registrar la cuenta de usuario en el serv idor SIP CallManager.Initialize() pjsipRegistrar.Instance.registerAccounts() 4) Registrar los Callbacks. Un callback es una funcin que es llamada cuand o se generan determinados eventos. En este caso se definen dos Callbacks, u no IP del servidor Asterisk puerto utilizado por el protocolo SIP (5060

43

para controlar si una cuenta de usuario se ha logrado registrar con xito en el servidor Asterisk y otro que controla los cambios que se producen en el estado de una llamada.(incoming, holding..) AddHandler pjsipRegistrar.Instance.AccountStateChanged, AddressOf Instance_AccountStateChanged La funcin que va a recoger los eventos generados por el estado del registro de una cuenta en el servidor de telefona es Instance_AccountStateChanged. En el momento que en este primer callback se reciba un OK significar que la cuenta que ha intentado registrarse en la centralita Asterisk lo ha hecho con xito. AddHandler CallManager.CallStateRefresh, AddressOf CallManager_CallStateRefresh En este segundo callback la funcin que recoger los eventos que genera el estado de una llamada es CallManager_CallStateRefresh. Se pueden generar 4 eventos diferentes: INCOMING Notifica que el softphone est recibiendo una llamada HOLDING La comunicacin que hay activa se ha puesto en espera ACTIVE Se ha establecido la comunicacin con una extensin, bien porque se ha respondido a una llamada entrante o bien porque otra extensin ha respondido una llamada procedente del softphone. NULL Ha finalizado la comunicacin que haba establecida Figura 27. Eventos generados por una comunicacin

4 4

8 - Integracin con herramienta CRM Una herramienta CRM (Customer Relationship Management) sirve para la administracin de la relacin con los clientes. Mediante la utilizacin de una solucin CRM se pretende incrementar las ventas (tanto a clientes actuales como por venta s cruzadas), maximizar la informacin del cliente, identificar nuevas oportunidades de negocio, mejorar el servicio al cliente, mejora de ofertas, reduccin de costes e identificar los clientes potenciales que mayor beneficio generen para la empresa . SugarCRM es un sistema modular de administracin de clientes, diseado para integrar los diferentes aspectos del proceso de venta de las organizaciones en diferentes mdulos.(cuentas, actividades, oportunidades, contactos..) La integracin que se lleva a cabo en este proyecto con SugarCRM consiste en acceder a los contactos existentes en la BBDD de SugarCRM e incorporarlos dentro del listn corporativo del Softphone desarrollado. Lo que se consigue con esta integra cin es poder realizar llamadas desde el Softphone a cualquier contacto. Dentro de es te listn corporativo se ha aadido un botn de refresco, el cual permite tener actualizados los contactos en todo momento.(se realiza una consulta en la BBDD d e SugarCRM) Para poder llevar a cabo la integracin con la herramienta SugarCRM ha sid o necesario instalar en los ordenadores clientes, que son en los que ir instalado e l softphone, un driver ODBC de Mysql para Windows. Para crear la conexin con el origen de datos es necesario configurar los parmetros: IP del servidor en el que se encuentra la BBDD MYSQL de SugarCRM (es la IP de la mquina en la que est instalado el paquete Elastix), usuario y password, y el nombre de la BBDD de MYS QL a la que se va a acceder.(en este proyecto ser sugarcrm)

Figura 28. Conexin ODBC con MYSQL 45

Mediante la herramienta MYSQL Workbench se accede a la tabla contacts de la BBDD de SugarCRM y se comprueba que los campos que han de ser ledos son: first_name & last name para obtener el nombre y apellido del contacto, y el campo phone_work para obtener el telfono del trabajo que tiene asociado este contacto.

Figura 29. Acceso a la BBDD de SugarCRM mediante MYSQL Workbench

La consulta sobre la BBDD de SugarCRM se realiza mediante visual basic . NET tal y como se muestra a continuacin: 1) Se seleccionan todas las columnas de la tabla contactos. sql = "SELECT * FROM contacts" cmd = New OdbcCommand(sql, m_cnn)

//donde m_cnn es un objeto //OdbcConnection

2) En rs, que es un OdbcDataReader, se obtiene el resultado de la consulta. rs = cmd.ExecuteReader()

46

// Para cada uno de los registros obtenidos se extraen los campos // necesarios y se aaden al listn corporativo While rs.Read() Listin_Corporativo.Nodes.Add(rs.Item("first_name") & " " & rs.Item("last_name") & " [" & rs.Item("phone_work") & "]") End While

3) De esta forma han sido aadidos todos los contactos existentes en la base de datos de SugarCRM al listn corporativo del softphone, como se puede observar en la Figura 30.

Figura 30. Directorio Corporativo con contactos SugarCRM

47

9 - METODOLOGA PARA HACER PRUEBAS Las pruebas para verificar que el sistema de telefona implementado funcion a correctamente se han dividido en 2 fases: e cada mdulo del softphone y se han corregido los errores que han sido detectados. Primero se han hecho pruebas unitarias sobre cada mdulo y luego se han hecho pruebas de integracin entre mdulos. yecto. Consisten en probar que todos los mdulos de los componentes que integran el sistema telefnico cumplen con las funcionalidades requeridas.(softphone, paquete Elastix, Gateway VoIP) Se ha empezado realizando pruebas unitarias sobre cada componente del sistema y se h a proseguido con las pruebas de integracin entre estos componentes. Pruebas de caja negra: estas pruebas afectan al softphone y a las funcionalidades del paquete Elastix que han sido utilizadas en el pro Pruebas de caja blanca: estas pruebas afectan nicamente al softphone desarrollado y han consistido en revisar y depurar las lneas de cdigo d

Las pruebas de caja negra que han sido realizadas se describen a continuacin: -Pruebas realizadas con el Paquete Elastix: e estn operativas, realizando una llamada desde un softphone configurado con cada una de las extensiones dadas de alta hacia otro sotphone y s e comprueba que la comunicacin se realiza con normalidad.(tambin es probada la llamada en el otro sentido de la comunicacin) Adems se comprueba que todas las extensiones tienen bien configurado el buzn de voz, realizando una llamada a cada una de ellas y provocando que salt e este. Tambin se verifica que los mensajes de voz se almacenan y se reproducen con total normalidad. Se comprueba que las 4 lneas analgicas estn operativas y que el nmero principal est bien configurado realizando una llamada desde un telfono de la PSTN. Se prueba la operadora digital llamando desde un nmero de la PSTN al nmero principal de la empresa y se verifica que la operadora virtual anuncia el men con las diferentes opciones. Se comprueba que cada una de las opciones del men IVR realiza la transferencia con el departamen Se verifica que han sido creadas todas las extensiones telefnicas y qu

to

48

solicitado (opciones 1, 2, 3, 4, 6) En el caso del departamento tcnico se observa que se cumple la poltica leastrecent y para el caso 5 se verifica que la llamada entra en la sala de conferencias. Adems se comprueba que la pulsacin de una opcin invlida es detectada mediante un anuncio de la operadora digital. Para probar que la sala de conferencias permanente est bien configurada se marca la extensin 3000 desde varios softphones y telfonos de la RTB y se comprueba, tras introducir el password configurado, que se puede establecer una comunicacin conjunta. Se comprueba desde un softphone, que tras recibir una llamada, esta puede ser aparcada y posteriormente puede ser recogida desde otro telfono. Se verifica la correcta extraccin de histricos de llamadas tras realizar una serie de llamadas entre diferentes extensiones y la posterior consulta de un informe que las contiene. Para comprobar la herramienta que permite ver en tiempo real la actividad de la centralita se realizan diferentes acciones sobre esta: se establecen varias comunicaciones entre extensiones, se introducen varias extensiones en la sala de conferencias y se comprueba que toda esta actividad se ve reflejada en el Panel de Operadora. Se habilita la opcin de grabar las conversaciones sobre varias extensiones y se comprueba que son grabadas correctamente y que pueden ser descargadas.

-Pruebas realizadas con el Softphone: En este apartado sern probadas todas las funcionalidades del softphone. En estas pruebas tambin intervendr el servidor de telefona Asterisk, ya que es el que proporciona todas las funcionalidades requeridas por el telfono software. Mediante esta batera de pruebas se comprobar por un lado que las funcionalidades estn bien configuradas en el servidor de telefona y por otro se verificar que estn bien implementadas en el softphone desarrollado.

4 9

- Son probados los diferentes tipos de llamadas que se pueden dar en el sistema: (en ambos sentidos) -Extensin interna - Extensin interna -Extensin interna - PSTN (telfono fijo) -Extensin interna - PSTN (telfono mvil) Mediante los 2 ltimos tipos de llamada es probado el correcto funcionamiento del Gateway VoIP, que permite conectar la centralita IP con la red de telefona bsica Se establecen 2 comunicaciones con el softphone y se comprueba que se puede alternar entre una comunicacin y la otra. Desde el softphone se realiza una llamada a otro y se establece una comunicacin. Tras la finalizacin de esta se realiza una rellamada para comprobar que se llama al ltimo nmero marcado.

- Para comprobar la transferencia de llamada se realizan 3 tipos de pruebas: - Desde el softphone se establece una comunicacin con un nmero interno y se verifica que se transfiere correctamente la comunicacin sobre otra extensin interna. - Se establece una comunicacin con un nmero de la PSTN y se verifica que se transfiere correctamente la comunicacin sobre otra extensin interna. - Se establece una comunicacin con un nmero interno y se comprueba que se transfiere correctamente la comunicacin sobre un nmero de la PSTN. Es configurada en un softphone A una extensin de desvo. Tras ser activada esta funcionalidad se realiza una llamada al softphone A desde otro softphone B. Se comprueba que la llamada es desviada hacia la extensin configurada. Se establece una comunicacin entre un softphone A y otro B y se comprueba que cuando se pausa una conversacin desde el A suena la msica de espera configurada, en el softphone B. Se realiza una llamada desde un softphone A a otro softphone B y desde un tercero se comprueba que se captura la llamada del softphone B y que se establece la comunicacin con el primero.

5 0

Se comprueba que se pueden almacenar nmeros tanto en la memoria de marcaje rpido como en la memoria de los nmeros favoritos de un usuario y que pueden ser llamados sin problema. Se verifica el correcto funcionamiento de los listines corporativo y y se hace especial hincapi en probar la integracin con la herramienta CRM. Para ello se verifica que en el listn corporativo aparecen los co

personal ntactos

existentes en la herramienta SugarCRM. Se hacen altas, bajas y modificaciones sobre los contactos y se comprueba que estos cambios quedan reflejados en el listn corporativo tras pulsar sobre el botn de refresco de dicho listn. Tambin se comprueba que se puede llamar sin problema a los contactos y al resto de telfonos. ido lugar en el softphone aplicando un determinado filtro, por intervalo de fechas y de horas, mediante la herramienta creada para ello: histrico de llamadas. Tras el xito en la realizacin de todas las pruebas descritas anteriormente s e puede asegurar que el sistema telefnico implementado es totalmente robusto. Se comprueba que se registran en el softphone las ltimas llamadas realizadas, recibidas y las llamadas perdidas. Se verifica la correcta historizacin de las comunicaciones que han ten

51

10 - CONCLUSIONES Y LNEAS FUTURAS Se ha comprobado mediante la implementacin de este sistema de telefona que es posible crear un sistema telefnico moderno perfectamente ajustable a las necesidades de cualquiera pequea y mediana empresa con unos costos de administracin, mantenimiento y de llamadas reducidos. Tambin se ha mostrado que es posible mejorar la comunicacin con los clientes mediante la integracin de este sistema con una herramienta CRM, a partir del listn corporativo del softphone cre ado. El proyecto incorpora gran parte de las funcionalidades de cualquier sis tema de telefona actual, pero hay que tener en cuenta que para obtener la totalidad de la s funcionalidades es necesario recurrir a versiones de pago de las herramientas utilizadas. La telefona a travs de internet empieza a ser una realidad en muchas empresas por la rpida amortizacin y el ahorro de costes que proporciona. El objeti vo comn es reducir la factura telefnica, sobretodo de las llamadas internacionales y a mviles. La Voz sobre IP est abaratando las comunicaciones internacionales, lo que se traduce en una mejora en la comunicacin entre proveedores y clientes (o entre delegaciones del mismo grupo) Esta tecnologa est siendo adoptada por un amplio nmero de fabricantes de telecomunicaciones y networking tradicionales, que en un principio vieron la voz sobre IP como una amenaza a su base instalada convencional. Hoy en da la calidad de transmisin de las centrales tradicionales sigue sie ndo superior a la de una centralita de VoIP pero esta tecnologa est mejorando constantemente y llegar a conseguir una calidad similar en poco tiempo. Mediante la utilizacin de un softphone se facilita el teletrabajo ya que no requiere que el usuario utilice ningn hardware adicional; el propio PC se comport a como un telfono IP. Es posible crear un tnel VPN para establecer la comunicacin con la central telefnica sin la necesidad de equipos adicionales. El usuario a pa rtir de su login y password pasa a tener todas las prestaciones de cualquier telfono de l a oficina. El futuro de la Voz sobre IP es muy prometedor ya que por un lado el anc ho de banda sigue creciendo a nivel mundial y por el otro se est mejorando el principal problema que presenta esta tecnologa, la calidad del servicio (QoS), mediante la aplicacin de diferentes tcnicas, como es la compresin de cabeceras aplicando los estndares RTP/RTCP, la cancelacin del eco o la priorizacin de los paquetes con mayor latencia, entre otras. Es por esto que para corporaciones internacionales que

52

puedan contar con sistemas punteros y anchos de banda ptimos, las centralitas de VoIP (PBX) se han convertido en un sistema muy conveniente. Como lnea futura se podra incorporar la videollamada como medio de comunicacin y la videoconferencia para realizar conferencias. Tambin se podra implementar el resto de funcionalidades proporcionadas por el servidor de comunicaciones unificadas Elastix : servicio de FAX, mensajera instantnea y e-mail . Otras lneas futuras de investigacin podran ser mejorar la calidad del servi cio de la voz sobre IP (QoS) y dotar al sistema de telefona IP de mecanismos de segur idad que permitan mantener total privacidad tanto en los datos de voz almacenados en el servidor de VoIP como en las conversaciones.

53

BIBLIOGRAFIA -Elastix without tears. Ben Sharif 2008 -Comunicaciones unificadas con Elastix. Edgar Landvar 2008 -Asterisk: The future of telephony. Jim Van Meggelen 2007 -IP Telephony CookBook. Margit Brandl 2004 [Ben08] [Edg08] [Jim07] [Mar04]

-http://www.asterisknow.org/ -http://www.trixbox.org/ -http://www.asterisk.org/ -http://www.elastix.org/ -http://www.vmware.com/ -http://www.virtualbox.org/ -http://www.sugarcrm.com/crm/ -http://www.vtiger.com/ -http://www.voipforo.com -http://www.voip-info.org/wiki -http://wiki.freeswitch.org/wiki/Main_Page -http://www.freeswitch.es/ -http://www.opensips.org -http://yat.null.ro/pmwiki

[03/03/2011] [04/03/2011] [12/04/2011] [12/04/2011] [12/04/2011] [12/05/2011] [14/05/2011] [14/05/2011] [17/05/2011] [17/05/2011] [20/05/2011] [01/06/2011] [01/06/2011] [01/06/2011]

54

ANEXO I CONFIGURACIN DE LAS HERRAMIENTAS Instalacin de Elastix

La instalacin del paquete Elastix se realizar en una Mquina virtual Oracle V M VirtualBox sobre un sistema operativo Linux Centos.

Figura 31. Pantalla principal de Oracle VM VirtualBox Para realizar la instalacin se descargar de la web http://www.elastix.org la imagen del paquete Elastix (la ltima versin estable) y se crear una nueva mquina virtual con ella, especificando que el sistema operativo sea Linux centos. Tambin se tendr que configurar el idioma, el login y password del administrador de Elastix y la configuracin de red (IP, mscara y puerta de enlace) que tendr la centralita telefnica. Una vez instalado el paquete Elastix ya podrn administrarse todas las herramientas que incorpora. Para ello se escribir en un navegador web la IP que l e ha sido asignada durante la instalacin, en este caso http://192.168.1.50/, y se intr oduce el Login y Password para tener acceso. - Configuracin de la centralita Asterisk mediante Elastix. Se accede a la configuracin de Asterisk a partir de la pestaa PBX de Elasti x. 55

Configuracin de extensiones

A partir del interfaz web que ofrece Elastix se accede a la pestaa PBX y dentro de esta al apartado de Extensiones. A partir de la pantalla de la Figura. 32 se darn de alta las extensiones internas de la empresa, las cuales sern de tipo SIP. En el c ampo user extension se pondr la extensin, en el campo Display Name se escribir el nombre que identificar esta extensin cuando realice llamadas a otras extensiones. Se habilitar el campo Call Waiting para permitir que entre otra llamada mientras se est en comunicacin; el softphone es capaz de gestionar 2 llamadas simultneas. Un usuario puede ir alternando entre la comunicacin con una extensin y la comunicacin con otra, dejando al usuario inactivo escuchando msica en espera.(si esta opcin estuviera deshabilitada, hubiera una comunicacin establecida y alguien llamara a esta extensin, encontrara el nmero ocupado) En el campo secret se escribir el password que una extensin necesita para poder registrarse en la centralita asterisk. Y por ltimo ser habilitado el buzn de voz para esta extensin poniendo el campo Status a Enabled. Una vez configurados todos estos parmetros se pulsa sobre Submit. Una vez hecho esto en la parte superior de la pantalla (baj o las diferentes opciones que aparecen en cada pestaa) se mostrar el mensaje Apply Configuration Changes Here. Es imprescindible hacer click sobre este para que los cambios se vean reflejados en el sistema.

Figura 32. Creacin de extensiones SIP 56

Configuracin de los cdigos de funcionalidades

Elastix parte de unos valores por defecto de las funcionalidades que ofre ce, pero pueden ser modificadas. Algunos de estos cdigos han sido utilizados por el softphone que se ha desarrollado en este proyecto para acceder a las funcionalid ades que ofrece la centralita, como pueden ser: desvo, transferencia, acceso al buzn de voz.

Figura 33. Cdigos de funcionalidades

57

Configuracin del troncal con el SPA-3102

Un troncal es el medio de transmisin por el que van a salir y se van recib ir llamadas, adems de permitir interactuar con la red PSTN. Par configurar un tronca l desde Elastix se accede a partir de la ruta PBX -> PBX Configuration -> Troncale s -> Add Sip Trunk.

Se crea el troncal con la informacin que parece en la pantalla de la Figu ra 34. Este troncal estar asociado a la extensin 6010, que a su vez estar asociada a la lne a PSTN del Gateway SPA-3102. Este troncal har de puente entre la red PSTN y la red de VoIP.

Figura 34. Creacin del troncal

58

Configuracin de la operadora digital (IVR)

Cuando la centralita recibe una llamada externa a la empresa ser reproducid o un men con diferentes opciones mediante la operadora digital. Inicialmente se dar un mensaje de bienvenida: Bienvenidos a Eages Solutions. A continuacin ser reproducido el siguiente men: 1) 2) 3) 4) 5) 6) Pulse Pulse Pulse Pulse Pulse Pulse 1 2 3 4 5 6 para para para para para para hablar hablar hablar hablar unirse hablar con el departamento con el departamento con el departamento con el departamento a una conferencia. con recepcin. comercial. administrativo. tcnico. de desarrollo.

Y las acciones a llevar a cabo en cada caso se describen a continuacin: Caso 1) l: 6060. Caso 2) se transfiere la llamada a la extensin del departamento de administracin: 6070. Caso 3) la llamada se enva a una cola (extensin 6080), en la que los miembros del departamento tcnico atendern las llamadas. Mientras no responde nadie a la llamada se ir reproduciendo el mensaje de voz En breves momentos ser atendido; mantngase a la espera por favor. Caso 4) se transfiere la llamada a la extensin del departamento de desarrollo: 6090. Caso 5) s) Caso 6) se transfiere la llamada a la extensin del departamento de administracin: 6070. Si se introduce un nmero fuera del intervalo [1-6] se reproducir el mensaje informativo La opcin pulsada no es vlida; introduzca de nuevo la opcin. se transfiere la llamada a la extensin 3000.(sala de conferencia se transfiere la llamada a la extensin del departamento comercia

59

Configuracin de llamadas entrantes y salientes

Mediante esta configuracin se define el comportamiento lgico de la centralita. o Llamadas entrantes (Inbound Routes)

El comportamiento de las llamadas entrantes ser definido mediante la configuracin de los campos DID Number, que se usa para identificar troncales y para conectar servidores asterisk, y Caller ID Number para identificar las llamada s. Las llamadas entrantes provienen del troncal asociado al Gateway VoIP, e s decir, del operador telefnico. Por lo tanto, en la pestaa PSTN Line del SPA-3102 s e rellenar el campo DIAL PLAN 8 =<S0:6010@192.168.1.50>. Este campo identifica las llamadas provenientes de la lnea PSTN del Gateway, con el DID 6010. El siguiente paso es crear un Inbound Route para que atienda a estas llamadas. En DID Number se pondr 6010 y en Set Destination se seleccionar la opcin IVR. De esta forma, todas las llamadas que lleguen a la centralita sern atendidas por la operadora digital.

Figura 35. Configuracin Inbound Route

60

Llamadas salientes (Outbound Routes):

Se define una ruta de salida a travs de la PSTN de tal forma que cuando un usuario marque un 0 seguido de 9 dgitos (bien sea un nmero fijo o un mvil) esta llamada ser enrutada (a travs del troncal definido, SIP/6010) para ser realizada a travs de la lnea analgica. El campo Dial Patterns se puede ampliar con ms patrones que tengan que cumplir los nmeros a los que se permita llamar a travs de la PSTN. En principio se ha configurado este troncal para que se pueda llamar a nm eros fijos nacionales e internacionales y a mviles, pero se podra configurar otro tronc al que llamara nicamente a nmeros mviles e internacionales a travs de un proveedor de internet.(manteniendo el primer troncal con las llamadas a nmeros nacionales fijos) De esta forma la empresa reducira costes ya que es mucho ms barato llamar mediante un proveedor de internet a mviles y a nmeros internacionales que no a travs de la red analgica.

Figura 36. Configuracin Outbound Route

61

Configuracin de colas

Existen diferentes polticas para gestionar las colas de llamadas entrantes , pero la empresa solicita que se implemente la estrategia de atencin de llamadas leastrecent cuando llamen al departamento tcnico.(la llamada se pasa al agente que hace ms tiempo que ha recibido una llamada) Se proceder a configurar la cola accediendo a travs del men situado en la parte izquierda de la pantalla, dentro de la pestaa PBX Configuration Se asigna una extensin a esta cola: 7000 (ser el nmero de cola) y un nombre: tcnico. El campo ms interesante a configurar es Ring strategy, (la poltica de atencin a una llamada) al cual se le asignar la poltica Agente con ltima llamada ms antigua.

Figura 37. Configuracin de la cola

62

Configuracin de las salas de conferencias

Se crear una sala de conferencias en la que pueda haber mltiples participantes, segn el requisito exigido por la empresa. Para ello se pulsar el bo tn Aadir Conferencia, dentro de la opcin Conferencias, situado en la parte izquierda de la pantalla, bajo la pestaa PBX Configuration. A cada usuario se le asigna un PI N para que pueda unirse a la conferencia y al administrador otro. En este caso se ha puesto Si en la opcin Esperar al administrador para que la conferencia no empiece hasta que el administrador no haya entrado en la sala de conferencias. Normalmente el administrador es el que organiza la conferencia. Para ello enva a los contactos con los que desea reunirse un e-mail con la fecha, la hora, la extensin de la conferencia que tendr que marcar cuando la operadora digital se lo solicite y el password para poder entrar en esta. De esta forma, un usuario externo, que se encuentre en cualquier lugar del mundo marcar el nmero corporativo de la empresa, y mediante la operadora digital elegir la opcin Unirse a una conferencia, marcar el PIN que le han asignado y podr participar en la conferencia. Al tratarse de una empresa pequea/mediana en principio con una sala de conferencia tendra suficiente, pero siempre existe la posibilidad de configurar ms salas, adaptando de esta manera el sistema a las necesidades de la empresa.

Figura 38. Creacin de la sala de Conferencias

63

Configuracin del estacionamiento o aparcamiento de llamadas

El estacionamiento de llamadas consiste en estacionar una llamada en curs o (a efectos del interlocutor aparcado ser como si lo hubieran puesto en espera) para recogerla al cabo de un tiempo desde cualquier telfono interno de la empresa. En el momento de aparcar una llamada una operadora digital comunicar el nmero que hay que marcar para recoger la llamada aparcada. Marcando este nmero se establecer de nuevo la comunicacin. Para habilitar el aparcamiento de llamadas se selecciona la opcin Estacionamiento, dentro de la pestaa PBX configuration, habilitando la caracterstica de aparcamiento, indicando la extensin de aparcamiento, el nmero mximo de aparcamientos (Asterix soporta 20 como mximo) y el tiempo mximo de aparcamiento.(cuando expira este tiempo la llamada vuelve al usuario que la estacion)

Figura 39. Configuracin de estacionamiento de llamadas

64

Configuracin del buzn de voz

En el buzn de voz el nico parmetro que se configurar es el nmero que ha de marcar un usuario para acceder a este servicio. Esto se hace dentro de la pan talla de cdigos de funcionalidades, asignando el nmero en el campo My Voicemail.(por defecto es *97)

Desde la pestaa de Elastix Voicemail se puede visualizar, aplicando un filtr o de fechas, los mensajes de buzn de voz almacenados, con detalles de fecha, tiempo , llamante, extensin llamada y duracin. Tambin es posible escuchar estos mensajes e incluso descargarlos.

Figura 40. Grabaciones del buzn de voz

65

Configuracin del Softphone

A nivel de programacin, la configuracin necesaria para que un softphone pueda registrarse en el servidor asterisk y de esta forma acceder a los servicio s de la centralita son necesarios los campos: Username, extensin, password y la IP del servidor Asterisk. Del registro en el servidor de una extensin se encarga un mtodo de la librera de cdigo abierto SipekSDK. Es obligatorio que un softphone registre su extensin en el servidor para poder estar operativo.

A nivel de BBDD es necesario tambin configurar un origen de datos que apunte a la BBDD postgres (Softphone) instalada en la mquina que contiene el paquete Elastix:

Figura 41. Orgen de datos para la conexin con la BBDD postgres

66

Configuracin del Gateway VoIP (SPA-3102)

Sobre este dispositivo se configurarn 2 extensiones, una perteneciente a u na lnea de VoIP y otra asociada a la lnea PSTN. La configuracin del Gateway se realizar va web accediendo a la IP 192.168.1.51. Dentro de la pestaa VOICE se encuentra la pestaa Line 1, donde ser configurada la extensin de VoIP (Figura 42), y la pestaa PSTN Line, donde se configura la extensin de la PSTN y el enlace con Line 1.(Figura 43)

67

Figura 42. Configuracin de la extensin VoIP

68

69

Figura 43. Configuracin de la extensin PSTN

70

Firmado: Miguel Martnez Martnez Bellaterra, 22 de Junio de 2011

71

RESUMEN El proyecto consiste en la creacin mediante software libre de un sistema de telef ona corporativo, que ofrece la mayor parte de las funcionalidades de un sistema tele fnico implantado en cualquier PYME de la actualidad y que tiene como elemento principa l una centralita telefnica Asterisk, as como en el desarrollo de un softphone(telfono software) utilizando el protocolo de sealizacin SIP, que explota gran parte de las funcionalidades que proporciona la centralita. Este sistema de telefona tiene ade ms la capacidad de integrarse con herramientas CRM a travs de la importacin de los contactos en el listn corporativo del softphone.

RESUM El projecte consisteix en la creaci mitjanant programari lliure dun sistema de telefonia corporatiu, el qual ofereix la major part de les funcionalitats dun s istema telefnic implantat a qualsevol PIME de lactualitat i t com a element principal un a centraleta telefnica Asterisk, aix com en el desenvolupament dun softphone(telfon software) utilitzant el protocol de senyalitzaci SIP, el qual explota gran part d e les funcionalitats que proporciona la centraleta. Aquest sistema de telefonia t a ms l a capacitat dintegrar-se amb eines CRM a travs de la importaci dels contactes a la guia de telfons corporativa del softphone.

SUMMARY The project involves creating a free software corporate telephone system, mainly based on an Asterisk PBX, and offering most of the functionalities of a phone sy stem implemented in any SME nowadays. It also involves developing a softphone (softwa re phone) using the SIP signaling protocol, which exploits most of the functionalit ies offered by Asterisk PBX. This phone system can also be integrated with CRM tools by importing contacts into the softphone corporate directory.

72