CFD - Extension Settings auslesen und Manipulieren

suessmilch

Silver Partner
Mitglied seit
7. Dezember 2020
Beiträge
27
Guten Morgen,

ich habe einen Komplexen Call Flow erstellt.
Diesen möchte ich erweitern um zwei Features:

1. Kontroll Variable, die bei Anruf gesetzt wird und später ausgelesen wird ==> Realisiert über eigenen globalen Parameter
2. Das Weiterleitungsverhalten von Verfügbar einer Nebenstelle auslesen, in weiterer globalen Variable oder DN Parameter speichern.

Beispiele:
Anruf kommt zu Nebenstelle 123
hier soll ausgelesen werden was mit Internen / Externen Anrufen passiert als Weiterleitungsregel für den Status verfügbar explizit für den Parameter "Nach Überschreitung des Zeitlimits interne / externe Anrufe weiterleiten an:"

z.b. soll für Intern Anruf beenden gespeichert werden in die neue Variable RBFLOWINTERNMETHOD / RBFLOWEXTERNMETHOD und fall bei Methode ein Ziel angeben ist, soll dieses in RBFLOWINTERNDESTINATION / RBFLOWEXTERNDESTINATIONgespeichert werden, wäre z.b. für Mailbox einer Nebenstelle der Fall, an Nebenstelle Weiterleiten sowie an Nummer weiterleiten.
Nachdem die Informationen gespeichert wurden soll das Verhalten geändert werden in nach Überschreitung des Zeitlimits interne / externe Anrufe weiterleiten an: NEBENSTELLE und NUMMER 666

Ich möchte NICHT den Status der Nebenstelle ändern von Abwesend zu Verfügbar, sondern explizit die Weiterleitungseinstellungen auslesen / ändern.
 
Hallo @suessmilch

Schau dir einmal dieses Schnipsel an. Da steht konkret mit einem Beispiel und Kommentaren beschrieben, wie man die 3CX Weiterleitungsregeln setzt.

So ähnlich werden die Daten auch ausgelesen, hier einige Stichpunkte dazu:
C#:
var ext = PhoneSystem.Root.GetDNByNumber(strExtNr) as Extension;
var profile=ext.FwdProfiles.Where( x => x.Name == "Available").First(); // 'Available', 'Away', 'Out of office', 'Custom 1', 'Custom 2', maybe parameter?
if( profile != null ) {
    // DestinationStruct need 3 parameter
    // 1 DestinationType: 'None', 'VoiceMail', 'Extension', 'Queue', 'RingGroup', 'IVR', 'External', 'Fax', 'Boomerang' (external number),
    //                    'Deflect', 'VoiceMailOfDestination', 'Callback' (reserved), 'RoutePoint'
    // 2 internal DN, maybe select by parameter  - OR -
    // 3 external number as string, maybe select by parameter
   
    // profile.External.AllCalls.Internal.Number bietet z.B. hier die Nummer der Weiterleitung auf eine int. NSt.
}

Das sauber auszulesen ist nicht ganz trivial, da so ein FwdProfiles eine sehr variable Destinationstruct ist. Setzen ist einfacher als zuverlässig lesen, wenn man nicht weiss was einen erwarten kann.
 
Vielen Dank,

das habe ich mir angeschaut und etwas modifiziert.
Funktioniert teilweise, ganz gut, ich kann das Ziel setzen wie gewünscht.
Auslesen scheitert noch.
Und was ich leider nicht finde, ist eine ordentliche Dokumentation dazu.
Ich müsste die Zeit bis die Weiterleitung greift noch ändern müssen. Leider finde ich dazu keine passende Methode dazu :(
 

Statistik des Forums

Themen
44.414
Beiträge
232.716
Mitglieder
78.330
Neuestes Mitglied
uvitas