getfbcalls.pl, Perl-Skript zur automat. Anrufabfrage

Ihr hab schon verstanden, dass das Skript auf einem Linux-Rechner installiert wird und von dort die Anrufe auf der FB abholt ?

[ ] Ja - Klasse, meine Frage hat sich erledigt!
[ ] Nein - Ich sollte den Thread nochmal genauer studieren.

p7
 
oha

oha, die frage hat die allgemeinheit überfordert :)
 
Allem anschein nach Ja ! :)
 
ups :(

auf die gefahr hin, dass ich mich blamiere, aber bei mir passiert folgendes:

Code:
TV-Pinguin:/usr/bin# ./getfbcalls.pl --phonedirection=2
Can't locate WWW/Mechanize.pm in @INC 
(@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 
/usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 
/usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) 
at ./getfbcalls.pl line 35.
BEGIN failed--compilation aborted at ./getfbcalls.pl line 35.

Für sachdienliche Hinweise wäre ist superdankbar !

Stöcky
 
Ok ......

ok, wenn man ein paar paketenachzieht, dann tuts dann auch :))) danke am meine bessere hälfte !! :)

nun schau ich mal weiter, versuch gearde die befüllung der sql hinzubekommen .....

ich glaube aber, dass ich das format mit der FW von anfang februar etwas geändert hat .. ich schau glaich mal genauer hin ...

mirko
 
Anpassungen .....

