Contact Contact Center mit Teams

Für Skype for Business und Lync gibt es mehrere Anbieter von Contact Center Lösungen. Es hat etwas gedauert, bis die Microsoft Produkte auch als "Telefonsystem" akzeptiert waren und die Hersteller sich mit den Microsoft APIs auseinander gesetzt haben. Microsoft Teams hat eine ganz neue Herausforderung: Es läuft 100% in der Cloud aber dank Direct Routing ist es sehr einfach möglich, die Telefonfunktion zu aktivieren.

Was für Skype for Business die Response Groups sind, sind für Microsoft Teams die Call Queue. Darunter verstehen wir mehr oder minder ausgefeilte Warteschlangen für die Kanalisierung von Anrufern. Der Anruf auf eine Nummer landet in eine Warteschlange, bekommt eine Ansage, kann per Sprache oder DTMF-Wahl Optionen auswählen und Agenten in der Warteschlange werden informiert und einer nimmt den Ruf an. Für viele Firmen reicht genau das auch erst einmal aus und ist im Preis quasi mit drin.

Gründe für ein Contact Center

Über die Funktion Call Queues können Sie schon heute einfache Verteilungen für eingehende Rufe konfigurieren. Allerdings sind die Reporting-Funktionen sehr eingeschränkt. Über die Zusatzlizenz "Microsoft Teams Premium" verbessert sich schon mal die Auswertung aber erst mit einem richtigen Contact Center von Drittherstellern oder als Ergänzung zu Microsoft CRM wird Teams eine leistungsfähige Vermittlung für höhere Ansprüche.

Variante Lizenz Funktion

Teams Call Queues

Teams Standard
+ Teams Phone
+ DirectRoting oder MS Dialplan

Microsoft nennt seine in der BAsisversion eingebaute Anrufverteilung nur "Call Queue" und nicht Call Queue, denn es gibt keine Integration in Kontakte.

  • Einfaches Routing von eingehenden Anrufen an eine "Gruppennummer" zu verfügbaren Agenten nach Zeiten, Aktivitätsstatus
  • einfache IVR-Funktionen, d.h. Ansagen und Steuerung durch den Anwender per DTMF/li>
  • Anwender kann ausgehende Anrufe mit der Rufnummer der Call Queue starten.

Teams Premium

+ Teams Premium

Das Teams Premium AddOn erlaubt dem Anwender mit der neuen Call Queue App (Sommer 2024) erste besserer Einblicke in die Verwendung der Call Queues, z.B. grafische Anzeige der Agenten, wartende Anrufe etc.

3rd Party Contact Center

3rd Party

Erst mit 3rd-Party Produkten wird Teams zu einem "richtigen" Contact-Center, wobei auch hier bei der technischen Anbindung zwischen "Connected", "Extended" und "Power" unterschieden wird. Zusatzfunktionen wären dann

  • Kopplung der Anrufe mit dem ERP/CRM-System
    Wenn ein Ruf ankommt, könnte anhand der rufenden Nummer gleich im Kundendatensatz der entsprechende Eintrag geöffnet werden. Der Agent kann dann direkt die besprochenen Inhalte dort hinterlassen und sieht z.B. auch die letzten Umsätze des Kunden oder offene Aufgaben.
  • Computergesteuerte ausgehende Rufe
    d.h. das System könnte eine Liste von „Kontaktaufträgen“ abarbeiten und eigenständig das Ziel anrufen. Bei Rufannahme wird die Verbindung dann zu einem Agent vermittelt
  • Reporting / Switchboard
    Für die Einsatzplanung der Agenten sind Statistiken hilfreich, die z.B. die Anzahl und Wartezeit von Anrufern in Warteschlangen auswertbar macht um die Unzufriedenheit aufgrund zu langer Verweilzeiten zu verhindern aber auch die Schichten der Agenten besser zu koordinieren. In größeren Contact Centern hängt dazu oft ein Switchboard an der Wand, welches solche Zahlen in Echtzeit darstellt.

u.a.

Ehe wir weiter auf die funktionalen Unterschiede eingehen, möchte ich die Technik erläutern.

Der bisherige Ansatz

In fast allen klassischen Fällen ist ein Contact Center „neben“ oder hinter einer TK-Anlage als eigenständige Untervermittlung angebunden:

