Um via SIP einen entfernten Teilnehmer anzurufen, benötigt man nicht zwingend einen VOIP-Provider der Aufgaben wie Nummernregistrierung und NAT-Umgehung übernimmt. Man kann auch direkt einen Teilnehmer anrufen.

Nicht jeder Soft-Client kann dies. Mit Empathy unter Linux hats nicht geklappt – LinPhone geht problemlos und hat aus meiner Sicht auch die intuitivere Oberfläche.

Gewählt wird mit KENNUNG@IP

Möchte man eine fremde Fritzbox anrufen und kennt die Rufnummer ist dies rufnummer@ip-der-fritzbox

Wählt man eine unbekannte Kennung läuft der Dialog wie folgt ab:

Anrufer schickt einen SIP-Invite (Anforderung zum Gesprächsaufbau) an den Angerufenen.

IP s1.sip > ziel.sip: SIP, length: 900
Eh….@.@…….[/……..-.INVITE sip:1@angerufener SIP/2.0
Via: SIP/2.0/UDP 192.168.0.151:5060;rport;branch=z9hG4bK2041591
From: ;tag=1705358941
To:
Call-ID: 546189454
CSeq: 20 INVITE
Contact:
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Max-Forwards: 70
User-Agent: Linphone/3.6.1 (eXosip2/4.1.0)
Subject: Phone call
Content-Length: 435

Der Angerufen quittiert mit … wenn die Kennung nicht bekannt ist.

11:24:26.060491 IP ziel.sip > s1.sip: SIP, length: 291
E..?C…>.M.[/………..+.`SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 192.168.0.151:5060;rport=5060;branch=z9hG4bK2041591;received=absender-IP
From: ;tag=1705358941
To: ;tag=16-zeichen-hex
Call-ID: 546189454
CSeq: 20 INVITE
User-Agent: FRITZ!OS
Content-Length: 0

Die einzelnen Felder zur Erklärung:

Via: Definiert den Übertragungsweg wie ein Teilnehmer erreicht werden kann

Via enthält ebenso einen Parameter received – dies definiert die erkannte Absender-IP der Gegenstelle.

O-Ton:

SIP does provide the client
with the source IP address that the server saw in the request. This
information is conveyed in the received parameter in the topmost Via
header of the response. This information has proved useful for basic
NAT traversal, debugging purposes, and support of multi-homed hosts“

Quelle: https://tools.ietf.org/html/draft-ietf-sip-nat-02

Call-ID: Eindeutige Kennung für die eigentliche Verbindung – einheitlich zwischen zwei Gesprächspartnern
Tag: Eindeutige Kennung einer Gegenstelle – Anrufer und Angerufener generieren sich tag – hier die Erklärung:

When a tag is generated by a UA for insertion into a request or
response, it MUST be globally unique and cryptographically random
with at least 32 bits of randomness. A property of this selection
requirement is that a UA will place a different tag into the From
header of an INVITE than it would place into the To header of the
response to the same INVITE. This is needed in order for a UA to
invite itself to a session, a common case for „hairpinning“ of calls
in PSTN gateways. Similarly, two INVITEs for different calls will
have different From tags, and two responses for different calls will
have different To tags.

Quelle: https://tools.ietf.org/html/rfc3261

Categories: BlogUncategorized