ab Zeile 725 folgende Anpassungen (fett=neu), da die Gesprächslänge aufgrund eines neuen Feldes mit der aktuellen Firmware nicht mehr funktionierte, und damit das Ganze in MySQL gut aussieht (ich hoffe, ich habe die anderen Ausgabeformate nun nicht geschrottet):
Code:
[I]# Remove unneeded stuff[/I]
$rowdata =~ s/document\.write\(uiCallSymbol\(\"//g;
$rowdata =~ s/document\.write\(uiRufnummerDisplay\(\"//g;
$rowdata =~ s/document\.write\(uiPortDisplay\(\"//g;
$rowdata =~ s/document\.write\(uiRouteDisplay\(\"//g;
$rowdata =~ s/\"\)\)\;//g;
$rowdata =~ s/\,\,/\,\--------\,/g;
[B]$rowdata =~ s/\"//g;[/B]

[I]# Split row into an usefull format[/I]
($FBCallDirection, $FBCallDateTime, $FBCaller, [B]$FBPort [/B], $FBCalledNumber, [B]$FBService[/B], $FBCallDuration) = split(/,/, $rowdata);

[I]# Split time and date[/I]
($FBCallDate, $FBCallTime) = split(/ /, $FBCallDateTime);

[I][B]# Time2Minutes[/I]
($FBCallDurstd, $FBCallDurmin) = split(/:/, $FBCallDuration);
$FBCallDuration = $FBCallDurstd * 60 + $FBCallDurmin;
		
[I]# Calldirection2humanformat[/I]
if($FBCallDirection eq 1) {$FBCallDirection = "in"}
if($FBCallDirection eq 2) {$FBCallDirection = "nop"}
if($FBCallDirection eq 3) {$FBCallDirection = "out"}[/B]
und logischerweise in der MySQL Tabelle die Spalte "CalDirection" in Typ "Char" ändern.
 
Kurzanletung der Einrichtung

- Script runterladen, und wie im ersten Beitrag genannt ausführbar machen, und in *.pl umbenennen.
- script einfach mal auf der commandozeile z.b. mit "/usr/bin/getfbcall.pl" starten.
- die fehlermeldungen ggf genau lesen und die typischen pakete "www-mechanize" und "www-mechanize-formfiller" im OS nachinstallieren.
- entweder man übergibt dem script dann immer passwort und ip usw oder man trägt sie fest im script ein. (zeile 53/54)
- wenn man das ding immer für dieselbe "tat" nutzt, kann man auch die fogenden vars entsprechend belegen (dann vielleichtr das script unter einen neuen namen speichern) eins zum basteln ud eins für den cron mit festen daten.
- dann als cron-job beliebig oft laufen lassen. ich befülle zum beispiel alle 8 stunden eine SQL-Datenbank mit den neuen anrufen. klappt prima !

Stöcky

nokman schrieb:
Hallo,
wie wird das script auf der FBF genau eingerichtet?
Könntest Du da mal eine Anleitung senden.

Hat das Script auch ein Telefonbuch, wo man einer Telefonnummer einen Namen zuördnen kann?


genau das würde mich auch interessieren. Habe die Box neu.
Tele läuft. Habe ich zumindest installiert.
Gruß

Nok
 
Hi,

nach längerer Zeit hab ich mal wieder zufällig hier reingeguckt und gefreut, das noch jemand mein Skript gebrauchen kann :)

stoecky schrieb:
ab Zeile 725 folgende Anpassungen (fett=neu), da die Gesprächslänge aufgrund eines neuen Feldes mit der aktuellen Firmware nicht mehr funktionierte, und damit das Ganze in MySQL gut aussieht (ich hoffe, ich habe die anderen Ausgabeformate nun nicht geschrottet):
Code:
[/QUOTE]
Ich bau die Änderungen ein und submite das im laufe des heutigen Tages in den Hauptpost

Gruss, p7
 
Hi

Ich habe eine AVM 7170 und versuche gerade das irgendwie hin zu kriegen leider läuft das Script bei mir nicht kann mir vielleicht jemand dabei helfen kriege keine Error oder Fehler als output. Sollte also eigentlich alles richtig ausgeführt werden. Hat jemand vielleicht erfahrung damit?

Cu Kami
 
Hi!

kami23 schrieb:
Ich habe eine AVM 7170 und versuche gerade das irgendwie hin zu kriegen leider läuft das Script bei mir nicht kann mir vielleicht jemand dabei helfen kriege keine Error oder Fehler als output. Sollte also eigentlich alles richtig ausgeführt werden. Hat jemand vielleicht erfahrung damit?
ich habe (momentan noch) eine 7050 (und selbst mit der aktuellen FW dafür hab ich es noch nicht getestet) weshalb ich das Skript mit der aktuellen FW-Version nicht testen kann, bin mir aber ohne tests schon sicher, dass das Skript so nicht mehr laufen wird. Auf der anderen Seite bin ich mir aber recht sicher, dass man das Skript mit recht geringem Anpassungsaufwand an die aktuelle FW anpassen kann (wenn man die Box zum testen hat). Ich guck mal morgen, wie weit das Skript angepasst werden muss damit es mit der 7050 läuft, vllt. läufts dann auch wieder problemlos mit der 7170.

p7
 
Hey danke schön also ich würde mich freuen wenn das Skript laufen würde auf meiner Box. Wenn ich dir irgendwie helfen kann dann sag es mir könntest mir auch, wenn du nicht über das Board in Kontakt bleiben willst ne Mail oder PM schicken. Das Skript sollte ja sicher irgendwie anzupassen sein, weil ich muss sagen die Idee mit dem Mysql und so ist echt klasse. Würde gerne wissen wie man du das Skript dann vielleicht angepasst hast, da ich auch noch ein paar mehr Funktion gerne aus dem Router auslesen möchte.

CU kami
 
Ich habe v0.1.5 vom Skript hochgeladen welches mit der aktuelle FW der 7050 zurecht kommt. Schau mal, ob die bei dir funktioniert kami23. Ich habe jetzt nicht alle Funktionen getestet (mySQL zB nicht) - gib mal bescheid, ob alles funktioniert.

p7
 
Hi prodigy7

Habe das skript getestet. Läuft echt super auch der MySQL -Eintrag klappt 100%. Kann mir jetzt alles super auf meiner Website anzeigen läuft 100%. Was mich noch interessieren würde, ist wie man raus finden kann wo die Daten auf dem Router stehen. Also weil ich mir noch die Infos von den Einzelnen Rechner holen wollte also an welchem Lan-Port welcher Rechner ist.

@an den Rest.

Also das Skript wird nicht auf dem Router installiert sondern auf einem anderem Rechner im System. Dieser Rechner sollte Perl Skripte ausführen können ( am einfachsten Linux System).

Cu kami
 
Hi.

Es wäre sehr nett wenn auch beschrieben wäre was alles, und wie, im Teil
#set default values,
eingetragen werden muss.

Gibt immer welche die einen Denkanstoß brauchen und/oder auf der Leitung stehen. (Geht mir oft so)

Und wo sag ich dem Script wo die benötigten Module zu finden sind?
Mechanize z.B. *

Würde es gerne auf OSX laufen lassen.

*Fehlermeldung:
Code:
Last login: Sun Oct 28 07:00:16 on ttyp1
Welcome to Darwin!
t-test-Computer:~ tom$ /Users/tom/Sites/fritz/getfbcalls.pl
Can't locate WWW/Mechanize.pm in @INC (@INC contains: /System/Library/Perl/5.8.1/darwin-thread-multi-2level /System/Library/Perl/5.8.1 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 /Library/Perl /Network/Library/Perl/5.8.1/darwin-thread-multi-2level /Network/Library/Perl/5.8.1 /Network/Library/Perl .) at /Users/tom/Sites/fritz/getfbcalls.pl line 42.
BEGIN failed--compilation aborted at /Users/tom/Sites/fritz/getfbcalls.pl line 42.
t-test-Computer:~ tom$

Läuft es überhaupt noch mit den aktuellen Firmware-Versionen von AVM?
 
Normalerweise lassen sich die Module durch die Fehlermeldung ableiten.
Wenn du z.B. in der Meldung WWW/Mechanize.pm siehst, wird das Modul WWW::Mechanize gesucht...
 
Ja ich weiss.
Habe ja gefragt wo ich dem Script den Pfad sagen kann. Hab nicht gesagt das ich nichts mit dieser Meldung anfangen kann. Oder?
Steht ja da /Network/Library/Perl/5.8.1 .
Diesen Pfad hab ich aber nicht
blinx15x18.gif

Den hier aber schon: /System/Library/Perl/5.8.1


Hätte noch: /opt/local/var/macports/sources/rsync.macports.org/release/ports/perl/p5-www-mechanize

Was ist mit den Anderen Fragen?
Läufts überhaupt noch mit den neuen Firmwareversionen? Nicht das ich mir umsonst einen Kopf mach.

Edit:
1. Verschrieben.
2. Ist das eine aktuelle FW von der 7050? 14.03.62.
 
Zuletzt bearbeitet:
Ich denke mal, es geht
a) in einem freundlicheren Tonfall und
b) wenn du genaue Antworten willst, stell genaue Fragen.

Die Variablen unter #set default values sollten eigentlich selbsterklärend sein und wenn du mit einer Variable nichts anfangen kannst, wirst du die auch nicht benötigen.

Ich hab das Skript derzeit mit einer FB7170 / FW 29.04.33 im Einsatz und es funktioniert bei mir problemlos.

Bei deinen MacOS-Problemen kann ich dir nicht helfen, aber dafür bist du auch im ganz falschen Forum.
 
Hi.

Hab jetzt noch 3x meinen Beitrag durchgelesen aber finde den "unfreundlichen" Ton nicht.
Kann mich auch nicht erinnern etwas unfreundliches dabei gedacht zu haben.
Was an meinen Fragen unklar ist, ist mir schleierhaft.
Ich habe deutlich gefragt wie ich den Pfad zu Mechanize anpassen kann.
Habe auch angemerkt das sehr nett wäre wenn ... siehe oben...

Solche Antworten wie "und wenn du mit einer Variable nichts anfangen kannst, wirst du die auch nicht benötigen" spar dir bitte lieber.
Schreib sowas erst nicht. Spar dir Zeit zu schreiben. Tut meinen Augen auch besser -die rollen sich bei sowas immer nach hinten-
(Dazu gehören auch Antworten die nicht auf Fragen eingehen).
Würde schon gern wissen (für) was firmwarestyle, interface, FBSummary ist und tut. Nur um ein kurzen Beispiel zu nenne.
Würde es drin stehen, bräuchten andere evtl nicht mehr Fragen oder wo hängen bleiben.
Ein kurzes # das ist und tut zwischen drin, wäre halt sehr nett.

Wenigsten hast du das mit der Firmware normal beantwortet, danke dir.

Erbitte auch keine Hilfe bei meinem OSX "Problem". Welches überhaupt?
Wollte nur den Pfad anpassen. Mehr nicht.
Evtl. noch fragen ob es andere, neue Module von Machanize gibt und woher man sie bekommt.
(Finde dazu nicht wirklich was per Google)

Wie man sagen kann das wer im falschen Forum ist, ist für mich nur schwer nach zu vollziehen. Erklär mir das mal.
Wenn du nur mit Experten zu tun haben möchtest, solltest du auch in blanken Expertenforum schreiben.
"Learning-by-doing"- So hast du dich auch selbst ausgedrückt.
Ich mach es nicht anders...


Irgendwie mit dem falschen Fuss aufgestanden?

Wenn dir das jetzt etwas schroff vorkommt, ist das kein falsches Gefühl.
Liegt aber an deiner Antwort. Die pisst mich nämlich schon recht an.
Evtl. war das mit dem "unfreundlichen Tonfall" ja ein Missverständnis (Persönlich bin ich mir da sicher).
Das hätte man aber auch anders in Erfahrung bringen können.
Nicht das ich das Script brauche, war einfach nur neugierig und wollte etwas dazulernen.
Ist ja was feines was du geschrieben hast.
Aber auf deine Art von Antworten verzichte ich dann lieber und komm so zurecht.


Evtl. klappt es ja ein anderes mal.
 
Hi,

ich habe gentoo bei mir laufen und WWW-Mechanize Version 1.60 installiert.
Leider meldet ab dieser Version das Skript immer folgenden Fehler :

Can't locate object method "form" via package "WWW::Mechanize" at .avm/getfbcalls.pl line 834.

Kann mir dabei vielleicht jemand weiterhelfen?

Gruß kami23
 
Das Skript funktioniert bei aktuellen Firmware Versionen nicht weil AVM etwas an der Sitzungsverwaltung verändert hat. Hab mal eben geschaut, ob man Quick&Dirty das Fixen kann, sieht aber nach einer größeren Sache aus.
Wenn ich Zeit habe, fix ich dass die Tage.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.