OpenClaw için bir Plugin aracılığıyla sesli aramalar. Giden bildirimleri, çok turlu konuşmaları, tam çift yönlü gerçek zamanlı sesi, akış transkripsiyonunu ve izin listesi politikalarıyla gelen aramaları destekler. Geçerli sağlayıcılar:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
twilio (Programmable Voice + Media Streams),
telnyx (Call Control v2), plivo (Voice API + XML transfer + GetInput
speech), mock (geliştirme/ağ yok).
Voice Call Plugin’i Gateway sürecinin içinde çalışır. Uzak bir
Gateway kullanıyorsanız, Plugin’i Gateway’i çalıştıran makineye kurup
yapılandırın, ardından yüklenmesi için Gateway’i yeniden başlatın.
Hızlı başlangıç
Plugin'i kurun
- npm'den
- Yerel klasörden (geliştirme)
Sağlayıcıyı ve Webhook'u yapılandırın
Yapılandırmayı
plugins.entries.voice-call.config altında ayarlayın
(tam yapı için aşağıdaki Yapılandırma bölümüne bakın).
En azından şunlar gerekir: provider, sağlayıcı kimlik bilgileri,
fromNumber ve herkese açık erişilebilen bir Webhook URL’si.Kurulumu doğrulayın
streaming veya
realtime) etkin olduğunu denetler. Betikler için --json kullanın.Yapılandırma
enabled: true ise ancak seçili sağlayıcının kimlik bilgileri eksikse,
Gateway başlangıcı eksik anahtarlarla birlikte kurulum-tamamlanmadı uyarısı
günlüğe yazar ve çalışma zamanını başlatmayı atlar. Komutlar, RPC çağrıları ve
aracı araçları kullanıldığında eksik sağlayıcı yapılandırmasını yine de tam
olarak döndürür.
Voice-call kimlik bilgileri SecretRef’leri kabul eder.
plugins.entries.voice-call.config.twilio.authToken, plugins.entries.voice-call.config.realtime.providers.*.apiKey, plugins.entries.voice-call.config.streaming.providers.*.apiKey ve plugins.entries.voice-call.config.tts.providers.*.apiKey standart SecretRef yüzeyi üzerinden çözümlenir; bkz. SecretRef kimlik bilgisi yüzeyi.Sağlayıcı erişimi ve güvenlik notları
Sağlayıcı erişimi ve güvenlik notları
- Twilio, Telnyx ve Plivo’nun tümü herkese açık erişilebilen bir Webhook URL’si gerektirir.
mock, yerel geliştirme sağlayıcısıdır (ağ çağrısı yoktur).- Telnyx,
skipSignatureVerificationtrue olmadığı sürecetelnyx.publicKey(veyaTELNYX_PUBLIC_KEY) gerektirir. skipSignatureVerificationyalnızca yerel test içindir.- ngrok ücretsiz katmanında
publicUrldeğerini tam ngrok URL’sine ayarlayın; imza doğrulaması her zaman uygulanır. tunnel.allowNgrokFreeTierLoopbackBypass: true, Twilio Webhook’larına geçersiz imzalarla yalnızcatunnel.provider="ngrok"veserve.bindlocal loopback olduğunda izin verir (ngrok yerel aracısı). Yalnızca yerel geliştirme içindir.- Ngrok ücretsiz katman URL’leri değişebilir veya ara sayfa davranışı ekleyebilir;
publicUrlsaparsa Twilio imzaları başarısız olur. Üretim: kararlı bir alan adı veya Tailscale funnel tercih edin.
Akış bağlantısı sınırları
Akış bağlantısı sınırları
streaming.preStartTimeoutMs, hiçbir zaman geçerli birstartçerçevesi göndermeyen soketleri kapatır.streaming.maxPendingConnections, toplam kimliği doğrulanmamış başlatma öncesi soket sayısını sınırlar.streaming.maxPendingConnectionsPerIp, kaynak IP başına kimliği doğrulanmamış başlatma öncesi soket sayısını sınırlar.streaming.maxConnections, toplam açık ortam akışı soket sayısını sınırlar (bekleyen + etkin).
Eski yapılandırma geçişleri
Eski yapılandırma geçişleri
provider: "log", twilio.from veya eski streaming.* OpenAI
anahtarlarını kullanan eski yapılandırmalar openclaw doctor --fix
tarafından yeniden yazılır. Çalışma zamanı yedeği şimdilik eski voice-call
anahtarlarını hâlâ kabul eder, ancak yeniden yazma yolu openclaw doctor --fix
ve uyumluluk katmanı geçicidir.Otomatik geçirilen akış anahtarları:streaming.sttProvider→streaming.providerstreaming.openaiApiKey→streaming.providers.openai.apiKeystreaming.sttModel→streaming.providers.openai.modelstreaming.silenceDurationMs→streaming.providers.openai.silenceDurationMsstreaming.vadThreshold→streaming.providers.openai.vadThreshold
Oturum kapsamı
Varsayılan olarak Voice CallsessionScope: "per-phone" kullanır; böylece
aynı arayandan tekrarlanan aramalar konuşma belleğini korur. Her operatör
aramasının yeni bağlamla başlaması gerektiğinde sessionScope: "per-call"
ayarlayın; örneğin resepsiyon, rezervasyon, IVR veya aynı telefon numarasının
farklı toplantıları temsil edebileceği Google Meet köprü akışları.
Gerçek zamanlı sesli konuşmalar
realtime, canlı arama sesi için tam çift yönlü gerçek zamanlı ses sağlayıcısını
seçer. Yalnızca sesi gerçek zamanlı transkripsiyon sağlayıcılarına ileten
streamingden ayrıdır.
Geçerli çalışma zamanı davranışı:
realtime.enabled, Twilio Media Streams için desteklenir.realtime.provideristeğe bağlıdır. Ayarlanmazsa Voice Call ilk kayıtlı gerçek zamanlı ses sağlayıcısını kullanır.- Paketle gelen gerçek zamanlı ses sağlayıcıları: Google Gemini Live (
google) ve OpenAI (openai), kendi sağlayıcı Plugin’leri tarafından kaydedilir. - Sağlayıcıya ait ham yapılandırma
realtime.providers.<providerId>altında bulunur. - Voice Call, paylaşılan
openclaw_agent_consultgerçek zamanlı aracını varsayılan olarak sunar. Arayan daha derin akıl yürütme, güncel bilgi veya normal OpenClaw araçları istediğinde gerçek zamanlı model bunu çağırabilir. realtime.consultPolicy, gerçek zamanlı modelinopenclaw_agent_consultçağırması gereken durumlar için isteğe bağlı olarak rehberlik ekler.realtime.agentContext.enabledvarsayılan olarak kapalıdır. Etkinleştirildiğinde Voice Call, sınırlı bir aracı kimliğini, sistem istemi geçersiz kılmasını ve seçili çalışma alanı dosyası kapsülünü oturum kurulumunda gerçek zamanlı sağlayıcı yönergelerine enjekte eder.realtime.fastContext.enabledvarsayılan olarak kapalıdır. Etkinleştirildiğinde Voice Call önce danışma sorusu için dizine alınmış bellek/oturum bağlamında arama yapar verealtime.fastContext.fallbackToConsulttrue ise tam danışma aracısına geri dönmeden önce bu parçalarırealtime.fastContext.timeoutMsiçinde gerçek zamanlı modele döndürür.realtime.providerkayıtlı olmayan bir sağlayıcıya işaret ederse veya hiç gerçek zamanlı ses sağlayıcısı kayıtlı değilse, Voice Call tüm Plugin’i başarısız kılmak yerine bir uyarı günlüğe yazar ve gerçek zamanlı ortamı atlar.- Danışma oturumu anahtarları, varsa depolanan arama oturumunu yeniden kullanır, ardından yapılandırılmış
sessionScopedeğerine geri döner (varsayılan olarakper-phone, yalıtılmış aramalar içinper-call).
Araç politikası
realtime.toolPolicy, danışma çalıştırmasını denetler:
| Politika | Davranış |
|---|---|
safe-read-only | Danışma aracını sunar ve normal aracıyı read, web_search, web_fetch, x_search, memory_search ve memory_get ile sınırlar. |
owner | Danışma aracını sunar ve normal aracının olağan aracı araç politikasını kullanmasına izin verir. |
none | Danışma aracını sunmaz. Özel realtime.tools yine de gerçek zamanlı sağlayıcıya geçirilir. |
realtime.consultPolicy yalnızca gerçek zamanlı model yönergelerini denetler:
| Politika | Rehberlik |
|---|---|
auto | Varsayılan istemi korur ve danışma aracını ne zaman çağıracağına sağlayıcının karar vermesine izin verir. |
substantive | Basit konuşma bağlayıcılarını doğrudan yanıtlar ve olgular, bellek, araçlar veya bağlamdan önce danışır. |
always | Her önemli yanıttan önce danışır. |
Aracı ses bağlamı
Ses köprüsünün, sıradan turlarda tam bir aracı-danışma gidiş dönüşü ödemeden yapılandırılmış OpenClaw aracısı gibi konuşması gerektiğinderealtime.agentContext öğesini etkinleştirin. Bağlam kapsülü, gerçek zamanlı
oturum oluşturulduğunda bir kez eklenir, bu nedenle tur başına gecikme
eklemez. openclaw_agent_consult çağrıları yine de tam OpenClaw aracısını
çalıştırır ve araç çalışması, güncel bilgi, bellek aramaları veya çalışma
alanı durumu için kullanılmalıdır.
Gerçek zamanlı sağlayıcı örnekleri
- Google Gemini Live
- OpenAI
Varsayılanlar:
realtime.providers.google.apiKey,
GEMINI_API_KEY veya GOOGLE_GENERATIVE_AI_API_KEY üzerinden API anahtarı; model
gemini-2.5-flash-native-audio-preview-12-2025; ses Kore.
sessionResumption ve contextWindowCompression, daha uzun ve
yeniden bağlanabilir çağrılar için varsayılan olarak açıktır. Telefon sesi üzerinde
daha hızlı söz sırası geçişini ayarlamak için silenceDurationMs, startSensitivity ve
endSensitivity kullanın.Akış transkripsiyonu
streaming, canlı çağrı sesi için gerçek zamanlı bir transkripsiyon sağlayıcısı seçer.
Geçerli çalışma zamanı davranışı:
streaming.provideristeğe bağlıdır. Ayarlanmadıysa Voice Call, kayıtlı ilk gerçek zamanlı transkripsiyon sağlayıcısını kullanır.- Paketlenen gerçek zamanlı transkripsiyon sağlayıcıları: Deepgram (
deepgram), ElevenLabs (elevenlabs), Mistral (mistral), OpenAI (openai) ve xAI (xai); bunlar kendi sağlayıcı Plugin’leri tarafından kaydedilir. - Sağlayıcıya ait ham yapılandırma
streaming.providers.<providerId>altında bulunur. - Twilio kabul edilmiş bir akış
startiletisi gönderdikten sonra Voice Call akışı hemen kaydeder, sağlayıcı bağlanırken gelen medyayı transkripsiyon sağlayıcısı üzerinden kuyruğa alır ve ilk selamlamayı yalnızca gerçek zamanlı transkripsiyon hazır olduktan sonra başlatır. streaming.providerkayıtlı olmayan bir sağlayıcıyı gösterirse veya kayıtlı sağlayıcı yoksa Voice Call bir uyarı günlüğe yazar ve tüm Plugin’i başarısız kılmak yerine medya akışını atlar.
Akış sağlayıcısı örnekleri
- OpenAI
- xAI
Varsayılanlar:
streaming.providers.openai.apiKey veya
OPENAI_API_KEY API anahtarı; model gpt-4o-transcribe; silenceDurationMs: 800;
vadThreshold: 0.5.Çağrılar için TTS
Voice Call, çağrılarda akış konuşması için çekirdekmessages.tts
yapılandırmasını kullanır. Bunu Plugin yapılandırması altında
aynı şekille geçersiz kılabilirsiniz; messages.tts ile derin birleştirilir.
- Plugin yapılandırması içindeki eski
tts.<provider>anahtarları (openai,elevenlabs,microsoft,edge)openclaw doctor --fixtarafından onarılır; işlenen yapılandırmatts.providers.<provider>kullanmalıdır. - Twilio medya akışı etkinleştirildiğinde çekirdek TTS kullanılır; aksi halde çağrılar sağlayıcıya özgü seslere geri döner.
- Bir Twilio medya akışı zaten etkinse Voice Call, TwiML
<Say>seçeneğine geri dönmez. Telefon TTS’i bu durumda kullanılamıyorsa oynatma isteği iki oynatma yolunu karıştırmak yerine başarısız olur. - Telefon TTS’i ikincil bir sağlayıcıya geri döndüğünde Voice Call, hata ayıklama için sağlayıcı zinciriyle (
from,to,attempts) birlikte bir uyarı günlüğe yazar. - Twilio araya girme veya akış kapatma bekleyen TTS kuyruğunu temizlediğinde, kuyruğa alınmış oynatma istekleri arayanları oynatma tamamlanmasını bekler halde bırakmak yerine sonuçlanır.
TTS örnekleri
- Core TTS only
- Override to ElevenLabs (calls only)
- OpenAI model override (deep-merge)
Gelen çağrılar
Gelen çağrı politikası varsayılan olarakdisabled olur. Gelen çağrıları etkinleştirmek için şunu ayarlayın:
responseModel,
responseSystemPrompt ve responseTimeoutMs ile ayarlayın.
Numara Başına Yönlendirme
Bir Voice Call Plugin’i birden çok telefon numarası için çağrı aldığında ve her numaranın farklı bir hat gibi davranması gerektiğindenumbers kullanın. Örneğin, bir
numara gündelik bir kişisel asistan kullanırken bir diğeri iş
personası, farklı bir yanıt ajanı ve farklı bir TTS sesi kullanabilir.
Rotalar, sağlayıcının sağladığı çevrilen To numarasından seçilir. Anahtarlar
E.164 numaraları olmalıdır. Bir çağrı geldiğinde Voice Call eşleşen rotayı bir kez çözer,
eşleşen rotayı çağrı kaydında saklar ve selamlama, klasik otomatik yanıt yolu,
gerçek zamanlı danışma yolu ve TTS oynatması için bu etkin yapılandırmayı
yeniden kullanır. Hiçbir rota eşleşmezse global Voice Call yapılandırması kullanılır.
Giden çağrılar numbers kullanmaz; çağrıyı başlatırken giden hedefi, iletiyi ve
oturumu açıkça geçirin.
Rota geçersiz kılmaları şu anda şunları destekler:
inboundGreetingttsagentIdresponseModelresponseSystemPromptresponseTimeoutMs
tts rota değeri, global Voice Call tts yapılandırmasının üzerine derin birleştirilir; bu nedenle
genellikle yalnızca sağlayıcı sesini geçersiz kılabilirsiniz:
Konuşma çıktısı sözleşmesi
Otomatik yanıtlar için Voice Call, sistem istemine katı bir konuşma çıktısı sözleşmesi ekler:- Akıl yürütme/hata içeriği olarak işaretlenmiş yükleri yoksayar.
- Doğrudan JSON’u, kod bloğuna alınmış JSON’u veya satır içi
"spoken"anahtarlarını ayrıştırır. - Düz metne geri döner ve muhtemel planlama/meta giriş paragraflarını kaldırır.
Konuşma başlatma davranışı
Gidenconversation çağrıları için ilk ileti işleme, canlı oynatma durumuna bağlıdır:
- Araya girme kuyruk temizliği ve otomatik yanıt yalnızca ilk selamlama aktif olarak konuşulurken bastırılır.
- İlk oynatma başarısız olursa çağrı
listeningdurumuna döner ve ilk ileti yeniden deneme için kuyrukta kalır. - Twilio akışı için ilk oynatma, akış bağlandığında ek gecikme olmadan başlar.
- Araya girme aktif oynatmayı iptal eder ve kuyruğa alınmış ancak henüz oynatılmayan Twilio TTS girdilerini temizler. Temizlenen girdiler atlandı olarak sonuçlanır; böylece takip eden yanıt mantığı, asla oynatılmayacak sesi beklemeden devam edebilir.
- Gerçek zamanlı sesli konuşmalar, gerçek zamanlı akışın kendi açılış sırasını kullanır. Voice Call, bu ilk ileti için eski bir
<Say>TwiML güncellemesi göndermez; böylece giden<Connect><Stream>oturumları bağlı kalır.
Twilio akışı bağlantı kesme ek süresi
Bir Twilio medya akışının bağlantısı kesildiğinde Voice Call, çağrıyı otomatik sonlandırmadan önce 2000 ms bekler:- Akış bu süre içinde yeniden bağlanırsa otomatik sonlandırma iptal edilir.
- Ek süre sonrasında hiçbir akış yeniden kaydolmazsa takılı kalan aktif çağrıları önlemek için çağrı sonlandırılır.
Eski çağrı temizleyicisi
Sonlandırıcı Webhook hiç almayan çağrıları (örneğin, hiç tamamlanmayan bildirim modu çağrıları) sonlandırmak içinstaleCallReaperSeconds kullanın. Varsayılan
0 değeridir (devre dışı).
Önerilen aralıklar:
- Üretim: bildirim tarzı akışlar için
120-300saniye. - Normal çağrıların tamamlanabilmesi için bu değeri
maxDurationSecondsdeğerinden daha yüksek tutun. İyi bir başlangıç noktasımaxDurationSeconds + 30-60saniyedir.
Webhook güvenliği
Gateway’in önünde bir proxy veya tünel bulunduğunda Plugin, imza doğrulaması için genel URL’yi yeniden oluşturur. Bu seçenekler hangi yönlendirilmiş başlıklara güvenileceğini denetler:Yönlendirme başlıklarından gelen host’ları izin listesine alır.
Yönlendirilmiş başlıklara izin listesi olmadan güvenir.
Yönlendirilmiş başlıklara yalnızca isteğin uzak IP’si listeyle eşleştiğinde güvenir.
- Webhook yeniden oynatma koruması Twilio ve Plivo için etkindir. Yeniden oynatılan geçerli Webhook istekleri onaylanır ancak yan etkiler için atlanır.
- Twilio konuşma turları,
<Gather>geri çağrılarında her tur için bir token içerir; böylece eski/yeniden oynatılan konuşma geri çağrıları daha yeni bekleyen bir transkript turunu karşılayamaz. - Kimliği doğrulanmamış Webhook istekleri, sağlayıcının gerekli imza başlıkları eksik olduğunda gövde okunmadan önce reddedilir.
- Voice Call Webhook’u, imza doğrulamasından önce paylaşılan ön kimlik doğrulama gövde profilini (64 KB / 5 saniye) ve IP başına uçuşta olan istek sınırını kullanır.
CLI
voicecall komutları Gateway’in sahip olduğu
voice-call çalışma zamanına devredilir; böylece CLI ikinci bir
Webhook sunucusu bağlamaz. Erişilebilir bir Gateway yoksa komutlar bağımsız bir
CLI çalışma zamanına geri döner.
latency, varsayılan voice-call depolama yolundan calls.jsonl dosyasını okur.
Farklı bir günlüğe işaret etmek için --file <path>, analizi son N kayıtla
(varsayılan 200) sınırlamak için --last <n> kullanın. Çıktı, tur gecikmesi ve
dinleme-bekleme süreleri için p50/p90/p99 değerlerini içerir.
Aracı aracı
Araç adı:voice_call.
| Eylem | Argümanlar |
|---|---|
initiate_call | message, to?, mode?, dtmfSequence? |
continue_call | callId, message |
speak_to_user | callId, message |
send_dtmf | callId, digits |
end_call | callId |
get_status | callId |
skills/voice-call/SKILL.md konumunda eşleşen bir skill belgesiyle gelir.
Gateway RPC
| Yöntem | Argümanlar |
|---|---|
voicecall.initiate | to?, message, mode?, dtmfSequence? |
voicecall.continue | callId, message |
voicecall.speak | callId, message |
voicecall.dtmf | callId, digits |
voicecall.end | callId |
voicecall.status | callId |
dtmfSequence yalnızca mode: "conversation" ile geçerlidir. Bildirim modu çağrıları,
bağlantı sonrası rakamlara ihtiyaç duyuyorsa çağrı var olduktan sonra
voicecall.dtmf kullanmalıdır.
Sorun giderme
Kurulum Webhook dışa açımında başarısız oluyor
Kurulumu Gateway’i çalıştıran aynı ortamdan çalıştırın:twilio, telnyx ve plivo için webhook-exposure yeşil olmalıdır.
Yapılandırılmış bir publicUrl, yerel veya özel ağ alanına işaret ettiğinde
yine de başarısız olur; çünkü operatör bu adreslere geri çağrı yapamaz. publicUrl
olarak localhost, 127.0.0.1, 0.0.0.0, 10.x, 172.16.x-172.31.x,
192.168.x, 169.254.x, fc00::/7 veya fd00::/8 kullanmayın.
Twilio bildirim modu giden çağrıları, ilk <Say> TwiML öğesini doğrudan
çağrı oluşturma isteğinde gönderir; bu nedenle ilk konuşulan mesaj Twilio’nun
Webhook TwiML almasına bağlı değildir. Genel bir Webhook; durum geri çağrıları,
konuşma çağrıları, bağlantı öncesi DTMF, gerçek zamanlı akışlar ve bağlantı
sonrası çağrı denetimi için yine de gereklidir.
Tek bir genel dışa açma yolu kullanın:
voicecall smoke, --yes iletmediğiniz sürece kuru çalıştırmadır.
Sağlayıcı kimlik bilgileri başarısız oluyor
Seçilen sağlayıcıyı ve gerekli kimlik bilgisi alanlarını kontrol edin:- Twilio:
twilio.accountSid,twilio.authTokenvefromNumberveyaTWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKENveTWILIO_FROM_NUMBER. - Telnyx:
telnyx.apiKey,telnyx.connectionId,telnyx.publicKeyvefromNumber. - Plivo:
plivo.authId,plivo.authTokenvefromNumber.
Çağrılar başlıyor ancak sağlayıcı Webhook’ları gelmiyor
Sağlayıcı konsolunun tam genel Webhook URL’sine işaret ettiğini doğrulayın:publicUrl,serve.pathdeğerinden farklı bir yola işaret ediyor.- Tünel URL’si Gateway başladıktan sonra değişti.
- Bir proxy isteği yönlendiriyor ancak host/proto başlıklarını kaldırıyor veya yeniden yazıyor.
- Güvenlik duvarı veya DNS, genel host adını Gateway dışında bir yere yönlendiriyor.
- Gateway, Voice Call Plugin etkinleştirilmeden yeniden başlatıldı.
webhookSecurity.allowedHosts değerini genel host adına ayarlayın veya bilinen
bir proxy adresi için webhookSecurity.trustedProxyIPs kullanın.
webhookSecurity.trustForwardingHeaders değerini yalnızca proxy sınırı sizin
denetiminiz altındaysa kullanın.
İmza doğrulaması başarısız oluyor
Sağlayıcı imzaları, OpenClaw’ın gelen istekten yeniden oluşturduğu genel URL’ye göre kontrol edilir. İmzalar başarısız olursa:- Sağlayıcı Webhook URL’sinin şema, host ve yol dahil
publicUrlile tam olarak eşleştiğini doğrulayın. - ngrok ücretsiz katman URL’leri için tünel host adı değiştiğinde
publicUrldeğerini güncelleyin. - Proxy’nin özgün host ve proto başlıklarını koruduğundan emin olun veya
webhookSecurity.allowedHostsyapılandırın. - Yerel test dışında
skipSignatureVerificationetkinleştirmeyin.
Google Meet Twilio katılımları başarısız oluyor
Google Meet, Twilio çevirmeli katılımları için bu Plugin’i kullanır. Önce Voice Call’u doğrulayın:--dtmf-sequence değerini kontrol edin.
Telefon çağrısı sağlıklı olabilir ancak toplantı hatalı bir DTMF dizisini
reddediyor veya yok sayıyor olabilir.
Google Meet, Twilio telefon bacağını bağlantı öncesi DTMF dizisiyle
voicecall.start üzerinden başlatır. PIN’den türetilen diziler, başta Twilio
bekleme rakamları olarak Google Meet Plugin’inin voiceCall.dtmfDelayMs değerini
içerir. Varsayılan değer 12 saniyedir; çünkü Meet çevirmeli katılım istemleri
geç gelebilir. Voice Call, giriş selamlaması istenmeden önce gerçek zamanlı
işlemeye geri yönlendirir.
Canlı aşama izini görmek için openclaw logs --follow kullanın. Sağlıklı bir
Twilio Meet katılımı günlüklerde şu sırayı gösterir:
- Google Meet, Twilio katılımını Voice Call’a devreder.
- Voice Call, bağlantı öncesi DTMF TwiML’ini depolar.
- Twilio ilk TwiML’i tüketilir ve gerçek zamanlı işlemden önce sunulur.
- Voice Call, Twilio çağrısı için gerçek zamanlı TwiML sunar.
- Google Meet, DTMF sonrası gecikmeden sonra
voicecall.speakile giriş konuşması ister.
openclaw voicecall tail kalıcı çağrı kayıtlarını göstermeye devam eder; çağrı
durumu ve transkriptler için yararlıdır, ancak her Webhook/gerçek zamanlı geçiş
orada görünmez.
Gerçek zamanlı çağrıda konuşma yok
Yalnızca bir ses modunun etkin olduğunu doğrulayın.realtime.enabled ve
streaming.enabled aynı anda true olamaz.
Gerçek zamanlı Twilio çağrıları için şunları da doğrulayın:
- Gerçek zamanlı sağlayıcı Plugin’i yüklü ve kayıtlı.
realtime.providerayarlanmamış veya kayıtlı bir sağlayıcıyı adlandırıyor.- Sağlayıcı API anahtarı Gateway süreci tarafından kullanılabilir durumda.
openclaw logs --follow; gerçek zamanlı TwiML’in sunulduğunu, gerçek zamanlı köprünün başlatıldığını ve ilk selamlamanın kuyruğa alındığını gösteriyor.