Session.collectInput looks like it has a fixed timeout setting which blocks the channel until the timeout expires. I've been informed that appears to be the case from a brief examination of how speech is collected. SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_callback? seems to use a fixed timeout to cancel recording. ?? Is it possible to set-up a "relative" timeout which is based on the time from when the last valid sound was recognized as in choosing toppings from a list of 20 toppings in the pizza demo? This situation involves an indeterminate number of valid sounds (toppings) and thus is unlike the dtmf example give in? http://wiki.freeswitch.org/wiki/Session_collectInput where a counter in the callback is also used to determine when to unblock the channel. Mark. ?