Dienstag, 30. Juli 2013

Swisscom Multicast im LAN

IP-Multicast

Wer Swisscom TV hat, stellt sich vielleicht die Frage welchen Switch man im LAN verwenden kann, damit das Fernsehen weiterhin ein Vergnügen bleibt. Wer sich diese Frage nicht stellt, der ist unter Umständen hier gelandet, weil das WLAN nicht funktioniert so lange man Swisscom TV schaut. Ziemlich sicher bist du über den Begriff Multicast oder IGMP Snooping gestossen...
Wie auch immer. Die Lösung oder Antwort ist relativ simpel. Hier versuche ich mit möglichst einfachen Worten, Multicast und IGMP im Bezug auf Swisscom TV zu erklären, damit jedermann mit einfachen Mitteln wieder Herr der Dinge wird.

"Kurzeinführung"

Es gibt verschiedene Methoden IP Daten zu übertragen. Die gängigste Methode nennt sich Unicast. Hier werden die Daten gezielt von Punkt A nach Punkt B gesendet und umgekehrt. Man könnte im übertragenem Sinne von einer Punkt zu Punkt Verbindung sprechen (auch wenn es im Internet über verschiedene Stationen geht). Im Allgemeinen ebenfalls bekannt ist die Broadcast Übertragung. Sicher kennt jeder das simultane Blinken aller Ports an einem Switch, wenn ein Gerät auf der Suche nach einem anderen oder nach gewissen Services ist. Beim Broadcast wird eine Nachricht an alle gesendet, zB. bei einem DHCP Request über IPv4. Da der DHCP Server noch nicht bekannt ist, wird in diesem Fall mal quasi in die Runde gerufen ob sich bitte ein solcher Server melden könnte.
Multicast ist ebenfalls eine Methode der Datenübertragung. Im Gegensatz zum Broadcast wo die Daten an alle gesendet wird und somit auch Ziele erreicht, welche eigentlich gar nicht daran interessiert sind, schränkt sich Multicast auf Empfänger bzw. Empfängergruppen ein welche explizit solchen Multicast Gruppen beitreten wollen oder beigetreten sind. Multicast ist also das Broadcast für interessierte Empfänger und schont somit das Netzwerk vor unnötigem Traffic.

Wie bei Broadcast muss der Sender seine Daten nur einmalig versenden. Die Vervielfältigung der Datenpakete auf einzelne Empfangsziele zB. IPTV Streams auf STB'en, findet dann jeweils nur bei den Routern und Switches statt. Würde man hier Unicast verwenden, so müsste für jede STB welche einen identischen Stream anschaut, nehmen wir mal die Tagesschau um halb acht an, eine separate Verbindung vom Server zur STB gemacht werden. Somit wäre IPTV in hoher Qualität und einer grossen Anzahl an Kunden gar nie möglich gewesen. Die Backbone sowie Server Infrastruktur wäre masselos überfordert. Die Kapazitäten auf dem Netz und die Fähigkeiten der Server und Software werden aber immer besser. So das ein grosser Teil der IPTV Streams nun nach und nach eigentlich in Unicast gesendet werden können. Somit ermöglichen sich auch ganz neue Services wie Replay TV. Was früher nur bei VoD der Fall war, ist bei Replay TV gar nicht anders zu lösen. Hier müssen die Streams in Unicast gesendet werden, da es praktisch unmöglich ist, dass 2 oder mehr Empfänger die genau gleiche Sendung mit dem genau gleichen Timestamp gleichzeitig anschauen, was die Anwendung von Multicast verunmöglicht. In einer Zukunft in der die STB'en  keine Harddisk mehr haben "könnten" und sämtliche Streams von der Cloud geliefert werden "würden", wird die Anzahl an Unicast Streams noch mehr zunehmen. Jeder Pausendruck, jede Aufnahme wird sofort als Unicast gesendet werden!
Nichts desto trotz bleibt Multicast ein wichtiges IPTV Mittel, um Bandbreite bei linearen TV Inhalten zu schonen.

