
Salut Habr! Dans cet article, nous aimerions souligner plusieurs problèmes SIP lorsqu'ils sont utilisés sur un appareil mobile, dont les utilisateurs ne sont généralement pas au courant ou ignorent.
L'un des principaux problèmes - si vous utilisez un fournisseur SIP (ou votre propre PBX IP) sur votre smartphone, alors avec une confiance de 99%, nous pouvons dire que vos données ne sont pas cryptées.
Beaucoup ont probablement fait une chose simple - renifler le trafic des périphériques SIP pour trouver la raison de toute inopérabilité de la connexion VOIP.
En pratique, cela signifie que toutes vos négociations SIP peuvent également être facilement reniflées, restaurées et écoutées du côté du client mobile et peuvent être effectuées assez facilement.
Wikipedia nous dit que ce problème existe:
"Sécurité des connexions
De nombreuses implémentations de téléphonie IP grand public ne prennent pas en charge le chiffrement cryptographique, bien qu'il soit beaucoup plus facile de mettre en œuvre une connexion téléphonique sécurisée avec la technologie IP qu'avec les lignes téléphoniques traditionnelles. En conséquence, avec l'aide d'un analyseur de trafic, il est relativement facile d'établir une écoute pour les appels IP, et avec certaines astuces, même de changer leur contenu. »Ce problème découle de la volonté de rendre le client SIP universel, bien que dans presque tous les softphones populaires, le cryptage soit déclaré.
Mais en plus du softphone lui-même, le serveur SIP doit prendre en charge le cryptage, et ici la racine du problème est située - les fournisseurs sont différents, utilisent des solutions différentes et afin de prendre en charge l'ensemble du zoo des appareils SIP de leurs clients, le cryptage sur le serveur est généralement désactivé.
Un autre problème qui est également assez courant est le blocage du protocole SIP lui-même.
Il peut s'agir de verrous au niveau d'un seul fournisseur ou au niveau d'opérateurs nationaux - par exemple, le SIP est bloqué par les autorités des Émirats arabes unis, de la Chine et de plusieurs autres pays.
Un autre problème bien connu associé à l’utilisation de SIP sur les appareils mobiles - les softphones VOIP standard, constamment lancés, consomment considérablement la batterie du smartphone.
En effet, la plupart des PBX IP sont un serveur SIP standard qui nécessite un enregistrement client périodique, c'est-à-dire que l'application sur le téléphone doit toujours être en ligne et, par conséquent, le PBX IP attend toujours le paquet d'enregistrement de l'application.
Si dans un certain temps le package d'enregistrement ne provient pas de l'application, alors le PBX IP considère que le client est hors ligne et personne à l'intérieur du PBX ne peut appeler un tel client.
Par conséquent, ces applications doivent toujours être en ligne et, par conséquent, consommer considérablement la batterie de l'appareil mobile.
Cela s'est produit historiquement lorsque les appareils SIP clients étaient principalement des téléphones IP de bureau ou des passerelles VOIP et, en conséquence, il n'y avait aucun problème à économiser les batteries.
La pire chose pour les utilisateurs d'iOS en ce moment est qu'à partir de la version 11, Apple a complètement supprimé la possibilité pour ses applications d'être toujours en ligne et, par conséquent, les anciennes applications SIP ne fonctionnent plus sur les nouvelles versions d'iOS. Ceci est dicté par la politique d'Apple de minimiser la consommation de batterie pour toutes les applications.
Il existe plusieurs façons de sortir de la situation avec la batterie.
L'idée principale est de transférer l'application hors ligne, c'est-à-dire de «mettre en veille» l'application et de la réactiver en appuyant exactement au moment de l'arrivée de l'appel entrant.
En fait, tous les messageries instantanées populaires avec des protocoles propriétaires - WhatsApp, Viber, Telegram et autres - le font lorsqu'un appel audio ou vidéo entrant est effectué - ils réveillent l'application, elle démarre et après cela, elle est capable de recevoir des appels.
La première solution consiste à créer votre propre serveur, votre PBX IP et à écrire votre propre client pour deux plates-formes (iOS et Android), ce qui ferait les étapes ci-dessus.
En principe, certains grands fournisseurs VOIP (par exemple, MTT) ou fabricants de logiciels pour serveurs VOIP le font - ils ont leurs propres clients SIP pour les appareils mobiles qui fonctionnent en mode push.
Le problème est que ces clients ne peuvent travailler qu'avec ce fournisseur ou avec un PBX spécifique, respectivement, si vous utilisez votre PBX IP de bureau et en même temps d'autres fournisseurs de téléphonie IP, cette solution ne fonctionnera pas pour vous.
La deuxième façon consiste à acheter un client SIP universel qui peut pousser.
Pourquoi ces solutions coûtent-elles de l'argent?
Parce que le client SIP avec push ne fait pas qu'écrire une application distincte et la mettre dans la file d'attente.
Pour ce faire, vous devez créer et maintenir un serveur distinct, qui enverra des paquets d'enregistrement réguliers à votre PBX IP, et le serveur lui-même fonctionnera directement avec l'application - réveillez-le lorsqu'il est appelé.
C'est-à-dire Pour créer, vous avez besoin de toute une infrastructure et c'est pourquoi de telles solutions universelles sont payantes.
Mais qu'en est-il des problèmes susmentionnés avec le cryptage et le blocage de SIP?
Il existe une solution universelle -
M1 Messenger , qui peut également fonctionner comme un client SIP avec le mode push, tout en offrant un chiffrement côté client et une protection contre le blocage.
Le trafic SIP est «enveloppé» dans du trafic de messagerie chiffré (TLS) et les fournisseurs DPI ne sont plus reconnus comme VOIP.
Tout cela fonctionne sur absolument n'importe quel serveur SIP - que ce soit un astérisque de bureau ou tout autre fournisseur avec des numéros virtuels - partout du côté client, il y aura du trafic crypté et du mode push.
Alors, téléchargez le messager
pour Android ou
iOS , inscrivez-vous (notez que l'inscription ne nécessite PAS de numéro de téléphone).
Dans le menu général, nous trouvons l'onglet Connexions SIP:
Ajoutez votre compte SIP existant.
Le nom est le nom de votre fournisseur (dans notre exemple, ce sera Zadarma)
Utilisateur - ici, vous devez spécifier votre identifiant SIP
Domaine - l'adresse de votre fournisseur VOIP.
Si le fournisseur ou votre PBX IP utilise son port, vous pouvez
spécifiez-le via deux points, par exemple: sip.voipprovider.com: 5060
Auth - votre identifiant SIP (le même que dans la section Utilisateur)
Mot de passe - votre mot de passe pour le compte SIP
Vous pouvez ajouter jusqu'à 8 de ces comptes au messager. Avec la numérotation sortante, un choix sera proposé par le biais de quel fournisseur passer un appel.
Vous pouvez entrer plusieurs numéros dans le messager - à la fois au bureau et dans d'autres villes et pays et être toujours disponible pour les appels entrants sans craindre une décharge importante de la batterie du smartphone.
Étant donné que le messager prend en charge push, l'application se met en veille et ne consomme pas la batterie du smartphone.
Ainsi, vous pouvez toujours être en contact pour les appels SIP entrants - par exemple, avec un DID d'un numéro virtuel ou de bureau (maintenant SIP en raison de problèmes d'alimentation est généralement utilisé uniquement pour les appels sortants).
Nous espérons que les nouvelles fonctionnalités de M1 Messenger élargiront la portée d'un protocole de communication aussi pratique et populaire que SIP.