Warteschlange per Zufall / gewichtet

Guten Tag,

ich habe eine dynamische Warteschlange (Rufstrategie “per Zufall/gewichtet”) erstellt und den Benutzern die Prioritäten 100,110,120 und 130 zugewiesen.
Wenn sich die User jedoch aus- und einbuchen , dann werden die Prioritäten nicht mehr berücksichtigt. Beim Pausieren scheint das nicht der Fall zu sein.
(pascom 17.03)

Was mache ich falsch?

Hallo Kai-Uwe,

wie äußert sich das “nicht mehr berücksichtigt”?

Ich weiß nur das ich zu dem Thema mal nageforscht habe, das Verhalten des Asterisks ist das bei jedem Call eine Zufallszahl zwischen 1 und 1000 mal Priorität ausgewürfelt wird, und der mit der niedrigsten den Call bekommt. Wenn dann sowieso die meiste Zeit nicht alle frei sind, merkt man die Gewichtung kaum.

Grüße,
Steve

Das mit der Zufallszahl wusste ich nicht.
Es soll wirklich eine feste Reihenfolge existieren; der Nutzer soll aber die Möglichkeit haben, in der Warteschlange zu pausieren,. Anschließend soll er wieder an der alten Position in die Warteschlange kommen.

Dafür gibt es doch die Rufstrategie “nacheinander”, oder verstehe ich die Anforderung falsch?

Wenn sich bei dieser Strategie jemand einbucht, kommt die Reihenfolge durcheinander.

Hi,

bei Nacheinander gibt es glaube ich “eine Besonderheit” im derzeit verwendeten Asterisk, die Reihenfolge der Dynamischen Mitglieder wird durch deren ersten Einbuchen für die Laufzeit des Asterisk bestimmt (also auch bei folgenden anderen Einbuchreihenfolgen wieder so eingenommen).
Du könntest also den Telefoniedienst neustarten, die leute in der gewünschten Reihenfolge über *99… einbuchen und wieder ausbuchen. Dann sollte bis zum nächsten Update/Stromausfall das zumindest so beibehalten werden.
Nicht schön, aber ich denke es gibt auch weitere alternativen, wenn wir die genauen Anforderungen kennen.

Beste Grüße,
Steve

Hi,
entschuldige bitte meine späte Antwort.

Nun ja, die Anforderungen sind folgendermaßen:
Für jeden Benutzer existiert eine bestimmte Reihenfolge der Abwürfe. Während der Geschäftszeiten soll es beim ersten Benutzer 4 Mal klingeln, dann beim zweiten Benutzer 4 Mal usw. Anschlieend springt der AB des ursprünglich Angerufen an.
Wenn ein Benutzer spricht oder abwesend ist, verkürzt sich die Zeit bis zum AB um die entsprechende Klingeldauer 14 Sekunden).
Außerhalb der Geschäftszeiten soll es beim Benutzer 3 Mal klingeln und anschließend sofort der AB rangehen.
Das Ganze habe ich über Warteschlangen geregelt. Um nicht den ganzen Anrufablauf für jeden Nutzer zu definieren, habe ich Vorlagen erstellt, die bei Benutzer-Extern/Vorher auf die entsprechenden Warteschlangen abwerfen (die Nummer wird berechnet). Mit einem Skript lege ich ein Label fest, in dem das Timeout der Warteschlange festgelegt ist.
Wie gesagt, das Ganze funktioniert soweit. Das Problem besteht jedoch darin, dass der Benutzer in der Warteschlange pausieren muss, damit er bei früherem Feierabend, Urlaub usw. in der Warteschlange übersprungen wird, Aus desem Grund benötige ich dynamische Warteschlangen, bei denen ich jedoch das erwähnte Problem des Ein- und Ausbuchens habe.

Hi,

wenn die Agents nach dem Asterisk Neustart in der richtigen Reihenfolge eingebucht werden und im Idealfall sich die Mitglieder nur pausieren und nicht abmelden sollte es wie gewünscht funktionieren.
Ansonsten wäre es möglich durch Label die Abwürfe zwischen den Benutzern ohne ein Team zu steuern, aber ich bin mir nicht sicher ob du hier immernoch mit der gleichen Vorlage arbeiten kannst und ob die Benutzer alle schon ein Timeout von 14 Sekunden haben oder inital einen längern (denn dann würde der Abwurf auf die Benutzer nicht funktionieren).
Früherer Feierabend wäre dann aber auch noch ein Thema. Ggf. Umleitung auf den nächsten in der Reihe setzen, DND oder mittels Arbeitsplätze/Follow Me dafür sorgen, das kein Gerät mehr erreichbar ist.

Grüße,
Steve

Dann müsste ich faktisch für jeden Benutzer in Extern/Vorher mehrere Label setzen, wer in dieser Folge auf wen abwirft. Für den Feierabend könnte man eine Nummer definieren, die über ein Skript entsprechende DWS setzt.
Als Alternative dachte ich mir schon, das SBR zu missbrauchen. Fällt allerdings der Benutzer in den Timeout, kommt nicht der nächste dran, sondern es klingelt wieder bei ihm, da er ja das höchste Skill hat. Und selbst dann hätte ich das Problem, dass nach einem Neustart alle Benutzer erst einmal wieder eingebucht werden müssten.

Hi,

ich meinte eigentlich die Labels dann als Aktionsbedingungen zu nutzen und gar kein Team zu verwenden (also kein skillbased routing). Die Login-Stati in den Teams sollten aber abseits davon auch einen Neustart überleben.

Grüße,
Steve

Ja, anhand der vorher gesetzten Labels kann dann der entsprechende Abwurf erfolgen( die Labels müssen beim ersten Anrufer gesetzt werden, da jeder Benutzer in mehrren Ketten drin sein kann). Anhand eines DWS könnte dann das Weiterreichen an den jewils Nächsten erolgen.