Asterisk als PBX Ersatz, interner Wählton

sry, jungshanns.net
 
Hi,
das Beispiel gefällt mir leider nicht. Man bekommt erst den internen Wählton, wenn man die Null wählt.
Hätte es gerne, dass man beim Abheben des Hörers den internen Wählton hat und dann bei Wahl der "0" den Amtswählton hört.
Ist das möglich?

Bis denn,
Whoopie
 
Ja, das ist möglich.

Code:
[macro-ch]

exten => s,1,Playtones(congestion)
exten => s,2,Wait(5)
exten => s,3,Hangup

[macro-invalidline]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Setvar(PRI_CAUSE=21)
exten => s,5,Hangup


[dialextern]

exten => s,1,StopPlaytones
exten => s,2,Playtones(dial)
exten => s,3,DigitTimeout(0)
exten => s,4,ResponseTimeout(10)

exten => *,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => *,2,WaitExten(2)

exten => _X,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X,2,GotoIf(${LEN(${DIALED})} > 1?3:4)
exten => _X,3,StopPlaytones
exten => _X,4,ResponseTimeout(2)
exten => _X,5,WaitExten(2)

exten => t,1,GotoIf(${LEN({${DIALED})} > 1?10:2)
exten => t,2,Macro(ch)
exten => t,10,Goto(isdn2out,${DIALED},1)

exten => i,1,Macro(invalidline)

[dialintern]

exten => s,1,StopPlaytones
exten => s,2,SetCIDNum(${MYLIVINGID})
exten => s,3,WaitExten(0.2)

exten => _X,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X,2,Goto(local,${DIALED},1)

exten => t,1,Macro(ch)

exten => i,1,Macro(ch)

[dialtone]

exten => _X.,1,Wait(0.0)
exten => _X.,2,Macro(user${EXTEN})
exten => _X.,3,Playtones(internal)
exten => _X.,4,DigitTimeout(0)
exten => _X.,5,ResponseTimeout(10)
exten => _X.,6,WaitExten(2)

exten => 0,1,SetVar(DIALED=${EXTEN})
exten => 0,2,Goto(dialextern,s,1)

exten => _Z,1,SetVar(DIALED=${EXTEN})
exten => _Z,2,Goto(dialintern,s,1)

exten => t,1,Macro(ch)

exten => i,1,Macro(ch)

Der Rest ist aus diesem Thread:http://www.ip-phone-forum.de/forum/viewtopic.php?p=65910#65910
 
Code:
[macro-ch]

exten => s,1,Playtones(congestion)
exten => s,2,Wait(5)
exten => s,3,Hangup

[macro-invalidline]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Setvar(PRI_CAUSE=21)
exten => s,5,Hangup

[dialextern]

exten => s,1,StopPlaytones
exten => s,2,Playtones(dial)
exten => s,3,DigitTimeout(0)
exten => s,4,ResponseTimeout(10)

exten => *,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => *,2,WaitExten(2)

exten => _X,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X,2,GotoIf(${LEN(${DIALED})} > 1?3:4)
exten => _X,3,StopPlaytones
exten => _X,4,ResponseTimeout(2)
exten => _X,5,WaitExten(2)

exten => t,1,GotoIf(${LEN({${DIALED})} > 1?10:2)
exten => t,2,Macro(ch)
exten => t,10,Goto(isdn2out,${DIALED},1)

exten => i,1,Macro(invalidline)

[dialintern]

exten => s,1,StopPlaytones
exten => s,2,SetCIDNum(${MYLIVINGID})
exten => s,3,WaitExten(0.2)

exten => _X,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X,2,Goto(local,${DIALED},1)

exten => t,1,Macro(ch)

exten => i,1,Macro(ch)

[dialtone]

exten => _X.,1,Wait(0.0)
exten => _X.,2,Macro(user${EXTEN})
exten => _X.,3,Playtones(internal)
exten => _X.,4,DigitTimeout(0)
exten => _X.,5,ResponseTimeout(10)
exten => _X.,6,WaitExten(2)

exten => 0,1,SetVar(DIALED=${EXTEN})
exten => 0,2,Goto(dialextern,s,1)

exten => _Z,1,SetVar(DIALED=${EXTEN})
exten => _Z,2,Goto(dialintern,s,1)

exten => t,1,Macro(ch)

exten => i,1,Macro(ch)

Das schmiegt sich ein in diese Konfig: http://www.ip-phone-forum.de/forum/viewtopic.php?p=65910#65910

Starten tut man übrigens in [dialtone]
 
Hi,
langsam wird's auch bei mir was. :)
Aber wie muss ich "internal" in der indications.conf eintragen? Wie sind die Töne (Zahlen), für einen typischen internen Wählton? Und wie für das typische Freizeichen?

Danke nochmals,
Whoopie
 
achso, sorry:

Code:
[nl]
alias = de
description = Netherlands
ringcadance = 1000,4000
; Most of these 425's can also be 450's
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/250,0/250
; XXX I'm making up the call wait tone XXX
callwaiting = 440/300,0/10000
; XXX Assuming this is "Special Dial Tone" XXX
dialrecall = 425/500,0/50
; XXX I'm making up the record tone XXX
record = 1400/500,0/15000
info = 950/330,1400/330,1800/330,0/1000
internal = 440/200,0/300,440/200,0/300,440/200,0/800

So klang zumindest meine alte Elmeg intern *g*
 
Hi,

erstmal meine extensions.conf:
Code:
[general]
static=yes
writeprotect=no

[globals]

[default]
include => incoming

exten => s,1,SetLanguage(de)
exten => s,2,Playtones(internal)
exten => s,3,DigitTimeout(0)
exten => s,4,WaitExten(2)

exten => 0,1,Goto(outgoing,s,1)

exten => _Z,1,Goto(internal,s,1)

[internal]
exten => s,1,StopPlaytones
exten => s,2,DigitTimeout(2)
exten => s,2,WaitExten(2)

exten => _X.,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X.,2,Goto(${DIALED},1)

exten => 10,1,Dial(SIP/10,60,tT)
exten => 10,2,Voicemail(su10)
exten => 10,3,Hangup
exten => 10,102,Busy

exten => 11,1,Dial(SIP/11,60,tT)
exten => 11,2,Congestion
exten => 11,102,Busy

exten => 12,1,Dial(Zap/1/12,60,tT)
exten => 12,2,Congestion
exten => 12,102,Busy

exten => 20,1,Dial(SIP/10&SIP/11&Zap/1/12,60,tT)
exten => 20,2,Congestion
exten => 20,102,Busy

exten => 8500,1,SetLanguage(de)
exten => 8500,2,VoicemailMain2(s${CALLERIDNUM})
exten => 8500,3,Hangup

[incoming]
exten => SIP-ID,1,Dial(SIP/10&SIP/11&Zap/1/12,60)
exten => SIP-ID,2,Congestion
exten => SIP-ID,102,Busy

exten => Voice-MSN,1,Dial(SIP/10&SIP/11&Zap/1/12,60)
exten => Voice-MSN,2,Congestion

exten => Fax-MSN,1,Goto(fax,s,1)

[outgoing]
include => notallowed
include => freecall
include => emergency

exten => s,1,StopPlaytones
exten => s,2,Playtones(dial)
exten => s,3,DigitTimeout(4)
exten => s,4,WaitExten(2)

exten => _X.,1,Dial(SIP/${EXTEN}@sipgate,60)
exten => _X.,2,Congestion
exten => _X.,102,Busy

[notallowed]
exten => _019X.,1,Macro(notallowed)    ; 019x
exten => _0900X.,1,Macro(notallowed)   ; 0900
exten => _0137X.,1,Macro(notallowed)   ; 0137
exten => _018X.,1,Macro(notallowed)    ; 018x
exten => _012X.,1,Macro(notallowed)    ; 012x
exten => _118X.,1,Macro(notallowed)    ; 118x
exten => _0087X.,1,Macro(notallowed)   ; 0087 IMSAT
exten => _0088X.,1,Macro(notallowed)   ; 0088 EMSAT

[freecall]
exten => _0800X.,1,Macro(ISDN,${EXTEN})
exten => _00800X.,1,Macro(ISDN,${EXTEN})

[emergency]
exten => _110,1,Macro(ISDN,${EXTEN})
exten => _112,1,Macro(ISDN,${EXTEN})

[macro-notallowed]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,SetLanguage(de)
exten => s,4,Playback(ss-noservice)
exten => s,5,Hangup

[macro-ISDN]
exten => s,1,Dial(CAPI/Voice-MSN:${ARG1},60)
exten => s,2,Congestion
exten => s,102,Busy

[fax]
exten => s,1,SetVar(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID}.tif)
exten => s,2,SetVar([email protected])
exten => s,3,rxfax(${FAXFILE})
exten => h,1,system(/usr/local/sbin/mailfax ${FAXFILE} ${EMAILADDR} ${CALLERIDNUM})

Interner Wählton hört sich super an.
Komme jetzt mit der Null in den outgoing-Kontext. Danach wird aber alles als "invalid extension" abgelehnt.
Finde leider den Fehler nicht. Hättest Du nen Tipp?
Habe übrigens in der zapata.conf "overlapdial=no" setzen müssen, sonst hätte ich den internen Wählton nicht gehört. Die ganze "Spielerei" funktioniert aber nicht mit X-Lite.

Bis denn,
Whoopie
 
Ohja geht nur fuer ISDN ;-(

Bei X-lite macht es mMn auch keinen Sinn - da man immer erst waehlt und dann "abhebt"?

Hmm wo der Fehler liegt weis ich net, meine Konf laeuft.
 
Hi,
hab meine extensions.conf im vorigen Beitrag editiert.

Irgendwie erkennt * im outgoing-Kontext nicht, dass es sich um eine "notallowed"-Nummer handelt.
Wie kriege ich es hin, dass erst geschaut wird, ob die Nummer erlaubt ist und dann rausgewählt wird?

Danke für die Hilfe!
 
Verschieb den Test in einen anderen Kontext. Heisst: Sammeln in outgoing die EXTEN und mach den notallowed test und/oder Dial dann in einem call Kontext. Mittels Goto.
 
Sry, wenn ich so dumm Frage, aber wie kann ich den Dialtone-Timeout verlängern, wenn ich mit overlapdial=yes arbeite und den hfc-zapata-Treiber benutze. Also so, dass ich nach dem Abheben des Hörers, nicht schon nach 5 Sekunden die erste Ziffer eingeben muss? Kann ich da etwas im Sourcecode des Zaptel-Treibers ändern, oder kann man das in Asterisk einstellen?
 
so sieht mein dialplan aus sobald 0 gedrückt wird. ich hab hier das waiting for exten 2 mal drinne. beim zweiten mal schalte ich die töne ab es ist sehr läßtig wenn man beim wählen das normale freizeichen hat.

Code:
[dialextern]
exten => t,1,StopPlaytones
exten => t,2,Playtones(congestion)
exten => t,3,Congestion
exten => t,4,Hangup
exten => i,1,StopPlaytones
exten => i,2,Playtones(congestion)
exten => i,3,Congestion
exten => i,4,Hangup
exten => s,1,StopPlaytones
exten => s,2,Playtones(dial)
exten => s,3,DigitTimeout(0)
exten => s,4,WaitExten(2)
exten => _X,1,StopPlaytones
exten => _X,2,DigitTimeout(3)
exten => _X,3,SetVar(DIALED=${EXTEN})
exten => _X,4,WaitExten(2)
exten => _X.,1,SetVar(DIALED=${DIALED}${EXTEN})
exten => _X.,2,Macro(tsblcr,${DIALED},/etc/asterisk/lcr/tsblcr.routing,${ZAP_DEF_OUT_CIDNum},${ZAP_DEF_OUT_CIDName},Zap$
 
Probleme mit Freizeichen seit Asterisk 1.21

allesOK schrieb:
Code:
[dialtone]
exten => _X.,1,Wait(0.0)
exten => _X.,2,Macro(user${EXTEN})
exten => _X.,3,Playtones(internal)
exten => _X.,4,DigitTimeout(0)
exten => _X.,5,ResponseTimeout(10)
exten => _X.,6,WaitExten(2)

exten => 0,1,SetVar(DIALED=${EXTEN})
exten => 0,2,Goto(dialextern,s,1)

exten => _Z,1,SetVar(DIALED=${EXTEN})
exten => _Z,2,Goto(dialintern,s,1)

exten => t,1,Macro(ch)
exten => i,1,Macro(ch)

Ich hoffe, das ist nicht zu lange her und ich kriege noch eine Antwort :)

Ich habe seit der Umstellung auf Asterisk 1.21 von 1.0 das Problem, dass ich dauernd ein Autofallthrough erhalte, sobal ich die 0 drücke um das Freizeichen zu erhalten.

Trotzdem ich folgendes habe in extensions.conf:

Code:
[general]
priorityjumping=yes
static=yes
writeprotect=no
autofallthrough=no


Hier der Log:

Code:
*CLI>
ich hebe ab:

    -- Executing PlayTones("Zap/2-1", "internal") in new stack
    -- Executing Wait("Zap/2-1", "0.1") in new stack
    -- Accepting voice call from 'yxxxyxx' to 's' on channel 0/2, span 1
    -- Executing Set("Zap/2-1", "TIMEOUT(digit)=2") in new stack
    -- Digit timeout set to 2

- snip - Uservariablen werden hier gesetzt 

    -- Goto (dialtone,s,1)
    -- Executing Wait("Zap/2-1", "0.1") in new stack
    -- Executing Set("Zap/2-1", "TIMEOUT(digit)=0") in new stack
    -- Digit timeout set to 0
    -- Executing Set("Zap/2-1", "TIMEOUT(response)=3") in new stack
    -- Response timeout set to 3
    -- Executing WaitExten("Zap/2-1", "1.5") in new stack

ich drücke 0 um Freizeichen zu erhalten:

  == Auto fallthrough, channel 'Zap/2-1' status is 'UNKNOWN'
    -- Hungup 'Zap/2-1'


Wie kann es sein, dass ich Auto fallthrough erhalte obwohl ich es ja ausgestellt habe. Wie gesagt, dieses Problem hatte ich mit Asterisk 1.0 nicht und am Dialplan habe ich nichts geändert.
 
Leider komme ich nicht drauf, woran es liegen kann.:-(

Hat jemand eine Lösung oder das gleiche Problem?
 
hi,

habe ALLES ausprobiert, aber wenn ich waehle und dann den hoerer abnehme, dann will er einfach nicht. das CLI sagt playtones aber ich höre einfach nichts und kann auch nichts tippen.

Kennt sich jemand mit telefonen aus, und kann mir sagen, was für einen ursprung das haben könnte?

Gruß, Oliver
 
Zurück
Oben