Die speziellen „Gruppenrufnummern“ werden auf das Contact Center geroutet, welches die gesamte Business Logik enthält, d.h.

  • Rufannahme mit Ansagen
  • Qualifizierung des Anrufs
    z.B. durch Einbeziehung der ContacterID oder eingaben des Kunden per DTMF oder Sprache
  • Automatische Lösungsangebote
    z.B. wenn das System schon anhand des Kunden erkennt, was das Problem sein könnte (Netzstörung o.ä.)
  • Zuordnung in eine Warteschlange und Eskalationsmanagement
  • Ermitteln der Agenten-Statusinformationen und routen des Anrufs
  • Unterstützung des Agenten durch Steuerung der Eingabemasken/Protokollierung
    Agenten können sich in der Regel auch selbst Ein/Ausbuchen, und so dem System die Bereitschaft zur Rufverarbeitung unabhängig von ihrem sonstigen Status anzuzeigen.
  • Erweiterte Audio-Funktionen wie Aufzeichnung, Drohanruf-Recorder, Zuschalten eines Second-Level, Aufschalten eines Monitors
  • Unterstützung bei ausgehenden Anrufen
    z.B.: indem das Contact Center bei Kunden anruft, damit der Anwender nicht selbst wählt und vor allem seine Durchwahl nicht sichtbar wird. Bei großen Contact Centern kann das System schon auf Verdacht anrufen, wenn genug Agenten frei sind um damit die Zeiten besser auszunutzen. Es gibt ja schon Erfahrungswerte, wie wahrscheinlich Gegenstelle erreichbar sind
  • Integration anderer Kommunikationswege
    Audio-Telefonie ist nicht mehr der einzige Weg zur Kommunikation. War früher die E-Mail oft ein paralleles mittel, die dann in einem Ticketsystem erfasst wurde, sind heute Meldungen über Twitter, Facebook, WhatsApp u.a. im Kommen. Ein Contact Center wird auch hierauf reagieren und jegliche Kommunikation einbinden müssen.
  • Contact-Ende-Verarbeitung
    z.B. Feedback des Kunden einholen, Ruhezeit für Agenten einhalten, damit er die Datenerfassung erledigen kann.

Es gibt auch noch eine abgeschwächte Variante eines Contact Center, bei der die meiste Intelligenz auf dem Client ist und die TK-Funktionen per CTI gesteuert werden. Hier ist dann oft in der CRM/ERP-Applikation ein VoIP-Client enthalten oder die ERP/CRM-Software steuert ein Tischtelefon über CTI/CSTA.

Diese Funktion wird in Teams als "Connected"-Mode beschrieben:

Teams und Skype

Durch den Einsatz von Teams oder Skype for Business als TK-Clients ändern sich drei Komponenten:

  • Contact-Vermittlung
    Bisherige Contact Center haben Anrufe einfach über „Rufnummern“ vermittelt. Das ist auch weiterhin mit Teams möglich. Technisch kann hier aber auch ein SIP-Contact über die SIP-Adresse statt des Namens aufgebaut werden um den Umweg über eine TK-Anbindung oder SBC zu vermeiden. Zukünftig wird es aber auch immer häufiger passieren, dass Verbindungen auch über Federation statt dem „Telefonnetz“ laufen.
  • Statusabfrage
    Es ist wichtig, welche Status die Agenten haben. Contact Center mit eigener Software können so etwas selbst machen. Wenn die Anwender aber eh in Skype oder Teams arbeiten, dann ist der Status „Am Telefon“ oder „In einer Konferenz“ aber auch „Nicht stören“ eine wichtige Quelle zum Vermitteln von Gesprächen an Agenten.
  • Client
    Auch auf dem Arbeitsplatz ist zu prüfen, wie die Anwender die neue Funktion eines Contact Center sehen. Kommt ein komplett eigner Client samt VoIP zum Einsatz oder nutzt der Contact Center Client eventuell vorhandene APIs um den primären VoIP Client (Teams oder Skype for Business) von der Seite zu steuern oder integriert sich das Contact Center als Teams App oder Webseite in den Client?

Schnittstellen und Status

Eine essentielle Datenquelle für eine Contact Center Software ist der Status der Agenten, wenn Sie den Status nicht selbst ermitteln. Bei Skype for Business gab es dazu mehrere Schnittstellen, die es bei Teams teilweise nicht mehr gibt, Dafür gibt es andere Optionen.

Schnittstelle

Möglich Nutzung

Teams

Skype for Business

Skype for Business Online

Client API

Status, IM, Contacting

Minimal

Ja, COM

Ja, COM

Client Integration

Status, IM, Contacting

