Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 08:43 AM
WebRTC externe Zugang + NAT
Hallo,

wir haben über NAT den myPBX-WebClient von extern erreibar gemacht.

Die Telefonie mit dem WebRTC-Softphone funktioniert zwar nur, wenn der Rechner, der den myPBX-WebClient startet NICHT hinter NAT sitzt.

Nach einem genaueren Blick auf die Wiki, findet man:
  • TURN is currently not implemented, so ICE doesn't support both endpoints being behind symmetric NAT. Also one endpoint behind symmetric NAT and the other one behind port restricted cone NAT doesn't work.
Wie löst ihr momentan dieses Problem ohne TURN? denn im 99% der Fälle sind beide Endpunkte beide hinter NAT ohne direkte Route da zwischen.

Ist es geplant, irgendwann TURN zu implementieren?

Viele Grüße.
Picture of Michael 1531
Registered 10 years 286 days
Michael 1531 Tuesday, 24 March 2015, 08:54 AM
1 of 1 users consider this post helpful
Re: WebRTC externe Zugang + NAT
Hy

Ich habe das so gelöst:
Die entrechenden Ports also HTTPS und den UDP Bereich für die RTP Ports auf die PBX ein Destination NAT machst (und Firewallregeln).

Des weiteren habe ich dann den RTP Proxy eingeschaltet und die internen Adressen excluded. Somit werden die Sprachpakete über die PBX gehandelt sobald diese nicht einer internen Adresse entsprechen.

RTP Proxy: http://wiki.innovaphone.com/index.php?title=Reference11r1:PBX/Config/General

UDP Bereich: http://wiki.innovaphone.com/index.php?title=Howto:What_Ports_are_used_for_Signaling_and_Voice_Traffic_in_SIP_and_H.323%3F

Weiss nicht ob das dir so weiterhilft smile

Gruss Michi
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 09:09 AM
Re: WebRTC externe Zugang + NAT
Hi Michi,

Danke für deine Antwort, es sieht erstmal gut aus. smile

Noch eine Frage: verwendest fu STUN?

Viele Grüße.

Carlos.
Picture of Michael 1531
Registered 10 years 286 days
Michael 1531 Tuesday, 24 March 2015, 09:17 AM
Re: WebRTC externe Zugang + NAT
Ja genau, ich verwende den "stun.sipgate.net" Aber du kannst auch selber einen Hosten mit der Inno.
smile

Habe auch ein wenig gekämpft bis das alles ging wink

Grüsse Michi
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 09:50 AM
Re: WebRTC externe Zugang + NAT
Ich glaube wir verwenden alle den selben STUN-Server smile

Wie hast du es geschafft, das die peer-to-peer-STUN-Anfragen in beide Richtungen ankommen?

Grüße,

Carlos.
Picture of Michael 1531
Registered 10 years 286 days
Michael 1531 Tuesday, 24 March 2015, 10:31 AM
Re: WebRTC externe Zugang + NAT
Einmal den STUN bei PBX Unter General-IPV4-STUN. Und dann noch bei den Clients..

Oder was meinst du genau ?

Gruss Michi
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 11:00 AM
Re: WebRTC externe Zugang + NAT
Also, die Endpunkte müssen den STUN Server fragen, sammeln eine Liste von IPs des Partners und schicken STUN-Anfragen an jede mögliche IP.

Der Partner muss auf eine von diesen antworten und dann wird dieses Path ausgewählt.

Welche Ports/Nat-Konfiguration hast du dafür anpegasst?

Grüße,

Carlos.
2013
Moderator Registered 15 years 240 days
Guntram Diehl (innovaphone) Tuesday, 24 March 2015, 11:37 AM
1 of 1 users consider this post helpful
Re: WebRTC externe Zugang + NAT
Hallo,
genau ist der Ablauf wie folgt:
  • Jeder Endpunkt sammelt erst einmal Informationen über die eigenen IP Adressen/Ports. Das sind entweder lokale, oder öffentliche von einen NAT Router, wo durch die Anfrage zu einen Stun Server ein entsprechendes Mapping hergestellt wird. Diese Liste von Adressen kann IPv4 und IPv6 Adressen enthalten.
  • Diese Liste (Candidates) wird im Zuge der Signalisierung zur anderen Seite übermittelt.
  • Beide Seiten prüfen dann wiederum mit Stun Requests zu den Kandidaten der anderen Seite, welche Kombinationen funktionieren.
  • Wenn eine funktionierende Kombination gefunden wurd, wird Ende zu Ende RTP gesendet.

Für NAT Router gibt es wiederum unterschiedliche Betriebsmodi:

  • Full-Cone: Wenn ein Mapping hergestellt wurde, empfängt man auf dieser öffentlichen IP Adresse, von jeder beliebigen öffentlichen Adresse
  • Restricted: Wie Full-Cone jedoch empfängt man auf dem Mapping nur von Adressen zu denen man auch gesendet hat
  • Port Restricted: Wie Restricted, nur man muss auch noch zu dem Port gesendet haben
  • Symmetric: Man empfängt nur von der Adresse/Port zu der man gesendet hat um das Mapping herzustellen.

