Also bestimmte Nummer am Telefon eingeben und dort per Tasten den Status auf available,unavailable oder forward setzen ohne jedes mal dialplan umzuschreiben. Ist das möglich?
Also bestimmte Nummer am Telefon eingeben und dort per Tasten den Status auf available,unavailable oder forward setzen ohne jedes mal dialplan umzuschreiben. Ist das möglich?
Bisschen wenig Information, aber grundsätzlich geht das. Custom hints, Set(DEVICE_STATE), AstDB, ... je nachdem, was Du damit vor hast.
Alles schöne im Leben ist entweder verboten, zu teuer oder macht dick!
du möchtest eine DND per Tastendruck einrichten, so das jedes Telefon per Kennziffer die Funktion ein und aus Schalten kann.
Hier gibts ein Beispiel wie das mit der AstDB lösbar ist.
--
kasper-ls
Also blocken möchte ich die Anrufe nicht, die sollen sofort auf der Mailbox landen ohne das es klingelt. Aber nur dann wenn man es per Telefon vorher aktiviert.
Im Prinzip wie hier:
http://lists.digium.com/pipermail/as...er/064476.html
Nur gilt das für alle Telefone auf einmal, ich möchte das für jede Extension einzeln einstellen können.
Geht das so?
Set(DIALSTATUS=BUSY)
Set(DIALSTATUS=DONTCALL)
....
Dann könnte man einfach abfragen:
GotoIf($["${DIALSTATUS}" = "BUSY"]?context,ext,1)
Geändert von xrated (18.07.2012 um 22:42 Uhr)
Beispiele unter Verwendung der AstDB findest Du hier, das Example 6 erklärt das Prinzip recht schön.
Alles schöne im Leben ist entweder verboten, zu teuer oder macht dick!
Nö, das Example 6 zeigt sogar die Funktionweise nach extern. Für interne Umleitungen müsste man das noch erweitern, zB. nach Länge der Zielrufnummer unterscheiden.
Alles schöne im Leben ist entweder verboten, zu teuer oder macht dick!
Mir ist gerade nicht ganz klar in welchen Kontext das überhaupt rein muss, in den "rausrufen" oder "inbound" Kontext. Müsste statt dem _ZX dort nicht die eigene TelNr. stehen?
Edit:
Das Beispiel von kasper-ls bzw. das DND script habe ich auch mal eingetragen. Da ist aber das Problem das ich den DND status nicht mehr gelöscht bekomme.
Ich habe zwar in der CLI set core debug 9 gesetzt aber da wird nichts angezeigt. Wie kann man sich da mehr anzeigen lassen?
Mit dem Command lande ich immer auf Voicemail, egal ob DND an oder aus ist: GotoIf(${DB_EXISTS(DND/10)}?voiceunavail,10,1)
Zusatzfrage: Kann man eigentlich eine Variable an einen Context übergeben?Code:[extDND] exten => 98,1,Answer exten => 98,n,wait(1) exten => 98,n,Macro(DND) exten => 98,n,Hangup [macro-DND] ; do not disturb mode, set it also in case of vacation etc exten => s,1,GotoIf(${DB_EXISTS(DND/${CALLERID(num)})}?disable-dnd,1) ;if db entry exists goto disable-dnd exten => s,n,Set(DB(DND/${CALLERID(num)})=1) ;There was no entry on AstDB, so We active your DND exten => s,n,playback(/usr/share/asterisk/sounds/custom/do-not-disturb) exten => s,n,playback(/usr/share/asterisk/sounds/custom/activated) exten => s,n,hangup exten => disable-dnd,1,Set(oldval=${DB_DELETE(DND/${CALLERID(num)})}) ; You are disabling your DND exten => disable-dnd,n,Wait(2) exten => disable-dnd,n,playback(/usr/share/asterisk/sounds/custom/do-not-disturb) exten => disable-dnd,n,playback(/usr/share/asterisk/sounds/custom/de-activated) exten => disable-dnd,n,hangup exten => h,1,hangup
Dann bräuchte man nicht für jede Voicemail extra Einträge vornehmen.
Geändert von rentier-s (23.07.2012 um 09:55 Uhr) Grund: Bitte Code-Tags nutzen.
Äh, ja, es ist auch nur ein Beispiel, das wirst Du schon an Deine Konfig anpassen müssen.
Die _ZX wäre für Gespräche von intern nach intern, das gleiche müsstest Du im ankommenden Context mit Deiner entsprechenden exten nachbauen.
Die restlichen extens zum setzen und löschen müssen halt irgendwo in einem von intern erreichbaren Context untergebracht werden.
Zu Deiner Zusatzfrage, schau Dir bitte das Manual zum Macro-Befehl und das Thema vererbbare Variablen an.
Für mehr verbose im CLI entweder mit mehr v's starten (asterisk -rvvvvv...) oder zB. core set verbose 5.
Und magst Du für Konfigs und Logs künftig bitte [code]...[/code] Tags benutzen?!
Alles schöne im Leben ist entweder verboten, zu teuer oder macht dick!
Hallo,
ich habe das Gefühl, das dir einige Grundlagen fehlen.
Vielleicht schaus du mal hier rein.
Dort wird auch erklärt wie man mit Variabeln im Dialplan arbeitet und einige andere Dinge.
--
kasper-ls
Natürlich fehlt mir noch einiges, ich beschäftige mich damit ja auch erst 2 Wochen (bei voip wirklich bei 0 angefangen) und lese viel aber alles kann man alleine auch nicht meistern.
Ich habe man an der CLI "database show" eingegeben und es taucht der Eintrag auf: /DND/12 : 1
12 ist eine andere Extension die momentan nicht benutzt wird, normalerweise wird 10 benutzt.
In dem Script wird aber auf DB_EXISTS(DND/10) abgefragt.
Habe die Zeile wieder in der extensions.conf aktiviert und auf einmal gehts, seltsam.
Demnächst werde ich mal das mit dem Forward probieren. Nicht zuviele Änderungen auf einmal machen![]()
Oder eine andere Distro, z. B. PBX in a Flash, Trixbox, Elastix. Funktioniert dann halt einfach über das Web-GUI von FreePBX.![]()
Ich habe seit fast 10 Jahren Debian drauf und da ändert sich auch nichts
Ausserdem finde ich diese GUI Oberflächen nicht transparent, schlimm genug das man Windows hat![]()
Kein Problem. War mehr als Antwort auf die Hinweise auf Gemeinschaft gemeint.
Ich kann aber auch nicht verstehen, warum man sich so viel Mühe macht, und alles manuell einrichten möchte. Man muss ja das Rad nicht noch einmal erfinden.![]()
Ausserdem sieht xrated nicht, dass "diese GUI Oberflächen" sehr viel mehr tun als nur ein GUI darzustellen. Aber er lernt ja noch.Und vielleicht lernt er ja auch mal irgendwann, dass man das Rad nicht neu erfinden muss, und dass andere ihm schon eine Menge Arbeit abgenommen haben.
Grundsätzlich hat er aber Recht: das Auseinandersetzen mit den Basics von Asterisk ist sinnvoll, auch wenn man später eine fortgeschrittene Lösung (mit GUI) verwendet.
Ich habe es umgekehrt gemacht. Um ein funktionierendes System zu haben, installiere ich mal eine der genannten Distros und richte Grundsätzliches über GUI ein. Wenn dann noch etwas geschraubt bzw. verfeinert werden soll, kann man das sehr schön in den dafür vorgesehenen Kontexten machen.
Ich habe nie ein Asterisk Distribution mit GUI gefunden die für mich geeignet ist, letzter versuch war Gemeinschaft4 dort kann ich aber keine grandstreamtelefone einbinden per GUI
--
kasper-ls