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

Suche Vorlage für Wählregeln Festnetz, Ausland Handy

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von Vincent2004, 6 Jan. 2007.

  1. Vincent2004

    Vincent2004 Neuer User

    Registriert seit:
    17 Dez. 2006
    Beiträge:
    49
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mein Asterisk läuft seit 3 Min ....

    Jetzt suche ich folgende Vorlage

    Wird eine Festnetznummer gewählt mache
    wird eine 0190 nummer 0137 etc (Sonderrufnummern):
    mache ....

    eine internationale nummer 0032 ...
    mache folgendes.


    ich will den einzelenen telfonapperaten die erlaubnis per include geben können

    109
    include => interne-gespraeche
    include => externe-festnetzgespraeche
    include => mobilfunknummern

    110
    include => interne-gespraeche
    include => externe-festnetzgespraeche
    include => mobilfunknummern
    include => sonderrufnummern


    Verstandes was ich möchte?

    Danke
     
  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
    Klar, keine Manuals lesen und die Arbeit von anderen erledigen lassen.


    Im Ernst:

    Dein Dialplan wird so nicht funktionieren.

    exten => _0.,1, ist eine ander extension als
    exten => _0[1-7].,2,

    Zeile 1 wird abgearbeitet und wenn die gewählte Nummer mit 0 beginnt, bekommst du einen Fehler keine Regel für timeout, weil er die ausgehende Rufnummer setzt und dann keine weitere Anweisung hat.
    Wählst du 01... landet das in Zeile 1 weil die Rufnummer mit null beginnt und damit die Regel erfüllt ist (alles was dahinter kommt wird nicht mehr betrachtet.

    Du musst also Kontexte erstellen, die da heissen Ortsgespräch oder Ferngespräch oder Frankreich.

    Im einzelnen Kontext legst du dann die Regeln für z.B. Ferngespräch fest, also

    [Ferngespraech]
    exten => _0NXX.,1,
    exten => _0900.,1,Hangup

    [Handy]
    exten => _01[5-7].,1,

    usw
     
  3. Vincent2004

    Vincent2004 Neuer User

    Registriert seit:
    17 Dez. 2006
    Beiträge:
    49
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hmm und das hat noch keiner hier gemacht?
    dann werde ich mich mal ans Werk machen.

    Gruß
     
  4. MrVenus

    MrVenus Mitglied

    Registriert seit:
    19 Sep. 2004
    Beiträge:
    623
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    ...hab das mal so gelöst ....wollte mit GMX nur festnetz telfonieren können:

    Code:
    [abgehend_GMX]
    
    ; Diesen Context für abgehende Rufe über GMX (NUR DEUTSCHES FESTNETZ)
    
    ; Festnetz Deutschland im eigenen Vorwahlbereich 
    exten => _Z.,1,Dial,SIP/004989${EXTEN}@gmx_out|45|
    
    ; Festnetz Deutschland außer Vorwahlbereich "01" (Sonderrufnummern und Handy)
    exten => _0N.,1,Dial,SIP/0049${EXTEN:1}@gmx_out|45|
    exten => _0049N.,1,Dial,SIP/${EXTEN}@gmx_out|45|
    
    ; Premium Rate-Dienste verweigern 
    exten => _0900.,1,Hangup 
    exten => _0049900.,1,Hangup 
    ...und mit SPARVOIP wollte ich NUR deutschland-handy und -festnetz und den den ganzen restlichen internationalen müll laufen lassen

    Code:
    [abgehend_SPARVOIP]
    
    ; Diesen Context für abgehende Rufe über SPARVOIP
    ; (NUR MOBILFUNK/FESTNETZ DE UND AUSLAND)
    
    ; Festnetz Deutschland im eigenen Vorwahlbereich 
    exten => _Z.,1,Dial,SIP/004989${EXTEN}@sparvoip_out|45|
    
    ; Festnetz Deutschland außer Vorwahlbereich "01" (Sonderrufnummern und Handy)
    exten => _0N.,1,Dial,SIP/0049${EXTEN:1}@sparvoip_out|45|
    exten => _0049N.,1,Dial,SIP/${EXTEN}@sparvoip_out|45|
    
    ; Handy Deutschland
    exten => _01[567].,1,Dial,SIP/0049${EXTEN:1}@sparvoip_out|45|
    exten => _00491[567].,1,Dial,SIP/${EXTEN}@sparvoip_out|45|
    
    ; International außer Deutschland
    exten => _00X[1-8]Z.,1,Dial,SIP/${EXTEN}@sparvoip_out|45|
    
    ; Premium Rate-Dienste verweigern 
    exten => _0900.,1,Hangup 
    exten => _0049900.,1,Hangup 

    .....jetzt meine frage kann man das so lassen oder gibt es da was einfacheres oder besseres????

    ...bin mehr oder weniger asterisk einsteiger...
     
  5. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Das ist abhängig von der Anzahl deiner Provider. Mit deinen zwei ist das ok, bei mehreren wird das etwas unübersichtlich.

    Ich habe mit für jeden Provider einen Kontext angelegt, von dem aus ich alles anrufen kann, also etwa so:


    [zap]
    exten => _X.,1,Dial(Zap/g3/{EXTEN})

    [sipgate]
    exten => _X.,1,Goto(sipgate,${EXTEN},1)

    [verboten] ; Hier kommt eine Ansage
    exten => _X.,1,Playback(privacy-incorrect)
    exten => _X.,n,Wait(2)
    exten => _X.,2,Hangup

    Nun habe ich noch einen Kontext Provider, in dem werden die Anrufe auf die einzelen Provider zugeschieden:

    [provider]
    exten => _11X,1,Goto(zap,${EXTEN},1)
    exten => _0NX.,1,Goto(sipgate,${EXTEN},1)
    exten => _0900.,1,Goto(verboten,${EXTEN},1)

    So kannst du deine Provider flexibler einsetzen. Wenn z.B. dein Konto bei einem Provider leer ist, wechselst du nur den Namen des Providers im Konext provider, machst ein reload und alles geht wieder.

    Du kannst auch noch den Teil aus http://www.asterisk.li/belegt.htm einsetzen, damit wird bei belegt oder gestört automatisch ein anderer Provider verwendet. Das ginge bei deiner Lösung nicht.
     
  6. MrVenus

    MrVenus Mitglied

    Registriert seit:
    19 Sep. 2004
    Beiträge:
    623
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    danke....
    ... jetzt hab ich noch ein problem .... nutze mein astersik auch für callback und callthrough möchte nun ähnlich wahlregeln (wie beim letzten beitrag) für callback und callthrough nutzen ...
    Code:
    [dialout]
    
    ; Antwort auf Rückruf
    exten => s,1,answer
    exten => s,2,Goto(callthrough,s,1)
    
    ;----------------------------------------------------------------------------------------------
    
    [callthrough]
    
    ; Nummer einlesen 
    exten => s,1,Set(NR=)
    exten => s,2,Background(vm-enter-num-to-call)
    exten => s,3,Set(TIMEOUT(response)=30)
    exten => s,4,WaitExten
    exten => _X,1,Set(NR=${NR}${EXTEN})
    exten => _X,2,Goto(callthrough,s,3)
    
    ; Nummer nochmals neu einlesen
    exten => *,1,Goto(callthrough,s,1)
    
    ; Wählvorgang mit "#" abschließen
    exten => #,1,Playback(vm-dialout)
    exten => #,2,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: wählen der Nummer ${NR}"  >> /var/log/asterisk/callback.log
    exten => #,3,Playback(vm-star-cancel) 
    
    ; ...wählen über SparVoIP...
    exten => #,4,Dial,SIP/${NR}@sparvoip_out|45|H
    exten => #,5,Goto(#-${DIALSTATUS},1) ; Springe zu Status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,CANCEL)
    
    ; DialingStates
    exten => #-NOANSWER,1,Playback(vm-nobodyavail)
    exten => #-NOANSWER,2,Goto(callthrough,s,1)
    
    exten => #-BUSY,1,Playback(vm-nobodyavail)
    exten => #-BUSY,2,Goto(callthrough,s,1)
    
    exten => #-CHANUNAVAIL,1,Playback(tt-somethingwrong)
    exten => #-CHANUNAVAIL,2,Goto(callthrough,s,1)
    
    exten => #-CONGESTION,1,Playback(vm-nobodyavail)
    exten => #-CONGESTION,2,Goto(callthrough,s,1)
    
    exten => #-CANCEL,1,Hangup
    
    ; Fehlerhafte Eingabe!!!
    exten => i,1,Playback(tt-somethingwrong)
    exten => i,n,Hangup
    
    ; Handling für Timeout ...gehe zu Nummer einlesen und mit "#" abschließen
    exten => t,1,Playback(tt-somethingwrong)
    exten => t,2,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Anruf   - Timeout -"  >> /var/log/asterisk/callback.log
    exten => t,3,Goto(callthrough,s,1)
    
    ; Logfile erzeugen ... für beendetes Gespräch
    exten => h,1,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Anruf - ${NR} - BEENDET!"  >> /var/log/asterisk/callback.log
    exten => h,2,Playback(vm-goodbye)
    nur wie macht man das blos??? ...das er ${NR} auswertet und jeweiligen anbieter wählt??
     
  7. abw1oim

    abw1oim Aktives Mitglied

    Registriert seit:
    26 März 2007
    Beiträge:
    943
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Bonn
    Wenn Du

    Code:
    ; ...wählen über SparVoIP...
    exten => #,4,Dial,SIP/${NR}@sparvoip_out|45|H
    exten => #,5,Goto(#-${DIALSTATUS},1) ; Springe zu Status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,CANCEL)
    
    ersetzt durch

    Code:
    ; ...wählen über Wahlregeln...
    exten => #,4,Goto routeexternal|${NR}|1;
    
    und zusätzlich ebendiesen Kontext noch baust als

    Code:
    [routeexternal]
    include => abgehend_GMX
    include => abgehend_SPARVOIP
    
    funktioniert das. Der Dialstatus ist natuerlich dann auch erst innerhalb der wählenden Kontexte bzufangen und nicht in [callthrough].
     
  8. MrVenus

    MrVenus Mitglied

    Registriert seit:
    19 Sep. 2004
    Beiträge:
    623
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    vielen dank ...war zu blöd ...hatte es immer so versucht:

    Code:
    ; ...wählen über Wahlregeln...
    exten => #,4,Goto routeexternal|_Z.|1;
    ....dachte das er dann einfach alle möglichkeiten durchgeht ....aber wie wenn er ja ${NR} nicht kennt .....naja danke nochmal jetzt geht alles ...