Skill-Based-Routing: Label in LUA-Script setzen

Gehe ich nach der Dokumentation, dann müsste der Parameter vars in der Funktion “calc_metric” alle Channel-Variablen, also auch die Labels beinhalten. Versuche ich nun folgendes in der Methode:

function calc_metric(member, entry, vars)

vars[“MDC_LABEL-43”] = 8
return 0
end

Passiert gar nichts. Da ich per Pascom Cloud auch keinen Zugriff auf die CLI habe, kann ich nicht mal sehen, ob zumindest intern im Channel die Variable gesetzt wird. Dies möchte ich erstmal machen, um zu schauen, in wieweit ich Zugriff auf den aktiven Channel habe.

Grundsätzlich möchte ich folgendes machen:

Innerhalb des Skill-based Routing Scripts möchte ich prüfen, wie viele freie, gesprächsbereite Agenten es mit dem entsprechenden Skill gibt (erstmal unabhängig vom Niveau).

Weitergedacht möchte ich dann weitere Variablen setzen, die dann unterteilen, wie viele Gesprächsbereite Agenten es mit welchem Niveau gibt:

SBR_AGENTS_READY = 8
SBR_AGENTS_READY_NIVEAU_3 = 2
SBR_AGENTS_READY_NIVEAU_2 = 4 (mind. 2)
SBR_AGENTS_READY_NIVEAU_1 = 8 (mind. 1)

Fürs erste möchte ich aber erstmal eine Variable setzen können, die ich dann auch im Pascom Client sehe. Da ich über die Cloud keinen Zugriff auf die CLI habe, ist das meine einzige Möglichkeit zu debuggen. So könnte ich zumindest ziemlich einfach die Anzahl der Mitarbeiter mit dem Skill ermitteln, ohne Niveau und könnte so schonmal darauf reagieren, wenn keiner mit entsprechenden Skill vorhanden ist.

In den Rest fuchse ich mich dann selber ein.

Keiner, der mir da weiterhelfen kann? Ich brauche nur die Möglichkeit das Label zu setzen. Den Rest bekomme ich alleine hin!

Wenn ich ein Lua-Aktions-Script erstelle und dies in Extern\Vorher ausführe, dann funktioniert das Setzen einer Variable. Jetzt allerdings funktionieren meine Asterisk-Variablen nicht.

Kennt jemand das Pendant zu QUEUE_MEMBER(queue_name, option, interface) für LUA?

Folgendes funktioniert einfach nicht:

app.QUEUE_MEMBER(Sales,ready):get()

Ich hab’s durch probieren herausgefunden. Für alle anderen. Mit folgenden Code bekommt ihr per LUA-Script alle aktiven, freien Agenten einer Warteschleife.

channel[“QUEUE_MEMBER(queue_name,option)”]:get()

Ich bin drauf und dran das Ding so zu skripten, wie ich es benötige. :wink: