Configurações de rede para softphones

Os softphones Linphone e Zoiper, recomendados pela equipe do INOC-DBA, têm um ótimo suporte a NAT e são capazes de funcionar como clientes do INOC-DBA nos mais variados tipos de redes. Há também aparelhos telefônicos SIP mais modernos com bom suporte a NAT, de diversas marcas e modelos. Se você optou por usar um dos softphones recomendados, provavelmente não precisa se preocupar com as configurações de sua rede. Basta habilitar o suporte ao STUN nos softwares e na maioria dos casos tudo funcionará bem.

Ainda assim, aqui estão detalhados os protocolos, IPs e portas usados na comunicação no contexto do INOC-DBA, no intuito de ajudar os usuários na solução de eventuais problemas.

  1. Comunicação SIP com IPs públicos
  2. Comunicação SIP com o uso de NAT e STUN

1 - Comunicação SIP com IPs públicos

Com o uso de IPs públicos a comunicação com os softphones se dá exatamente da mesma forma que com os telefones Cisco cedidos pelo NIC.br.

A comunicação SIP utiliza pacotes UDP e é iniciada pelo cliente, enviando um pacote com origem numa porta alta para a porta UDP 5060 do servidor. A resposta pode ser direcionada para a mesma porta que foi usada para a requisição, ou para a porta 5060 do cliente, conforme a configuração deste. No caso dos softphones recomendados pelo INOC-DBA a resposta do servidor é originada na porta UDP 5060 e enviada para a porta alta que foi usada para a requisição no cliente.

A comunicação RTP utiliza para cada chamada de voz duas portas UDP altas, escolhidas em sequência, tanto no lado do cliente (telefone) quanto do servidor. Uma é usada para o controle (RTCP) e outra para o audio em si (RTP). Os telefones Cisco do INOC-DBA escolhem portas entre 16384 e 32766. Para os softphones recomendamos a escolha de portas entre 10000 e 20000, a mesma faixa usada no servidor INOC-DBA.

Caso você pretenda usar filtros (firewall) nessa rede, note que:

  • a comunicação SIP sempre se dá entre o cliente e o servidor INOC-DBA (o softphone deve ser capaz de enviar pacotes UDP para a porta 5060 do servidor INOC-DBA, e receber pacotes UDP originados na porta 5060 deste);
  • a comunicação RTP e RTCP pode se dar entre o cliente (softphone) e o servidor INOC-DBA, ou diretamente entre dois clientes (os telefones devem ser capazes de enviar pacotes UDP originados das portas 10000 a 20000 para qualquer destino, nas portas UDP 10000 a 32766, e receber pacotes de qualquer origem, originados das portas UDP 10000 a 32766 tendo como destino as portas UDP 10000 a 20000).

Veja o diagrama de sequencia simplificado da comunicação (clique para ver em tamanho grande). Nesse diagrama está um exemplo da comunicação de audio (RTP) direta entre os clientes INOC-DBA. Estão representados telefones Cisco, mas nesse caso, para os softphones, é exatamente o mesmo que acontece. Nesse caso a voz não passa pelo servidor. Esse é o caso padrão e só não acontece quando há incompatibilidades (por exemplo, se um cliente usa IPv4 e outro IPv6, ou se suportam codecs diferentes):


Veja o diagrama de sequencia simplificado da comunicação (clique para ver em tamanho grande). Estão representados telefones Cisco, mas nesse caso, para os softphones, é exatamente o mesmo que acontece. Nesse diagrama está um exemplo da comunicação de audio (RTP) passando pelo servidor do INOC-DBA. Isso acontece quando se utiliza a conferência de voz (3 ou mais participantes conversando numa 'sala' virtual), ou quando há incompatibilidades entre os clientes:
Voltar ao topo

2- Comunicação SIP com o uso de NAT e STUN

Numa rede convencional com NAT, os pacotes originados em computadores dentro da rede, com IPs privados, são reescritos por um gateway, que troca o endereço de origem por um IP público, e algumas vezes troca também as portas de origem por outras portas altas disponíveis. A informação sobre as trocas é armazenada em uma tabela para que o pacote de resposta possa ser também reescrito e enviado de volta a origem. Note que o NAT tem o efeito colateral de funcionar como um firewall stateful, onde todos os pacotes originados na rede privada podem 'passar' para a Internet, e suas respostas conseguem também 'passar' no sentido inverso.

Em uma rede configurada desta forma, os softphones recomendados, com o STUN habilitado, funcionarão muito bem com o INOC-DBA.

O servidor STUN permite ao cliente (softphone) identificar o IP público (externo) usado pelo NAT. Para isso é enviado um pacote UDP para a porta 3478 do servidor STUN. Na resposta está embutida a informação do IP público observado pelo servidor.

Com a informação do IP público 'em mãos', o softphone pode embutir nos pacotes SIP informações suficientes para que eles consigam atravessar o NAT nos dois sentidos.

Para mais detalhes, veja o diagrama de sequencia simplificado da comunicação usando NAT e STUN (clique para ver em tamanho grande):

Voltar ao topo