Zur Steuerung und Organisation der der Multicast Gruppen wird das Netzwerkprotokoll IGMP verwendet. Im LAN melden die einzelnen Clients ihr Interesse an Multicast-Gruppen am sogenannten IGMP Proxy an oder wieder ab, sofern sie die Gruppe wieder verlassen möchten. Die Daten selber werden über die übliche Transportschicht abgewickelt. Im Falle von IPTV Streams zumeist als verschlüsselte UDP Pakete. Zumeist, weil ein Halunke wie Tux die unverschlüsselten Multicast Quellen nennen könnte, was er aber mit Garantie nicht macht :p so lange die Funktion noch gegeben ist. Danach könnte ich natürlich einen Nachtrags-Post schreiben... sofern es diese unverschlüsselten Streams auf dem BBCS Netz auch tatsächlich gibt :)

Damit Multicast vom Anfang bis zum Ende funktioniert, muss die ganze Kette IGMP fähig sein, also auch die Switches im LAN an welchen Swisscom TV Boxen hängen!

Komm zur Sache, wie ist das mit dem WLAN?

Jetzt könnte man natürlich fragen, was ich hier eigentlich labere? "Ich verwende seit Jahren einen Fr. 30.- Switch und habe keinerlei Probleme!"
Korrekt. Dies ist absolut möglich. Jeder Switch welcher Multicast nicht handeln kann, wandelt die Pakete in Broadcast um. Somit wird im Falle von Swisscom TV das ganze Netz mit IPTV Traffic "geflutet". Dies muss abgesehen von hässlichem Netzwerken und einem wie verrückt blinkendem Switch keinen grossen Einfluss haben. Hat man aber an solch einem gefluteten Switch einen Access Point in Betrieb, so kann der Traffic auch über dessen WLAN weiter verbreitet werden. Die im WLAN bereits schon knappe Bandbreite wird nun durch den eigentlich unangeforderten IPTV Traffic zugemüllt. Effekt ist, dass Wireless Clients keine oder nur eine stark eingeschränkte Bandbreite für den restlichen Traffic haben.

Die Lösung

Die Lösung ist einfach, verwende einen Switch welcher das IGMP Snooping korrekt handelt :)
Schaut man die Changelogs der Hersteller an und beobachtet die Probleme auf dem Markt, so scheint dies aber gar nicht so einfach zu sein. IGMP verwenden mittlerweile unzählige Anwendungen, die Hersteller scheinen so ihre liebe Mühe damit zu haben.
Im Falle von Swisscom TV ist die Lösung aber wirklich einfach. Mit ein klein wenig Stolz präsentiere ich die Netzwerk Verteiler Box von Swisscom, bekannt auch mit dem original Namen Netgear GS105E. Stolz bin ich ein wenig, weil Verantwortliche bei der Swisscom, nach diesem kleinen Thread in der Supportcommunity Kontakt zu mir aufnahmen und dieses Gerät tatsächlich ins Sortiment nahmen. Vermutlich hätten sie es früher oder später auch ohne diesen Thread gemacht. Ich gebe mir trotzdem den selbsternannten Titel " Godfather of the Network Distribution Box". Etwas Positives in der Zuckerbrot und Peitschen Beziehung welche ich mit der Swisscom pflege ;)

Mit dem Netgear GS105E war es erstmals möglich den IPTV Stream kostengünstig und mit Gigabit Speed zu handeln. Hast du dein LAN im Griff, ermöglicht dies in direkter Folge auch den Einsatz eigener Firewalls und Router mit einem IGMP Proxy wie ipfire, wrt oder pfsense um Swisscom TV sauber durchzuschleusen.

Die Konfiguration

Wer den Netgear GS105E via Swisscom Shop bestellt, bekommt schon seit längerer Zeit einen richtig vorkonfigurierten Switch. Bezieht man den Switch von einer anderen Quelle oder hat noch eine ältere Version muss diesen zunächst noch konfigurieren.
Dies geschieht bei der Netgear Prosafe Plus E Serie mit dem eigentlich unsäglichen Tool "Prosafe Plus Configuration Utility" . Dieses Tool und die jeweils aktuellste Firmware findet man auf dieser Seite.
Es empfiehlt sich hier die neueste Version zu verwenden.
Die eigentliche Konfiguration ist einfach und schnell gemacht. Unter System, Multicast, IGMP Snooping aktiviert man das IGMP Snooping. Deaktiviert das validieren des IGMPv3 Headers und das blockieren unbekannter Multicast Quellen, damit sich bei Multiroom Betrieb die Boxen mittels SSDP finden können.


Wer einen grösseren Switch als die 5 Port Variante braucht, kann sich mit derselben Konfiguration bei den Netgear Modellen 8-Port  GS108Ev2 und 16-Port GS116E bedienen.

