After a VoiceXML application is updated to use new voice files by copying them into the filesystem, the old copies of the audio files are still played to the caller after the Java and VoiceXML (VRBE) environment is restarted.
The reason for this is that the original voice data has been cached and unless time and date expiration handling is in the code to determine when to fetch from the filesystem again, the updated voice is not fetched, so the old data is still used.
The solution is to do one of the following:
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE vxml PUBLIC "-//W3C//DTD VOICEXML 2.0//EN" "vxml20-1115.dtd"> <vxml version="2.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/vxml"> <meta name="GENERATOR" content="Voice Toolkit for WebSphere Studio"/> <meta http-equiv="Expires" content="0"/> <meta http-equiv="Cache-control" content="max-age=0"/> <form> <block> <audio maxage="20" src="hello.wav">Hello this is Dave</audio> </block> </form> </vxml>