App oder Browser

Ja

Ja

CSTA/CTI/RCC

Status, Contact Control

Nein

Bis Lync 2013

Nein

UCWA

Status, IM, (Contacting)

Backward kompatibel

Ja

Ja

UCMA

Status, IM, Contacting

Nein

Nur On-Prem

Nein

Graph

IM, Contacting

Ja (Beta)

Nein

Eingeschränkt

Federation

Status, IM, Contacting

Ja

Ja

Ja

Bot/Webhooks

Status, IM

Ja

Nein

Nein

Es ist für ein Contact Center gar nicht so einfach die passende Schnittstelle zu finden aber es ist zumindest nicht unmöglich gewisse Daten zu erhalten. Das Problem ist aber versteckt. Ich kann z.B. per Federation durchaus die Präsenz eines Agenten ermitteln, aber wenn ich immer wieder fragen muss, dann sind die Updates verspätet. Eine Push-Benachrichtigung erlauben aber nicht alle APIs. Gerade bei der Abfrage per Federation sollte ich als Administrator das Contact Center entsprechend per Allowlist eintragen. Auch die Integration in den Client ist eine Herausforderung, da Teams z.B. auf Windows keine COM-API anbietet und die Funktion im Browser oder Tablet und Smartphone anders ist. Ein Contact Center müsste aber erkennen, ob der Anwender z.B. an einem Agenten-Platz mit voller Funktion ist oder nur am Smartphone „verfügbar“ ist.

Schnittstellen und Ort

Verschiedene Hersteller arbeiten natürlich daran, für Teams entsprechende Mehrwertfunktionen anzubieten. Wenn die Vision von Microsoft Wirklichkeit wird und in einigen Jahren die Kommunikation in Firmen über Teams bereitgestellt wird, dann möchten bisherige Anbieter ja weiter ein Stück vom Kuchen abhaben. Wenn dann 2021 die Anmeldung an Skype for Business Online wegfällt und vielleicht 2025 dann auch Skype for Business im Eigenbetrieb entfällt, werden Lösungen für Teams gefragt sein. Im Teams-Umfeld gibt es mehrere Bausteine.

