11.01.2015 Views

ToIP ( Telephony over IP ) - UV UTBM J. Millet

ToIP ( Telephony over IP ) - UV UTBM J. Millet

ToIP ( Telephony over IP ) - UV UTBM J. Millet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>To<strong>IP</strong></strong><br />

( <strong>Telephony</strong> <strong>over</strong> <strong>IP</strong> )<br />

On sait que pour faire un réseau téléphonique on a besoin des fonctions<br />

- de transmission<br />

- de commutation<br />

- de signalisation ( gestion des communications : établissement, rupture, services associés )<br />

Transmission et commutation sont celles du réseau <strong>IP</strong>. Il reste à définir le contrôle de la communication:<br />

La signalisation est l’élément important, c’est ce qui donne une installation de téléphonie sur <strong>IP</strong> <strong>To<strong>IP</strong></strong>.<br />

Elle est mise en œuvre au moins par 2 éléments :<br />

Passerelle<br />

ou<br />

Gateway<br />

Gatekeeper<br />

ou<br />

Serveur de<br />

traitement d'appel<br />

( Call Processing Server )<br />

On y trouve:<br />

- des interfaces avec le réseau <strong>IP</strong> ( support des protocoles de routage )<br />

- des interfaces avec les réseaux téléphoniques<br />

( RNIS BRI et PRI, LR analogiques, signalisation SS7 …)<br />

- des moyens de conversion du trafic voix isochrone en paquets :<br />

* G.711 : non compressé - utilisation de 64 kbit/s<br />

* G.723 : compression à 5,3 et 6,3 kbit/s<br />

* G.729 : compression à 8 et 13 kbps<br />

* G.728 : compression à 16 kbps<br />

...<br />

- des éléments de détection et génération des signaux multi-fréquences<br />

- des moyens de suppression d’écho : ITU G.165<br />

C’est un serveur centralisé qui assure:<br />

- Conversion d’adressage : E.164 @<strong>IP</strong> (plan d’adressage privé)<br />

- Gestion des profils utilisateurs<br />

- Gestion des appels:<br />

autorisation, connexion, maintien, transfert, déconnexion, retour,...<br />

identification de l’appelant ...<br />

- Gestion des configurations, du plan de numérotation ( portabilité du n°<br />

interne, LDAP… )<br />

- Fonctionnement d’éléments de sécurisation (tolérance de panne … )<br />

- Génération des informations d’administration<br />

Ces fonctions sont organisées de manières différentes selon les protocoles de signalisation utilisée:<br />

- H.323 : le principal standard<br />

vidéo, voix, données, signalisation, 30 secondes pour établir un appel ... Complexe<br />

- H.323 v2 : actuellement prédominant<br />

moins de paquets, démarrage plus rapide, mais :<br />

ajout de H.450 ( Téléservices ) H.235 (Sécurité et chiffrement)<br />

- MGCP ( Media Control Gateway Protocol ) :<br />

RFC 2705, support de la voix<br />

- S<strong>IP</strong> ( Session Initiation Protocol ) :<br />

RFC 2543, support de la voix;<br />

- H.248 / Megaco :<br />

RFC 2885, nouveau, peu testé, mais compétitif<br />

- XMPP ( Extensible Messaging and Presence Protocol ):<br />

Google Talk<br />

- Protocoles propriétaires:<br />

Skype<br />

==> Problèmes d’interopérabilité<br />

On va s’intéresser aux 2 principaux protocoles : H323 et S<strong>IP</strong>.<br />

<br />

1<br />

<strong>To<strong>IP</strong></strong>


I) H323<br />

Origine de H323<br />

H323 est un standard défini par l’UIT qui spécifie les composants, protocoles et procédures pour des<br />

communications multimédia ( audio, vidéo et échange de données en temps réel ) sur des réseaux à commutation<br />

de paquets. Il est soutenu par Microsoft.<br />

En fait H323 regroupe différents protocoles qui doivent agir ensemble. On a tendance à appeler H323<br />

des communications où seule une partie de H323 intervient ( Netmeeting en liaison directe ).<br />

Composants de H323<br />

Terminal H323 : PC ou système intégrant la pile protocolaire H323.<br />

Gateway : Relie 2 réseaux différents, l’un H323, l’autre non ( exemple : réseau <strong>IP</strong> et RTC ).<br />

=> Traduction des protocoles d’établissement et rupture d’appel, conversions de formats…<br />

Gatekeeper ( Portier ) : Elément le plus important de H323 :<br />

Il assure traduction d’adresse, gestion des profils utilisateurs, gestion des appels ( autorisation,<br />

connexion,…), gestion du plan de numérotation ( annuaire LDAP )<br />

Traduction d’adresse:<br />

Utilisation d’alias en H323 ou d’un numéro de téléphone E.164 du RTC ou RNIS : Le gatekeeper<br />

doit traduire l’alias ou le numéro de téléphone E.164 en adresse réseau du terminal destination<br />

( ex: adr <strong>IP</strong> et numéro de port TCP ) .<br />

MCU (Multipoint Control Unit ) : Tous les terminaux d’une conférence se connectent au MCU.<br />

Il comprend le MC ( Multipoint Controller ) et des MP ( Multipoint<br />

Processor ). Le MC négocie les codecs à utiliser, le MP mixe les flux<br />

