Ist mein Dialplan richtig?

-keanu-

Neuer User
Mitglied seit
17 Feb 2006
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Hi,
bin noch etwas neu mit Asterisk und wollte fragen, ob sich eben mal jemand kurz diese Dialplan anschauen kann, ob er richtig ist:

Code:
[20021]
;;; Phone 20021 ;;;
; Outgoing calls over SIP
; nur Handy
exten => _01[5-7].,1,Set(LANGUAGE()=de)
exten => _01[5-7]./20021,2,Set(CALLERID(number)=023029839283)
exten => _01[5-7]./023029839283,3,Set(CALLERID(name)=)
exten => _01[5-7]./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _01[5-7]./023029839283,5,Set(CALLERID(number)=9786503)
Hier bin ich mir nicht sicher, ob das doppelt ist...
Code:
exten => _01[5-7]./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _01[5-7]./023029839283,7,Goto(dialStates,${DIALSTATUS},1)

;nur Ausland
exten => _00.,1,Set(LANGUAGE()=de)
exten => _00./20021,2,Set(CALLERID(number)=023029839283)
exten => _00./023029839283,3,Set(CALLERID(name)=)
exten => _00./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _00./023029839283,5,Set(CALLERID(number)=9786503)
Hier bin ich mir nicht sicher, ob das doppelt ist...
Code:
exten => _00./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _00./023029839283,7,Goto(dialStates,${DIALSTATUS},1)

; Outgoing calls over CAPI
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./20021,2,Set(CALLERID(number)=9786503)
exten => _x./9786503,3,Set(CALLERID(name)=)
exten => _x./9786503,4,Dial(CAPI/contr1/${EXTEN},120,TWr)
exten => _x./9786503,5,Goto(dialStates,${DIALSTATUS},1)

Vielen Dank und Grüsse, -keanu-
 
was willst du denn erreichen?

Funktionieren wird diese Bsp. nicht; wenn Du eine Anruferunterscheidung mit / machen willst, dann muss diese auch mit der Prio 1 beginnen
 
Hi,
ich möchte gerne, daß Handy und Auslands-Telefonate über SIP laufen, aber alles andere über Capi.

Grüsse,-keanu-

BTW:

Hab hier noch einen anderen Teil aus meiner extensions.conf:
Code:
exten => #,1,Set(LANGUAGE()=de)
exten => #,2,Set(CALLERID(num)=1799318)
exten => #,3,Dial(CAPI/contr1/${NR},${localdialtimeout})
exten => #,4,Goto(#-${DIALSTATUS},1)
(Ausschnitt aus einer Callback-"Geschichte").

Für was steht das #-Zeichen. Wie müsste ich das ändern, um auch wieder zwischen Handy, Ausland und Rest (Festnetz) zu unterscheiden?

Hab irgendwie grad' einen Knoten im hirn....Danke!
 
Zuletzt bearbeitet:
kannst du mal die extension.conf am stück posten, da lässt sich sicher mehr sehn.
 
Hi,

hier die ganze Datei (wurde vom eisfair generiert - bei manchen Teilen versteh ich den sinn einfach nicht):
Code:
[general]

static=yes
writeprotect=no

[globals]
localdialtimeout=120

[default]
include => user
include => test
include => callback-in
include => incoming
include => outgoing
include => error

[test]
exten => #100,1,Set(LANGUAGE()=de)
exten => #100,2,Answer()
exten => #100,3,MP3Player(/var/lib/asterisk/mohmp3/fpm-calm-river.mp3)
exten => #100,4,Congestion()
exten => #100,5,Wait(10)
exten => #100,6,Hangup()

exten => #101,1,Set(LANGUAGE()=de)
exten => #101,2,Answer()
exten => #101,3,Milliwatt()
exten => #101,4,Congestion()
exten => #101,5,Wait(10)
exten => #101,6,Hangup()

exten => #102,1,Set(LANGUAGE()=de)
exten => #102,2,Answer()
exten => #102,3,SayDigits(${CALLERIDNUM})
exten => #102,4,Congestion()
exten => #102,5,Wait(10)
exten => #102,6,Hangup()

exten => #103,1,Set(LANGUAGE()=de)
exten => #103,2,Answer()
exten => #103,3,Playback(demo-Echotest)
exten => #103,4,Echotest()
exten => #103,5,Playback(demo-Echodone)
exten => #103,6,Congestion()
exten => #103,7,Wait(10)
exten => #103,8,Hangup()

exten => #104,1,Set(LANGUAGE()=de)
exten => #104,2,Answer()
exten => #104,3,AGI(date.sh)
exten => #104,4,SendText(${ADATE})
exten => #104,5,sayPhonetic(${ADATE:5})
exten => #104,6,Congestion()
exten => #104,7,Wait(10)
exten => #104,8,Hangup()

[outgoing]
include => 20021

include => incoming

[20021]
;;; Phone 20021 ;;;
; Outgoing calls over SIP
; nur Handy
exten => _01[5-7].,1,Set(LANGUAGE()=de)
exten => _01[5-7]./20021,2,Set(CALLERID(number)=023029839283)
exten => _01[5-7]./023029839283,3,Set(CALLERID(name)=)
exten => _01[5-7]./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _01[5-7]./023029839283,5,Set(CALLERID(number)=9786503)
exten => _01[5-7]./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _01[5-7]./023029839283,7,Goto(dialStates,${DIALSTATUS},1)

;nur Ausland
exten => _00.,1,Set(LANGUAGE()=de)
exten => _00./20021,2,Set(CALLERID(number)=023029839283)
exten => _00./023029839283,3,Set(CALLERID(name)=)
exten => _00./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _00./023029839283,5,Set(CALLERID(number)=9786503)
exten => _00./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _00./023029839283,7,Goto(dialStates,${DIALSTATUS},1)

; Outgoing calls over CAPI
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./20021,2,Set(CALLERID(number)=9786503)
exten => _x./9786503,3,Set(CALLERID(name)=)
exten => _x./9786503,4,Dial(CAPI/contr1/${EXTEN},120,TWr)
exten => _x./9786503,5,Goto(dialStates,${DIALSTATUS},1)



[incoming]
include => default

exten => 023029839283,1,Set(LANGUAGE()=de)
exten => 023029839283,2,Ringing()
exten => 023029839283,3,Dial(SIP/20021,${localdialtimeout},t)
exten => 023029839283,4,Congestion()
exten => 023029839283,5,Wait(10)
exten => 023029839283,6,Hangup()

exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Ringing()
exten => 9786503,3,GotoIfTime(*|*|*|*?RedirectionContextHelper_incoming-capi-9786503-1-setDialTimeout,9786503,1)
exten => 9786503,4,Dial(SIP/20021,30,t)
exten => 9786503,5,GotoIfTime(*|*|*|*?RedirectionContextHelper_incoming-capi-9786503-1,9786503,1)
exten => 9786503,6,Congestion()
exten => 9786503,7,Wait(10)
exten => 9786503,8,Hangup()

; Incoming (internal) calls for number 20021. Type of phone: sip
exten => *20021,1,Set(LANGUAGE()=de)
exten => *20021,2,NoOp()
exten => *20021,3,NoOp()
exten => *20021,4,Dial(SIP/20021,120)
exten => *20021,5,Goto(incoming,*20021-${DIALSTATUS},1)
exten => *20021,6,Goto(dialStates,${DIALSTATUS},1)


[RedirectionContextHelper_incoming-capi-9786503-1-setDialTimeout]
exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Set(localdialtimeoutSet=1)
exten => 9786503,3,Set(localdialtimeout=30)
exten => 9786503,4,Goto(incoming,9786503,5)

[RedirectionContextHelper_incoming-capi-9786503-1]
exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Dial(CAPI/contr1/280960,30,t)
exten => 9786503,3,Goto(incoming,9786503,6)

[callback-in]
exten => 1799318,1,GotoIf($[${CALLERIDNUM} = Anonymous]?callback-withoutcallid,s,1:callback-withcallid,s,1)

[callback-withoutcallid]

; EingabeSchleife zur Zieleingabe
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Answer()
exten => s,3,Wait(1)
exten => s,4,Set(MYNR=)
exten => s,5,Background(privacy-prompt)
exten => s,6,Set(TIMEOUT(response)=10)
exten => s,7,WaitExten()
exten => _X,1,Set(LANGUAGE()=de)
exten => _X,2,Set(MYNR=${MYNR}${EXTEN})
exten => _X,3,Goto(s,7)

; Zuruecksetzen
exten => *,1,Set(LANGUAGE()=de)
exten => *,2,Goto(s,5)

