Open Source SBC - Existe uma coisa dessas?

Session Border Controllers (SBCs) são utilizados como um meio para fornecer balanceamento de carga e estruturas de segurança para redes VoIP. Para ser completamente honesto, 90% dos meus clientes utilizam aparelhos SBC, seja Acme Packet, Juniper, NextOne, Veraz ou outros.

De acordo com um relatório da Transnesus , uma combinação de OpenSIP e Asterisk pode ser utilizado como uma estrutura de back-to-Back-User-Agent (B2BUA) - no entanto, a configuração geral e a configuração não é clara e direta. Eu estive pensando comigo mesmo: "Por que ninguém tinha escrito um Open Source SBC? como que poderia ser? geralmente há uma alternativa Open Source para qualquer produto comercial ".

Como qualquer outra pesquisa na net, eu apontei meu Firefox para o Google , e digitei a frase que não quer calar! "Open Source SBC", aparentemente, tal coisa existe, e é de uma empresa chamada Solegy - mais no endereço web: http://www.opensourcesip.org . Então minha tristeza, o domínio existe, mas não tem nada no lugar :(. 
Com muito custo eu consegui encontrar o código fonte, e depois de uma fase de 30 minutos compilação (tendo em mente que estou trabalhando em um servidor virtual rodando sob o Oracle Virtualbox no bom é velho Ruindows) - a compilação foi concluída.

Compilando era uma coisa, executá-lo era uma coisa completamente diferente - Levei um tempo para perceber onde o binário está localizado e como a configuração funciona - uma vez que fiz isso foi uma brisa. No meu sistema, após a compilação o binário foi localizado de acordo com o seguinte:
[root@opensbc obj_linux_x86_r]# pwd
/root/OpenSBC-1.1.5-RC1-Bundle/opensbc/obj_linux_x86_r
[root@opensbc obj_linux_x86_r]# ./opensbc -x

Message from syslogd@ at Thu Nov 13 23:15:35 2008 ...
tvms OpenSBC[18900]: Starting service process "OpenSBC" v1.1.5-25
Por as informações fornecidas pelo Solegy, o projeto OpenSBC suporta vários modos de operação, variando de acordo com o seguinte:
  • Modo Full - Por padrão OpenSBC é executado em modo full expondo sua capacidade, tanto como retransmitir proxy SIP, auxiliando, como também B2B User Agent. Quando o OpenSBC recebe um convite ou um pedido de registro ele ele segue com um procedimento de tomar uma decisão de como encaminhar um pedido:
    • Se o  Reques-URI resolve um domínio remoto, o pedido será retransmitido. Se uma rota do revezamento estiver disponível, o pedido é enviado para esse caminho. Se uma rota disponível, o URI é resolvido via DNS.
    • Se o Startline-URI resolve como um endereço local e a porta, para URI está marcada para resolver uma porta local. Então, o pedido seria utilizar as portas como um sip proxy ou uma resolução de DNS. O pedido URI seria reescrito para o novo ponto e resolvido.
    • INVITE: Se ambos Request URI e para URI resolve um convite local e a porta, B2BUA é usada como rota para encaminhar o convite.
    • REGISTER: Se ambos Request URI e para URI resolve para um ouvinte local e a porta, e auxiliar local, irá processar o registro. Isso incluiria Autorização do Usuário.
  • Modo B2BOnly - Este modo remove a capacidade de relay, mas expoe o REGISTER e as funcionalidades B2BUA. Este modo não faz as verificações realizadas pelo modo completo. Ele sempre processa o REGISTER e INVITE local.
    • INVITE: Este modo sempre usa B2BUA Route para roteamento das chamadas. Se não for encontrado uma rota, uma resolução de DNS será feita contra a Request URI ou para URI no caso de a Request-URI resolver para um endereço local.
    • REGISTER: As inscrições são sempre tratados pelo register local.
  • Proxy Only Mode - Este modo remove a funcionalidade B2BUA e expoe o REGISTER e funcionalidades do SIP Proxy.
    • Sempre usa rotas para retransmissão de todas as mensagens, incluindo o REGISTER. Se uma rota de revezamento não é configurada, os pedidos serão retransmitidos usando resolução de DNS. Se um INVITE é resolvido como local, o resgister vai lidar com o registro  incluindo a autorização.
  • Modo B2BUpperReg -  Este é quase o mesmo que o modo B2BOnly mas com o adicional da capacidade de retransmitir inscrições para registradores superiores.
    • INVITE: Este modo utiliza sempre B2BUA Route.
    • REGISTER: para registros, ele executa a solicitação URI e URI para verificação do relay para o domínio remoto ou processar o register no local para domínios locais.
    • Upper-Registration: Este modo também tem a capacidade de "hijack-regristrations" (Sequestrar os Registros) em relação aos montantes dos registradores.

Por acima, eu não entendo completamente o que devo usar para operações normais de telefones IP, assim, eu acho que estou mais ou menos na minha própria jornada para um melhor entendimento sobre minhas necessidades presentes. Meu entendimento geral diz que eu preciso usar o modo de B2BupperReg, no entanto, eu não posso dizer que estou totalmente certo sobre isso - eu vou estar fazendo experiências com OpenSBC e os servidores Asterisk virtuais.

Se alguém estiver em busca de conhecimento sobre SBC, vamos juntar os pensamentos e estudos.
Abraços a todos.

Nenhum comentário

Toda vez que um homem supera os reveses, torna-se mentalmente e espiritualmente mais forte!

Tecnologia do Blogger.