Vous êtes sur la page 1sur 31

JITSI MEET

2019/2020
Voip

OTMANE SAJID
ISMONTIC
Sommaire :

I. Remerciement
II. Introduction
III. Présentation de la VOIP
a. C’est quoi VOIP
b. Le transport de la voix
c. Fonctionnement
d. Les protocoles de VOIP
IV. Jitsi Meet
a. Historique
b. C’est quoi Jitsi Meet
V. Installer Jitsi Meet
a. Préparation du serveur
b. Ajout du Jitsi Repository
c. SSL certification
d. Installation des paquets
e. Test
VI. Répartition des charges
a. Principe
b. Configuration du serveur principal jitsi-tri
c. Configuration du deuxième serveur serveur-videobridge
VII. L’enregistrement et le streaming
a. C’est quoi Jibri
b. Configuration
VIII. Conclusion
I. Remerciement :

Tout d’abord, je profite de cette occasion pour exprimer toute ma gratitude à tous ceux qui ont
contribué à la réalisation de ce Modest travail, tenant compte à la bonne stratégie de l’institut
ISMONTIC qui nous offre une occasion d’attaquer le secteur pratique suite à celui de la théorie, afin
d’améliorer nos connaissances dans le domaine.

Nous tenons à remercier nos formateurs de l’institut, pour leur bien vaillance et leur disponibilité
pour nous fournir leurs soutiens et en plus des conseils.

Nous tenons à remercier tout particulièrement ceux qui, de près ou de loin, nous ont aidés à
élaborer ce travail. Nous les remercions également pour leurs pilotages efficaces, pour leurs conseils
les plus précieux, leurs commentaires les plus pertinents tout au long de cette période.

Ensuite, nous souhaitons que ce travail soit à la hauteur de nos ambitions et à l’attente de notre
encadreur.
II. Introduction :

Le projet de fin de formation (PFF) constitue un complément de formation pratique obligatoire aux
apprenants (stagiaire technicien, Stagiaire technicien spécialisé ...). C’est un travail à caractère
professionnel, sous forme d’un travail propriétaire encadré par au moins un enseignant un formateur
professionnel.

Les sujets de PFF peuvent être proposés soit par des formateurs soit par des cadres du milieu
professionnel ou les deux en commun accord. Les apprenants peuvent mener les activités de leurs
projets soit dans l’établissement universitaires ou dans des entreprises professionnelles au sein de
leur pays ou à l’étranger.

Pour moi, j'ai choisi un sujet sous le thème Voip sur Jitsi Meet.
III. Présentation de la Voip :
a. C’est quoi VOIP :
La voix sur IP, ou « VoIP », est une
technique qui permet de transmettre la
voix sur des réseaux IP filaires
(câble/ADSL/fibre optique) ou non
(satellite, Wi-Fi et réseaux mobiles),
qu'il s'agisse de réseaux privés ou
d'Internet.
Longtemps confinés au transport de la
voix, certains logiciels de VoIP tels que
Skype, Messenger ou encore Snapchat
diffusent aujourd’hui les appels vidéo
ainsi que la messagerie instantanée et
permettent également de transmettre des
fichiers. De nouvelles applications, plus
rapides et plus performantes, sont nées pour gérer simultanément tous les flux multimédias :
Facebook Messenger, WhatsApp, Snapchat, Discord ou encore Viber.
En ce qui concerne la téléphonie uniquement, cette technologie est complémentaire de la
téléphonie sur IP (« ToIP » pour Téléphonie over Internet Protocol), qui concerne les
fonctions réalisées par un autocommutateur téléphonique IPBX.

b. Le transport de la voix :

Le transport de la voix sur IP est relativement