Möchte man einen echten Smart Switch für relativ wenig Budget benutzen, kann man den Netgear GS108Tv2 oder GS716T verwenden.
Bei diesen Switches muss man zusätzlich zu den Prosafe Plus Versionen die Interfaces fürs IGMP Snooping aktivieren und da man die Möglichkeit schon hat, gleich noch das QoS auf DSCP stellen.





Als ebenfalls tauglich, sind die Switches der HP Pro Curve Serie 1910 und der SF/SG-300 Serie von Cisco Small Business, bekannt. 
Equipment welches ebenfalls IGMP Snooping für Swisscom TV macht, sind die Swisscom WLAN Magicbox und das Wireless Verbindungskit.
Weitere Ideen und Erfahrungen findet man in den Kommentaren des Schirmer-Blogs: http://www.schirmer-online.de/t-home/igmp-v3-switches/

Um mit Swisscom TV ein funktionierendes Netzwerk mit Switches zu haben, muss man wie im Falle der Netgear Prosafe Plus Serie nicht viel Geld ausgeben. Obendrein können die Switches noch für VLAN Konfigurationen gebraucht werden und besitzen die Funktion der Port Spiegelung für Monitoring Zwecken.

Für weitere Fragen bezüglich diesen Switches oder IGMP im Allgemeinen empfehle ich die Swisscom Support Community.

In dem Sinne: "Keep on switching"

Samstag, 6. Juli 2013

Swisscom SIP - Eigene Telefone an einem Swisscom ALL IP Anschluss verwenden

Swisscom SIP


Auch bei der Swisscom hält nun VoIP Einzug in die Haushalte. Bezieht man seine Services über einen Glasfaseranschluss, so wird die Sprache zwangsläufig mit IP übertragen, da hier die Fernspeisung der Telefonzentrale über die Kupferleitung fehlt. Aber auch Anschlüsse über Kupfer werden bei den Privatkunden mehr und mehr auf VoIP geschaltet. Einerseits sind die in die Jahre gekommenen Komponenten im End of Life, andererseits möchte man neue Dienste anbieten können und kann durch den Entfall der Telefonzentralen sogar noch eine Menge Geld sparen. Im Geschäftsumfeld ist die Swisscom mit ihrem Business Connect auf Kurs. Hier löst man die Business und Multiline Anschlüsse mittels Voice oder Trunk Channels ab.
VoIP/SIP wird also auch bei den Endkunden der Swisscom zunehmends zum Thema.

Provisioning - Plug and play

Damit VoIP Akzeptanz beim Endkunden findet, muss die Einrichtung genauso einfach wie früher sein, sprich einfachstes plug and play. Selbst hier gibt es genügend Hürden, da wir in der Schweiz eine kleine aber feine Sammlung an unterschiedlichen Steckdosen, Stecker und sogar Pinbelegungen geschaffen haben...
Anyway, nennen wir es trotzdem plug and play.
Natürlich soll VoIP auch mit der gleichen, schier unzerstörbaren Zuverlässigkeit der traditionellen Telefonie funktionieren. Komforteinbussen in Sachen Funktion soll es nicht geben.
Einfache Anforderungen die ein Kunde stellt und auch stellen darf.
Aus meiner Sicht bringt man aktuell 2 der 3 hier genannten Gründe hin:

Komfort-Funktionen und VoIP ist so eine Sache für sich. Obwohl IP, obwohl also neu und fancy, gibt es doch einige Komfortfunktionen welche man mit VoIP nicht hat. Zweifelsohne ergeben sich dafür ganz andere Dimensionen und Möglichkeiten. Trotzdem hinkt man in diesem Bereich noch eine Zeit lang hinten nach.
Kleines Beispiel wäre das IP Telefon Rousseau der Swisscom. IP, neu, Cat-Iq 2.0 und vieles mehr.Trotzdem, ein Bruch, scheinbar aus der Steinzeit entkommen, welchen ich eigentlich niemanden empfehlen mag. Wers nicht glaubt, kann ja mal mindestens Fr. 189.- für den Kauf eines Handapparats mit Basisstation ausgeben. Zumindest Swissvoice wird froh sein, mit der Swisscom wenigstens einen Abnehmer gefunden zu haben...
IT und Telefonie müssen sich in vielen Bereichen erst noch finden.

