fix: sequence meet dtmf before realtime bridge

This commit is contained in:
Peter Steinberger
2026-05-01 07:04:53 +01:00
parent 42d73fd955
commit ae07d57f9d
15 changed files with 151 additions and 61 deletions

View File

@@ -981,7 +981,9 @@ Twilio-only config:
```
`voiceCall.enabled` defaults to `true`; with Twilio transport it delegates the
actual PSTN call and DTMF to the Voice Call plugin. If `voice-call` is not
actual PSTN call, DTMF, and intro greeting to the Voice Call plugin. Voice Call
plays the DTMF sequence before opening the realtime media stream, then uses the
saved intro text as the initial realtime greeting. If `voice-call` is not
enabled, Google Meet can still validate and record the dial plan, but it cannot
place the Twilio call.
@@ -1411,9 +1413,10 @@ participant:
the PIN.
- Increase the leading pauses in `--dtmf-sequence` if Meet answers slowly, for
example `wwww123456#`.
- If the participant joins but you miss the first spoken line, increase
`plugins.entries.google-meet.config.voiceCall.postDtmfSpeechDelayMs` so the
intro is spoken after Meet finishes admitting the phone participant.
- If the participant joins but you do not hear the greeting, check
`openclaw voicecall tail` for a Twilio stream start followed by realtime
provider readiness. The greeting is now generated from the initial
`voicecall.start` message after the stream connects.
If webhooks do not arrive, debug the Voice Call plugin first: the provider must
reach `plugins.entries.voice-call.config.publicUrl` or the configured tunnel.

View File

@@ -766,10 +766,10 @@ If Voice Call is green but the Meet participant never joins, check the Meet
dial-in number, PIN, and `--dtmf-sequence`. The phone call can be healthy while
the meeting rejects or ignores an incorrect DTMF sequence.
Google Meet starts Voice Call silently, sends DTMF, then asks Voice Call to
speak the intro after `voiceCall.postDtmfSpeechDelayMs`. Increase that delay in
the Google Meet plugin config if the first line is spoken before Meet admits the
phone participant.
Google Meet passes the Meet DTMF sequence and intro text to `voicecall.start`.
For Twilio calls, Voice Call serves the DTMF TwiML first, redirects back to the
webhook, then opens the realtime media stream so the saved intro is generated
after the phone participant has joined the meeting.
### Realtime call has no speech