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

Vincent2004

Neuer User
Mitglied seit
17 Dez 2006
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Mein Asterisk läuft seit 3 Min ....

Jetzt suche ich folgende Vorlage

Wird eine Festnetznummer gewählt mache
[externe-gespraeche-ISDN]
exten => _0.,1,SetCallerId(0721XXXXXXX)
exten => _0[1-9].,2,Dial(Zap/g2/{EXTEN},60,tT)

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
 
Vincent2004 schrieb:
Verstandes was ich möchte?

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
 
Hmm und das hat noch keiner hier gemacht?
dann werde ich mich mal ans Werk machen.

Gruß
 
...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...
 
MrVenus schrieb:
.....jetzt meine frage kann man das so lassen oder gibt es da was einfacheres oder besseres????

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.
 
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??
 
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].
 
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 ...
 
Kostenlos!

Statistik des Forums

Themen
248,350
Beiträge
2,288,984
Mitglieder
377,668
Neuestes Mitglied
buckdiefliege