Programlanabilir Dahililer için AI Sağlayıcılar

Giriş

3CX Programlanabilir Dahililer geliştiricilerin 3CX Telefon Sistemi üzerinden canlı aramaları yöneten yapay zeka ajanları oluşturmasına izin verir.

3CX Ajentic Çağrı Kontrolü, bu AI temsilcilerini oluşturmak için hazır kod örneklerinden oluşan bir settir. Her örnek, bir Programlanabilir Dahili Hattı OpenAI, xAI, Gemini veya Qwen gibi gerçek zamanlı bir AI sağlayıcısına bağlar ve ilgili 3CX çağrı kontrol işlevlerini temsilciye sunar.

Bu kılavuzda, OpenAI, xAI, Gemini veya Qwen'i nasıl seçeceğiniz, ilgili örneği 3CX ve sağlayıcı kimlik bilgilerinizle nasıl yapılandıracağınız, örneği nasıl başlatacağınız ve bir test araması nasıl yapacağınız anlatılmaktadır.

Başlamadan Önce

3CX Ajantik Çağrı Kontrolü kaynak kodunu indirin ve açın. Dört örnek de aynı pakette yer almaktadır.

OpenAI, xAI, Google Gemini veya Alibaba Cloud Qwen’den birini seçin, ardından o sağlayıcıya ait örnek klasörü ve yapılandırma değerlerini kullanın.

  • Yönetici > Entegrasyonlar > API’ye erişimi olan ve bir Hizmet Sorumlusu oluşturabilen bir 3CX yöneticisi.
  • Node.js 20+ sürümünün kurulu olması. Yarn 4, depo ile birlikte gelir.
  • Seçtiğiniz AI sağlayıcısının gerçek zamanlı hizmetine erişim sağlayan bir API anahtarı.
  • AI temsilcisiyle test araması yapmak için Web İstemcisi, mobil uygulama veya masaüstü telefon gibi çalışan bir 3CX dahilisi.

Örnekleri Alın

3CX Ajantik ÇAğrı Kontrolü kaynak kodunu indirdikten sonra ana klasöre gidin; bu klasörde package.json, examples ve packages klasörleri bulunur.

examples klasöründe, ilgili sağlayıcıya özgü Agentic Call Control kodunu bulacaksınız:

  • examples/openai-realtime
  • examples/xai-realtime
  • examples/gemini-realtime
  • examples/alibaba-qwen-realtime

Her bir örnek klasörün içinde config.yaml.example dosyasını bulacak ve bu dosyayı kopyalayıp kopyasını config.yaml olarak yeniden adlandırmanız gerekecektir. Gerekirse orijinal örnek ayarlara geri dönebilmek için config.yaml.example dosyasını değiştirmeyin.

config.yaml dosyası, programlanabilir dahili kodunun çalışmasını sağlayan PBX bağlantısı ve sağlayıcı ayarlarını içerir.

After downloading the 3CX Agentic Call Control source code, go to the main folder; this contains package.json, examples and packages.

Bir 3CX Hizmet Sorumlusu Oluşturun

PBX’te Yönetici > Entegrasyonlar > API’yi açın ve Bir Servis Sorumlusu Ekle’yi seçin.

  1. Bir İstemci Kimliği girin. Ör: “asistan”.

Create a 3CX Service Principal

  1. Bu uygulama için 3CX Çağrı Kontrol API'sine erişimi etkinleştiri etkinleştirin.
  2. Temsilci için sistem genelinde kişi arama ve durum kontrolü özelliklerini kullanmak istiyorsanız, ayrıca şunu da etkinleştirmeniz gerekir: “Bu uygulama için 3CX Yapılandırma API'sine (XAPI) erişimi etkinleştir”. Temsilcinin sahip olmasını istediğiniz yeteneklere göre bölüm ve rolü ayarlayın.

Add API Key

  1. 3CX API anahtarı güvenli bir yerde saklayın..

Bir Sağlayıcı Seçin ve confil.yaml Dosyasını Yapılandırın

OpenAI

  • config.yaml dosyasında şunları girin:
  • appId: PBX Entegrasyonlar > API > İstemci Kimliği‘den İstemci Kimliği
  • appSecret: Entegrasyonlar > API > API Anahtarı Üret‘ten Hizmet Sorumlusu PBX API anahtarı
  • pbxBase: PBX adresi
  • openaiApiKey: OpenAI API Anahtarları’ndan OpenAI API anahtarı

