Agent

Agent/AgentGroup related Functions

Agent Modul

Modulbeschreibung

In diesem Modul werden die Funktionen für Agenten für ACD- und Kontaktportal-Funktionalitäten beschrieben.

Ein Client repräsentiert einen User, der in beliebig vielen Agentengruppen als Agent Mitglied sein kann.

Ein Agent wird durch die ContactURI des Benutzers (SIP-Adresse inkl. "sip:" davor) oder einer LineURI (Cti Leitung, Format "tel:xyz@pbx text") beschrieben.
Für z.B. dem Login auf einer Gruppe benötigt man i.d.R. die AgentURI und die GroupURI. Damit kann der UCServer genau identifizieren, welcher Agent auf welcher Gruppe verwendet werden soll.

Die dafür nötigen Werte erhält der Client, wenn er sie als Ergebis von asnAgentMonitorStart zurück bekommt.

Vorraussetzung für die Verwendung der Schnittstelle

Ein Benutzer bekommt Zugriff auf die Agentenschnittstelle wenn:

  • Wenn der Benutzer über global oder über sein Profil in der UCServer Verwaltung den Dienst "Visitenkarte für anonyme Benutzer" aktiviert hat.
  • Wenn er Mitglied einer oder mehrerer Gruppen ist, die in der UCServer Verwaltung als "Agentengruppe" aktiviert wurde.
  • Wenn (identifiziert über die LeitungsID) er eine Leitung besitzt, die Teil einer ACD-Gruppe am entspre-chenden ECSTA bekannt ist.

Funktionen

Folgenden Status kann ein Benutzer auf der Schnittstelle einstellen:

  • "login" / "logout"
  • "Working after call"
  • "ready"/"not ready" (noch "work in progress")

ProCall 5.1 unterstützt ACD-Funktionalität nur für Panasonic Telefonanlagen.

Ab ProCall 6 wird die Agentenschnittstelle für das Kontaktportal und Visitenkarte verwendet. Weitere PBX sind in Vorbereitung.

Einfaches Vorgehen wenn die Agentengruppen genutzt werden sollen

  1. Für den Benutzer nur asnAgentMonitorStart rufen; dies registriert für die Events des Agenten und liefert als Rückgabe die Liste der Gruppen, in denen der Benutzer Agent ist.
  2. Ab diesem Zeitpunkt schickt der UCServer Events, wenn sich am Status des Benutzers in diesen Gruppen etwas ändert.
  3. Den Zustand des Agenten ändern:
    3.1. asnAgentLogin - Setzt den Status des Benutzer auf "login". Anmerkung: ersetzt asnAgentSetState(not ready).
    Für den Login sind ggf. noch mehr Parameter notwendig. Welches das sind, kann man in den AgentGroupInfos
    3.2. asnAgentLogoff - Setzt den Status des Benutzers auf "logoff". Anmerkung: ersetzt asAgentSetState(noagent).
    3.3. asnAgentSetState - Hiermit kann man den Status auf "ready", "not ready" und "working after call" setzten. Welche Zustände gesetzt werden können, wird im Result von asnAgentMonitorStart vom Server mitgeliefert. Siehe dazu auch AsnAgentGroupInfo.
  4. Abmelden von den Events mit asnAgentMonitorStop.

Mit diesen fünf Funktionen ist es möglich, die ACD/Präsenz-Gruppen am UCServer zu bedienen.

AsnAgentGroupInfo

In den Argumenten und Results werden meist AsnAgentGroupInfo Strukturen ausgetauscht. Diese Struktur enthält die Beschreibung einer Agenten/ACD Gruppe.

AsnAgentGroupInfo enthält die Daten über eine Agentengruppe. Wichtig sind dabei:

  • iGroupCapabilities: Hiermit wird angezeigt, welche Statusänderungen unterstützt werden. Siehe dazu auch AsnAgentGroupCapabilitiesEnum. Ist das höchste Bit gesetzt (0x80000000) ist diese Gruppe eine PBX/ACD Gruppe. Wenn das Bit nicht gesetzt ist, wird die Gruppe vom UCServer verwaltet.
  • iAgentState: Der aktuelle Status des Agenten, also des Benutzers in dieser Gruppe.
  • optionalParams,Schlüssel "AgentLoginRequiredParameters": Dieser Integer enthält im Falle einer PBX/ACD Gruppe Informationen darüber, welche Parameter für die Anmeldung an der ACD Gruppe benötigt werden. Die Werte (Bitfeld) sind in AsnAgentLoginRequiredParametersEnum beschrieben.

Events

Für Änderungen an den Agentengruppen und am Agentenstatus sendet der UCServer zwei Events an die angemeldeten Clients:

  • asnAgentNotifyGroupsChanged - Es hat sich an den verfügbaren Gruppen des Benutzers etwas geändert
  • asnAgentNotifyStateChanged - Der Status des Benutzers in einer Gruppe hat sich geändert.

Anmerkung

Die API ist bisher User zentriert. D.h. wenn der Server nach den AgentGroupInfos befragt wird,
gibt der Server in einer einfachen Liste die Infos zurück, die seine Gruppenzugehörigkeit betreffen.
Für den normalen Benutzer das einfachste.

Supervisor Schnittstelle

Ist als solche noch nicht implementiert.

Anonyme Benutzer

Anonyme Benutzer können abfragen, welche Gruppen inkl. User zur Verfügung stehen um dann anhand des Anwendungsfalls die entsprechende Präsenz und den Login/Logoff Zustand anzeigen zu können.

Events:

Name Description
asnAgentBroadcastEvent

- PRIVATE -

asnAgentNotifyGroupsChanged

Event für Änderungen an den Agentengruppen des Benutzers.

asnAgentNotifyStateChanged

Event wenn sich der Zustand des Agenten in einer Gruppe geändert hat.

Version 6.1