[AsteriskBrasil] OpenSER / OpenSIP

Davi Magno davi.magno em gmail.com
Sexta Maio 14 11:32:32 BRT 2010


Bom dia Rodrigo!

eu ainda não vi um livro sobre openSIP em português. Material também ainda
está um pouco difícil mas se vc domina o inglês consegue bastante coisa no
próprio site http://www.opensips.org/

abaixo segue texto de um artigo que você pode encontrar também em
http://www.voipexperts.com.br/Tutoriais-sobre-Asterisk-e-VoIP/Comparando-Asterisk-e-OpenSERescrito
por Flávio E. Gonçalves


Se você trabalha com telefonia IP, talvez ainda não tenha ouvido falar do
OpenSER, mas certamente você ouviu falar sobre o *Asterisk*. Bom eu adoro
uma chamada polêmica e eu já vi esta questão formulada muitas vezes em
fóruns e listas de discussão. Então eu vou me atrever a comparar estes dois
softwares muito populares dedicados ao mercado de VoIP. A idéia aqui não é
mostrar qual é o melhor, mas principalmente mostrar como eles são diferentes
um do outro. Abaixo está uma comparação tópico por tópico.

*Arquitetura*

*Asterisk* é um Back to Back User Agent (B2BUA), enquanto o OpenSER é um SIP
Proxy. Isto faz toda a diferença. A arquitetura de um SIP Proxy é mais
rápida do que a de um B2BUA porque ela só lida com a sinalização SIP. Por
outro lado, um B2BUA, mesmo sendo um pouco mais lento, é capaz de gerenciar
a mídia e é capaz de vários serviços não disponíveis em um Proxy SIP tais
como tradução de CODECs (ex. G.729<->G.711), tradução de protocolos
(SIP<->H323) e serviços relacionados à mídia tais como URA (unidade de
resposta automática), DAC (distribuição automática de chamadas), TTS
(conversão de texto para fala) e reconhecimento de voz.

*Travessia de Nat*

O OpenSER lida muito melhor com a travessia de NAT do que o *Asterisk*. Você
pode enviar a mídia de seu cliente diretamente ao seu provedor usando o
OpenSER na maioria dos casos (exceção ao NAT não simétrico). A manipulação
direta do protocolo SIP permite a você gerenciar casos especiais, tais como
quando você tem dois clientes atrás do mesmo NAT e quer enviar a mídia
(áudio e vídeo) diretamente entre eles.

*Balanceamento de carga*

O OpenSER tem algoritmos específicos de balanceamento de carga com hash.
Desta forma ele pode balancear a carga por “ruri”, “username”, “call-id” e
algumas outras propriedades. Ele pode usar mensagens de redirecionamento
(302 redirect) consumindo bem poucos recursos da máquina de balanceamento de
carga. A tolerância a falhas faz parte da solução, coisas que você não
encontra no *Asterisk*, mas são complementares.

*Acesso em baixo nível aos cabeçalhos SIP e transações.
*
O OpenSER permite a você acesso de baixo nível ao protocolo. Você pode gerir
todos os pedidos e respostas. Desta forma é possível, na maioria das vezes,
traduzir entre duas versões incompatíveis de SIP. Isto é importante quando
você tem duas implantações de diferentes fabricantes, algumas vezes,
incompatíveis entre si.

*Integration with Radius, Diameter and LDAP*
O OpenSER tem suporte à LDAP, Radius e Diameter  integrado na distribuição.
Enquanto isto também é possível com o *Asterisk*, a implantação do OpenSER é
desenvolvida em C e integrada como um módulo que é parte da distribuição
principal. (sem Perl, sem python, sem módulos de terceiros).

*Roteamento no padrão operadora*

O módulo CARRIERROUTE implanta algoritmos sofisticados para rotear chamadas
para a rede pública.  Algumas vezes, os provedores VoIP precisam trabalhar
com tabelas com mais de 40000 rotas. Neste caso, você vai precisar com
certeza de um módulo específico de roteamento com capacidade de recuperação
de falhas, listas negras e alguns outros recursos específicos para
provedores de voz.

*Serviços de mídia*

O OpenSER é um SIP Proxy e ele não é capaz de atender nenhum serviço
relacionado a mídia (áudio ou vídeo). Desta forma, não é possível criar com
o OpenSER sistemas como, correio de voz, URA, TTS e reconhecimento de voz.
No entanto é possível integrar estes serviços ao OpenSER usando um servidor
de mídia separado. (normalmente o próprio *Asterisk*, Yate, FreeSwitch ou
SEMS). Isto é proposital e é a forma com que o protocolo SIP foi desenhado e
definido (veja norma RFC3261).

*Conectividade com a rede pública de telefonia
*
O OpenSER sempre vai precisar de um gateway para se conectar a rede pública.
Não existe a possibilidade de instalar interfaces de telefonia no servidor.
Em vários casos o *Asterisk* é usado como gateway para a rede pública
suportando o OpenSER.

*Conclusão
*
Eu adoro esta discussão, porque o *Asterisk* e o OpenSER se completam. O
OpenSER fornece serviços robustos para o SIP e é capaz de atender a um
grande número de chamadas, de balancear a carga do SIP, resolver cenários
avançados de NAT e lidar com a sinalização SIP como nenhum outro. Já o *
Asterisk* é um B2BUA, muito forte no mercado de IP PBX. Ele é mais simples
de configurar e pode gerenciar volumes de pequenos e moderados. O
*Asterisk*pode ser usado no conceito “uma caixa faz tudo” ao contrário
do OpenSER que
requer todos os componentes da arquitetura do SIP. O OpenSER é um sucesso no
mercado de provedores e universidades. O *Asterisk* é um sucesso no mercado
de PABX e está abocanhando um pedaço do mercado de pequenos e médios
provedores VoIP. Normalmente você começa a usar o OpenSER com grandes
volumes, tais como quando você tem mais de mil usuários registrados. Escolha
com sabedoria!






Em 14 de maio de 2010 11:18, Rodrigo Lang
<rodrigoferreiralang em gmail.com>escreveu:

> Bom dia,
>
> Aproveitando que foi tocado no assunto do OpenSIP no tópico sobre
> balanceamento de carga. Eu conheço bastante sobre Asterisk e OpenSIP e
> OpenSER conheço somente de ler aqui na lista o pessoal comentando. Agora
> tenho algumas dúvidas. Qual a finalidade da utilização do OpenSIP e do
> OpenSER? Fazendo uma busca eu achei a seguinte afirmação:
>
> "Hoje o Asterisk tem a função de IPX, ou seja, uma “Central telefônica
> digital com muitos recursos agregados”, e o OpenSER é o Software que é
> responsável pela sinalização de inicio meio e fim de uma sessão multimídia,
> e com isso é capaz de controlar um numero muito superior de sessões
> simultâneas, também é muito importante lembrarmos da sua compatibilidade com
> a RFC3261 (Documento responsável pela definição do Protocolo SIP versão 2).
> Podemos considerar que o OpenSER tem características para um nível macro, já
> o Asterisk apresenta melhor desempenho em ambientes médios e micro."
>
> O que eu citei acima procede?
>
> Meus caros, se puderem indicar alguma documentação free ou um livro sobre o
> assunto, fico grato.
>
>
> Ats,
> Rodrigo Lang.
>
> --
> Rodrigo Recipes!
> Last post: DUNDi! pt.1<http://rodrigorecipes.blogspot.com/2010/05/dundi-so-easy-caveman-could-do-it-pt1.html>
>
> _______________________________________________
> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
> - Suporte técnico local qualificado e gratuito
> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
> _______________________________________________
> Participe do I Encontro VoIPCenter, 08 a 10 de junho – Rio de Janeiro.
> Área de exposição, palestras e cursos de VoIP, Asterisk e Convergência de
> Redes.
> http://www.encontrovoipcenter.com.br
> ______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20100514/d4448242/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil