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

Herausforderung: Nur Festnetz erlauben bzw. Sonderrufnummern sperren

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von jcaron, 26 Jan. 2007.

  1. jcaron

    jcaron Neuer User

    Registriert seit:
    17 Aug. 2004
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    hat vielleicht jemand bereits ein fertiges Script implementiert (bzw. sich damit befasst), mit welchem getestet werden kann, ob die Nummer mit einer bestimmten Vorwahl beginnt und dann nicht angerufen werden kann. Oder anders, ich will nur Festnetznummern erlauben.

    Danke.
     
  2. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #2 madiehl, 26 Jan. 2007
    Zuletzt bearbeitet: 26 Jan. 2007
    Moin,
    ich habe das zwar selbst nicht mehr im Einsatz, hatte das aber früher etwa so gelöst:
    Code:
    [intern-default]
    include => verboten
    include => ausgehend-normal
    
    
    
    [verboten]
    exten => _0900X.,1,Playback(invalid)
    exten => _0900X.,2,Hangup
    
    exten => _0190X.,1,Playback(invalid)
    exten => _0190X.,2,Hangup
    
    ;Nach diesem Schema werden alle Sonderrufnnummern eingetragen, die nicht wählbar sein sollen
    
    
    
    [ausgehend-normal]
    exten => _X.,1,Dial(mISDN/g:Extern1/${EXTEN},,TwW)
    
    wobei Du damit vorsichtig sein solltest. Ich weiss nicht mehr genau, ob ich unter ausgehend-normal dann noch die zulässigen Nummern spezifizieren musste (also etwa exten => _090[6-8]) oder nicht.
    Das ist also nur eine grobe Vereinfachung und nicht direkt umsetzbar. Und natürlich müssen die Endgeräte in den Kontext intern-default gehören.
     
  3. jcaron

    jcaron Neuer User

    Registriert seit:
    17 Aug. 2004
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So mache ich das auch zur Zeit. Ist aber sehr aufwendig. Bei vielen Sonderrufnummern sind auch Vorwahlen erlaubt (z.B. 030....). Und dann wir es sehr komplex, da alle Kombinationen getestet werden sollten.

    Gibt es da nicht was einfacheres?

    Danke
     
  4. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Was einfacheres kann es nicht geben, da es ja kein Flag gibt, welche Rufnummer welche Kosten verursacht. Dies ist ausschliesslich durch die Rufnummer (0900 etc.) vorgegeben. Von daher bleibt Dir nichts anderes als nach dem o.g. Schema vorzugehen.
     
  5. jcaron

    jcaron Neuer User

    Registriert seit:
    17 Aug. 2004
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke für die Rückmeldung. Jedoch denke ich über eine Skript mit einer Datenbank Lösung nach. Dies ist eleganter als viele viele Zeilen in der Konfigurationsdatei und lässt sich besser pflegen.
    Dann werde ich mal selbst eine Lösung basteln...Danke noch einmal.
     
  6. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Ob es mit einem Skript wirklich einfacher wird ist noch die Frage, würde mich interessieren wie es fertig aussieht.

    Wenn du eine Datenbanklösung haben möchtest, warum versuchst Du es nicht mit Realtime?
    Die Sperrnummern in einem Realtimecontext verwalten, alles andere kan statisch bleiben.
     
  7. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ein Asterisk Script mit 20 Zeilen kann die Arbeit erledigen.

    In der Datenbank stehen Einträge wie
    49160123456 EIN
    49160 AUS
    493 EIN
    usw.

    Der längere Eintrag gewinnt. Vorteil man kann eine einzelne Handynummer erlauben, aber. z.B. die ganze Gasse 49160 sperren.
    Voraussetzung ist das man seine Rufnummer normiert.

    Zur Pflege der Datenbank kann man sich noch für den Apache einen Webseite schreiben.
     
  8. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Das ist aber nichts anderes als wenn du es über extensions machen würdest.
    Du erstellest einen context Sperrnummern und einen context erlaubt. in erlaubt schreibst du deine erlaubten nummern und in Sperrnummern die gassen.

    zu includieren wäre erlaubt vor Sperrnummern und es funktioniert.
    Mit realtime hast du dann deine Datenbanklösung
     
  9. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Als nächstes möchte man dann auch pro Client Regeln verwalten, das Script geht von zwanzig auf dreißig Zeilen. Dein Spaghetticode explodiert.
     
  10. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    Also ich weiß nicht.
    Das ganze wurde hier im Forum schon x-mal gefragt.
    Die Frage war, Festnetznummern erlauben, alles andere
    nicht. Hier mal meine Lösung:

    Code:
    exten => _490.,s,Congestion
    exten => _491.,s,Congestion    ; mobil, telespiel usw. weg
    exten => _49X00.,s,Congestion  ; 0100,..,0700,0800,0900 weg
    exten => _4931.,s,Congestion
    exten => _4932.,s,Congestion
    exten => _49901.,s,Congestion
    exten => _49902.,s,Congestion
    exten => _49903.,s,Congestion
    exten => _49904.,s,Congestion
    exten => _49905.,s,Congestion
    

    Infos dazu gibt es hier: http://de.wikipedia.org/wiki/Telefonvorwahl_(Deutschland)


    Falls noch etwas fehlt, bitte sagen.

    Gruß
    britzelfix