OPNsense Forum

International Forums => German - Deutsch => Topic started by: NicholasRush on August 22, 2017, 11:38:55 pm

Title: Kamailio Sip Proxy
Post by: NicholasRush on August 22, 2017, 11:38:55 pm
Hallo,

ich wollte mal fragen, ob ihr plant den Kamailio Sip Proxy als Plugin, aufzunehmen. Ich habe hier jetzt bei mir Privat, aufgrund von ALL IP zwang, meine Fritz Box in Rente geschickt und fahre jetzt OPNsense only. Für Telefonie plane ich einen Asterisk einzusetzen. Allerdings möchte ich diesen nicht offen ins Netz setzen, also einfach Sip und RTP Ports forwarden, sondern Plane schon eine gewisse Sicherheit ein. Daher meine Frage, nach Kamailio. Es gibt zwar auch Siproxd aber Kamailio lässt sich ja vielfältig konfigurieren. Also in meinem Fall für Sip Paket inspection. usw. Also Upstream Proxy. So bräuchte ich dann die Ports vom Asterisk gar nicht zu forwarden. Sondern nur den Kamailio als outbound Proxy einzutragen. So sind dann ein und ausgehende Telefonate sicher möglich, Accountscans werden erst gar nicht zum Asterisk weitergeleitet im idealfall.


Gruß
NicholasRush
Title: Re: Kamailio Sip Proxy
Post by: mimugmail on August 23, 2017, 07:22:08 am
Was spricht denn dagegen Asterisk direkt auf OPN laufen zu lassen?
Title: Re: Kamailio Sip Proxy
Post by: NicholasRush on August 23, 2017, 12:28:24 pm
Was spricht denn dagegen Asterisk direkt auf OPN laufen zu lassen?

Vor allem der Grund nicht alles auf einer Hardware laufen zu lassen. Von der Sicherheit mal abgesehen, auch weil ich OPNsense ja nicht zur Telefonanlage umfunktionieren wollte. OPNsense ist hier nur der Router mit Firewall. Und da ja auch ein HTTP-Proxy integriert ist, wollte ich eben mal fragen ob es in Zukunft auch Kamailio oder Sipproxd gibt. Den Threadtitel habe ich extra nach Kamailio benannt, da dieser ja weit aus mehr funktionen hat als Sipproxd. Also im Grunde L7 Firewalling für SIP und RTP. Asterisk hat meiner Meinung nach auch nichts auf einer Firewall verloren.

Momentan sieht mein Netzwerk so aus, das OPNsense auch die PPPoE einwahl macht. Das Lan Interface stellt zwei VLANs bereit, eins für VOIP und letztlich das wo meine PCs drin sind. Im VOIP VLAN steht jetzt der Asterisk, allerdings habe ich, da Asterisk übergangsweise noch als Virtuelle Maschiene läuft, in einer zweiten VM Kamaillio installiert und die Ports in OPNsense geforwarded und freigegeben. So ist für jeden Telekom Account bspw. der Kamailio als Upstream Proxy eingetragen. So kann man letztlich raus und reintelefonieren über die Telekom Rufnummern, aber sich niemals von aussen am Asterisk registrieren. Was ansonsten, wären die Asterisk Ports direkt auf die Öffentliche IP geforwarded, ja möglich wäre.

Ich könnte mir nur die Kamailio VM sparen, wenn dieser direkt auf OPNsense laufen würde. Zudem würde ich den Asterisk dann auch auf ein PC-Engines Mainboard umziehen. Das braucht dann alles weniger Strom.

Kamailio als Upstream Proxy hat unter anderem den Vorteil, das Telefone oder wie in meinem Fall Asterisk, keine NAT Keep-Alive Pakete senden brauchen, da ja die ganze Komunikation über Kamailio abgewickelt wird.

Kamailio ist hier ganz klar mein Favorit als Sip Proxy, da dieser auch bei Providern eingesetzt wird und Konfigurationstechnisch keine Grenze offen lässt. Außerdem ist durch den Einsatz bei Service Providern gewährleistet das Kamaillio immer mit Sicherheitsupdates versorgt wird. Klar sollte man nicht vergessen, das man aufgrund der Konfigurationsmöglichkeiten von Kamailio auch selbst dafür sorgen muss, dass man sich keine Sicherheitslücken einbaut. Aber das könnte man ja im Webinterface mit einer Standardkonfiguration als Proxy vorgeben.

Also das man vom OPNsense Webinterface nachher Kamailio als  Outbound-Proxy über ein Formular konfigurieren kann. Sogesehen als Dynamische Kamailio konfiguration. Für diesen einen Anwendungsfall.
Title: Re: Kamailio Sip Proxy
Post by: mimugmail on August 23, 2017, 01:34:10 pm
Sipproxd sollte ja als Paket drauf sein, wäre also recht einfach ein Plugin zu erstellen. Kamaillo kenn ich nur vom hören, gibt's das für BSD? Charmant wäre entweder lokale TK oder Proxy. Da viele OPN User Privatanwender sind wäre das sicher interessant.

Also wenn Franco das als Paket bauen kann und du das Know-how von der Config lieferst kann ich schon ein Plugin bauen
Title: Re: Kamailio Sip Proxy
Post by: franco on August 23, 2017, 03:15:00 pm
https://github.com/opnsense/tools/blob/master/config/17.7/ports.conf#L120

Schon sehr lange dabei. :)
Title: Re: Kamailio Sip Proxy
Post by: mimugmail on August 23, 2017, 04:19:16 pm
Aber ist das der von Kamaillio?
Title: Re: Kamailio Sip Proxy
Post by: franco on August 23, 2017, 05:18:19 pm
Nö.

http://www.freshports.org/net/siproxd/

