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

Festlegen von zugelassenen Rufnummern für DISA?

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von D-Trix, 11 Aug. 2005.

  1. D-Trix

    D-Trix Neuer User

    Registriert seit:
    11 Juli 2005
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Zusammen,

    ich benutze mein DISA aus Komfortgründen ohne Passwort und möchte dazu nur bestimmte Rufnummern zur einwahl zulassen. Meine bisherige Lösung scheint mir aber ziemlich umständlich zu sein:


    ;festlegung der berechtigten nummern zur benutzung des Asterisk Systems:
    exten => s,1,GotoIf($["${CALLERIDNUM}" = "0017252xxx"]?200:2) ;rm
    exten => s,2,GotoIf($["${CALLERIDNUM}" = "0017298xxx"]?200:3) ;mb
    exten => s,3,GotoIf($["${CALLERIDNUM}" = "0017261xxx"]?200:4) ;cw
    exten => s,4,GotoIf($["${CALLERIDNUM}" = "0017351xxx"]?200:5) ;jk
    exten => s,5,GotoIf($["${CALLERIDNUM}" = "0017223xxxxx"]?200:6) ;aw
    exten => s,6,GotoIf($["${CALLERIDNUM}" = "00173527xxxx"]?200:7) ;cb
    exten => s,7,GotoIf($["${CALLERIDNUM}" = "0017253x1"]?200:8) ;pl
    exten => s,8,GotoIf($["${CALLERIDNUM}" = "10"]?200:9) ;rm
    exten => s,9,GotoIf($["${CALLERIDNUM}" = "26"]?200:10) ;mb
    exten => s,10,GotoIf($["${CALLERIDNUM}" = "27"]?200:11) ;cw
    exten => s,11,GotoIf($["${CALLERIDNUM}" = "30"]?200:12) ;jk
    exten => s,12,GotoIf($["${CALLERIDNUM}" = "34"]?200:13) ;aw
    exten => s,13,GotoIf($["${CALLERIDNUM}" = "35"]?200:14) ;cb
    exten => s,14,GotoIf($["${CALLERIDNUM}" = "36"]?200:15) ;pl
    exten => s,15,GotoIf($["${CALLERIDNUM}" = "37"]?200:16) ;hh
    exten => s,16,GotoIf($["${CALLERIDNUM}" = "39"]?200:17) ;dk
    exten => s,17,GotoIf($["${CALLERIDNUM}" = "40"]?200:18) ;dp
    exten => s,18,GotoIf($["${CALLERIDNUM}" = "42"]?200:19) ;ch
    exten => s,19,GotoIf($["${CALLERIDNUM}" = "14"]?200:20) ;rd
    exten => s,20,GotoIf($["${CALLERIDNUM}" = "21"]?200:21) ; ab
    exten => s,21,GotoIf($["${CALLERIDNUM}" = "74"]?200:208) ; fax

    bei 208 wird dann aufgelegt wenn die nummer nicht dabei ist und bei 200 findet DISA statt.




    Das geht doch sicherlich eleganter? Ich stelle mir da entweder eine ODER-Überprüfung vor a lá:
    exten => s,1,GotoIf($["${CALLERIDNUM}" = "42"| "21"| "14"| "10"] (und so weiter....)?200:208
    Leider passt der syntax nicht.

    Oder alternativ (noch besser) eine vorherige festlegung einer gruppe wo die zugelassenen rufnummern drin sind

    ZUGESASSENE := 42, 21,14,10... usw...
    exten => s,1,GotoIf($["${CALLERIDNUM}" = ${ZUGELASSENE}?200:208



    Danke schonmal im vorraus!


    PS: Weiss noch jemand wie ich den deutsche Freizeichenton bei DISA enablen kann?
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    exten => xyz/(zugelassene Rufnummer),1,Do(anything)

    also - wenn Du die "zugelassene Rufnummer hinter einen Schrägstrich an die extension hängst, dann gilt die auch nur für den Fall, daß der Anrufer mit dieser Nummer an der Leitung ist.

    Andere Möglichkeit wäre, die zugelassenen Rufnummern in einer eigenen family in die Asterisk-interne Datenbank zu schreiben und vor dem Ausführen von DISA eine entsprechende Zulässigkeitsabfrage zu machen.