Benötigte Ports - Grundsatzfrage

telefonmann4711

Neuer User
Mitglied seit
2 Jan 2006
Beiträge
142
Punkte für Reaktionen
0
Punkte
0
Nabend zusammen,

ich krieg ja VoIP-mässig alles soweit hin, aber eins hab ich noch nicht begriffen.

Hardwarehersteller und VoIP-Provider schieben sich immer wieder den schwarzen Peter zu: wer sagt, welche Ports für VoIP verwendet werden?

Wenn ein Anruf von aussen kommt, müsste das doch der Anbieter sein, der auf einem bestimmten Port anklopft?! Und zum Registrieren und Raustelefonieren müsste ja eigentlich die Anlage/das Softphone entscheiden, über welchen Port rausgegangen wird.

Ich hab schon versucht, das Problem zu googeln, aber mit mässigem Erfolg. Vielleicht kann einer der Ober-Techies hier mir mal eine grundsätzliche Erleuchtung in dieser Frage geben?!

Der Hersteller meiner VoIP-Hardware (Funkwerk) behauptet nämlich steif und fest, der Provider entscheidet über die Ports - die SIP-Provider behaupten das Gegenteil..... :noidea:

Danke fürs Erklären!

Gruss
Pat
 
Wenn ein Anruf von aussen kommt, müsste das doch der Anbieter sein, der auf einem bestimmten Port anklopft?! Und zum Registrieren und Raustelefonieren müsste ja eigentlich die Anlage/das Softphone entscheiden, über welchen Port rausgegangen wird

VoIP Registrare und Proxies, also alles serverseitiges Equipment, müssen lt. Standard auf Port 5060 sensitiv sein für SIP Requests. Darüber hinaus existiert in weiten Grenzen Wahlfreiheit. Z.B. kann auch ein SIP Registrar auf Port 10000 aktiv sein, warum nicht? Welchen Port ein UAC (Client) verwendet, ist komplett ihm überlassen und wird im Regelfall clientseitig konfiguriert. Responses werden von den externen Servern an die SIP URI gesandt, die im VIA Element des Headers enthalten ist. Dies ist m.W.n. die einzige URI, die eine Port-Information enthält.

Wenn sich ein UAC registriert, wird von ihm die aktuelle öffentliche IP und der verwendete/konfigurierte Port dem Registrar bekannt gemacht. An diese Adresskombination schickt der Server-Proxy seine INVITES.

Fazit: Der Provider (und der Standard) entscheiden über die Ports. Darüber, ob der Dialog zwischen UAC und UAS zustande kommt, entscheidet allerdings nicht zuletzt auch die Firewall oder der Router des Hardware-Anbieters...
 
Zunächst mal sollte man wissen, daß es Ports bei UDP und TCP natürlich auf beiden Seiten gibt - beim Endgerät bzw. VoIP-Gateway wie auch beim Provider (Registrar, Proxy, ...). Jede Seite kann ihre eigenen Ports beliebig wählen, wobei zum Teil Empfehlungen bestehen, die sich an den in RFC (Request for Comments) dokumentierten Internetstandards orientieren. Ports 5060/udp und 5060/tcp sind für SIP gebräuchlich, jedoch nicht zwingend. Hat man beispielsweise einen Sipura 3000 mit zwei Provider-Registrierungen, so benötigen diese zwei verschiedene Ports, z.B. 5060 und 5061.

Registriert sich nun ein Client bei einem Provider, so erfolgt dies mit einem bestimmten, lokalen Port. Dieser wird ggf. durch einen NAT-Router verändert (STUN wäre dann ggf. erforderlich oder ein Application-Layer Gateway im Router, der diese Mappings in SIP-Paketen selbst vornimmt). Der Port für SIP-Registrierungen bei einem Provider (an dem Server des Providers) ist entweder der Standardport 5060 oder es wird z.b. durch SRV-Records ein anderer publiziert.

Vom Provider eingehende SIP-Pakete (z.B. bei eingehenden Anrufen) kommen dann auf dem registrierten Port am NAT-Router an, der eine Portweiterleitung (oder interne Regel) benötigt, um das Paket korrekt an den Zielport des Endgeräts weiterzuleiten.

Bei RTP gilt das Gleiche: der RTP-Portbereich des Endgeräts wird durch dieses bestimmt. Der RTP-Portbereich des Providerservers wird durch diesen bestimmt.

Spricht man also von Portweiterleitungen für von extern eingehende Pakete in einem NAT-Router, so werden diese Ports alleine durch das Endgerät bestimmt. Eine Fritz!Box Fon verwendet beispielsweise standardmäßig 5060/udp für SIP und 7078-7087/udp für RTP. Diese Ports sind ggf. weiterzuleiten, wenn der Router nicht von sich aus erkennt, was genutzt wird.

spongebob schrieb:
Fazit: Der Provider (und der Standard) entscheiden über die Ports.
Nein. Weiter oben hattest Du es doch schon richtig geschrieben.
Fazit: Der Provider entscheidet nur über seine eigenen Ports. Festlegungen eines Standards können dafür verwendet werden - müssen jedoch nicht. Das Endgerät entscheidet über seine Ports.

--gandalf.
 
Habe eben noch einmal im Standard nachgeschlagen. Manchmal muss man sich eben sicher geglaubte Dinge noch mal ansehen.

Der Standard spricht an einer Stelle von den "default Values" für die Ports: Eben die besagten 5060 und 5061. An einer anderen Stelle ist er allerdings nicht so "hart", wie von mir memoriert (ich hatte ein MUST in Erinnerung), sondern er EMPFIEHLT nur :)

It is also RECOMMENDED that a server
listen for requests on the default SIP ports (5060 for TCP and UDP,
5061 for TLS over TCP) on all public interfaces.

Für mich ist das zwar trotzdem ein MUST, denn ich akzeptiere im Normalfall eigentlich auch die EMPFEHLUNG, nicht bei Rot über die Kreuzung zu latschen, aber rein nach dem Buchstaben des "Gesetzes" muss ich Gandalf Recht geben. Man kann als Provider tatsächlich auf 5060/61 verzichten.

Nein. Weiter oben hattest Du es doch schon richtig geschrieben.
Fazit: Der Provider entscheidet nur über seine eigenen Ports. Festlegungen eines Standards können dafür verwendet werden - müssen jedoch nicht. Das Endgerät entscheidet über seine Ports.

Ja, natürlich. Ziemlicher Quatsch mein Fazit. Muss an der Uhrzeit gelegen haben. Deine Formulierung ist korrekt.


Grüsse
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,475
Beiträge
2,292,291
Mitglieder
377,928
Neuestes Mitglied
mp24