Jump to content

Tom Wellige

Root Moderator
  • Posts

    4,401
  • Joined

  • Last visited

  • Days Won

    118

Tom Wellige last won the day on November 28

Tom Wellige had the most liked content!

Reputation

83 Excellent

9 Followers

Profile Information

  • Gender
    Male
  • Interests
    SwyxWare, Software Development

Recent Profile Visitors

14,888 profile views
  1. Hallo Danielk, so einen globalen Schalter gibt es leider nicht von Haus aus in der SwyxWare, aber er kann relativ einfach in Form von Persitenten Variablen nachgerüstet werden. Über den Link findest Du den Download und die komplette Dokumentation. Im Download befindet sich auch ein Beispiel "Night Switch", was genau das ist, was Du brauchst. Ein globaler Schalter, der von allen gesehen und auch gesetzt werden kann. Damit hast Du Teil 1 der Lösung Deines Problem schonmal in der Tasche. Teil 2 ist es, ein Call Routing für alle Benutzer an den Start zu bringen, was den Ruf an den Benutzer zustellt, wenn die Nachtschaltung ausgeschaltet ist, und wenn die NAchtschaltung eingeschaltet ist, den Ruf entweder an das Call Routing der Zentrale gibt (was immer da dann auch passiert) oder an die Voicemail den Benutzers. Es gibt mehrere Möglichkeiten sowas für alle Benutzer an den Start zu bekommen. Die schnellste und einfachst ist das sogenannte PreProcessing, welches eine Call Routing Regel, die man global für alle Benutzer hinterlegen kann und welche gestartet wird, bevor das eigentliche Call Routing des Benutzers startet. Wie man das PreProcessing anwendet findest Du über den Link erklärt. Du kannst Dir eine solche globale PreProcessing Regel anlegen, und der den Zustand der Nachtschaltung abfragst und dann wie benötigt drauf reagierst. Solltest Du den Ruf an das Call Routing der Zentrale geben wollen, kann Du den Durchstellen Block dazu benutzen und musst in dessen Parametern den Haken bei "mit dem Call Routing des Ziels fortfahren" setzen. Wichtig ist jetzt, dass Du im Call Routing überprüfst, ob gerade die Zentrale angerufen wurde (für die wird das globale PreProcessing auch gestartet). In diesem Fall darfst Du natürlich nicht nochmal an die Zentrale durchstellen, sondern muss die Regel über den "Regel übersprungen" Ausgang verlassen, damit das nachfolgende Call Routing der Zentrale gestartet wird. Diese Überprüfung kannst Du mit einem "Variable auswerten" Block machen, in dem Du überprüfst, ob PBXUser.Name gleich dem Namen Deines Zentrale Benutzers ist. Zum Beispiel kannst Du das folgende direkt als Bedingung in das Textfeld des "Variable auswerten" Blocks schreiben: PBXUser.Name = "Zentrale" Wenn noch fragen übrig bleiben, melde Dich einfach nochmal.
  2. Hallo Tom, Du kannst Dir einfach eine kleine Regel mit dem Grafischen Skript Editor machen, die den Ruf per Durchstellen Block auf Deine Gruppe zustellt: Unter (1) trägst Du die Nummer Deiner Gruppe ein. Unter (2) wählst Du die Ansage/Musik aus, die der Anrufer hören soll, während es in der Gruppe klingelt. Du musst hierbei allerdings beachten, dass der Ruf vom Call Routing (d.h. Swyx Server) angenommen wird, damit die Ansage abgespielt werden kann. Der Ruf wird also automatisch verbunden, obwohl der Anrufer noch mit keinem Menschen verbunden ist. Das bedeutet z.B. dass der Anrufer ab sofort für den Anruf bezahlt, und nicht erstt ab dem Augenblick, an dem irgendein Mensch den Höhrer abnimmt.
  3. Da hast Du leider vom Call Routing aus keinen direkten Zugriff. Aber evtl. funktionert ein kleiner Trick. Dir geht es ja nur um die Signalisierung, ob die Nachtschaltung ein- oder ausgeschaltet ist. Man kann vom Call Routing aus die Voicemail Lampe an einem Telefon ein- und ausschalten. Vorausgesetzt, man hat eine der Funktiostasten mit der Voicemail Funktion versehen. Ich kann Dir nicht sagen ob das auch an einem Yealink Telefon geht. Und da ich hier kein Yealink Telefon stehen habe, kann ich es auch nicht mal eben selber ausprobieren. Alle Details dazu findest Du hier: PBXUser.NumberOfNewVoicemails
  4. Hallo, Du könntest z.B. den Status der sofortigen Umschaltung (was ein einfacher ein/aus Schalter) ist dazu verweden. PBXUser.UnconditionalRedirect Wenn Du Dein gesamtes Call Routing vor die Umleitungen im Call Router Manager setzt, dann kannst Du die Umleitung problemlos dazu Zweckentfremden. Andere Lösungen die mir einfallen, würden alle weitere Systeme (bei Euch im Haus) beinhalten, auf die Du vom Call Routing aus der WebRequests zugreifen könntest. PBXScript.WebRequest
  5. Hallo Marcel, hiermit solltest Du weiter kommen: PBXCall.CalledPartyNumber
  6. Hallo, ja, die persistenten Variablen sind genau das, was Du hier brauchst. Du kannst das "Night Switch" Beispiel ein zu eins übernehmen. Ausser dass Du den Namen der Variable evtl. änderst.
  7. Hallo Chris, Markus hat natürlich vollkommen Recht, das sind alles interne Rufe. Folglich vergiss meinen ersten Ansatz. Neben der Zuordnung über die Anrufernummer (PBXCall.CallingPartyNumbr) könnte ich mir auch vorstellen, dass man die Zuordnung über den Benutzernamen (PBXUser.Name) macht, sofern Du einen eindeutigen Hinweis auf den Standort mit in den Namen speicherst. Deine Frage bzgl. PBXGroup.CallerIsMember wird nicht funktionieren. Diese Funktion gibt es nur wenn Du das Call Routing direkt auf einer Gruppe laufen lässt und dann wird auch nur geschaut, ob der Anrufer Mitglied dieser Gruppe ist. Der Grundgedanke ist aber ein ziemlich guter, und sollte in Zukunft die Verwaltung auch sehr einfach machen. Alles was Du brauchst ist eine Funktion die prüft, ob ein bestimmter Anrufer Mitglied einer bestimmten Gruppe ist. Als Grundlage dafür kannst Du die Funktion IsUserInGroup aus der Funktionssammlung verwenden. Die müsstest Du nur ein wenig anpassen. Die folgende Zeile if PBXUser.Name = User.Name then müsste nach (PBXCall.CallingPartyName) if PBXCall.CallingPartyName = User.Name then geändert werden. Dann übrüft die Funktion, ob der aktuelle Anrufer Mitglied der per Parameter angegebenen Gruppe ist. Damit musst Du dann nur für jeden Standort eine Gruppe anlegen, in die Du alle Benutzer dieses Standorts hinzufügst. Bei einem kommenden Ruf auf den Ersthelfer Benutzer musst Du dann nur mit der obigen Funktion prüfen, ob der Anrufer in einer Deiner Standort Gruppen ist und den Ruf dann passend an den oder die Ersthelfer dieses Standorts durchstellen. Das geht dann auch am einfachsten über Gruppen, die Du für jeden Standort anlegst und dessen Ersthelfer darin hinzufügst. Alle Gruppen (für die Standort und die für Ersthelfer) würde ich nicht im globalen Telefonbuch anzeigen lassen. So kommen Benutzer gar nicht erst auf die Idee an Deinem Ersthelfer Benutzer herum irgendwen anrufen zu wollen.
  8. Hallo Chris, Deine Idee bzgl. des Call Routings ist gar nicht so verkehrt. Du kannst im Call Routing nicht so ohne weiteres direkt Standort eines Benutzers abfragen, aber es ist dennoch nicht unmböglich. Das Call Routing für den Ersthelfer User würde ich wie folgt aufsetzen: prüfen ob es sich um einen internen Ruf handelt über PBXCall.CallingDeviceType = "Link" und PBXCall.CallingDeviceName kannst Du prüfen, über welchen Trunk der Ruf kommt und damit den Standort identifizieren dann auf die Ersthelfer Gruppe passend zum Standort zustellen. Sag Bescheid, wenn Du noch mehr Hinweise/Hilfe brauchst.
  9. Hallo Stefan, auf den Namen hast Du ohne weiteres Zugriff, nicht jedoch auf das "Bemerkungen" Feld. Wenn ein Ruf rein kommt, landet er zuerst auf dem Server, welcher eine Namensauflösung gegen das globale Telefonbuch macht. Anschliessend wird das Call Routing des gerufenen Benutzers gestartet. Im Call Routing kannst Du den aufgelösten Namen über diese beiden Eigenschaften PBXCall.CallingPartyName IpPbx.CallingName abfragen oder auch manipulieren. Auf das "Bemerkungen" Feld hast Du keinen direkten Zugriff. Denkbar wäre, dass Du Dir einen COM Wrapper für die ConfigDataStore API baust, welche das Feld ausliest und dir per COM Schnittstelle ins Call Routing reicht.
  10. Das Skript ist jetzt auch über den Download Bereich hier auf Swyx Forum erreichbar:
  11. Hallo Philip, Danke für das Skript! Kannst Du es bitte noch einmal neu teilen, da aus einem mir nicht ersichtlichen Grund, der Download in Deinem Post nicht funktioniert. EDIT: Habe gerade ein Update der Forum Software eingespielt und nun geht Dein Downloadlink. Du musst also nichts machen.
  12. Diese Funktion stammt ausnahmsweise nicht von mir Sehr gerne!
  13. Hallo Fredy, mach Dir keine Sorgen, diese VBSkript Funktion wird zig tausendfach benutzt. Die funktioniert Du kannst auch einfach als zweiten Parameter "25.12.2024" übergeben, statt einer leeren Zeichenkette. Dann wird dieses Datum geprüft und nicht das aktuelle.
  14. Ja, ganz genau so. Da der Code Call Routing Funktionalität enthält, kannst Du ihn nicht direkt als .vbs Datei speichern und einfach mal per wscript oder cscript ausführen lassen. Du könntest die entsprechenden Zeilen aber auskommentieren ( ' Apostroph an den Anfang jeder PBXScript.OutputTrace Zeile). Dann ginge das. Du kannst Dir auch einen Spielbenutzer in der SwyxWare anlegen, auf dem Du Dein Call Routing einfach in Ruhe ausprobierst bis es so ist wie Du es brauchst, Wenn Du Dich nicht nur auf Testanrufe verlassen willst, sondern dem Call Routing etwas mehr auf die Finger schauen willst, dann kannst Du Deinen Testanruf auch im Server Trace verfolgen. Alles was Du dazu brauchst, findest Du hier: How to filter SwyxWare traces for call routing output of single call Eine gute Übersicht über alles was es so an Dokumentation und Beispielen zum Thema Call Routing gibt, findest Du hier: ECR - Useful Link Collection Den Link auf diese Seite findest Du auch immer oben Rechts auf der Start Seite vom Swyx Forum.
  15. Hallo Fredy, ja, sowas gibt es fix und fertig: https://www.swyxforum.com/vbscript-function-collection/functions/ispublicholidayde-r14/ Der Link oben auf der Seite erklärt wie Du diese Funktion in Dein Call Routing bekommst und einfach mittels "Variable auswerten" Block aufrufen kannst.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.