[fli4l] SIP - dyna?==?utf-8?Q?mische Umschaltung von udp?==?utf-8?Q? auf tcp

Erwin Lottermann broeselmeier at gmx.de
Mi Mai 25 09:59:52 CEST 2016


Zitat: Torsten Kästel schrieb am Di, 24 Mai 2016 21:14
----------------------------------------------------
> Hallo Erwin,
> 
> das klingt für mich als Laien sehr plausibel. Bei mir gibt es auch
> den 
> Effekt, dass ich nur für manche Anrufer nicht erreichbar bin und
> die 
> Telekom konnte keinen Fehler feststellen.
> 
> Wie sieht denn dann die konkrete Konfiguration des fli4l (Version 
> 3.10.x) für Deine Lösung aus?
> 
> Beste Grüße
> Torsten
> 

Meine Lösung ist gar keine besondere, sondern ist lediglich eine
Erklärung, warum die Standardempfehlung, ein Portforwarding für 5060
udp+tcp für den SIP-Client im LAN zu konfigurieren, erforderlich ist.

In den Konfigurationsempfehlungen vieler SIP-Provider taucht immer
wieder der Hinweis auf, für SIP möglichst keine speziellen
Routerkonfigurationen zu machen, weil das die providerseitigen
Maßnahmen des Verbindungsaufbaus und der Verbindungsüberwachung
aushebeln könnte.
Bei meinen ersten Gehversuchen mit SIP konnte ich auch ohne
Portforwarding angerufen werden.
Daraufhin kamen hier erste Hinweise, dass man z.B. bei der Telekom ohne
die Portforwardings nicht immer erreichbar ist.
In einem Draytek-Forum fand ich die Beobachtung, dass die Telekom zu
große UDP-SIP-Requests schicken würde, die nicht
https://tools.ietf.org/html/rfc3261#section-18.1 entsprechen und
außerdem wegen zu großer MTU gleich vom Router verworfen würden.

Ich kann nicht ausschließen, dass es tatsächlich einen Fehler auf
Seiten der Telekom gibt, der zu den zu großen UDP-Messages führt. So
lange ich am Router aber den SIP-Port nicht für TCP geöffnet habe,
würde ich dieses Verhalten nicht für einen Fehler sondern für ein
Fallback-Verhalten für den Fall, dass keine TCP-Verbindung aufgebaut
werden kann, halten.
Da von allein (durch den Registrierungsvorgang des SIP-Clients) am
Router der Port 5060 nur für udp geöffnet wird, muss man mindestens
für tcp ein manuelles Portforwarding für den SIP-Client
konfigurieren.

Die einfachste Variante der Konfiguration dürfte so aussehen.

PF_PREROUTING_x='tmpl:sip any dynamic DNAT:@fritzbox'

Wobei angenommen wird, dass es einen DNS-Eintrag für fritzbox (den
SIP-Client) gibt.
Andernfalls ist statt fritzbox die IP des SIP-Clients zu verwenden.
Das SIP-Template öffnet die Ports 5060+5061 für udp und tcp.
(5061 ist der Default-Port für SIPS)


Mehr Informationen über die Mailingliste Fli4L