Um primeiro contato com FreeSWITCH

Nunca imaginei que um dia rodaria uma plataforma de telefonia em minha própria máquina. Assim que cheguei em meu primeiro dia de Evolux fui incumbido da tarefa de configurar uma instância do FreeSWITCH (uma das soluções líderes em telefonia juntamente ao Asterisk) além de conectar um softphone a essa instância e fazer uma ligação de teste.

FreeSWITCH é uma alternativa mais estável, mais fácil de programar e mais robusta que o Asterisk mas, em contrapartida ele é bem mais simples e tem menos funcionalidades. Ou seja, a maior parte você terá que programar.

A essa altura eu tinha apenas uma leve ideia do que fosse uma plataforma de telefonia e da existência dos conceitos de hardphones e softphones, protocolo SIP e Dialplans. Comecei a partir do site oficial do FreeSWITCH, que possui um Wiki repleto de informação. Sugiro começar por aqui e no que tange à parte conceitual, aqui.

O que fiz inicialmente foi criar uma máquina virtual com o VirtualBox rodando uma instância do Debian Wheezy (versão 7). Poderia instalar simplesmente o pacote .deb mas escolhi um caminho mais tortuoso e muito possivelmente mais frutífero que consistiu em compilar o código a partir do fonte. Mas CALMA: há um guia escrito e ele está aqui. Segui os passos contidos em 'Manual Build'. O que se faz nesse caso é, basicamente, configurar todos os pré-requisitos com apt-get, baixar o código da branch estável (1.4, no momento) do Git, rodar o script de bootstrap e compilar tudo.

Após alguns minutos, tinha uma instância do FreeSWITCH compilada e rodando numa máquina virtual. Precisava, então, me conectar a ela com um telefone e fazer alguma ligação de teste. O FreeSWITCH vem, por padrão, em seu Dialplan, com 20 ramais pré-configurados (de 1000 a 1019, com senha padrão 1234). O primeiro teste consistiu em conectar dois softphones (um telefone ip que roda via software, diferente de um hardphone - que é um aparelho) ao servidor e fazer um chamar o outro. Existem inúmeras soluções de softphones (links ao fim do artigo) mas recomendo fortemente, como me foi recomendado, usar o gratuito e excelente 'Telephone', no Mac OS X, http://www.tlphn.com/.

Um teste que eu peço que os mais curiosos façam é: utilize um softphone e disque pra 5000. Uma IVR/URA (Interactive Voice Response em inglês e Unidade de Resposta Audível, em português) vai te atender e rogo que pressione a opção 5 do menu. :)

Depois desse divertimento inicial é interessante passear pelos arquivos de configuração da ferramenta e ver como o Dialplan, os menus IVR e os ramais são configurados. Muita informação relacionada está disponível aqui.

Pra finalizar, recomendo a leitura do livro FreeSWITCH 1.2, dos criadores do projeto.

Telephone (Mac OS X): http://www.tlphn.com/ ZoiPer (Multiplataforma): http://www.zoiper.com/en/voip-softphone/download/zoiper3 VirtualBox: https://www.virtualbox.org/