complexe. La première étape est la numérisation
du signal analogique capté par le microphone.
Selon le protocole utilisé pour transporter le
signal numérique, une étape complémentaire
d'encodage peut être nécessaire, notamment
pour compresser les signaux. Ensuite, les
informations sont découpées en trames pouvant
circuler sur un réseau informatique. Divers
protocoles peuvent alors être utilisés pour
acheminer les informations au(x) destinataire(s).
Ainsi le protocole RTCP est utilisé pour contrôler
le transport des paquets RTP.
c. Fonctionnement :
La voix sur IP utilise plusieurs protocoles afin de faire transiter la voix d'un équipement à un
autre. Le premier étant évidemment le protocole IP sur lequel se basent internet et les
réseaux locaux. On distingue aussi plusieurs protocoles de transports et de connexions
comme le SIP ou H323. On distingue aussi des protocoles de chiffrement de la voix appelées
SRTP et ZRTP.

d. Les protocoles de Voip :


SIP :
Session Initiation Protocol (dont l'abréviation est SIP) est un protocole de la couche
applicative du modèle qui a été conçu pour établir, modifier et terminer des sessions
multimédia. Il se charge de l'authentification et de la localisation des multiples participants. Il
se charge également de la négociation sur les types de média utilisables par les différents
participants en encapsulant des messages SDP (Session Description Protocol). SIP ne
transporte pas les données échangées durant la session comme la voix ou la vidéo. SIP étant
indépendant de la transmission des données, tout type de données et de protocoles peut être
utilisé pour cet échange. Cependant le protocole RTP (Real-time Transport Protocol) assure le
plus souvent les sessions audios et vidéo. SIP remplace progressivement H.323.

H323 :

H.323 regroupe un ensemble de protocoles de communication de la voix, de l'image et de


données sur IP. C'est un protocole développé par l'UIT-T qui le définit comme : « systèmes de
communication multimédia en mode paquet ».

Plus qu'un protocole, H.323 ressemble davantage à une association de plusieurs protocoles
différents et qui peuvent être regroupés en trois catégories : la signalisation, la négociation de
codec, et le transport de l'information.

RTP :

Real-Time Transport Protocol (RTP) est un protocole de communication informatique


permettant le transport de données soumises à des contraintes de temps réel, tels que des
flux média audio ou vidéo.
RTP est à l'heure actuelle principalement utilisé comme transport de média pour les services
de la voix sur IP ou de vidéo conférence, voire de streaming. En mode unidirectionnel, il est
toujours associé avec un autre protocole de signalisation qui gère l'établissement de session
et permet l'échange du numéro de port utilisé par les deux extrémités. On peut citer :

 Le protocole SIP pour les services de VoIP et de visioconférences ;


 Le protocole H.323 pour les mêmes services (ancienne génération) ;
 Le protocole RTSP pour le streaming bien que ce dernier possède un mode
d'encapsulation TCP.
Le protocole ajoute un en-tête spécifique aux paquets UDP pour

 Spécifier le type et le format (codec) du média transporté ;


 Numéroter les paquets afin de pouvoir gérer les pertes et les dé-séquencements ;
 Fournir une indication d'horloge pour gérer la gigue.
RTP sera utilisé avantageusement sur un réseau temps réel (par exemple un réseau ATM à
bande passante garantie, un canal optique, une radiodiffusion ou un canal satellite).
RTP est unidirectionnel mais peut être utilisé en mode diffusion (multicast) via satellite. Il est
alors extrêmement économique en termes de ressources réseau pour servir un grand
nombre de récepteurs, ce qui permet d'augmenter considérablement le débit utile et la
qualité de codage du contenu.
RTCP :
Le RTCP signifie Real Time Transport Control Protocol et est défini dans le RFC 3550. Il va de
pair avec le RTP. Le rôle du RTP est de transmettre les données elles-mêmes, alors que le
rôle du RTCP est de transmettre les paquets de contrôle aux participants d’un appel. Sa
fonction principale est de donner un feedback sur la qualité du service fourni par le RTP.

Le RTP provient et est reçu sur des numéros de port pairs et la communication RTCP associée
utilise le numéro de port impair supérieur suivant. Il transporte des statistiques et
renseignements tels que le comptage de paquets et d’octet, et le temps de parcours. Une
application peut utiliser cette information pour contrôler les paramètres QoS et peut choisir
d’utiliser par exemple un codec différent.
Le RTCP ne fournit pas d’encodage de flux ou de méthodes d’authentification mais de tels
mécanismes peuvent être mise en œuvre à l’aide du SRTP (Secure Real-time Transport
Protocol).
SRTP :
Secure Real-time Transport Protocol (ou SRTP) définit un profil de RTP (Real-time Transport
Protocol) qui a pour but d'apporter le chiffrement, l'authentification et l'intégrité des
messages et la protection contre le rejeu (replay) de données RTP. SRTP fonctionne à la fois
en envoi ciblé (unicast) et en multidiffusion (multicast).
ZRTP :
ZRTP est un protocole de chiffrement pour les appels téléphoniques passés en VoIP.
ZRTP utilise la méthode Échange de clés Diffie-Hellman pour l'échange de clé et le protocole
SRTP pour le chiffrement. Le protocole ZRTP peut aussi fonctionner sur différents types de
réseaux téléphoniques (GSM, UMTS, ISDN, PSTN, SATCOM, UHF/VHF radio …).
IV. Jitsi Meet :
a. Historique :
SIP Communicator fut créée à l'origine dans le cadre du doctorat
d'Emil Ivov au sein du LSIIT, un laboratoire de l'université de
Strasbourg.

Le 11 mars 2011 SIP Communicator intègre le protocole Jingle et


change de nom pour s'appeler Jitsi.

Dans sa version 1.0 sortie le 3 avril 2012, Jitsi s'exécute sur les
systèmes Solaris, Windows, Mac OS X, FreeBSD et la plupart des
distributions GNU/Linux.

La version 2.0 est sortie le 6 mars 2013.

b. C’est quoi Jitsi Meet :


Jitsi Meet est un logiciel de vidéo-conférence et de VOIP. Il chiffre
tout par défaut. Au chate, il utilise OTR (Off-the-Record Messaging). Pour la communication Vocal et
Vidéo-conférence, il utilise SRTP et ZRTP qui sont des protocoles de chiffrement très connu. Jitsi est
un open sources, utilisable sur Linux et Windows.

Jitsi Meet peut  :

 Partager son bureau, des présentations, et entre plus


 Inviter des utilisateurs à une conférence grâce à un simple URL
 Editer des documents ensemble en utilisant Etherpad
 Avoir un bon réunion URL

Jitsi est un communicateur audio / vidéo et de chat qui prend en charge des protocoles tels
que SIP, XMPP / Jabber, IRC et de nombreuses autres fonctionnalités utiles :
 XMPP / Jabber :

- Extensible Messaging and Presence


Protocol (qu'on peut traduire par «
protocole extensible de présence et de
messagerie »), souvent abrégé en XMPP,
est un ensemble de protocoles standards
ouverts de l’Internet Engineering Task
Force (IETF) pour la messagerie
instantanée, et plus généralement une
architecture décentralisée d’échange de
données. XMPP est également un système
de collaboration en quasi-temps-réel et
d’échange multimédia par son extension
Jingle, dont la voix sur réseau IP
(téléphonie sur Internet), la visioconférence et l’échange de fichiers sont des exemples
d’applications.
XMPP est constitué d'un protocole TCP/IP basé sur une architecture client-serveur
permettant les échanges décentralisés de messages instantanés ou non, entre clients, au
format Extensible Markup Language (XML). XMPP est en développement constant et ouvert
au sein de l’IETF.

- XMPP est le cœur de Jabber ; XMPP est à


Jabber ce que le HTTP est au Web.

Le protocole est maintenu par la XMPP


Standards Foundation (ancienne Jabber
Software Foundation) et est standardisé par
l’IETF sous le nom XMPP.

 IRC :
Internet Relay Chat ou IRC (en français, « discussion relayée par Internet ») est un protocol
de communication textual sur Internet. Il sert à la communication instantanée
principalement sous la forme de discussions en groupe par l’intermédiaire de canaux de
discussion, mais peut aussi être utilisé pour de la communication de un à un. Il peut par
ailleurs être utilisé pour faire du transfert de fichier.
V. Installer Jitsi Meet:
Jitsi Meet est une plateforme pour les vidéoconférences en ligne. Il est gratuit, open source, sécurisé
et chiffré. Il fonctionne sur les PC sur les navigateurs de recherche comme google chrome , Firefox et
aussi sur téléphone androïde et iOS. Aussi il peut être installé sur un serveur ou un cloud.

Pour cette partie, on va installer Jitsi Meet sur un serveur en suivant 5 étapes :

 Préparation d’un serveur


 Ajout du Jitsi repository
 SSL certification
 Installation des paquets
 Test

En suivant ces étapes en aura notre propre serveur Jitsi Meet.

a. Préparation du serveur :
On peut utiliser soit une machine physique ou une machine virtuelle. Dans notre cas on va utiliser le
system d’exploitation Linux Ubuntu sur une machine virtuel VMware avec les paramètres suivantes :

 1GB RAM
 2GHz CPU
 25GB Disk
 10GbE Net

On doit avoir besoin d’exécuter les commandes en tant qu’administrateur, pour cela on va
s’identifier en tant qu’administrateur :

Il nous faut activer les ports suivant pour les trafics :

 80 TCP (http)
 443 TCP (HTTPS)
 10000-20000 UDP

Par default les paramètres du parfeu ne sont pas activés, on peut le voir par la commande suivante :
Alors on va activer le paramétrage du parfeu et appliquer les options qu’on a situé :

On vérifie les changements :

b. Ajout du Jitsi repository :


Les paquets d’installation sont automatiquement signé avec des clefs par les développeurs de Jitsi
Meet. Tout d’abord on va installer la clé depuis le site officiel de Jitsi Meet :

Puis on ajoute la clé au system et on ajoute une inscription dans Jitsi repository dans les paquets
sources :
c. SSL certification :
WebRTC fonctionne sur HTTPS, alors il nous faut une certification SSL valide sur notre serveur, il y a 3
options :

 Une certification payée


 Une certification gratuite de LetsEncrypt
 Self-signé certification

Dans notre cas, on n’a pas de certification alors on va créer une durant l’installation.

d. Installation des paquets :


Tout d’abord on va mettre à jour le système :

Jitsi Meet peut fonctionner sur Apache ou Nginx comme serveur Web. On peut installer le serveur
Web de notre choix si on le veut. Jitsi Meet vérifie si Nginx puis Apache est présent, s’il n’y pas ni l’un
ni l’autre, il installe Nginx. Les commandes suivantes montrent comment installer Apache2 ou Nginx :

Maintenant on va télécharger Jitsi Meet qui va installer tout ce dont il a besoin pour fonctionner :

Durant l’installation, on nous demande le nom de domaine ou l’IP adresse du serveur :


Après on nous demande si on a une SSL certification ou d’en créer une. Dans notre cas on va créer
une :

e. Test :
Finalement ouvre le navigateur Firefox et on entre l’adresse IP du serveur pour ouvrir noter page
officiel de notre serveur Jitsi Meet :
VI. Répartition des charges :
a. Principe :
En informatique, la répartition de charge (en anglais : load balancing) désigne le processus de
répartition d’un ensemble de tâches sur un ensemble de ressources, dans le but d’en rendre le
traitement global plus efficace.

L’infrastructure indispensable pour le fonctionnement de Jitsi Meet est comme la suivante :

Il y a aussi des éléments complémentaires qu’on peut ajouter comme :


Dans ce chapitre on va se focaliser sur répartition des charges entre deux ou plus Jitsi Videobridge.

VideoBridge s'agit d'une solution de vidéoconférence prenant en charge WebRTC qui permet la
communication vidéo multi-utilisateurs et d’accueillir les conferénces. Il s'agit d'une unité de
transfert sélectif (SFU) et ne transfère que les flux sélectionnés aux autres utilisateurs participants à
l'appel de vidéoconférence, par conséquent, la puissance du processeur n'est pas critique pour les
performances.

Par default, dans l’installation, il y a un Videobridge derrière le programme frontend Jitsi Meet.

Le service qui gère tous ces équipements ensemble est appelé Jicofo. Il peut gérer plus d’un
Videobridge. Lorsqu’il y a une demande d’une nouvelle conférence, Jicofo choisi quelle Videobridge à
appeler.

Dans la configuration standard, il y a un seul Videobridge, alors le procès de choix n’est pas visible et
sans importance parce qu’il y a un Videobridge et un seul lieu où mettre les conférences.

Mais si on a plusieurs conférences dans un seul Videobridge le serveur risque d’être saturer et
s’arrêta de fonctionner.

La solution est d’équilibrer les charges. C’est-à-dire, ajouter des Videobridges supplémentaire, et
Jicofo choisira d’accueillir les nouvelles conférences dans un lieu moins chargé.

Jitsi Meet, Jicofo et Videobridge sont des éléments qui peuvent être installer séparément. On peut
avoir plusieurs serveurs configurer pour un bon fonctionnement de la communication.
Tous les éléments communiquent via XMPP. Chaque Videobridge partage ses informations de ses
charges sur un ‘PubSub node’ dans le serveur XMPP (Prosody). Jicofo a accés à ces informations ainsi
qu’à tout changement.

Tout ce qu’on doit faire pour avoir un bon équilibre de charge, c’est de configurer chaque
VideoBridge pour partager ses statistiques sur ‘PubSub node’ dans XMPP qui est Prosody dans notre
cas. Et après configurer Jicofo pour qu’il ait accès à ces informations.

b. Configuration du serveur principal Jitsi-tri :

 Etape1 : Configuration de Prosody :

Prosody a une aption ‘admins’ qui nous permet de spécifier qui dans le reseau est l’administarteur et
a le droit d’acces.

On ouvre le fichier de configuration avec la commande suivante :

Et on ajoute la partie ‘admins’ :


Maintenant on va configurer Prosody pour qu’il puisse communiquer avec les autres serveurs par
une interface publique.

On ouvre le fichier de configuration de Prosody :

Et on ajoute les ‘components_ports’ et ‘component_interface’ :

 Etape 2 : Configuration de Jicofo et Videobridge :

Maintenant on va modifier le fichier de configuration de Jicofo et Videobridge pour utiliser l’adresse


IP au lieu de ‘localhost’ :
Après dans le fichier suivant :

On ajoute les quatre derniers lignes :


Ces lignes veulent dire :

1) Activer les statistiques


