Anrufkript: Erstellen eines Grok xAI-Echtzeit-Sprachagenten
Einführung
Das Beispiel grokvoiceagent.cs verbindet einen eingehenden 3CX-Anruf mit einer xAI Grok-Echtzeit-Sprachsitzung. Der Agent kann Anrufer beantworten, das genehmigte Unternehmensverzeichnis durchsuchen, Anrufe verbinden, Sprachnachrichten oder Chat anbieten und den Anruferkontext speichern, wenn dies konfiguriert ist.
Das Beispiel enthält ein deaktiviertes benutzerdefiniertes Tool get_department_hours, das demonstriert, wie eine sichere, vom KI-Agenten aufrufbare Funktion registriert wird.
Dieses Skript erfordert eine 3CX AI Edition-Lizenz, ein PBX-Build Update 10 und ein xAI-API-Konto.
Erstellen des Anrufskripts in 3CX
- Melden Sie sich an der 3CX-Verwaltungskonsole an.
- Öffnen Sie Admin > Integrationen > Anrufskripte.
- Wählen Sie +Aus Store hinzufügen.
- Wählen Sie grokvoiceagent.cs.
- Geben Sie einen kleingeschriebenen Skriptnamen ohne Leerzeichen ein, zum Beispiel grokreception.
- Wählen Sie aus, wie das Skript ausgeführt werden soll, und weisen Sie die erforderliche DID, Trunk-Route oder das interne Ziel zu.
- Weisen Sie das Skript einer Abteilung zu.
- Fahren Sie mit dem Code-Editor fort.
xAI und das Skript konfigurieren
Fügen Sie die folgenden geschützten Parameter zur PBX hinzu:
- GROK_API_KEY - der API-Schlüssel für Ihr xAI-Konto.
- GROK_REALTIME_MODEL - das Grok Realtime-Sprachmodell.
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 Grok-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 und sollte normalerweise nur für temporäre Tests verwendet werden.
Überprüfen Sie als Nächstes diese Kunden-Einstellungen weit oben im Skript:
Einstellung | Zweck | Beispielwert |
FallbackDestination | Route nach Anbieter- oder Medienfehler | 102 |
VoiceName | Grok Realtime-Stimme | Eve |
AgentName | Name der Agentensitzung | Eve |
AllowAllVisibilityForTesting | Ermöglicht breite Sichtbarkeit während der ersten Tests | true |
VisibleNumbers | Explizit genehmigte 3CX-Ziele | 100, 102 |
VisibleDepartments | Genehmigte Abteilungen | Sales, Support |
VisibleRoles | Optionaler Rollenfilter | leer |
AgentInstructions | Unternehmensverhalten und Routing-Richtlinie | Beispielsfirma |
Setzen Sie AllowAllVisibilityForTesting vor der Produktion auf false und geben Sie nur die erforderlichen Verzeichnisobjekte frei.
Um das optionale Tool-Beispiel zu aktivieren, überprüfen Sie dessen Handler und entfernen Sie die Einkommentierung:
RegisterExampleCustomTool();
Wählen Sie Speichern und bestätigen Sie die erfolgreiche Kompilierung in der Skriptausgabe.
So funktioniert es
- Der Anrufer erreicht das Skript.
- Das Skript erstellt eine eingeschränkte Verzeichnissichtbarkeitsliste.
- 3CX bereitet den Medienkanal vor und startet die Grok Realtime-Sprachsitzung.
- Der Agent spricht mit dem Anrufer und ruft genehmigte 3CX-Funktionen auf.
- Weiterleitungen werden über Tools und nicht über konversationelle Versprechungen ausgeführt.
- Anbieter- oder Medienfehler leiten den Anrufer zum konfigurierten Fallback weiter.
Testen Sie das Skript
- Bestätigen Sie die ausgewählte Grok-Stimme und das mehrsprachige Verhalten.
- Suchen Sie nach erlaubten und verborgenen Nebenstellen.
- Bestätigen Sie, dass der Agent nach Bestätigung des Anrufers eine Weiterleitung ausführt.
- Testen Sie Sprachnachrichten und Chat, wenn ein Nutzer nicht verfügbar ist.
- Sagen Sie Auf Wiedersehen und verifizieren Sie, dass sich die Sitzung normal schließt.
- Testen Sie Anbieterfehler und Fallback-Verhalten.
Fehlerbehebung
- Sitzung schlägt sofort fehl: Überprüfen Sie GROK_API_KEY, das unterstützte Modell, die Lizenz, das PBX-Build und die ausgehende Anbieterkonnektivität.
- Weiterleitung wird angekündigt, aber nicht ausgeführt: Bestätigen Sie, dass die benutzerdefinierten Anweisungen weiterhin das Verbindungstool erfordern und nicht überschrieben wurden.
- Verzeichnissuche liefert zu viel zurück: Deaktivieren Sie AddAll() und schränken Sie die Sichtbarkeit ein.
- Fallback schlägt fehl: Überprüfen Sie das Ziel und die Abteilungsberechtigungen.
- Ansage fehlt: Bestätigen Sie, dass ERROR im aktiven Ansagenset vorhanden ist.
Siehe auch
- Erstellen eines Anrufverarbeitungsskripts
- Beispiel-Anrufverarbeitungsskript für PIN
- 3CX-Administrationshandbuch
Letztes Update
Dieser Leitfaden wurde zuletzt am 21. September 2026 aktualisiert.