Un MC peut être dans un terminal, Gatekeeper ou Gateway.<br />

Remarque: Souvent, une machine regroupe ces différentes fonctions.<br />

<br />

2<br />

<strong>To<strong>IP</strong></strong>


Fonctionnement de H323<br />

H323 repose sur un ensemble de protocoles :<br />

- H.225 : Canal de signalisation pour envoyer des demandes de mise en relation<br />

• H.225-RAS (Registration Admission Status) pour la signalisation d’enregistrement avec<br />

le GK ( Téléphone connecté et peut être joint ), d'admission ( demande d'appel ) et d'état.<br />

• H.225-Q.931 ( ou H225-CS Call Signaling )pour la signalisation d’appel: Idem RNIS<br />

- H.245: Canal de contrôle d’appel pour envoyer des messages de négociation<br />

sur la façon de communiquer et de coder les informations à échanger.<br />

- RTP ( audio, vidéo ) et T120 ( Tableau blanc ): Canaux de transport des données pour l’audio,<br />

la vidéo et le partage d’application.<br />

RTP = numéro de port UDP pair, RTCP associé = numéro du port UDP de RTP + 1<br />

RTCP contient des informations sur les échanges ( temps de transfert, gigue, perte paquets ).<br />

- RTCP (Real Time Transport Control Protocol): canaux de contrôle du transport des données<br />

audio et vidéo gérant des messages pour s’assurer que les données audio et vidéo sont bien<br />

échangées ( contrôler l’arrivée des paquets car RTP fonctionne sur UDP ).<br />

Pile protocolaire H323:<br />

Les principaux messages RAS ( enregistrement, authentification, état )<br />

messages de requête (xRQ = xReQuest) envoyé au GK qui accepte (xCF = xConFirm) ou rejette (xRJ=xReJect)<br />

Requête du client<br />

( xRQ )<br />

Réponse: Accord<br />

du GK ( xCF )<br />

Réponse: Refus<br />

du GK ( xRJ )<br />

découverte de GK: G GRQ GCF GRJ<br />

enregistrement sur le GK: E ERQ ECF ERJ<br />

autorisation d'appel: A ARQ ACF ARJ<br />

modification de bande passante: B BRQ BCF BRJ<br />

Fin de communication: D DRQ DCF DRJ<br />

résiliation d'enregistrement: U URQ UCF URJ<br />

Les messages Q931: Voir RNIS ( Setup, Call Proceeding, Alerting, Connect, ... )<br />

<br />

3<br />

<strong>To<strong>IP</strong></strong>


Les principaux messages H245: Gestion des canaux logiques pour communication multimédia<br />

Au message de commande peut répondre un message Ack, Reject, Confirm (Release aussi en cas<br />

particulier de time out ).<br />

Master-Slave Determination Détermination du rôle de maître et esclave.<br />

Terminal Capability Set Echanges sur les capacités multimédia des terminaux<br />

=> Choix des codecs utilisés<br />

Open Logical Channel<br />

Ouvre un canal logique pour transport multimédia: RTP + RTCP<br />

Close Logical Channel<br />

Fermeture de canal logique multimédia<br />

End Session Command Fin de session H245 ( plus de messages H245 )<br />

...<br />

Le protocole RTP<br />

Une session RTP est un échange point à point pour un seul flux de données. Un ensemble de sessions ( différents<br />

flux et liaisons ) formera la communication multimédia.<br />

RTP fonctionne avec ses contrôles: RTCP: Une session est définie par un couple de port: RTP ( pair ) et RTCP<br />

( impair = celui de RTP + 1 ). RTP/RTCP est au dessus de UDP ( en général ). Les paquets RTP/RTCP ne sont<br />

pas interprétés par le réseau. Il fonctionne en unicast ou multicast.<br />

RTP permet de déterminer la base de temps des différents flux ( estampilles )<br />

de détecter les pertes ou inversion de paquets ( numéros de paquets )<br />

d'identifier le contenu ( payload type:<br />

0 = voix MIC G711 µ à 64 kbit/s<br />

3 = voix GSM à 4,8 kbit/s<br />

33 = vidéo MPEG2 )<br />

Le flux d'un média est fait de paquets ( UDP/entête RTP/charge RTP=codec ). Les entêtes RTP des paquets sont:<br />

V ( 2 bits ): version du protocole RTP<br />

P ( 1 bit ): Padding ( 1 => octets de remplissage à la fin de la charge, le dernier<br />

octet de la charge indique le nombre de ces octets )<br />