2) Transférer les statistiques dans ‘pubsub’
3) Déclarer l’adresse du serveur XMPP où les ‘pubsub’ seront enregistrer
4) Donner un nom au à ‘pubsub node’

Ensuite on va configurer Jicofo dans ce fichier de configuration :

Et on ajoute l’adresse du serveur XMPP et le nom qu’on avait attribué au fichier d’informations
enregistrer dans ‘pubsub node’

Après on autorise dans le parfeu le port 5347/TCP :

c. Configuration du deuxième serveur serveur-videobridge :


Maintenant on va installer un nouveau serveur qui a l’adresse IP suivant : 192.168.207.131 et jitsi
repository and key ajoutée. Ainsi qu’une mise à jour du system fait.

Tout ce qu’on a besoin d’installer sur ce serveur est jitsi-videobridge :


Quand l’installeur nous demande le hot du serveur en lui donne l’IP adresse du serveur principal, qui
est dans notre cas ‘jitsi-tri’ (avec l’adresse 192.168.207.129)

Maintenant, on doit configurer ce serveur de la même manière qu’on avait fait dans le Videobridge
du serveur principal.

Dans le fichier de configuration :

On ajoute les quatre dernier lignes :

On a aussi besoin de configurer le fichier de configuration pour ajouter l’adresse du serveur XMPP et
ajouter l’adresse du serveur secondaire :
d. Configuration de Prosody du serveur principal :
Retournant au serveur principal. Il faut configurer Prosody pour qu’il puisse recevoir les informations
du nouveau Videobridge du deuxième serveur :

