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

Unterscheidung zwischen "anonymen Anrufern"

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von thorsten.gehrig, 23 Juni 2005.

  1. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    es gibt ja immer 2 Arten von anonymen Anrufern:
    a) "alte" bekannte die vom analoganschluss keine Nummer übermitteln
    b) Callcenter und andere die aktiv ihre nummer unterdrücken.

    Letztere möchte man ja meistens *nicht* sprechen (wer mich sprechen will soll mir vorher auch sagen wer er ist...)

    Das das entsprechende Parameter von chan_capi nicht in Asterisk auswertbar ist habe ich mir ein umweg gebastelt:
    ich habe mir "isdnlog" installiert. Damit bekomme ich im syslog massig informationen über die ein- und ausgehenden ISDN calls.
    Ankommende analog-calls ohne nummer haben einen eintrag
    "blablabla RING (3.1 kHz audio)"
    ankommende isdn-calls mit rufnummernunterdrückung (auch vom Handy) haben
    "blbla RING (speech)"

    Schwups - das ganze in ein agi eingebaut (z.b. in das reverse-lookup - oder in ein eigenes)

    Hier meine erste Testversion
    Code:
    #!/bin/sh 
    
    #Zuerst die gewünschte Zeile in eine eigene Datei schreiben
    echo | tail -n 10 /var/log/syslog | grep "RING (" >>/var/log/asterisk/anrufliste_ID
    
    #Jetzt schauen was drinn steht 
    if [ "`tail -c 10 /var/log/asterisk/anrufliste_ID`" == "z audio)  " ]; then
        echo 'SET VARIABLE LONGNAME '"\"analoger Anrufer\"" >/dev/stdout
    fi
    
    if [ "`tail -c 10 /var/log/asterisk/anrufliste_ID`" == "(Speech) " ]; then
        echo 'SET VARIABLE LONGNAME '"\"aktiv unterdrueckt\"" >/dev/stdout
    fi
    
    read in
    
    exit 0
    
    
    Und schon sieht man wer anruft - und kann auch entsprechen basteln (die callcenter bekommen eine Ansage "Hallo liebes Callcenter - sie hören nun ein wenig wartemusik - drücken Sie die 0 um aufzulegen oder die 1 um weiterhin in der Warteschlange zu bleiben ;-)"

    Gruß
    Thorsten
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    das ist super das script, muss ich gleich mal einbauen

    THX
     
  3. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Und was ist mit Anrufen aus Telefonzellen oder Deine Bank ruft Dich an um Dir etwas wichtiges mitzuteilen oder die support-Hotline die Dein Problem gelöst hat und es Dir jetzt mitteilen möchte oder ein Freund ruft aus dem Büro an wo immer die Nummer unterdrückt wird oder oder oder.

    Also wenn man keine wichtigen Anrufe erwartet oder seine Freunde gern verärgern möchte, dann ist das =vielleicht= in Erwägung zu ziehen, ich persönlich glaube kaum, dass der Nutzen den evtl. Schaden aufwiegt. Ich erhalte aber auch nur sehr selten unerwünschte Anrufe von callcentern, vielleicht einmal im halben Jahr....
     
  4. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dann würde ich aber etliche Leute aussperren, denn standardmässig wurde bei mehreren meiner Kumpels die Rufnummernunterdrückung bei der T-Com fest eingebaut. Begründung: Sie stünden ja nicht im Telefonbuch. Jetzt müssten die alle das Feature umschalten lassen? :(
    Technisch gesehen vielen Dank für dieses Feature, denn damit kann ich mich evtl. anders melden am Telefon, aber die automatische Nutzung im Rufnummernplan ist für mich zu heikel.
     
  5. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    @madiehl: derzeit nutze ich das ganze auch nur zur unterschiedlichen anrufsignalisierung.... will das aber später umschalten :)
    Haben deine Kumpels einen Analog-Anschluss? Dann müsste ja dies als 3.1 kHz angezeigt werden -> kein Problem.
    Haben deine Kumpels ISDN und keine Übermittlung - dann müssten Sie dies selbst am telefon (bzw. telefonanlage) konfigurieren können...
    Ich bin mir zwar nicht sicher, aber ich denke CLIP gehört zu den standardfeatures eines "normalen" T-ISDN-Anschlusses...

    Gruß
    Thorsten
     
  6. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    stimmt nicht ganz - es ist wirklich so, dass wenn man keinen Telefonbucheintrag hat auch die Rufnummer nicht übertragen wird (kann dann auch nicht vom Telefon eingeschaltet werden). Man muss erst bei der Hotline anrufen und explizit die Übermittlung freischalten lassen - das kostet aber nichts und erfolgt sofort.
     
  7. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es ist leider genau wie chaos2000 schreibt. Man muss das über die T-COM freischalten lassen, über die Telefone geht das leider nicht.
     
  8. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    also technisch gesehen gibt es
    CLIP (Calling Line Identification PRESENTATION) -Anzeige - vom Endgerät abschaltbar
    CLIR (.................................... RESTRICTION) - Unterdrückung - vom Endgerät abschaltbar
    oder eben keinen von beiden diensten - keine Nummernanzeige...

    In meinem script ist übrigens ein kleiner/großer fehler! Das script darf natürlich nur ausgeführt werden wenn KEINE nummer übermittelt wird - sonst wird der Anrufername überschrieben... beachtet das bei eurem aufruf... (mir ists gerade zu heiß um das in das script einzubauen)

    Gruß
    Thorsten
     
  9. chaos2000

    chaos2000 Aktives Mitglied

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

    ich hab es mal gemacht ;)
    Code:
    #!/bin/sh
    #
    #read agi_request
    #read agi_language
    #read agi_channel
    #read agi_type
    #read agi_uniqueid
    #read agi_callerid
    #read agi_dnid
    #read agi_rdnis
    #read agi_context
    #read agi_extension
    #read agi_priority
    #read agi_enhanced
    #read agi_accountcode
    #read emptyline
    
    #pfad zum cachefile
    CACHE="/var/spool/asterisk/invsuche_cache"
    
    #pfad um das tempfile anzulegen
    TMPFILE="/tmp/tmpsuche"
    LOG="/var/log/asterisk/anrufliste_log"
    
    if [ "$1" == "" ]; then
    echo "true"
       echo |tail -n 20 /var/log/messages |grep "RING (" >>/var/log/asterisk/anrufliste_ID
       #defaultwerte
       NAME="n.a."
       DETAILS="Keine details"
       #Jetzt schauen was drinn steht 
       if [ "`tail -c 10 /var/log/asterisk/anrufliste_ID`" == "z audio) " ]; then 
    	NAME="analoger Anrufer"
    	DETAILS="Keine details"
       fi 
    	
       if [ "`tail -c 10 /var/log/asterisk/anrufliste_ID`" == "(Speech) " ]; then 
    	NAME="aktiv unterdrueckt"
    	DETAILS="Keine details"
       fi
    else
        NUMMER=`echo $1 | sed -e "s/\ //g" -e "s/+49/0/"`
        #echo "Suche nach $NUMMER im cache"
        NAME=`awk  -F '\t' '{ if ($1 == "'$NUMMER'") print $2 }' $CACHE`
        DETAILS=`awk  -F '\t' '{ if ($1 == "'$NUMMER'") print $3 }' $CACHE`
        #echo "Name: $NAME"
        #echo "Details: $DETAILS"
        if [ "$NAME" == "" ]; then
        # reverse Lookup via www.dasoertliche.de"
            lynx "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=$NUMMER&main=Antwort&s=2" \
            -dump -nolist -connect_timeout=3>  $TMPFILE
            NAME=`grep printselected.gif -A 2 $TMPFILE | awk '{ if (FNR == 2) print $0 }' |  sed  -e "s/\ \+//" -e "s/\ \+/\ /g" -e "s/\[_\]//g"`
            DETAILS=`grep printselected.gif -A 2 $TMPFILE | awk '{ if (FNR == 3) print $0 }' |  sed  -e "s/\ \+//" -e "s/\ \+/\ /g" -e "s/\[_\]//g"`
            if [ "$NAME" == "" ]; then
                if grep "Kein Teilnehmer gefunden" $TMPFILE > /dev/null; then
                    NAME="Telefonnummer $NUMMER"
                    DETAILS="Kein Eintrag $2"
                fi;
            fi;
            if [ "$NAME" == "" ]; then
                NAME="Telefonnummer $NUMMER"
                DETAILS="Fehler $2"
            else
                echo -e "$NUMMER\t$NAME\t$DETAILS" >> $CACHE
            fi;
        fi
    fi
    
    ###
    ### Here you can add "additional alert code" 
    ###
    
    echo -e "`date +%e.%m\ %H:%M ` $NAME " >>$LOG
    echo 'SET VARIABLE LONGNAME '"\"$NAME\"" >/dev/stdout
    echo 'SET VARIABLE DETAILS '"\"$DETAILS\"" >/dev/stdout
    #wget -O /dev/null "http://172.17.1.151/control/message?popup=Anruf%20von:%20$NAME%0A$DETAILS"
    #wget -O/dev/null "http://172.17.1.151/control/message?nmsg=Anruf%20von:%20$NAME%0A$DETAILS" >/dev/null
    read in
    
    exit 0 
    
    Bitte beachtet aber den Unterschied der log-Files


    EDIT 27.06.2005: Achtung in dem Script war noch ein kleiner Fehler, es war ein Leerzeichen zwischen audio) und " zu viel - jetzt kunktioniert es
     
  10. simoneh

    simoneh Neuer User

    Registriert seit:
    16 Feb. 2005
    Beiträge:
    27
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hi,

    ich würde jetzt gerne diese Informationen an mein an einer HFC Karte angeschlossenes ISDN Telefon weitergeben. Leider zeigt das Telefon aber trotz SetCallerPres(prohib_passed_screen) nicht an, dass es sich um eine aktiv unterdrückte Telefonnummer handelt. Geht das wirklich nur mit PRI Karten?
     
  11. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @chaos2000

    Hast Du CAPI installiert?
    Ich habe mit Bristuff keine isdn-Infos in der /var/log/messages
    drin!!

    Gruß
    britzelfix
     
  12. chaos2000

    chaos2000 Aktives Mitglied

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

    ja habe dafür capi im einsatz.
    Wie es mit bristuff/HFC ausschaut weiss ich noch nicht, habe z.Z. keine Karte um es zu testen.
     
  13. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    @chaos2000: wollte gerade meine version einstellen - danke für deine :)
    @simoneh: ja, leider schon.
    @britzelfix: hast du isdnlog installiert (bei debian "apt-get install isdnlog"). dann siehst du was in den logfiles. UNABHÄNGIG von Asterisk!!

    Gruß
    Thorsten
     
  14. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @tg

    nee, ich habe kein i4l installiert.
    Meine gesamten * logs landen in /var/log/asterisk/ .
    (debug,event_log,full,messages,queue_log,cdr-*/)

    Gruß
    britzelfix
     
  15. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @britzelfix: ich weiss nicht ob isdnlog von i4l abhängig ist! aber die logs die ich auswerte kommen von isdnlog - und nicht von asterisk!!

    die auswertung funktioniert also auch ohne asterisk - selbst wenn der pc nur paralell am isdnbus hängt und die gespräche an einer "richtigen" telefonanlage entgegengenommen werden...

    gruß
    thorsten
     
  16. Tippfehler

    Tippfehler IPPF-Promi

    Registriert seit:
    14 Sep. 2004
    Beiträge:
    3,105
    Zustimmungen:
    13
    Punkte für Erfolge:
    38
    Ort:
    AB
    Vielleicht könnte man eine Ansage einbauen:
    "Hallo, Sie rufen mit aktiver Rufnummernunterdrückung an. Wegen ständigen Mißbrauchs unserer Telefonleitung, können diese Anrufe nur noch mit einer PIN durchgestellt werden. Falls Sie noch keine PIN haben, können Sie Ihre Nachricht durch Eingabe von # auf dem AB hinterlassen, ..."
     
  17. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @tg

    Die Logs im /var/log/asterisk haben mich auf die
    falsche Fährte geführt.

    Es interessiert mich nun, ob so etwas mit * auch möglich ist,
    bzw. welche Möglichkeiten das SIP-Protokol dafür parat hat.
    Es könnte ja sein, daß ein SIP-Provider mehr infos sendet,
    als von * ausgewertet werden.

    Gruß
    britzelfix
     
  18. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  19. stevie

    stevie Neuer User

    Registriert seit:
    3 Aug. 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi......habe den Thread gerade erst entdeckt! .....und mir kam da noch 'ne Idee! :gruebel:
    So weit ich weiß, "heißt" das Flag im ISDN _nicht_ "schicke die CID nicht mit" sondern ist ein Signal für die empfangende TelCom-Einheit und "heißt": "Zeige die CID nicht an". Das bedeutet, die CID liegt - zumindest bei einem ISDN-Anrufer - immer mit an! Darum gibt es ja auch so viele D-Kanal-Tracer-Projekte im Netz! Kann man dann nicht "einfach" die CID aus dem Trace (mit einem ähnlichen Mechanismus wie thorsten.gehrig es gemacht hat) wieder in den Dialplan einfügen und sich so die CID doch wieder anzeigen lassen? Dann hätte man wesentlich mehr Entscheidungssicherheit bez. des Abweisens von Anrufern!
    Wenn das so wirklich funktioniert könnte man im nächsten Schritt die unerwünschten Nr.n in die *-interne DB eintragen und beim nächsten Mal gleich "qualifiziert" abweisen! ......also nicht "mit der Gießkanne"!
    Ist nur so eine Idee!
    Grüße
    Stevie
     
  20. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    imho hast du zwar a) recht (die nummer ist immer im isdn vorhanden) wird aber b) nicht zu dir als (normaler) b-teilnehmer übermittelt.
    da du keinen zugriff auf die Vermittlungsstelle hast bringt dir das auch nichts..

    Übrigens werden 2 nummern übermittelt: die "wirkliche" und die die angezeigt werden soll - (bei clip-no-screening kann man selbst einstellen was angezeigt werden soll - für callcenter u.ä.)

    Gruß
    Thorsten