X ( 1 bit ): Extension ( 1=> l'entête est étendue )<br />

CC: CSRC Count ( 4 bits ): Nombre de sources ( 0: la source est aussi la soucre de<br />

synchro ).<br />

M: Marker ( 1 bit ): Signification lié au type de média<br />

PT: Payload Type ( 7 bits ): Type de flux média (RFC 1890 )<br />

Sequence number ( 16 bits ): N° du paquet RTP<br />

Timestamp ( 32 bits ): Référence liée à l'instant de codage du premier octet de la<br />

charge ( RTCP fera le lien entre cette valeur locale et le temps absolu ).<br />

SSRC: Synchronization Source: Identifie la source de synchro.<br />

CSRC: Content Source ( 32 bits ): Identifie la ou les source(s) voir CC.<br />

Le protocole RTCP ( RFC 3550 )<br />

Un appareil en session RTP envoie périodiquement des paquets RTCP ( infos sur la QoS, sur la source et<br />

statistiques de transmission ). Il y a différents types de paquets RTCP:<br />

Sender Report ( SR ), Receiver Report ( RR ), Source Description ( SDES ), Goodbye (Bye ).<br />

Un paquet UDP peut concaténer plusieurs paquets RTCP. Un participant à la session RTP qui a émis un paquet<br />

RTP devra envoyer un paquet Sender Report ( SR ), un récepteur un paquet RR:<br />

Paquet RTCP SR ( émission ): Il contient<br />

- le SSRC du flux RTP émis<br />

- L'heure ( NTP TimeStamp: RFC 1305 )<br />

quand le rapport a été émis.<br />

- Le TimeStamp RTP correspondant à<br />

l'heure<br />

- Le nombre de paquets envoyés<br />

- Le nombre d'octets envoyés<br />

- Un rapport RR pour chaque source reçue<br />

Paquet RTCP RR ( réception ): Il contient Paquet RTCP SDES<br />

( Description de la source )<br />

- le SSRC du flux RTP<br />

- information obligatoire:<br />

- la proportion de paquets perdus CNAME ( Canonical Name =<br />

( = nb de paquets perdus / nb paquets chaine ascii user@host )<br />

envoyés donné par SR )<br />

- le dernier numéro de séquence - informations optionnelles<br />

- la gigue ( variation de la latence )<br />

- le dernier SR reçu<br />

- délai passé depuis le dernier SR reçu<br />

Paquet RTCP BYE:<br />

Une source inactive envoie un paquet<br />

RTCP BYE avec la raison de la fin de<br />

session.<br />

<br />

4<br />

<strong>To<strong>IP</strong></strong>


APPEL SANS GK:<br />

De terminal à terminal ( 4 phases )<br />

<br />

5<br />

<strong>To<strong>IP</strong></strong>


APPEL AVEC GK<br />

On ajoute une première phase RAS ( enregistrement, authentification, état )<br />

- Registration RRQ: * Le terminal donne au GK sur le port 1719 son Alias et son n° E164, son <strong>IP</strong> et port H225-Q931 ( 1720 par défaut ), son <strong>IP</strong> et port H225-RAS ( dynamique, utilisé pour ce message ).<br />

Le GK enregistre le terminal ( adr <strong>IP</strong>, Alias, n° E164, prêt à communiquer ).<br />

RCF: * Le GK indique - le port d'appel H225-Q931 du GK à utiliser par le terminal pour envoyer au GK les messages H225-Q931 ( normalement 1720, 1721 pour GnuGK par défaut ).<br />

- une durée de vie de l'enregistrement<br />

- une référence du terminal dans le GK, ...<br />

- Authentification ARQ: * Envoi sur le port 1719 avec type d'appel ( pt à pt ou multipoint ), identifiant de l'appelant, n°E164 ou Alias de l'appelé, n°E164 ou Alias de l'appelant,<br />

une référence d'appel, la bande passante souhaitée<br />

ACF: * Envoi de la bande passante allouée, le mode d'appel via GK ( direct ou routé ), l'adresse <strong>IP</strong> et le port H225-Q931 du GK ( 1720 par défaut en H323, 1721 par défaut sur GnuGK )<br />

- Status<br />

Au lieu de numéroter avec l'adresse <strong>IP</strong> ( appel sans GK ), l'appelant doit mettre le numéro E164 ou l'alias H323 appelé dans son logiciel ( l'adresse <strong>IP</strong> du GK a été définie ou découverte par<br />

recherche multicast ). Le GK va traduire le numéro demandé en <strong>IP</strong> et port destination.<br />

Si on met l'adresse <strong>IP</strong> pour un appel avec GK, le logiciel risque de créer des incohérences, à fortiori si on mélange E164 et <strong>IP</strong> => échec d'appel.<br />

Exemple: GnuGK est un GK qui utilise le port 1721 par défaut. Le terminal Ekiga réalise bien les étapes RRQ et ARQ.<br />

Mais quand il envoie le SETUP H225-Q931 sur le port 1721 négocié en RAS, il met un port destination dans le message = 1720 !! ( tout en utilisant 1721 donné en RAS )<br />

n°E164 dans le terminal => Cohérence des ports. n°E164@adr <strong>IP</strong> => Incohérence des ports d'où échec ( Ekiga met port dest = 1720 dans le message SETUP car il voit une <strong>IP</strong><br />

dans le numéro d'appel alors qu'il utilise 1721 que RAS lui a dit d'utiliser ).<br />

Il existe 3 modes selon le niveau d'implication du GK:<br />

<br />

6<br />

<strong>To<strong>IP</strong></strong>


APPEL AVEC GK : Mode direct ( 5 phases )<br />

<br />

7<br />

<strong>To<strong>IP</strong></strong>


8<br />

<strong>To<strong>IP</strong></strong>


Avantages, inconvénients des modes avec GK:<br />

Mode direct:<br />

+ Peu de trafic sur le GK,<br />

- Difficultés avec la NAT ou les firewall ( ports dynamiques, plage à autoriser ).<br />

