Zeking Posted June 4, 2018 #1 Share Posted June 4, 2018 Hi zusammen, auch ich habe in Archiv diese Funktion entdeckt mit User Status. Leider komme ich gar nicht mal weiter damit. Ich habe zum testen einen User ausgewählt mit der Durchwahl 12 bzw. Ziel wäre dass der Status abgefragt wird und bei allen zuständen bis auf angemeldet Weiterleitung stattfindet zu der Nebenstelle 653. Egal was ich versuche, es gelingt mir nicht. Folgende Vorgehensweise habe ich eingerichtet: -User in der NetPhone-Administration geöffnet(Durchwahl 12) -Call Routing Manager gestartet -Mittels Grafischen Skript Editor neue Regel erstellt. Gleich oben in den Block(siehe Anhang)unter Start den Skript von Herr Welling eingefügt(Skript siehe unten) Danach Skript Block erstellt Namens "Skript 12" -Unter Parameter folgendes eingefügt UseExit = UserStatus (12) Hier kommt schon die Erste Frage an der Stelle ob ich hier richtig bin...Ich habe weitern Block eingeführt Namens "Skript 653" damit ich ebenfalls Status von Durchwahl 635 erfassen kann(muss ich das tun Überhaupt?)Ebenfalls unter Parameter folgendes eingefügt UseExit = UserStatus (635) Nächstes Block wäre bei mir "635" sozusagen mein Ziel, wenn Nebenstelle 12 ein anderen Zustand als Angemeldet hat soll der Anruf zu der Nebenstelle 635 durchgestellt werden. Eigentlich relativ einfache Sache aber für mich nicht Lösbar. Ich habe so viel versucht ohne Erfolg sobald ich Regel aktiviere bekommt die Nebenstelle 12 gar keine Anrufe mehr. Anbei oben erwähnte Skript den ich unter "Start" einkopiert habe von Herr Wellige Skript Anfang: 1.'---------------------------------------------------------------- 2.' UserStatus 3.' 4.' Returns the current status of the given user. 5.' 6.' Parameter 7.' sNumber user name or extension 8.' 9.' Return 10.' integer 0 - State Unavailable (no status signalling configured!) 11.' 1 - Logged Off 12.' 2 - Logged On (no speaking) 13.' 3 - Speaking External 14.' 4 - Alerting 15.' 5 - Speaking Internal 16.' 6 - Away (from SwyxWare 2011 on) 17.' 7 - Do not Disturb (from SwyxWare 2011 on) 18.'---------------------------------------------------------------- 19.Function UserStatus(ByVal sNumber) 20. 21. PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & sNumber & " )") 22. 23. Dim nReturn 24. nReturn = 0 25. 26. Dim Users 27. Set Users = g_PBXConfig.GetUserByAddress(sNumber) 28. 29. Dim User 30. For Each User In Users 31. 32. PBXScript.OutputTrace("Found user " & User.Name & " with current state " & User.State) 33. nReturn = User.State 34. 35. Next 36. 37. UserStatus = nReturn 38. 39. PBXScript.OutputTrace("nReturn = " & nReturn) 40. PBXScript.OutputTrace("<------------- UserStatus") 41. 42.End Function Skript Ende! Ich hoffe irgendjemand kann mir sagen wo ich Fehler gemacht habe..... Danke in Voraus für Hilfestellung. Link to comment Share on other sites More sharing options...
Tom Wellige Posted June 5, 2018 #2 Share Posted June 5, 2018 Wie sieht denn der Start Block aus? Sind die Zeilennummern dort auch drin gelandet? Wenn nein, was genau funktioniert denn nicht? Link to comment Share on other sites More sharing options...
Zeking Posted June 5, 2018 Author #3 Share Posted June 5, 2018 Start Block sieht genauso so aus wie oben abgebildet mit Zeilennummer von 1 bis 42(hier noch mal) 1.'---------------------------------------------------------------- 2.' UserStatus 3.' 4.' Returns the current status of the given user. 5.' 6.' Parameter 7.' sNumber user name or extension 8.' 9.' Return 10.' integer 0 - State Unavailable (no status signalling configured!) 11.' 1 - Logged Off 12.' 2 - Logged On (no speaking) 13.' 3 - Speaking External 14.' 4 - Alerting 15.' 5 - Speaking Internal 16.' 6 - Away (from SwyxWare 2011 on) 17.' 7 - Do not Disturb (from SwyxWare 2011 on) 18.'---------------------------------------------------------------- 19.Function UserStatus(ByVal sNumber) 20. 21. PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & sNumber & " )") 22. 23. Dim nReturn 24. nReturn = 0 25. 26. Dim Users 27. Set Users = g_PBXConfig.GetUserByAddress(sNumber) 28. 29. Dim User 30. For Each User In Users 31. 32. PBXScript.OutputTrace("Found user " & User.Name & " with current state " & User.State) 33. nReturn = User.State 34. 35. Next 36. 37. UserStatus = nReturn 38. 39. PBXScript.OutputTrace("nReturn = " & nReturn) 40. PBXScript.OutputTrace("<------------- UserStatus") 41. 42.End Function Sobald ich diese Regel aktiviere dann bin ich mit der Durchwahl 12 gar nicht mehr zu erreichen unabhängig ob NetPhone Cleint angemeldet wäre oder nicht. VIELEN DANK für Ihre Mühe. Link to comment Share on other sites More sharing options...
Zeking Posted June 5, 2018 Author #4 Share Posted June 5, 2018 Zum besseren Übersicht hänge ich mal mein Export dran(Datei CallRouting.rse). Ich habe das ganze einfach mal mit einem einzigen Skript versucht leider ohne Erfolg. Eindeutig Fehler in Skript aber an welche Stelle? CallRouting.rse Link to comment Share on other sites More sharing options...
Tom Wellige Posted June 5, 2018 #5 Share Posted June 5, 2018 Die Zeilennummern dürfen dort nicht stehen. Einfach nochmal alles neu aus diesem Topic kopieren, dort sind keine Zeilennummern enthalten: Link to comment Share on other sites More sharing options...
Tom Wellige Posted June 5, 2018 #6 Share Posted June 5, 2018 Ich habe hier insgesamt mal einen eigenen Topic draus gemacht, weil das Problem mit dem Inhalt der vorherigen Topic nicht wirklich etwas zu tun hatte. Link to comment Share on other sites More sharing options...
Zeking Posted June 5, 2018 Author #7 Share Posted June 5, 2018 Hallo Tom, vorab vielen Dank für Deine Hilfestellung(solche User braucht diese Welt). Ich habe es direkt getestet egal welchen Zustand meine Nebenstelle 12 gerade hat es klingelt aktuell trotzdem am Endgerät. Mein Export habe ich drangehängt. Bin jetzt wirklich am ende..... Danke vielmals! Expot angepasst.rse Link to comment Share on other sites More sharing options...
Tom Wellige Posted June 6, 2018 #8 Share Posted June 6, 2018 Der gesamte Ansatz sieht irgendwie merkwürdig aus: - wenn die 12 angemeldet und frei ist wird der Ruf beendet! (der Ausgang "Regel ausgeführt" führt zu diesem Ergebnis) - in allen anderen Fällen klingelt die 635 Das macht die Analyse etwas schwierig. Wenn Du sagst, dass in jedem Fall die 635 erreicht wird, heisst dass, dass Du den Ausgang 2 nicht erreichst, wenn die 12 angelmedet und frei ist. Vermutlich kommst du in dem Fall (und ALLEN anderen Fällen) nicht aus den Ausgängen 1-7 heraus, sondern aus Ausgang 0. Dies bedeutet, dass der Status des Benutzer 12 von dem aktuellen Skript Benutzer nicht abgefragt werden kann, d.h. es ist keine Status Signalisierungs Beziehung zwischen dem Sktipt Benutzer und Bentzer 12 konfiguriert. Auszug aus dem oben verlinkten Topic: Quote Make sure to have mutual status signalling configured between the call routing script user and the user you request the status from Sobald das richtig konfiguriert ist (entweder auf Benutzer oder Gruppen Ebene) sollte die Statusabfrage funktionieren. Allerdings musst Du Dir dann noch einmal gründlich Gedanken machen, ob Du wirklich auflegen willst, wenn der Benzuer 12 frei ist. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.