; Eigene Rufnummer uebergeben
exten => #,1,Set(LANGUAGE()=de)
exten => #,2,Background(queue-thankyou)
exten => #,3,Set(CALLERID()=${MYNR})
exten => #,4,AGI(callback.sh)
exten => #,5,Congestion()
exten => #,6,Wait(10)
exten => #,7,Hangup()


; Handling fuer Timeout & bye
exten => t,1,Set(LANGUAGE()=de)
exten => t,2,Playback(vm-goodbye)

[callback-withcallid]
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Ringing()
exten => s,3,Wait(2)
exten => s,4,AGI(callback.sh)
exten => s,5,Set(PRI_CAUSE=17)
exten => s,6,Congestion()
exten => s,7,Wait(10)
exten => s,8,Hangup()



;;;;;;;;;;;

[callback-dial]
exten => _X.,1,Set(LANGUAGE()=de)
exten => _X.,2,Set(CALLERID(num)=1799318)
exten => _X.,3,Wait(5)
exten => _X.,4,Dial(CAPI/contr1/${EXTEN},${localdialtimeout})


[callback-go]

; Erstmal Passwort ueberpruefen

; EingabeSchleife zur Zieleingabe
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Wait(1)
exten => s,3,DigitTimeout(5)
exten => s,4,Set(TIMEOUT(response)=10)
exten => s,5,Authenticate(${password})
exten => s,6,Set(NR=)
exten => s,7,Background(vm-enter-num-to-call)
exten => s,8,Set(TIMEOUT(response)=10)
exten => s,9,WaitExten()
exten => _X,1,Set(LANGUAGE()=de)
exten => _X,2,Set(NR=${NR}${EXTEN})
exten => _X,3,Goto(s,9)

; Zuruecksetzen
exten => *,1,Set(LANGUAGE()=de)
exten => *,2,Goto(s,6)

