freeswitch, eventsocket, twisted!

freeswitchApós meses tentando resolver problemas ridículos com meu discador automático baseado em Asterisk, acabei mudando totalmente o rumo do sistema e re-escrevi todo o código para o FreeSWITCH.

A versão anterior se conectava no manager do Asterisk, originava as chamadas, e naquela completa bagunça sem padrão ia controlando o fluxo da chamada com auxílio de um AGI. Funções como transferência e gravação com detecção de caixa postal geravam diversas complicações devido à maneira como o Asterisk funciona, e o resultado era muita dor de cabeça.

Agora, a bagunça é assíncrona, tem padrão, e controla totalmente o FreeSWITCH através do Event Socket. Ao se conectar no Inbound Socket, o sistema origina as chamadas com destino ao Outbound Socket, onde cada uma é controlada individualmente e todos recursos funcionam perfeitamente, inclusive as várias maneiras de realizar transferência (bridge).

O FreeSWITCH está próximo da perfeição no quesito funcionamento, pecando apenas na documentação e alguns detalhes relacionados ao retorno (erro, etc) na originação de chamadas. Porém, esses detalhes são totalmente contornáveis com soluções simples, sem gambiarras e maracutaias como era com o Asterisk.

Em uma máquina comum, consigo manter 60 ligações simultâneas consumindo apenas 3% de cpu time. E o FreeSWITCH, que faz todo o controle das chamadas – conversão de mídia, gravação, detecção de caixa postal, de fax, etc etc etc, consome apenas 30% de cpu time.

Tudo isso é feito usando um protocolo do Twisted pro Event Socket do FreeSWITCH, que escrevi no último final de semana – entre carnaval, rock, etc. E pra felicidade geral da nação, tornei público pela lisença GPLv2, disponível no Google Code com exemplos.


One Comment on “freeswitch, eventsocket, twisted!”

  1. Douglas Cetertick disse:

    Boa Alex.

    É bom saber do interesse pelo aperfeiçoamento das soluções.
    Uso também o FreeSwitch em algumas aplicações.

    Utilizá=lodá a possibilidade e a alternativa muito melhor para as soluções necessárias (também no meu ponto de vista) do que o Asterisk.
    Infelizmente, o Asterisk vem deixando a desejar faz tempo.
    A maioria das pessoas na comunidade Asterisk só quer se servir do que já está pronto de soluções para utilizar em seu projetos, não se importando em desenvolver novas tecnologias, quanto menos em usar a cabeça e pensar em tal hipótese.
    Porém existe um deadtime.
    Quando os problemas consumirem mais tempo do que uma pessoa pode dispor para arrumá-los, espero que se torne uma alavanca e impulsione as pessoas para ‘cabeças pensantes’.

    Parabéns por ser um motivadores (postando este blog e a sua solução).


Deixe um comentário