On ajoute le nouveau composant Videobridge avec son adresse et sont ‘JVB_SECRET’

e. Vérification des services :


Et pour finir on redémarre tous les services pour voir si tout va bien et qu’il n’y a pas d’erreur :
Dans le serveur principal :

Dans Jicofo et Videobridge la commande ‘reload’ n’est pas encore implémenté on va juste
redémarrer le service :

Dans le serveur secondaire :

f. Les messages du log :


On peut savoir dans le fichier ‘/var/log/jitsi/jicofo.log’ les informations du serveur suivantes :

 Recevoir une nouvelle communication en ligne un Videobridge


 Si une communication a échoué ou perdue
 L’état de la communication.
VII. L’enregistrement et le streaming :
a. C’est quoi Jibri :
L’enregistrement et le streaming sont deux options qui peuvent être configurer dans notre serveur
grâce au composant Jibri de Jitsi Meet. Jibri peut enregistrer la communication dans un fichier Jibri. Il
peut aussi faire un streaming sur Internet.

Techniquement, Jibri est considérer comme un participent dans une conférence. Mais il ne contribue
pas comme les participants réels. Le system reconnait Jibri dans la conférence et le marque comme
un participant spéciale qui n’a ni vidéo ni audio.

Quand Jibri démarre ou stop un enregistrement, tout le monde resoit une notification.

