Bedingung vor Weiterleitung im Call Routing Script / Prüfen auf Erreichbarkeit
Hallo,
vielleicht habe ich ja einen Denkfehler, aber ich kann im Call Routing Script nur eine Bedingung setzen, ob die Swyx online ist, von demjenigen, der angerufen wird. Geht das denn auch, wenn ich im Call Routing Script einen Anruf weiterleiten will um dann zu prüfen, ob die zu anrufende Person im Swyx online ist?
Danke schon mal
-
Hallo Fredy,
das geht, aber Du musst ein wenig VBSkript Code ins Call Routing bringen.
Über den folgenden Link findest Du eine Funktion UserStatus:
Wie Du diese Funktion ins Call Routing kopierst ist hier beschrieben:
Der erste Link erklärt auch wie Du jeden einzelnen möglichen Status eines beliebigen Benutzer (Zahl zwischen 0 und 8) grafisch im Call Routing auswerten kannst.Wenn Du ganz gezielt z.B. nur auf den "angemeldet und frei" Status prüfen willst, kannst Du das mit der Funktion IsUserFree machen, welche explizt auf den Status 2 prüft:
Diese Funktion kannst Du nachdem Du sie wie im zweiten Link beschrieben in den Start Block kopiert hast, über einen Variable auswerten Block aufrufen. Auch das findest Du im zweiten Link beschrieben.
-
Hallo Tom,
danke für die schnelle Antwort, aber wenn ich das richtig lese, fragt das Script den Benutzer ab, der angerufen wird. Mir gings ja darum, dass das Script einen anderen Benutzer abfragen soll, am besten mit dem "IsUserLoggedOff". Hintergrund ist, dass ich alle externen Anrufer an einen Filialleiter an seine Assistentin weiterleiten will, aber nur, wenn diese nicht offline ist. In diesem Fall soll es an die Mailbox gehen.
Oder reicht in diesem Fall, dass ich in der Funktion "Durchstellen" den Punkt "nicht zugestellt" nehme? Das müsste ja auch der Punkt sein, dass jemand nicht online ist?!?
-
Die beiden verlinkten Funktionen haben einen Parameter, über den Du die Nummer oder den Namen eines beliebigen Benutzers in der SwyxWare angeben kannst.
Das macht ja gerade den Unterschied zu den im Call Routing fest integrierten Abfragen, die sich nur auf den Benutzer beziehen, für den das aktuelle Call Routing läuft.
Die verlinkten Funktionen sind Bestandteil einer Funktions Sammlung. Du findest links im enü noch weitere Funktionen, mit denen Du gezielt einen bestimmten Status eines beliebigen Benutzers abfragen kannst:
Auch diese Funktionen haben als Parameter die Nummer oder den Namen des Benutzers, den Du abfragen willst.
Also eigentlich genau das, was Du brauchst.
Du kannst auch einfach versuchen per Durchstellen den Ruf auf den Benutzer zuzustellen. Wenn das nicht klappt, weil besetzt oder nicht angemeldet (Ausgang: nicht zugestellt) dann kannst Du Dir quasi im Nachhinein überlegen, was Du dann mit dem Ruf machen willst.
Mit den verlinkten Funktionen kannst Du vor dem Durchstellen prüfen, ob das Ziel zur Verfügung steht. Oder Du stellst einfach zu und schaust dann, ob es geklappt hat oder nicht. Das liegt ganz bei Dir.
-
Ah ok, das hatte ich so aus dem Text nicht herausgelesen...
Also muss ich einfach folgende Zeile
PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & sNumber & " )")abändern in z.B.
PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & 12345 & " )")und dann wertet er mir den Benutzer mit der internen Nummer aus?
-
Lies Dir bitte die Seite zur der UserStatus Funktion komplett durch. Da wird erklärt, wie Du sie aufrufst.
Du musst nicht die Funktion ändern, sondern übergibst bei ihrem Aufruf die Nummer als Parameter.
also z.B. im Skript Code einfügen Block:
UseExit = UserStatus (12345)
Oder in einem Variable auswerten Block mit der Funktion IsUserFree:IsUserFree(12345)
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
5 Kommentare