Optimale Einstellungen für kaskadierten Rufablauf

Hallo zusammen,

wir wollen einen kaskadierten Rufablauf realisieren. Es sollen also nach einer gewissen Zeit immer mehr Agenten angeklingelt werden:
Sekunde 1-60 -> Personenkreis X
Sekunde 60-120 -> Personenkreis X + Personenkreis Y
Ab Sekunde 120 -> Personenkreis X + Personenkreis Y + Personenkreis Z

Mein bisheriger Plan war es einfach mehrere Teams mit den jeweiligen Mitgliedern zu erstellen und dann entsprechend nach Ablauf der Zeit über ein Timeout auf das jeweils nächste Team abzuwerfen.
Dies hat jedoch folgende Nachteile:

  • Anrufer haben die Chance sich vorzudrängeln wenn sie genau im Moment des Abwurfs anrufen
  • Die ASA wird verfälscht da sie bei jedem Abwurf wieder auf 0 gesetzt wird (anstatt z.B. bei 61 weiter zu zählen)
  • Auf dem Dashboard lässt sich die Wartezeit eines Anrufers nicht optimal darstellen, da ja auch hier die Zeit bei jedem Abwurf auf 0 gesetzt wird obwohl der Anrufer u.U. bereits zwei Minuten wartet.

Habt ihr solche Rufabläufe schonmal gebaut? Wie seid ihr vorgegangen um diese Probleme zu umgehen?

Viele Grüße
Lukas

Hallo,

Wäre es eventuell eine Option den Timer Warten für Teams in den Follow Me Einstellungen zu verwenden, um die zusätzlichen Agenten nach einer gewissen Zeit erst dazu zu schalten?

Lg
Thomas

Hallo,

Wir haben das mit queuerules gelöst: http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/ACD_id288932.html
Die queuerules.conf muss man zwar per Console erstellen, dann einem Team über die Optionen zuweisen und dann die Agenten mit unterschiedliche Penalty einloggen (machen wir per REST-API).

Das funktioniert stabil und auch, wenn die Agenten in mehreren Teams eingeloggt ist.

Grüße Johannes

Ich hatte den Wunsch auch schon zwei mal bei einem Kunden und habe das dann mit kaskadierten Teams gemacht. Die Sache mit der Auswertung interessiert den Kunden nicht. Es gibt dabei aber ein anderes unschönes Problem. Beispiel: Ein Agent X ist in Team A und in Team B. Zuerst wird der Ruf an Team A signalisiert. Nach dem Timeout wird auf Team B abgeworfen. Wenn Agent X zufällig genau zu dem Zeitpunkt des Abwurfs von Team A nach Team B abnimmt dann hat er keine Chance mehr den Anruf zu bekommen. Im Team A ist der Anruf nicht mehr und für Team B klingelt es bei ihm nicht. Das liegt daran, dass die Signalisierung für Team A gestoppt wird und dann wir für Team B neu signalisiert. Nimmt man gerade in der “Pause” ab hat man verloren.

Es war auch mal so (und ich habe das auch noch so, ob es jetzt ohne, geht weiss ich nicht) dass man auf jeden Fall im extern nachher per Inline-Script wait(1) vor dem Abwurf ins nächste Team setzen musste, da es sonst bei den Agenten die in Team A und B eingebucht waren nach dem Abwurf auf Team B nicht weiter geklingelt hat, da die Telefone noch nicht wieder “bereit” waren einen neuen Call anzunehmen aber die Anlage sofort wieder mit dem Telefon sprechen wollte.

Schon deshalb ist der Ansatz von @pitsol-jheidenreich sicher der bessere und ich meine das ist auch nichts außergewöhnliches und es wäre einen Featurerequest wert.

Stehe aktuell auch vor der Herausforderung, weil halt Anrufe bei der Zentrale nicht bei allen Teammitgliedern gleichzeit klingeln soll. “Warten” kommt nicht in Frage, weil Benutzer in mehreren Teams sind und dann ja immer verzögert gerufen werden.

Und die Rufstrategien funktionieren alle irgendwie nicht wie gewünscht ‘mem-nacheinander-sortiert’ ruft überwiegend den gleiche Benutzer und nur selten andere etc.

Daher schließe ich mich hier einem Feature-Request gerne an.