Mode routé: + Le GK garde la supervision ( modification des paramètres d'un flux, facturation ).<br />

- Machine fortement sollicitée.<br />

Mode Proxy: + Le GK garde la supervision ( modification des paramètres d'un flux, facturation ).<br />

+ Gestion de la NAT.<br />

+ Gestion plus facile de firewall.<br />

- Machine très fortement sollicitée.<br />

- Mode non défini dans la norme, tout GK ne fait pas proxy.<br />

I) Démarrage plus rapide ( Fast Start ):<br />

Améliorations et nouvelles fonctionnalités<br />

On utilise souvent les 3 fonctionnalités suivantes en parallèle:<br />

– H.245 Tunneling:<br />

H.225-Q.931 et H.245 utilisent un seul canal ( messages H.245 via la même connexion TCP initiée sur<br />

le port de H225-Q931: 1720 souvent ) => 1 port TCP en moins.<br />

– H245 précoce ( Early H.245 )<br />

Ouverture du canal de contrôle H.245 dès que possible et parallèlement à la signalisation d’appel Q931.<br />

( l’adresse H.245 est fournie par l’appelant dans le message SETUP et/ou par l’appelé dans le message<br />

CallProceeding et/ou Alerting )<br />

* la négociation des paramètres anticipée<br />

* ouverture des canaux RTP avant le message Connect<br />

=> Etablissement d'appel plus rapide.<br />

– Démarrage rapide ( FastConnect )<br />

Les informations du canal de contrôle H245 sont incluses dans l’invitation d’appel H225-Q931 SETUP.<br />

=> ouverture du canal H.245 simplifiée ou même rendue optionnelle.<br />

L’appel est plus rapidement établi ( quelques sec. contre 15-30 sec. en H.323 v.1 )<br />

II) Services supplémentaires<br />

H450: Série de recommandations proposant d'autres services ( H450.2: Transfert d'appel, H450.4: Mise en<br />

garde,... )<br />

<br />

9<br />

<strong>To<strong>IP</strong></strong>


Appel d’un poste H323 vers un téléphone classique : GK et passerelle Gateway<br />

Etape préliminaire : Etablissement d’une liaison physique. ( acquérir les paramètres réseaux puis connexion )<br />

Etape 1 : Localisation du Gatekeeper ( enregistre les terminaux, les autorise ou non à utiliser les ressources, les facture )<br />

- Un gatekeeper écoute l’adresse multicast 220.0.1.41 sur le port UDP 1718.<br />

Le terminal envoie un message UDP H225 « GRQ = gatekeeper request » vers cette adresse et ce port.<br />

( contient l’adresse et port RAS utilisés, le type de terminal ).<br />

- Le gatekeeper répond par « GCF = Gatekeeper confirm » vers le port RAS défini ( contient le nom du gatekeeper, l’adresse et port RAS utilisés ).<br />

- Le terminal s’enregistre auprès du gatekeeper sur le port UDP 1719 par le message « RRQ Registration request ».<br />

Il contient les mêmes informations que GRQ.<br />

- Le gatekeeper répond par « RCF Registration confirm » vers le port RAS spécifié par le terminal. Il contient une adresse et port H225 pour<br />

les messages de contrôle d’appel à envoyer au gatekeeper, un alias ( N° E164, chaîne de caractères ) permettant de connaître ce terminal hors<br />

du réseau, un identificateur unique que le terminal devra rappeler lors des messages suivants.<br />

Etape 2 : Trouver le destinataire<br />

- Le terminal envoie « LRQ Location request » sur le port UDP 1719 du gatekeeper indiquant l’alias de l’appelé et l’adresse où il souhaite la réponse.<br />

- Le gatekeeper répond sur le port indiqué en donnant l’adresse <strong>IP</strong> et le port où contacter le correspondant ( passerelle de sortie ) pour envoyer les<br />

messages de signalisation d’appel Q931. Il donne aussi le couple <strong>IP</strong>/Port pour les messages RAS.<br />

Etape 3 : Demande d’admission<br />

- Le terminal envoie un message RAS « ARQ Admission request » à son gatekeeper comprenant numéro de demande, type d’appel,<br />

modèle d’appel, identificateur de l’appelant, adresse de l’appelé ( E164 ou ID H323), l’adresse de l’appelant, la bande passante<br />

- Le gatekeeper répond par « ACF Admission confirm » où il alloue une bande passante, indique l’adresse « signal d’appel » à utiliser pour<br />

la signalisation Q931,.…<br />

Etape 4 : Message de connexion<br />

- L’appelant envoie un message « Initialisation » vers adresse et port 1720 du correspondant que le gatekeeper a indiqué précédemment<br />

( ici passerelle <strong>IP</strong> vers réseau téléphonique ). Le message contient :<br />

Capacité de transport, numéro E164 de l’appelant, de l’appelé, adresse de transport H245, identité H323,…<br />

- La passerelle demande l’autorisation au gatekeeper avant de traiter l’appel ( messages ARQ/ACF ).<br />

- La passerelle traite l’appel.<br />

- La passerelle envoie à l’appelant le message « Sonnerie et traitement d’appel en cours » sur le port 1720 régulièrement jusqu’à ce que l’appelé<br />

décroche.<br />

- Au décrochage de l’appelé, la passerelle envoie à l’appelant le message « Connexion » comme l’indique la norme Q931. Il donne son adresse et<br />

port H245 où devra s’établir le canal de contrôle d’appel.<br />

Etape 5 : Début de communication et conversation<br />

On reprend les étapes décrites pour l’échange entre 2 postes H323 sasn GK.<br />

<br />

10<br />

<strong>To<strong>IP</strong></strong>


II) S<strong>IP</strong> ( Session Initiation Protocol )<br />

Origine de S<strong>IP</strong> ( Henning Schulzrinne à www.cs.columbia.edu )<br />

S<strong>IP</strong> est un protocole simple de l’IETF ( RFC2543 ), utilisant des requêtes et des réponses textes. Un<br />

usager dans un réseau S<strong>IP</strong> est identifié par une adresse e-mail sip: userID@gateway.com. Son identité peut aussi<br />

être un numéro de téléphone ( adresse E164 ).<br />

Composants de S<strong>IP</strong><br />

Clients S<strong>IP</strong> :<br />

- Téléphones ( PC = Softphones ou téléphones S<strong>IP</strong> )<br />

- Gateway : Contrôle d’appel, changement de format de transmission<br />

Gestion de l’établissement et rupture d’appel côté <strong>IP</strong> et réseau à commutation de circuit.<br />

Serveurs S<strong>IP</strong> :<br />

- Serveur Proxy : Elément intermédiaire qui reçoit et redirige les requêtes S<strong>IP</strong>. Il est capable<br />

d’authentification, d’autorisation, de routage, de retransmission de requête.<br />

- Serveur de redirection ( RS = Redirect Server ) : Fournit au client le ou les sauts qu’un message<br />

doit suivre, le client contactera le serveur du saut suivant.<br />

- Serveur d’enregistrement ( Registrar Server ) : Enregistre la localisation d’un client.<br />

Les usagers s’enregistrent avec un serveur d’enregistrement. Ce serveur fournira la localisation de<br />

l’usager quand on lui demandera cet usager.<br />

Quand un usager lance un appel, une requête S<strong>IP</strong> est envoyée au serveur S<strong>IP</strong> ( soit proxy, soit serveur<br />

de redirection ). Elle inclut l’adresse de l’appelant ( champ From de l’entête ) et l’adresse de l’appelé ( Champ<br />

To de l’entête ).<br />

Différents messages de requête échangés :<br />

INVITE<br />

ACK<br />

BYE<br />

CANCEL<br />

OPTIONS<br />

REGISTER<br />

Requête<br />

Description<br />

Pour initier une session = établissement d’appel<br />

Conclut la fin d’une procédure.<br />

Pour terminer une session<br />

Pour annuler des recherches et sonnerie<br />

Pour indiquer les caractéristiques supportées par le terminal<br />

Enregistre un usager dans un service de localisation<br />

Contenu du message INVITE :<br />

Ce message est envoyé par le client appelant pour lancer un appel.<br />

Paramètre<br />

Description<br />

Identifiant d’appel ( Call-ID )<br />

CSeq<br />

From<br />

To<br />

Via<br />

Différents messages de réponse échangés :<br />

Identifie la session<br />

Nombre qui est incrémenté pour se repérer dans une séquence de requêtes pour un appel<br />

donné.<br />

URL ( User registration Location ) indiquant l’appelant.<br />

URL ( User registration Location ) indiquant l’appelé.<br />

Indique le chemin pris par la requête jusqu’ici.<br />

Il est utiliser pour prévenir les boucles.<br />

Il permet à la réponse de suivre la même route.<br />

Réponse<br />

1xx<br />

2xx<br />

3xx<br />

4xx<br />

5xx<br />

6xx<br />

Messages informatifs<br />

Réponse en cas de succès<br />

Réponse de redirection<br />

Messages d’échec de requête<br />

Messages d’échecs de serveur<br />

Messages d’échecs généraux<br />

Description<br />

<br />

11<br />

<strong>To<strong>IP</strong></strong>


Fonctionnement de S<strong>IP</strong><br />

* Recherche d’un usager :<br />

L’intérêt de S<strong>IP</strong> est l’utilisation du DNS du fait du format e-mail d’une adresse.<br />

Dans le cas d’une redirection, on arrive aux échanges suivants :<br />

<br />

12<br />

<strong>To<strong>IP</strong></strong>


* Exemple d’établissement d’appel mêlant RNIS et S<strong>IP</strong> utilisant un serveur de redirection<br />

Détail du déroulement d’appel<br />

1 Etablissement d’appel RNIS entre PABX et Gateway1 selon le numéro appelé.<br />

Le PABX est programmé pour utiliser ce faisceau pour le numéro appelé.<br />

2 Le Gateway 1 appelle le serveur RS. Dans l’invitation à participer<br />

- on trouve l’adresse de l’appelé :<br />

“sip:0381994700@host.com; user=phone.”<br />

User=phone indique que c’est un numéro de téléphone, pas une adresse <strong>IP</strong>.<br />

- Le PABX A est défini comme initiateur de la session dans le champ From.<br />

- Un numéro est affecté à la session, il est placé dans le champ Call-ID.<br />

- Le port de la Gateway1 pour recevoir les données RTP est spécifié.<br />

3 Le serveur de redirection répond. Il indique avoir accepté l’invitation, contacté un serveur<br />

de location couvrant host.com qui lui a indiqué où trouver l’appelé. Il renvoie au<br />

Gateway1 les différentes adresses possibles de l’appelé ( Multiple Choice ).<br />

