Jump to content

Visual Groups - Sind User angemeldet?


spufi
 Share


Recommended Posts

Hallo Swyxler,

in einem CallRouting muss ich herausfinden, ab an einer Visual Groups Warteschlange gerade User angemeldet sind. Ich habe mir das CallRouting der VisualGroup angeguckt und folgenden Code als relevant angesehen und herausextrahiert:

Const fsoForReading = 1
Const fsoForWriting = 2
Const fsoForAppending = 8
Const fsoCreateIfNotExist = True

Function TraceIntoFile ( traceText )
	Const filename = "D:\EigeneTraces\EigeneTraces.txt"

	Dim fso
	Dim file

	' Create FileSystemObejct
	Set fso = CreateObject("Scripting.FileSystemObject")

	' Open text file 
	Set file = fso.OpenTextFile(filename, fsoForAppending, fsoCreateIfNotExist)

	' Write (append) traceText into file	
	file.WriteLine ( """" & traceText & """,""" & CStr(now) & """" )
	file.Close 

	Set file = Nothing
	Set fso = Nothing
End Function

Dim msgnr			'Messagenumber in repeated query
Dim queuestring			'VisualGroups server connection string
Dim globcallid			'PBXCall.CallId

Function checkvisgroup
   Dim PBXConfig
   Set PBXConfig = PBXScript.CreateObject("IpPBxSrv.PBXConfig")
   PBXConfig.Initialize PBXUser

   On Error Resume Next

   'Get global queue connection string		 
   queuestring = PBXScript.GetGlobalConfigItem ("VisualGroups","Global","Url")
   If queuestring = "" Then
      getparameters = 1 	
      Exit Function
   Else
      queuestring = CStr(queuestring) + "&rid=9398517249"
   End If

   Dim stringurl
   Dim CnxSVG
   Dim reason
   Dim len1
   Dim len2
   Dim LDAP_WAIT_TIMEOUT 

   On Error Resume Next

   msgnr = msgnr + 1
   'globcallid = CLng(PBXCall.CallId)
   stringurl = CStr(queuestring) & "&msgnr=" + CStr(msgnr) + "&function=4&deactivatemode=0"
  'stringurl = stringurl + "&callid=" + CStr(globcallid)
   stringurl = stringurl + "&queuenameid=1"
TraceIntoFile (stringurl)
    Set CnxSVG = CreateObject("MSXML2.ServerXMLHTTP")
    CnxSVG.Open "POST", stringurl, False
    CnxSVG.Send

   If Err <> 0 then
      TraceIntoFile (Err.Description)
      Err.Clear
      checkvisgroup = 9
      Exit Function
   End if

   If CnxSVG.waitForResponse(LDAP_WAIT_TIMEOUT) Then
      If CnxSVG.Status = 200 Then
         LDAPRequested = True
TraceIntoFile (CnxSVG.responseText)      		  
         len1 = instr(CnxSVG.responseText, "<reason>") 
         len2 = instr(CnxSVG.responseText, "</reason>")

         If len1 > 0 And len2 > 0 And len2 > len1 + 8 Then
            reason = mid(CnxSVG.responseText, len1 + 8, len2 - len1 - 8)			
         End If

         If reason = "NoAgent" Then
           checkvisgroup = 1
           Exit Function
         End IF
      End If
   End If

   If Err <> 0 then
      TraceIntoFile (Err.Description)
   End if
   
   Set CnxSVG = Nothing
   checkvisgroup = 2
End Function

In der Mitte des Codes ist "stringurl = ..." auskommentiert und durch meinen "Versuch" ersetzt. Der Code läuft original ja unter der Nummer der VisualGroup. "Meine globcallid" hat aber nichts mit der VisualGroup zu tun. Deswegen habe ich queuenameid probiert. Leider gibt die Antwort dann nicht ...<response>0</response>... sondern ...<waiting>0</waiting>... zurück. Ich finde keine Dokumentation zu den VisualGroup-aspx-Seiten und welche Variablen ich übergeben kann. Denke ich jetzt überhaupt in die richtige Richtung?

 

FYI:

Mein erster Versuch war ein DB Zugriff auf die Felder state der Tabelle svg_ta_queuewaitingusers und priority der Tabelle svg_ta_queuemembers. Das funktioniert so lange sich die User immer brav aktiv von der Warteschlange abmelden. Sobald sie ihren Client einfach nur schließen, wird state nicht upgedatet....

Mein zweiter Ansatz war das Auslesen einer Wallpaper. Dort stehen die angemeldeten User auch drin. Das habe ich aber abgebrochen, da der responseText so unendlich lang ist.

 

Ich hoffe ich konnte mein Problem verständlich machen.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


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