VOICE Over IP - High-Tech
Transcription
VOICE Over IP - High-Tech
VOICE Over IP 1 Avantages VoIP • Utilisation plus éfficace de la bande passante • Coût de transmission réduites • Retour sur Investissement (ROI) • Réseau unifié (voix + Data +video) • Amélioration de la productivité des employées par les nouvelles fonctionnalité VOIP: • IP phones sont orientés “business communication”. • Annuaire unifié (LDAP) + Database applications (XML) 2 Intégration voix et données • Messagerie unifié est un exemple de l’intégration de deux services séparés (voice-mail et e-mail) • Cette intégration peut être bidirectionnelle • Voice-mail et Fax peuvent être consulté à travers un client de messagerie • Un Fax peut être envoyé à travers un client de messagerie • E-mail peuvent être consulté à travers un IP phone • Un IP-Phone peut être paramétré à travers un client Web. • L’annuaire téléphonique peut être sauvegardé dans un annuaire LDAP • L’annuaire téléphonique peut être consulté à travers une interface Web (recherche…) 3 Téléphonie classique • • • • • • Circuit physique à 64 Kbps Commutation temporelle synchrone Analogique ou numérique Pas de standard numérique Service de base Autocom (PABX) 4 Composantes de la téléphonie classique Edge Devices Tie Trunks PBX San Jose CO CO Switch Switch CO Trunks Local Loops Tie Trunks PBX CO Trunks Local Loops Boston PSTN 5 Circuit-Switched Networks • • • Télephones analogiques sont connectés aux commutateurs. Les commutateurs procédent aux conversions entre signals analogiques et numériques. Une fois l’appel établi, le réseau RTC fournit: – Un circuit dédié – Une bande basante garantie (64kbps) – Délai de transmission réduit et fixe 6 Composantes d’un réseau VoIP Architecture VOIP • IP phones – Numérisation de la voix et l’adaptation vers IP • IP softphone – Idem que IP phones, solution software • Gatekeeper – – – – Joue le rôle d’un PABX Enregistrement des postes IP phones Traitement des appels … • Gateway – Interface entre les réseau IP et le réseau RTC/RNIS • MCU – Multipoint Control Units: Conférence multiple 8 VoIP Networks • Les téléphones analogiques sont connectés aux passerelles voix (Voice Gateway). • Les Gateway procédent aux conversions entre signals analogiques et numériques. • Une fois l’appel établi,, le réseau IP fournit: – – – – Transmission Packet-by-packet Un réseau partagé Une bande basante non garantie Délai de transmission élevé et variable 9 Téléphone Analogique et VoIP 10 Interfaces analogiques dans VoIP Analog Interface Type Label Description Foreign Exchange Station FXS Utilisé pour une connection FXO-FXS avec PABX ou PSTN Foreign Exchange Office FXO Earth and Magneto E&M Utilisé par connecter des postes analogiques ou dans une 11 connection FXS-FXO avec PABX Trunk, utilisé entre commutateurs Interfaces Numériques dans VoIP Interface Voice Channels (64 kbps Each) Signaling Framing Overhead Total Bandwidth BRI 2 1 channel (16 kbps) 48 kbps 192 kbps T1 CAS 24 (no clean 64 kbps because of robbed-bit signaling) in-band (robbed-bits in 8 kbps voice channels) 1544 kbps T1 CCS 23 1 channel (64 kbps) 8 kbps 1544 kbps E1 CAS 30 64 kbps 64 kbps 2048 kbps E1 CCS 30 1 channel (64 kbps) 64 kbps 2048 kbps 12 Conversion signal analogique vers signal numérique • • • • Step Step Step Step 1: 2: 3: 4: Echantillonnage. Quantification. Le codage Compression. Conversion signal numérique vers signal analogique • Step 1: Décompression. • Step 2: Décodage. • Step 3: Reconstruction du signal analogique. Echantillonnage • La fréquence d’échantillonnage affecte la qualité du signal. • Théorème de Nyquist : la fréquence d’échantillonnage doit être au minimum le double de la fréquence du signal. Fréquence d’échantillonnage • • • • La voix Humaine utilise les fréquences 200–9000 Hz. L’oreille Humaine détécte les fréquences 20–20000 Hz. Le systéme Téléphonique fonctionne entre 300–3400 Hz. Fréquence d’échantillonnage est de 8000 échantillons par seconde pour une fréquence analogique de 4000 Hz. Quantification • Quantifiation est la représentation des amplitudes par des valeurs (Etats). • Les amplitudes seront arrondis (bruit de quantification). Codage • Pulse Code Modulation (PCM) (ou MIC, Modulation par Impulsions et Codage) – Chaque échantillon est codé sur 8 bits. – Bande passante requise est 64 kbps (8000 échantillons X 8 bits) par seconde. • Adaptive Differential Pulse Code Modulation – variante PCM – Transmet uniquement la difference entre un échantillon et le suivant Caractéristiques Voice Codec ITU-T Standard Codec Bit Rate (kbps) G.711 PCM 64 G.726 ADPCM G.728 LDCELP (Low Delay CELP) 16 G.729 CS-ACELP 8 G.729A CS-ACELP, but with less computation 8 16, 24, 32 Media Resource Deployment Example San Jose Chicago Transcoding or conferencing IP WAN Conferencing G.729 IVR G.711 Router1 Phone1-1 2001 Phone1-2 2002 Router2 PSTN Phone2-1 3001 Phone2-2 3002 Facteurs influant la clarté audio – Fidelity: la précision ou la qualité audio – Echo: différence d'impédance – Jitter: Variation de l'arrivée des paquets de voix – Delay: Temps nécessaire pour que le signal se propage d'un bout à l'autre bout – Packet loss: La perte de paquets sur le réseau – Background noise: faible volume bruit entendu à l'autre bout de la conversation Gigue (Jitter) Steady Stream of Packets Time Same Packet Stream After Congestion or Improper Queuing Sources de délai Packet Flow 64 kb/s 64 kb/s Router Router E1 E1 Fixed Coder Delay Fixed: Packetization Delay Fixed: Serialization Delay Variable: Output Queuing Delay Fixed: Switch Delay Fixed: Switch Delay Fixed: Switch Delay Fixed Dejitter Buffer Packet Loss Lost Audio Packet 1 Lost Packet 2 Packet 3 MOS – MOS • • • • Mean opinion score Defined in ITU-T Recommendation P.800 Results in subjective measures Scores from 1 (worst) to 5 (best); 4.0 is toll quality Mean Opinion Score Objectifs de la QoS – bande passante dédiée – Améliorer les caractéristiques de perte – Eviter et gérer la congestion du réseau – Trafic réseau Shape – Définir des priorités de trafic sur le réseau L'application de QoS In the Output Queue In the WAN VoIP QoS In Conjunction with IP Protocoles de signalisation Protocol Description H.323 ITU standard protocol for interactive conferencing; evolved from H.320 ISDN standard; flexible, complex MGCP IETF standard for PSTN gateway control; thin device control SIP IETF protocol for interactive and noninteractive conferencing; simpler, but less mature, than H.323 SCCP or “Skinny” Cisco proprietary protocol used between Cisco Unified Communications Manager and Cisco VoIP phones H.323 • H.323 suite: – Approved in 1996 by the ITU-T. – Peer-to-peer protocol – Gateway : plan de numérotation et routage selon le numéro de destination. PSTN H.323 Q.921 Q.931 MGCP • • • • • Media Gateway Control Protocol (MGCP): IETF RFC 2705 developed in 1999. Architecture client/server configuration simplifiée Call Manager gére le plan de numérotation et le routage. PSTN MGCP Q.921 Q.931 SIP • Session Initiation Protocol (SIP): – IETF RFC 2543 (1999), RFC 3261 (2002), and RFC 3665 (2003). – Peer-to-peer protocol : Terminal initie les sessions. – ASCII text-based. – Gateway: plan de numérotation et routage selon le numéro de destination. PSTN SIP Q.921 Q.931 SCCP • Skinny Call Control Protocol (SCCP): – Cisco proprietary. – architecture client/server – configuration simplifiée – Call Manager gére le plan de numérotation et le routage. PSTN SCCP SCCP Endpoint FXS Call Setup • Vérifier la routage d’appel. • Vérifier la disponibilté de la bande passante – Si la bande passante est disponible, le message “setup” est transféré – Si la bande passante est non disponible, le signal “busy” est généré. Call Maintenance • Vérifier les paramétres de la qualité des communications: – Packet loss – Jitter – Delay • Terminier les appels selon la qualité des connexions. Call Teardown • Notifier les terminaux pour libérer les ressources • Les Resources seront allouées à d’autres appels Distributed Call Control Centralized Call Control Real-Time Transport Protocol 2 H.3 SC 3 H.3 GateKeeper 23 SCC CP GW1 P GW2 RTP Stream – Provides end-to-end network functions and delivery services for delay-sensitive, real-time data, such as voice and video – Runs on top of UDP – Works well with queuing to prioritize voice traffic over other traffic – Services include: • Payload-type identification • Sequence numbering • Time stamping • Delivery monitoring Real-time Transport Protocol • RTP fournit des fonctions de transport de bout en bout pour les applications temps réel. • Il permet de: – reconstituer la base de temps des différents flux multimédia (audio, vidéo...); – détecter les pertes de paquets; – identifier le contenu des paquets pour leur transmission sécurisée; • Il ne permet pas de: – réserver des ressources dans le réseau; – apporter une fiabilité dans le réseau; – garantir le délai de livraison; 40 Protocoles utilisés pour VOIP 41 Exemple d’encapsulation Par défaut, 20 ms de voix est encapsulé dans un paquet IP 42 Compressed RTP cRTP on Slow-Speed Serial Links S0/0 S0/0 GW1 GW2 RTP Stream ▪ RFCs – RFC 2508, Compressing IP/UDP/RTP Headers for Low-Speed Serial Links – RFC 2509, IP Header Compression over PPP ▪ Enhanced CRTP – RFC 3545, Enhanced Compressed RTP (CRTP) for Links with High Delay, Packet Loss and Reordering Data-Link Overhead – Ethernet II: 18 bytes of overhead – PPP: 6 bytes of overhead – FRF.12 Layer 2 header: 6 bytes of overhead – MP: 6 bytes of overhead Security and Tunneling Overhead – IPsec: 50 to 57 bytes – L2TP or GRE: 24 bytes – MLP: 6 bytes – MPLS: 4 bytes Calcul bande passante totale d'un appel VoIP Codec Frame Relay with cRTP Codec Speed Sample Size Frame Relay Ethernet Bits per Second Bytes Bits per Second G.711 64,000 240 Bits per Second 76,267 66,133 Bits per Second 79,467 G.711 64,000 160 82,400 67,200 87,200 G.726r32 32,000 120 44,267 34,133 47,467 G.726r32 32,000 80 50,400 35,200 55,200 G726r24 24,000 80 37,800 26,400 41,400 G.726r24 24,000 60 42,400 27,200 47,200 G.726r16 16,000 80 25,200 17,600 27,600 G.726r16 16,000 40 34,400 19,200 39,200 G.728 16,000 80 25,200 17,600 27,600 G.728 16,000 40 34,400 19,200 39,200 G.729 8000 40 17,200 9600 19,600 G.729 8000 20 26,400 11,200 31,200 G.723r63 6300 48 12,338 7350 13,913 G.723r63 6300 24 18,375 8400 21,525 G.723r53 5300 40 11,395 6360 12,985 G.723r53 5300 20 17,490 7420 20,670 Effets de la VAD Codec Codec Speed Sample Size Frame Relay G.711 64,000 240 76,267 Frame Relay with VAD 49,573 G.711 64,000 160 82,400 53,560 G.726r32 32,000 120 44,267 28,773 G.726r32 32,000 80 50,400 32,760 G726r24 24,000 80 37,800 24,570 G.726r24 24,000 60 42,400 27,560 G.726r16 16,000 80 25,200 16,380 G.726r16 16,000 40 34,400 22,360 G.728 16,000 80 25,200 16,380 G.728 16,000 40 34,400 22,360 G.729 8000 40 17,200 11,180 G.729 8000 20 26,400 17,160 G.723r63 6300 48 12,338 8019 G.723r63 6300 24 18,375 11,944 G.723r53 5300 40 11,395 7407 G.723r53 5300 20 17,490 11,369 Protocole H323 • Durant les années 90, H320 a été défini comme standard pour visioconférence sur RNIS BRI • 1996, H323 v1 a été développé pour les applications multimedia sur les réseau LAN sans QoS. • 1998, H323 devient un standard qui regroupe l’ensemble des composantes et procédure pour assurer des communications multimedia (audio, video et data) sur des réseau IP. 48 Protocoles H323 49 Protocoles H323 • En plus de l’établissement de connexion et de contrôle, H323 englobe les protocoles suivants: – Audio: pour la compression, H323 utilise les norme ITU (International Telecommunication Union) G.711, G.723 et G.729 – Video: (optionnel). De base H.261, en option H.263 – Data: Data conferencing utilise T.120 50 Composantes H323 • Terminaux – Interface utilisateur – Tous les terminaux doivent supporter la voix et en option la vidéo et le Data • Gateway – Passerelle de translation entre H323 et non-H323 (RTC, RNIS) • Gatekeeper – Contrôle de communication (translation d’adresse, gestion de la bande passante…) • Multipoint Control unit (MCU) – Conférence à trois ou plus 51 Terminaux • Interface entre utilisateur et le réseau • Dans le cas de la voix, le terminal est généralement un IP phone • Dans le cas de la vidéo, le terminal est un équipement de videoconférence • Un exemple le netMeeting qui permet la voix et vidéo 52 H323 Gateway • Interopérabilité entre le réseau H323 est le réseau téléphonique standard. • Fonction de la gateway – Translation de protocoles – Conversion de format (différent format pour codage voix et vidéo) – Transfert des information entre les deux réseau 53 H323 Gatekeeper • Rôle de contrôle des appels entre terminaux H323 • Fonctionnalités offertes – Translation d’adresse (numéro E164 vers IP) – Contrôle d’admission: H323 définit les messages Registration, Admission, Status (RAS) – Contrôle de la bande passante • Renvoi la bande passante à utiliser • Informe de la non disponibilité de la bande passante pour établir un appel • Informe de la disponibilité de la bande passante pour établir un appel • Gatekeeper ne permet que d’informer, le contrôle effectif de est laisser au provider 54 H323 Gatekeeper • Gestion d’une zone: ensemble de composantes (terminaux, Gateway, MCU) gérées par le même Gatekeeper • En option: – Call authorization: Autorisation ou rejet d’appel – Call management: redirection d’appel, appel selon le temps, le coût minimal 55 Multipoint Control Units • MCU fournit un support de conférence pour trois ou plus • Tous les terminaux qui participent dans une conférence établissent la connexion avec le MCU 56 Exemple d’architecture 57 Pile H323 • H323 est composé d’un ensemble de protocoles qui collaborent pour l’établissement d’appel point à point • H323 se base sur les services d’autres protocoles IP, TCP, UDP et RTP. • H323 est composé de: – H225 Registration, Admission, and Status (RAS) – H225 call control – H245 58 H225 • H225 fournit la signalisation pour l’établissement et le contrôle d’appel entre deux terminaux H323 • RNIS utilise la norme Q931 pour l’établissement de connexion • H225 utilise un sous ensemble de message de Q931 pour l’établissement de connexion en H323 59 H245 • Signalisation de contrôle d’appel • Utilisé pour négocier l’utilisation et les capacités des canaux. • Un appel comprend plusieurs canaux (video, data, voice) • Les messages de contrôle sont – Echange de capacité – Ouverture et fermeture de canaux – Contrôle de flux 60 Registration, Admission, Status • Protocole entre (Terminaux, Gateway) et GateKeepers • Protocole d’enregistrement, contrôle d’admission, changement de bande passante, échange de statut • RAS utilise UDP port 1719 61 Etapes d’un appel H323 • • • • • Discovery & registration Etablissement de l’appel Contrôle de flux Flux média Libération de la connexion 62 Discovery & Registration • Discovery permet de découvrir le Gatekeeper qui gère une zone. • Deux méthodes: – Statique: configuration de l’adresse – Dynamique: multicast • Registration permet de s’associer à une zone (identification) • Enregistrement de l’adresse ou alias 63 Discovery & Registration ! ! ! • H323 Gateway (ou terminal) envoi une requête (RRQ) en utilisant H225 RAS • Gatekeeper confirme l’enregistrement par l’envoi d’une confirmation (RCF) ou rejet « Reject Registration » 64 Appel IntraZone • Gateway X veut placer un appel ver s Gateway Y • Gateway X envoi un message (ARQ: Admission Request) vers Gatekeeper en utilisant H225 RAS • Gatekeeper renvoi une confirmation (ACF: Admission Confirmation) • H323 initialise l’appel vers Gateway Y 65 Appel InterZone • • LRQ: Location Request, Gatekeeper de la zoneA demande l’adresse de Gateway Y auprès de Gatekeeper de la zoneB LCF: Location Confirmation, réponse avec l’adresse IP de Gateway Y. 66 Etablissement d’appel H323 67 Etablissement d’appel H323 1. Gateway X envoi un message de signalisation H225 pour demander l’établissement de la connexion. 2. Gateway Y renvoi un message H225 vers Gateway X pour notification de traitement d’appel 3. Gateway Y envoi un message H225 RAS vers Gatekeeper pour permission d’accepter l’appel 4. Gatekeeper confirme par l’envoi d’un message ACF vers Gateway Y 5. Gateway Y envoi un message vers Gateway X d’acceptation d’appel 6. Gateway Y envoi un message vers Gateway X que l’appel est établi 68 Etablissement de canaux logique • Après établissement de l’appel, les communications traversent par différents canaux selon leur type(voix, vidéo et data). • H245 est utilisé pour la gestion de ses canaux 69 Echange de médias • • • • Gateway X envoi un message RTP vers Gateway Y Gateway Y envoi un message RTP vers Gateway X Gateway X envoi un message RTCP vers Gateway Y Gateway Y envoi un message RTCP vers Gateway X 70 Echange de médias • RTCP: Real-Time Control Protocol – Protocole de transport de média en mode fiable ! • RTP: Real-Time Protocol – Protocole de transport de média non fiable (sur UDP) 71 Libération de la connexion 72 Libération de la connexion 1. Gateway X initie la libération de connexion par l’envoi d’un message « H245 End Session » 2. Gateway Y libère la connexion et renvoi un message confirmation « H245 End Session » vers Gateway X 3. Gateway Y envoi un message « H245 Release Complete » 4. Gateway X et Y se désengage de leurs Gatekeeper respectives par un message RAS DRQ (Disconnect Request) 5. Les Gatekeeper confirment par l’envoi d’un message DCF (Disconnect Confirmation) 73 Signalisation point-à-point 74 Session Initiation Protocol (SIP) ! ■ Protocole de signalisation pour application multimedia ! ■ SIP est une application indépendante des couches inférieures (TCP, UDP,ATM, X.25). ! ■ SIP possède une architecture client/serveur. ! ■ SIP est un protocole text-based. Les message peuvent être lu en texte sans avoir recours à un codage précis. ! ■ 75 SIP utilise divers protocoles – Message format (HTTP 1.1) – Media negotiation (SDP - Session Description Protocol), – Media (RTP) – Name resolution and mobility (DNS and DHCP) – Applications encoding (MIME) 75 Composantes SIP • Le système SIP contient deux composantes: ! – User Agent (UA): le client qui initie les requêtes SIP. – User Agent Server (UAS): le serveur qui répond aux requêtes SIP • User agent peut être: ! – Telephone IP – Gateway • User Agent Server (UAS): – – – – Proxy Server Redirect server Registrar Server Localisation Server 76 Composantes SIP SIP Servers and services Registrar Redirect Locate Where this name is or tel. number… Location Database Proxy SIP Server Register I am here SIP User Agents Redirect Here is the address Proxy INVITES I will call it for you. INVITE I want to speak with another agent. SIP User Agents GW SIP 77 77 Composantes SIP User Agent ■ End user application initiating, receiving and terminating a call Proxy Server ■ Décide vers quel serveur la requête doit être renvoyée. Une requête peut traverser plusieurs serveurs SIP avant d’arriver à sa destination. Redirect Server ■ renvoie le client vers le serveur qui pourra traiter son appel selon l’adresse de destination. Localization Server ■ Utilisé par Proxy Server et Redirect Server pour obtenir la localization des UA. Registration Server ■ Enregistrement des UA. Permet de localiser un UA DNS Server ■ Used to locate the Proxy Server or Redirect Server 78 78 SIP Sub-Protocols Audio Video G.711 G.729 G.723.1 … H.261 H.263 Signaling SIP SDP RTP/RTCP TCP/UDP IP Physical 79 79 Adresse SIP • Les Clients sont identifiés par une adresse unique ! • Ces adresses ont un format similaire à une adresse e-mail: user@host ! – User: nom, telephone (E164), numéro – Host: domaine, adresse IP Examples ■ sip:[email protected] ■ sip:[email protected] ■ sip:[email protected] 80 SIP Message Types • SIP utilise deux types de messages (requête, réponse) SIP Methods INVITE initier un appel ! SIP Answers 1xx - Informational Messages. ACK acquitter un message. BYE terminer un appel. CANCEL annuler une requête REGISTER enregistrer un client auprès d’un serveur SIP.. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failure Responses. OPTIONS sollicite les informations de capacité d’un correspondant. 81 SDP - Session Description Protocol ■ SDP définit les paramètres de conversation (User Agent) ■ SDP transmet les informations requises pour l’établissement d’une session multimedia ■ SDP est similaire à H.245 ■ SDP contient les paramètres suivants: – Medium (codec, sampling rate) – Destination (IP address and port number) – Session name – Session duration – Contact – etc… 82 SDP Messages INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 192.168.1.20:5060 Call-ID: [email protected] From: sip: [email protected] To: sip:[email protected] Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v = (protocol version) O = (owner/creator and session to identify) C = (session information) T = (time the session is active) m = (media name and address transport) 83 SIP session (Direct Call) INVITE 100 Trying Signaling 180 Ringing 200 OK ACK Logical opening of RTP channel Logical opening of RTCP channel Contents Logical opening of RTP channel Media (UDP) Logical opening of RTCP channel Bye Signaling 200 OK 84 SIP Proxy mode Location Server 2 user2? INVITE [email protected] 3 [email protected] 4 1 From: [email protected] INVITE [email protected] From: [email protected] 6 200 OK 5 200 OK 7 ACK [email protected]. 8 ACK Established session [email protected] Proxy Server 85 SIP Redirect mode Location server 2 user2? 3 [email protected] INVITE [email protected] 1 From: [email protected] 4 Redirect Server 302 Moved Contact: [email protected] 5 ACK [email protected] INVITE [email protected] 6 From: [email protected] 7 200 OK 8 ACK Established session [email protected] 86 protocole RTP 87 Protocole RTP • version V: Ce champ identifie la version de RTP, la version actuelle est la version 2. • padding P: Si le bit de padding est mis à 1, le paquet contient un ou plusieurs octets de rembourrage à la fin qui ne font pas partie des données. • extension X: Si le bit d'extension est mis à 1, l'entête est suivie par une seule entête d'extension. • CSRC count CC: Contient le nombre des identificateurs CSRC qui suivent l'entête de taille fixe, c'est à dire qui suivent les trois premiers mots de 32 bits de l'entête RTP. • marker M: L'interprétation du bit M est définie par l'application à travers un profile spécifique à cette application. 88 Protocole RTP • payload type PT: Identifie le format des données RTP et détermine son interprétation par l’application. • sequence number: Le numéro de séquence augmente de un pour chaque paquet envoyé. Il peut être utilisé par la destination pour détecter les paquets perdus. • Timestamp: Le timestamp reflète l'instant où le premier octet du paquet RTP à été échantillonné. Cet instant doit être dérivé d'une horloge qui augmente de façon monotone et linéaire dans le temps pour permettre la synchronisation et le calcul de la gigue à la destination. • SSRC: Le champ SSRC identifie la source de synchronisation (ou dit simplement ``la source''). Cet identificateur est choisi de manière aléatoire avec l'intérêt qu'il soit unique parmi toutes les source d'une même session. • CSRC: La liste des CSRC identifie les sources (SSRC) qui ont contribué à l'obtention des données contenues dans le paquet qui contient ces identificateurs. Le nombre d'identificateurs est donné dans le champ CC. 89