Desenvolvemos uma plataforma de telefonia para call centers de médio e grande porte, neste post apresentamos a arquitetura do Evolux.
O que o Evolux faz?
O Evolux realiza a distribuição automáticas das chamadas de um Call Center, essas chamadas são gravadas em nossos servidores e todos eles possuem redundância, o que evita problemas com backup e de estabilidade. Atendemos clientes que precisam atender muitas pessoas com muitas pessoas e, para isso, ele já possui várias linhas (físicas ou contas SIP) com uma operadora de telefonia, e precisa de uma ferramenta robusta para gerenciar as chamadas, os operadores e os relatórios de uma operação eficiente, tudo em tempo real.
Outra característica importante: nós entregamos uma solução completa, que inclui os aparelhos, a central telefônica, e o software que será utilizado pelos operadores do call center. Isso nos garante controle de todos os pontos críticos ligados ao nosso software e tranquiliza a equipe da operação, principalmente a TI que não terá que se preocupar com a implantação, o hardware e a manutenção desta parte da telefonia da empresa.
Como isso funciona?
O coração do sistema é um softswitch de código-aberto chamado FreeSWITCH, conhecido por sua alta performance e estabilidade, e por ser extremamente modular e personalizável. É sobre esta plataforma que desenvolvemos a solução de telefonia conhecida como Evolux.
O FreeSWITCH é excelente para entregar centenas de chamadas por segundo através de múltiplos cenários, protocolos e codecs distintos, mas para que isso fique fácil de usar por qualquer pessoa, é preciso uma interface simples e intuitiva, e é ainda onde entra o Evolux.
Desenvolver um sistema de telefonia pode ser algo bem complexo, principalmente quando se espera que todos os eventos sejam exibidos imediatamente nas telas de todos os usuários ao mesmo tempo.
Para que tudo funcione em tempo real (leia-se: abaixo de 400ms entre ação e reação), usamos vários daemons próprios, um banco de dados SQL, 2 bancos NoSQL, um sistema de gerenciamento e agendamento de tarefas, e o navegador Google Chrome (que possui o melhor suporte aos recursos do HTML5 dos quais necessitamos, como web sockets e notificações no desktop).
Veja um mapa da nossa arquitetura: