Fase I - Estudo
Título da Idéia
- OpenSIPS
Objetivos
Na fase inicial, o objetivo do projeto foi estudar a ferramenta para entender qual o papel do openSIPS no Session Router. Dessa forma, a partir desse estudo, seria possível concluir se a ferramenta abrangeria os requisitos do projeto.
Conceito
Derivado do projeto OpenSER (Kamailio) o OpenSIPS é um proxy/servidor Open Source SIP para voz, vídeo, mensagens instantâneas e quaisquer outras extensões SIP. Sendo um software Open Source toda a comunidade pode compilar e editar seu código fonte, tendo então bastante contribuição no desenvolvimento do projeto. O OpenSIPS é um servidor SIP de sinalização multifuncional e bidirecional e pode atuar como roteador/comutador SIP, registrador SIP, servidor de aplicativos, SBC( Session Border Controller), balanceador de cargas e quaisquer outros tipos de cenários/serviços SIP. As principais utilidades dessa ferramenta é a possibilidade de realizar várias chamadas simultâneas, a flexibilidade de roteamento e integração e a efetividade no desenvolvimento de aplicacões por meio dos vários módulos disponíveis no openSIPS.
Características
O arquivo de configuração do openSIPs, denominado “opensips.cfg”, é responsável pelas configurações feitas no servidor. A linguagem utilizada é semelhante ao C e com ela é possível implementar laços condicionais, laços de repetição, entre outros.
Além disso, o OpenSIPs possui um pacote vasto de módulos para permitir a configuração do servidor. Dentre eles estão o pacote “PYTHON” que possui alguns scripts dessa linguagem, o “REST$\_$CLIENT” que permite a implementação de um cliente HTTP e o “NATHELPER”, o qual auxilia a travessia NAT.
Estudo Dirigido
Fase II - Ensino
Conteúdo
Conteúdo recomendado para estudo da ferramenta:
- Documentação OpenSIPS
- Livro Building Telephony Systems with OpenSIPS 1.6 (autor: Flavio E.Goncalves)
- Arquitetura de redes e protocolos de rede (TCP, UDP, SIP, etc)
- Leitura da ETSI
Apresentação
Apresente ao grupo (reunião, EAD, Blog, ...) Publique aqui
Metodologia
A metodologia usada para o desenvolvimento do projeto foi SCRUM.
Fase III - Exemplo de Caso de Negócio
Benefícios para quem for oferecer esta solução
Com o desenvolvimento do Session Router, uma camada adicional seria acrescentada na rede da Algar, a qual pode ser utilizada como uma camada extra de segurança para a rede.
Benefícios para o usuário
O usuário usufruiria de um serviço mais seguro.
Barreiras encontradas

- Comunicação entre a VM e o Softphone:
- Um dos problemas enfrentados pelo squad responsável pelo Session Router é a comunicação entre a VM e o Softphone. Quando o Softphone (instalado em um notebook da Algar) tenta fazer um registro ou até mesmo uma ligação para o OpenSIPS há um problema: o servidor do OpenSIPS recebe a requisição, contudo, quando o OpenSIPS tenta enviar a resposta para o Softphone ocorre um erro indicando "Destionation Unreacheable (Port Unreacheable)".
Fase IV - Protótipo orientado ao Negócio
Escopo
Explique o escopo deste protótipo
Limitações
Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.
PoC
Desenvolva um PoC (Proof of Concept)
Detalhamento Técnico
O OpenSIPS requer um estudo detalhado dos seguintes tópicos:
- Protocolo SIP
- Protocolo RTP
- Protocolo UDP
- Arquitetura de redes
- Shell Script
- Linguagem de pseudo-programação (a ser utilizada no script de configuração da ferramenta)
- Livro Building Telephony Systems with OpenSIPS 1.6 (autor: Flavio E.Goncalves)
- RFC 3361
- RFC 3362
Cronograma Macro
Histórico
Pesquisadores
- Bianca Cristina da Silva