Gesprächsdatenliste automatisch downloaden

Nein, ich habe von der Linux-Konsole/Shell geredet, auf der man Befehle ausführen kann. “curl” ist ein Kommandozeilenprogramm, mit dem man Dateien per HTTP runterladen kann.

[FONT=Fixedsys]curl -v --cookie-jar cookie.txt -d „LOGIN_NAME=admin“ -d „LOGIN_NOW=“ -d „LOGIN_PASS=XXXXXX“ http://tk/login

  • About to connect() to tk port 80 (#0)
  • Trying 1.2.3.4… connected

POST /login HTTP/1.1
User-Agent: curl/7.22.0 (x86_64-unknown-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.0e zlib/1.2.5 c-ares/1.7.5 libidn/1.22 libssh2/1.2.9
Host: tk
Accept: /
Content-Length: 45
Content-Type: application/x-www-form-urlencoded

  • upload completely sent off: 45out of 45 bytes
    < HTTP/1.1 302 Redirect
    < Server: GoAhead-Webs
    < Date: Tue, 05 Jun 2012 09:08:37 GMT
    < Expires: 0
    < Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    < Pragma: no-cache
    < Content-Type: text/html; charset=iso-8859-1;
    < Location: /statics/page_welcome.html
  • no chunk, no close, no size. Assume close to signal end
    <
  • Closing connection #0

curl -v --cookie cookie.txt --location -o csv.gz http://tk/page_listgespr_export
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0* About to connect() to tk port 80 (#0)

  • Trying 1.2.3.4… connected

GET /page_listgespr_export HTTP/1.1
User-Agent: curl/7.22.0 (x86_64-unknown-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.0e zlib/1.2.5 c-ares/1.7.5 libidn/1.22 libssh2/1.2.9
Host: tk
Accept: /

< HTTP/1.1 403 Forbidden
< Server: GoAhead-Webs
< Date: Tue, 05 Jun 2012 09:09:04 GMT
< Pragma: no-cache
< Cache-Control: no-cache
< Content-Type: text/html; charset=iso-8859-1;

  • no chunk, no close, no size. Assume close to signal end
    <
    { [data not shown]
    100 147 0 147 0 0 2351 0 --:–:-- --:–:-- --:–:-- 2409
  • Closing connection #0

That’s it.

gruss kai
[/FONT]

:banana: Ich bin auch schon ganz gespannt … :cheerleader:

Hallo & danke Kai,

ich würde das ja nun gerne testen, doch wie geht das ohne Linux ?

Nächste Frage wäre, kann man auch über einen anderen Port als 80 auf die Anlage zugreifen ?

Insofern also :whiteflag:oder frei nach ET : Brauche input :rolleyes:

[quote=PABX-Alex]Hallo & danke Kai,

ich würde das ja nun gerne testen, doch wie geht das ohne Linux ?
[/quote]

Genauso. Curl gibt’s für fast alles, was 0 und 1 unterscheiden kann: http://curl.haxx.se/download.html

[quote=PABX-Alex]
Nächste Frage wäre, kann man auch über einen anderen Port als 80 auf die Anlage zugreifen ?

Insofern also :whiteflag:oder frei nach ET : Brauche input :rolleyes:[/quote]

Mit curl mußt Du auf den Port zugreifen, der in der 50x0 eingestellt ist. Ob und wie der sich der Webserver-Port vom Standard 80 abweichend einstellen läßt, sollte in der Doku stehen.

Alexander

[quote=bxlinux]Genauso. Curl gibt’s für fast alles, was 0 und 1 unterscheiden kann: http://curl.haxx.se/download.html

Mit curl mußt Du auf den Port zugreifen, der in der 50x0 eingestellt ist. Ob und wie der sich der Webserver-Port vom Standard 80 abweichend einstellen läßt, sollte in der Doku stehen.

Alexander[/quote]

Mit dem Port in der Anlage ist/war mir schon klar, deshalb fragte ich danach ob man damit nun nur über 80 auf die Anlage kommen kann und meinte damit falls es auch über einen anderen Port geht, wie das zu machen wäre.

Eben habe ich dieses “Curl” herunter geladen und versucht es zu installieren, worauf ich diesen Hinweis fand :

[b][i]"Building with Visual C++, prerequises

This document describes how to compile, build and install curl and libcurl
from sources using the Visual C++ build tool. To build with VC++, you will
of course have to first install VC++. The minimum required version of
VC is 6 (part of Visual Studio 6). However using a more recent version like
2008 (vc9) is strongly recommended.[/i][/b]
VC++ is also part of the Windows Platform SDK. You do not have to install
the full Visual Studio or Visual C++ if all you want is to build curl.

The Platform SDK can be fetched here, freely:
http://msdn.microsoft.com/en-us/windows/bb980924
If you wish to support zlib, openssl, ssh2, you will have to download
them separately and copy them to the deps directory as shown below: …"


Gerne hätte ich versucht ob auf diesem Weg die Verbindungsdaten einfach von einer Anlage herunter geladen und in ein vernünftiges Format zu bringen sind, doch scheint mir sofern man Curl etc. nicht ohnehin schon installiert hat, der die Vorbereitung dafür zu aufwändig zu sein.
Solch einen Aufwand kann man keinem Anwender (Kunden) zumuten.

Sollte der Programmieraufwand eines solchen Tools sooo “einfach” sein, frage ich mich umso mehr, warum das Auerswald nicht übernimmt und als für jedermann installierbare Anwendung zur Verfügung stellt - womit wir wieder am Ausgangspunkt wären :wall:
Selbst wenn der Programmieraufwand etwas größer sein sollte, sehe ich Auerswald ob nun “geschuldet” oder nicht zumindest in der moralischen Pflicht endlich so eine Anwendung zur Verfügung zu stellen, denn schließlich verdient Auerswald Geld damit und ist sicher auch daran interessiert auch 2012 wieder die Nr.1 der Tk-Anlagen-Hersteller in DE zu werden, wozu die Umsetzung der Kundenwünsche sicher hilfreich wäre.

[quote=PABX-Alex]
Eben habe ich dieses „Curl“ herunter geladen und versucht es zu installieren, worauf ich diesen Hinweis fand :

[b][i]"Building with Visual C++, prerequises

This document describes how to compile, build and install curl and libcurl …
[/i][/b][/quote]

Du hast Dir ein Source-Package heruntergeladen. Richtiger Weg für selbstgepflegtes System, falscher Weg für Windoof. Du willst ein Binary-Package! Sprich: Eine fertige EXE-Datei möglichst ohne externe Abhängigkeiten.

cygwin braucht logischerweise CygWin, MSVC braucht logischerweise MS Visual C++, MinGW64 braucht logischerweise MinGW 64 Bit.

„Win32 - Generic“ sollte auf so ziemlich jedem Windoof seit W2K funktionieren, und wenn dahinter noch SSL und SSH steht, kann das Curl auch so ziemlich alles, was Du je brauchen könntest („mit alles und scharf“).

Klickst Du hier für die gerade aktuelle Version 7.26.0, Win32 2000/XP Generic binary SSH+SSL.

Das kommentiere ich jetzt besser nicht. RÄUSPER (direkt auf der Download-Seite verlinkt!)

Alexander

[quote=bxlinux]Du hast Dir ein Source-Package heruntergeladen. Richtiger Weg für selbstgepflegtes System, falscher Weg für Windoof. Du willst ein Binary-Package! Sprich: Eine fertige EXE-Datei möglichst ohne externe Abhängigkeiten.

[/quote]

Das war wohl der Fehler - danke … werde mich also nochmal daran machen, bin nur im Moment recht “busy”.

Dumme Frage :

Hat sonst keiner Bock drauf das mal zu testen :rolleyes:

Hallo Alex,

ich :stuck_out_tongue: … aber bin im Moment auch arbeitsmäßig ziemlich zu.

lG Michael

Ich auch! :smiley:

Einbindung in Access habe ich schon zusammengefummelt. :slight_smile: Der Download von der Basic 2 fehlt noch und ist als nächstes dran …

Aber auch ich muss ja arbeiten und Geld verdienen. Die Auerswald sollte mir dabei eigentlich Zeit ersparen und nicht noch mehr Zeit kosten! :stupid:

Gruß an alle

Soooo, bei mir (Win7, 64 - Basic.2) sieht es dann so aus:

[quote]C:>“C:\Program Files (x86)\curl-7.26.0-rtmp-ssh2-ssl-sspi-zlib-winidn-static-bin-w64\curl” --cookie-jar cookie.txt -d “LOGIN_NAME=admin” -d “LOGIN_NOW=” -d "LOGIN_PASS=xxxxxx"http://192.168.181.240/login

C:>“C:\Program Files (x86)\curl-7.26.0-rtmp-ssh2-ssl-sspi-zlib-winidn-static-bin-w64\curl” --cookie cookie.txt --location -o gespr_dat.csv.gz http://192.168.181.240/page_listgespr_export
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 147 0 147 0 0 3127 0 --:–:-- --:–:-- --:–:-- 3127

C:>“C:\Program Files (x86)\curl-7.26.0-rtmp-ssh2-ssl-sspi-zlib-winidn-static-bin-w64\curl” --cookie cookie.txt http://192.168.181.240/appclose
{“success”:“true”}[/quote]

:confused: War wohl nix? Oder doch? Eine gespr_dat.csv.gz kann ich auf dem PC nicht finden. Bin Laie. Was hab ich falsch gemacht?

(xxxxxx ist natürlich das Passwort ;))

Also, beim 1. Befehl scheint mir das Leerzeichen zwischen Passwort-" und URL zu fehlen.

Hast du eine 3000 oder ein 5xxx? Wenn es die 5xxxer ist, dann sind die URLs wohl etwas anders. Beweg dich mal im Browser durch das Webinterface und kopier dir den Link, der die Gesprächsdatenliste runterlädt. Nimm diesen anstelle der URL im 2. Befehl.

Scha auch mal, ob nach dem 1. Befehl in der cookie.txt was drinsteht.

So Leute, das kann man ja nicht mit ansehen… :smiley:

Bei der 5010 kann man die Gesprächsdaten so auslesen:

Bitte nur noch die IP-Adresse und das Passwort ändern…

Wie ich es herausgefunden habe? Ich habe den ganzen Traffic meines Webbrowsers über einen Tinyproxy geschickt und auf dem Proxysystem ein „ngrep -W byline 192.168.1.99 port 80“ laufen lassen. Damit habe ich schön die HTTP-Requests mitlesen können. Für einige mag das umständlich wirken, aber so kam ich an der Konsole schnell an die benötigten Infos. Andere Wege gibt es ja sowieso immer :slight_smile:

Es scheint, als wird die Zieldatei erst erzeugt, wenn man sie benötigt. Wahrscheinlich ist das ein Wrapper, der nur 2000 Zeilen ausgibt, weil ich nicht mehr gebucht habe…
Mich würde ja immer noch interessieren, wie man per Telnet auf die Kiste kommt, um mich mal umzusehen :slight_smile:

Viel Spass

So, ich habe das ganze noch etwas aufgebohrt:

#!/bin/sh
cd /home/foobar/Auerswald-Gesprächsdaten/
# outputfile=./daten/csv-$(date +%Y-%m).gz
outputfile=./daten/csv-$(date +%Y-KW%V).gz
auerswald=192.168.1.99
passwort=999999
curl -s --cookie-jar cookie.txt -o /dev/null -d "LOGIN_NAME=admin" -d "LOGIN_NOW=" -d "LOGIN_PASS=$passwort" http://$auerswald/login_json
curl -s --cookie cookie.txt -o /dev/null http://$auerswald/page_listgespr_export
curl -s --cookie cookie.txt --location -o $outputfile http://$auerswald/data_tmp/gespr_dat.csv.gz
curl -s --cookie cookie.txt -o /dev/null http://$auerswald/appclose
rm cookie.txt

Änderungen:

  • Einstellungen in Parameter ausgelagert, vorgezogen
  • Parameter -s und -o /dev/null eingefügt. Ist für Aufruf über cronjob besser
  • Ausgabe der Daten in dem Ordner ./daten mit dem Dateinamen im Schema csv-2012-KW26.gz - Wenn man das skript täglich per cronjob startet, dann hat man am Ende für jede KW eine separate Datei. Wenn einem monatlich reicht, kann man die andere Zeile mit “outputfile=…” auskommentieren und verwenden. Bei mir würde das auch reichen, aber man weiß ja nie. Da ich aber nie im Leben 2000 Gesprächsdatensätze in einer Woche verbrate, mach ich es erstmal so. Pro Datei fallen ca. 30 kB an, pro Jahr also ca. 1,6 MB. Wer es ganz genau machen möchte, der schnippelt noch die Überschneidungen raus. Kann man machen… :slight_smile:
    Den Arbeitordner /home/foobar/Auerswald-Gesprächsdaten/ müsste man anlegen bzw. ändern, den Ordner ./daten/ natürlich auch.

Viel Spass damit!

Oder nach dem Download direkt löschen.

gruss kai

Hmmm, also bitte noch mal gaaanz langsam für mich und sonstige begriffstutzige:

Da finde ich bei der Basic.2 nix. Der Button „Exportdatei erzeugen“ => „Ausführen“ verweist auf Javascript :confused: :cry:

Kennt jemand den Link, der die Gesprächsdatenliste bei der Basic.2 runterlädt?

Du könntest die Seite mit der Gesprächsdatenliste abspeichern und mir zusenden, dann analysiere ich das mal. Meine E-Mail-Adresse schicke ich dir gerne per PN

Wenn du den Chrome benutzt, kannst du mit F12 die Entwicklerkonsole aufmachen, bei der es einen Tab „Netzwerk“ gibt. Dort siehst du alle URLs, die der Browser aufruft. Beim Firefox müsstest du dir die „Firebug“-Extension dazuinstallieren, um das zu sehen. Beim IE kenn ich mich nicht aus. Der Opera hat unten rechts ein kleines Libellenicon, das die Entwicklerkonsole öffnet.

Wenn du also den Netzwerktab offen hast, klick auf den Javascriptlink. Die richtige URL wird dann in der Netzwerkliste auftauchen.

Suuuupeeeer!!! Hat mit der Basic.2 geklappt mit dem 4-Zeilen-Code von zoo vom 27.06.2012 13:32. :good:

Vielen Dank an alle! :tanzen:

jetzt wäre es noch schön,
wenn jemand ein kleines Progrämmle schreibt, wo man die Daten der TK-Anlage sowie die Ausgabe-Ordner angeben kann.

Leider bin ich nicht derjenige, der dies kann :frowning:

Interessant ist ja, dass man wahrscheinlich die “API-Codes” für die 6000 wohl auch für die 5020 nutzen kann:

http://www.auerswald.de/de/produkte/software/software-schnittstellen/pbx-control-api/112-service/faq/950-faqs-beschreibung-api-de.html

Wenn man Systeminfos aus der Anlage rausbekommen will, geht dies recht simpel hiermit (auch an der 5020):
https://192.168.0.240/app_about

Auf die 5020 greift man dann wohl per json zu, wie ich es hier rausgelesen habe. Die 6000 verlangt DAA.

Interessant wären dann auch Rufumleitungen per Script zu aktivieren/deaktiveren.

Könnte jemand so ein “Programm” für den Zugriff erstellen?
Idealerweise mit Angabe des Codes… :slight_smile:

bis dann & danke

COMpact 5020
COMfortel 3500, 2500, 2500 VoIP, IP-DECT 1040, TFS 201