4 Acquittement par le Gateway1 qui conclut cette phase.<br />

5 Gateway1 appelle Gateway2 qui correspond à la première possibilité. Cseq est incrémenté<br />

6 Le Gateway2 reçoit le message INVITE et appelle le PABX de l’usager appelé.<br />

7 Pendant ce temps, le Gateway1 indique à l’usager appelant que la procédure suit son cours<br />

en acquittant la demande d’établissement d’appel..<br />

8 Le Gateway2 répond à l’INVITE envoyée par le Gateway1 en indiquant qu’il tente de<br />

contacter l’usager<br />

9 Le PABX B indique au Gateway2 qu’il recherche l’usager appelé.<br />

10 Le PABX B l’a trouvé et l’informe par sonnerie qu’on l’appelle. Il rapporte cela au<br />

Gateway 2.<br />

11 Le Gateway2 informe le Gateway1 que l’usager appelé est trouvé et informé.<br />

12 Le Gateway1 informe le PABX A que le terminal de l’usager appelé sonne.<br />

Le PABX A envoie la tonalité de sonnerie à l’appelant.<br />

Un lien unidirectionnel est établi entre PABX A et Gateway1, entre PABX B et Gateway2.<br />

Un lien bidirectionnel est établi entre Gateway1 et Gateway2 ( canal RTP ).<br />

13 L’appelé répond, le PABX B informe le Gateway 2, la connexion est faite dans les 2 sens.<br />

14 Le Gateway 2 indique au Gateway 1 qu’il communique avec l’appelé.<br />

15 Le Gateway informe le PABX A.<br />

16 Le PABX A acquitte cette information de connexion avec l’appelé.<br />

17 Le Gateway 1 informe le Gateway 2 que de son côté la liaison est prête aussi.<br />

18 Le Gateway 2 informe le PABX B que tout le monde est prêt.<br />

Un lien bidirectionnel est établi entre PABX A et Gateway1, entre PABX B et Gateway2.<br />

Un lien bidirectionnel est établi entre Gateway1 et Gateway2 ( canal RTP ).<br />

19 L’usager B raccroche, le PABX B envoie le message RNIS Disconnect au Gateway.<br />

<br />

13<br />

<strong>To<strong>IP</strong></strong>


III) Comparaison S<strong>IP</strong>/H323<br />

H323 est une suite de protocoles clairement définis par l’UIT. Cette norme a été beaucoup utilisée<br />

( Microsoft avec netmeeting ) et a donc l’avantage d’être répandue. Elle a été améliorée avec la version 2 puis 3.<br />

Toutefois H323 est un ensemble d’éléments compliqués et lourd à mettre en œuvre ( on doit définir les<br />

interactions entre protocoles ). Le fonctionnement demande l’utilisation de serveurs spécifiques.<br />

La complexité de H323 et ce principe de serveurs spécifiques entraînent un temps d’établissement<br />

d’appel trop long.<br />

Le protocole S<strong>IP</strong> a été développé pour éliminer ces problèmes tout en remplissant les mêmes fonctions<br />

de signalisation. Il est simple à développer car basé sur des échanges de texte pour la signalisation. Ainsi on<br />

peut développer des applications CTI extrêmement simplement.<br />

S<strong>IP</strong> utilise le système de DNS.<br />

Cette signalisation tire partie du développement d’internet car elle utilise le système de DNS comme<br />

système d’annuaire intermédiaire ( il faut tout de même un serveur local de localisation ).<br />

S<strong>IP</strong> utilise plutôt UDP alors que H323 utilise TCP. Comme TCP est un mode connecté, les gateways<br />

H323 doivent connaître en permanence l’état de la connexion. Cela devient problématique si le nombre<br />

augmente ( la version 3 de H323 autorise l’utilisation de UDP pour diminuer le temps d’établissement de<br />

connexion ).<br />

S<strong>IP</strong><br />

H323<br />

Norme IETF UIT<br />

Mode connecté ( TCP ) ou non UDP et TCP TCP<br />

( UDP option version 3 )<br />

Intelligence dans le réseau<br />

Serveurs ( Proxy, Gatekeepers<br />

redirect, registrar )<br />

Modèle<br />

Web www Téléphonie: QSIG<br />

Client / Serveur<br />

Protocole temps réel RTP RTP<br />

Base du code Texte ASCII Binaire<br />

Protocoles associés <strong>IP</strong>, SDP, HTTP,… Protocoles RNIS<br />

<br />

14<br />

<strong>To<strong>IP</strong></strong>


15<br />

<strong>To<strong>IP</strong></strong>


Performances d'un ordinateur hébergeant un serveur ASTERISK *<br />

selon le protocole de signalisation utilisé ( codec loi en µ )<br />

selon le codec utilisé<br />

<br />

16<br />

<strong>To<strong>IP</strong></strong>


Evolution du coeur de réseau<br />

( NGN Next Generation Network )<br />

Le réseau doit gérer des flux multimédia: Voix, données, images.<br />

Il est fait de couches successives ajoutées:<br />

- Réseau téléphonique à commutation de circuit ( RTC, RNIS ) pour la voix.<br />

- puis DSLAM pour la data.<br />

- puis appareils pour la Triple play.<br />

On cherche maintenant à regrouper la gestion de ces flux: NGN, Next Generation Network ou Réseau<br />

