Jede Warteschleife stellt einen eigenen Abschnitt dar. Wir legen
bespielsweise eine Warteschlange im Abschnitt [support]
an.
Folgende Parameter stehen zur Verfügung:
Legt eine Audiodatei fest, die einem Agenten vor dem Beantworten
eines Anrufs vorgespielt wird. Dies dient dazu, dass ein Agent, der auf
mehreren Warteschlangen Anrufe entgegennimmt, weiß, um welche
Warteschlange es sich handelt, und z. B. den Anrufer entsprechend
begrüßen kann.
;announce = schlange-support
Wenn
Sie diese Einstellung verwenden, müssen Sie daran denken, auch eine
entsprechende Audiodatei im
sounds/
-Verzeichnis
anzulegen, also z. B.
schlange-support.gsm
.
Legt fest, in welcher Weise und Reihenfolge die Agenten bei einem
Anruf angeklingelt werden sollen:
ringall
Alle anklingeln, bis einer antwortet.
(Default)
roundrobin
Der Reihe nach alle anklingeln, bis einer
antwortet.
leastrecent
Das Interface anklingeln, bei dem der letzte Anruf am
längsten zurückliegt.
fewestcalls
Den anklingeln, der am wenigsten Anrufe in dieser
Warteschlange abgearbeitet hat.
random
Ein zufällig gewähltes Interface anklingeln.
rrmemory
Round-Robin mit Gedächtnis. Beginnt die Reihe bei dem,
der nach dem letzten Anruf an der Reihe ist.
Beachten Sie, dass Agenten, für die ein niedrigerer Malus
(
penalty) festgelegt wurde, immer Agenten mit
höherem Malus vorgezogen werden.
strategy = ringall
Die
Einstellung ist abhängig von Ihren Gegebenheiten:
ringall
ist vielleicht lästig; die anderen Werte verursachen zusätzliche
Wartezeit für den Anrufer, falls Agenten nicht ans Telefon gehen.
Hier kann ein Context angegeben werden, in dem ein Anrufer, wenn
er eine Extension mit nur
einer Ziffer drückt, aus
der Warteschlange genommen und zu dieser Extension in diesem Context
weitergeleitet wird.
context = supportschlange-Context ; so könnten wir es einstellen
; aber wir lassen das erst mal weg, also auskommentiert:
;context = supportschlange-Context
Die Wartezeit (in Sekunden), bevor ein Agent, der gerade einen
Anruf beendet hat, erneut einen Anruf erhält (Default:
0).
; wir lassen unseren Agenten eine kleine Verschnaufpause, um
; einen Schluck Wasser zu trinken:
wrapuptime = 10
Rundungsschritte der Sekunden. Mit der Einstellung 0 werden nur
die Minuten, nicht die Sekunden angesagt. Andere mögliche Werte sind: 0,
1, 5, 10, 15, 20 und 30.
[] (Mit 30 würde beispielsweise eine geschätzte Wartezeit von
2:34 auf 2:30 gerundet.)
announce-round-seconds = 0
Die folgenden Parameter stellen ein, welche Sprachbausteine für
die Ansagen der Position und Wartezeit verwendet werden. In der Regel
sind hier keine Veränderungen notwendig:
queue-youarenext = queue-youarenext ; "You are now first in line."
queue-thereare = queue-thereare ; "There are" ...
queue-callswaiting = queue-callswaiting ; ... "calls waiting."
queue-holdtime = queue-holdtime ; "The current est. holdtime is" ...
queue-minutes = queue-minutes ; ... "minutes"
queue-seconds = queue-seconds ; ... "seconds"
queue-thankyou = queue-thankyou ; "Thank you for your patience."
queue-lessthan = queue-less-than ; ... "less than" ...
queue-reporthold = queue-reporthold ; "Hold time" ...
periodic-announce = queue-periodic-announce ; "All reps busy, wait for next"
Wenn
diese Parameter nicht angegeben werden (also auskommentiert sind),
gelten diese Default-Werte.
Legt fest, ob Anrufer in eine Warteschleife ohne Agenten
eingereiht werden.
yes
Anrufer können in eine Schleife ohne Agenten oder von
nur nicht-verfügbaren Agenten eingereiht werden.
no
Anrufer können nicht in eine Schleife ohne Agenten
eingereiht werden.
strict
Anrufer können nicht in eine Schleife ohne Agenten
eingereiht werden (aber in eine Warteschlange mit nur
nicht-verfügbaren Agenten).
"Nicht-verfügbar" ist nicht zu verwechseln mit "im
Gespräch" (
busy). Ein Agent ist nicht
verfügbar, wenn er zwar der Warteschlange zugewiesen, aber
tatsächlich nicht am System registriert ist (siehe auch
„member
“). Achtung: Statisch definierte
Mitglieder (siehe
„member
“) gelten
immer als verfügbar!
Sollte ein Anrufer nicht in eine Warteschlange
aufgenommen werden, ist die
Queue()
-Applikation beendet,
und der Dialplan wird fortgesetzt.
joinempty = no ; wir wollen unsere Anrufer nicht unnötig warten lassen
Legt fest, ob Anrufer aus einer Warteschlange entfernt werden,
sobald sich alle Agenten ausgeloggt haben. Zu den möglichen Werten siehe
joinempty
. Nach dem Verlassen der Warteschlange wird der
Dialplan fortgesetzt.
leavewhenempty = strict ; Anrufer nicht unnötig warten lassen
Es ist möglich, direkt in der
queues.conf
Agenten
statisch in der
Form
member => Technologie
/Ressource
[,Malus
]
– also z. B.
member => Zap/2
– anzulegen
(darf mehrmals verwendet werden, siehe
queues.conf
). Das kann jedoch zu Problemen mit
joinempty
und
leavewhenempty
führen, da diese
Agenten
immer als verfügbar angesehen werden, auch
wenn sie in Wirklichkeit nicht an ihrem Apparat sind. Zudem hat es den
Nachteil, dass ein Agent immer fest einem Apparat zugeordnet ist und
sich nicht von einem anderen Apparat aus anmelden kann.
Wir verwenden daher lieber die
dynamische Form und ordnen unserer Warteschlange
support
in der Form
member => Agent/AgentenNr
zwei
Agenten
1001
und
1002
zu:
member => Agent/1001
member => Agent/1002
Diese Agenten müssen wir noch in der
agents.conf
definieren (siehe unten).
[] Die
AgentenNr
ist eine frei wählbare Nummer,
die jeden Agenten eindeutig identifiziert. Sie hat nichts mit den
Extensions zu tun, die die Agenten eventuell verwenden.