SIP-Zugangsdaten aus einem
Alice IAD herausbekommen


Letzte Änderung: 04.05.2011 18:19

Lob, Kritik und Verbesserungsvorschläge bitte auf der Kommentarseite.


Vorbemerkungen

Benutzung auf eigene Gefahr! Die Verantwortung für die Einhaltung gesetzlicher Bestimmungen und der AGB des DSL-Anbieters liegt beim Anwender!

Diese Anleitung bezieht sich auf ein Alice IAD 3231 WLAN an einem auf Telefonica-Technik basierten Alice-Comfort-Anschluß mit ISDN, dürfte aber so oder in leicht abgewandelter Form auch mit anderen von Sphairon gebauten Alice-Routern an von anderen Technikpartnern geschalteten Alice-Leitungen funktionieren. Seit der ursprünglichen Fassung wurde sie an einigen Stellen u.A. anhand von Feedback aus verschiedenen Foren verfeinert erweitert.
Inzwischen sind auch Varianten dieser Anleitung im Umlauf, um die SIP-Daten nach dem gleichen Prinzip aus Alice-Routern von AVM herauzubekommen.


Die eigentliche Anleitung ist in normaler Schrift geschrieben, Menüpunkte die ausgewählt oder Text der eingegeben werden muß sind fett, Bemerkungen oder zusätzliche Hintergrundinformationen erscheinen in kleinerer Schrift.


Technischer Hintergrund

Dieser Abschnitt kann übersprungen werden und es ist zum Nachvollziehen der Anleitung nicht erforderlich, jedes Dateil hier zu verstehen. Ich halte es aber für hilfreich, den teschnischen Hintergrund zumindest ansatzweise zu kennen.

Die NGN-Telefonie bei Alice funktioniert so, daß innerhalb der DSL-Leitung zwei getrennte Kanäle aufgebaut werden, einer für die Verbindung zum Internet und einer für die Telefonie. Über den Telefonie-Kanal baut das IAD zunächst per PPPoE eine IP-Verbindung auf und meldet sich darüber als SIP-Client bei den Servern von Alice an. Für die Telefonie sind also zwei Arten von Zugangsdaten nötig, die PPPoE-Einwahldaten für die IP-Verbindung und für jede Rufnummer Satz SIP-Zugangsdaten.

Der PPPoE-Benutzername setzt sich aus der Seriennummer und einem Teil der MAC-Adresse des IAD zusammen und kann nach erfolgreicher Telefon-Aktivierung unter der URL http://192.168.1.1/web.cgi?controller=Internet&action=IndexAccessDataVoip abgerufen werden. Das dazugehörige Paßwort ist die von Alice per Brief übermittelte Telefon-PIN.

Da bisher keine Menü-URL bekannt ist, über die sich das IAD die SIP-Zugangsdaten entlocken läßt, mußten andere Wege gefunden werden, an diese Daten zu kommen. Es existieren Anleitungen, bei denen man das IAD öffnen und eine serielle Konsole anbringen muß, um die bereits im IAD gespeicherten Zugangsdaten auszulesen, was ein gewisses Maß an technischem Geschick und Erfahrung voraussetzt.

Die vorliegende Anleitung kommt ohne Schraubenzieher und Lötkolben aus. Sie macht sich die Tatsache zunutze, daß die SIP-Zugangsdaten erst während der Telefon-Aktivierung von einem Konfigurations-Server bei Alice unverschlüsselt an das IAD gesendet werden. Weil das IAD praktischerweise eine Funktion zum Mitschneiden der übertragenen Daten an den einzelnen Netzwerkschnittstellen enthält ist es relativ einfach, die Kommunikation zwischen dem IAD und dem Konfigurations-Server mitzulesen und die gesuchten SIP-Zugangsdaten aus den mitgeschnittenen Datenpaketen extrahieren.