Eine einfache Einrichtung und Zuverlässigkeit hingegen bringt man im Privatkundenbereich mit der automatischen Provisionierung zu Stande. Provisionierung bedeutet hier, dass Dienste und Services automatisch oder nach einem Login bereitgestellt werden. Im Falle von Swisscom VoIP über All IP, die SIP Zugangsdaten welche auf die Voice Ports der Router konfiguriert werden oder die automatische Anmeldung des IP Telefons Rousseau.  Provisionierung bedeutet aber idR. auch, das man die eigentlichen Zugangsdaten nicht mehr zu sehen bekommt. Bedeutet aber auch einen Schutz der Backend Systeme, sei es vor falschen Kundenkonfigurationen oder Geräten welche sich per se oder durch falsche Parameter nicht innerhalb der Normen bewegen.

Da es durch die Angebotsbedingungen von Business Connect verboten ist, werde ich keine Anleitung zur Konfiguration im Falle von Business Connect geben. Wer eine Anleitung dazu braucht, sollte sich imho sowieso eine andere Beschäftigung suchen...

Auszug aus den Angebotsbedingungen zu Business Connect:

3.1 Technische Voraussetzungen / Geräte 
Allgemein 
...
Es dürfen nur die von Swisscom empfohlenen bzw. frei gegebenen 
IP-Endgeräten, PBX-Anlagen und ATA (nachstehend „Geräte“) eingesetzt 
werden. 
  • Die empfohlenen IP Endgeräte sind speziell auf Business Connect abgestimmt. 
  • IP PBX-Anlagen können nur in den Business Connect Verbund integriert werden, wenn das betreffende Modell von Swisscom für den Einsatz getestet, geprüft und freigegeben worden ist
  • Der ATA ermöglicht den Anschluss analoger Endgeräte an Business Connect. 
Einsatz nicht empfohlener oder freigegebener Geräte 

Der Einsatz nicht empfohlener bzw. nicht freigegebener Geräte ist nicht 
gestattet. Setzt der Kunde nicht empfohlene bzw. nicht freigegebene 
Geräte oder Gerätekonfigurationen ein, 
  • übernimmt Swisscom keine Garantie dafür, dass sämtliche Leistungsmerkmale von Business Connect einwandfrei funktionieren 
  • kann Swisscom für das Gesamtsystem keinen Support erbringen
  • behält sich Swisscom vor, die Leistungserbringung ohne Vorankündigung auszusetzen und/oder Business Connect per sofort aus wichtigem Grund zu kündigen
  • haftet der Kunde für daraus entstehende Schäden. 

Swisscom RES ALL IP Credentials

Nun gut, bei Swisscom Privatkundenanschlüssen gibt es noch keine solchen Angebotsbedingungen.
Da aber Business Connect sowie All IP VoIP über IMS und die Broadsoft Centrex abgewickelt werden, sollte man schon nicht einfach drauf losschiessen. Folgende Erklärungen dienen nur der Veranschaulichung.
Es ist bei Missbrauch also mit Massnahmen durch die Swisscom zu rechnen.

Voraussetzung erschaffen

Dieser Abschnitt ist überholt. Für die Centro Grande Router von ADB/Pirelli, existiert für die Firmware Generation 6.x.x eine einfachere Methode ohne Downgrade. Dafür benötigt man nur einen kleinen Dreizeiler in der CLI.

Startet eine Telnet oder SSH Session auf euren Router, meldet euch als admin an und gebt folgende Befehle ein:

configure terminal
cli-authentication V0iPcon7ro1!


show voip


Seit dem Firmwareupdate auf Version 6.02.x bei ADB/Pirelli sowie 9.x.x bei Motorola ist mir keine Methode des Extrahieren der SIP Credentials bekannt. Wer Methoden kennt, darf sich hier bei mir gerne melden :)

Für die Motorola/Arris Router gibt es einen eigenen Beitrag:
http://www.tuxone.ch/2014/05/swisscom-sip-zugangsdaten-auslesen_3.html

Beim ADB/Pirelli Router gibt es zum Glück noch den Trick mit dem provisorischem Downgrade :)
Zuerst stellt man sicher das der mit einer aktuellen Firmware ausgerüstet ist und der Internetanschluss provisioniert ist. Das Pairing zwischen Router MAC und Access hat also stattgefunden. Wer nicht sicher ist, besucht mit www.swisscom.ch/access und drückt auf Jetzt starten. Falls noch kein Pairing stattgefunden haben sollte, müsste man jetzt die Seriennummer eingeben oder einen Login durchführen.




