مکالمه
سکوت سراسری مکالمه و پایان کنترلشده
سیاست مشترک Voice برای یادآوری محدود پس از هر پاسخ و پایان تماس فقط بعد از پخش کامل پیام نهایی.
چرا وجود دارد؟
سکوت مخاطب در هیچ مرحلهای نباید تماس را برای همیشه باز نگه دارد. رفتار باید عمومی، قابل تست و در Browser/Telephone یکسان باشد.
پیشنیازها
- اجرای Voice با Runtime استاندارد Gooya
- پاسخ Assistant که پخش و committed شده است
نمونهٔ واقعی
هر Business و هر State: ۱۵ ثانیه سکوت → یادآوری اول → ۱۵ ثانیه → یادآوری دوم → ۱۵ ثانیه → پیام پایان → FAILED / NO_RESPONSE.
مراحل کار
- پس از هر پاسخ کامل Assistant، پنجرهٔ پاسخ ۱۵ ثانیهای بهطور خودکار آغاز میشود.
- اگر VAD یا STT گفتار معنادار ببیند، توالی همان لحظه لغو میشود.
- در نبود پاسخ، یادآوری «ببخشید، صدای منو دارین؟» پخش میشود.
- پس از committed شدن یادآوری، پنجرهٔ ۱۵ ثانیهای بعدی آغاز و یادآوری فقط یک بار تکرار میشود.
- بعد از پنجرهٔ نهایی ۱۵ ثانیهای، پیام پایان از مسیر استاندارد صدا پخش میشود.
- پس از committed شدن پیام پایان، تماس با نتیجهٔ ناموفق و دلیل NO_RESPONSE بسته میشود.
- برای 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 مشترک استفاده میکنند