lundi 16 janvier 2012

TP : Installation d’un serveur VoD sur IMS





Objectif
§  Comprendre l’architecture IMS
§  Comprendre le service VoD via IMS
§  Comprendre Open IMS Core 
Durée estimée 
  • 3 heures

1      Introduction

L'IMS est l'architecture standarisée du NGN (Next Generation Network) pour fournir des services multimédia quel que soit le type de réseau d'accès. L'IMS est définie par 3GPP, 3GPP2, ETSI et PacketCable. l'IMS est basée sur un réseau cœur tout IP, elle utilise le protocole SIP (Session Initiation Protocol) pour la gestion des sessions de communication entre utilisateurs.
OpenIMSCore est une implémentation Open Source des entités  CSCF (Call State Control Function) et HSS (Home Subscriber Server)  qui forment la partie cœur du standard IMS.
Les étapes du TP sont :
Ø  Présentation de la plateforme de TP
Ø  Installation d’Open IMS Core ( http://www.openimscore.org/)
Ø  Installation du serveur Darwin Streaming Server
Ø  Installation du serveur uctiptv_advanced
Ø  Test

2      Présentation de la plateforme de TP


Comme illustré dans le schéma suivant, la plateforme de TP est composé de :

-          OpenIMSCore : une implémentation d'un cœur de réseau IMS
-          Le serveur streaming Darwin : le serveur de streaming
-          Uctiptv_advanced : le serveur d’application

3      Installation d’Open IMS Core

Le guide d’installation d’Open IMS Core se trouve à l’adresse suivante :
Dans ce TP, les différents serveurs du cœur de réseau IMS (hss, p-cscf, i-cscf, s-cscf) sont installés sur une même machine, sans configuration réseau spécifique (localhost).
Les étapes d’installation sont :

Étape 1: Pré-requis

·   Configuration matérielle et réseau :
-          Une machine Linux opérationnelle ou une VM Linux.
-          Environ 100 à 150 Mo d’espace libre;
-          De préférence 1Go de RAM;
-          Un serveur DNS configurable pré-installé
·  Outils et Libraries :
-          Pour la récupération des sources: SVN
-          Pour la compil: GCC3/4, make, ant
-          Analyseur lexical et syntaxique: flex, bison
-          JDK1.5 (default-jdk ou openjdk)
-          libmysql (++3 à l’heure actuelle), libmysql-dev (++dev), (libmysql-java), libxml2, libxml2-dev
-          curl, libcurl4-gnutls-dev
-          ipsec-tools (pour le chiffrement de clées)
-          MySQL-server, bind9
Note: Voici les commandes d’installation, recherche, mise à jour des paquets sous Ubuntu :
·  Installation: apt-get install nom_du_package
·  Recherche : apt-cache search mot_cle
·  Mise à jour : apt-get -u upgrade
 

Étape 2: Récupération du code source d’OpenIMSCore (via SVN)

·         Créer le dossier /opt/OpenIMSCore/ et s’y rendre :
# mkdir /opt/OpenIMSCore  
# cd /opt/OpenIMSCore
·         Créer le dossier ser_ims et y placer les serveurs CSCF :
# mkdir ser_ims
# svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ser_ims/trunk ser_ims
·         Créer le dossier FHoSS et y placer le serveur HSS :


Étape 3: Compilation d’openIMSCore

·        Compilation des serveurs p-cscf, i-cscf, s-cscf (ser_ims) :
# cd ser_ims
# make install-libs all
Note: Si une erreur survient lors de la compilation, c’est probablement qu’une librairie est manquante.
·        Compilation du serveur FHoSS :
Ø  Un JDK >=1.5 doit être installé sur la machine. Pour s’en assurer :
# java -version
Ø  Compilation et déploiement :
# cd ../FHoSS
# ant compile
# ant deploy

Étape 4: Configuration de l’environnement: DNS et MySQL

·        Configuration de MySQL :
Ø  Placez-vous dans le dossier d’openIMS et effectuer les 3 dumps suivants :
# cd /opt/OpenIMSCore/
# mysql -u root -p -h localhost < ser_ims/cfg/icscf.sql
# mysql -u root -p -h localhost < FHoSS/scripts/hss_db.sql
# mysql -u root -p -h localhost < FHoSS/scripts/userdata.sql
·        Configuration du DNS
Ø  Un exemple de fichier de zone DNS est présent dans le répertoire d’installation d’openIMS. Copier-le dans le répertoire de configuration de votre DNS :
#cp ser_ims/cfg/open-ims.dnszone /etc/bind/
Ø  Editer le named.conf.local (toujours dans /etc/bind/) :
zone « open-ims.test » {
type master;
file « /etc/bind/open-ims.dnszone »;
};
Ø  Editer le fichier /etc/resolv.conf, ajouter les lignes suivantes :
search open-ims.test
domain open-ims.test
nameserver 127.0.0.1
Ø  Redémarrer le serveur DNS :
# /etc/init.d/bind9 restart

Étape 5: Fichiers de configuration et de lancement des serveurs d’openIMS

·        Copier les fichiers de configuration .cfg et .xml, ainsi que les scripts de lancement .sh des serveurs x-cscf dans le répertoire d’openIMS:
# cd /opt/OpenIMSCore/

# cp ser_ims/cfg/*.cfg /opt/OpenIMSCore/

# cp ser_ims/cfg/*.xml /opt/OpenIMSCore/

# cp ser_ims/cfg/*.sh /opt/OpenIMSCore/

Étape 6: Lancement d’openIMS

·        Serveurs x-cscf:
Ø  Lancer les fichiers pcscf.shicscf.sh et scscf.sh
·        Serveur FHoSS :
Ø  Lancer le serveur via FHoSS/deploy/startup.sh

Étape 7: Test

·        Pour tester la plate forme IMS installée, nous avons besoin d’un client IMS, vous pouvez télécharger et installer le client UCT IMS qui est disponible à l'adresse : http://uctimsclient.berlios.de/

4      Installation du serveur Darwin Streaming Server

Le serveur streaming Darwin est le serveur de streaming open source officiel d'Apple Quicktime. Ce serveur peut faire du streaming pour des fichiers QuickTime et MPEG-4 sur internet en utilisant les protocoles standard RTP et RTSP.

Étape 1: Pré-requis

·  Libraries :
-          libc6-dev linux-libc-dev

Étape 2: Installation

·         Téléchargez DarwinStreamingSrvr5.5.5-Linux.tar.gz via l'adresse:
·         Installer Darwin Streaming Server
# tar zxvf DarwinStreamingSrvr5.5.5-Linux.tar.gz
# cd DarwinStreamingSrvr5.5.5-Linux
# ./Install
·         Créer un groupe et un utilisateur pour Darwin
sudo addgroup --system qtss

sudo adduser --system --no-create-home --ingroup qtss qtss


Étape 3: Configuration

·         Copier un fichier video que tu souhaite visualiser dans le dossier /usr/local/movies/

Étape 4: Lancement

·         Démarrer le serveur Darwin Streaming Server
root@ubuntu-vm:~# cd /usr/local/sbin/
root@ubuntu-vm:~# ./streamingadminserver.pl

5      Installation du serveur uctiptv_advanced

Le serveur d’application uctiptv_advanced permet d'établir un mappage entre l’adresse SIP et l’adresse RTSP d'un vidéo.

 

Étape 1: Pré-requis

·  Libraries :
-          libexosip2-dev

 

Étape 2: Installation

·         Téléchargez et installer le paquet uctiptv_advanced1.0.0.deb, via l'adresse:
# dpkg -i uctiptv_advanced1.0.0.deb

 

Étape 3: Configuration du FHoSS

·        Se connecter à l’interface d’administration du FHoSS : http://localhost:8080
Login : hssAdmin
Mot de passe : hss
·        Ajouter une règle de filtrage pour les messages IPTV  comme indiqué sur la capture ci-dessous :


·        Créer un serveur d’application IPTV


·        Associer la règle de filtrage au serveur d’application à l’aide d’une IFC :

·         Attacher l’IFC au serveur d’application (pour cela revenir dans la configuration du serveur d’application IPTV) :

 

Étape 4: Configuration des sources de médias

·         Modifier le fichier key_value_file  pour établir une correspondance entre les noms des médias et leur localisation (adresse rtsp vers le serveur de médias)
     channel1
     rtsp://media.open-ims.test:7070/test.mp4

 

Étape 5: Lancement d’uctiptv_advanced

·         Démarrer le serveur uctiptv_advanced
# uctiptv_as    key_value_file

6      Test



7       Références


5 commentaires:

Unknown a dit…

Merci pour l'article, Génial.

Dans le cadre de mon mémoire de fin de formation, je suis amené à utiliser le logiciel Open IMS Core pour simuler un coeur de réseau IMS.
Je rencontre, depuis un bout de temps, des problèmes dans l'installation de UCT IMS Client.
En cherchant je suis tombé sur votre forum par hasard et je me demande si vous pourriez me donner un coup de pouce.

Merci beaucoup pour votre aide

Cordialement, Steaven

ali a dit…

Bonsoir,

Dans le cadre de mon projet de memoire, j'ai cherché un tuto, comme le votre pour pouvoir installer les services sur imscore.

j'ai utilisé votre tuto, malheureusement je n'ai pas puis faire jusqu'à present, et j'arrive meme pas à excuser la commande: svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ser_ims/trunk ser_ims.j'utilise ubuntu 16.04

j'aimerai que vous m'aidez sur ça.

Cordialement, Rachide


Unknown a dit…

bonsoir,

je suis sur un projet de mettre en place la platforme IMS, le coeur du reseau foctionne mais
mon probleme est que les utiliateurs bob et alice ainsi que tous les autres utilisateurs que g creer sont notRegistred

merci de m'aider le plus vite possible

cordialement

idriss

Unknown a dit…

j'ai essayé d'installer mais un erreur survenue ' ERROR: load_module: could not open module '

Unknown a dit…

Merci pour votre Article
SVP je veux savoir emplacement Fichier "key_value_file "