.titleBar { margin-bottom: 5px!important; }

0180.info lookup ?

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von Fux, 7 Apr. 2005.

  1. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo zusammen,

    Wie wäre es denn mit einem Script, welches statt der teuren 0180-Nummern alternative FN-Nummern ausspuckt ?

    Wenn jemand eine 0180-Rufnummer wählt, sollte der *-Server in der DB der 0180.info nachgucken, ob diese Rufnummer dort verzeichnet ist und falls ja, mit der alternativen (und günstigeren) FN-Nummer verbinden.
    0180.info bietet ja ein CSV-File mit den Daten an.

    Die Herangehensweise im groben müßte also sein:

    - cronjob, der regelmäßig das aktuelle CSV-File zieht
    - Script, welches im CSV-File nachguckt, ob Alternativ-Rufnummer(n) vorhanden sind und diese Rufnummer(n) an * übergibt
    - * probiert die alternative Rufnummer(n) eine einstellbare Zeit und wählt notfalls die 0180-Nummer, falls erfolglos

    Leider reichen meine Fähigkeiten zum Programmieren eines solchen Scriptes nicht aus.

    Aber vielleicht hat ja jemand anders schon etwas in dieser Richtung in Arbeit oder Lust dazu.?
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    ok, keine schlechte idee - werde mich am WE mal hin setzen und es versuchen umzusetzten
     
  3. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Wie versprochen habe ich mich mit dem Thema beschäftigt und ein kleine script geschrieben.
    Ich habe leider nicht die Erfahrung mit perl - also nicht über den schlechten code schimpfen *g* Würde mich freuen wenn ihr noch ein paar verbesserungsvorschäge macht bzw. meinen code verbesset.

    THX
    Code:
    #!/usr/bin/perl -w
    
    #0180 dblookup AGI extension. 
    #(C) 2005 by Marcello Ceschia
    #(C) 2005 by Marcello (dot) Ceschia (at) smiledesigns (dot) de
    #Released under the GNU General Public License 
    # 
    #This script will dial an alternative nummber according to it's 0180 dbentry
    #Use it in your extensions.conf like this: 
    #
    #  exten => _*0.,1,Agi(0180lookup.agi|${EXTEN:2}) 
    #  exten => _*0.,2,SendText(${dblookupfirm}) 
    #  exten => _*0.,3,Dial(SIP/${dblookupnumber}@sip.provider.com) 
    # 
    #/var/lib/asterisk/database is the base dir for the db
    #and db0180 is the default table name 
    #specified in the constant $datebasedir and $table below. 
    
    use Asterisk::AGI;
    use DBI;
    use strict;
    
    #############
    # Settings: #
    #############
    my $table = "db0180";
    my $datebasedir = "/var/lib/asterisk/database";
    my $debug = 1;
    
    
    
    sub addtonumber
    {
       my $i;
       my $temp = $_[$i];
       my $t0180 = substr($temp,0,5)."-".substr($temp,5,length($temp));
       return $t0180;
    }
    
    sub clearfromnumber
    {
       my $i;
       my @teile = split(/\-/,$_[$i]);
       my $tnormal = $teile[0]."".$teile[1];
       return $tnormal;
    }
    
    my $agi = new Asterisk::AGI;
    my %agi_env = $agi->ReadParse;
    $agi->answer;
    my $dbh = DBI->connect("DBI:CSV:f_dir=$datebasedir;csv_eol=\n;csv_sep_char=\\;;csv_quote_char=\";csv_escape_char=");
    my $query = "SELECT firma, t0180, tnormal FROM $table WHERE t0180 = '".addtonumber($ARGV[0])."'";
    my $sth = $dbh->prepare($query);
    $sth->execute() or die $sth->errstr;
    # print $query."\n";
    if($sth->rows() > 0){
    	my @data = $sth->fetchrow_array;
    #  	print "Firma: $data[0] \nt0180: $data[1]\nnormal: $data[2]\n";
    # 	print clearfromnumber($data[2])."\n";
    	$agi->set_variable("dblookupnumber", clearfromnumber($data[2]));
    	$agi->set_variable("dblookupfirm", $data[0]);
    }
    else
    {
    	$agi->set_variable("dblookupnumber". $ARGV[0]);
    }
    $sth->finish();
    $dbh->disconnect();
    
    Die datenbank von http://www.tk-anbieter.de/0180/csv.php downloaden und unter /var/lib/asterisk/database/db0180 speichern

    P.S.: Ich hatte leider noch nicht die Zeit die 100%-ige funktionalität zu testen -> early alpha version *g*

    EDIT: als crontab vielleicht
    Code:
    wget --output-document=/var/lib/asterisk/database/db0180 http://www.tk-anbieter.de/0180/csv.php
    
    eintragen
     
  4. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Wow, das ging schnell !

    Habe mir das Skript mal gezogen und in /var/lib/asterisk/agi-bin gepackt.
    DB liegt auch, wo sie hin soll.

    Leider gibt es Probs. Asterisk sagt:
    Code:
     Executing AGI("Zap/1-1", "0180lookup.agi|1805121213") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/0180lookup.agi
        -- AGI Script 0180lookup.agi completed, returning 0
        -- Executing Dial("Zap/1-1", "SIP/@gmxpcn") in new stack
        -- Called @gmxpcn
    
    Das sieht für mich so aus, daß das Skript nicht richitg durchläuft und keine Rufnummer zurückgegeben wird.
    Die getestete Rufnummer (01805-121213) ist von Samsung und in der 0180-info-db vorhanden. Müßte also eigentlich gefunden werden.

    Versuche ich, das Skript auf der Konsole auszuführen, erhalte ich folgende Fehlermeldungen:
    Code:
    ./0180lookup.agi: line 20: use: command not found
    ./0180lookup.agi: line 21: use: command not found
    ./0180lookup.agi: line 22: use: command not found
    ./0180lookup.agi: line 27: my: command not found
    ./0180lookup.agi: line 28: my: command not found
    ./0180lookup.agi: line 29: my: command not found
    ./0180lookup.agi: line 33: sub: command not found
    ./0180lookup.agi: line 37: syntax error near unexpected token `('
    ./0180lookup.agi: line 37: `   my $t0180 = substr($temp,0,5)."-".substr($temp,5,length($temp));'
    
    Irgendein Tip für mich, woran es liegen könnte ?
    Kann man das Skript irgendwie dazu bringen, ein Log zu schreiben. Wäre für die Fehlersuche bestimmt hilfreich. Ich habe zwar im Skript die Zeile
    my $debug = 1;
    gefunden. Ich weiß aber nicht wo und wie ich debug-Infos bekomme...
     
  5. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Hallo Fux,

    nach
    Code:
     Executing AGI("Zap/1-1", "0180lookup.agi|1805121213") in new stack 
    zu folge wird die nummer nicht korrekt übergeben, es fehlt die führende 0;
    des weiteren fehlt dir warscheinlich das CSV modul in perl
    Code:
    $ perl -MCPAN -eshell
    cpan> install DBD::CSV
    
    das $debug = 1;
    habe ich vergessen wieder aus dem code zu nehmen, ich habe für eine besser übersicht die debug infos herrausgenommen - sorry

    EDIT:
    habe noch 2 kleine Fehler entdeckt hier noch mal neu:
    Code:
    #!/usr/bin/perl -w
    
    #0180 dblookup AGI extension. 
    #(C) 2005 by Marcello Ceschia
    #(C) 2005 by Marcello (dot) Ceschia (at) smiledesigns (dot) de
    #Released under the GNU General Public License 
    # 
    #This script will dial an alternative nummber according to it's 0180 dbentry
    #Use it in your extensions.conf like this: 
    #
    #  exten => _*0.,1,Agi(0180lookup.agi|${EXTEN:2}) 
    #  exten => _*0.,2,SendText(${dblookupfirm}) 
    #  exten => _*0.,3,Dial(SIP/${dblookupnumber}@sip.provider.com) 
    # 
    #/var/lib/asterisk/database is the base dir for the db
    #and db0180 is the default table name 
    #specified in the constant $datebasedir and $table below. 
    
    use Asterisk::AGI;
    use DBI;
    use strict;
    
    #############
    # Settings: #
    #############
    my $table = "db0180";
    my $datebasedir = "/var/lib/asterisk/database";
    
    
    sub addtonumber
    {
       my $i;
       my $temp = $_[$i];
       my $t0180 = substr($temp,0,5)."-".substr($temp,5,length($temp));
       return $t0180;
    }
    
    sub clearfromnumber
    {
       my $i;
       my @teile = split(/\-/,$_[$i]);
       my $tnormal = $teile[0]."".$teile[1];
       return $tnormal;
    }
    
    my $agi = new Asterisk::AGI;
    # my %agi_env = $agi->ReadParse;
    $agi->answer;
    my $dbh = DBI->connect("DBI:CSV:f_dir=$datebasedir;csv_eol=\n;csv_sep_char=\\;;csv_quote_char=\";csv_escape_char=");
    my $query = "SELECT firma, t0180, tnormal FROM $table WHERE t0180 = '".addtonumber($ARGV[0])."'";
    my $sth = $dbh->prepare($query);
    $sth->execute() or die $sth->errstr;
    # print $query."\n";
    # print $sth->rows();
    if($sth->rows() > 0){
    	my @data = $sth->fetchrow_array;
    #  	print "Firma: $data[0] \nt0180: $data[1]\nnormal: $data[2]\n";
    #  	print clearfromnumber($data[2])."\n";
    	$agi->set_variable("dblookupnumber", clearfromnumber($data[2]));
    	$agi->set_variable("dblookupfirm", $data[0]);
    }
    else
    {
    	$agi->set_variable("dblookupnumber", $ARGV[0]);
    }
    $sth->finish();
    $dbh->disconnect();
    
    habe es auch noch mit ein paar nummern probiert - keine probs

    EDIT2:
    @Fux ich muss dir recht geben, deine testnummer funtioniert nicht - weswegen ist mir noch schleierhaft; Anscheind gibt es eine Stelle an der datei, ab der keine richtige Interpretation mehr möglich ist

    Werde ich morgen noch mal anschauen müssen - GUTE NACHT
     
  6. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Also,
    das mit der fehlenden Null war nur ein Versuch. Ich hab´s mit und ohne getesetet.

    Das CSV-Modul habe ich installiert.

    Die Fehlermeldungen rührten daher, daß ich eine Leerzeile als erste Zeile im Skript hatte.

    Die ist nun weg. Funzen tut es leider dennoch nicht.
    Rufe ich das Skript jetzt von der Konsole aus auf (nachdem ich die 4 Zeilen mit "print" einkommentiert habe), bekomme ich folgende Fehlermeldung:
    Code:
    ./0180lookup.agi 01803250335
    Can't locate Asterisk/AGI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.3/i586-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl .) at ./0180lookup.agi line 19.
    BEGIN failed--compilation aborted at ./0180lookup.agi line 19.
    
    Asterisk-CLI sagt:
    Code:
     -- Executing AGI("Zap/1-1", "0180lookup.agi|01803250335") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/0180lookup.agi
        -- Accepting voice call from '2000' to '01803250335' on channel 0/1, span 1
        -- AGI Script 0180lookup.agi completed, returning 0
        -- Executing SendText("Zap/1-1", "") in new stack
    Apr 11 21:03:39 WARNING[23852]: app_sendtext.c:49 sendtext_exec: SendText requires an argument (text)
    
    Also das Skript gibt nachwievor keine Werte zurück.

    Habe jetzt zum Testen die erste NUmmer in 0180.info genommen, um den Fehler mit der Samsung-Nummer zu umgehen.
    Wenn ich das richtig verstehe, müßte das Skript bei Nichtfinden der Nummer in der DB doch die 0180-Nummer zurückgeben oder ?

    EDIT 21:26

    Den Fehler mit dem fehlenden Asterisk-Modul habe ich gefunden und das Modul von http://asterisk.gnuinter.net/ installiert.

    Jetzt kommen keine Fehlermeldungen mehr auf der Konsole.
    Dort bleibt aber das Skript aufgerufen mit ./0180lookup.agi 01803250335 nach der Ausgabe von "ANSWER" stehen.

    Der CLI entnehme ich nach wie vor, daß keine Werte zurückgeliefert werden.

    Jetzt brauche ich doch nochmal Hilfe. Wo muß ich jetzt suchen ?
     
  7. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    hallo Fux,

    nach Answer einfach mal weiter [ENTER] drücken, dann hast du eine Anzeige wie diese
    Code:
    asterisk01:/var/lib/asterisk/agi-bin # ./0180lookup.agi 01803250335
    ANSWER
    
    Use of uninitialized value in numeric eq (==) at /usr/lib/perl5/site_perl/5.8.5/Asterisk/AGI.pm line 319, <STDIN> line 1.
    Use of uninitialized value in array element at ./0180lookup.agi line 35, <STDIN> line 1.
    SELECT firma, t0180, tnormal FROM db0180 WHERE t0180 = '01803-250335'
    1Use of uninitialized value in array element at ./0180lookup.agi line 43.
    SET VARIABLE dblookupnumber 04419265
    
    SET VARIABLE dblookupfirm A&O Autoversicherung Oldenburg AG
    
    asterisk01:/var/lib/asterisk/agi-bin #
    
    Ich denke ich finde morgen noch ein wenig zeit um mir die Probleme noch einmal anzuschauen - bis dahin
     
  8. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    OK es funzt soweit.
    Was wir noch beachten sollten ist die Tatsache, daß zu einer 0180-Nummer auch mehrere normale FN-Nummern eingetragen sein können.

    Ich mache mich jetzt mal daran, dem Nutzer einen Kontext zu bauen, der es ihm ermöglicht, auszuwählen ob die Verbindung zur Original-0180-Nummer oder zur Alternativ-FN-Nummer aufgebaut werden soll (Falls die Alternativ-Nr. nicht funzt, was ja manchmal der Fall ist).
     
  9. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Und so habe ich es gelöst:
    extensions.conf
    Code:
    [nulleinsachtnull]
    exten => _0180.,1,Setvar(originalnum=${EXTEN})
    exten => _0180.,2,Agi(0180lookup.agi|${EXTEN})					; in 0180.info-db nachschauen, ob andere Rufnummer vorhanden
    exten => _0180.,3,GotoIf($[${dblookupnumber} = ${originalnum}]?5)		; Alternativ-Nummer gefunden ?
    exten => _0180.,4,Goto(nulleinsachtnullauswahl,s,1)				; Wenn ja -> in Auswahl-Context
    exten => _0180.,5,Goto(capiout,0${originalnum},1)				; Wenn nein -> 0180-Nr. über Capi wählen
    
    
    [nulleinsachtnullauswahl]
    exten => s,1,SendText('1:'${dblookupnumber}' 2:'${originalnum})		; Auswahlmöglichkeiten auf Display des Tel anzeigen
    exten => s,2,ResponseTimeout(4)							
    exten => s,3,DigitTimeout(1)							
    exten => s,4,Background(alternativ)						; Ansagen und auf Auswahl warten
    exten => s,5,SendText('1:'${dblookupnumber}' 2:'${originalnum})		; Auswahlmöglichkeiten auf Display des Tel anzeigen
    
    exten => 1,1,Goto(sipout,${dblookupnumber},1)					; Auswahl 1 für alternative FN
    exten => 2,1,Goto(capiout,0${originalnum},1)					; Auswahl 2 für 0180 über Capi
    
    exten => t,1,Goto(1,1)
    
    exten => i,1,Goto(_0180.,6)
    
    Jetzt muß nur noch die CSV-Datei gefixt werden, damit man auch wirklich auf alle Einträge darin zugreifen kann. Ich werde sie mir mal ansehen...

    EDIT 1:12

    Hm, also die CSV-Datei scheint OK zu sein - Excel kann sie zumindest ohne Fehler importieren.

    Kommt der Fehler mit der Samsung-Testnummer (01805-121213) vielleicht daher, daß zu dieser Nummer zwei Alternativ-Einträge vorhanden sind ?
     
  10. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    ich habe mal versucht die csv datei in ms-access zu importieren, da gabe es einige fehler - muss ich mir noch mal anschauen
     
  11. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Habe noch einen Bug gefunden:
    Das Script funzt bei mir nur, wenn ich von einem ZapHFC-Device aus einen Anruf tätige. Von einem SIP-Device aus geht es nicht. Der Aufruf ist identisch (es wird derselbe Kontext benutzt), auch in der CLI sieht es gleich aus. Nur mit dem Unterschied, daß das Script bei SIP keine Alternativ-Nummer zurückzuliefern scheint. (Testnummer war in beiden Fällen gleich)

    Anruf mit ISDN Tel (ZapHFC)
    Code:
        -- Executing SetVar("Zap/1-1", "originalnum=01803250335") in new stack
        -- Executing AGI("Zap/1-1", "0180lookup.agi|01803250335") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/0180lookup.agi
        -- Accepting voice call from '2000' to '01803250335' on channel 0/1, span 1
        -- AGI Script 0180lookup.agi completed, returning 0
        -- Executing GotoIf("Zap/1-1", "0?5") in new stack
        -- Executing Goto("Zap/1-1", "nulleinsachtnullauswahl|s|1") in new stack
        -- Goto (nulleinsachtnullauswahl,s,1)
        -- Executing GotoIf("Zap/1-1", "0?3") in new stack
        -- Executing SendText("Zap/1-1", "1:04419265 2:01803250335") in new stack
        -- Executing ResponseTimeout("Zap/1-1", "4") in new stack
        -- Set Response Timeout to 4
        -- Executing DigitTimeout("Zap/1-1", "1") in new stack
        -- Set Digit Timeout to 1
        -- Executing BackGround("Zap/1-1", "alternativ") in new stack
        -- Playing 'alternativ' (language 'de')
        -- Executing SendText("Zap/1-1", "1:04419265 2:01803250335") in new stack
    
    Anruf mit Sip-Telefon (X-Lite & ATA 286 probiert)
    Code:
        -- Executing SetVar("SIP/fux2-020c", "originalnum=018053250335") in new stack
        -- Executing AGI("SIP/fux2-020c", "0180lookup.agi|018053250335") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/0180lookup.agi
        -- AGI Script 0180lookup.agi completed, returning 0
        -- Executing GotoIf("SIP/fux2-020c", "1?5") in new stack
        -- Goto (fux,018053250335,5)
        -- Executing Goto("SIP/fux2-020c", "capiout|0018053250335|1") in new stack
        -- Goto (capiout,0018053250335,1)
        -- Executing Macro("SIP/fux2-020c", "capicall|42|0018053250335") in new stack
        -- Executing SetCIDNum("SIP/fux2-020c", "42") in new stack
        -- Executing LookupCIDName("SIP/fux2-020c", "") in new stack
        -- Changed Caller*ID to "Fux Home" <42>
        -- Executing Monitor("SIP/fux2-020c", "wav|20050414-010123-42-0018053250335|m") in new stack
        -- Executing GotoIf("SIP/fux2-020c", "0?6") in new stack
        -- Executing SendText("SIP/fux2-020c", "ISDN:0018053250335") in new stack
        -- Executing Dial("SIP/fux2-020c", "CAPI/42:b0018053250335|60") in new stack
    
    Hast du eine Ahnung, woran das liegt ?
     
  12. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    das ist merkwürdig, ich habe es bis jetzt nur über sip probiert - werde heute abend wohl mal noch die capi und zap anschlüsse prüfen;
    Z.Z habe ich noch keine Idee woran es liegen könnte

    EDIT:

    habe es auch noch mal probiert und du hast recht *kopfeinzieh* es wir keine nummer zurück geliefert.
    seltsamerweise funkioniert es wenn ich vor jedes set_variable ein print "\n"; setzte *gr*
    Hier noch mal der code:
    Code:
    #!/usr/bin/perl -w
    
    #0180 dblookup AGI extension. 
    #(C) 2005 by Marcello Ceschia
    #(C) 2005 by Marcello (dot) Ceschia (at) smiledesigns (dot) de
    #Released under the GNU General Public License 
    # 
    #This script will dial an alternative nummber according to it's 0180 dbentry
    #Use it in your extensions.conf like this: 
    #
    #  exten => _*0.,1,Agi(0180lookup.agi|${EXTEN:2}) 
    #  exten => _*0.,2,SendText(${dblookupfirm}) 
    #  exten => _*0.,3,Dial(SIP/${dblookupnumber}@sip.provider.com) 
    # 
    #/var/lib/asterisk/database is the base dir for the db
    #and db0180 is the default table name 
    #specified in the constant $datebasedir and $table below. 
    
    use Asterisk::AGI;
    use DBI;
    use strict;
    
    #############
    # Settings: #
    #############
    my $table = "db0180";
    my $datebasedir = "/var/lib/asterisk/database";
    my $debug = 1;
    my $original = $ARGV[0];
    
    
    
    sub addtonumber
    {
       my $i;
       my $temp = $_[$i];
       my $t0180 = substr($temp,0,5)."-".substr($temp,5,length($temp));
       return $t0180;
    }
    
    sub clearfromnumber
    {
       my $i;
       my @teile = split(/\-/,$_[$i]);
       my $tnormal = $teile[0]."".$teile[1];
       return $tnormal;
    }
    
    my $agi = new Asterisk::AGI;
    # my %agi_env = $agi->ReadParse;
    $agi->answer;
    my $dbh = DBI->connect("DBI:CSV:f_dir=$datebasedir;csv_eol=\n;csv_sep_char=\\;;csv_quote_char=\";csv_escape_char=\n");
    my $query = "SELECT firma, t0180, tnormal FROM $table WHERE t0180 = '".addtonumber($ARGV[0])."'";
    my $sth = $dbh->prepare($query);
    $sth->execute() or die $sth->errstr;
    print $query."\n";
    print $sth->rows();
    if($sth->rows() > 0){
    	my @data = $sth->fetchrow_array;
    #  	print "Firma: $data[0] \nt0180: $data[1]\nnormal: $data[2]\n";
      	print "\n";
    	$agi->set_variable("dblookupnumber", clearfromnumber($data[2]));
    	$agi->set_variable("dblookupfirm", $data[0]);
    }
    else
    {
    	print "\n";
    	$agi->set_variable("dblookupnumber", $ARGV[0]);
    }
    $sth->finish();
    $dbh->disconnect();
    
     
  13. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ja, das tut es.

    Bliebe nur noch das Problem mit der Tabelle.
    Komisch ist, daß sie sich problemlos in Excel importieren läßt.
    Habe sie mir dann dort angesehen und konnte nix besonderes feststellen.
     
  14. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    ich reaktiviere mal den thread.
    Gibt es aktuell eine einbindung des 0180-telefonbuchs.
    Aktuell gibt es ja keinen export der gesamten 0180er nummern - dafür soll enum gehen - ich kriege es aber nicht hin.
    Kann da jemand einen tip geben?

    Gruß
    Thorsten
     
  15. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE