Objectif
|
§ Comprendre l’architecture IMS
§ Comprendre le service VoD via IMS
§ Comprendre Open IMS Core
|
Durée estimée
|
|
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 :
·
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 :
Ø 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.sh, icscf.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
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