We use the phone proxy appliance (pre ASA code). Dynamic IP is fine. If your home WAN ip changes then you just need to go back to the registration web page and log in again.
The only way I've found is with a get digit string that populates a string variable. Then us an IF statement if it matches true or false. The only drawback is if you also say press "whatever" for this or that department you have to wait out the int...
I too have had the same trouble with playing from local storage. I have gotten it to work with flash and mpeg but only when I serve it up from my web server and put the url in the "url to be displayed" field.