To ensure that your application continues to wait for calls (unless an error prevents the calls being dealt with correctly), simply structure your code so that the WVR.waitForCall() or WVR.makeCall() method is within a loop.
public class MyVoiceApp extends WVRApplication { public void voiceMain() throws WVRException { // Define a reference variable for a Call object, so we avoid // creating multiple instances later on in the loop Call call = null; // Create the application properties object ApplicationProperties appProperties = new ApplicationProperties(); appProperties.setApplicationName("app1"); applicationProperties.setLocale(Locale.US); // Create the WVR object WVR wvr = new WVR(this, appProperties); // Create a boolean to control the loop private boolean keepTakingCalls = true; // Create the loop while (keepTakingCalls) { try { // Wait for a call Call call = wvr.waitForCall("Call: " + callNumber); // Handle the call . . . } catch (WVRException e) { // Error handling . . . } } } }
You may want to add the loop when you have finished development and testing the basic call handling functionality of your application, otherwise you will explicitly have to stop and restart the application every time you make a change to it.