501 lines
15 KiB
Markdown
501 lines
15 KiB
Markdown
+++
|
|
title = 'IP-Telephonie'
|
|
date = 2024-02-08T21:40:13+01:00
|
|
draft = true
|
|
+++
|
|
|
|
{{< style_regular >}}
|
|
|
|
|
|
{{< 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
|
|

|
|
|
|
### 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
|
|

|
|
|
|
### 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* |