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

AutoRedial4All w/o AGI

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von o_dapenguin, 30 Sep. 2005.

  1. o_dapenguin

    o_dapenguin Neuer User

    Registriert seit:
    16 Juni 2005
    Beiträge:
    67
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BW
    Hallo,
    und weils so schön ist und ich Callfiles mag und ich es hasse, wenn ich 10mal versuche, jemanden zu erreichen oder irgendwo durchzukommen ... das AutoRedial4All ... denn es kümmert sich nicht darum, wenn das Gegenüber dieses Feature (welches T-NET Analog und T-ISDN mittlerweile beide bieten) bei sich deaktiviert hat. Außerdem funzt es egal mit welchen Extensions ...

    Gesetzt den Fall ich bekomme ein Besetzt, immer dasselbe bei den Münchnern ...

    exten => s-BUSY,200,Macro(AutoRedial,10,081196547,30,3)

    dann gebe ich das vertrauensvoll in die Hände von:

    Code:
    [macro-AutoRedial]
    ; ARG1 = MeineNummer, ARG2 = Anzurufende Nummer, ARG3 = Wiederholungszeit, ARG4 = Anzahl der Versuche
    ; Es wird ein Callfile erzeugt ... * versucht im Hintergrund,
    ; eine Verbindung aufzubauen und ruft dann zurück. Und alles ohne AGI ;-)
    exten => s,1,Answer
    exten => s,2,SetVar(ARG4=$[${ARG4} - 1]) ; damit wirs insgesamt nur xmal probieren
    exten => s,3,TrySystem(echo "" > /tmp/AutoRedial${ARG1}.call)
    exten => s,4,TrySystem(echo "Channel: ZAP/g3/${ARG2}" >> /tmp/AutoRedial${ARG1}.call)
    ;exten => s,4,TrySystem(echo "Channel: SIP/${ARG2}" >> /tmp/AutoRedial${ARG1}.call) ; für interne Rückrufe zum Test ...
    exten => s,5,TrySystem(echo "MaxRetries: ${ARG4}" >> /tmp/AutoRedial${ARG1}.call)
    exten => s,6,TrySystem(echo "RetryTime: ${ARG3}" >> /tmp/AutoRedial${ARG1}.call)
    exten => s,7,TrySystem(echo "WaitTime: 30" >> /tmp/AutoRedial${ARG1}.call)
    exten => s,8,TrySystem(echo "Context: AutoRedialWelcome" >> /tmp/AutoRedial${ARG1}.call)
    exten => s,9,TrySystem(echo "Extension: ${ARG1}" >> /tmp/AutoRedial${ARG1}.call)
    exten => s,10,TrySystem(echo "Priority: 1" >> /tmp/AutoRedial${ARG1}.call)
    ; Nicht gleich loslegen, wir habens ja eben schon versucht ...
    exten => s,11,TrySystem(touch -d ${DATETIME:-8:3}$[${DATETIME:-5:2} + 1] /tmp/AutoRedial${ARG1}.call)
    ; Und nun in den Lauf mit der Kugel ...
    exten => s,12,TrySystem(mv /tmp/AutoRedial${ARG1}.call /var/spool/asterisk/outgoing/AutoRedial${ARG1}.call)
    exten => s,13,Playtones(busy) ; Son Mist, immer noch besetzt ... aber nicht mehr lange !
    exten => s,14,Wait(1)
    exten => s,15,Hangup
    
    [AutoRedialWelcome]
    ; Damit der Angerufene nicht im Leeren sitzt, bis ich drangehe ...
    exten => _ZX,1,Answer
    exten => _ZX,2,Wait(1)
    exten => _ZX,3,Background(queue-youarenext) ; oder eine andere Begrüßung
    exten => _ZX,4,wait(1)
    exten => _ZX,5,Background(transfer)
    exten => _ZX,6,Macro(wahlintern,${EXTEN})
    exten => _ZX,7,Hangup
    
    Wie immer: Für Anregungen zum Bessermachen bin ich jederzeit offen ...
    OpenSource 4ever :D

    Grüße

    o_dapenguin
     
  2. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo.

    1) Gibt es nicht von seiten der T-Com die Möglichkeit einen Rückruf bei Besetzt zu aktivieren?

    2) Wäre es nicht besser, du würdest zuerst dich Anrufen, und dann den zu Rufenden?
    In meinem Bekanntenkreis, wird bei Automatischen Ansagen immer sofort aufgelegt.
     
  3. o_dapenguin

    o_dapenguin Neuer User

    Registriert seit:
    16 Juni 2005
    Beiträge:
    67
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BW
    Hallo !

    zu 1) Na klar ... aber man kann dieses Feature (für andere) auch deaktivieren. Und wenn die T-Com Zentrale dies dann eben brav nicht macht, kann ich mit "meiner" Zentrale diese Annehmlichkeit auch bei Behörden u.ä., eben die, die es aufgrund eines hohen Besucheraufkommens meist deaktiviert haben, trotzdem nutzen.
    Normalerweise ist es eben bei ISDN oder neuerdings auch bei T-Net Analog aktiviert. Bei letzterem wird man gefragt, ob man, falls der andere wieder verfügbar ist, verbunden werden soll, bei ISDN wird ein entsprechendes Kommando über den D-Channel an die T-Com vermittelt.
    Wenn ich wüsste, wie man mit BRIstuff direkt D-Channel-Kommandos erstellt, dann wäre das im Fall von ISDN sicher kein Problem.

    zu 2) Ja, ja, jaaa ! Super wäre, wenn jemand einen Tip hätte, wie Asterisk ohne beim anderen zumindest einmal zu klingeln herausfindet, ob dort besetzt ist ... Hat jemand eine Idee ?

    Grüße

    o_dapenguin