Создание голосового агента Grok xAI Realtime

Введение

Пример скрипта grokvoiceagent.cs подключает входящий вызов 3CX к голосовой сессии xAI Grok. Агент может отвечать на звонки, выполнять поиск по разрешенной корпоративной телефонной книге, соединять вызовы, предлагать голосовую почту или чат, а также сохранять контекст абонента при соответствующей настройке.

Скрипт также включает отключенный пользовательский инструмент get_department_hours , который демонстрирует, как зарегистрировать безопасную функцию, вызываемую ИИ.

Для этого скрипта требуется лицензия 3CX AI, сборка АТС Update 10 и учетная запись xAI API.

Создание скрипта обработки вызова в 3CX

  • Войдите в консоль администратора 3CX.
  • Перейдите в Integrations > Call Scripts.
  • Нажмите +Add from Store.

  • Выберите grokvoiceagent.cs.

  • Введите имя скрипта строчными буквами без пробелов, например grokreception.
  • Выберите, как будет запускаться скрипт, и назначьте необходимый DID, маршрут транка или внутреннее направление.
  • Выберите отдел (Department), которому принадлежит скрипт.
  • Продолжите в редакторе кода.

Настройка xAI и скрипта

Добавьте следующие параметры в АТС:

  • GROK_API_KEY - API-ключ для вашей учетной записи xAI.
  • GROK_REALTIME_MODEL - модель Grok Realtime.

Оставьте ApiKeyOverride и ModelOverride в скрипте пустыми. Если эти значения не заполнены, скрипт автоматически считывает API-ключ и модель из параметров АТС.

Не вводите API-ключ Grok непосредственно в скрипт, особенно если он будет передаваться, экспортироваться или публиковаться. Значение, настроенное в ApiKeyOverride или ModelOverride, имеет приоритет над соответствующим параметром АТС.

Затем просмотрите следующие пользовательские настройки в верхней части скрипта:

Настройка

Назначение

Пример значения

FallbackDestination

Маршрут, используемый при сбое медиа или сессии ИИ

102

VoiceName

Голос Grok realtime, используемый агентом

Eve

AgentName

Имя сессии

Eve

AllowAllVisibilityForTesting

Полный доступ к телефонной книге для начального тестирования

true

VisibleNumbers

Разрешенные добавочные номера, очереди или группы вызовов

100, 102

VisibleDepartments

Отделы, в которых ИИ может выполнять поиск

Sales, Support

VisibleRoles

Опциональные разрешенные роли

empty

AgentInstructions

Идентификация компании, поведение и правила маршрутизации

Example Company

Перед развертыванием в рабочей среде установите для параметра AllowAllVisibilityForTesting значение false и настройте минимально необходимый список видимости.

Чтобы включить пример опциональной функции, проверьте ее данные и раскомментируйте:

RegisterExampleCustomTool();

Нажмите Save и убедитесь в успешной компиляции.

Как это работает

  • Входящий вызов поступает в скрипт.
  • Скрипт создает ограниченный список видимости телефонной книги.
  • 3CX подготавливает медиаканал и начинает голосовую сессию Grok.
  • Агент общается с абонентом и вызывает разрешенные функции 3CX.
  • Перевод вызовов осуществляется с помощью инструментов, а не просто голосовыми обещаниями.
  • При сбое провайдера или передачи медиа абонент направляется на настроенный резервный маршрут.

Тестирование скрипта

  • Проверьте выбранный голос Grok и поведение системы в зависимости от языка звонящего.
  • Выполните поиск разрешенных и скрытых объектов телефонной книги.
  • Убедитесь, что агент выполняет перевод вызова после подтверждения абонентом.
  • Протестируйте голосовую почту и чат при недоступности пользователя.
  • Попрощайтесь и убедитесь, что сессия завершается корректно.
  • Протестируйте поведение системы при сбое провайдера и работу резервного маршрута.

Устранение неполадок

  • Сессия сразу завершается с ошибкой: Проверьте GROK_API_KEY, поддерживаемую модель, лицензию, сборку АТС 3CX и подключение к провайдеру исходящей связи.
  • Перевод вызова озвучивается, но не выполняется: Убедитесь, что пользовательские инструкции по-прежнему требуют использования инструмента соединения и не были перезаписаны.
  • Поиск по телефонной книге выдает слишком много результатов: Отключите функцию AddAll() и ограничьте видимость.
  • Резервный маршрут не работает: Проверьте назначение и права доступа отдела.
  • Отсутствует промпт: Убедитесь, что сообщение ERROR присутствует в активном наборе голосовых сообщений (prompt set).

Дополнительная информация

Версия документа

Последнее обновление документа 30 июля 2026

https://www.3cx.ru/docs/grok-ai-voice-agent/