Adicione criptografia e envie para SIP regular



Oi Habr! Neste artigo, gostaríamos de destacar vários problemas de SIP quando usados ​​em um dispositivo móvel, dos quais os usuários geralmente desconhecem ou desconhecem.

Um dos principais problemas - se você usa qualquer provedor SIP (ou seu próprio PBX IP) em seu smartphone, com 99% de confiança, podemos dizer que seus dados não estão criptografados.

Provavelmente muitos fizeram uma coisa simples - capturaram o tráfego de dispositivos SIP para descobrir o motivo de qualquer inoperabilidade da conexão VOIP.

Na prática, isso significa que todas as suas negociações SIP também podem ser facilmente detectadas, restauradas e ouvidas no lado do cliente móvel e podem ser feitas com bastante facilidade.


A Wikipedia nos diz que esse problema existe:

"Segurança de conexão

Muitas implementações de telefonia IP de consumidor não suportam criptografia criptográfica, apesar de ter uma conexão telefônica segura muito mais fácil de implementar com a tecnologia IP do que com as linhas telefônicas tradicionais. Como resultado, com a ajuda de um analisador de tráfego, é relativamente fácil estabelecer a escuta de chamadas IP e, com alguns truques, alterar seu conteúdo. ”

Esse problema surge do desejo de universalizar o cliente SIP, embora em quase todos os softphones populares, a criptografia seja declarada.

Mas, além do próprio softphone, a criptografia também deve oferecer suporte ao servidor SIP, e é aí que reside a raiz do problema - os provedores são diferentes, usam soluções diferentes e, para oferecer suporte a todo o zoológico dos dispositivos SIP de seus clientes, a criptografia no servidor geralmente é desativada.

Outro problema também comum é o bloqueio do próprio protocolo SIP.

Pode ser bloqueios no nível de um único fornecedor ou no nível de operadores nacionais - por exemplo, o SIP é bloqueado pelas autoridades dos Emirados Árabes Unidos, China e vários outros países.

Outro problema conhecido associado ao uso de SIP em dispositivos móveis - os softphones VOIP padrão, sendo constantemente lançados, consomem significativamente a bateria do smartphone.

Isso ocorre porque a maioria dos PBXs IP é um servidor SIP comum que requer registro periódico do cliente, ou seja, o aplicativo no telefone deve estar sempre online e, portanto, o PBX IP sempre espera o pacote de registro do aplicativo.
Se dentro de um certo período o pacote de registro não vier do aplicativo, o PBX IP considerará que o cliente está offline e ninguém dentro do PBX poderá fazer uma chamada para esse cliente.

Portanto, esses aplicativos devem estar sempre online e, consequentemente, consumir significativamente a bateria do dispositivo móvel.

Isso aconteceu historicamente quando os dispositivos SIP do cliente eram principalmente telefones IP de mesa ou gateways VOIP e, consequentemente, não havia problemas ao economizar baterias.
O pior para os usuários do iOS agora é que, começando com a versão 11, a Apple removeu completamente a capacidade de seus aplicativos estarem sempre online e, portanto, os aplicativos SIP antigos não funcionam mais nas novas versões do iOS. Isso é ditado pela política da Apple de minimizar o consumo de bateria para todos os aplicativos.

Existem várias maneiras de sair da situação com a bateria.

A idéia principal é transferir o aplicativo offline, ou seja, "adormecer" o aplicativo e ativá-lo com um empurrão exatamente no momento em que a chamada é recebida.

Na verdade, todos os mensageiros instantâneos populares com protocolos proprietários - WhatsApp, Viber, Telegram e outros - o fazem quando é feita uma chamada de áudio ou vídeo - eles ativam o aplicativo, ele é iniciado e depois é capaz de receber chamadas.

A primeira solução é criar seu próprio servidor, seu IP PBX e gravar seu próprio cliente para duas plataformas (iOS e Android), que executariam as etapas acima.

Em princípio, alguns grandes fornecedores de VOIP (por exemplo, MTT) ou fabricantes de software para servidores VOIP fazem isso - eles têm seus próprios clientes SIP para dispositivos móveis que funcionam no modo push.

O problema é que esses clientes só podem trabalhar com esse provedor ou com um PBX específico, respectivamente, se você usar o PBX IP do escritório e, ao mesmo tempo, outros provedores de telefonia IP, essa solução não funcionará para você.

A segunda maneira é comprar um cliente SIP universal que possa enviar por push.
Por que essas soluções custam dinheiro?

Porque o cliente SIP com push não é apenas gravar um aplicativo separado e colocá-lo na fila.

Para fazer isso, é necessário criar e manter um servidor separado, que enviará pacotes de registro regulares para o seu PBX IP, e o próprio servidor funcionará diretamente com o aplicativo - ative-o quando for chamado.

I.e. Para criar, você precisa de toda uma infraestrutura e é por isso que essas soluções universais são pagas.

Mas e os problemas acima mencionados com criptografia e bloqueio do SIP?

Existe uma solução universal - o M1 Messenger , que também pode funcionar como um cliente SIP com modo push e, ao mesmo tempo, fornece criptografia no lado do cliente e proteção contra bloqueio.

O tráfego SIP é "encapsulado" no tráfego de mensagens criptografadas (TLS) e os provedores de DPI não são mais reconhecidos como VOIP.

Tudo isso funciona em absolutamente qualquer servidor SIP - seja um Asterisk de escritório ou qualquer outro provedor com números virtuais - em todo o lado do cliente haverá tráfego criptografado e modo push.

Portanto, faça o download do messenger para Android ou iOS , registre-se (observe que o registro NÃO exige um número de telefone).

No menu geral, encontramos a guia Conexões SIP:


Adicione sua conta SIP existente.

Nome é o nome do seu provedor (no nosso exemplo, será Zadarma)
Usuário - aqui você deve especificar seu login SIP
Domínio - o endereço do seu provedor de VOIP.
Se o provedor ou o seu PBX IP usar sua porta, você poderá
especifique-o através de dois pontos, por exemplo: sip.voipprovider.com: 5060
Auth - seu login SIP (o mesmo que na seção Usuário)
Senha - sua senha para a conta SIP


Você pode adicionar até 8 contas desse tipo ao messenger. Com a discagem efetuada, será oferecida uma opção através do provedor para fazer uma chamada.

Você pode inserir vários números no messenger - tanto no escritório quanto em outras cidades e países e estar sempre disponível para as chamadas recebidas sem medo de uma grande descarga da bateria do smartphone.

Como o messenger suporta push, o aplicativo dorme no modo de espera e não consome a bateria do smartphone.

Assim, você sempre pode entrar em contato para receber chamadas SIP - por exemplo, com um DID de um número virtual ou de escritório (agora o SIP devido a problemas de energia geralmente é usado apenas para chamadas feitas).

Esperamos que os novos recursos do M1 Messenger ampliem o escopo de um protocolo de comunicação tão conveniente e popular como o SIP.

Source: https://habr.com/ru/post/pt418741/


All Articles