Jump to content

Tom Wellige

Root Moderator
  • Posts

    4,310
  • Joined

  • Last visited

  • Days Won

    117

 Content Type 

Profiles

SwyxPEDIA Wiki

Zendesk Integration

Persistent Variables

Longest Waiting

VBScript build in functions

GSE build in functions (VBScript)

Server Script API (VBScript)

GSE build in functions (Lua)

Server Script API (Lua)

Function Collection (VBScript)

Function Collection (Lua)

IPS Integration

Jira Service Integration

Forums

Blogs

Downloads

Everything posted by Tom Wellige

  1. Hi, I wonder if you have ever used any of the GSE IMAP blocks in any of your call routings, or know of anybody who did so? If so, please let me know either here or via PM.
  2. There is a "Set" missig in front of Query = CreateObject("ADODB.Recordset") Also, please take a look into the CheckCallerInDatabase example from the Function Collection to see how you can do error tracing and error handling. When dealing with external data sources (e.g. files or databases) this is sort of mandatory. Your function returns at the end a closed recordset which you will not be able to access anymore. You should do all the needed data handling within your function, so you will be able to close the recordset in the end properly without anything else fails afterwards because of this.
  3. Die Registrierung der "tel:", "callto:" und "swyx:" Links erfolgt auf eine konfigurierte "SwyxIt!.Url" in Windows. Schau doch mal was bei Dir im folgenden Registry Key eingetragen ist: HKEY_CLASSES_ROOT\SwyxIt!.Url\shell\open\command Dort sollte der SwyxIt! Aufruf mit den folgenden Parametern sein: "C:\Program Files (x86)\SwyxIt!\SwyxIt!.exe" -d "%1" Wenn bei Dir nur das SwyxIt! in den Vordergrund kommt, dann sieht das für mich so aus, als würde es ohne Parameter aufgerufen.
  4. Ich habe Deinen Post mal in das Deutsche SwyxIt! Forum verschoben. Was genau meinst Du denn mit "wird zwar der SwyxIt!-Client getriggert"? Kommt das SwyxIt! in den Vordergund? Auf meinem 13.10er Testsystem funktionieren "tel:" und "callto:" Links einwandfrei.
  5. Verursacht die Arbeit im Homeoffice einen Karriereknick? Oder kommen Beschäftigte, die komplett oder teilweise zuhause arbeiten, beruflich genauso gut voran wie ihre Kollegen im Büro? Diesen Fragen geht eine aktuelle Umfrage von Enreach auf den Grund. Das Ergebnis: Ein Großteil der Deutschen macht sich keine Sorgen, dass sich das Homeoffice negativ auf ihre Karrierechancen auswirken könnte. Deutschlands ArbeitnehmerInnen glauben, dass ihre Karriere im Homeoffice genauso gut voranschreitet wie im Büro. Das zeigt eine aktuelle Befragung, die Enreach, einer der führenden europäischen Anbieter von Unified-Communications- und Cloud-Contact-Center-Lösungen, in Zusammenarbeit mit dem Markt- und Meinungsforschungsinstitut YouGov durchgeführt hat. Bei der Umfrage rund um Verhalten und berufliche Entwicklung bei der Arbeit im Homeoffice gegenüber der Arbeit im Büro gaben 58 Prozent der Befragten an, dass sie keine negativen Auswirkungen des Homeoffice auf ihr berufliches Fortkommen spüren. Nur jeder fünfte Umfrage-Teilnehmer (21 Prozent) war der Meinung, dass die eigene Karriere im Homeoffice nicht so gut voranschreitet wie bei einer Tätigkeit im Büro. „Es ist an der Zeit, dass wir die Diskussionen rund um Homeoffice oder Büro hinter uns lassen. Die Arbeit von zuhause aus hat sich in der hybriden Arbeitswelt längst als fester Bestandteil neben dem Büro etabliert – das zeigt sich unter anderem daran, dass die meisten Beschäftigten keine negativen Auswirkungen auf ihre Karrierechancen fürchten. Die Pandemie hat auch in Unternehmen, in denen das Homeoffice vorher kritisch gesehen wurde, zu einem Umdenken geführt: Produktive und erfolgreiche Arbeit ist nicht abhängig von der Präsenz an einem festen Platz im Unternehmen – das haben die vergangenen Jahre unter Beweis gestellt. Damit das auch so bleibt und die ortsunabhängige Arbeit dauerhaft für alle Beteiligten funktioniert, müssen Unternehmen jetzt die Weichen stellen“, sagt Dr. Ralf Ebbinghaus, Geschäftsführer der Enreach GmbH. Auch im Homeoffice in Kontakt bleiben Wer im Homeoffice allein vor dem Computer sitzt ohne persönliche Kontakte zu Kunden, Vorgesetzten und Kollegen kann das eigene Netzwerk nur schwer auf- oder ausbauen und sich profilieren – damit fehlen zentrale Voraussetzungen für den beruflichen Aufstieg. Für Beschäftigte im Homeoffice ist es daher wichtig, mit Auftraggebern, Führungskräften und Teammitgliedern in Kontakt zu bleiben, um auf sich aufmerksam und ihre Leistungen sichtbar zu machen. Dabei können sie mit guter Selbstorganisation und Eigeninitiative punkten, indem sie beispielsweise zusätzliche Aufgaben oder Projekte übernehmen. „Mitarbeiter, die komplett oder teilweise im Homeoffice arbeiten, müssen genauso präsent sein wie Mitarbeiter im Büro. Das ist einerseits eine Herausforderung für Führungskräfte, die alle Beschäftigten unabhängig von ihrem Arbeitsort miteinbeziehen, gleiche Chancen und Rahmenbedingungen für alle schaffen müssen. Auf der anderen Seite sind aber auch die Mitarbeiter selbst gefordert, sich aktiv einzubringen und Kontakt aufzunehmen“, erläutert Enreach Geschäftsführer Ebbinghaus. Damit Menschen unabhängig von ihrem Arbeitsort miteinander in Kontakt bleiben, benötigen sie zeitgemäße Kommunikationslösungen, die ihnen alle Funktionen für den Austausch mit Kollegen, Vorgesetzten und Kunden bieten und eine problemlose Zusammenarbeit sicherstellen. Die externe Kommunikation mit Kunden und Partnern bewerteten die Teilnehmer an der Enreach Umfrage überwiegend positiv: Etwa die Hälfte der Befragten (51 Prozent) gab an, dass diese im Homeoffice genauso gut läuft wie im Büro. Weitere 21 Prozent finden sogar, dass sich die Kommunikation mit externen Gesprächspartnern im Vergleich zum Büro verbessert hat. Ein anderes Bild zeigt sich bei der internen Kommunikation: Zwar halten 46 Prozent die Kommunikation mit Vorgesetzten sowie 43 Prozent die Kommunikation mit Kollegen für unverändert, doch für 27 bzw. 33 Prozent der Befragten hat sich die Kommunikation mit Vorgesetzten bzw. Kollegen im Homeoffice verschlechtert. „Wertschöpfender menschlicher Kontakt wird in der Arbeitswelt immer wichtiger, während sich die Menschen, die miteinander in Kontakt treten, immer seltener am selben Ort aufhalten. Technologien können dabei helfen, Distanzen zu überwinden und Menschen näher zusammenzubringen, sie sollten aber nie zum Selbstzweck werden“, so Ralf Ebbinghaus. „Verantwortlichen muss klar sein, dass es auf dem Weg in die neue Normalität nicht in erster Linie um einen Austausch von Technik geht, sondern darum echten Mehrwert für das Unternehmen und die dort arbeitenden Menschen zu schaffen. Mit unserem Angebot an Converged Contact Solutions unterstützen wir sie dabei: Wir stellen die Nutzer mit ihren individuellen Bedürfnissen in den Mittelpunkt und zielen darauf ab, ihnen das Leben leichter zu machen.“ Über die Umfrage: Die genannten Daten basieren auf einer Online-Umfrage der YouGov Deutschland GmbH, an der im April 2022 2.069 Personen teilnahmen, davon 548 Befragte, die (teilweise) im Homeoffice arbeiten. Die Ergebnisse wurden gewichtet und sind repräsentativ für die deutsche Bevölkerung ab 18 Jahren. Pressemitteilung auf enreach.de
  6. The following post is restored from the Swyx Forum Archive (2007-2014) and was posted originally at 23.06.2011 by StefanD. Hi, because some of you asked for the samples shown at the last SwyxTechnologyConference: We will add them to a future ClientSDK package, but the most interesting one seems to be the event signalling from the client line manager into VB script (which is possible although the docs tell currently something different - will be corrected). So - how to do that: Put a second parameter (which is a kind of prefix for the event handler) into the CreateObject call, like this: Set PhoneLineMgr = Wscript.CreateObject("CLMgr.ClientLineMgr", "PhoneLineMgr_") After that you can catch all events inside your event handler which has to be named this way (I put the whole source of the sample's event handler here to give a little idea about what's possible and which events are received, e.g. line state changes, name key (=speeddial) changes etc.). The whole list of signalled events and their values can be found inside the header CLMgrPubTypes.h, enum PubCLMgrMessages - it's of course a good idea to define some consts inside your VB script to have some speaking names for the events instead of the enum values): Sub PhoneLineMgr_DispOnLineMgrNotification(ByVal msg, ByVal param) Select Case msg Case 0 'PubCLMgrLineStateChangedMessage, param = index of line Set Line = PhoneLineMgr.DispGetLine(param) WScript.Echo "line " & param & ": state changed to: " & Line.DispState Set Line = Nothing Case 1 'PubCLMgrLineSelectionChangedMessage WScript.Echo "line selection changed" Case 9 'PubCLMgrNameKeyStateChangedMessage If PhoneLineMgr.DispSpeedDialNumber(param) <> "" Then WScript.Echo "NameKeyStateChanged #: " & param &_ " Name: " & PhoneLineMgr.DispSpeedDialName(param) &_ " Number: " & PhoneLineMgr.DispSpeedDialNumber(param) &_ " State: " & PhoneLineMgr.DispSpeedDialState(param) End If End Select End Sub Enjoy Stefan Answer 1: 23.06.2011 by Daaf This is very useful info Stefan! But... Ofcourse I won't make things easy on you... This is not a solution for vbscript but for a wscript (windows scripting host) environment which uses vbcript as it's language. the wscript.createobject method supports the "strPrefix" parameter which you use here...But other vbscript based environments do not. Let's say (our case) that the control is called from a web application (e.g. from within a webbrowser), here one can not use wscript.createObject method, but you have to use the createObject("..") function (see: http://msdn.microsoft.com/en-us/library/dcw63t7z(v=vs.85).aspx) This function does not support the second parameter "strPrefix" (it supports a second parameter "location", but that is a completely different parameter!) So, how do I get access to the events then? Answer 2: 23.06.2011 by Tom Wellige Event handling is actually available in WSH scripts only, not in VBScripts/JScripts hosted by IE, IIS or SwyxServer. Maybe its possible to instantiate the WScript object from within the VBScript and afterwards call the WScript's CreateObject function? Tom. Answer 3: 23.06.2011 by Tom Wellige I have just uploaded a small vbscript that exports current caller information into a text file. It makes use of the event handling mechanism of the Client Line Manager to update the file also for transferred calls. You'll find the script in the download section here at Swyx Forum. Watch out for: VBScript updates textfile with caller information Enjoy! Tom.
  7. Die spanischen Unternehmen von Enreach, masvoz und Telsome, haben den Namen der Gruppe übernommen und firmieren ab heute als Enreach. Mit diesem Schritt untermauert die schnell wachsende UCaaS- und CCaaS-Gruppe, die von der unabhängigen Investmentgesellschaft Waterland Private Equity unterstützt wird, ihren Führungsanspruch in Europa und tritt nun auch in Spanien unter einem einheitlichen Markendach auf. Mit der Übernahme von masvoz trat Enreach in den spanischen Markt ein und hat seitdem neue organische Wachstumsmöglichkeiten sowohl auf dem lokalen Markt als auch innerhalb der Gruppe geschaffen, insbesondere durch die innovative Omni-Channel-Cloud-Contact-Center-Lösung des Unternehmens. Mit der Übernahme von Telsome im Januar 2022 haben beide Unternehmen ihr Wachstum gemeinsam vorangetrieben und die spanische Präsenz von Enreach durch neue MVNO-Funktionen und einen erfolgreichen KMU-Kanal erweitert. Das Rebranding zu Enreach unterstreicht die Einheit der beiden Unternehmen, die Kunden jetzt noch fokussierter bei ihrer digitalen Transformation unterstützen. Enreach Spanien mit Sitz in Barcelona und Saragossa ist heute die Nummer eins unter den spanischen B2B-Telekommunikationsanbietern, die intelligente Cloud-Telefonie (Enreach Contact) und eine Omnichannel-Cloud-Contact-Center-Lösung anbieten, die von Unternehmen in ganz Europa genutzt wird. Der Omnichannel-Service ermöglicht es Unternehmen, mit ihren Kunden über Telefon, WebChat, WhatsApp und E-Mail in Kontakt zu treten und die Gespräche mit Hilfe von künstlicher Intelligenz (KI) zu optimieren. Als MVNO in Spanien ist Enreach auch in der Lage, diese Lösungen vollständig in mobile Produkte zu integrieren. Eine vereinte Gruppe Für Enreach ist diese Namensänderung ein weiterer wichtiger Schritt in der Strategie, einen einheitlichen Markenauftritt in ganz Europa zu schaffen. „Wir freuen uns, dass sich unsere Wachstumsstrategie in Spanien als erfolgreich erweist. Die Umbenennung von masvoz und Telsome in Enreach stellt einen wichtigen Meilenstein in unserem Markt dar, in den wir weiterhin die innovativsten und benutzerfreundlichsten Technologien und Lösungen einbringen werden, um unseren Kunden zu helfen, ihr Wachstum anzukurbeln", sagt Alfred Nesweda, CEO von Enreach Spanien. Stijn Nijhuis, CEO von Enreach, sagt: „Heute heißen wir masvoz und Telsome gemeinsam unter dem Markendach von Enreach willkommen, ein Schritt, der ihre vollständige Integration in unsere Gruppe zeigt. Dadurch harmonisieren wir nicht nur den Auftritt unserer spanischen Unternehmen, sondern legen auch den Grundstein für weiteres Wachstum in diesem wichtigen Markt und treiben die einheitliche Präsenz von Enreach in ganz Europa voran." Neben Barcelona und Saragossa gibt es in Malaga einen dritten Standort der Gruppe, das Entwicklungszentrum Enreach Labs. Enreach wurde 2018 mit Unterstützung der unabhängigen Investmentgruppe Waterland Private Equity aus dem Zusammenschluss von Swyx mit Voiceworks (beide Unternehmen heißen mittlerweile Enreach) aus den Niederlanden und dem französischen Unternehmen Centile Telecom Applications (umbenannt in Enreach for Service Providers) gegründet. Seitdem hat die Gruppe erfolgreich eine dynamische Buy-and-Build-Strategie mit einer Mischung aus organischem Wachstum in ganz Europa und der Einführung von weiteren Lösungen in ihr Produktportfolio vorangetrieben. Die Wachstumsstrategie von Enreach wird weiterhin von Waterland Private Equity unterstützt, das kürzlich auch ein Büro in Barcelona, Spanien, eröffnet hat. Pressemitteilung auf enreach.de
  8. Gerne! Im Call Routing gibt es eigentlich nichts, was man nicht so hingebogen bekommt, wie man es gerne hätte bzw. braucht
  9. I just figured that you have a typo in your property name. It is "EMailAddress", not "EMailAdress". I have also streamlined your code a little bit. As there is already a global PBXConfig object available, there is no need to instantiate your own one: Function EMAIL(sNumber) PBXScript.OutputTrace "--------->EMAIL(" & sNumber & ")" dim oUsers set oUsers = g_PBXConfig.GetUserByAddress(sNumber) dim oUser, sReturn For Each oUser in oUsers sReturn = oUser.EMailAddress Next EMAIL = sReturn PBXScript.OutputTrace "sReturn = " & sReturn PBXScript.OutputTrace "<-------------EMAIL" End Function
  10. To my knowledge there haven't been any changes on that interface. I have more or less just moved the entire Server Script API documentation into a new format and for that checked with the developers for any changes. I will check again and will come back to you. Btw: this is the current documentation of the GetUserByAddress function:
  11. Hab Deinen LadeFritz gerade mal ausprobiert. Super Idee!!!
  12. Wenn Du die Zahlenansagen nicht austauschen kannst/willst, kannst Du Dir auch aus der Templates_v4.3.vbs Datei die Funktion gseSayNumberEx heraus kopieren, sie nach MySayNumber umbenennen, die Namen der .wav Dateien anpassen und sie dann in den Start Block kopieren. Mit einen Variable auswerten Block rufst Du sie dann einfach auf.
  13. Eine aktuelle Umfrage von Enreach zeigt: Nur rund die Hälfte der Deutschen ist der Meinung, dass ihr Arbeitgeber ihnen geeignete Lösungen für Kommunikation und Zusammenarbeit zur Verfügung stellt. Mehr als ein Drittel der Befragten gab an, dass ihnen eine passende Kommunikationslösung fehlt. Auf dem Weg in die hybride Arbeitswelt fehlen in vielen Unternehmen adäquate Lösungen für Kommunikation und Zusammenarbeit. Das ist das Ergebnis einer Befragung, die Enreach, einer der führenden europäischen Anbieter von Unified-Communications- und Cloud-Contact-Center-Lösungen, im April in Zusammenarbeit mit dem Markt- und Meinungsforschungsinstitut YouGov durchgeführt hat. Bei der bevölkerungsrepräsentativen Umfrage rund um die Arbeit in Homeoffice und Büro gaben 36 Prozent der Teilnehmer an, dass ihnen keine geeignete Kommunikationslösung zur Verfügung steht. Nach mehr als zwei Pandemie-Jahren, in den Themen Remote Work und Digitalisierung einen erheblichen Schub erfahren haben, sind mit 49 Prozent nur knapp die Hälfte der deutschen Beschäftigten der Meinung, dass sie in punkto Kommunikation und Zusammenarbeit gut ausgestattet sind. Mehr als ein Viertel der Befragten zeigte sich mit dem Funktionsumfang der aktuell im Unternehmen genutzten ITK-Lösungen unzufrieden: So gaben 27 Prozent an, dass sie im Homeoffice nicht alle Funktionen nutzen können, die sie für ihre Arbeit benötigen. Bei der Arbeit im Büro bemängeln 25 Prozent der Umfrage-Teilnehmer fehlende Funktionen. Besonders negativ fällt das Fazit beim Wechsel zwischen Büroarbeitsplatz und Homeoffice aus: Mehr als ein Drittel (34 Prozent) der Befragten antwortete, dass die bei ihrem Arbeitgeber genutzte Kommunikationslösung nicht gleichermaßen problemlos an beiden Arbeitsorten funktioniert. „Es ist an der Zeit, dass wir die Diskussionen rund um Homeoffice oder Büro hinter uns lassen. Die Arbeit von zuhause aus hat sich in der hybriden Arbeitswelt längst als fester Bestandteil etabliert: Auch nach dem Ende der Homeoffice-Pflicht im März sind die Beschäftigten nicht in die Büros zurückgeströmt. Umso dringender ist der Nachholbedarf für die Unternehmen, die sich ITK-seitig noch nicht für die Anforderungen der neuen Normalität gerüstet haben“, sagt Dr. Ralf Ebbinghaus, Geschäftsführer der Enreach GmbH. „Eine zeitgemäße Lösung für den Austausch mit Gesprächspartnern an anderen Standorten ist dabei eine grundlegende Voraussetzung für produktives Arbeiten, gleichgültig, ob jemand im Büro, zuhause oder unterwegs ist und welches Endgerät er nutzt.“ Mehr als Unified Communications Kommunikation und Zusammenarbeit in Unternehmen haben sich grundlegend verändert. Dabei wird wertschöpfender menschlicher Kontakt in der Arbeitswelt immer wichtiger. „Auch nach der Corona-Krise wird die Zusammenarbeit von Teams an unterschiedlichen Standorten immer häufiger und die Menschen, die miteinander in Kontakt treten, halten sich immer seltener am selben Ort auf. Unser Anspruch ist es daher, Lösungen anzubieten, die Distanzen überwinden und sinnvolle, menschliche Kontakte ermöglichen. Mit unseren Converged Contact Solutions zielen wir darauf ab, alle individuellen Kontaktmöglichkeiten, ob Festnetz- oder Mobiltelefonie, Video, Chat oder E-Mail, nahtlos in eine benutzerfreundliche, flexible Umgebung zu integrieren – immer mit dem Ziel, Menschen näher zusammenzubringen“, erläutert Enreach Geschäftsführer Ebbinghaus. Enreach hat das eigene Portfolio konsequent erweitert und bietet heute neben Unified-Communications- und Collaboration-Lösungen auch Cloud-Contact-Center-Dienste sowie KI-basierte Chat- und Voice-Bots an, alles einschließlich passender Connectivity-Services. Dabei lassen sich die Enreach Lösungen in bestehende Systeme wie CRM- oder ERP-Datenbanken integrieren und mit anderen Tools wie beispielsweise Microsoft Teams verbinden. Über die Umfrage: Die genannten Daten basieren auf einer Online-Umfrage der YouGov Deutschland GmbH, an der im April 2022 2.069 Personen teilnahmen, davon 548 Befragte, die (teilweise) im Homeoffice arbeiten. Die Ergebnisse wurden gewichtet und sind repräsentativ für die deutsche Bevölkerung ab 18 Jahren. Pressemitteilung auf enreach.de
  14. Hi Joern, Deine BEIDEN Probleme lassen sich einfach lösen 1) Mit dem Halten Block kannst Du den Ruf ins halten setzen und dem Anrufer einer Ansage abspielen. Du kommst allerdings umgehend wieder aus dem Halten Block raus und kannst das machen, was zeitaufwendig ist, d.h. Deine Webrequests. Wenn Du damit fertig bist und die Ansage für den Anrufer beenden willst, gehe einfach in den Aktivieren Block. 2) Die Zahlen Ansagen: Du scheinst ja ohnehin schon eigene Ansagen für die Zahlen 0-9 zu haben. Benenne die Dateien zero.wav, one.wav, two.wav, usw. und lade sie in den USER Scope Deine Script Benutzers. Jetzt kannst Du auch wieder den Zahlenfolge ansagen Block benutzen. Der verwendet die Dateien zero.wav, one.wav, .etc und findest diese nun im USER Scope und nicht erst die von der SwyxWare mitgelieferten Dateien im SYSTEM Default Scope. Tom.
  15. Lua → VBScript This function calls (launches) a given command, i.e. launches any given application. Please see the Introduction chapter for some usage instructions. Please note: the Lua Beta Testing versions of SwyxWare (13.1x) do not limit any file/command access. In the final release version file/command access will only be permitted in the SwyxWare CPE (customer premise equipment) version. Within the cloud versions (SDC and SwyxON) file/command access will not be permitted. ------------------------------------------------------------------ -- LaunchCmd -- -- Calls/launches the given command -- -- Parameter: -- sCommand command to be called -- -- Return: -- boolean true, false or nil -- string output of command ------------------------------------------------------------------ function LaunchCmd ( sCommand ) PBXScript.OutputTrace ("------> LaunchCmd ( " .. sCommand .. " )") local bReturn = false local sReturn = "" local file = io.popen(sCommand) if file ~= nil then sReturn = file:read('*all') local tReturn = {file:close()} bReturn = tReturn[1] end PBXScript.OutputTrace ("bReturn = " .. tostring(bReturn)) PBXScript.OutputTrace ("sReturn = " .. sReturn) PBXScript.OutputTrace ("<------ LaunchCmd") return bReturn, sReturn end Please note that this command will be launched on the SwyxServer machine. No windows will be opened, and no user input can be made. So only start command line applications which do not require any user input. As the call routing is executed by the Swyx Server service, the command will also be executed by the Swyx Server service. That means, it is executed by the Windows user, the Swyx Server service is running under (usually this is the local SwyxServiceAccount user). If your command contains back slashes, you need to exscape them. So instead of "DIR C:\Announcements\*.WAV" you need to pass "DIR C:\\Announcements\\*.WAV". This function makes use of the Server Script API function PBXScript.OutputTrace() to write trace information into the SwyxServer trace file.
  16. Gerne 🙂 Aktuelle Downloads findest Du immer auf der Download Seite: enreach.de -> Service -> Downloads
  17. Hallo Sebastian, das kann ich nicht nachvollziehen. Die SwyxWare Downloads von hier starten alle ohne dass eine Anmeldung notwendig ist: https://www.enreach.de/produkte/support/support-downloads.html Etwas anderes sind die DECT Firmware Versionen. Die sind nur über das Partner Net verfügbar, aber das war schon immer so.
  18. Lua → VBScript Some time ago I wrote about checking for being in (or out) of a time period more flexible. To recap, the GSE Time block only offers to enter hard coded dates and times, but it doesn't offer the usage of variables. In that previous article I showed how easy it VBScripts makes to take the date/time calculation in the own hands by using CDate() to convert a string into a date and afterwards use DateDiff() for the calculation. The beauty of the CDate() function is, that it handles all the different date formats like dd.mm.yyyy, mm/dd/yyyy, dd/mm/yyyy, a.s.o. for us. You just pass a written date like "24.12.2022" into the function, which then checks the regional settings of your Windows machine to figure the correct date/time format to identifiy the day, month and year correctly. Of course Lua also has some nice date and time functionality, but it completely leaves the format trouble on the users side. To get a date value where we can calculate with there is an os.time() function which takes the date not as string but as a table, and we have to fill this table with all values like day, month, year, a.s.o. This might sound more complicated as it is: local vChristmas = os.time{day=24, month=12, year=2022} but it becomes obvious that we can't use date strings like "24.12.2022" anymore. Unless we handle the conversion from string to table (incl. taking care of the date format) ourselves: local sChristmas = "24.12.2022" local nDay = tonumber(StringLeft(sChristmas, 2)) local nMonth = tonumber(StringMid(sChristmas, 4, 2)) local nYear = tonumber(StringRight(sChristmas, 4)) local vChristmas = os.time{day=nDay, month=nMonth, year=nYear} That's a lot of code just to be able to use a date string like "24.12.2022" don't you agree? In the end I want to have a call routing which will be handled exactly like the one in the orignal article, where I can set a start and end date of my vacation as a GSE rule parameter, as string. But I don't want to do all this conversion stuff by myself. Fortunately there is a solution, and a really easy one in fact. Behind every GSE block there is some either VBScript or Lua code which handles the action or the selected condition. Behind the Within a specified time period condition of the Time block there is a function called function WithinTheTimeOfEx(szBeginDate, szBeginTime, szEndDate, szEndTime, bIgnoreDate, bIgnoreTime) It takes all the parameters from the time period configuation window (as string), does all needed conversion and afterwards also the needed calucation using os.datediff(). Only thing we have to be aware of when using this function is that it uses a hard coded date format "dd.mm.yyyy" and time format "HH:MM:SS". By the way, you might have noticed from the GSE build-in functions CurDate(), CurDateTime(), CurTime() and the Server Script API function PBXUser.Now() that they also use hard coded date/time formats. You now have an idea why that is. So, coming back to the call routing: With the rule parameters You can download this script from here: Vacation_Lua.rse Enjoy! PS: Don't miss to take a look into the ECR - Useful Link Collection
  19. Lua SwxWare v13.10 This helper function splits parts of a given string, separated by a given separator, into a table. local tParts = StringSplitToTable(sInput, sSeperator) This function returns a table of string values. Example: local tParts = StringSplitToTable("111;222;333;444", ";") for i = 1, #tParts do PBXScript.OutputTrace("tParts[" .. tostring(i) .. "] = " .. tParts[i]) end --> tParts[1] = 111 --> tParts[2] = 222 --> tParts[3] = 333 --> tParts[4] = 444 Please note: if you are still using a "Lua Beta Testing" version of SwyxWare (i.e. v13.1x), you need to copy&paste the following function into the Start block of your GSE script as it wasn't a build-in helper function yet. -- split parts of string, separated by a given separator, into a table function StringSplitToTable ( sInput, sSeperator ) local t={} if (sSeperator == nil) then sSeperator = "%s" end if (type(sInput) == "string") then if (type(sSeperator) == "string") then for sStr in string.gmatch(sInput, "([^".. sSeperator .."]+)") do table.insert(t, sStr) end end end return t end
  20. Lua SwxWare v13.10 This helper function checks, if the given string is an email address. local bEmail = IsEmailString(str) This function returns a boolean value. The check for a valid email email address is quite simple, it will just be checked if there is an "@" character within the given string. Example: local bEMail = IsEmailString("test@test.com") PBXScript.OutputTrace ("bEMail = " ..tostring(bEMail)) --> bEMail = true
  21. Lua SwxWare v13.10 The helper function removes all space characters from the left and right from a given string. local sTrim = StringTrim(str) This function returns a string value. Example: local sTrim = StringTrim(" Erika Mustermann ") PBXScript.OutputTrace("#" .. sTrim .. "#") --> #Erika Mustermann#
  22. Lua SwxWare v13.10 The helper function removes all space characters from the right from a given string. local sRight = StringRTrim(str) This function returns a string value. Example: local sRight = StringRTrim(" Erika Mustermann ") PBXScript.OutputTrace("#" .. sRight .. "#") --> # Erika Mustermann#
  23. Lua SwxWare v13.10 The helper function removes all space characters from the left from a given string. local sLeft = StringLTrim(str) This function returns a string value. Example: local sLeft = StringLTrim(" Erika Mustermann ") PBXScript.OutputTrace("#" .. sLeft .. "#") --> #Erika Mustermann #
  24. Lua SwxWare v13.10 This helper function replaces a given substring within a given string by a replacement substring. local sReplace = StringReplace(str, substr, repl) This function returns a string value. Example: local sReplace = StringReplace("Erika Mustermann", "Muster", "Bau") PBXScript.OutputTrace("sReplace = " .. sReplace) --> sReplace = Erika Baumann
×
×
  • 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.