Agente de Voz en Tiempo Real de Grok xAI
Introducción
El ejemplo grokvoiceagent.cs conecta una llamada entrante de 3CX a una sesión de voz en Tiempo Real de xAI Grok. El agente puede atender llamadas, buscar en el directorio de empresas autorizadas, transferir llamadas, ofrecer el servicio de buzón de voz o chat, y guardar el contexto de la llamada cuando esté configurado.
El ejemplo incluye una herramienta personalizada get_department_hours desactivada que muestra cómo registrar una función segura que pueda ser llamada por la IA.
Este script requiere una licencia de 3CX Edición AI, una versión de PBX con el Update 10 y una cuenta API de xAI.
Crear el Script de Llamada en 3CX
- Inicie sesión en la Consola de Administración de 3CX.
- Vaya a Integraciones > Scripts de Llamadas.
- Seleccione +Agregar desde la Tienda.
- Elija grokvoiceagent.cs.
- Introduzca el nombre del script en minúsculas y sin espacios; por ejemplo, grokreception.
- Seleccione cómo se ejecutará el script y asigne el DID, la troncal o el destino interno necesarios.
- Assign the script to a department.
- Continúe con el editor de código.
Configurar xAI y el Script
Agregue los siguientes parámetros protegidos al PBX:
- GROK_API_KEY - la clave API de su cuenta xAI.
- GROK_REALTIME_MODEL - el modelo de voz en Tiempo Real Grok.
Deje ApiKeyOverride y ModelOverride en blanco en el script. Cuando estos valores están en blanco, el script lee automáticamente la clave API y el modelo de los parámetros del PBX.
No introduzca la clave API de Grok API directamente en el script, especialmente si este se va a compartir, exportar o publicar. Un valor configurado en ApiKeyOverride o ModelOverride tiene prioridad sobre el parámetro correspondiente del PBX y, por lo general, solo debe utilizarse para pruebas temporales.
A continuación, revise esta configuración de cliente que se encuentra cerca de la parte superior del script:
Configuración | Objetivo | Valor de ejemplo |
FallbackDestination | Ruta utilizada tras una falla del proveedor o del medio. | 102 |
VoiceName | Voz en tiempo real de Grok. | Eve |
AgentName | Nombre del agente en la sesión. | Eve |
AllowAllVisibilityForTesting | Permite una amplia visibilidad durante las pruebas iniciales. | true |
VisibleNumbers | Destinos de 3CX aprobados explícitamente. | 100, 102 |
VisibleDepartments | Departamentos aprobados. | Ventas, Soporte |
VisibleRoles | Filtro de roles opcionales. | vacío |
AgentInstructions | Conducta de la empresa y política de enrutamiento. | Compañía de Ejemplo |
Antes de la puesta en producción, configure AllowAllVisibilityForTesting en false y exponga únicamente los objetos de directorio necesarios.
Para activar el ejemplo de herramienta opcional, revise su controlador y elimine el comentario de:
RegisterExampleCustomTool();
Seleccione Guardar y confirme la compilación exitosa en la salida del Script.
Cómo Funciona
- La persona que llama llega al script.
- El script crea una lista de visibilidad restringida de directorios.
- 3CX prepara el canal de medios e inicia la sesión de voz en tiempo real de Grok.
- El agente conversa con la persona que llama y utiliza las funciones aprobadas de 3CX.
- Las transferencias se realizan mediante herramientas, en lugar de acuerdos verbales.
- En caso de falla del proveedor o del medio, la llamada se redirige al servicio de respaldo configurado.
Probar el Script
- Confirma la voz de Grok seleccionada y el comportamiento multilingüe.
- Busca extensiones permitidas y ocultas.
- Confirma que el agente realice una transferencia después de que la persona que llama dé su confirmación.
- Prueba el buzón de voz y el chat cuando un usuario no esté disponible.
- Se despide y verifica que la sesión se cierre normalmente.
- Prueba de fallo del proveedor y comportamiento de recuperación.
Solución de Problemas
- La sesión falla de inmediato: Verifique GROK_API_KEY, el modelo compatible, la licencia, la versión del PBX y la conectividad con el proveedor de llamadas salientes.
- Se anuncia la transferencia, pero no se lleva a cabo: Confirme que las instrucciones personalizadas sigan requiriendo la herramienta de conexión y que no hayan sido sobrescritas.
- La búsqueda en el directorio arroja demasiados resultados: Desactive AddAll() y restrinja la visibilidad.
- El plan de respaldo falla: Verifique los permisos del destino y del departamento.
- Falta el mensaje de solicitud: Confirme que ERROR exista en el conjunto de mensajes activo.
Ver También
- Crear un Script de Procesamiento de Llamadas.
- Ejemplo de Script para el Procesamiento de Llamadas por PIN.
- Manual del Administrador 3CX.
Última Actualización
Este documento se actualizó por última vez el 30 de Julio de 2026
