Check inactivity of user in voicebot

Hi there!

I’ve an external custom channel with “audiovoice”. In order to prevent a long inactivity by the user, I wonder if I have to repeat the same action (like a reminder) at the end of “every” story?

Thanks!

1 Like

You can use the ReminderScheduled() event :slight_smile:

Reminders should be used sparingly. They’re not production ready and they don’t work well when you need a trigger of a few to several seconds. Race conditions can occur in this case.

I think you should approach a solution for this via the channel or even better via whatever STT platform you are using. The front end could send a /idle intent or something like that if the user is still there but hasn’t said anything.

2 Likes

Hi @stephens ,

I’ve got this part of an action, implemented by the STT platform:

dispatcher.utter_message(json_message={' ' "type": "event", "name": "config", "sessionParams": { "userNoInputTimeoutMS": 5000, "userNoInputSendEvent": True } })

Can an action like this be always “active”? I mean running like in the background? Or do I have to call in some other way?

Thanks!

So, the STT platform has this userNoInputTimeoutMS setting. I would try to find out if you can set this as the default for every session in the STT platform. If not, do they allow you to set this once at the beginning of each session (if so, you could do that with action_session_start).

If you have to set this on every user utterance, then I would customize the channel.

What Rasa channel are you using?

1 Like

I’m not familiar with that STT service and channel. I’ve used Twilio in the past for this.

I would look into the options I mentioned above. Set it globally for your audiocodes service; if not, set at the beginning of the session in action_session_start, and finally, modify the channel code with a config option you can set in credentials.yml.

I’d also open a github issue on that channel repo to ask about this.

1 Like