
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.