Zum Aufbau von Verbindungen bei der Internettelefonie wird das Session Initiation Protocol (SIP) verwendet. SIP-Pakete haben verschiedene Typen, mit denen Geräte an einer Leitung angemeldet, Anrufe gestartet, Informationen über den Zustand einer Leitung ausgegeben oder Befehle gesendet werden können.
SIP wird sowohl für die Anmeldung einer Telefonanlage bei einem Telefonanbieter als auch für die Anmeldung von Telefonen an einer Telefonanlage genutzt.
Die wichtigsten SIP-Pakettypen sind INVITE, REGISTER, INFO und OPTIONS, es gibt aber noch weitere Arten von SIP-Paketen.
Der grundsätzliche Aufbau eines SIP-Pakets enthält den Typ des Pakets, Informationen zum Absender (Nummer und IP-Adresse), Empfänger und weitere Informationen wie Sequenznummern und Identifikationsnummern.
Ablauf:
- Client sendet ein SIP-REGISTER an den Server
- Der Server sendet einen Antwortcode 100 um zu signalisieren, dass die Anmeldung versucht wird
- Der Server sendet, falls die Anmeldung fehlschlägt einen Antwortcode um nach weiterer Authentifizierung zu fragen
- Der Client sendet eine SIP-REGISTER mit zusätzlicher Authentifizierung
- Der Server versucht erneut die Anmeldung durchzuführen
- Der Server sendet einen Antwortcode 200 um zu signalisieren, dass die Anmeldung erfolgreich war
Der Ablauf für das Starten eines Anrufs ist grundsätzlich ähnlich, es wird aber anstatt eines SIP-REGISTER ein SIP-INVITE verschickt.
Um zu signalisieren, dass die Nebenstelle angefangen hat zu klingeln wird vom Server ein Antwortcode 180 (Ringing) gesendet. Das weitere Vorgehen beim Erhalten dieses Antwortcodes wird im Telefon festgelegt, meistens wird aber dadurch das Freizeichen abgespielt.
Um eine Verbindung aufrechtzuerhalten werden oft SIP-INFO oder SIP-OPTIONS Pakete verwendet, damit zwischengeschaltete Netzwerkgeräte mit NAT das Mapping nicht entfernen.