Convergent Multiservices.<br />

( NGN est un terme générique qui peut être réalisé par plusieurs technologies ).<br />

Ce réseau repose sur 2 éléments:<br />

- Softswitch: Il n'est plus associé à un point physique du réseau et ne gère plus les liens<br />

physiques = Serveur informatique qui fait le traitement des appels vocaux:<br />

Il identifie la demande d'appel que le réseau lui achemine et gère l'intelligence du<br />

service de commutation ( analyse des paquets de signalisation, acheminement selon<br />

table d'appels, plan de numérotation ). Il indique la route à suivre.<br />

Les paquets voix ne transitent pas par lui mais par la route qu'il indique.<br />

=> Découplage matériels de signalisation/trafic voix => Moins de sites, de liens par rapport au TDM.<br />

- Media Gateway: Assure la gestion de la couche physique ( disponibilité, gestion de fautes ).<br />

Couche physique = réseau de transmission ( coeur de réseau )<br />

et réseau d'accès ( liaison avec abonnés ).<br />

Il met en paquets le trafic voix.<br />

Le softswitch gère les Media Gateways par protocole S<strong>IP</strong>, SIGTRAN, MEGACO ou MGCP.<br />

Il devra utiliser la signalisation SS7 pour dialoguer avec le RTC,<br />

S<strong>IP</strong> ou autre pour dialoguer avec un serveur dans le doamine paquet.<br />

Pour le partie réseau d'accès, on utilise un appareil qui intégre tous les types de liaisons ( RTC, RNIS, DSL,<br />

FTTx, X25, ... ): Solution de raccordement tout en un = MSAN ( Multi Service Access Node ).<br />

<br />

17<br />

<strong>To<strong>IP</strong></strong>


Un réseau NGN est organisé selon une architecture en couches:<br />

Couche d'accès: fonctions et équipements pour gérer les équipements de l'usager<br />

( téléphone commuté, DSL, HFC = hybrid fibre coaxial, sans fil, ... )<br />

Couche de transport: Acheminement du trafic dans le coeur de réseau.<br />

Le Media Gateway = MGW fait la passerelle entre le protocole de<br />

transport et les types de réseaux physiques d'accès.<br />

Importance de la QoS.<br />

Couche de contrôle: Contrôle des services ( en particulier contrôle d'appel pour la voix ).<br />

Le Softswitch est le serveur d'appel qui réalise la commutation.<br />

Le protocle le plus utilisé est IMS ( <strong>IP</strong> Multimedia Subsystem ).<br />

Dans ce cas le softswitch est un CSCF ( Call Session Control<br />

Function ).<br />

Couche d'exécution des services: Serveurs d'applications et "enablers" ( gestion d'infos utilisées par les<br />

serveurs d'applications comme gestion de présence de l'usager ).<br />

Cette couche utilise souvent S<strong>IP</strong>.<br />

Couche d'applications: Applications.<br />

Ces couches sont indépendantes => Plus de flexibilité et ajout de nouveaux services sans tout changer.<br />

Cela facilite aussi l'interconnexion de réseaux ( NGN ou traditionnels ).<br />

<br />

18<br />

<strong>To<strong>IP</strong></strong>


IMS ( <strong>IP</strong> Multimedia Subsystem )<br />

La partie contrôle du réseau NGN est IMS ( <strong>IP</strong> Multimedia Subsystem: protocole du 3GPP venant d'UMTS ).<br />

« IMS, c'est un S<strong>IP</strong> intelligent:<br />

S<strong>IP</strong> était un protocole conçu, à l'origine, de façon verticale, où un client S<strong>IP</strong> sur le terminal discute<br />

directement avec un autre client ou par l'intermédiaire d'un proxy dans le réseau.<br />

L'IMS enrichit cette notion de proxy en y ajoutant des règles de routage intelligentes, afin de terminer<br />

l'appel au bon endroit, en fonction d'un certain nombre d'informations telles que la localisation,<br />

la présence, le type de terminal... »<br />

I) Eléments d'IMS<br />

Gestion de session et<br />

éléments de routage<br />

CSCF<br />

( Call Session<br />

Control Function )<br />

P-CSCF: Proxy CSCF<br />

Premier contact de l'usager avec un réseau IMS. Tout trafic S<strong>IP</strong> passe par lui.<br />

I-CSCF: Interrogating CSCF<br />

Doit faire le lien entre un usager et son serveur S<strong>IP</strong>.<br />

Va interroger pour cela une base de donnée = HSS.<br />

S-CSCF: Serving CSCF<br />

Gestion de l'enregistrement, du routage, des profils d'usager<br />

Bases de données<br />

HSS: Home Subscriber Server<br />

Base principale pour tous les usagers d'un réseau ( HLR/AUC du GSM plus<br />

infos liées au multimédia <strong>IP</strong> ).<br />

Un usager a une identité privée ( sur son réseau pour enregistrement, autorisation ) et<br />

