Jump to content

spufi

Member
  • Posts

    25
  • Joined

  • Last visited

 Content Type 

Profiles

SwyxPEDIA Wiki

Zendesk Integration

Persistent Variables

Longest Waiting

VBScript build in functions

GSE build in functions (VBScript)

Server Script API (VBScript)

GSE build in functions (Lua)

Server Script API (Lua)

Function Collection (VBScript)

Function Collection (Lua)

IPS Integration

Jira Service Integration

Forums

Blogs

Downloads

Posts posted by spufi

  1. Danke für die Antworten. Nachdem ich diesen Hotfix im Downloadbereich nicht gefunden habe (Blind? Gut versteckt oder nicht da?), habe ich diesen bei meinem Support/Händler angefordert... und Links zur Version 13.28 und VG 1.11 bekommen. Diese habe ich heute Nacht installiert (kurzer Herzinfarkt, da sich die Trunks auch nach Neustarts nicht angemeldet hatten:  SwyxGate Dienst manuell gestartet) und somit hat sich dieses Problem erledigt.

  2. Hallo,

    wir haben drei VisualGroups, wo unter "Wenn keine Benutzer in der Warteschlange angemeldet sind, verbinden Sie den Anrufer mit" eine Nummer eingetragen ist, die dann u.A. "sie rufen außerhalb der Geschäftszeiten an" abspielt. Zumindest taten sie das bis vor kurzem noch. Ein Kunde hat uns darauf aufmerksam gemacht, dass man nachts nur noch den Fehlerton (drei kurte Töne) hört und die Verbindung dann weg ist.

    - Ist jemand angemeldet, funktioniert alles.

    - Ist niemand angemeldet, gibt es den Fehlerton.

    - Nimmt man die Weiterleitung raus, ist man (endlos) in der Warteschlange.

    - Ruft man die Weiterleitung direkt an, funktioniert auch.

     

    Ich habe bereits:

    - neu gestartet.

    - VisualGroups auf Version 1.10.3166.0 geupdatet.

    - Benutzer entfernt und wieder hinzugefügt.

    - Warteschlange gelöscht und neu angelegt.

     

    Hat jemand eine Idee woran es liegen könnte, dass eine Weiterleitung bei "kein Benutzer angemeldet" "plötzlich" nicht mehr funktioniert?

  3. Hallo Yake,

     

    ich hatte dasselbe Problem. Teure, professionelle Telefonansagen hörten sich nur grausam an. Da scheinen zu viele Audioinformationen drin zu sein. Ich habe das mit Audacity gelöst:

     

    - Datei öffnen

    - In der Spur "Stereo zu Mono aufteilen" wählen

    - Eine Spur löschen

    - Unten links "Projek- Rate" 16000 auswählen

    - Mit Strg A die Spur auswählen 

    - Effekt -> Rausch-Verminderung -> Rauschprofil ermitteln

    - Effekt -> Rausch-Verminderung -> OK

    - Effekt -> Normalisieren -> OK

    - Datei -> Exportieren -> Als WAV exportieren (achte auf den Dateityp WAV 16bit)

  4. Hallo Forum,

     

    bei uns haben nun einige Mitarbeiter kein Tischtelefon mehr. Alles läuft über den PC und Headset. Das bedeutet allerdings auch, ist der Mitarbeiter nicht angemeldet, bekommt der Anrufer ein "Teiln. nicht erreichbar" und ein akustisches "besetzt".

     

    Klar kann man da nun im CallRouting bei "nicht angemeldet" an eine Gruppe weiterleiten. Meine Frage ist allerdings, ob man es nicht trotzdem irgendwie irgendwo für ein paar Sekunden klingeln lassen kann, um den Kollegen die eine "Beziehung mit dem Mitarbeiter haben", Zeit zu geben, den Anruf über die Anrufsignalisierung zu übernehmen.

  5. Ansonsten geht der Weg über ein Script. Inetwa so:
     

    Dim oPBXConfig
    Set oPBXConfig = PBXScript.CreateObject("IpPBxSrv.PBXConfig")
    oPBXConfig.Initialize PBXUser
    
    Dim oUsers
    Set oUsers = oPBXConfig.GetUserByAddress("25")
    Dim oUser
    For Each oUser in oUsers
       If oUser.State > 1 And oUser.State < 6 Then
          Warteschlangenvariable = "25"
       EndIf
    Next
    
    Set oUsers = oPBXConfig.GetUserByAddress("28")
    For Each oUser in oUsers
       If oUser.State > 1 And oUser.State < 6 Then
          Warteschlangenvariable = "28"
       EndIf
    Next
    
    Set oUsers = oPBXConfig.GetUserByAddress("29")
    For Each oUser in oUsers
       If oUser.State > 1 And oUser.State < 6 Then
          Warteschlangenvariable = "29"
       EndIf
    Next

     

  6. Hallo Robert,

    darf ich einen Gegenvorschlag machen, denn was passiert, wenn mehr als ein Kollege anwesend ist.... ich hätte allen drei Kollegen die Warteschlange verpasst und der Hotline-Nummer nur eine sofortige Umleitung. Diese kann sich der Kollege der die Hotline übernimmt dann mit ##8<NummerHotline>*<NummerHotline># heranholen. Diesen Funktionscode noch bei allen drei Kollegen auf eine Namenstaste gelegt...

  7. Hallo Forum

    für den Angerufenen User kann man im Script über PBXUser.UnconditionalRedirectNumber ="123" die Rufumleitung ändern. Nun möchte ich das aber für eine andere Nummer machen. Mein Versuch:

    Dim oPBXConfig
    Set oPBXConfig = PBXScript.CreateObject("IpPBxSrv.PBXConfig")
    oPBXConfig.Initialize PBXUser
    
    
    
    Dim oUsers
    Set oUsers = oPBXConfig2.GetUserByAddress(numFrom)
    
    Dim oUser
    For Each oUser in oUsers
       'oPBXConfig.Initialize oUser
    
       oUser.UnconditionalRedirectNumber = "123"
       oUser.UnconditionalRedirect = True
    Next

     

    Bei oUser.UnconditionalRedirectNumber = "123" wird abgebrochen. Wie bekomme ich das hin?

  8. 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.

  9. Hello, my question are actually two.

    First: In a CallRouting, can I somehow get the „is there someone logged in to the VisualGroup Queue“? Perhaps over a SQL Statement like this:

    SELECT COUNT(*) FROM VisualGroups.sometable WHERE GroupID = 1 AND UserLoggedInStatus = 1

    And second: In case our building closes for a day, the front desk started the „CallRouting“ and activated an announcement in front of the other Routings. Now, with „Visual Groups“, can I place a button on the Client Skin that starts the CallRouting for the VisualGroup user? Other idea: configure a name button that calls a user who toggles the announcement over a SQL Statement. But I would definitely prefer a „visual solution“.

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