Hallo,
sollte der Status der Nebenstelle auf verfügbar stehen, soll der call auf eine Mailbox geleitet werden, ist ein anderer Status eingerichtet, wie Abwesend etc. dann soll das passieren wie es im Status eingestellt ist. Ich denke man liest den Status mit dem Befehl "GetExtensionStatus" aus.
Ja,
mit GetExtensionStatus bekommt man drei Variablen zurück: den Status der NSt., dessen Namen und die Verfügbarkeit der NSt. (
IsInCall - ob bereits ein Anruf dort geführt wird oder nicht).
Eine gezielte Weiterleitung von einer CFA auf eine Mailbox wird ein klein wenig schwierig: eine CFA kann entweder selber einen Anruf aufnehmen und weiterverarbeiten (quasi als Mailbox ohne Nebenstelle und erst einmal ohne Abruf) oder den Anruf an eine NSt. weiterleiten (aber das nicht gezielt auf die Mailbox einer NSt.).
Alternativ (wegen der Mailbox) müsste die NSt. durch die CFA in einen Status gebracht werden, in dem die NSt. alle Anrufe an deren eigene Mailbox weiterleitet (Umschaltung Status der NSt. mit
SetExtensionStatus in einen Status, in dem alle eingehenden Anrufe sofort auf der Mailbox enden), die CFA leitet den Anruf dann an die NSt. weiter (der Anruf geht geplant auf die Mailbox) und nach der Weiterleitung (z.B. im
Disconnect Handler Flow der CFA, siehe
Reiter unten) schaltet die CFA diese NSt. wieder in den vorigen Status (vmtl. Verfügbar).
Ich hatte mir gedacht das man das in Kombination mit "CreateCondition" machen kann, leider finde ich nicht, was für Parameter eingetragen werden müssen.
Richtig. Die Condition kann man sich mit klicken auf das
[...] oder
fx zusammenbauen. Wenn dir der Aufruf und die Funktionen des Condition Editor nicht so geläufig sind, siehe z.B.
hier ab 4:16. Die Rückgabewerte zuvor abgearbeiteter CFD Blöcke ist dort unter
Variables zu finden. Eine denkbare Möglichkeit als Beispiel für dich ist:
EQUAL(GetExtensionStatus1.CurrentProfile,"Available"), evtl. noch mit weiteren
OR verknüpft.
Der CFD Block
Create a Condition ist beliebig um weitere Abzweigungen (und somit Prüfungen) erweiterbar. Die werden nacheinander von links nach rechts nach der Regel 'first match wins' abgearbeitet. Die kann man auch hinterher nach links und rechts (wg. der Priorität) verschieben. Alle Zweige bis auf den letzten erfordern eine Condition. Die letzte Abzweigung wird immer in dem Fall ausgeführt, dass keine andere vorher trifft.
Hat jemand das schon einmal gebaut?
ja
Grundsätzlich: wenn die Funktion eines CFD Blockes unklar ist - einfach
F1 drücken.