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/