SIP ist das "Session Initiation Protocol". Es ist für den Aufbau, Abbau und die Steuerung von Verbindungen zuständig.
Die eigentliche Sprachverbindung erfolgt über Streams mittels RTP, dem "Realtime Transport Protocol".
SIP kann auch Videoverbindungen und Instant Messenging Dienste vermitteln.
Korrekte Bezeichnung: "User Agent"
SIP Clients bauen die Verbindung zur Gegenstelle auf.
SIP Clients sind gleichzeitig auch Server, die von anderen Clients aufgebaute Verbindungen entgegennehmen.
SIP Clients müssen nicht zwingend Telefone sein.
SIP Proxys leiten SIP Verbindungen weiter. Die RTP Verbindungen bleiben unberührt.
SIP Proxys ermöglichen den Empfang von SIP Verbindungen hinter einem NAT.
SIP Proxys können mit diversen Zusatzfunktionen bestückt sein wie Gateway, Voicemail oder Registrar.
Durch die Anmeldung an einem Registrar ist man an jedem Ort unter der gleichen SIP-Adresse erreichbar.
Anrufe erfolgen auf sip:<Benutzername>@<Registrar>.
Auf Wunsch kann ein Registrar anderen Nutzern mitteilen, ob man gerade erreichbar ist.
Viele Internetnutzer stecken hinter NATs. Tendenz steigend.
Problem 1: Ein SIP-Client hinter einem NAT kann keine SIP-Verbindungen
empfangen.
Lösung: SIP-Proxy.
Problem 2: Ein SIP-Client hinter einem NAT kann keine RTP-Verbindungen empfangen.
Für Problem 2 gibt es mehrere Lösungen mit verschiedenen Vor- und Nachteilen.
Der Router/Proxy korrigiert die SIP-Packete, und leitet die RTP-Packete weiter.
Der Proxy korrigiert die SIP-Packete, und leitet die RTP-Packete über sich selbst zum jeweiligen Gesprächspartner.
Mittels STUN kann der Client die vom NAT vergebene IP- und Portnummer ermitteln.
Mittels UPnP kann der Client ein Portforwarding auf dem NAT einrichten.
Variante des SIP/RTP-Proxys, die vom Client explizit gesteuert werden kann.
Von ISDN verwendeter Codec
Wird von allen Clients unterstützt
A-law oder µ-law Kompression (schwach)
Hohe Verbreitung bei Hardwaretelefonen
G.711 + ADPCM (komprimiert besser, aber immer noch schwach)
Hohe Verbreitung bei Hardwaretelefonen
Kaum Verbreitung bei Softwaretelefonen aufgrund von Patentproblemen
Hohe Kompression bei akzeptabler Sprachqualität
Von Mobiltelefonen der zweiten Generation verwendeter Codec
Hohe Verbreitung bei Softwaretelefonen
Hohe Resistenz gegen Bitfehler
Ordentliche Kompression und Sprachqualität
Vermutlich von Skype verwendeter Codec
Hohe Verbreitung bei Softwaretelefonen
Hohe Resistenz gegen verlorene Packete
Kompression und Sprachqualität vergleichbar mit GSM
Von Xiph.org (OGG/Vorbis) entwickelter, neuer Codec
Hohe Verbreitung bei Softwaretelefonen
Bessere Sprachqualität oder höhere Kompression (je nach Einstellung) als GSM
und iLBC
ENUM verknüpft Telefonnummern mit elektronischen Visitenkarten.
Mit einem ENUM-fähigen Telefon oder Provider kann jeder mit einer SIP-Adresse Eingetragene per SIP angerufen werden.
ENUM-Einträge sind nur einzeln abfragbar.
Derzeit drei globale Verzeichnisse:
SRV-Records sind eine allgemeine Form des MX-Records.
SRV-Records ermöglichen SIP-Adressen, die auf Domänen statt auf Hosts lauten.
SRV-Records ermöglichen Load-Balancing und Backup-Server.
SRV-Records ermöglichen die Autokonfiguration von SIP-Clients.
VoIP-Gespräche sind schwieriger abzuhören, als PSTN-Gespräche.
Passwörter sind mittels kryptographischer Hashes verschlüsselt.
Weitergehende Verschlüsselung funktioniert nur, wenn beide Endpunkte dies unterstützen. Verschlüsselnde Clients sind nicht weit verbreitet.
TLS ermöglicht eine hop-by-hop Verschlüsselung von SIP (nicht RTP).
SIPS ermöglicht eine end-to-end Verschlüsselung von SIP (nicht RTP). Der Verbindungspfad bleibt nach aussen sichtbar. Interessant für Authentifizierung und MIKEY (siehe unten).
SRTP ermöglicht eine end-to-end Verschlüsseung von RTP. Es wird mit symetrischen, statischen Keys gearbeitet.
MIKEY ermöglicht dynamische Keys mit SRTP.
Es gibt mittlerweile auch für Linux eine grosse Anzahl Softwareclients.
Freie SIP-Clients, mit denen ich gute Erfahrungen gemacht habe:
Erwähnenswerte closed source Gratisclients:
Einfacher SIP-Proxy mit Registrar
Zum Aufbau kleiner, privater SIP-Netze geeignet
Nicht NAT-fähig
Kann mittels "iptables" automatisch Portforwarding einrichten (ähnlich UPnP)
Einfacher SIP/RTP-Proxy mit Registrar
Zum Aufbau kleiner, privater SIP-Netze geeignet
Als interner (nicht externer!) SIP/RTP-Proxy zur Überwindung eines NAT geeignet
Als transparenter Proxy konfigurierbar
Mächtiger, gut skalierender Allzweck-SIP-Proxy
Konfiguration sehr low-level (eher eine high-level Programmiersprache)
Gute SIP-Kentnisse für eine saubere Konfiguration von Hand erforderlich
Eine gewisse Frustresistenz ist beim erstmaligen Einrichten von Nutzen ;-)
RTP-Proxy, Voicemail, Gateway etc. über Zusatzprogramme
SIP-fähige Hauszentralensoftware
Eierlegende Wollmilchsau
Kann verschiedene VoIP-Protokolle vermitteln (auch untereinander)
Hohe Verbreitung, daher auch guter Support
Komplexe Situation sind teils mühsam zu konfigurieren
Infos zu SIP, Asterisk und SER:
http://www.voip-info.org/
http://wiki.rowi.net/
ENUM:
http://www.switch.ch/enum/
http://www.e164.org/
http://www.e164.info/
PartySIP:
http://www.partysip.org/
Siproxd:
http://siproxd.sf.net/
©2005 by Christof Bürgi
Der Autor verzichtet auf die Urheberrechte.