Bağımlılıkları kurun ve OpenAI örneğini başlatın:

yarn install

yarn start:openai

Başarılı bir OpenAI başlangıç günlüğü şunları içerir:

openai-realtime starting

   3CX PBX: https://your-pbx.3cx.eu:5001

   OpenAI model: <configured model>

   OpenAI voice: <configured voice>

   Agent profile: receptionist (role: receptionist)

   SDK connected (auth + WebSocket + state)

[MCP] connected to https://your-pbx.3cx.eu:5001/mcp

   MCP tools (1/8):

     ✗ list_peers: List internal numbers of any type (extensions, queues, ring groups, IVRs, etc.). Supports filtering by name, number, or type.

     ✗ get_server_time: Get the current server time in UTC and local timezone.

     ✗ get_edit_url: Get a clickable link to open a DN (extension, queue, ring group, IVR, trunk, etc.) in the management UI editor.

     ✗ find_extension: Find a contact by exact extension number

     ✗ control_participant: Control an active call participant: drop, answer, divert, routeto, or transferto.

     ✗ find_by_email: Find a contact by email address

     ✗ list_crm_contacts: Search for contacts in CRM (Customer Relationship Management) system

     ✓ list_phonebook: Search for contacts in the phonebook by name, number, email, or company

[CallStore] initialized (OpenAI Realtime mode)

All systems ready (OpenAI Realtime mode)

xAI

  • config.yaml‘da şunları girin:
  • appId: PBX Entegrasyonlar > API > İstemci Kimliği‘den İstemci Kimliği
  • appSecret: Entegrasyonlar > API > API Anahtarı Üret‘ten Hizmet Sorumlusu PBX API anahtarı
  • pbxBase: PBX adresi
  • xaiApiKey: console.x.ai’dan xAI API anahtarı

Bağımlılıkları kurun ve xAI örneğini başlatın:

yarn install

yarn start:xai

Başarılı bir xAI başlangıç günlüğü şunları içerir:

xai-realtime starting

   3CX PBX: https://your-pbx.3cx.eu:5001

   Agent profile: receptionist (role: receptionist)

   xAI Voice: tara

   SDK connected (auth + WebSocket + state)

[MCP] connected to https://your-pbx.3cx.eu:5001/mcp

   MCP tools (1/8):

     ✓ list_phonebook: Search for contacts in the phonebook by name, number, email, or company

     ✗ control_participant: Control an active call participant: drop, answer, divert, routeto, or transferto.

     ✗ list_peers: List internal numbers of any type (extensions, queues, ring groups, IVRs, etc.). Supports filtering by name, number, or type.

     ✗ get_server_time: Get the current server time in UTC and local timezone.

     ✗ find_by_email: Find a contact by email address

     ✗ list_crm_contacts: Search for contacts in CRM (Customer Relationship Management) system

     ✗ get_edit_url: Get a clickable link to open a DN (extension, queue, ring group, IVR, trunk, etc.) in the management UI editor.

     ✗ find_extension: Find a contact by exact extension number

[CallStore] initialized (xAI realtime mode)

All systems ready (xAI realtime mode)

Gemini

  • config.yaml‘da şunları girin:
  • appId: PBX Entegrasyonlar > API > İstemci Kimliği‘den İstemci Kimliği
  • appSecret: Entegrasyonlar > API > API Anahtarı Üret‘ten Hizmet Sorumlusu PBX API anahtarı
  • pbxBase: PBX adresi

Bağımlılıkları kurun ve Gemini örneğini başlatın:

yarn install

yarn start:gemini

Başarılı bir Gemini başlangıç günlüğü şunları içerir:

agentic-call-control starting

   3CX PBX: https://your-pbx.3cx.eu:5001

   Gemini Voice: Kore

   Agent profile: receptionist (role: receptionist)

   SDK connected (auth + WebSocket + state)

[MCP] connected to https://your-pbx.3cx.eu:5001/mcp

     MCP tools (1/8):

     ✓ list_phonebook: Search for contacts in the phonebook by name, number, email, or company

     ✗ control_participant: Control an active call participant: drop, answer, divert, routeto, or transferto.

     ✗ list_peers: List internal numbers of any type (extensions, queues, ring groups, IVRs, etc.). Supports filtering by name, number, or type.

     ✗ get_server_time: Get the current server time in UTC and local timezone.

     ✗ find_by_email: Find a contact by email address

     ✗ list_crm_contacts: Search for contacts in CRM (Customer Relationship Management) system

     ✗ get_edit_url: Get a clickable link to open a DN (extension, queue, ring group, IVR, trunk, etc.) in the management UI editor.

     ✗ find_extension: Find a contact by exact extension number

