• Eigenständig gehostete oder lokal installierte Instanzen sind komplexer in der Einrichtung und Fehlerbehebung und erfordern daher kostenpflichtigen technischen Support. Kostenlosen Support erhalten Sie mit 3CX StartUP oder einer gehosteten 3CX-Installation mit einen unterstützten SIP-Trunk-Anbieter.

Anleitung: IVR Ansage mit CFD per Nebenstelle ändern

@fxbastler: Ist es möglich, das ganze auch für Windows zu machen? Wenn ja, hättest du hier eine Lösung?
 
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.

Du willst das von einem PC aus steuern? Wie stellst du dir den Programmablauf vor? Wo und wie soll Audio aufgenommen werden? Wie soll die 3CX das Audio bekommen? Da gibt es auf einmal sehr viele offene Fragen und Baustellen.
 
Dieser C# Code ist ja für Linux Systeme, um die Datei entsprechend zu löschen und die neue kopieren:

C#:
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);

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?
 
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?
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.

Such mal unter Windows den Stammpfad der Instance1\Data\Ivr. Das müsste 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?
 
Hallo Zusammen,
bei mir funktioniert auch alles wunderbar. Hat eventuell jemand die Funktion eingebaut, dass man die aktuell eingestellte Ansage abhören kann?

Ich verwende für den Status eine "Dummy" Nebenstelle und route externe Gespräche entsprechend der Status dann weiter. Interne Gespräche leite ich an verschiedene IVR, je nach Status mit unterschiedlicher Ansage.

Also zB: Dummy Nebenstelle ist 35
Verfügbar = Tag = Intern an IVR Ansage Status Tag, Extern an Warteschleife
DND = Nacht = Intern an IVR Ansage Status Nacht, Extern an IVR Nacht
Benutzer 2 = Urlaub = Intern an IVR Ansage Status Urlaub, Extern an IVR Urlaub

interne und externe Ansagen sind andere, zB. bei intern IVR Ansage Status Nacht wird nur gesagt, der Status ist Nacht, wobei bei extern IVR Nacht die Geschäftszeiten des Kunden angesagt werden

Bevor sich aber deine Frage jetzt ausweitet, solltest du ein eigenes Thema aufmachen - ist OffTopic hier :)
 
Auch wieder eine super Anleitung! Danke...

In Anlehnung auch an diese, versuche ich die individuellen Ansagen der Ext anzupassen.
Ich bekomme es aber nicht hin, dass das Skript einen "variablen" Pfad akzeptiert.
Was mache ich falsch ?

Input Parameter:
extNumber | String | "100"
(zum Test ein String, soll eigentlich die eigene Nebenstellenummer sein über eine Variable [session.ani])
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";
(hiermit nicht)

Danke für eure Hilfe.
 
Lösung: nicht immer so komliziert denken!

Input Parameter:
extNumber | String | session.ani
C#
destFile = "/var/lib/3cxpbx/Instance1/Data/Ivr/Voicemail/Data/" + extNumber + "/Anwesend.wav";

Somit wird dann die Ansage (hier "Anwesend.wav") unter den passenden Promptsets abgespeichert.
 
  • Like
Reaktionen: mr412 und fxbastler
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";
Das ist doppelt gemoppelt. Die Variable extNumber hält den String der Nummer die da anruft. Diese kommt in den Pfad unten.

Mit der Zeile 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.

Edit: hast es eben selber gemerkt, sehr gut
 
Kann ich irgendwo den Namen der laufenden CFD abfragen?

1678977496488.png



Erledigt:
Parameter -> session.audio.Folder ;-)
 
Zuletzt bearbeitet:
Hallo,

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?
 
Starte mal den IVR Dienst neu? Schon mal geprüft ob die Datei wirklich nicht ausgetauscht wurde?
 
Fehler gefunden:

IVR_CACHE_DISABLE mit dem Wert 1
Hatte nen Dreher im Parameter drin, jetzt klappts :)
 
  • Like
Reaktionen: bitn2
Ich wollte mich hier auch noch mal bedanken, hat wunderbar Funktioniert, ich verwende es aber für eine Mailbox Ansage und nicht für IVR
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
21.237
Beiträge
106.833
Mitglieder
70.391
Neuestes Mitglied
noel-johnny
Holen Sie sich 3CX - völlig kostenlos!

Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX register cta
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.