Jibri est connecter par default au serveur XMPP soi-disant Prosody.

Sachant que chaque procéder d’enregistrement à besoin d’un Jibri, on aura besoin de plusieurs Jibri
configurer pour répondre aux demandes multiples, alors la création d’un bail Jibri est nécessaire. La
meilleure option est de configurer le nombre des services Jibri égale au nombre de conférence
possible dans le serveur.

b. Configuration  :
Premièrement, dans le serveur principale ‘jitsi-tri’, on ouvre le fichier de configuration :

Et on ajoute la partie suivante dans la fin du fichier :


Et on recharge le service :

Deuxièmes on va ajouter des utilisateurs :

Dans Jicofo, on ajoute une configuration pour qu’il reconnait Jibri.

On ouvre le fichier de configuration de Jibri :

Et on redémarre le service Jicofo :

Dans le fichier de configuration de Jitsi Meet, on autorise l’enregistrement des fichiers et des
diffusions en direct :
On doit aussi vérifier le fichier ‘interface_config.js’ pour voir si l’enregistrement est activé :

La deuxième partie de cette configuration est de configurer le deuxième serveur.

Tout d’abord on met à jour le serveur :

On a besoin d’installer le module ‘snd-aloop’ qui se trouve dans le paquet ‘linux-image-extra-virtual’,