Hier isser...

http://www.freshports.org/net/kamailio/

Kann mal schauen, ob wir das Package aufnehmen können.
Title: Re: Kamailio Sip Proxy
Post by: NicholasRush on August 23, 2017, 09:07:42 pm
Ich werde gleich mal den Siproxd auf OPNsense installieren. Und dann mal schauen ob eine Registrierung und die Telefonie darüber genauso funktionieren.

Die Konfiguration werde ich wie hier beschrieben machen: http://siproxd.sourceforge.net/siproxd_guide/siproxd_guide_c7s2.html (http://siproxd.sourceforge.net/siproxd_guide/siproxd_guide_c7s2.html)

Da es bei Sipproxd nicht so viele Optionen gibt, denke ich das sich das damit einfacher bewerkstelligen lässt, genauso ein Formular fürs Webinterface.

Klar, Kamailio ist das non Plus Ultra, im Grunde das beste was man bekommen kann, eben wegen der Konfigurationsflexibilität.

Aber wie ich eben festgestellt habe, leider ein bisschen "Zickig", wenn man versucht die Konfiguration Dynamisch zu gestalten. Da es, wie es aussieht, ein bisschen länger dauern wird die Konfiguration so zu gestalten, das man mit dem Webinterface nachher auch etwas konfigurieren kann werde ich Kamailio wohl erstmal hinauszögern. Auch wenn da einfach eine Textbox mit "Speichern", "Restart" und "Reload" hilfreich wäre. So wäre das Paket zumindest schon mal auf OPNsense vorhanden.

Ich habe leider berufsbedingt auch nicht so viel Zeit, die ich da reinstecken kann. Und meine Konfiguration von Kamailio ist eher so gestaltet das, nur der Sip Header auf die Öffentliche IP umgeschrieben wird. Also im Grunde relativ einfach, die umfassende Filterung mit Antiflood etc. bin ich ja bisher noch gar nicht zu gekommen.

Um Kamailio zu Konfigurieren muss man das Sip Protokoll verstehen, da man direkt auf Protokollebene Arbeitet. Mit Wireshark sieht man dann die Änderungen die man in der Konfigurationsdatei gemacht hat, am echten Sip Paket.

Im Grunde soll halt meine Kamailio Konfig am Ende das können was Siproxd kann, nur ohne die damaligen Kinderkrankheiten. Das letzte mal als ich mich Sipproxd gearbeitet habe war das 2012 mit der Version 0.7 glaube ich. Und das war nicht schön, da einfach mal nach 30 min nichts mehr ging, da Siproxd abgestürzt ist. Und damit habe ich es dann auch erstmal belassen.


Ich melde mich dann wenn ich was neues habe.
Title: Re: Kamailio Sip Proxy
Post by: NicholasRush on August 24, 2017, 01:19:28 pm
Also alles läuft mit siproxd bisher ohne Probleme. Auch scheint es keine Probleme mehr mit Abstürzen zu geben. Bis jetzt insgesamt bin ich zufrieden.

Wenn ihr siproxd fest als Plugin einbauen würdet wäre das wirklich toll. Für Kamailio werde ich trotzdem bei zeiten noch eine Dynamisch angepasste Konfiguration erstellen. Da muss ich nur ziemlich viel Debuggen deshalb wird das wohl einige Zeit dauern.

Wichtig wäre im Konfigurationsformular von siproxd die "Outbound proxy (Provider specific)" Sektion, als Tabelle auszuführen.

Was auch gut ist, ist der Siproxd Transparent Mode, sodass man gar keinen Outbound Proxy bei Asterisk oder einem Sip Phone einzutragen braucht, wäre gut wenn man das auch einbauen könnte.

Title: Re: Kamailio Sip Proxy
Post by: mimugmail on August 24, 2017, 01:55:38 pm
Klar. Mach bei Github in den Plugins einen Feature Requests und dann machen wir das gemeinsam. Du musst mir nur die Config und Abhängigkeiten erklären (in Github). Am 4.9. bin ich wieder in der Arbeit, dann gehen wir das an.
Title: Re: Kamailio Sip Proxy
Post by: NicholasRush on August 24, 2017, 01:59:46 pm
OK, mache ich. Ich werde das ganze mal Dokumentieren. Da ich selber mal rausfinden muss, was sich bei Siproxd geändert hat.

Und mal einige Konfigrationsoptionen ausprobieren muss.
Title: Re: Kamailio Sip Proxy
Post by: NicholasRush on September 03, 2017, 09:54:57 pm
Habe jetzt den Feature Request auf GitHub erstellt.

https://github.com/opnsense/plugins/issues/246 (https://github.com/opnsense/plugins/issues/246)

Die Dokumentation habe ich angehangen.
Title: Re: Kamailio Sip Proxy
Post by: eugenmayer on October 06, 2017, 11:50:11 am
Hallo zusammen,

ich würde durchaus mal als Beta-Test anspringen, folgendes Szenario bei mir.

Wir nutzen Sipgate-Team - wen ich mein Gigaset hinter die OpnSENSE box hänge oder ein Softphone hinter OpnSENSE nutze, dann habe ich, wenn der Call aufgebaut ist, kein Audio. Nach dem hier https://teamhelp.sipgate.co.uk/hc/en-gb/articles/204217301-Problems-Making-and-Receiving-Calls-  "Phone calls connect, but audio is lost in one or both directions." ist das ja eben ein Netzwerk Problem.

Bestätigt sich auch, hänge ich das Gigaset direkt an den Speedport Router ( ISP ist Telekom ) klappt alles bestens.

Ich bin hier nicht ganz so auf dem Dampfer, aber das ist genau das Problem, mit dem das Plugin umgehen soll, also LocalPort/Media Port?