Wenn einer der beiden beteiligten NAT Router (also z.B. der eigene) Full-Cone oder Restricted macht, funktioniert der Mechanismus.

Ist das nicht der Fall, wird TURN benötigt. Da sind wir dran, geht im Moment nicht. Ist aber nicht so schlimm, da man es ja mit dem eigenen NAT Router in der Hand hat das zu lösen.

Guntram

Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 11:55 AM
Re: WebRTC externe Zugang + NAT
Hallo Guntram,

danke für deine Antwort, jetzt ist das ein bisschen klärer geworden.

Dann, wenn man HTTPS/RTP Ports aufs innovaphone PBX durchnatet, sollte es funktionieren, immer wenn das NAT entweder Full-Cone oder Restricted ist.
Egal was für ein NAT die andere Seite konfiguriert hat.

Mir ist noch nicht ganz klar welche Ports muss man auch durchnaten, damit der Teil: "Beide Seiten prüfen dann wiederum mit Stun Requests zu den Kandidaten der anderen Seite, welche Kombinationen funktionieren." auch funktioniert.

In unserem Fall, sind diese Requests nicht angekommen.

Grüße,

Carlos.
2013
Moderator Registered 15 years 240 days
Guntram Diehl (innovaphone) Tuesday, 24 March 2015, 12:11 PM
Re: WebRTC externe Zugang + NAT
Damit die Sprachdaten Ende zu Ende durch kommen, muss der eigene NAT Router nur Full-Cone oder Restricted NAT machen.

Damit sich myPBX per HTTPS an der PBX anmelden kann, braucht man ein inbound TCP NAT Mapping des Port 443 auf die PBX.

Mehr ist an Netzwerkvoraussetzungen nicht nötig.

Guntram
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 01:46 PM
Re: WebRTC externe Zugang + NAT
Hallo nochmal,

habe gerade es überpruft und bestätigt, dass unserer Router (pfsense) kein Full Cone NAT bzw. kein Restricted NAT kann.

Wenn es keine Andere Lösung gibt müssen wir ja warten auf eine künftige Release, die TURN unterstützt.

Ich vermute, dass dieser der Fall bei vielen Kunden sein wird, denn Full Cone NAT/Full Cone restricted als "unsicher" bezeichnet wird.

Grüße,

Carlos.


Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Tuesday, 24 March 2015, 03:53 PM
Re: WebRTC externe Zugang + NAT
Hallo Carlos,

die Sicherheitsexperten werden auch das NAT Map für 443/1300 nicht mögen. Du könntest in der DMZ eine extra PBX aufstellen, auf der Du SB Objekte für die User installierst. Damit hast Du schon mal einen Anmeldungsproxy. Dann kannst Du da noch das "Media Relay" Häkchen anmachen und schon hast Du auch einen Media-Proxy. Skaliert halt nicht so ideal, da die Medien eben immer durch den Proxy geroutet werden und damit Last machen und Deinen Internet Zugang verstopfen.

Das nächste, was Deinen Sicherheitsexperten nicht gefallen wird ist das 80/443 NAT Mapping für myPBX. Dagegen hilft im Moment nur ein 3rd party Reverse Web Proxy (ich habe das allerdings selber noch nicht konkret ausprobiert).

LG, Christoph
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Tuesday, 24 March 2015, 04:14 PM
Re: WebRTC externe Zugang + NAT
Hallo Christoph,

im Prinzip war das nur für WebRTC gedacht und nicht für die Registrierung von Endgeräte.

Um diese NAT für die Ports 80/443 zu vermeiden haben wir ein revese Proxy mit Apache konfiguriert. Funktioniert auch gut.

Das Thema hier ist, dass entweder setzen wir einen zweiten Router, der Full Cone NAT kann... oder wir kommen nicht voran, denn eine Kiste direkt im Internet zu stellen ist auch keine Option bei uns.

Eigentlich das Ziel war die Funktion den Kunden zeigen zu können. Wir können den riesigen Aufwand in Kauf nehmen, können aber nicht den von Kunden verlagen... das lässt sich nur schwer verkaufen. smile

Und es ist schade, denn die Funktion wäre total cool und verlockend für potentiale Kunde.

danke und Grüße,

Carlos.
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Tuesday, 24 March 2015, 05:09 PM
Re: WebRTC externe Zugang + NAT
Hi Carlos,

Du hast das auf Apache Basis laufen als RevProxy? Cool!

Überleg noch mal die Variante mit einer PBX in der DMZ wo nur SB Objekte drauf sind mit media-relay. Das löst doch Dein full-cone Problem und dann bist Du der Held der Firewall-Betreiber!

