[Frage] DND für interne Extensions funktioniert, wie von extern anwenden

morph027

Neuer User
Mitglied seit
24 Jan 2007
Beiträge
70
Punkte für Reaktionen
0
Punkte
0
Hi!

Habe gerade ein Problem, mein DND so zum laufen zu bekommen, wie ich mir das vorstelle. Ich habe am Asterisk 1.8 auf OpenWRT eine gefreezte Eumex 300 IP und ein Cisco 7940 hängen. Der * selbst registriert sich bei Sipgate. Ich möchte, dass die Telefone bei einem einkommenden Gespräch beide klingeln, der erste, der abnimmt, gewinnt. Das läuft auch alles super...

Das Cisco kann bei aktiviertem DND selbst ein "486 - busy here" schicken, so dass das kein Problem darstellt. Die Klingelsperre der Fritzbox schickt aber nach außen keinen Besetztton, so dass ich das gern einfach über den * realisieren wollte. Steckt ein DND-Eintrag für eine Extension in der Datenbank, kann man diese intern auch nicht erreichen, alles super. Der [sip-incoming] Context schert sich da aber nicht drum...wie krieg ich den dazu, die Nummern zu prüfen, ohne Funktionen doppelt zu haben. Nach [sip-internal] springen geht nicht, da weiß ich nicht, wie ich die zu wählenden Extensions übergeben kann.

P.S.: Interessanterweise ging das einfach so mit dem * auf DD-WRT...dürfte eigentlich nicht ;)

Code:
extensions.conf

[sip-internal]
include => emergency
include => sip-outgoing
include => dnd

;check dnd-status
exten => _XXX,1,GotoIf(${DB_EXISTS(DND/${EXTEN})}?DND-ON,1)
exten => _XXX,n,Dial(SIP/${EXTEN},20,t)
exten => _XXX,n,Goto(s-${DIALSTATUS},1)

exten => _s-.,1,Busy(10)
exten => _s-.,n,Hangup

exten => DND-ON,1,Goto(_s-.,1)

[emergency]
exten => _11.,1,NoOp(Emergency call on sipgate trunk)
exten => _11.,2,Set(CALLERID(num)=XXXXXX)
exten => _11.,3,Dial(SIP/${EXTEN}@sipgate.de,30,trg)
exten => _11.,4,Hangup

[sip-incoming]
exten => XXXXXX,1,NoOp(Incoming call on sipgate trunk)
exten => XXXXXX,n,Dial(SIP/100&SIP/200)
exten => XXXXXX,n,Hangup

[sip-outgoing]
exten => _XXX.,1,NoOp(Outgoing call on sipgate trunk)
exten => _XXX.,2,Set(CALLERID(num)=XXXXXX)
exten => _XXX.,3,Dial(SIP/${EXTEN}@XXXXXX,30,trg)
exten => _XXX.,4,Hangup

[dnd]
;enable
exten => *78,1,Answer
exten => *78,n,Set(DB(DND/${CALLERID(num)})=1)
exten => *78,n,Playback(beep)
exten => *78,n,Wait(2)
exten => *78,n,Hangup

;disable
exten => *79,1,Answer
exten => *79,n,NoOp(${DB_DELETE(DND/${CALLERID(num)})})
exten => *79,n,Playback(beep)
exten => *79,n,Wait(2)
exten => *79,n,Hangup
Idee mit Makro:

Code:
extensions.conf

[sip-internal]
include => emergency
include => sip-outgoing
include => dnd

[macro-exten]
exten => s,1,GotoIf(${DB_EXISTS(DND/${ARG1})}?DND-ON,1)
exten => s,n,Dial(SIP/${ARG1},20,t)
exten => s,n,Goto(s-${DIALSTATUS},1)

exten => _s-.,1,Busy(10)
exten => _s-.,n,Hangup

exten => DND-ON,1,Goto(_s-.,1)

[emergency]
...

[sip-incoming]
exten => XXXXXX,1,NoOp(Incoming call on sipgate trunk)
exten => XXXXXX,n,Macro(exten,100)
exten => XXXXXX,n,Hangup

[sip-outgoing]
...

[dnd]
...
Aber wir realisiere ich da klingeln auf mehreren Geräten? Ich möchte eben nicht eine Abfrage pro Gerät haben...wer weiss, wieviel Extensions hier noch kommen ;)

Bin für Ideen dankbar ;)

P.S.: Guten Rutsch!
 
Zuletzt bearbeitet:
3CX

Statistik des Forums

Themen
235,920
Beiträge
2,067,897
Mitglieder
356,972
Neuestes Mitglied
Cheese1974