; Nummer uebergeben
exten => _0.,1,Set(LANGUAGE()=de)
exten => _0.,2,Set(CALLERID(num)=1799318)
exten => _0.,3,Dial(CAPI/contr1/${NR},${localdialtimeout})
exten => _0.,4,Goto(#-${DIALSTATUS},1)


; DialingStates
exten => #-NOANSWER,1,Set(LANGUAGE()=de)
exten => #-NOANSWER,2,Playback(vm-nobodyavail)
exten => #-NOANSWER,3,Goto(s,6)
exten => #-BUSY,1,Set(LANGUAGE()=de)
exten => #-BUSY,2,Playback(tt-allbusy)
exten => #-BUSY,3,Goto(#,4)
exten => #-CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => #-CHANUNAVAIL,2,Playback(tt-somethingwrong)
exten => #-CHANUNAVAIL,3,Goto(t,1)
exten => #-CONGESTION,1,Set(LANGUAGE()=de)
exten => #-CONGESTION,2,Playback(vm-nobodyavail)
exten => #-CONGESTION,3,Goto(s,6)

; Handling fuer Timeout & bye
exten => t,1,Set(LANGUAGE()=de)
exten => t,2,Playback(vm-goodbye)
exten => t,3,Congestion()
exten => t,4,Wait(10)
exten => t,5,Hangup()

[dialStates]
exten => NOANSWER,1,Set(LANGUAGE()=de)
exten => NOANSWER,2,Playback(vm-nobodyavail)
exten => NOANSWER,3,Congestion()
exten => NOANSWER,4,Wait(10)
exten => NOANSWER,5,Hangup()

exten => BUSY,1,Set(LANGUAGE()=de)
exten => BUSY,2,Playback(tt-allbusy)
exten => BUSY,3,Congestion()
exten => BUSY,4,Wait(10)
exten => BUSY,5,Hangup()

exten => CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => CHANUNAVAIL,2,Playback(tt-somethingwrong)
exten => CHANUNAVAIL,3,Congestion()
exten => CHANUNAVAIL,4,Wait(10)
exten => CHANUNAVAIL,5,Hangup()

exten => CONGESTION,1,Set(LANGUAGE()=de)
exten => CONGESTION,2,Playback(vm-nobodyavail)
exten => CONGESTION,3,Congestion()
exten => CONGESTION,4,Wait(10)
exten => CONGESTION,5,Hangup()


[error]
exten => h,1,Hangup
exten => _[*#X].,1,Set(LANGUAGE()=de)
exten => _[*#X].,2,Playback(pbx-invalid)
exten => _[*#X].,3,Congestion()
exten => _[*#X].,4,Wait(10)
exten => _[*#X].,5,Hangup()

[user]

wie z.B. bei [Test] oder wieso unter [callback-go] ";nummer übergeben" Rauten nach dem Pfeil stehen...
auch glaube ich die incoming ist sehr umständlich geschrieben...

Danke, -keanu-
 
telefonierst du mir sip-telefonen oder über eine normale TK-Anlage?
 
ich habe mal angefangen:

Code:
[outgoing]
include => 20021

include => incoming

[20021]
;;; Phone 20021 ;;;
; Outgoing calls over SIP
; nur Handy
exten => _01[5-7]X.,1,Set(LANGUAGE()=de)
exten => _01[5-7]X.,2,Set(CALLERID(number)=023029839283)
exten => _01[5-7]X.,3,Set(CALLERID(name)=)
exten => _01[5-7]X.,4,Dial(SIP/${EXTEN}@sipgate,120,TW)
exten => _01[5-7]X.,5,Goto(dialStates,${DIALSTATUS},1)


;nur Ausland
exten => _00X.,1,Set(LANGUAGE()=de)
exten => _00X.,2,Set(CALLERID(number)=023029839283)
exten => _00X.,3,Set(CALLERID(name)=)
exten => _00X.,4,Dial(SIP/${EXTEN}@sipgate,120,TW)
exten => _00X.,5,Goto(dialStates,${DIALSTATUS},1)

; Outgoing calls over CAPI
exten => _X.,1,Set(LANGUAGE()=de)
exten => _X.,2,Set(CALLERID(number)=9786503)
exten => _X.,3,Set(CALLERID(name)=)
exten => _X.,4,Dial(CAPI/contr1/${EXTEN},120,TWr)
exten => _X.,5,Goto(dialStates,${DIALSTATUS},1)

alle anderen contexte habe ich erst einmal nicht verändert;
Jetzt gehen alle Auslandsgespräche und Handy über SIP raus und der Rest per CAPI;

ein Fallback ist nicht eingebaut
 
*OnEisfair: MoFu und Sonderrufnummern immer via CAPI

Hallo -keanu-,

ich habe das wie folgt realisiert:

Unter dem Context
[User]

;MoFu- und Sonderrufnummer-Anrufe immer via CAPI
exten => _01.,1,Set(LANGUAGE()=de)
exten => _01./22750,2,Set(CALLERID(number)=22750)
exten => _01./22750,3,Set(CALLERID(name)=)
exten => _01./22750,4,Dial(CAPI/contr1/${EXTEN}/b,120,TW)
exten => _01./22750,5,Goto(dialStates,${DIALSTATUS},1)

einfügen.

Das sollte dann alle Mobilfunknummern und 0180er etc. über CAPI routen.

Tip: Daran denken daß unter eisfair nach einer Benutzung des eisfair-Editors und einem Abspeichern mit F2 Deine manuellen Änderungen an der extensions.conf wieder weg sind! Am Besten eine Kopie der manuell editierten .conf Datei machen und unter anderem Namen speichern.
Die kannst Du dann, falls Du mal zu schnell warst wieder umbenennen und anschließend ein reload auf der CLIR ausführen.

Gruß

chris_go
 
# etc.

Hallo -keanu-,

die Raute steht hier wirklich für die Taste "#" des Telefons.
D.h. Du mußt #100 wählen um den ersten Test auszulösen.
Wenn Du eine Telefonanlage hinter dem Asterisk betreibst kommen oft die Sondertasten "*" oder "#" gar nicht beim Asterisk an, da Sie Sonderfunktionen in der Telefonanlage bedienen und nicht zum Asterisk weitergegeben werden.
Ich habe die Testnummern einfach auf 991 bis 994 gelegt. Eine externe Nummer beginnen mit 99 gibt es wohl nicht.

P.S. Im vorhergehenden Post bitte die 227.. durch Deine MSN bzw. die Nebenstelle ersetzen. Diese sind bei mir identisch (Eumex hinter *).

Gruß

chris_go
 
Kostenlos!

Statistik des Forums

Themen
248,864
Beiträge
2,303,142
Mitglieder
378,516
Neuestes Mitglied
jpttpee