[CallStore] initialized (Gemini Live mode)

All systems ready (Gemini Live mode)

Qwen

  • config.yaml‘da şunları girin:
  • appId: PBX Entegrasyonlar > API > İstemci Kimliği‘den İstemci Kimliği
  • appSecret: Entegrasyonlar > API > API Anahtarı Üret‘ten Hizmet Sorumlusu PBX API anahtarı
  • pbxBase: PBX adresi
  • dashscopeApiKey: Alibaba Cloud DashScope API anahtarı’ndan Alibaba Cloud DashScope API anahtarı
  • dashscopeBaseUrl: Uluslararası/Singapur anahtarı için https://dashscope-intl.aliyuncs.com adresini, Çin anakarası anahtarı için ise https://dashscope.aliyuncs.com adresini kullanın.

Bağımlılıkları kurun ve Qwen örneğini başlatın:

yarn install

yarn start:alibaba-qwen

Başarılı bir Qwen başlangıç günlüğü şunları içerir:

alibaba-qwen-realtime starting

   3CX PBX: https://your-pbx.3cx.eu:5001

   DashScope: https://dashscope-intl.aliyuncs.com

   Model: qwen3.5-omni-plus-realtime

   Voice: Tina

   Agent profile: receptionist_en (role: receptionist)

   SDK connected (auth + WebSocket + state)

[McpManager] connected to https://your-pbx.3cx.eu:5001/mcp

   MCP tools (1/8):

     ✓ list_phonebook: Search for contacts in the phonebook by name, number, email, or company

     ✗ control_participant: Control an active call participant: drop, answer, divert, routeto, or transferto.

     ✗ list_peers: List internal numbers of any type (extensions, queues, ring groups, IVRs, etc.). Supports filtering by name, number, or type.

     ✗ get_server_time: Get the current server time in UTC and local timezone.

     ✗ find_by_email: Find a contact by email address

     ✗ list_crm_contacts: Search for contacts in CRM (Customer Relationship Management) system

     ✗ get_edit_url: Get a clickable link to open a DN (extension, queue, ring group, IVR, trunk, etc.) in the management UI editor.

     ✗ find_extension: Find a contact by exact extension number

[CallStore] initialized (Qwen Omni realtime)

All systems ready (Qwen realtime mode)

Temsilciyi Test Edin

Bir test dahilisi kullanın. Aktarımı test etmek için ikinci bir iç test dahilisi kullanın. 3CX Ajantik Çağrı Akışı ana klasöründen yapılandırdığınız sağlayıcı için olan komutu çalıştırın:

  • OpenAI: yarn start:openai
  • xAI: yarn start:xai
  • Gemini: yarn start:gemini
  • Qwen: yarn start:alibaba-qwen

Terminalin PBX bağlantısını hazır durumunu göstermesini bekleyin.

  1. Test dahilisinden Hizmet Sorumlusu İstemci Kimliğini (appId) arayın. Örneğin, temsilciye bağlanmak için “asitan” İstemci Kimliğini aynen tuşlayın.
  2. Temsilcinin cevap verdiğini, karşılama mesajını çaldığını ve size yanıt verdiğini doğrulayın.
  3. Bir dahili sorgulamayı test edin veya sizin adınıza aramayı sonlandırmasını isteyin.
  4. Terminal çıktısında hata olup olmadığını kontrol edin.

Temsilciyi Özelleştirin

Selamlama mesajını ve sağlayıcıya özgü ayarları değiştirmek için config.yaml dosyasını kullanın. Varsayılan davranışı değiştirmek için agents/receptionist.yaml dosyasını düzenleyin veya agents/ dizinine başka bir profil ekleyin. customMcpServers eklerseniz, o temsilci profilinde mcpTools altında araçların tam adlarını listeleyin. Her yapılandırma değişikliğinden sonra temsilciyi yeniden başlatın ve başka bir test araması yapın.

Ayrıca Bakınız

Son Güncelleme
Bu belge en son 31 Ağustos 2026’da güncellendi.
https://www.3cx.com.tr/kullanici-kilavuzu/agentic-call-control-ai-providers/