[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:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,831
Beiträge
2,219,105
Mitglieder
371,533
Neuestes Mitglied
ipeee
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.