Anrufskript: Erstellen eines OpenAI-Echtzeit-Sprachagenten

Einführung

Das Beispiel openaivoiceagent.cs verbindet einen eingehenden 3CX-Anruf mit einer OpenAI-Echtzeit-Sprachsitzung. Es kann Anrufer begrüßen, allgemeine Fragen beantworten, die zugelassenen 3CX-Verzeichniseinträge durchsuchen, Anrufer verbinden, Sprachnachrichten oder Chat anbieten und nützlichen Anruferkontext speichern, wenn diese Funktion aktiviert ist.

Das Skript enthält außerdem ein deaktiviertes benutzerdefiniertes Tool get_department_hours, das demonstriert, wie eine sichere, von KI aufrufbare Funktion registriert wird.

Dieses Skript erfordert eine 3CX AI Edition-Lizenz, ein PBX-Build Update 10 und ein OpenAI-API-Konto.

Erstellen des Anrufskripts in 3CX

  • Melden Sie sich in der 3CX-Verwaltungskonsole an.
  • Gehen Sie zu Admin > Integrationen > Anrufskripte.
  • Wählen Sie +Aus Store hinzufügen.

Erstellen des Anrufskripts in 3CX

  • Wählen Sie openaivoiceagent.cs.

Erstellen des Anrufskripts in 3CX

  • Geben Sie einen kleingeschriebenen Skriptnamen ohne Leerzeichen ein, zum Beispiel openaireception.
  • Wählen Sie aus, wie das Skript ausgeführt werden soll; weisen Sie für einen Empfangsmitarbeiter eine dedizierte DID zu oder leiten Sie die entsprechenden eingehenden Trunk-Anrufe an das Skript weiter.
  • Wählen Sie die Abteilung aus, der das Skript gehört.
  • Bestätigen Sie die Auswahl, um den Code-Editor zu öffnen.

OpenAI und das Skript konfigurieren

Fügen Sie die folgenden Parameter zur PBX hinzu:

  • OPENAI_API_KEY - der API-Schlüssel für Ihr OpenAI-Projekt.
  • OPENAI_REALTIME_MODEL - das OpenAI-Echtzeit-Modell.

Lassen Sie ApiKeyOverride und ModelOverride im Skript leer. Wenn diese Werte leer sind, liest das Skript den API-Schlüssel und das Modell automatisch aus den PBX-Parametern.

Geben Sie den OpenAI-API-Schlüssel nicht direkt im Skript ein, insbesondere wenn das Skript geteilt, exportiert oder veröffentlicht wird. Ein in ApiKeyOverride oder ModelOverride konfigurierter Wert hat Vorrang vor dem entsprechenden PBX-Parameter.

Überprüfen Sie als Nächstes diese Kundyneinstellungen oben in openaivoiceagent.cs:

Einstellung

Zweck

Beispielwert

FallbackDestination

Route, die verwendet wird, wenn Medien oder die KI-Sitzung fehlschlagen

102

VoiceName

Vom Agenten verwendete OpenAI-Stimme

Coral

AgentName

Der Anbietersitzung präsentierter Name

Alex

AllowAllVisibilityForTesting

Macht alle unterstützten Verzeichnisobjekte sichtbar

true

VisibleNumbers

Genehmigte Nebenstellen, Warteschleifen oder Rufgruppen

100, 102

VisibleDepartments

Abteilungen, die die KI durchsuchen darf

Sales, Support

VisibleRoles

Optionale zulässige Rollen

leer

AgentInstructions

Unternehmensidentität, Verhalten und Routing-Regeln

Example Company

AddAll() ist praktisch für einen ersten Test, sollte jedoch vor der Produktion normalerweise deaktiviert werden. Setzen Sie AllowAllVisibilityForTesting auf false und konfigurieren Sie dann nur die Nummern, Abteilungen und Rollen, die der Agent benötigt.

Um das benutzerdefinierte Beispiel-Tool zu aktivieren, überprüfen Sie dessen statische Antwort und entfernen Sie die Auskommentierung von:

RegisterExampleCustomTool();

Ersetzen Sie das Beispiel durch eine vertrauenswürdige Datenquelle, bevor Sie es für echte Kundeninformationen verwenden.

OpenAI und das Skript konfigurieren

Wählen Sie Speichern, um zu kompilieren. Bestätigen Sie, dass die Skriptausgabe eine erfolgreiche Kompilierung meldet, bevor Sie Produktionsverkehr zuweisen.

Wie es funktioniert

  • Ein eingehender Anruf erreicht den Skript-Routensegmentpunkt.
  • Das Skript löscht und erstellt die KI-Verzeichnissichtbarkeitsliste neu.
  • 3CX bereitet den Medienkanal vor.
  • Das Skript startet eine OpenAI-Echtzeit-Sprachsitzung.
  • Der Agent nutzt nur die integrierten 3CX-Funktionen und alle explizit registrierten benutzerdefinierten Tools.
  • Eine erfolgreiche Übermittlung übergibt den Anrufer an das ausgewählte 3CX-Ziel.
  • Wenn die Medieneinrichtung oder die Anbietersitzung fehlschlägt, versucht das Skript die konfigurierte Ausweichroute und spielt die Ansage ERROR ab, falls auch das Routing fehlschlägt.

Testen des Scripts

  • Rufen Sie die zugewiesene DID an und bestätigen Sie die Begrüßung und die ausgewählte Stimme.
  • Suchen Sie nach einer zulässigen Nebenstelle nach Name und Nummer.
  • Bestätigen Sie, dass verborgene Nebenstellen nicht gesucht oder ausgewählt werden können.
  • Testen Sie eine mehrdeutige Verzeichnisübereinstimmung.
  • Testen Sie Weiterleitung, Voicemail bei nicht verfügbarem Nutzer und das Verhalten von Chat-Nachrichten.
  • Verwenden Sie einen ungültigen Anbieterschlüssel in einer Testumgebung und überprüfen Sie das Ausweich-Routing.
  • Beenden Sie das Gespräch natürlich und bestätigen Sie die Bereinigung der Sitzung.

Troubleshooting

  • Anbietersitzung schlägt fehl: Überprüfen Sie OPENAI_API_KEY, das unterstützte Echtzeitmodell, den Netzwerkzugriff, die Lizenzierung und das Ziel-PBX-Build.
  • Der Agent kann einen Nutzer nicht finden: Überprüfen Sie AllowAllVisibilityForTesting, VisibleNumbers, VisibleDepartments und VisibleRoles.
  • Die falschen Objekte sind sichtbar: Rufen Sie Clear() auf, bevor Sie die Produktionssichtbarkeitsliste hinzufügen, und vermeiden Sie AddAll().
  • Ausweichroute funktioniert nicht: Bestätigen Sie, dass das Ziel existiert und aus der zugewiesenen Abteilung erreichbar ist.
  • Keine Fehleransage zu hören: Bestätigen Sie, dass ERROR im aktiven Ansagenseitensatz vorhanden ist.

Siehe auch

Letztes Update

Dieser Leitfaden wurde zuletzt am 21. September 2026 aktualisiert.

https://www.3cx.de/docs/open-ai-voice-agent/