- Mitglied seit
- 19. November 2022
- Beiträge
- 132
@fxbastler: Ist es möglich, das ganze auch für Windows zu machen? Wenn ja, hättest du hier eine Lösung?
Ich verstehe die Frage nicht. So eine CFA läuft immer auf der 3CX selber. Der Spruch wird an einem Telefon aufgesprochen und per CFA dem IVR zugewiesen.Ist es möglich, das ganze auch für Windows zu machen? Wenn ja, hättest du hier eine Lösung?
string sourceFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/Callflows/ansagen/ansage.wav";
string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/ansage.wav";
File.Delete(destFile); // Move Funktion kann nicht ersetzen, deshalb löschen wir hier das alte File.
File.Move(sourceFile, destFile); // Alternativ geht auch File.Copy(source, dest, true)
File.Delete(sourceFile);
Achso, das ist eine Windows 3CX. Dann müssen nur die Pfade angepasst werden. Das C# Schnipsel ist da nicht generell genug. Das könnte man noch abfragen und entspr. universell einbauen, wurde hier nicht gemacht.Wenn ich jetzt die 3CX nicht auf Linux/Debian installiert habe, sondern Windows, dann würde der Code nicht funktionieren, oder verstehe ich da jetzt was falsch?
C:\ProgramData\3CX\Instance1\Data\Ivr\ sein. Entsprechend die Pfade im C# Schnipsel anpassen.Hallo Zusammen,
bei mir funktioniert auch alles wunderbar. Hat eventuell jemand die Funktion eingebaut, dass man die aktuell eingestellte Ansage abhören kann?
Das ist doppelt gemoppelt. Die Variable extNumber hält den String der Nummer die da anruft. Diese kommt in den Pfad unten.extNumber | String | session.ani
C#
var extension = PhoneSystem.Root.GetDNByNumber(extNumber) as Extension;
übernimmt die Nebenstellennummer aus den Parametern
string sourceFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/Callflows/begruessung/aufname.wav";
("begruessung" = CFD)
string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Voicemail/Data/100/Anwesend.wav";
(hiermit klappt es - der Pfad wird akzeptiert)
string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Voicemail/Data/" + extension + "/Anwesend.wav";
var extension = PhoneSystem.Root.GetDNByNumber... holst du den Zeiger auf eine interne Klasse (mit den Methoden und Daten der DN) und willst die in einen String einbauen. Das kann nicht funktionieren. Einfach weglassen.Habe das Problem auch aktuell :xHallo,
ich habe folgendes Problem:
CFD grün --> Alles sieht sauber aus
Ich nehme eine Ansage auf: Wird positiv bestätigt.
Die Ansage wird jedoch nicht ausgetauscht und die vorherige Ansage bleibt bestehen.
Hat jemand das gleiche Problem oder eine Idee, was ich falsch machen könnte?
Habe ich ebenso eingestellt, aber bringt leider nichts.Fehler gefunden:
IVR_CACHE_DISABLE mit dem Wert 1
Hatte nen Dreher im Parameter drin, jetzt klappts![]()

Copy(sourceFile, destFile, true);
File.Move(sourceFile, destFile);
string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/ansage.wav";
Ich konnte es durch auslesen des Backups selbst herausfinden. Sollte später mal jemand auf diesen Thread stossen.Hallo Zusammen
Weiss jemand wie der Pfad der IVR-Ansagen bei einer Mulitmandaten-Anlage aussieht?
Ich nehme an der Pfad muss das Department beinhalten. Ich habe gerade kein Backend-Access auf eine Multimandanten-Anlage und habe es durch trial and error bis jetzt nicht herausgefunden.C#:string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/ansage.wav";
string destFile = @"/var/lib/3cxpbx/Instance1/Data/Ivr/Prompts/Custom/GRP0023/ansage.wav";
2005 gegründet, als VoIP noch eine aufstrebende Technologie war, hat sich 3CX seither zu einem globalen Marktführer im Bereich der Geschäftskommunikation entwickelt.