Jump to content

ECR: Gruppe überspringen wenn alle Mitglieder abgemeldet sind


Ruhrpottfon

Recommended Posts

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!

 

CR.PNG

Link to comment
Share on other sites


  • 2 weeks later...
  • 1 month later...
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


Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.