Netcologne VoIP einrichten

Seit heute hat endlich VDSL mein #Neuland erreicht und den ADSL-Anschluss mit ISDN-Telefonie abgelöst. Damit endet nach recht genau 19 Jahren auch meine ISDN-Ära. Tatsächlich sehe ich das mit einem etwas weinenden Auge, denn zu meinen Amiga-Zeiten war es noch die coolste Art, um zu telefonieren und ins Internet zu kommen. Aber ich schweife ab...

Leider war die Einrichtung von Netcologne-SIP auf meiner eigenen FritzBox alles andere als einfach, da ich nirgendwo im Internet brauchbare Informationen fand. Nach einigem Experimentieren hat es aber doch geklappt. Nun denn, vielleicht hilft das hier ja auch anderen weiter...

Auf der Netcologne-Einstellungsseite kann man sich ein SIP-Passwort generieren lassen und auch gleich die Login-Daten abholen. Das Generieren des Passworts dauert einen Augenblick, also Geduld. Wenn man mehrmals klickt, kann es sein, dass das angezeigte Passwort nicht das Richtige ist. Wenn man mehrere Rufnummern hat, braucht man für jede ein eigenes Passwort.

Für die fiktive Telefonnummer 0221-123456 erzeugt man dann auf der FritzBox eine neue Rufnummer mit folgenden Parametern:

Telefonie-Anbieter:Anderer Anbieter
Rufnummer der Anmeldung:221123456← Die ganze Rufnummer ohne führende Null
Interne Rufnummer:123456← Nur die Rufnummer (ohne Vorwahl)
Benutzername:221123456@sip.netcologne.de← SIP-Username wie auf der Einstellungsseite
Kennwort:●●●●●●●●← Das SIP-Passwort von der Einstellungsseite
Registrar:sip.netcologne.de← SIP-Server von der Einstellungsseite
Proxy-Server:sip.netcologne.de← SIP-Server von der Einstellungsseite

Die anderen Parameter lässt man am besten einfach, wie sie sind.

Bei dem VDSL-Bitstream-Anschluss muss außerdem die VLAN-ID für Internettelefonie auf 7 eingestellt werden. Bei einem VDSL-Anschluss (ohne Bitstream) ist die VLAN-ID für Telefonie offenbar 10 (das kann ich bei mir aber nicht ausprobieren). Welche Anschlussart man hat, steht im Schreiben, das man von Netcologne bekommen hat.

Bei mir hat das so funktioniert. Aber die Werte wurden experimentell ermittelt. Im Zweifelsfall sollte man die Netcologne-Hotline anrufen (wie auch immer man das mit einem nicht funktionierenden Telefonanschluss schaffen möchte).


Nachtrag, 08.07.2016: PhilGr schrieb als Kommentar:

Für alle, bei denen es nicht klappt: Ihr müsst den Haken bei "Anmeldung immer über eine Internetverbindung" entfernen!

Bei meinem VDSL-Bitstream-Anschluss funktioniert es auch mit gesetztem Haken. Ich vermute aber, beim VDSL-Anschluss muss er raus. Danke auf jeden Fall für den Hinweis!


Nachtrag, 22.08.2017: Für den SIP-Server sollte sip.netcologne.de (oder was bei dir auf der Netcologne-Einstellungsseite steht) verwendet werden. Vorher stand hier im Artikel eine feste IP-Adresse, die aber anscheinend nicht mehr aktuell ist. Danke an Ralph für den Stuppser in die richtige Richtung.


Nachtrag, 22.02.2018: Ich habe als Vorbereitung für die DSGVO den Kommentarbereich entfernt. Ich freue mich aber weiterhin über eure Anmerkungen. Bitte schickt sie mir per E-Mail.

Alter USB-Scanner mag keinen Strom sparen

Wieder einmal hatte ich Probleme mit meinem altgedienten Canon LiDE 20-Scanner. Diesmal wurde er zwar per USB erkannt, aber wenn ich etwas scannen wollte, erhielt ich nur Fehlermeldungen oder schwarze Seiten.

Der Grund liegt in den USB-Stromsparmaßnahmen moderner Linux-Kernel. Alte USB-Geräte haben ihre Probleme damit, einfach zwischendurch den Saft abgedreht zu bekommen.

Zum Glück kann man es bei Fedora leicht ausschalten:

echo -1 >/sys/module/usbcore/parameters/autosuspend

Der USB auto suspend ist dann für alle USB-Geräte abgeschaltet, die von jetzt an angeschlossen werden, also sollte man seinen Scanner erst danach einstecken. Beim nächsten Reboot ist der Effekt auch schon wieder vorbei.

Stream trouble

I just had a stream of objects I wanted to sort and convert to a list. Optionally it should also be limited to a maximum number of entries. Piece of cake with Java 8:

Stream<T> stream = collection.stream().sorted(comparator);
if (max >= 0) {
  stream.limit(max);
}
List<T> result = stream.collect(Collectors.toList());

Or so I thought... The code above throws an IllegalStateException at runtime, stating that the "stream has already been operated upon or closed".

The cause should be obvious. However it took me a while to find it, so I am posting it in case other people (possibly you when you came here via search engine) get stuck at the same place. Stream operations are very likely to return a different Stream object. The limit() method is such an example. In my code above, limit() operates on the stream and returns a limited stream. However I just throw away the returned stream and invoke collect() on the original stream, which was now already operated upon.

The solution is simple:

if (max >= 0) {
  stream = stream.limit(max);
}
Setting up TP-Link TL-SG108E with Linux

UPDATE: It seems that starting with hardware version 2, these switches have an actual web interface. Too sad my ones are version 1. 😢

Frankly, I didn't expect it and I was somewhat disappointed when I found out that the TP-Link TL-SG108E Easy Smart Switch (and its little brother TL-SG105E) cannot be configured via web browser. And I was even more disappointed when I found out that, even though Linux and MacOS were listed on the retail box, the configuration tool Easy Smart Configuration Utility runs on Windows only. And they mean it! When started in a Windows VM, the utility does not see any switches.

So the devices are rather cheap for a smart switch, but they still come with a price: no web interface.

However, thanks to some help in the interwebs, I was finally able to run the Configuration Utility on Fedora Linux. It's not that easy, though.

Read this article...
Mavenize your Sass

Sass is a kind of precompiler for CSS that offers additional features like nested styles, variables or includes. The syntax of scss files is similar to standard CSS, so it's very easy to learn.

My goal is to:

  • nicely integrate Sass into the Maven build process,
  • use Jetty to see the web application with the compiled css files, and
  • see changes to a Sass file live (without running Maven or restarting Jetty).
Read this article...