Ruhrpottfon Posted November 22, 2018 #1 Share Posted November 22, 2018 Hi community, ich versuche mich an meinem ECR. Ziel ist: Es soll überprüft werden, ob Mitglieder einer Gruppe angemeldet sind. Wenn mind. einer angemeldet ist soll die Gruppe angewählt werden, wenn nicht weiter zur nächsten. Der Kunde hat eine Azubi-Gruppe, die 6 Sek. klingelt, danach eine Gruppe mit dem Ganzen Büro, die für 18 Sek. klingelt. Nachgelagert ist dann der Vertrieb, wenn immer noch keiner angenommen hat. Der Kunde möchte, dass wenn keiner im Büro ist das Gespräch direkt ohne Wartezeit in den Vertrieb geht. Anbei das Script und die Vernetzung: Function AzubiStatus() Dim nReturn nReturn = 1 Dim Users = New Integer() {23, 24} Dim User For index = 0 To Users.GetUpperBound(0) dim Current Set Current = g_PBXConfig.GetUserByAddress(Users(index)) PBXScript.OutputTrace("Found user " & Current.Name & " with current state " & Current.State) If Current.State <> 1 Then nReturn = 0 End If Next AzubiStatus = nReturn PBXScript.OutputTrace("nReturn = " & nReturn) PBXScript.OutputTrace("<------------- UserStatus") End Function Function BueroStatus() Dim nReturn nReturn = 1 Dim Users = New Integer() {21, 22, 23, 24} Dim User For index = 0 To Users.GetUpperBound(0) dim Current Set Current = g_PBXConfig.GetUserByAddress(Users(index)) PBXScript.OutputTrace("Found user " & Current.Name & " with current state " & Current.State) If Current.State <> 1 Then nReturn = 0 End If Next BueroStatus = nReturn PBXScript.OutputTrace("nReturn = " & nReturn) PBXScript.OutputTrace("<------------- UserStatus") End Function Function AzubiStatus checks if any of these numbers 23, 24 are inhouse, (logged in) if not go to the next group. Function BueroStatus checks if any of these numbers 21, 22, 23, 24 are inhouse, (loggin in) if not go to the next group. Gibt es eine elegantere Möglichkeit zu prüfen, ob eine Gruppe besetzt ist? Danke vorab für Input! Link to comment Share on other sites More sharing options...
Tom Wellige Posted December 6, 2018 #2 Share Posted December 6, 2018 Du kannst auch PBXScript.IsUserOrGroupBusyEx verwenden. Der gibst Du als Parameter die Gruppennummer oder -namen, und bekommst einen der folgenden Werte zurück: 0 - frei 1 - besetzt 2 - nicht angemeldet Link to comment Share on other sites More sharing options...
Ruhrpottfon Posted January 24, 2019 Author #3 Share Posted January 24, 2019 On 12/6/2018 at 9:51 AM, Tom Wellige said: Du kannst auch PBXScript.IsUserOrGroupBusyEx verwenden. Der gibst Du als Parameter die Gruppennummer oder -namen, und bekommst einen der folgenden Werte zurück: 0 - frei 1 - besetzt 2 - nicht angemeldet Nach langer Pause kann ich mich wieder dem Thema widmen. Danke für den Tipp mit der vorgefertigten Funktion. Ich habe bei uns einen Testuser mit der Durchwahl 32 angelegt. Ist dieser nicht angemeldet wird auch meine nachgelagerte Weiterleitung angesprochen (Status 2). Leider wird bei besetzter Leitung (Status 1) nichts ausgeführt. ist habe für die Ergebnisse 1 & 2 das gleiche Scriptziel "Weiterleitung an einen Kollegen" gesetzt. Im Scriptblock benutzte ich UseExit = PBXScript.IsUserOrGroupBusyEx(32). Gibt es eine Dokumentation zu den Funktionen oder den Ausstiegswerten 0-X? Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 24, 2019 #4 Share Posted January 24, 2019 Kann es sein, dass der Benutzer "32" Zweitanrufe zulässt? Link to comment Share on other sites More sharing options...
Ruhrpottfon Posted January 24, 2019 Author #5 Share Posted January 24, 2019 Das war es. Sehr schön, ein Problem weniger. Danke dafür! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.