Der Ablauf im Detail

  1. Windows-User:Wireshark herunterladen und installieren.
    Linux-User: Das Wireshark-Paket der jeweiligen Distribution installieren.
  2. Das Konfig-Menü (http://192.168.1.1) der Alice-Box aufrufen und sich ggf. anmelden.
    Wenn man für die nächsten Schritte zu lange braucht kann zwischendurch u.U. auch nochmal eine Neuanmeldung nötig sein.
  3. In der Menüleiste auf System klicken.
  4. Über System -> Einstellungen sichern die Konfiguration auf dem Rechner speichern.
  5. Über Rücksetzen die Box in den Auslieferungszustand bringen.
    Alternativ mit einem spitzen Gegenstand den Reset-Knopf am IAD drücken und 5-10 Sekunden gedrückt halten bis die Power-LED zum zweiten Mal von grün auf rot wechselt.
  6. Warten bis die Box neu gestartet hat und die DSL-LED wieder dauerhaft leuchtet, dann nochmal 1-2 Minuten warten.
  7. Die Paketaufzeichnung des IAD aufrufen:
    http://192.168.1.1/web.cgi?controller=System&action=IndexDiagnostic
    Falls in der Liste der Netzwerkschnittstellen nas1, nas1.4089 und nas2 noch nicht enthalten sind, nochmal eine halbe Minute warten und dann die Seite neu laden. Abhängig vom Routermodell und der Konfiguration von Router und DSL-Leitung können die nas-Schnittstellen auch andere Nummern haben.
  8. Als Netzwerk-Schnittstelle nas2 auswählen.
    Wie oben erwähnt, kann es auch sein, daß die gewünschten Daten an einer anderen Schnittstelle als nas2 auftauchen. Im Zweifel einfach alle nas-Schnittstellen der Reihe nach durchprobieren, aber nicht vergessen, die Box zwischen den Versuchen jeweils wie oben beschrieben zurückzusetzen.
  9. Start klicken.
    An der Stelle sieht es so aus, als ob die Seite beim Laden hängen bleibt. Das ist kein Fehler, sondern liegt daran, daß bis jetzt noch keine Pakete zum Aufzeichnen angefallen sind. Deshalb trotz des "Hängers" mit dem nächsten Punky weiter machen.
  10. Am Telefon die Telefon-PIN eingeben. Jetzt startet im Browser der Download der aufgezeichneten Pakete.
    Wenn gerade kein Telefon zur Hand ist, kann die PIN auch in einem zweiten Browser-Fenster über den Einrichtungsassistenten des IAD eingegeben werden.
  11. Warten, bis die Telefon-LED dauerhaft leuchtet.
  12. Warten, bis der Download nicht mehr an Größe zunimmt und ihn dann nicht im Browser oder Download-Manager abbrechen, sondern auf der Diagnose-Seite des IAD den Stop-Button klicken. Daraufhin endet der Download.
    Die bei der Paketaufzeichnung entstandene Datei hat typischerweise eine Größe von einigen zehn kByte, u.A. abhängig wieviele SIP-Zugangsdaten vom Alice-Server an das IAD übertragen wurden. (bei Analoganschluß einer, bei ISDN 3-10).
  13. Über System -> Einstellungen sichern die am Anfang gesicherte Konfiguration wieder zurückspielen, damit das IAD einstweilen wieder funktioniert.
  14. Wireshark starten und die Datei mit den aufgezeichneten Paketen (trace_nas2_*.cap) öffnen. Im Hauptfenster erscheint eine lange Liste mit teilweise farbig hinterlegten Zeilen, die jeweils ein aufgezeichnetes Datenpaket repräsentieren.
  15. In das Feld neben dem Filter-Button tcp.stream eq 4 eingeben. Es sollte eine mehrere Seiten lange Liste mit vielen hellblau und wenigen grau hinterlegten Zeilen angezeigt werden.
    Falls die Liste weniger als 20 Einträge hat oder ganz leer ist, mal statt der 4 die Zahlen von 1 bis 10 nacheinander durchprobieren und schauen, ob sich damit eine längere Liste ergibt. Die Zahl gibt an, die wievielte TCP-Verbindung innerhalb des aufgezeichneten Datenstroms zur weiteren Analyse herausgepickt werden soll.
  16. Mit der rechten Maustaste auf eine Zeile in der Liste klicken und im Kontextmenü Follow TCP stream auswählen.
  17. Es geht ein neues Fenster auf, das die Nutzdaten dieser TCP-Verbindung anzeigt. Es handelt sich im einen XML-Dialog zwischen dem IAD (rot) und dem Konfigurations-Server von Alice (blau), im Rahmen dessen das IAD u.A. die SIP-Zugangsdaten gesendet bekommt.
  18. Mit der Find-Funktion am unteren Fensterrand nach dem Wort OutboundProxy suchen.
  19. Die Fundstelle sieht etwa so aus:

    <ParameterValueStruct>
      <Name>InternetGatewayDevice.VoiceService.1.VoiceProfile.1.SIP.OutboundProxy</Name>
      <Value>registrarXX.sip.alice-voip.de</Value>
    </ParameterValueStruct>

    Der komplette fettgedruckte String mit der zweistelligen Nummer an Stelle der beiden XX muß später in der Fritz!Box bei allen Internetrufnummern als Registrar eingetragen werden.

    Die Umbrüche, Einrückungen, Auslassungen und Hervorhebungen in den XML-Ausschnitten hier und weiter unten dienen der Übersichtlichkeit dieser Anleitung. Wireshark zeigt das in Wirklichkeit als eine einzige lange XML-Wurst an.

  20. Mit der Find-Funktion nach dem Wort DirectoryNumber suchen.
  21. An der Fundstelle befindet sich im XML-Text für jede Rufnummer (eine bei Analoganschlüssen, drei bis zehn bei ISDN) eine Struktur mit folgendem Aufbau:

    <ParameterValueStruct>
      <Name>…Line.1.DirectoryNumber</Name>
      <Value>RUFNUMMER</Value>
    </ParameterValueStruct>

    <ParameterValueStruct>
      <Name>…Line.1.SIP.AuthPassword</Name>
      <Value>PASSWORT</Value>
    </ParameterValueStruct>

    An Stelle von RUFNUMMER steht die jeweilige Telefonnummer bzw MSN und an Stelle von PASSWORT das 32stellige Paßwort, bestehend aus Ziffern und den Buchstaben a-f.

    Die Telefonnummern haben u.U. ein etwas seltsames Format, bei dem die Vorwahl mit einem Schrägstrich getrennt nochmal hinten angehängt wird. Dieses Anhängsel wird für die Fritz!Box nicht benötigt.

  22. Auf das Übertragen der so gewonnenen Zugangsdaten auf eine Fritz!Box gehe ich an dieser Stelle nicht häher ein, dazu gibt es ja bereits Anleitungen.

Wenn bis hierher alles geklappt hat, wünsche ich viel Freude am IAD-befreiten Alice-Anschluß!