TXT oder CSV mit CFD "lesen" und in Variable übernehmen.

sbcom4113

Silver Partner
Advanced Certified
Mitglied seit
2. Oktober 2019
Beiträge
9
Hallo Forum,

ich möchte mit dem CFD den Wert in einer TXT oder CSV lesen und in eine Variable eintragen. Dazu habe ich im Main.flow mal eine Variable angelegt z.B. contentStatus. In der TXT bzw. CSV steht nur eine
Zahl drinnen, mit der ich dann "weiterarbeiten" möchte ... mit der Read/Write Komponente mache ich ein READ vom File (korrekter Pfad eingestellt und auch geprüft ob Zugriff) auf den Content "callflow$.contentStatus". Da das ganze nicht zum gewünschten Ergebnis geführt hat, habe ich eine "Logger" eingefügt ==> Im Callflow.log wird alles ausgeführt, jedoch wird offensichtlich
der Wert der CSV nicht in die Variable übernommen. Die Zeile des Logs für den übernommen Wert sieht so aus: CallFlow.CFD.LoggerComponent 'LogStatusContent' -

Hat jemand bitte einen Ansatz für mich wieso der Inhalt der CSV nicht in die Variable übernommen wird? Vielen Dank für Eure Hilfe! bG
 
Bei mir funktioniert das, sofort.

Hinweis am Rande: der Standard Dateipfad für CFD Dateioperationen ist
/var/lib/3cxpbx/Instance1/Data/Callflows/Files/ und der user phonesystem sollte wenigstens Leseberechtigung haben.
 
Danke für Deine Antwort. Dem Pfad nach verwendest Du V18 oder? ... Ich versuch das mit V20 und hier ist der Pfad ja anders bzw. der Pfad ist - laut meinen Tests - nicht das Problem. Den pfad bzw. txt findet der Call Flow ... nur die Übergabe an die Variable scheitert offensichtlich bzw. wird nicht umgesetzt und der Eintrag im log bleibt deshalb leer.
 
Dem Pfad nach verwendest Du V18 oder?
Nein. Der Pfad ist auch bei einer v20 so.

Der Standardpfad des System Benutzers phonesystem ist immer
/var/lib/3cxpbx . Der Pfad der zugreifbaren Dateien (ausser man wechselt, evtl. höher, sofern das wirklich funktioniert) ist wie oben angegeben.

Ich weiss ja nicht, wie du den Zugriff testest. Was sagt denn die Datei
/var/lib/3cxpbx/Instance1/Data/Logs/3CXCallFlow.log während des Lauf's der CFD App?
Ich lasse immer ein tail -f /var/lib/3cxpbx/Instance1/Data/Logs/3CXCallFlow.log mitlaufen.

Kann denn der System Benutzer phonesystem die Datei wirklich lesen?
Bash:
sudo -u phonesystem /bin/bash
cat <filename>

Nachtrag: der Test vorhin lief auf einer v20 (upgraded von einer v18).
 
# der Standardordner bei einer V20 (jungfräulich) lautet: /var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/Callflows/ (zumindest bei mir)
# und ja der phonesystem-User hat Zugriff bzw. bringt beim "bash" exakt den Inhalt der CSV
# die LOG sagt:
2024/07/08 15:31:45.769|65788|0004|Info|ScriptRunner.ScriptRunner-CallStorageSize=1(1)
2024/07/08 15:31:45.772|65788|0014|Info|CallPair._877_23.Main.82.[C:21.4]-From script: testvorlage - CallID abe48a9290010000_21 - CallFlow.CFD.LoggerComponent 'LogStatusContent' -
2024/07/08 15:31:52.186|65788|0004|Info|ScriptRunner.ScriptRunner-CallStorageSize=1(1)
 
Auf was für einem Level steht denn der CFD Baustein Logger (Error ist immer gut) und was genau soll der als Text ausgeben?

Wie gesagt, bei mir funktioniert das
 

Anhänge

Statistik des Forums

Themen
44.414
Beiträge
232.715
Mitglieder
78.328
Neuestes Mitglied
as7h