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.
- Bir İstemci Kimliği girin. Ör: “asistan”.
- “Bu uygulama için 3CX Çağrı Kontrol API'sine erişimi etkinleştir”i etkinleştirin.
- 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.
- 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
- geminiApiKey: Google AI Studio’dan Google AI Studio API anahtarı
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.
- 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.
- Temsilcinin cevap verdiğini, karşılama mesajını çaldığını ve size yanıt verdiğini doğrulayın.
- Bir dahili sorgulamayı test edin veya sizin adınıza aramayı sonlandırmasını isteyin.
- 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
- 3CX Ajantik Çağrı Kontrolü
- 3CX Çağrı Kontrol API’si
- 3CX Yapılandırma API’si
- Çağrı Kontrolü Uç Nokta Özellikleri
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/
