ToIP ( Telephony over IP ) - UV TL53 UTBM
Transcription
ToIP ( Telephony over IP ) - UV TL53 UTBM
ToIP ( Telephony over IP ) On sait que pour faire un réseau téléphonique on a besoin des fonctions - de transmission - de commutation - de signalisation ( gestion des communications : établissement, rupture, services associés ) Transmission et commutation sont celles du réseau IP. Il reste à définir le contrôle de la communication: La signalisation est l’élément important, c’est ce qui donne une installation de téléphonie sur IP ToIP. Elle est mise en œuvre au moins par 2 éléments : Passerelle ou Gateway On y trouve: - des interfaces avec le réseau IP ( support des protocoles de routage ) - des interfaces avec les réseaux téléphoniques ( RNIS BRI et PRI, LR analogiques, signalisation SS7 …) - des moyens de conversion du trafic voix isochrone en paquets : * G.711 : non compressé - utilisation de 64 kbit/s * G.723 : compression à 5,3 et 6,3 kbit/s * G.729 : compression à 8 et 13 kbps * G.728 : compression à 16 kbps ... - des éléments de détection et génération des signaux multi-fréquences - des moyens de suppression d’écho : ITU G.165 Gatekeeper ou Serveur de traitement d'appel ( Call Processing Server ) C’est un serveur centralisé qui assure: - Conversion d’adressage : E.164 <------> @IP (plan d’adressage privé) - Gestion des profils utilisateurs - Gestion des appels: autorisation, connexion, maintien, transfert, déconnexion, retour,... identification de l’appelant ... - Gestion des configurations, du plan de numérotation ( portabilité du n° interne, LDAP… ) - Fonctionnement d’éléments de sécurisation (tolérance de panne … ) - Génération des informations d’administration Ces fonctions sont organisées de manières différentes selon les protocoles de signalisation utilisée: - H.323 : vidéo, voix, données, signalisation, 30 secondes pour établir un appel ... Complexe - H.323 v2 : moins de paquets, démarrage plus rapide, mais : ajout de H.450 ( Téléservices ) H.235 (Sécurité et chiffrement) - MGCP ( Media Control Gateway Protocol ) : RFC 2705, support de la voix - SIP ( Session Initiation Protocol ) : RFC 2543, support de la voix; - H.248 / Megaco : RFC 2885, nouveau, peu testé, mais compétitif - XMPP ( Extensible Messaging and Presence Protocol ): Google Talk - Protocoles propriétaires: Skype ==> Problèmes d’interopérabilité I) H323 Origine de H323 H323 est un standard défini par l’UIT qui spécifie les composants, protocoles et procédures pour des communications multimédia ( audio, vidéo et échange de données en temps réel ) sur des réseaux à commutation de paquets. Il était soutenu par Microsoft ( Netmeeting ). En fait H323 regroupe différents protocoles qui doivent agir ensemble. J. Millet 1 ToIP Composants de H323 Terminal H323 : PC ou système intégrant la pile protocolaire H323. Gateway : Relie 2 réseaux différents, l’un H323, l’autre non ( exemple : réseau IP et RTC ). => Traduction des protocoles d’établissement et rupture d’appel, conversions de formats… Gatekeeper ( Portier ) : Elément le plus important de H323 : Il assure traduction d’adresse, gestion des profils utilisateurs, gestion des appels ( autorisation, connexion,…), gestion du plan de numérotation ( annuaire LDAP ) Traduction d’adresse: Utilisation d’alias en H323 ou d’un numéro de téléphone E.164 du RTC ou RNIS : Le gatekeeper doit traduire l’alias ou le numéro de téléphone E.164 en adresse réseau du terminal destination ( ex: adr IP et numéro de port TCP ) . MCU (Multipoint Control Unit ) : Tous les terminaux d’une conférence se connectent au MCU. Il comprend le MC ( Multipoint Controller ) et des MP ( Multipoint Processor ). Le MC négocie les codecs à utiliser, le MP mixe les flux Un MC peut être dans un terminal, Gatekeeper ou Gateway. Remarque: Souvent, une machine regroupe ces différentes fonctions. Fonctionnement de H323 H323 repose sur un ensemble de protocoles : - H.225 : Canal de signalisation pour envoyer des demandes de mise en relation • H.225-RAS (Registration Admission Status) pour la signalisation d’enregistrement avec le GK ( Téléphone connecté et peut être joint ), d'admission ( demande d'appel ) et d'état. • H.225-Q.931 ( ou H225-CS Call Signaling )pour la signalisation d’appel: Idem RNIS - H.245: Canal de contrôle d’appel pour envoyer des messages de négociation sur la façon de communiquer et de coder les informations à échanger. - RTP ( audio, vidéo ) et T120 ( Tableau blanc ): Canaux de transport des données pour l’audio, la vidéo et le partage d’application. RTP = numéro de port UDP pair, RTCP associé = numéro du port UDP de RTP + 1 RTCP contient des informations sur les échanges ( temps de transfert, gigue, perte paquets ). - RTCP (Real Time Transport Control Protocol): canaux de contrôle du transport des données audio et vidéo gérant des messages pour s’assurer que les données audio et vidéo sont bien échangées ( contrôler l’arrivée des paquets car RTP fonctionne sur UDP ). J. Millet 2 ToIP Pile protocolaire H323: Les principaux messages RAS ( enregistrement, authentification, état ) messages de requête (xRQ = xReQuest) envoyé au GK qui accepte (xCF = xConFirm) ou rejette (xRJ=xReJect) découverte de GK: G enregistrement sur le GK: E autorisation d'appel: A modification de bande passante: B Fin de communication: D résiliation d'enregistrement: U Requête du client ( xRQ ) Réponse: Accord du GK ( xCF ) Réponse: Refus du GK ( xRJ ) GRQ = code fait de 0 et 1 dans champ de trame RRQ ARQ BRQ DRQ URQ GCF GRJ RCF ACF BCF DCF UCF RRJ ARJ BRJ DRJ URJ Les messages Q931: Voir RNIS ( Setup, Call Proceeding, Alerting, Connect, ... ) Les principaux messages H245: Gestion des canaux logiques pour communication multimédia Au message de commande peut répondre un message Ack, Reject, Confirm (Release aussi en cas particulier de time out ). Master-Slave Determination Détermination du rôle de maître et esclave. Terminal Capability Set Echanges sur les capacités multimédia des terminaux => Choix des codecs utilisés Open Logical Channel Ouvre un canal logique pour transport multimédia: RTP + RTCP Close Logical Channel Fermeture de canal logique multimédia APPEL SANS GK: End Session Command Fin de session H245 ( plus de messages H245 ) De terminal à terminal ( 4 phases ) ... Modes de fonctionnement avec GK J. Millet Mode direct: + Peu de trafic sur le GK, - Difficultés avec la NAT ou les firewall ( ports dynamiques, plage à autoriser ). Mode routé: + Le GK garde la supervision ( modification des paramètres d'un flux, facturation ). - Machine fortement sollicitée. Mode Proxy: + Le GK garde la supervision ( modification des paramètres d'un flux, facturation ). + Gestion de la NAT. + Gestion plus facile de firewall. - Machine très fortement sollicitée. - Mode non défini dans la norme, tout GK ne fait pas proxy. 3 ToIP APPEL AVEC GK On ajoute une première phase RAS ( enregistrement, authentification, état ) - Registration RRQ: * Le terminal donne au GK sur le port 1719 son Alias et son n° E164, son IP et port H225-Q931 ( 1720 par défaut ), son IP et port H225-RAS ( dynamique, utilisé pour ce message ). Le GK enregistre le terminal ( adr IP, Alias, n° E164, prêt à communiquer ). 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 ). - une durée de vie de l'enregistrement - une référence du terminal dans le GK, ... - 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, une référence d'appel, la bande passante souhaitée ACF: * Envoi de la bande passante allouée, le mode d'appel via GK ( direct ou routé ), l'adresse IP et le port H225-Q931 du GK ( 1720 par défaut en H323, 1721 par défaut sur GnuGK ) - Status Au lieu de numéroter avec l'adresse IP ( appel sans GK ), l'appelant doit mettre le numéro E164 ou l'alias H323 appelé dans son logiciel ( l'adresse IP du GK a été définie ou découverte par recherche multicast ). Le GK va traduire le numéro demandé en IP et port destination. Si on met l'adresse IP pour un appel avec GK, le logiciel risque de créer des incohérences, à fortiori si on mélange E164 et IP => échec d'appel. Exemple: GnuGK est un GK qui utilise le port 1721 par défaut. Le terminal Ekiga réalise bien les étapes RRQ et ARQ. 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 ) n°E164 dans le terminal => Cohérence des ports. n°E164@adr IP => Incohérence des ports d'où échec ( Ekiga met port dest = 1720 dans le message SETUP car il voit une IP dans le numéro d'appel alors qu'il utilise 1721 que RAS lui a dit d'utiliser ). Il existe 3 modes selon le niveau d'implication du GK: J. Millet 4 ToIP II) SIP ( Session Initiation Protocol ) Origine de SIP ( Henning Schulzrinne à www.cs.columbia.edu ) SIP est un protocole simple de l’IETF ( RFC2543 ), utilisant des requêtes et des réponses textes. Un usager dans un réseau SIP est identifié par une adresse e-mail sip: [email protected]. Son identité peut aussi être un numéro de téléphone ( adresse E164 ). Composants de SIP Clients SIP : - Téléphones ( PC = Softphones ou téléphones SIP ) - Gateway : Contrôle d’appel, changement de format de transmission Gestion de l’établissement et rupture d’appel côté IP et réseau à commutation de circuit. Serveurs SIP : - Serveur Proxy : Elément intermédiaire qui reçoit et redirige les requêtes SIP. Il est capable d’authentification, d’autorisation, de routage, de retransmission de requête. - Serveur de redirection ( RS = Redirect Server ) : Fournit au client le ou les sauts qu’un message doit suivre, le client contactera le serveur du saut suivant. - Serveur d’enregistrement ( Registrar Server ) : Enregistre la localisation d’un client. Les usagers s’enregistrent avec un serveur d’enregistrement. Ce serveur fournira la localisation de l’usager quand on lui demandera cet usager. Quand un usager lance un appel, une requête SIP est envoyée au serveur SIP ( soit proxy, soit serveur de redirection ). Elle inclut l’adresse de l’appelant ( champ From de l’entête ) et l’adresse de l’appelé ( Champ To de l’entête ). Différents messages de requête échangés : Requête INVITE = codes ASCII "INVITE" dans message sur port SIP 5060 ACK BYE CANCEL OPTIONS REGISTER Description Pour initier une session = établissement d’appel Conclut la fin d’une procédure. Pour terminer une session Pour annuler des recherches et sonnerie Pour indiquer les caractéristiques supportées par le terminal Enregistre un usager dans un service de localisation Différents messages de réponse échangés : Réponse 1xx 2xx 3xx 4xx 5xx 6xx J. Millet Description Messages informatifs ( 100 - Trying, 180 - Ringing, … ) Réponse en cas de succès ( 200 - OK, … ) Réponse de redirection Messages d’échec de requête Messages d’échecs de serveur Messages d’échecs généraux 5 ToIP Fonctionnement de SIP * Appel d'un usager par son adresse ( pas de numéro de téléphone E164 ) : L’intérêt de SIP est l’utilisation du DNS du fait du format e-mail d’une adresse. L'appelant [email protected] appelle dans son logiciel SIP l'adresse [email protected] ( pas de numéro de téléphone appelé donc pas de passage par un serveur SIP côté appelant ) NB: Pour alléger le schéma, il n'y a pas: - les requêtes au serveur DNS - certains messages informatifs (100-Trying après INVITE, 180-Ringing après réception du INVITE) * Appel avec utilisation de redirection J. Millet 6 ToIP Contenu du message d'établissement d'appel INVITE Ce message est envoyé par le client appelant pour lancer un appel. ( La trame qui illustre les messages est un appel du téléphone Xlite 100 d'@IP 192.168.1.24 vers le 101 en utilisant un serveur en 192.168.1.23 ) Request Line: Identifie la méthode = Contenu du message SIP INVITE sip:[email protected] SIP/2.0 Méthode INVITE, request-URI User Part: 101, request-URI Host Part: 192.168.1.23 version SIP: SIP/2.0 Message Header: Via: SIP/2.0/UDP 192.168.1.24:11792;branch=z9hG4bK-d87543-796fa72b2541a62b-1--d87543-;rport VIA sert à enregistrer la route suivie par le message. Chaque proxy SIP y ajoute son adresse. La réponse à la requête utilisera ces informations. Il est aussi utilisé pour éviter les boucles. Dans notre exemple on a l'adresse IP du PC appelant. Max-Forwards: 70 Valeur décrémentée à chaque serveur traitant la demande ( comme un TTL ) Valeur initiale à 70. To: "101"<sip:[email protected]> Identité de l'appelé ( URL = User Registration Location = user@domain ) From: "100"<sip:[email protected]>;tag=b705a06f Identité de l'appelant Call-ID: MjIwNjQyYTkzYjljODM4NTY4NjcwZTM1Nzk4OTcyZTE. Identifiant d'appel CSeq: 2 INVITE Numéro de séquence et méthode de la demande. Il permet d'identifier les transactions. On peut aussi avoir d'autres entêtes ( Header ): Allow, User-agent, Authorization, … ( voir RFC 3261 ) Message Header: Il contient la description de l'appel pour la partie multimédia ( RTP, codec ): SDP Source: https://supportforums.cisco.com/document/113271/understanding-sip-traces RFC 3261 http://abcdrfc.free.fr/rfc-vf/pdf/rfc3261.pdf Description de session SDP ( Session Description Protocol ): RFC 4796 On retrouve le protocole SDP dans les messages SIP comme RTSP ( Real Time Streaming Protocol ). Dans le message SDP on trouve les informations: Paramètres SDP v=0 o=- 1 2 IN IP4 192.168.1.24 Nom et Fonction v Version: Version de SDP o Origin: ( Nom du créateur, xlite met "-", Identifiant de session Version de session Type de réseau du créateur: IN Ip Network Type d'adresse réseau IP4 Adresse réseau du créateur du flux ) s=CounterPath X-Lite 3.0 c=IN IP4 192.168.1.24 t=00 m=audio 22784 RTP/AVP 0 98 8 3 101 ( 98 = Dynamic RTP Type 98 = codec iLBC de Xlite ) a=alt:1 1 : VvFAFtE+ Nfg5ys w+ 192.168.1.24 22784 a=fmtp:101 0-15 a=rtpmap:98 iLBC/8000 a=rtpmap:101 telephone-event/8000 a=sendrecv ( xlite ne définit pas d'attribut pour les codecs G711 et GSM ) s Session Name: Type d'échange multimédia c Connexion avec @IP pour flux RTP t Time m Media avec port RTP à utiliser et codec ( PT payload Type de RTP ) a Attribute Media rtpmap: type de codec ( valeur PT payload type ) Remarque: 101signifie rtp-nte payload ( pour les codes DTMF ) ptime: durée d'un paquet RTP fmtp: manière d'échanger les tonalités DTMF ( Valeur pour un appel avec Xlite vers Trixbox pour l'écho *43; codec G711 µ utilisé pour la communication ) J. Millet 7 ToIP Le protocole RTP Une session RTP est un échange point à point pour un seul flux de données. Un ensemble de sessions ( différents flux et liaisons ) formera la communication multimédia. RTP fonctionne avec ses contrôles: RTCP: Une session est définie par un couple de port: RTP ( pair ) et RTCP ( impair = celui de RTP + 1 ). RTP/RTCP est au dessus de UDP ( en général ). Les paquets RTP/RTCP ne sont pas interprétés par le réseau. Il fonctionne en unicast ou multicast. RTP permet - de déterminer la base de temps des différents flux ( estampilles ) - de détecter les pertes ou inversion de paquets ( numéros de paquets ) - d'identifier le contenu: PT payload type: 0 = voix G711 loi µ à 64 kbit/s 8 kHz, trame de 20 ms 3 = voix GSM à 13 kbit/s 8 = voix G711 loi A à 64 kbit/s 8 kHz, trame de 20 ms 18 = G729 Fe=8kHz, trame de 20 ms Voir http://en.wikipedia.org/wiki/RTP_audio_video_profile ) Le flux d'un média est fait de paquets ( UDP/entête RTP/charge RTP=codec ). Les entêtes RTP des paquets sont: V ( 2 bits ): version du protocole RTP P ( 1 bit ): Padding ( 1 => octets de remplissage à la fin de la charge, le dernier octet de la charge indique le nombre de ces octets ) X ( 1 bit ): Extension ( 1=> l'entête est étendue ) CC: CSRC Count ( 4 bits ): Nombre de sources ( 0: la source est aussi la soucre de synchro ). M: Marker ( 1 bit ): Signification lié au type de média PT: Payload Type ( 7 bits ): Type de flux média (RFC 1890 ) Sequence number ( 16 bits ): N° du paquet RTP Timestamp ( 32 bits ): Référence liée à l'instant de codage du premier octet de la charge ( RTCP fera le lien entre cette valeur locale et le temps absolu ). SSRC: Synchronization Source: Identifie la source de synchro. CSRC: Content Source ( 32 bits ): Identifie la ou les source(s) voir CC. Le protocole RTCP ( RFC 3550 ) Un appareil en session RTP envoie périodiquement des paquets RTCP ( infos sur la QoS, sur la source et statistiques de transmission ). Il y a différents types de paquets RTCP: Sender Report ( SR ), Receiver Report ( RR ), Source Description ( SDES ), Goodbye (Bye ). Un paquet UDP peut concaténer plusieurs paquets RTCP. Un participant à la session RTP qui a émis un paquet RTP devra envoyer un paquet Sender Report ( SR ), un récepteur un paquet RR: Paquet RTCP SR ( émission ): Il contient - le SSRC du flux RTP émis - L'heure ( NTP TimeStamp: RFC 1305 ) quand le rapport a été émis. - Le TimeStamp RTP correspondant à l'heure - Le nombre de paquets envoyés - Le nombre d'octets envoyés - Un rapport RR pour chaque source reçue J. Millet Paquet RTCP RR ( réception ): Il contient Paquet RTCP SDES ( Description de la source ) - le SSRC du flux RTP - information obligatoire: - la proportion de paquets perdus CNAME ( Canonical Name = ( = nb de paquets perdus / nb paquets chaine ascii user@host ) envoyés donné par SR ) - le dernier numéro de séquence - informations optionnelles - la gigue ( variation de la latence ) - le dernier SR reçu - délai passé depuis le dernier SR reçu 8 Paquet RTCP BYE: Une source inactive envoie un paquet RTCP BYE avec la raison de la fin de session. ToIP Exemple d’établissement d’appel mêlant RNIS et SIP utilisant un serveur de redirection Source: http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/sip/proxies/1-0/administration/guide/ver1_0/appbcf.pdf J. Millet 9 ToIP Performances d'un ordinateur hébergeant un serveur ASTERISK * selon le protocole de signalisation utilisé ( codec loi en µ ) selon le codec utilisé J. Millet 10 ToIP Evolution du coeur de réseau ( NGN Next Generation Network ) Le réseau doit gérer des flux multimédia: Voix, données, images. Il est fait de couches successives ajoutées: - Réseau téléphonique à commutation de circuit ( RTC, RNIS ) pour la voix. - puis DSLAM pour la data. - puis appareils pour la Triple play. On cherche maintenant à regrouper la gestion de ces flux: NGN, Next Generation Network ou Réseau Convergent Multiservices. ( NGN est un terme générique qui peut être réalisé par plusieurs technologies ). Ce réseau repose sur 2 éléments: - Softswitch: Il n'est plus associé à un point physique du réseau et ne gère plus les liens physiques = Serveur informatique qui fait le traitement des appels vocaux: Il identifie la demande d'appel que le réseau lui achemine et gère l'intelligence du service de commutation ( analyse des paquets de signalisation, acheminement selon table d'appels, plan de numérotation ). Il indique la route à suivre. Les paquets voix ne transitent pas par lui mais par la route qu'il indique. => Découplage matériels de signalisation/trafic voix => Moins de sites, de liens par rapport au TDM. - Media Gateway: Assure la gestion de la couche physique ( disponibilité, gestion de fautes ). Couche physique = réseau de transmission ( coeur de réseau ) et réseau d'accès ( liaison avec abonnés ). Il met en paquets le trafic voix. Le softswitch gère les Media Gateways par protocole SIP, SIGTRAN, MEGACO ou MGCP. Il devra utiliser la signalisation SS7 pour dialoguer avec le RTC, SIP ou autre pour dialoguer avec un serveur dans le doamine paquet. Pour le partie réseau d'accès, on utilise un appareil qui intégre tous les types de liaisons ( RTC, RNIS, DSL, FTTx, X25, ... ): Solution de raccordement tout en un = MSAN ( Multi Service Access Node ). J. Millet 11 ToIP Un réseau NGN est organisé selon une architecture en couches: Couche d'accès: fonctions et équipements pour gérer les équipements de l'usager ( téléphone commuté, DSL, HFC = hybrid fibre coaxial, sans fil, ... ) Couche de transport: Acheminement du trafic dans le coeur de réseau. Le Media Gateway = MGW fait la passerelle entre le protocole de transport et les types de réseaux physiques d'accès. Importance de la QoS. Couche de contrôle: Contrôle des services ( en particulier contrôle d'appel pour la voix ). Le Softswitch est le serveur d'appel qui réalise la commutation. Le protocle le plus utilisé est IMS ( IP Multimedia Subsystem ). Dans ce cas le softswitch est un CSCF ( Call Session Control Function ). Couche d'exécution des services: Serveurs d'applications et "enablers" ( gestion d'infos utilisées par les serveurs d'applications comme gestion de présence de l'usager ). Cette couche utilise souvent SIP. Couche d'applications: Applications. Ces couches sont indépendantes => Plus de flexibilité et ajout de nouveaux services sans tout changer. Cela facilite aussi l'interconnexion de réseaux ( NGN ou traditionnels ). J. Millet 12 ToIP IMS ( IP Multimedia Subsystem ) La partie contrôle du réseau NGN est IMS ( IP Multimedia Subsystem: protocole du 3GPP venant d'UMTS ). « IMS, c'est un SIP intelligent: SIP était un protocole conçu, à l'origine, de façon verticale, où un client SIP sur le terminal discute directement avec un autre client ou par l'intermédiaire d'un proxy dans le réseau. L'IMS enrichit cette notion de proxy en y ajoutant des règles de routage intelligentes, afin de terminer l'appel au bon endroit, en fonction d'un certain nombre d'informations telles que la localisation, la présence, le type de terminal... » I) Eléments d'IMS Gestion de session et éléments de routage CSCF ( Call Session Control Function ) P-CSCF: Proxy CSCF Premier contact de l'usager avec un réseau IMS. Tout trafic SIP passe par lui. I-CSCF: Interrogating CSCF Doit faire le lien entre un usager et son serveur SIP. Va interroger pour cela une base de donnée = HSS. S-CSCF: Serving CSCF Gestion de l'enregistrement, du routage, des profils d'usager Bases de données HSS: Home Subscriber Server Base principale pour tous les usagers d'un réseau ( HLR/AUC du GSM plus infos liées au multimédia IP ). Un usager a une identité privée ( sur son réseau pour enregistrement, autorisation ) et une publique ( pour que d'autres usagers le contacte ) SLF: Subscription Locator Function Mécanisme de résolution pour que I-CSCF, S-CSCF et serveurs trouvent la base HSS d'un usager dans le cas de multiples HSS pour un rseau. Services AS: Application server Héberge et exécute des services services SIP = SIP AS, services OSA = OSA-SCS ( Open Service Access - Service Capability Server ) services liés au GSM ( CAMEL ) = IMS-SSF ( Service Switching Function ) MRFC et MRFP: Media Ressource Function Controller et Processor Gestion media, ensemble de media utilisés par le réseau: Annonces, trancodage,... Interconnexion de réseaux ( réseau IP de IMS et réseau téléphonique ) BGCF: Breakout Gateway Control Function Serveur SIP incluant des fonctions de routage basée sur le numéro de téléphone ( utilisé seulement pour un appel vers un réseau téléphonique RTC, RNIS ou PLMN ) MGCF: Media Gateway Control Function Passerelle entre contrôles d'appel côté IMS ( SIP ) et côté réseau téléphonique ( SS7 ). IMS-MGW ( Media Gateway ) et SGW ( Signalling Gateway ): MGW: Passerelle entre média côté SIP ( RTP ) et côté réseau téléphonique ( MIC,...) SGW: Passerelle pour la signalisation ( bas niveau par rapport à BGCF ) Fonctions d'assistance ( support functions ) PDF: Policy Decision Function Serveur de règles qui gère la qualité de service selon les capacités des terminaux et leur raccordement. Ces éléments sont fonctionnels ( logiques ). Au niveau physique une machine peut regrouper plusieurs de ces fonctions. J. Millet 13 ToIP Eléments de l'architecture IMS et Interfaces entre eux II) Principe d'IMS Réseaux actuels = en silos ( infrastructures parallèles ) Réseau IMS = Multimedia J. Millet 14 ToIP II) Fonctionnement 1) Avoir une connectivité IP ( ex: En GPRS, Procédure d'attachement, activation du contexte PDP Packet Data Protocol ) 2) Découvrir un point d'entrée IMS: P-CSCF (‘‘P-CSCF discovery’’). ( Statique: IP fixée et programmée dans le terminal Dynamique: recherche par DHCP/DNS ou en GPRS: Requête demandant l'adresse lors de l'activation du contexte PDP, réponse lors de l'activation PDP par le réseau ). 3) Enregistrement IMS phase 1: * Le terminal initie l'enregistrement par envoi au P-CSCF découvert de REGISTER avec - son identité à enregistrer ( publique et privée ) - son domaine "home". * Le P-CSCF transmet au domaine = I-CSCF trouvé par requête DNS ( rfc3263 ). En ajoutant "path" avec son URI à l'entête SIP, le P-CSCF indique la route de retour. * Le I-CSCF interroge le HSS en donnant l'identifiant de l'usager ( "To": identifiant public, "Authorization": identifiant privé ) * Le HSS répond avec la définition du S-CSCF ou des éléments pour que l'I-CSCF en choisisse un. * Le I-CSCF prolonge la requête REGISTER au S-CSCF. * Le S-CSCF interroge le HSS qui lui donne les informations de sécurité à utiliser. ( données de challenge et réponse attendue ) Le HSS mémorise aussi l'identité du S-CSCF pour l'URI piblique de l'usager. * Le S-CSCF envoie le challenge dans un message: 401 Unauthorized Response avec demande d'authentification ( challenge ). phase 2: * Le terminal calcule la réponse au challenge du message 401, puis l'envoie dans sa nouvelle requête REGISTER ( incluant un champ Response après "Authorization" ) * Le S-CSCF vérifie. Si c'est bon, il crée un lien associant identité publique de l'usager, son champ "contact" et les entêtes "path" du message REGISTER. Le S-CSCF charge le profil de l'usager depuis le HSS ( liste des serveurs applicatifs de l'usager ) puis il accepte l'enregistrement: message 200 OK. Phase 1 Phase 2 J. Millet 15 ToIP 4) Appel ( Session Initiation ) L'appel est activé par message INVITE. L'appelé envoie 183 Session Progress = 1ère réponse SDP ( Session Description Protocol ) Ensuite il y aura échange d'informations supplémentaires nécessaires à la communication ( message PRACK = Provisional Response ACK, réponse 200 OK, message UPDATE, réponse 200 OK, réponse 180 Ringing, message PRACK, réponse OK ) Enfin, lorsque l'appelé répond ( fin de l'établissement ), le terminal de l'appelé enverra 200 OK, l'appelant lui répondra par ACK. Ils seront alors en communication. J. Millet 16 ToIP