Voip-Qualitätsparameter Mouth-To-Ear Delay
Total Page:16
File Type:pdf, Size:1020Kb
Bachelorarbeit, Abteilung Informatik VoIP-Qualitätsparameter Mouth-to-Ear Delay Hochschule für Technik Rapperswil Frühlingssemester 2016 17. Juni 2016 Autoren: Max Obrist & Pascal Meier Betreuer: Prof. Dr. sc. techn. Peter Heinzmann Co-Referent: Prof. Oliver Augenstein Experte: Dr. Th. Siegenthaler, CSI Consulting AG Industriepartner: Swisscom Arbeitsperiode: 22.02.2016 - 17.06.2016 Arbeitsumfang: 360 Stunden (12 ECTS) pro Student Link: https://bitbucket.org/ba_voip_p2p/ba_voip_p2p ABSTRACT Abstract Die analoge Telefonie hat langsam aber sicher ausgedient. Die Swisscom sowie viele andere Provider, im In- und Ausland, planen in der nahen Zukunft den kompletten Umstieg auf All-IP. Dabei wird das gesamte Telefongespräch über das Internet abgewickelt. Dieser Umstand bringt neben vielen Vorzügen auch einige neue Herausforde- rungen mit sich. Die Umstellung auf eine IP-basierte Telefonie macht die Kommuni- kation anfälliger für Transport- und Netzwerkstörungen. Im Rahmen dieser Arbeit wurde analysiert, welche Umstände zu Qualitätsein- bussen führen. Speziell wurde der Mouth-To-Ear (M2E) Delay analysiert. Neben fixen Delays die auf Grund von Codecs oder Netzwerkgegebenheiten auftreten, gibt es im Gesamtsystem einige dynamische Elemente, die nicht so einfach berechnet werden konnten. Mithilfe von Messungen mit Mikrofon und Aufnahmegerät wurde im eignen Testlabor mittels SIP-Server umfangreiche Tests durchgeführt. Dies führte zum Ergebnis, dass die stark abweichenden M2E-Delays aufgrund von unterschiedlich implementieren Jitter-Buffer zu Stande kommen. Um aussagekräftigere und raschere Qualitätsangaben zu machen, wurde der bekannte VoIP-Client Jitsi so angepasst, dass sich Echtzeitdaten über die wichtigsten Parameter sammeln lassen. Auf einen Schlag ist ersichtlich, wie gross beispielsweise der momentane Jitter-Buffer ausfällt. Max Obrist 15. Juni 2016 3 Pascal Meier AUFGABENSTELLUNG 4 15. Juni 2016 Max Obrist Pascal Meier AUFGABENSTELLUNG Max Obrist 15. Juni 2016 5 Pascal Meier INHALTSVERZEICHNIS Inhaltsverzeichnis Abstract 3 Aufgabenstellung 6 Inhaltsverzeichnis 6 Abbildungsverzeichnis 10 Tabellenverzeichnis 12 Management Summary 13 1 Ausgangslage . 13 2 Vorgehen/Technologien . 14 3 Ergebnisse . 15 4 Ausblick . 16 Bericht 17 1 Einleitung . 17 2 Theorie . 20 2.1 M2E-Delays . 21 2.1.1 Coder Delay/Algorithmic Delay . 22 2.1.2 Packetization Delay . 23 2.1.3 Serialization Delay . 23 2.1.4 Queuing/Buffering Delay . 24 2.1.5 Network Delay . 25 2.1.6 Jitter Delay . 25 2.1.7 Unaccounted Delay . 25 2.1.8 Empfehlung für die Delay-Grenze . 26 2.2 ITU-T G Series . 27 2.3 VoIP-Protokolle . 28 2.3.1 SIP & RTP . 28 6 15. Juni 2016 Max Obrist Pascal Meier INHALTSVERZEICHNIS 2.3.2 RTCP . 31 3 VoIP-Clients . 37 3.1 SIP-Clients . 37 3.2 Anonymisierung . 38 3.2.1 Tor-Netzwerk . 38 3.2.2 Funktionsweise . 38 3.3 TORFone . 39 3.3.1 Betrieb . 39 3.4 Realisierung eigener VoIP-Client (Lumisoft) . 40 3.4.1 Anforderungen . 41 3.4.2 Evaluation . 41 3.4.3 Analyse . 42 3.4.4 Testverfahren . 43 3.5 Erweiterung Jitsi-Client . 47 3.5.1 Anforderungen . 47 3.5.2 Jitsi Struktur . 48 3.5.3 Jitsi Entwicklung . 48 3.5.4 Gesammelte Statistiken . 49 3.5.5 Implementation . 50 3.5.6 Jitsi Jitter-Buffer . 52 3.5.7 Jitter Buffer Allgemein . 55 4 Messungen . 57 4.1 Versuchsaufbau . 57 4.2 Messverfahren . 60 4.3 M2E-beeinflussende Parameter . 61 4.3.1 Referenzsystem . 61 4.3.2 Einflussfaktoren auf M2E-Delay . 62 4.3.3 Einfluss von unterschiedlichen Bandbreiten . 64 4.3.4 Einfluss von erhöhter Latenz . 65 4.3.5 Einfluss von Paketverlusten im Netzwerk . 66 4.3.6 Einfluss von SRTP . 67 4.3.7 Einfluss von Jitsis Jitter-Buffer . 68 4.3.8 TORFone Messungen . 70 5 Schlussfolgerungen . 72 5.1 Ursachen . 72 5.2 Empfehlungen . 73 5.3 Schlusswort . 73 Max Obrist 15. Juni 2016 7 Pascal Meier INHALTSVERZEICHNIS Appendix 75 A Berechnungen . 75 A.1 Propagation Delays . 75 A.2 Interarrival Jitter . 76 B Jitsi . 78 B.1 Wichtige Hinweise . 78 B.2 Inbetriebnahme . 78 B.3 Bedienung . 78 B.4 Weiterentwicklung . 80 C Akronyme . 82 D Glossar . 84 E Literaturverzeichnis . 85 F Projektmanagement . 88 F.1 Projektplan . 88 F.2 Projektorganisation . 88 F.F.2.1 Teammitglieder . 88 F.F.2.2 Betreuer . 88 F.3 Zeitaufwand . 89 F.4 Zeitauswertung . 89 F.5 Besprechungen . 89 F.6 Infrastruktur . 90 F.F.6.1 Hardware . 90 F.F.6.2 Software . 90 F.7 Risikomanagement . 91 F.8 Meilensteine . 92 G Persönliche Berichte . 93 G.1 Max Obrist . 93 G.2 Pascal Meier . 94 H Inhaltsverzeichnis CD . 96 I Poster . 97 J Eigenständigkeitserklärung . 98 K Vereinbarung zur Verwendung und Weiterentwicklung der Arbeit . 99 L Sitzungsprotokolle . 100 L.1 Sitzung 25. Februar 2016 . 101 L.2 Sitzung 09. März 2016 . 103 L.3 Sitzung 10. März 2016 . 104 L.4 Sitzung 16. März 2016 . 105 L.5 Sitzung 24. März 2016 . 107 L.6 Sitzung 31. März 2016 . 108 L.7 Sitzung 06. April 2016 . 109 8 15. Juni 2016 Max Obrist Pascal Meier INHALTSVERZEICHNIS L.8 Zwischenpräsentation 13. April 2016 . 111 L.9 Sitzung 14. April 2016 . 112 L.10 Sitzung 27. April 2016 . 114 L.11 Sitzung 11. Mai 2016 . 116 L.12 Sitzung 19. Mai 2016 . 118 L.13 Sitzung 01. Juni 2016 . 120 L.14 Sitzung 13. Juni 2016 . 122 Max Obrist 15. Juni 2016 9 Pascal Meier ABBILDUNGSVERZEICHNIS Abbildungsverzeichnis 1 Vorgehen für M2E-Messungen (Management Summary) . 15 2 Basic Voice Flow . 20 3 Packetization Delay bei CS-ACELP . 23 4 M2E-Einfluss auf MOS11 ........................ 26 5 SIP/RTP Verbindungsablauf27 ..................... 29 6 RTCP Basis Header . 32 7 Sender Report14 ............................ 33 8 Wireshark-RTP Stream Analyse . 35 9 SIP-Client Charakteristik . 38 10 Aktiver TORFone Anruf zwischen Alice und Bob . 40 11 Jitsi Statistiken . 48 12 Klassendiagramm Jitsi Anpassungen . 51 13 Buffer Queue, wenn Pakete regelmässig ankommen . 53 14 Buffer Queue, wenn Pakete verzögert ankommen . 54 15 Buffer Queue, wenn viele Pakete in kurzen Abständen ankommen . 55 16 Buffer Queue, wenn viele Pakete umsortiert ankommen . 56 17 Messaufbau im HSR-Netz . 57 18 Vorgehen für M2E-Messungen (Testaufbau) . 58 19 Audiodatei mit zwei Testgeräuschen . 59 20 Konfigurationsmöglichkeiten Apposite Linktropy 5500 . 61 21 Einflussfaktoren für den M2E-Delay . 63 22 M2E-Delay mit unterschiedlichen Bandbreiten . 65 23 Fehlerhafte Sequenznummern nach einem Burst . 66 24 Erholung des Jitter-Buffers . 69 25 Dynamischer Jitter-Buffer . 70 26 M2E-Delay bei TORFone mit verschiedenen Codecs . 71 27 Call Info Window öffnen . 79 28 Screenshot Jitsi mit Anpassungen . 79 29 Projektplan . 88 30 Zeitauswertung . ..