An drei Stellen kann eine 3rd Party Lösung die Funktion in Teams integrieren

  • A = als Nebenlösung
    Über den SBC von Direct Routing können Sie bestimmte Rufnummern statt zu Teams erst einmal zu einem Contact Center ("A)" routen, welches die Anrufe bedient. Diese System kann von Teams die Informationen über die Agenten und sogar den Status bekommen, wenn es nicht selbst eine Statusverwaltung führt. Theoretisch kann das sogar eine komplett unabhängig TK-Anlage sein, bei denen die Agenten eigene Endgeräte ohne Teams nutzen.
  • B = Bot
    Eine Software kann sich an Teams als Endpunkt registrieren und Anrufe annehmen und steuern. Statt eine Rufnummer auf eine einfache "Call Queue" zu routen, landet diese beim Bot, der eine sehr viel umfangreichere Funktion bereitstellen kann. Diese Funktion können Sie selbst On-Premises oder in Azure hosten oder sogar von einem Dienstleister als "Contact Center as a Service" einkaufen. Der Bot kann natürlich die Anrufe dann zu einem Agenten weiterleiten oder einen Gruppenruf starten und damit auch das laufende Gespräch steuern.
  • C = Client Erweiterung
    Der Teams Client selbst kann auch erweitert werden. Um Jun 2021 erlaubte aber Teams noch kein Hintergrundbetrieb, d.h. eine App ist nur aktiv, wenn Sie vom Anwender auch geöffnet ist. Sobald isch das ändert, sind auch Apps in Teams mit Voice-Funktion, z.B. Vermittlungsplätze möglich.

Ein Contact-Center kommt natürlich nicht ohne Kennzahlen, Auswertungen und Statistiken aus. Hier gibt es mit Teams alleine eigentlich nur wenuge Ansatzpunkte:

  • 1 = SBC-Logs
    Solange sie ihren eigenen SBC betreiben, können Sie hier z.B. per SYSLOG zumindest die externen Anrufe mit Quelle, Ziel und Dauer erfassen. Interne Weitergaben in Teams sehen sie in der Regel aber genauso wenig wie interne Anrufe per Teams oder Federation. Diese Datenquelle ist natürlich nicht vorhanden, wenn ihre Rufnummern und Leitungen durch Microsoft Dialpläne oder einen Carrier bei Operator Connect gestellt werden.
  • 2 = CDR-Datenbank
    Teams protokolliert alle Medien-Contacts, (Audio/Video/Sharing) in einer Anruf-Datenbank, welche über verschiedene Wege angesprochen werden kann. Die Daten landen aber erst mit etwas Verzögerung am Ende des Contacts in der Datenbank. Die Informationen eigenen sich daher nicht zur Anzeige eines Echtzeitstatus, z.B. wie viele Anrufe in einer Call Queue anliegen. Auch die Zugriffe sind "eingeschränkt"
    • Portal
      Über das Admin-Portal kann der Administrator beim Benutzer die letzten 30 Tage der Anrufe auswerten.
    • Graph
      Über Graph können sie die Liste der PSTN-Anrufe ermitteln und dazu dann auch die Details. Die Teams-Anrufe kann man (Stand Jul 21) allerdings nur über eine "Subscription" erhalten, bei der Graph ihre Software per HTTP-Aufruf über eine neue Contact-ID in der Datenbank informiert.
    • Data API
      Über eine für das Skype for Business CQD-Dashboard entwickelte DataAPI können Sie ebenfalls Daten extrahieren. Unklar ist aber hier, wie die Zukunft in einer "Teams Only"-Welt aussieht.
  • Realtime-API
    Es "soll" eine Realtime API-geben, über die speziell 3rd Party Contact Center Produkte auf ihren Teams Status zugreifen können. Angeblich ist die API aber nicht "Public" sondern nur für Firmen mit NDA und Partnerprogramm-Status vorbehalten. Ein Grund könnte sein, dass auch Microsoft mit hoher Lernkurve hier sehr kurzfristig Änderungen umsetzt und dies zumindest Anfangs nur mit einem engen Kontakt zu den Firmen und Entwicklern möglich ist.

Wenn es weitere Schnittstellen gibt, dann werde ich die Seite erweitern.

Szenarien

Je nach Kombination sind mehrere Konfigurationen denkbar.

Szenario Beschreibung

Call Queues (Bordmittel)

Teams selbst bietet schon ein paar Funktionen eines Contact Centers an. Insbesondere die "Call Queues" als Ablösung der Response Group Service (RGS) bieten schon Warteschlangen mit Agenten und Berücksichtigung des Clients. Microsoft wird hier sicher die Funktion auch erweitern.

Es bleibt aber auch Platz für Drittprodukte, die spezifische Funktionen ergänzen. Das kann eine App im Teams Client sein, die z.B. für eine Anbindung an eine LoB-Applikation (Helpdesk, Kundenverwaltung, etc.) herstellt.

Über eine "Teams Contacting API" könnte aber auch umfangreichere Lösungen bis zur Fernsteuerung von Teams Anrufen möglich werden.

Klassisches Contact Center mit Teams Telefon-Anbindung (Connected Mode)

Alle Lösungen, die heute als „Nebenanlage“ angebunden sind und vermitteln, können relativ einfach Anrufe auch an Anwender mit Teams Telefonie weiter geleitet werden. Auch alle Funktionen des Contact Center können wir quasi wie bisher genutzt werden, sofern sie nicht vom Client abhängig sind. Das Contact Center braucht allerdings den Status des Agenten, der allerdings Teams nutzt. Daher muss das Contact Center irgendwie den Echtzeitstatus des Agenten von Teams ermitteln.

Je nach Einsatzzweck kann auch eine Erweiterung des Clients interessant sein. Ich bin gespannt, ab wann Firmen wie Voxtron/Enghouse, Genesys u.a. ihre Lösungen auch für Teams bereitstellen.

Teams Contact Center mit Federation

Ein Contact Center muss nicht im eigenen Serverraum stehen. Es gibt Firmen, die ein Contact Center aus der Cloud anbieten. Als Kunde nutzen sie entweder die Rufnummern durch den Anbieter oder schalten einen SIP-Trunk zum Anbieter, um teile ihrer eigenen Rufnummern an das Contact Center zu routen. Die Verbindung vom Contact Center zu Teams erfolgt aber nicht per PSTN-Contact sondern über Federation. Das Contact Center sieht für Sie als nutze aus wie eine andere Firma, die über Skype-Federation mit ihrem Tenant verbunden ist. Wenn ein Agent einen Anruf bekommt, dann ist dies ein VoIP-Contact zwischen dem Contact Center, welches wie Skype/Teams aussieht und dem Teams-Anwender. Über die Federation kann das Contact Center auch die Präsenz des Teilnehmers abfragen. Ein Beispiel hierzu ist z.B. „Stratus Team“ der LuWare AG https://luware.com/products/stratus

Diese Anbindung dürfte zukünftig keine Bedeutung mehr haben

Direct Routing mit Mehrwert  (Conected Mode)

Auch Anbieter von "Cloud-PBX-Systemen sehen natürlich die Funktionen von Microsoft Teams und können die Lücken im Microsoft Angebot auffüllen. Sie können sowohl den SIP-Trunk mit Rufnummern und interessanteren Preisen anbieten und Mehrwerte (Fax, Contact-Handling, 0800Nummern etc.) mit einbinden.

NFON bietet ja erst mal eine "CloudPBX" mit dem Produktnamen Cloudya an und binden Teams mit dem Produkt "Nvoice for Microsoft Teams" über einen SIP-Trunk an. Die Rufnummern und die Vermittlungsleistung stellt dabei NFON und der Kunde braucht nur Teams und die CloudPBX-Lizenz. NFON kann aber pro Nebenstelle quasi entscheiden, ob der Anruf zu Teams geht oder z.B. zu einem Faxserver oder auch andere SIP-Geräte. Das kann Teams noch nicht. Solche Lösungen sind als "etwas mehr" als nur ein dummer SBC.

Das Bild ist mit der ganz am Anfang skizzierten "alten Lösung", die aber immer noch aktuell ist.

Diese Anbindung dürfte ebenfalls keine Relevanz mehr haben

Teams Bot (Extend-Modell)

Der aus meiner Sicht interessanteste Ansatz sind Bots, die auch Audio/Video-Funktionen bereitstellen und mit Teams zusammen erweiterte Telefonie-Funktionen ermöglichen. Microsoft selbst hat hier schon Beispiele dokumentiert. Es fehlen aber noch die größeren Lösungen.

Diese Anbindung nimt stark zu

Teams Client Apps

Der Teams Client kann durch Apps flexibel erweitert werden. Sobald diese Apps dann auch im Hintergrund weiter aktiv bleiben und eine API zur Telefonie nutzen können, dürften sehr schnell "bessere" Telefonprogramme für Teams im Markt erscheinen.

Im Grund kennen wir solche Lösungen schon aus der Skype for Business Welt, wo Clients wie "Attendant Pro" oder das "Office 365 Contact Center" von Landis Computer https://www.landiscomputer.com/office365Contact Center/. sich auf Skype for Business aufgesetzt haben. Bei Skype for Business gab es dazu sogar eigens einen „Headless-Mode“, mit dem eine Applikation selbst zum primären Client werden konnte und Skype als Service im Hintergrund genutzt hat. Das ist bei Teams aktuell nicht möglich.

Auf Uservoice gibt es sogar einen Wunsch zu einer vollwertigen Client-API. Damit könnten 3rd Party Apps, quasi Teams "fernsteuern".

Für ein Contact Center ist diese Funktion nicht ausreichend aber für einen Attendant Console oder andere Erweiterungen könnte dies ein Mittel der Wahl sein.

Meine Übersicht ist eine Momentaufnahme und die Grenzen sind fließend. Welcher Ansatz mit welchem Hersteller bei ihnen am besten passt, bedarf einer qualifizierten Analyse und Bewertung, oft begleitet durch eine Teststellung und Evaluierung. Dabei ist die ganze Materie leider nicht statisch, denn auch ihre Anforderungen verändern sich und der Funktionsumfang von Microsoft Teams in der Cloud entwickelt sich auch kontinuierlich weiter.

Produkte

Die Auswahl des "Richtigen Contact Centers" ist nicht nur von der Telefonie-Funktion abhängig, sondern auch die Integration in Applikationen und Prozesse der Firma spielen eine große Rolle. Daher kann ich keine Bewertung oder Empfehlung abgeben. Ich versuche aber, die Produkte mit Link aufzuführen, die mit Teams interagieren können.

 

Microsoft pflegt auf seiner Webseite zur Contact Center API auch eine Liste von Produkten, die sich im Zertifizierungsprozess befinden.

Es gibt noch weitere Produkte, die für Teams entwickeln. Nicht alle sind "Contact Center" sondern vielleicht nur TAPI-Erweiterungen oder addieren Reportfunktionen

Wenn ein weiteres Produkt hier gelistet werden sollte, dann würde ich mich über einen Hinweis freuen (Kontakt).

Weitere Links