added M330
This commit is contained in:
parent
be1b7c1d54
commit
775a49d906
|
|
@ -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
|
||||

|
||||
|
||||
### 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*
|
||||
Loading…
Reference in New Issue