Hello, I am using play_and_detect_speech with Java ESL in my IVR applications. Previously I call it again each time after I receive any recognition event, like recognition complete, no-input-timeout, or recognition-timeout, it seems to work fine. Now I have changed my app to issue play_and_detect_speech command based on my available system utterances as well as the speech event. I.e., I use a separate thread to constantly check if there is a system utterance coming in from another component of my application, if there is any utterance I issue the command which will speak the new utterance and listen to user input no matter whether or not previous command has finished. And if there is any speech event (recognition result, timeout etc.) the play_and_detect_speech command is also issued but with playing silence. Obviously the new command will stop the utterance speaking of the previous command if it is not finished. My question is will the new play_and_detect_speech command also stop the previous ASR listening or will there be many ASR listening channel and sending speech data (or silence) to ASR server? Do I need to explicitly issue a "stop" commnad before issuing a new play_and_detect_speech? If yes, how to do that, by "detect_speech stop"? Recently there is a network traffice problem (lots of connections /data transportation to the ASR server machine) when I am running my application. I am not sure if this is because of other issues or because of my new changes to the way of using play_and_detect_speech. Please any one could shed a light on this? Many thanks! Xing -- Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012 We invite research leaders and ambitious early career researchers to join us in leading and driving research in key inter-disciplinary themes. Please see www.hw.ac.uk/researchleaders for further information and how to apply. Heriot-Watt University is a Scottish charity registered under charity number SC000278.