How to detect user silence and timeout after agent speaks

Have a look at user_away_timeout:

This parameter controls how long to wait before triggering an action when the user is not responding.