Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Université Cheikh Anta Diop Faculté Sciences et Techniques MISE EN PLACE D’UN SERVICE DE TELEPRESENCE AVEC OPEN-IMS : IPTV-OPENIMSCORE Réalisé par : Encadré par : Smail Sidi Ali Bouna Bassirou Kassé Abdoulaye Fall Année universitaire : 2017_2018 Page 1 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Installation des dépendances sudo apt-get update sudo apt-get install mysql-server libmysqlclient15-dev libxml2 libxml2-dev bind9 ant flex bison curl subversion [Attirez l’attention du lecteur avec une citation du document ou utilisez cet espace pour sudo apt-get install debhelper cdbs lintian libcurl4-gnutls-dev build-essential fakeroot mettre en valeur un point clé. Pour placer cette zone de texte n’importe où sur la page, faitesdevscripts la simplement glisser.] Installation du JDK Le JDK doit avoir une version qui est supérieur à 1.5(JDK 5). Pour cela, on peut vérifier la version par la commande suivante : java –version Si la version JDK que vous avez par défaut est inférieure ou égale à 5, on installe un JDK supérieur à 5 (Vous avez le choix entre 6,7,…; l’essentiel c’est qu’elle soit supérieur à 5). Prenons exemple le JDK 6. On installe les paquets suivants : sudo apt-get install openjdk-6-jre sudo apt-get install openjdk-6-jdk Après, il faut prendre ce nouveau JDK par défaut par la commande suivante : sudo update –alternatives –config java Ensuite vous sélectionner le numéro du JDK 6. Comme nous on a par défaut un JDK supérieur à 5, donc on installe les paquets suivants : sudo apt-get install openjdk-7-jre sudo apt-get install openjdk-7-jdk JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386 INSTALLATION D’OPEN IMS sudo mkdir /opt/OpenIMSCore/ cd /opt/OpenIMSCore mkdir ser_ims svn checkout https://svn.code.sf.net/p/openimscore/code/ser_ims/trunk ser_ims Page 2 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Il y’a un bug dans le fichier client.h, donc la correction de celui-ci est : sed -i '/include<curl\/types.h>/d' ser_ims/lib/lost/client.h Maintenant on installe le Fhoss mkdir FHoSS svn checkout https://svn.code.sf.net/p/openimscore/code/FHoSS/trunk FHoSS cd FHoSS ant compile deploy sed -i 's/JAVA_HOME\/bin\/java/JAVA_HOME\/usr\/bin\/java/g' deploy/startup.sh La commande sed permet de corriger un bug dans le fichier startup. cd .. mysql -u root -p < ser_ims/cfg/icscf.sql //mettre le mot de passe mysql mysql -u root -p < FHoSS/scripts/hss_db.sql //mettre le mot de passe mysql mysql -u root -p < FHoSS/scripts/userdata.sql //mettre le mot de passe mysql Maintenat on peut faire la compilation cd ser_ims make install-libs all Configuration DNS cp /opt/OpenIMSCore/ser_ims/cfg/open-ims.dnszone /etc/bind Allez dans le fichier named.conf.local …….. nano /etc/bind/named.conf.local Et ajoutez les lignes suivantes zone "open-ims.test" { type master; file "/etc/bind/open-ims.dnszone"; }; Page 3 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Remplacer ensuite toutes les adresses 127.0.0.1 par l’adresse de la machine virtuelle dans le fichier open-ims.test en tapant Ctrl Shift 8 en même temps(on est bien sûr en putty) Dans le fichier dhcpclient on dé-commente la ligne #prepend domain-name-servers puis ajouter l’adresse IP de la machine virtuelle. Redémarrer le service DNS service bind9 restart Dans le fichier nano resolv.conf, commentez toutes les adresses IP * nano /etc/resolv.conf On peut faire certains tests, d’abord il faut redémarrer le service dns service bind9 restart dig open-ims.test Page 4 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Configuration d’OPEN IMS cp -R /opt/OpenIMSCore/ser_ims/cfg/* /opt/OpenIMSCore/ cd /opt/OpenIMSCore/ cp ser_ims/cfg/*.cfg /opt/OpenIMSCore cp ser_ims/cfg/*.xml /opt/OpenIMSCore cp ser_ims/cfg/*.sh /opt/OpenIMSCore Modifier le fichier /opt/OpenIMSCore) suivant configurator.sh(On doit se fixer sur le répertoire ./configurator.sh Domain Name : open-ims.test IP Adress : adresse_IP_machine_virtuelle File to change …….. : all Page 5 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE nano /opt/OpenIMSCore/FHoSS/deploy/DiameterPeerHSS.xml Puis modifier l’adresse IP sur la ligne <Acceptor..... bind=@ip de la machine virtuelle nano /opt/OpenIMSCore/FHoSS/deploy/DiameterPeerHSS.xml Dans ce fichier, mettre l’adresse IP de la machine. Créer un script OpenIMSCore.sh nano OpenIMSCore.sh Page 6 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Recopier le code suivant : # !/bin/bash & ./pcscf.sh & sleep 10 ./scscf.sh & sleep 10 ./icscf.sh & sleep 10 ./fhoss.sh & sleep 10 Rendre exécutable le code puis le lancer : chmod a+x OpenIMSCore.sh Puis taper la commande suivante: ./OpenIMSCore.sh Aller sur le navigateur et lancer Open IMS : http://192.168.43.152:8080/ Dans votre serveur, vous verrez au début des « Closed » comme suit Page 7 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Patientez quelques secondes, elle va s’ouvrir En tapant hssAdmin comme nom d'utilisateur et hss comme mot de passe Page 8 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Vous aurez l’interface suivante : Configuration des OpenIMSCore comptes utilisateurs sur le serveur Nous allons donner un exemple de configuration de compte SIP dans OpenIMSCore dont le nom est smail et le mot de passe est smail. Vous pouvez ensuite ajouter les comptes que vous souhaitez pour faire les tests en suivant les mêmes logiques de configuration. Création IMS SUBSCRIBER Cliquez sur USER IDENTITIES puis sur IMS Subscription et remplir le formulaire comme suit : Page 9 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Vous aurez ceci. Cliquez sur le « + » pour la création Private Identity. Création Private Identity Page 10 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Vous aurez ceci : Comme précédemment cliquer sur l’onglet « + » pour créer un Public Identity. Création d’un Public Identity Page 11 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE On aura : Si l’avez bien remarqué, on doit ajouter le domaine open-ims.test. Le bouton « Add » permet de le faire. Si tout c’est bien passé, vous savez maintenant comment configurer un compte d’utilisateur sur OpenIMSCore. Refaire les même étapes pour créer un autre utilisateur abdou. Installation et Configuration de UCTIPTV_ADVANCED1.0.0 NB : Vous allez installer une nouvelle machine virtuelle qui sera notre server IPTV. Installation uctiptv_advanced1.0.0 Nous allons installer d’abord les prérequis apt-get update apt-get upgrade sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6-dev-i386 Installation des dépendances apt-get install libxml2-dev vlc apt-get install libosip2-dev libexosip2-dev wget http://launchpadlibrarian.net/10219718/libosip2-2_3.0.3-2-1_i386.deb dpkg -i libosip2-2_3.0.3-2-1_i386.deb Page 12 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Si les dépendances avec libc6 ne sont pas correctes: apt-get -f install wget http://launchpadlibrarian.net/10258022/libexosip2-4_3.0.3-3-1_i386.deb dpkg -i libexosip2-4_3.0.3-3-1_i386.deb sudo apt-get install libstdc++6:i386 sudo apt-get install libxml2:i386 Installation de l’IPTV wget https://sourceforge.net/projects/uctimsclient.berlios/files/uctiptvandvanced1.0.0.deb dpkg -i uctiptv_advanced1.0.0.deb Si l’installation s’est bien déroulée sans erreur, on a terminé avec succès l’installation et on peut passer à l’étape de la configuration. Configuration d’uctiptv_advanced1.0.0 Nous allons créer un répertoire pour metrre les vidéos qu’on va diffuser. mkdir /home/santatra/videos cd /home/santatra/videos Copier les vidéos de test à partir à partir d’une clé USB Ce n’est pas la bonne méthode si on est en environnement de production, mais seulement pour notre test ce sera plus simple. Montage de la clé USB mkdir /media/usb mount /dev/sdb1 /media/usb cp /media/usb/vid1.mp4 /home/santatra/videos cp /media/usb/vid2.mp4 /home/santatra/videos Créer le fichier de configuration pour le serveur VLC Ce fichier, nous allons le donner comme nom config_vlc nano /home/santatra/config_vlc Page 13 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Ajoutez les lignes suivantes new vid1 vod enabled setup vid1 input "file:///home/santatra/videos/vid1.mp4" new vid2 vod enabled setup vid2 input "file:///home/santatra/videos/vid2.mp4" Création du script de démarrage du server VLC nano /home/santatra/vlc.sh Ajoutez la ligne suivante #!/bin/bash NB il est mettre le code/home/santatra/config_vlc script sur la même ligne.--telnet-password passer -vlc:--ttl 12recommandé –vvv --color -Ide telnet --vlm-conf rtsphost les sources de médias pour les relier à uctiptv_advanced1.0.0 Configurer 0.0.0.0 --rtsp-port 5554 Allez dans le fichier key_value_media qui contient les clefs de médias. nano /usr/share/uctiptv_advanced/key_value_file Ajoutez les lignes suivantes : <?xml version="1.0" encoding="UTF-8"?> <key-value_pairs> <key-value_pair> <key>channel1</key> <value>rtsp://iptv.open-ims.test:5554/vid1</value> </key-value_pair> <key-value_pair> <key>channel2</key> <value>rtsp://iptv.open-ims.test:5554/vid2</value> </key-value_pair> </key-value_pairs> Configurer un enregistrement DNS type A IN pour le serveur uctiptv_advanced Dans le server OpenIMs , allez-y dans le fichier indiquer et ajoutez l’adresse du serveur IPTV nano /etc/bind/open-ims.dnszone Page 14 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Couplage du serveur Openims et le serveur IPTV Créer un serveur d’application uctiptv_advanced Une fois dans l’interface d’OpenIMS, suivez les configurations ci-dessous. Page 15 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Création du Serveur d’aplplication iptv_as Remplir le formulaire puis save Page 16 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Création du Trigger iptv_tp Page 17 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Après le save, ajoutez l’INVITE en procédant comme suit Remplir le champ INVITE puis sur la liste déroulante de « Request-URI » sélectionner SIPHeader puis cliquez sur le « + » et remplir les champs comme suit Créer les règles de filtrages des messages IFC Page 18 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Création d’un profile iptv_sp Page 19 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Après save , vous obtenez ceci Maintenant il faut attacher l’IFC Vous devez avoir la fenêtre suivante Page 20 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Si vous avez bien exécuté les instructions de configuration jusqu’ici alors la configuration d’uctiptv_advanced est terminée avec succès. Il ne reste plus qu’à démarrer le serveur VLC et le serveur uctiptv_advanced. Démarrer le Serveur VLC cd /home/santatra/ chmod +x vlc.sh ./vlc.sh Vous pouvez rencontrer des erreurs liées au lancement de l’interface graphique de VLC dans la console. Ce n’est pas grave, le serveur continue de tourner malgré les erreurs notifiées et on n’a besoin qu’uniquement du serveur. Démarrer le serveur uctiptv_advanced cd /usr/share/uctiptv_advanced uctiptv_as key_value_file Page 21 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE S’il n’y a pas eu d’erreurs dans les installations et les configurations, le serveur uctiptv_advanced est démarré avec succès et on va pouvoir passer au test. Page 22 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE TEST Test entre deux utilisateurs d’OpenIMS Nous allons utiliser le client IMS Boghe pour enregistrer nos utilisateurs. Nous allons configurer pour l’utilisateur Smail. Vous pouvez répéter la même procédure pour l’utilisateur abdou. Dans le menu Tools > option>Identity, puis remplissez le comme sur les captures suivants Page 23 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Ensuite cliquez sur « Network » et remplir les champs Page 24 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Maintenant cliquez sur l’onglet « Authentification » et cliquez « Sign in » Page 25 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Si les configurations de votre client IMS « boghe » est correcte, vous obtiendrez une fenêtre équivalente à ce qui est sur la capture suivante : Page 26 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Pour pouvoir appeler, il faut créer des contacts. Dans l’onglet AddressBook > Add Contact, ajouter votre contact. Dans cet exemple je vais créer un contact abdou qui est notre second compte utilisateur IMS. Page 27 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Vous obtenez…….. Enregistrer l’utilisateur « abdou » sur un autre client « boghe » et vous pouvez passer des appels entre les utilisateurs. Comme ci-dessous on a un appel vidéo entre nos utilisteurs OpenIMS. Pour cela, on fait un « click droit » sur le contact « abdou » et on choisit l’option qu’on veut. Dans notre exemple, on fait un appel vidéo Page 28 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Maintenant qu’OpenIMSCore marche comme on le souhaite, on peut alors passer au test pour UCTIPV. Le lecteur VLC est un lecteur qui est capable de lire des flux multimédia dans un réseau. Nous allons donc nous en servir pour lire les vidéos que nous diffusons avec uctiptv_advanced. Nous avons juste besoin de renseigner à VLC l’url qui permet d’accéder aux vidéos et VLC se charge de les lire. Le processus est illustré par les figures suivantes. Avant tout, il faut configurer la machine Windows pour que le serveur OpenIMS assure la résolution DNS. Pour cela allez dans le centre de réseau et de partage Page 29 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE Ensuite « Clique droit » sur le Wifi et « Propriétés » Ouvrir le lecteur VLC sous windows dans Média > Ouvrir un flux réseaux . Sur l’onglet réseau, ajouter le lien du flux vidéo dans le serveur uctiptv_advanced rtsp://iptv.open-ims.test:5554/vid1 Page 30 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE En cliquant sur “lire, le lecteur VLC va vous lire les flux vidéo diffusé à partir du serveur uctiptv_advanced et OpenIMSCore et vous obtenez comme sur la capture suivante. Remarquer au-dessus de la barre de menu du lecteur VLC, on peut apercevoir que le lecteur est en train de lire les vidéo à partir de l’url pour accéder aux médias dans le serveur IPTV. Page 31 Mise en place d’un service de télé présence avec OPEN-IMS : IPTV-OPENIMSCORE FIN Page 32