Jump to content

Tom Wellige

Root Moderator
  • Posts

    4,310
  • Joined

  • Last visited

  • Days Won

    117

 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 Tom Wellige

  1. Zwei Dinge:

     

    Setz mal in der Mitte noch ein "rs.Close"

     

    	End If
    
    	rs.Close
    
    	sSQL = "select * from bereit_nummern where (bereit_name = '" & name_bereit1 & "'") or (bereit_name = '" & name_bereit2 & "'")

     

     

    Und am Ende ist ein "End If" zu viel:

     

    PBXScript.OutputTrace "vTelefon1 ="  & vTelefon1
    PBXScript.OutputTrace "vTelefon2 ="  & vTelefon2
    
    PBXScript.OutputTrace "<--------- KnownCallerId"

     

  2. Hallo Stefan,

     

    mit den beiden gefundenen Namen aus der "bereit_plan1" Tabelle musst Du in der "bereit_nummern" Tabelle suchen:

     

    sSQL = "select * from bereit_nummern where (bereit_name = '" & name_bereit1 & "'") or (bereit_name = '" & name_bereit2 & "'")

     

    Denk abe bitte daran, dass diese Abfrage voraussetzt, dass Du immer beide Namen gesetzt hast. Für den Fall, dass nur ein Kollege Bereitschaft macht, würde ich in da sowas wie "xxx" oder irgendeine andere Zeichenkette eintragen. Hauptsache ist, das Feld ist nicht Null.

     

    Da Du das "rs" Objekt bereits hast, musst Du es für die 2. Abfrage nicht noch einmal mittels

     

    Set rs = CreateObject("ADODB.Recordset")

     

    anlegen. Lass diese Zeile einfach weg.

     

    Anschliessend musst Du davon ausgehen, dass Du 1 order 2 Datensätze zurück bekommst. Das könnte dann z.B. so aussehen:

     

    Dim nFeld
    nFeld     = 1
    vTelefon1 = ""
    vTelefon2 = ""
    
    while not rs.EOF
    
    	select case nFeld
    		case 1
    			vTelefon1 = rs("bereit_nummer")
    		case 2
    			vTelefon2 = rs("bereit_nummer")
    	end select
    
    	nFeld = nFeld + 1
    
    	rs.MoveNext
    
    wend

     

     

  3. Hi all,

     

    an update of the forum software on the weekend ran into a problem and I needed some assitance from the manufacturer to get it up and running again.

     

    As you can see, it is up and running again, although there are a few glitches which still need my attention.

     

    If you find anything broken please feel free to comment in this topic. I will try to get everything fixed.

     

    Sorry for the trouble, Tom.

     

  4. Die Zuordnung in der obigen Funnktion IsUserInGroup erfolgt über den Namen des Benutzers und nicht dessen Rufnummer. Da ein Benutzer ja beliebig viele interne Durchwahlen und externe Rufnummer zugeordnet haben kann, ist der Weg über den Namen der einfachste.

     

    Die Funktion bekommt als Parameter den Namen einer Gruppe und schaut dann, ob der aktuelle Skript Benutzer (also der für den das Call Routing gerade läuft) sich in dieser Gruppe befindet.

     

    Ist das wirklich exakt das, was Du brauchst?

  5. Wenn ein Benutzer seine Leitungstaste sperrt sollte sein Status aus "besetzt" signalisiert werden.

     

    Da das bei Dir scheinbar nicht passiert, stimmt vermutlich die Berechtigung zum Abfragen des Status noch nicht.

     

    Die Berechtigung kann entweder auf Benutzer oder Gruppen Basis in der SwyxWare Administration festgelegt werden. 

     

     

    Auf Benutzer Basis:

     

    image.png

     

    image.png

     

     

    Auf Gruppen Basis (empfohlen!):

     

    image.png

     

    image.png

     

     

     

  6. Die möglichen Status Werte werden u.a. in der UserStatus hier aus dem Forum beschrieben.

     

    1 bedeutet abgemeldet, alles über 1 bedeutet der Benutzer ist angemeldet.

     

    Für Deine Anwendung muss die obige Funktion IsGroupLoggedOff etwas abgewandelt werden. Die überprüft ja, ob ALLE Benutzer abgemeldet sind, Dir reicht es aber ja zu wissen, ob wenigstens ein Benutzer abgemeldet ist. Der Code für die Funktion könnte dann also wie folgt aussehen:

     

     

    Please find the IsAtLeastOneMemberOfGroupLoggedOff function in the Function Collection (VBScript) and Function Collection (Lua) area of the Programming References section of the SwyxPEDIA here on Swyx Forum. 

     

     

  7. Ich würde einen anderen Ansatz wählen:

     

    Über die die Call Detail Records würde ich ein wenig Statistik betreiben. Mit denen kannst Du ja ermitteln, wie lange Anrufer in der Warteschlange waren (d.h. im Call Routing), was der Wartezeit entspricht.

     

    Die Statistik würde ich in 2 Stunden Schritten für jeden Wochentag ermitteln (also z.B. Mo 08-10, Mo 10-12, Mo 12-14, etc.) und die Ergebnisse in einer extra Tabelle ablegen. Das Erstellen der Statistik läuft komplett getrennt vom Call Routing und kann beliebig erneuert/aktualisiert werden.

     

    Wenn jetzt ein Ruf rein kommt, musst Du nur noch da nachsehen, was dort für die aktuelle Zeit und den aktuellen Wochentag hinterlegt ist und es entsprechend ansagen.

     

  8. Hallo Stefan,

     

    sorry, sehe Deine Frage erst jetzt. Du kannst nach dem "Verbunden" Ausgang des "Durchstellen" Blocks die folgenden beiden Eigenschaften über die Server Script API abfragen. Dort drin ist jeweils die Nummer bzw. der Name des Benutzers enthalten, mit dem der Ruf verbunden wurde:

     

    Wenn der Ruf später noch weiterverbunden werden sollte, werden die beiden Eigenschaften entsprechend aktualisiert. Wenn Dich das also auch interessieren sollte, musst Du nur dafür sorgen, dass Dein Skript zu dem Zeitpunkt noch läuft, und Du es noch nicht verlassen hast. Dabei hilft der "Warten auf Verbindungsende" Block. Dort kannst Du einen Timeout von z.B. 1 Sekunde setzen und die beiden Eigenschaften abfragen und dann wieder in den "Warten auf Verbindungsende" Block gehen. Wenn Du bei der Abfrage im Vergleich zur vorherigen Abfrage nun andere Werte bekommst, weisst Du, dass der Ruf weiterverbunden wurde und auch zu wem.

     

  9. VisualGroups wird ausschliesslich über die entsprechende Administration konfiguriert. Dinge die dort nicht enthalten sind, stehen als Feature auch nicht zu Verfügung.

     

    VisualGroups hat nichts mit den im GSE eingebauten Warteschlagen Blöcken zu tun, sondern ist ein komplett anderes eigenständiges Produkt, welches ins ECR lediglich eingebettet ist.

     

  10. rssImage-23af778e845f2d6f37472cd4bfc4c0fa.png

    Aus Voiceworks wird Enreach: Das Unternehmen übernimmt den Namen seiner Gruppe und firmiert zukünftig als Enreach Communications GmbH.

    Die beiden deutschen Unternehmen der europäischen Gruppe Enreach, die Voiceworks und die Enreach (bis 2021: Swyx Solutions) GmbH, sind in den vergangenen Jahren eng zusammengewachsen. Daher treten sie künftig auch nach außen vereint unter dem gemeinsamen Namen Enreach und einem einheitlichen Markendach im deutschsprachigen Markt auf. Zeitgleich firmiert auch Voiceworks in den Niederlanden zu Enreach um.

    „Voiceworks wird Enreach, damit macht unsere Gruppe einen weiteren wichtigen Schritt auf dem Weg zu einem einheitlichen Markenauftritt und Selbstverständnis in ganz Europa. Durch die Kombination der individuellen Stärken aller Enreach Unternehmen und die vielfältigen Synergien innerhalb unserer Gruppe profitieren unsere Partner und Kunden jetzt noch direkter von unserer umfassenden Lösungskompetenz, die in Europa einzigartig ist. Dabei können sich unsere Wholesale-Partner natürlich darauf verlassen, dass wir unser Angebot weiterhin konsequent daran ausrichten, sie erfolgreich zu machen und sie in ihrem Geschäft zu unterstützen“, sagt Christoph Wichmann, Geschäftsführer der Voiceworks GmbH.

    Lösungen, die Menschen in Kontakt bringen

    Enreach bietet seinen Partnern und Kunden ein breites Lösungsportfolio rund um die Digitalisierung von Kommunikation und Zusammenarbeit. Das Angebot reicht von Unified Communications – aus der Cloud, als Inhouse-Installation und im hybriden Modell – über Collaboration-Lösungen, Cloud-Contact-Center-Dienste sowie KI-basierte Chat- und Voicebots bis hin zu Connectivity-Services. „Enreach ist die europäische Marke, die Menschen miteinander in Kontakt bringt. Unsere Lösungen bringen Menschen näher zusammen, ganz egal, wo sie sich aufhalten und welches Endgerät sie verwenden, damit durch Kommunikation echte Mehrwerte entstehen“, erläutert Christoph Wichmann den Anspruch von Enreach.

    Fachhändler und Systemhäuser können durch eine Partnerschaft mit Enreach ihr Angebot erweitern und vom schnell wachsenden Cloud-Kommunikationsmarkt profitieren. Eine White-Label-Option ermöglicht es ihnen dabei, gegenüber ihren Kunden als eigenständiger Anbieter aufzutreten.

    Durch das Rebranding ändert sich für Wholesale-Partner von Voiceworks wenig. Alle bestehenden Verträge behalten unverändert ihre Gültigkeit. Detaillierte Informationen finden Partner im InTouch-Partnerportal.

    Pressemitteilung auf enreach.de

  11. Aus Voiceworks wird Enreach: Das Unternehmen übernimmt den Namen seiner Gruppe und firmiert zukünftig als Enreach Communications GmbH.

     

    Die beiden deutschen Unternehmen der europäischen Gruppe Enreach, die Voiceworks und die Enreach (bis 2021: Swyx Solutions) GmbH, sind in den vergangenen Jahren eng zusammengewachsen. Daher treten sie künftig auch nach außen vereint unter dem gemeinsamen Namen Enreach und einem einheitlichen Markendach im deutschsprachigen Markt auf. Zeitgleich firmiert auch Voiceworks in den Niederlanden zu Enreach um.

     

    „Voiceworks wird Enreach, damit macht unsere Gruppe einen weiteren wichtigen Schritt auf dem Weg zu einem einheitlichen Markenauftritt und Selbstverständnis in ganz Europa. Durch die Kombination der individuellen Stärken aller Enreach Unternehmen und die vielfältigen Synergien innerhalb unserer Gruppe profitieren unsere Partner und Kunden jetzt noch direkter von unserer umfassenden Lösungskompetenz, die in Europa einzigartig ist. Dabei können sich unsere Wholesale-Partner natürlich darauf verlassen, dass wir unser Angebot weiterhin konsequent daran ausrichten, sie erfolgreich zu machen und sie in ihrem Geschäft zu unterstützen“, sagt Christoph Wichmann, Geschäftsführer der Voiceworks GmbH.

     

    Lösungen, die Menschen in Kontakt bringen

     

    Enreach bietet seinen Partnern und Kunden ein breites Lösungsportfolio rund um die Digitalisierung von Kommunikation und Zusammenarbeit. Das Angebot reicht von Unified Communications – aus der Cloud, als Inhouse-Installation und im hybriden Modell – über Collaboration-Lösungen, Cloud-Contact-Center-Dienste sowie KI-basierte Chat- und Voicebots bis hin zu Connectivity-Services. „Enreach ist die europäische Marke, die Menschen miteinander in Kontakt bringt. Unsere Lösungen bringen Menschen näher zusammen, ganz egal, wo sie sich aufhalten und welches Endgerät sie verwenden, damit durch Kommunikation echte Mehrwerte entstehen“, erläutert Christoph Wichmann den Anspruch von Enreach.

     

    Fachhändler und Systemhäuser können durch eine Partnerschaft mit Enreach ihr Angebot erweitern und vom schnell wachsenden Cloud-Kommunikationsmarkt profitieren. Eine White-Label-Option ermöglicht es ihnen dabei, gegenüber ihren Kunden als eigenständiger Anbieter aufzutreten.

     

    Durch das Rebranding ändert sich für Wholesale-Partner von Voiceworks wenig. Alle bestehenden Verträge behalten unverändert ihre Gültigkeit. Detaillierte Informationen finden Partner im InTouch-Partnerportal.

     

     

    Pressemitteilung auf enreach.de

     

  12. Die Warteschlange stellt die rufe in ihr auf ein bestimmtes Ziel zu (egal ob einzelner Benutzer oder Benutzergruppe).

    Beim Ziel wird jedoch in keinem Fall das Call Routing des Ziels gestartet. Das wäre kontraproduktiv, da sich dieses Call Routing den Ruf dann schnappen würde, und er damit aus Sicht der Warteschlange zugestellt wäre. 

    Umleitungen sind grundsätzlich Bestandteil des Call Routings, somit werden sie ebenfalls nicht ausgeführt, wenn das Ziel für sich eine sofortige Umleitung konfiguriert.

     

    Wenn der Benutzer unter dem das Warteschlangen Call Routing läuft und der Ziel Benutzer jedoch identisch sind, dann sollte Deine Anwendung funktionieren. Dazu muss die Wartenschlangen Regel nur unter den Weiterleitungsregeln im Call Routing Manager stehen.

     

    Wenn die beiden Benutzer jedoch nicht identisch sind, hat der Ziel Benutzer keine Möglichkeit der Einfussnahme auf das Warteschlagen Call Routing Skript. Denkbar wäre hier aber eine Lösung über die persistenten Variablen (PV). In einer solchen (globalen) PV wird das Ziel der Warteschlange gespeichert. Der Ziel Benutzer kann einem "Manager" Benutzer anrufen, dess Call Routing per DTMF nach dem neuen Ziel fragt, und dieses dann in die PV schreibt. Das Warteschlangen Call Routing schaut seinerseits in diese (globale) PV im Ziel Feld.

     

  13. Prinzipiell gibt es einen VBScript Debugger, es gibt aber zahlreiche Gründe, weswegen der im Call Routing keine gute Idee ist. 

     

    Für das debuggen gibt es das SwyxWare Server Trace. Der folgende Post erklärt, wie man das so weit eindampft, dass man nur noch einen einzigen Ruf sieht, und für den auch nur Call Routing relevante Ausgaben:

     

    Der folgenden Blog Artikel beschreibt, wie man eigenes Tracing ins Call Routing (sinnvoll) einbaut:

     

     

  14. Hallo Stefan,

     

    ohne die Funktion "GetUserState" im Detail zu kennen, sollte der Aufruf in etwa so aussehen:

    if GetUserState(PrimaryGroup, 20, True) then
    	'...
    
    elseif GetUserState(SecondaryGroup, 20, True) then
    	'...
    
    end if
    

     

    Was Du dann in den jeweiligen Fällen machst hängt von Deiner Anwendung ab, die ich nicht kenne.

     

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