Jump to content
Tom Wellige

Function: IsAgentFree

Recommended Posts

This post is taken from the Swyx Forum Archive (2007-2014) and was originally posted 30.06.2009 by me

 

The following function returns True if the given user/agent is free, i.e. is logged in and not busy and no "away" or "do not disturb" status is set.

It makes use of the PBXConfig object which is fully described in the following Swyx knowledgebase article:

Please note that it is not necessary to instantiate the PBXConfig object yourself, as it is already available in the global variable g_PBXConfig.

To use the function within your call routing script just copy&paste it into the "Start" block and call it afterwards within an "Evaluate" block.

 

'----------------------------------------------------------------  
' IsAgentFree 
'  
' Checks if given user is free or not. 
'  
' Parameter:
'	sNumber		extension  
'  
' Return:
'	boolean 
'----------------------------------------------------------------  
Function  IsAgentFree( sNumber ) 
	PBXScript.OutputTrace "-------------> IsAgentFree ( sNumber = " & sNumber & " )"

	Dim bReturn 
	bReturn = False 

	Dim Users 
	Set Users = g_PBXConfig.GetUserByAddress(sNumber) 

	Dim User 
	For Each User In Users 

		PBXScript.OutputTrace "Found user " & User.Name & " with current state " & User.State

		' does the server recognize this user a free ? 
		bReturn = (User.State = 2)

	Next 

	IsAgentFree = bReturn 

	PBXScript.OutputTrace "bReturn = " & bReturn
	PBXScript.OutputTrace "<------------- IsAgentFree"
End Function 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

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