added M330

This commit is contained in:
Arian Furrer 2024-02-09 17:54:08 +01:00
parent be1b7c1d54
commit 775a49d906
1 changed files with 498 additions and 0 deletions

View File

@ -0,0 +1,498 @@
+++
title = 'IP-Telephonie'
date = 2024-02-08T21:40:13+01:00
draft = true
+++
{{< toc >}}
# 0 Handlunsnotwendige Kenntnisse
**1.1**: Kennt Kriterien (inkl. Quality of Service), welche bei der Dimensionierung eines IP-Telefoniesystems angewendet werden.
**2.1**: Kennt technische Spezifikationen von Server- und Netzwerksystemen für IP-Telefonie.
**2.2**: Kennt unterschiedliche VoIP-Konzepte und Modelle, deren Vor- und Nachteile.
**2.3**: Kennt verwendete Protokolle (z.B. SIP- und RTP-Protokoll inkl. Codecs und Protokolle wie H.323, STUN, NAT, aLaw, uLaw).
**2.4**: Kennt die wichtigsten Dienste der klassischen Telefonie (analog, ISDN) sowie deren Anbindung mittels Gateway.
**2.5**: Kennt Möglichkeiten der Anbindung des IP-Telefoniesystems mittels IP an das Weitverkehrsnetz.
**3.1**: Kennt spezifische Sicherheitsmassnahmen für ein IP-Telefonie-system.
**3.2**: Kennt Massnahmen zur Sicherstellung der Verfügbarkeit von IP- Telefoniesystemen (z.B. Redundanz, USV).
**4.1**: Kennt die Möglichkeit der Anbindung an bestehende ERP- und/oder Groupwaresysteme.
**4.2**: Kennt die Möglichkeit der Anbindung mittels Gateway an die klassische Telefonie
**4.3**: Kennt verschiedene Arten von VoIP-Clients und deren Vor- und Nachteile.
**5.1**: Kennt grundlegende Telefoniefunktionaliäten (Call-Routing, Ringruf, Anrufbeantwortung, Weiterleitung, MOH, Blacklist usw.).
**5.2** Kennt Möglichkeiten Dienste und Funktionen für Nummern/Benut¬zer zu definieren.
**6.1**: Kennt ein Verfahren um das IP-Telefoniesystem nachvollziehbar zu testen.
# 1 Anforderungen an das Telephoniesystem
## 1.1 Einleitung
Qualität hängt von verschiedenen Faktoren ab:
- Durchsatz (Datenmenge)
- Echo (Verzögerung / Latenz)
- Verbindungsaufbau
- Verbindungsabbau
## 1.2 QoS in IP-Netzen
QoS => Quality of Service
Wird mit 4 Faktoren gemessen:
- Latenz
- Jitter
- Packet Loss
- Durchsatz
Für IP-Telephonie am wichtigsten:
- Latenz
- Jitter
## 1.3 Realisierung in IP-Netzen
Technische Möglichkeiten:
- IntServ => Datenrate für Telephonie reservieren
- DiffServ => Flags/Parameter verwenden, Router priorisiert Pakete
=> *DiffServ* wird verwendet, *IntServ* zu instabil
# 2 Netzinfrastruktur vergleichen
## 2.1 Einleitung
"Netzinfrastruktur":
- Hardware
- PCs
- Laptops
- Router
- Switch
- Hub
- Firewall
- etc.
- Übertragungsmedien
- Kupferkabel
- DAC
- RJ-45
- Lichtwellenleiter
- Protokolle
- TCP
- IP
- UDP
- SIP
- etc.
## 2.2 Technische Spezifikationen von Servern, Routern und IP-Telephonen
- Mit Protokollen festgelegt
- Wichtigster Faktor: Kompatibilität
## 2.3 VoIP-Konzepte
### 2.3.1 Vorteile
- Gemeinstame Nutzung => günstig
- Installation => einfach
- Neue Möglichkeiten (Konferenzen, Streaming, etc.)
### 2.3.2 Nachteile
- Bei Netzwerkausfall => alles tot
- Grössere Angriffsfläche
## 2.4 Protokolle
![H.323 Protokollstapel](/png/330_ch-2.4_h323-stack.drawio.png)
### 2.4.1 SIP (Session Initiation Protocol)
3 Aufgaben:
- Sitzungsaufbau
- Sitzungssteuerung
- Sitzungsabbau
SIP-Adresse hat 3 Möglichkeiten:
- Unverschlüsselte SIP-Verbindung: `sip:user@domain`
- Verschlüsselte SIP-Verbindung: `sips:user@domain`
- Normale Telephonnummer: `tel:nummer`
### 2.4.2 SIP-Requests (Anfragen)
| Request | Bedeutung |
|-----------|-------------------------------------------------------------------|
| INVITE | Ruft an |
| ACK | Bestätigt INVITE |
| BYE | Beendet Sitzung |
| CANCEL | Bricht INVITE ab |
| REGISTER | Übermittelt Hostname und IP dem Server |
| OPTIONS | Übermittelt unterstützte Funktionen des genutzten Telephons |
| PRACK | Automatische Bestätigung von einem INVITE (bevor INVITE ankommnt) |
| SUBSCRIBE | Meldet Ereignisse |
| NOTIFY | Benachrichtigung bei Zustandsänderung |
| PUBLISH | Übermittelt SUBSCRIBE und NOTIFY auf dem SIP-Server |
| INFO | Steuer- und Kontrollinformationen |
| REFER | Weiterleitung |
| MESSAGE | Instant Messaging |
| UPDATE | Ändert Status des Anrufs |
#### 2.4.2.1 Beispiel eines Requests
```
INVITE sip:my@sip.server.com SIP/2.0
VIA:SIP/2.0/UDP 192.168.0.1
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
From:<sip:my@sip.server.com>
To: Name <name@sip.server.com>
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
CSeq:1 INVITE
```
### 2.4.3 SIP-Responses
| Zahl | Kategorie |
|-------|-------------------------------|
| `1__` | Informationen |
| `2__` | Erfolgsmeldungen |
| `3__` | Weiterleitungen |
| `4__` | Request-Fehlermeldungen |
| `5__` | Server-Fehlermeldungen |
| `6__` | Übergreifende Fehlermeldungen |
| `7__` | Fehler im SIP-Protollstack |
### 2.4.4 Prinzip des Verbindungsaufbaus
Anrufer => User Agent Client (UAC)
Angerufener => User Agent Server (UAS)
#### 2.4.4.1 Verbindungsaufbau bei einer direkten Verbingund zwischen Client und Server
![Verbindungsaufbau und Verbindungsabbau](/png/330_ch-2.4.4.1_sip-verbindung.drawio.png)
### 2.4.5 SIP-Trunking
Ein Anschluss nach aussen (VoIP-Telephone können sich in Landline einwählen)
=> Funktoiniert ähnlich wie *NAT*
#### 2.4.5.1 SIP-Status
Informationen, welche Server an Client gibt (wie z.B. bei HTTP: `404_NOT_FOUND`)
#### *2.4.5.1.1 Provisional*
| Code | Nachricht |
|------|-------------------------|
| 100 | Trying |
| 180 | Ringing |
| 181 | Call is being forwarded |
| 182 | Queued |
| 183 | Session progress |
| 199 | Early dialog terminated |
#### *2.4.5.1.2 Successful*
| Code | Nachricht |
|------|-----------------|
| 200 | Ok |
| 202 | Accepted |
| 204 | No Notification |
#### *2.4.5.1.3 Redirection*
| Code | Nachricht |
|------|---------------------|
| 300 | Multiple choices |
| 301 | Moved permanently |
| 302 | Moved temporarily |
| 305 | Use proxy |
| 380 | Alternative service |
#### *2.4.5.1.4 Request Failures*
| Code | Nachricht |
|------|----------------------------------|
| 400 | Bad request |
| 401 | Unauthorized |
| 402 | Payment required |
| 403 | Forbidden |
| 404 | Not found |
| 405 | Method not allowed |
| 406 | Not acceptable |
| 407 | Proxy authentication required |
| 408 | Request timeout |
| 410 | Gone |
| 412 | Conditional request failed |
| 413 | Request entity too large |
| 414 | Request URI too long |
| 415 | Unsupported media type |
| 416 | Unsupported URI scheme |
| 417 | Unknown resource-priority |
| 420 | Bad extension |
| 421 | Extension required |
| 422 | Session interval too small |
| 423 | Interval too brief |
| 428 | Use idendity header |
| 429 | Provide referrer identity |
| 430 | Flow failed |
| 433 | Anonymity disallowed |
| 436 | Bad indentity-info |
| 437 | Unsupported certificate |
| 438 | Invalid indentity header |
| 439 | First hop lacks outbound support |
| 440 | Max-breadth exceeded |
| 469 | Bad info package |
| 470 | Consent needed |
| 480 | Temporarily unavailable |
| 481 | Call/transaction does not exist |
| 482 | Loop detested |
| 483 | Too many hops |
| 484 | Address incomplete |
| 485 | Ambiguous |
| 486 | Busy here |
| 487 | Request terminated |
| 488 | Not acceptable here |
| 489 | Bad event |
| 491 | Request pending |
| 493 | Undecipherable |
| 494 | Security agreement required |
#### *2.4.5.1.5 Server Failures*
| Code | Nachricht |
|------|-----------------------|
| 500 | Server internal error |
| 501 | Not implemented |
| 502 | Bad gateway |
| 503 | Service unavailable |
| 504 | Server timeout |
| 505 | Version not supported |
| 513 | Message too large |
| 580 | Precondition failure |
#### *2.4.5.1.6 Global Failures*
| Code | Nachricht |
|------|-------------------------|
| 600 | Busy everywhere |
| 603 | Declined |
| 604 | Does not exist anywhere |
| 606 | Not acceptable |
#### *2.4.5.1.7 Fehlercode des SIP-Protokollstapels*
| Code | Nachricht |
|------|----------------|
| 701 | Party hangs up |
### 2.4.6 RTP (Real-Time Protocol)
- Kontinuierlicher Datenstrom (Audio/Video)
- Normalerweise via UDP übertragen
### 2.4.7 STUN (Session Traversal Utilities for NAT)
- Erkennt und durchquert Firewalls und NAT-Router
- Oftmals im Voicechat in Games verwendet
### 2.4.8 aLaw, uLaw Verfahren
- Beide ähnlich, aber nicht kompatibel
- Analoge Audioverarbeitung
- aLaw => Europa
- uLaw => USA / Japan
=> Konvertierung notwendig für EUR <-> JPN / USA
### 2.4.9 Codecs (Codieren, Decodieren)
Möglichst effiziente Komprimierung
## 2.5 Netzwerk-Elemente
### 2.5.1 User Agent
Schnitstelle zum Benutzer (Hardware-Telephon oder App)
### 2.5.2 Proxy Server
Mach Routing
### 2.5.3 Registrar Server
Zentrale Schalstelle für SIP (IP-Adresse <-> SIP-Accounts)
### 2.5.4 Redirect Server
Regelt Redirects (entlastet Proxy)
### 2.5.5 Session Border Controller
Wird für Sicherheitsanforderungen und NAT benötigt
### 2.5.6 Gateway
"Tor" ins Internet/WAN
## 2.6 Dienste
Nur der Vollständigkeit halber aufgeführt (eigentlich veraltet)
### 2.6.1 Analoge Geräte
- Fax, Modem, Analogtelephon
- Eigentlich seit 2018 ausser Betrieb
### 2.6.2 ISDN
Ursprünglich Ersatz für analoge Geräte, stellte sich schlechter heraus
### 2.6.3 Analoge Geräte, bzw. ISDN-Andindung mit Gateway
Gateway direkt an ISDN-Modem angeschlossen
## 2.7 IP-Telephonie ins WAN einbinden
Kostet, im LAN jedoch gratis
# 3 Sicherheits- und Betriebskonzepte
## 3.1 Einleitung
Viele Aspekte:
- Abhören
- Ausfälle
- Störungsfreier Betrieb
- Erweiterbarkeit
## 3.2 Sicherheit allgemein
- SIP und H.323 sind sehr beliebt
- Beide unsicher
- Datenschutz an oberster Stelle
### 3.2.1 Sicherheit
Verschlüsselung für Abhörsicherheit
### 3.2.2 Verfügbarkeit
- Strom- oder Hardwareausfall führt zu Unterbruch
- Hardware redundant installieren und mit USV betreiben
# 4 Endgeräte, Software und Dienste
## 4.1 Einleitung
- VoIP ist sehr felxibel
- Alle Systeme mit speziellen Gateways einbinden
## 4.2 Anbindung and Fremdsysteme
- "ERP" => Enterprise Resource Planning
- In Betrieben standard
## 4.3 Andbindung an bestehende Telephonanlagen
Interne Anlagen (PBX) können aufgerüstet werden
## 4.4 VoIP-Client
Hardware für Telephonie (z.B. Deskphone)
### 4.4.1 Vorteile
- Nicht vom PC abhänging
- Mehr oder weniger mobil
- Einfach zu bedienen
### 4.4.2 Nachteile
- Meistens kein Display
- Falls Display, dann klein
- Teuer
## 4.5 Hersteller von VoIP-Telephonen
**Hardware-Telephone:**
- Gigaset
- AVM
- Cisco
- Yealink
**Software-Telephone:**
- Phonerlite
- Discord
- Skype
# 5 Funktionalitäten implementieren
## 5.1 Einleitung
VoIP kann softwaretechnisch sehr einfach erweitert werden
## 5.2 Funktionalitäten
### 5.2.1 Telephonfunktionen
- Sprachleitung
- Music on Hold
- Anklopfen in bestehende Gespräche
- Unterdrückung von Caller ID (Blacklist)
- Weiterleitung
- Dreiwegkonferenz
- Wahlwiederholung
- Ausnahme von ausgewählten Gruppen
- Zwischen Anrufen umschalten
- Autom. Ablehnen von allen Anrufen (z.B. für Ferien)
- Autom. Weiterleitung
- Wählen mit URI anstatt Nummer
- Mehrere Klingeltöne
- Logging
- Kurzwahl
# 6 Telephoniesystem testen
## 6.1 Einleitung
Probleme suchen und beheben
Mögliche Ursachen:
- Hardware-Telephon
- Software-Telephon
- Netzwerk
### 6.1.1 Kabel, Stecker, Netzteile und Anschlussdosen
Höufige Fehlerquelle
### 6.1.2 Routing
Geräte können Ports für VoIP manipulieren oder VoIP blockieren
- Router
- Gateway
- Firewall
### 6.1.3 Konto, Passwort, Name
Falsche Kontodaten => keine Verbindung
### 6.1.4 Falsche Einstellung am Hardware-Telephon
Grösstes Problem: Kompatibilität
### 6.1.5 Falsche Einstellung am Software-Telephon
Ebenfalls grosses Kompatibilitäts-Problem
### 6.1.6 Netzwerkverkehr-Analyse (Monitoring)
Mit z.B. Wireshark Anomalien analysieren
## 6.2 Zusammenfassung
- Fehlersuche ist schwierig und komplex
- Provider um Hilfe fragen (=> Support-Ticket, Exports von Daten, etc.)
# 7 Anhang
## Abkürzungen
| Abkürzung | Ausgeschrieben / Beschreibung |
|-----------------|---------------------------------------------------------|
| H 323 | H-Standard; vor allem für analog/ISDN |
| MAC-Adresse | Eindeutige Hardware-Adresse einer Netzwerkschnittstelle |
| NAT | Network Address Translation |
| Nebenstelle | Konto auf SIP-Server |
| Proxy-Server | Stellvertretender Server |
| Redirect-Server | Entlastet Proxy, indem Weiterleitungen über ihn laufen |
| Registrar | VoIP-Server |
| RFC | Request for Comment |
| RSVP | Resource Reservation Protocol |
| RTP | Real-Time Protocol |
| Rufgruppe | Gruppe von Nebenstellen, welche ingehende Anrufe teilen |
| SSL | Secure Socket Layer |
| SDP | Secure Description Protocol |
| SIP | Session Initiation Protocol |
| SIP-Forking | Unterschiedliche Telephone, gleiche Nebenstelle |
| SIP-Server | Ort, wo DB und PBX läuft |
| SIPS | SIP verschlüsselt mit TLS |
| SIP-Trunking | SIP-Domain beim ISP |
| SIP-URI | Adressierung einer Nebenstelle |
| STUN | Simple Transport of User Datagram Protocol over NAT |
| TLS | Transport Layer Security |
| ToS | Type of Service |
| URI | Uniform Resource Identifier |
# Quelle
Notizen basierend auf analogem Skript (39 Seiten)
# Anmerkung
Relation Kapitel -> Handlungsnotwendige Kenntnisse:
- Kapitel 1: *1.1*
- Kapitel 2: *2.1*, *2.2*, *2.3*, *2.4*, *2.5*
- Kapitel 3: *3.1*, *3.2*
- Kapitel 4: *4.1*, *4.2*, *4.3*
- Kapitel 5: *5.1*, *5.2*
- Kapitel 6: *6.1*