VBScript → Lua
This function returns true if at least one member of the given group is busy.
Please see the Introduction chapter for some usage instructions.
'----------------------------------------------------------------
' IsAtLeastOneMemberOfGroupBusy
'
' Returns true if at least one member of the given group is busy.
'
' Parameter:
' sGroup group number or name
'
' Return:
' boolean true - at least one member of group busy
' false . no member of the group is busy
'----------------------------------------------------------------
Function IsAtLeastOneMemberOfGroupBusy ( sGroup )
PBXScript.OutputTrace "---------> IsAtLeastOneMemberOfGroupBusy ( " & sGroup & " )"
Dim bReturn
bReturn = False
Dim Users
Set Users = g_PBXConfig.GetUserByAddress(sGroup)
Dim User
For Each User In Users
PBXScript.OutputTrace "Found user '" & User.Name & "' in state '" & User.State & "'"
' state 3 = speaking external
' state 5 = speaking internal
If (User.State = 3) Or (User.State = 5) Then bReturn = True
Next
IsAtLeastOneMemberOfGroupBusy = bReturn
PBXScript.OutputTrace "bReturn = " & bReturn
PBXScript.OutputTrace "<--------- IsAtLeastOneMemberOfGroupBusy"
End Function
Please note that the status signalling between all involved users (incl. the one the current call routing runs for) must be configured (just as in SwyxIt!).
This function makes use of the Server Script API functions PBXConfig.GetUserByAddress to resolve all users in the given group and PBXScript.OutputTrace to write trace information into the SwyxServer trace file.
This function was initially posted into this forum topic.
By Tom Wellige