pour cela on va installer ce paquet :

Et on redémarre la machine :

Maintenant on peut charger le module :

On vérifie :
Puis on va l’exécuter automatiquement au démarrage :

Maintenant, on peut installer Jibri :

Et on configure le fichier de configuration de Jibri pour le lier au serveur XMPP :


Ensuite on doit créer un répertoire où les vidéos seront enregistrer :

Et on va changer le propriétaire du répertoire :

Après on redémarre le service Jibri :


VIII. Conclusion :

Les téléphones Voice over Internet Protocol (VoIP) sont la vague du futur. À mesure que la
technologie s'améliore, les systèmes téléphoniques VoIP continueront de prospérer en tant que
moyen plus efficace et plus rentable de mettre fin aux appels téléphoniques. L'utilisation de la VoIP
présente de nombreux avantages. L'un des principaux avantages est la rentabilité.

De nos jours, la technologie VoIP est généralement utilisée dans tous les bureaux pour effectuer des
appels vocaux longue distance avec une qualité vocale en temps réel à faible coût. Ainsi, la
technologie VoIP sera la meilleure source de communication longue distance à jour. Il est également
plus utile pour une utilisation professionnelle. L'utilisation d'un système téléphonique VoIP rendra le
son professionnel plus professionnel.

Vous aimerez peut-être aussi