[GUIDE] VOIP-/SIP-inloggegevens achterhalen met de Zyxel

  • 18 April 2020
  • 99 reacties
  • 6181 Bekeken


Toon eerste reactie

99 reacties

Reputatie 1

haha, kastje blijkt schaap in wolfskleren, amazon heeft gewoon een echte linksys opgestuurd, was in 2 minuten volledig ingesteld via het portel, en kan nu fluitend bellen… totaal kosten: 40,- (want de huistelefoon kwam voor een €10,- ook al van amazon)

 

dus al met al, zeer tevreden, dat python script werkte ook meteen de 1x, dus props voor iedereen die hier heeft bijgedragen het werkend te krijgen!

Reputatie 6
Badge +2

UPDATE: Door een aanpassing in de opstartinstellingen werkt de nieuwste versie van deze guide (klik hier) inmiddels ook in combinatie met de Draytek Vigor 2132FVn, waarvoor dank T-Mobile! Werkt het bij jou nog niet? Geef hem even een fabrieksreset. Dan worden de nieuwste instellingen opgehaald. Let op: met de 2130FVn (die rijp is voor Tussen Kunst & Kitsch, spoiler alert: het is kitsch :wink: ) werkt het helaas (nog) niet. Datzelfde geldt ook voor de Huawei HG659.

Reputatie 1

Kleine aanvulling op de meest recente voip-guide: je kunt hem ook gebruiken als je een eigen router met VLAN-ondersteuning wil gaan gebruiken en/of een managed switch hebt, maar van T-Mobile nog een van de Drayteks of de Huawei hebt. Download eerst het script en bijbehorende programma's. Daarvoor heb je natuurlijk internet nodig. Schakel daarna, dus net vóór het laatste commando (python voip.py), over naar VLAN 100. Hoe je dat precies moet doen, verschilt per router/switch. In het geval van een router kun je het beste VLAN 100 invullen aan de WAN-kant (waar je normaal gesproken dus VLAN 300 voor internet zou invullen). Als je een switch hebt, sluit deze dan direct op de media converter aan (of op de glasvezel als je er een met SFP-module hebt). Zet op de poort die je daarvoor gebruikt VLAN 100 tagged. Sluit vervolgens de computer waarop je het script uitvoert aan op een andere poort en zet hier VLAN 100 untagged op en PVID 100. In beide gevallen moet je op VLAN 100 een ip-adres in de 10.x.x.x-reeks krijgen. Dat kan tot een uur duren vanwege de lease-tijd. Voer tot slot het laatste commando uit.

Succes!

TMTV

Ik krijg “Geen gegevens gevonden” uit het script. De server 10.12.0.10:7547 is wel bereikbaar, maar er lijkt toch iets mis te gaan. Kan het zijn dat de methode om de SIP-gegevens met het Python script te achterhalen niet meer werkt?

Reputatie 7
Badge +19

@KarelKnutselaar

Het is iemand vandaag/gisteren nog gelukt om de SIP gegevens te achterhalen middels deze guide 😀.

Heb je ook de nieuwste versie van de guide gebruikt?

https://community.t-mobile.nl/vast-bellen-494/guide-voip-sip-inloggegevens-achterhalen-met-de-zyxel-323022/index2.html#post1587259

Reputatie 1

@KarelKnutselaar

Het is iemand vandaag/gisteren nog gelukt om de SIP gegevens te achterhalen middels deze guide 😀


Da’s op zich goed om te weten 😉 Ben nu wel benieuwd wat er dan bij mij mis gaat.

Ik gebruik de nieuwe guide op een OpenWrt router. Ik stel de VLAN voor de WAN in op pvid 100 i.p.v. 300. De router krijgt dan keurig een 10.x.x.x adres, en de configuratieserver op 10.12.0.10 is bereikbaar vanaf mijn PC (op de LAN van de router).

Heb nog een kleine debugpoging gedaan. Dit is de waarde van de variabele ‘d’ waar de gegevens in terecht zouden moeten komen:

In [2]: debugfile('/home/users/rudy/Downloads/voip.py', wdir='/home/users/rudy/Downloads')
> /home/users/rudy/Downloads/voip.py(1)<module>()
----> 1 import requests,os,binascii
2 url = 'http://10.12.0.10:7547'
3 xml1 = '''<soap:Envelope
4 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
5 xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"


ipdb> d.text
u'<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><cwmp:ID soapenv:mustUnderstand="1" /></soapenv:Header><soapenv:Body><cwmp:SetParameterValues><ParameterList soapenc:arrayType="cwmp:ParameterValueStruct[1]"><ParameterValueStruct><Name>InternetGatewayDevice.DeviceInfo.ProvisioningCode</Name><Value xsi:type="xsd:string">TMNL</Value></ParameterValueStruct></ParameterList><ParameterKey>SetParameterValues</ParameterKey></cwmp:SetParameterValues></soapenv:Body></soapenv:Envelope>'

ipdb>

Ik weet niet hoe het eruit moet zien, maar het lijkt erg leeg.

Reputatie 7
Badge +19

@KarelKnutselaar

Het is iemand vandaag/gisteren nog gelukt om de SIP gegevens te achterhalen middels deze guide 😀.

Heb je ook de nieuwste versie van de guide gebruikt?

https://community.t-mobile.nl/vast-bellen-494/guide-voip-sip-inloggegevens-achterhalen-met-de-zyxel-323022/index2.html#post1587259

@KarelKnutselaar hiermee zou het in principe gewoon moeten werken.

Reputatie 1

@Waqqas 

Hartelijk dank voor je hulp zover! Heb jij misschien een idee wat er mis kan gaan? Ik heb m’n vorige post aangepast met wat extra details. Ik run het script op een Linux machine op de LAN van de OpenWRT router

Reputatie 7
Badge +19

.

Reputatie 6
Badge +2

@KarelKnutselaar Welke router heb je van T-Mobile gekregen? Zou je die eens kunnen aansluiten, op laten starten en dan inloggen om te kijken of de VOIP-gegevens daar wel correct worden geladen en of het bellen dan werkt? Op basis van de output hierboven denk ik dat daar iets misgaat. Dit stuk hoort pas verderop te komen, na de VOIP-gegevens, en zou je dus niet moeten zien. Het script stopt namelijk als de gegevens binnen zijn. Ben je misschien pas net klant? Dan kan het zijn dat er nog geen gegevens voor je zijn gemaakt en dus ook niet naar de router gestuurd kunnen worden.

Ik had gisteren inderdaad nog een tevreden klant en op het moment van schrijven werkt het nog steeds. Ik hoor graag de uitkomst van bovenstaande en dan zoeken we verder!

Reputatie 1

Nog even geprobeerd op een Windows machine met Python 3.10. Ook hier “Geen gegevens gevonden.”

Reputatie 1

@TMTV 

Fijn dat je meekijkt!

Ik heb een Zyxel T-50 modem. Dat staat op dit moment aangesloten achter de OpenWRT router, voor de VoIP support. Ik lus VLAN ID 300 door van de WAN van de OpenWRT router naar een van de LAN poorten. Daarop heb ik de WAN van de Zyxel aangesloten. De VoIP-aansluiting werkt in principe op deze manier, maar ik zou graag direct toegang hebben tot de SIP gegevens. Dan kan de Zyxel er helemaal uit.

Overigens heb ik de procedure ook geprobeerd met het Zyxel modem uitgeschakeld. Dat maakte echter geen verschil.

Reputatie 6
Badge +2

Zou je het eens andersom willen proberen, dus de OpenWRT-router ertussenuit halen en de Zyxel rechtstreeks aansluiten en daarmee je computer verbinden? Ik ben benieuwd wat er gebeurt als je dan het scriptje runt.

Reputatie 1

Dat zal ik doen, maar moet even wachten. Wordt volgende week denk ik. Ik kom bij je terug. Bedankt alvast in ieder geval!

Reputatie 1

Zou je het eens andersom willen proberen, dus de OpenWRT-router ertussenuit halen en de Zyxel rechtstreeks aansluiten en daarmee je computer verbinden? Ik ben benieuwd wat er gebeurt als je dan het scriptje runt.

Als ik de Zyxel gebruik werkt het script!! Ik krijg keurig een gebruikersnaam, die overeenkomt met mijn klantnummer, en een wachtwoord.

Helaas kan ik met deze gegevens niet registreren. Geprobeerd als trunk op een Asterisk server en als extention met MicroSip. bij beide krijg ik een authenticatiefout. Bij MicroSip ziet eruit zoals hieronder.

Heb je nog tips om dit verder te debuggen?

 

 

Reputatie 6
Badge +2

Fijn dat het gelukt is om de gegevens te achterhalen! Probeer bij ‘Domain’ eens voip.t-mobilethuis.nl in te vullen. Dan werkt het bij mij wel.

Reputatie 1

Ok, probleem opgelost. Het script gaf een karakter te weinig van het wachtwoord. Door de ruwe text van de reply gezocht, en alles werkt met het langere wachtwoord! Misschien het script baseren op regular expressions, tussen ‘>’ en ‘<’ karakters bijvoorbeeld? Ontzettend bedankt in ieder geval, naar deze informatie was ik al een tijdje op zoek!

Reputatie 6
Badge +2

Ik ben blij dat ik kon helpen en jij ook bedankt voor het debuggen van mijn scriptje! Ik dacht dat het wachtwoord altijd uit 12 tekens bestond, maar bij jou zijn het er dus 13? Dit is de eerste keer dat ik dit hoor, dus het lijkt erop dat ze dit pas net doen, misschien wel vanwege dit script... Sinds wanneer ben je klant? Ik heb 'm meteen aangepast en het lijkt te werken. Zou je hem nog eens willen downloaden (zelfde link) en runnen? Dan weet ik of alles klopt.

Nogmaals dank voor je alertheid!

Reputatie 1

Even geprobeerd, en nu werkt het script ook met het langere wachtwoord. Nogmaals hartelijk dank voor het script en je hulp!

Reputatie 1

Hoi, 

 

Als eerste, het scriptje werkt perfect op mijn MacBook. thanks. 

Ik heb alleen een vraagje: Ik heb 1 vaste telefoonnummers en zie er maar van 1 de inlog gegevens komen. Ook in de XML die terug komt zie ik deze niet terug komen. 

Iemand een idee hoe ik dit tweede nummer ook kan opvragen? (Kent iemand de structuur van communiceren?)

 

Erik-Jan

Reputatie 1

Ik heb het laatste gedeelte van voip.py aangepast met onderstaande code en krijg nu ook de lijngegevens van de tweede lijn…

 

x = requests.post(url, data=xml1)

y = (x.headers["Set-Cookie"][:-7])

header = {'Cookie': y, 'User-Agent': "Vigor TR-069 CPE", 'Content-Type': "text/xml; charset=utf-8", 'SOAPAction': ""}

z = requests.post(url, headers=header)

a = requests.post(url, data=xml2, headers=header)

b = requests.post(url, data=xml3, headers=header)

c = requests.post(url, data=xml2, headers=header)

d = requests.post(url, data=xml2, headers=header)

f = requests.post(url, data=xml2, headers=header)

g = requests.post(url, data=xml2, headers=header)

e = (d.text)

h = (g.text)

if "voip.t-mobilethuis.nl" in e:

        print ("Lijn 1: Gebruikersnaam: " + e[e.find("DisplayName")+47 : e.find("DisplayName")+59] + " Wachtwoord: " + e[e.find("Password")+44 : e.find("Password")+56])

else:

        print("Geen gegevens gevonden voor lijn 1.")

 

if "voip.t-mobilethuis.nl" in h:

        print ("Lijn 2: Gebruikersnaam: " + h[h.find("DisplayName")+47 : h.find("DisplayName")+59] + " Wachtwoord: " + h[h.find("Password")+44 : h.find("Password")+56])

else:

        print("Geen gegevens gevonden voor lijn 2.")

 

Reputatie 6
Badge +2

Hoi @erikjanRog,

Omdat ik zelf maar 1 telefoonlijn heb, wist ik niet precies hoe de communicatie eruit zou zien als er een tweede lijn is. Fijn dat je dat hebt uitgezocht! Vind je het goed als ik jouw code toevoeg aan het bestaande script? Dan zijn anderen met twee lijnen daar ook mee geholpen.

Bedankt!

Reputatie 1

Hej TMTV, 

Prima hoor, fijn als andere het ook kunnen gebruiken. Zie alleen dat het ww van lijn2 1 teken langer is. Heb de 56 in 57 gezet. 

Zal binnenkost kijken of ik het uitlezen van deXML kan aanpassen dat dit flex wordt. Even wat in Python verdiepen (ben zelf meer van perl en C)

Erik-jan

Reputatie 6
Badge +2

@erikjanRog Top! Ik zag dat je nog een oude versie van het script hebt gebruikt. Een paar dagen geleden was er ook al iemand iemand die een wachtwoord van 13 tekens had. Als dat een poging was van T-Mobile om dit scriptje buitenspel te zetten, is dat hopeloos mislukt 😉. Beide wijzigingen heb ik samengevoegd waardoor het nu ook voor mensen met een langer wachtwoord (ongeacht het aantal tekens) en/of een tweede lijn werkt. Zou je dat kunnen testen door het script opnieuw te downloaden (zelfde link)? Natuurlijk werkt het ook nog steeds voor mensen met een wachtwoord van 12 tekens en/of maar 1 telefoonlijn.

Reputatie 1

Ik heb m uitgeprobeerd en werkt perfect hoor @TMTV.

Zowel beide lijnen als het flex password. Toppie!

 

Dank je wel. 

Ik hoop ook dat er veel mensen plezier aan hebben.

 

Reageer