Host محلی — بدون تلفن
Gooya Host API v1

چرا وجود دارد؟

سکوت مخاطب در هیچ مرحله‌ای نباید تماس را برای همیشه باز نگه دارد. رفتار باید عمومی، قابل تست و در Browser/Telephone یکسان باشد.

پیش‌نیازها

  • اجرای Voice با Runtime استاندارد Gooya
  • پاسخ Assistant که پخش و committed شده است

نمونهٔ واقعی

هر Business و هر State: ۱۵ ثانیه سکوت → یادآوری اول → ۱۵ ثانیه → یادآوری دوم → ۱۵ ثانیه → پیام پایان → FAILED / NO_RESPONSE.

مراحل کار

  1. پس از هر پاسخ کامل Assistant، پنجرهٔ پاسخ ۱۵ ثانیه‌ای به‌طور خودکار آغاز می‌شود.
  2. اگر VAD یا STT گفتار معنادار ببیند، توالی همان لحظه لغو می‌شود.
  3. در نبود پاسخ، یادآوری «ببخشید، صدای منو دارین؟» پخش می‌شود.
  4. پس از committed شدن یادآوری، پنجرهٔ ۱۵ ثانیه‌ای بعدی آغاز و یادآوری فقط یک بار تکرار می‌شود.
  5. بعد از پنجرهٔ نهایی ۱۵ ثانیه‌ای، پیام پایان از مسیر استاندارد صدا پخش می‌شود.
  6. پس از committed شدن پیام پایان، تماس با نتیجهٔ ناموفق و دلیل NO_RESPONSE بسته می‌شود.
  7. برای Scenario یا Telephony تایمر جدا تعریف نکنید؛ این اصل در Runtime مشترک فعال است.

اشتباه‌های رایج

  • استفاده از sleep در Telephony adapter
  • ساخت تایمر در Scenario
  • تکرار نامحدود
  • شروع پنجره پیش از committed شدن پاسخ
  • نادیده گرفتن VAD/STT activity
  • قطع تماس پیش از پخش کامل پیام پایانی
  • ثبت تماس ساکت به‌عنوان موفق

اعتبارسنجی

  • در Opening و یک State میانی یکسان عمل می‌کند
  • دو یادآوری و نه بیشتر
  • فاصلهٔ هر پنجره ۱۵ ثانیه است
  • هر speech candidate یا transcript معنادار sequence را متوقف می‌کند
  • CallResult دارای reason=NO_RESPONSE و ended_normally=false است
  • Host تماس را FAILED نشان می‌دهد
  • Browser و Telephone از CoreVoiceSessionPort مشترک استفاده می‌کنند
مطلب بعدی: Business Package ←