Jetzt ist es an der Zeit den DSL Stecker zu ziehen und einen Routerdowngrade gemäss Anleitung vorzunehmen. Anzumerken ist, dass man im Gegensatz zur Anleitung das Admin Gui nicht freischalten muss.

Provisioning abfangen

Nach dem hoffentlich erfolgreichem Downgrade, gilt es die Situation auf dem Router zu prüfen.
Ist auch nach einem Reboot noch tatsächlich die alte Firmware geladen? Gut. Dann müssen jetzt die Werkseinstellungen des Router hergestellt werden. Dies erledigt man am einfachsten via Webinterface direkt auf dem Router. Ist auch danach noch die alte Firmware geladen wird es spannend.
Jetzt ist der Zeitpunkt um das DSL , bzw, Fiber Kabel wieder zu stecken.
Der Router wird innerhalb kürzester Zeit Kontakt mit dem Provisionierungsserver aufnehmen. Hat man Glück, wird dieser zuerst mal die Konfiguration übermitteln. Dabei gilt es die LEDs des Routers zu beobachten. Sobald das WLAN Symbol leuchtet (sofern WLAN im KC aktiviert ist) und der Telefonhörer rot leuchtet, muss man das Access Kabel wieder aus dem Router ziehen. Die Credentials sollten übermittelt aber noch nicht registriert sein und der Router noch auf dem alten Softwarestand stehen.




Zugangsdaten extrahieren

Hier schreibe ich grundsätzlich nichts neues. Der Ursprung vieler oder fast aller Anleitungen ist mir aber bekannt... ;)
Mittels http://192.168.1.1/rg_conf.cgi startet man den Download der Router Konfigurationsdatei.
In dieser sind auch die SIP Zugangsdaten enthalten.
Man kann die Datei mit einen gewöhnlichen Editor öffnen und nach den 2 SIP Linien die konfiguriert wurden suchen. Am einfachsten sucht man mittels Funktion des Editors nach der Nutzerkennung welchen man im Webinterface sieht.
Dieser steht innerhalb des folgenden Absatzes.

(line
      (0
        (enabled(1))
        (id(NUTZERKENNUNG))


Ebenfalls benötigt man noch den Autorisierungsnamen:

(proxy
          (auth_name(AUTHNAME@swisscom.ch))

und das gleich darunterliegende , noch maskierte Passwort.

(auth_password(&khka&%&zuuilm&7(&6nilöö))

Dieses Passwort kann man mit dem bekannten Online Tool demaskieren: http://www.zibri.org/2009/11/obfuscation-will-never-work.html

Das Gleiche kann, man noch mit der Linie 2 erledigen.

Nun hat man folgende Daten erhalten.
Nutzungskennung
Passwort
und der sogenannte Autorisierungsname.
Jetzt muss man nur noch wissen, dass die Domain swisscom.ch lautet und man bei der nomadischen Nutzung zB. im Mobilen Netz den Outbound Proxy : bc1.ims.swisscom.ch
verwenden muss, Port 5060 und UDP.
Alternativ funktioniert auch bc2.ims.swisscom.ch, Swissscom hat ja 2 Centrex Anlagen :)

Den Router kann man danach wieder an den Access schliessen. Er muss sich jetzt auch das neuste Update aufspielen, damit die Voice Linien via Router genutzt werden können...

Weitere Informationen zu den SIP Credentials findet man in diesem Zusatzartikel: http://www.tuxone.ch/2013/11/geanderte-sip-credentials-fur-die.html


SIP Credentials verwenden


Mit diesen Angaben lassen sich die SIP Credentials grundsätzlich nutzen. Erwähnt sei an dieser Stelle zB. die kostenpflichtige Android SIP Applikation von Bria, aber auch das in Android integrierte Internettelefon funktioniert.
Hier entsprechende Screenshots bezüglich der Konfiguration am Beispiel der Bria App.































Ich weise darauf hin, dass sämtliche Konfigurationen am Router und oder die Verwendung der SIP Credentials auf eigene Gefahr und Verantwortung geschieht. Weiter werde ich grundsätzlich weder  hier noch mittels E-Mail Support leisten. Supportanfragen bitte via Swisscom Supportcommunity.
Sämtliche Zugangsdaten und Erkenntnisse sind verantwortungsbewusst zu gebrauchen um Schäden in eigener Sache (zB. Diebstahl der SIP Credentials) oder an der Infrastruktur von Swisscom zu vermeiden.

Vielen Dank