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

"automatische" Teilnehmereinrichtung in extensions.conf

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von Mathias-R, 31 Dez. 2006.

  1. Mathias-R

    Mathias-R Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    161
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Königstein im Taunus
    Hallo,

    mein (interner) Dialplan sieht etwa so aus:

    _0X ==> wähle extern
    _ZX ==> wähle internen Tn, falls vorhanden
    ==> ergänze Vorwahl und wähle abgehend, falls kein interner Tn

    Damit hat man eine automatische Amtsholung und Überschneidungen zwischen internen Rufnummern und Rufnummern im eigenen Ortsnetz sind durch die üblicherweise längeren externen Rufnummern hinreichend selten. Sofern ich eine kurze Rufnummer in meinem Ortsnetz, welche sich mit meinem internem Dialplan überschneidet, rufen möchte kann ich diese erreichen, wenn ich die Rufnummmer inclusive Vorwahl wähle.

    Nun ist es lästig für jeden neuen Teilnehmer einen Eintrag in extensions.conf zu benötigen. Daher prüfe ich das wie folgt ab:
    Code:
    ; prüfe ob Rn lokaler Tn ist
    exten => _Z.,1,ChanIsAvail(SIP/${EXTEN}&IAX2/${EXTEN})
    ; sofern es einen lokalen Tn gibt kann ich diesen hier anrufen
    exten => _X.,2,Dial,${CUT(AVAILCHAN||1)}|300|L(7200000)tr
    
    ; Wenn es keinen lokalen Tn gibt ergänze ich die Vorwahl
    exten => _Z.,104,Goto(0${onkz}${EXTEN},1)
    
    Die Variable onkz wird bei mir in der sip.conf entsprechend für den jeweiligen Teilnehmer gesetzt. Bei Anlagen mit nur einem Standort reicht natürlich auch ein Goto(01234${EXTEN},1).

    Mit diesen drei Zeilen kann man sich einige Tiparbeit und Fehler ersparen.
     
  2. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Hallo,

    ich habe die verschiedenen Asterisk mit DUNDi vernetzt. Damit brauche ich die ganzen Sonderfälle nur auf dem jeweiligen Asterisk zu verwalten.

    Insbesondere so'n Mist wie Teilnehmer zieht um und muss unbedingt seine interne Rufnummer mitnehmen, die dann aber nicht mehr in den Rufnummernblock auf dem anderen Asterisk passt.
     
  3. Mathias-R

    Mathias-R Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    161
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Königstein im Taunus
    Damit muss doch aber immer noch ein entsprechender Eintrag zur Anwahl des Tn in der jeweiligen (lokalen) extensions.conf existieren. Mit den obigen 3 Zeilen in der extensions.conf genügt ein Eintrag in der sip.conf oder iax.conf um neue Teilnehmer anzulegen (und erreichbar zu machen).

    Eine Teilnehmer-spezifische Ortsnetzkennzahl benötige ich um externen Teilnehmern (Homeoffice) eine "normale" Wahl zu ermöglichen.

    Btw. Du hast vor gut einem Jahr mal nach DUNDi-Informationen gefahndet. Wo bist Du denn letztendlich fündig geworden?


    MfG Mathias
     
  4. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein

    Hallo Matthias,

    auf einer kanadischen Seite habe ich ein wenig brauchbares gefunden, mit dem ich dann die Zusammenhänge kapiert habe.

    Zwischenzeitlich habe ich selbst was deutschsprachiges zusammengestellt und auf meine Homepage http://www.asterisk.li/dundi.htm gestellt.
     
  5. Mathias-R

    Mathias-R Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    161
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Königstein im Taunus
    Leider kommt es leider manchmal zu Verzögerungen beim ChanIsAvail. Daher nutze ich jetzt Datenbankabfragen um die Sache zu beschleunigen:

    Code:
    ; falls es einen lokalen Teilnehmer gibt rufe ich ihn an
    exten => _X.,1,ExecIF(${DB_EXISTS(SIP/Registry/${EXTEN})}|Dial,SIP/${EXTEN}|300|L(7200000)tr)
    exten => _X.,2,ExecIF(${DB_EXISTS(IAX2/Registry/${EXTEN})}|Dial,IAX2/${EXTEN}|300|L(7200000)tr)
    ; andernfalls wähle ich extern
    exten => _X.,3,Dial,${EXTEN}@provider|300|L(7200000)tr
    
    Die Datenbankabfragen gehen wesentlich schneller.