julian920 Posted January 18 #1 Share Posted January 18 Hallo zusammen, ich würde gerne ein Call Routing in der SwyxON bauen. Szenario: ob ein bestimmtes Datum ist, wenn "JA" wird eine Ansage abgespielt, wenn "NEIN" wird der Anruf an eine Visualgroups weitergeleitet. Soweit so gut, dass habe ich mit dem GSR auch erledigt. Jetzt möchte ich noch das man diese Ansage über ein Telefon ändern kann, sprich ich rufe den Callrouting User an und spreche eine Ansage auf. Diese Ansage soll ab dann für das oben genannte Szenario benutzt werden. Ich habe es mal versucht mit einem "Nachricht aufnehmen block" und dies in ein Variable zu schreiben. Diese Variable wird dann in dem "Ansage abspielen block" hinterlegt und wird nur in den gleichen Call abgespielt, wo die Ansage auch in die Variable geschrieben wird. Gibt es eine Möglichkeit eine Ansage dauerhaft aufzunehmen? Liebe Grüße Julian Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 18 #2 Share Posted January 18 Hallo Julian, wenn Du mit den "Nachrichten aufnehmen" Block eine neue Ansage aufnimmst, ist das aus Server Sicht erst einmal eine temporäre WAV Datei, die er nach Beendigung des Rufes wieder löscht. Du musst sie also nach der Aufnahme selbst dauerhaft an geeigneter Stelle speichern, damit sie anschliessend in Call Routing Skripten des gleichen Benutzers zur Verfügung steht. Mit der PBXUser.UploadFile Funktion von der Server Script API kannst Du die aufgenommene Datei in die SwyxWare Datenbank in den Sichtbarkeitsbereich (Scope) des aktuellen Skript Benutzers laden. Den Namen der aufgenommenden Datei vergibt der Server (damit er immer eindeutig ist). In anderen Call Routing Skripten des Benutzers musst Du diesen Namen dann natürlich kann, damit die die Ansage per "Ansage spielen" Block abspielen kann. Dazu gibt es grundsätzlich zwei Lösungsansätze: Du merkst Dir den Namen der aufgenommenen Datei (ohne den Pfad) in einer persistenten Variblen (diese merkt sich ihren Inhalt über das Ende eines Rufes hinweg) und alle Call Routing Skripte die die Ansage brauchen, schauen dann einfach in dieser Varible hinen. Bevor Du die Datei mittels UploadFile hochlädst, kopierst Du sie und gibst ihr dabei einen eigenen Namen (z.B. "AnsageBenutzerXYZ.wav") und benutzt diesen dann in allen anderen Call Routing Skripten. Da der Server die von Dir kopierte Datei nicht kennt, musst Du sie nachdem Du sie hochgeladen hast selbst von der Platte löschen. Link to comment Share on other sites More sharing options...
Tom Wellige Posted March 6 #3 Share Posted March 6 Hallo Julian, ich muss gestehen, dass meine erste Antwort etwas zu kompliziert gedacht war. Ich habe gerade nochmal ein kleines Call Routing Skript gemacht, welches demonstriert wie man ganz einfach eine existierende Ansage durch eine neue ersetzen kann. Es wird davon ausgegangen, dass der Benutzer die Ansage die er ersetzen möchte als Ansage.wav bei sich hinterlegt hat. Das Skript macht folgendes: Die aktuelle Ansage wird abgespielt (um zu zeigen, dass sich am Ende tatsächlich die neue Ansage im System befindet) Der Anrufer kann eine neue Ansage aufsprechen. Der Name der hierbei entstandenen .wav Datei wird in einer Variable sNeueAnsage gespeichert Diese .wav Datei wird nun mittels PBXUser.UploadFile in die Datenbank, genauer gesagt in den "User Scope" (Benutzer Sichtbarkeitsbereich) des aktuellen Skript Benutzers, hochgeladen. Abschliessend wird die nun ersetzte Ansage (Ansage.wav) zur Kontrolle/Bestätigung nochmal abgespielt. Hier das Skript zum Download: Ansage aktualisieren.rse Lege einfach eine neue leere GSE Regel an, und importiere diese Datei über das "Datei | Importieren..." Menü. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now