une publique ( pour que d'autres usagers le contacte )<br />

SLF: Subscription Locator Function<br />

Mécanisme de résolution pour que I-CSCF, S-CSCF et serveurs trouvent la base HSS<br />

d'un usager dans le cas de multiples HSS pour un rseau.<br />

Services<br />

AS: Application server<br />

Héberge et exécute des services<br />

services S<strong>IP</strong> = S<strong>IP</strong> AS,<br />

services OSA = OSA-SCS ( Open Service Access - Service Capability Server )<br />

services liés au GSM ( CAMEL ) = IMS-SSF ( Service Switching Function )<br />

MRFC et MRFP: Media Ressource Function Controller et Processor<br />

Gestion media, ensemble de media utilisés par le réseau: Annonces, trancodage,...<br />

Interconnexion<br />

de réseaux<br />

( réseau <strong>IP</strong> de IMS et<br />

réseau téléphonique )<br />

BGCF: Breakout Gateway Control Function<br />

Serveur S<strong>IP</strong> incluant des fonctions de routage basée sur le numéro de téléphone<br />

( utilisé seulement pour un appel vers un réseau téléphonique RTC, RNIS ou PLMN )<br />

MGCF: Media Gateway Control Function<br />

Passerelle entre contrôles d'appel côté IMS ( S<strong>IP</strong> ) et côté réseau téléphonique ( SS7 ).<br />

IMS-MGW ( Media Gateway ) et SGW ( Signalling Gateway ):<br />

MGW: Passerelle entre média côté S<strong>IP</strong> ( RTP ) et côté réseau téléphonique ( MIC,...)<br />

SGW: Passerelle pour la signalisation ( bas niveau par rapport à BGCF )<br />

Fonctions d'assistance<br />

( support functions )<br />

PDF: Policy Decision Function<br />

Serveur de règles qui gère la qualité de service selon les capacités des terminaux et<br />

leur raccordement.<br />

Ces éléments sont fonctionnels ( logiques ).<br />

Au niveau physique une machine peut regrouper plusieurs de ces fonctions.<br />

<br />

19<br />

<strong>To<strong>IP</strong></strong>


Eléments<br />

de l'architecture IMS<br />

et<br />

Interfaces entre eux<br />

II) Principe d'IMS<br />

Réseaux actuels =<br />

en silos<br />

( infrastructures<br />

parallèles )<br />

Réseau IMS<br />

=<br />

Multimedia<br />

<br />

20<br />

<strong>To<strong>IP</strong></strong>


II) Fonctionnement<br />

1) Avoir une connectivité <strong>IP</strong> ( ex: En GPRS, Procédure d'attachement, activation du contexte PDP Packet Data Protocol )<br />

2) Découvrir un point d'entrée IMS: P-CSCF (‘‘P-CSCF disc<strong>over</strong>y’’).<br />

( Statique: <strong>IP</strong> fixée et programmée dans le terminal<br />

Dynamique: recherche par DHCP/DNS ou en GPRS: Requête demandant l'adresse lors de l'activation du contexte<br />

PDP, réponse lors de l'activation PDP par le réseau ).<br />

3) Enregistrement IMS<br />

phase 1: * Le terminal initie l'enregistrement par envoi au P-CSCF découvert de REGISTER<br />

avec - son identité à enregistrer ( publique et privée )<br />

- son domaine "home".<br />

* Le P-CSCF transmet au domaine = I-CSCF trouvé par requête DNS ( rfc3263 ).<br />

En ajoutant "path" avec son URI à l'entête S<strong>IP</strong>, le P-CSCF indique la route de retour.<br />

* Le I-CSCF interroge le HSS en donnant l'identifiant de l'usager<br />

( "To": identifiant public, "Authorization": identifiant privé )<br />

* Le HSS répond avec la définition du S-CSCF ou des éléments pour que l'I-CSCF en<br />

choisisse un.<br />

* Le I-CSCF prolonge la requête REGISTER au S-CSCF.<br />

* Le S-CSCF interroge le HSS qui lui donne les informations de sécurité à utiliser.<br />

( données de challenge et réponse attendue )<br />

Le HSS mémorise aussi l'identité du S-CSCF pour l'URI piblique de l'usager.<br />

* Le S-CSCF envoie le challenge dans un message:<br />

401 Unauthorized Response avec demande d'authentification ( challenge ).<br />

phase 2: * Le terminal calcule la réponse au challenge du message 401, puis l'envoie dans sa<br />

nouvelle requête REGISTER ( incluant un champ Response après "Authorization" )<br />

* Le S-CSCF vérifie. Si c'est bon, il crée un lien associant identité publique de<br />

l'usager, son champ "contact" et les entêtes "path" du message REGISTER.<br />

Le S-CSCF charge le profil de l'usager depuis le HSS ( liste des serveurs applicatifs<br />

de l'usager ) puis il accepte l'enregistrement: message 200 OK.<br />

Phase 1<br />

Phase 2<br />

<br />

21<br />

<strong>To<strong>IP</strong></strong>


4) Appel ( Session Initiation )<br />

L'appel est activé par message INVITE.<br />

L'appelé envoie 183 Session Progress = 1ère réponse SDP ( Session Description Protocol )<br />

Ensuite il y aura échange d'informations supplémentaires nécessaires à la communication<br />

( message PRACK = Provisional Response ACK, réponse 200 OK,<br />

message UPDATE, réponse 200 OK, réponse 180 Ringing, message PRACK, réponse OK )<br />

Enfin, lorsque l'appelé répond ( fin de l'établissement ), le terminal de l'appelé enverra 200<br />

OK, l'appelant lui répondra par ACK. Ils seront alors en communication.<br />

<br />

22<br />

<strong>To<strong>IP</strong></strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!