LG, Christoph
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Wednesday, 25 March 2015, 08:19 AM
Re: WebRTC externe Zugang + NAT
Naja, dabei hat mir ein Kollege mehr als geholfen smile

Ich werde die Lösung vorschlagen.

Danke vielmals.

Carlos.
Picture of Michael 1531
Registered 10 years 286 days
Michael 1531 Wednesday, 25 March 2015, 08:22 AM in response to Christoph Künkel (innovaphone)
Re: WebRTC externe Zugang + NAT
Hallo Christoph

Kann es sein das es diese "Session Border" Objekte in der V11 nicht mehr gibt ?
http://wiki.innovaphone.com/index.php?title=Reference11r1:PBX/Objects

Oder suche ich am falschen Ort thoughtful

Gruss Michi
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Wednesday, 25 March 2015, 08:25 AM
Re: WebRTC externe Zugang + NAT
doch, die gibt es schon noch. Man braucht halt eine Lizenz damit man sie anlegen kann (oder den Test mode).

Die sind nicht so prominent angepriesen im wiki, da wir an sich die Vorstellung hatten, dass diese Objekte nur in sehr speziellen Szenarien (Hosting) verwendet werden.

LG, Christoph
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Wednesday, 25 March 2015, 09:01 AM
Re: WebRTC externe Zugang + NAT
ist nun im Wiki mit aufgeführt
Picture of Michael 1531
Registered 10 years 286 days
Michael 1531 Wednesday, 25 March 2015, 09:04 AM
Re: WebRTC externe Zugang + NAT
Alles klar Besten Dank smile !

Gruss Michi
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Wednesday, 25 March 2015, 01:27 PM
Re: WebRTC externe Zugang + NAT
Hallo nochmal Christoph,

ich versuche gerade diese SBC Funktion zu testen… kann ich aber nur Telefone damit registrieren. Dieses Objekt leitet die Registrierungen auf die interne Kiste und das Telefon kann sich mit externen Zugangsdaten intern registrieren. das ist OK....aber...

...das Ziel war doch das WebRTC.

Ich versuche jetzt in myPBX-Web anzumelden.:

- Aktiviere myPBX auf der SB-Kiste in DMZ.
- Versuche mich mit dem sb-Objekt anzumelden…
- Und kriege eine „Falscher Benutzername/Passwort“ Meldung.

Die Kiste leitet die H323 Registrierungen weiter, aber die Anmeldung in myPBX leitet er nicht weiter.

Ich könnte NAT auf der SB-Kiste aktivieren und die Anfragen an die interne Kiste weiterleiten... wir haben aber wieder das Problem, dass die Admin-Interface vom PBX erreichbar von Internet ist... no go

Habe ich das falsch verstanden?

Grüße,

Carlos.

Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Wednesday, 25 March 2015, 02:11 PM
Re: WebRTC externe Zugang + NAT
Hallo Carlos,

hmpff - Schande auf mein Haupt. Den WebRTC mit myPBX Aspekt habe ich ganz übersehen - ich hatte einfach Festtelephone und das Android im Kopf sad

Beim WebRTC hat man da gar keine Chance. Es ist ja so, dass der Signalisierungsendpunkt von so einem WebRTC Gespräch in der internen PBX des Users liegt (eben da, wo das myPBX per HTTP hin spricht). Damit liegt der schon mal auf der falschen Seite des NAT und wir können auch nicht speziell dafür media relay anschalten.

So sind wir für die generelle Lösung wieder zurück am Anfang - der Router muss ein geeignetes NAT können.

Der einzige Trost, den ich hier noch spenden kann ist, dass es wenn man genau hinschaut nicht ganz so schlimm ist (aus dem v11 Advanced Training):

If none of the involved routers support full cone NAT, it might still work.

Full-cone, restricted- and port-restricted will work in any combination. However, if one end does symmetric NAT it will work only if the other side does full-cone or restricted NAT.
Oder anders ausgedrückt: wenn der eigene Router full cone NAT oder restricted NAT spricht, dann klappt es auch immer. Das tröstet u.-U. die Sicherheitsfraktion aber natürlich nicht den Kunden, der einen anderen Router hat.

Sorry, Christoph
Picture of Carlos 1853
Registered 10 years 68 days
Carlos 1853 Wednesday, 25 March 2015, 03:07 PM
1 of 1 users consider this post helpful
Re: WebRTC externe Zugang + NAT
sad


Wir müssen denn erstmal in unserem Fall abwarten, bis eine Lösung mit TURN rauskommt.

trotzdem vielen Dank und viele Grüße,


Carlos.

PD. Haben dir die kleine Hinweise fürs Reverse Proxy weitergeholfen?
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Wednesday, 25 March 2015, 06:53 PM
Re: WebRTC externe Zugang + NAT
ja, klasse, danke!!
← You can define your color theme preference here