Ok, I have gotten the DTMF to work, and am much happier now. I have a nice framework forming that will make it easy for us to develop PHP-based IVR apps, monitors, etc. Live is looking better. However, I have some questions about the Event Socket interface that I would love some help on. First, it seems that when in 'async full' mode, you get ALL the events for any connections, not just the one you were invoked on (in outbound mode). If that's true, how do I discern which events are for my call? I suppose I could use the UUID in the Event, but that seems fairly wasteful - shouldn't I be able to just register for "my" events (that's why I'm calling "myevents" ;-) Second, what is the difference between the three ways to invoke functionality? There's the "basic" commands like "myevents", "event plain ALL", "log DEBUG". Then there are the api commands that are invoked like "api uuid_broadcast <UUID> <path>", and then there are the sendMsg command like "sendmsg\ncall-command: execute\nexecute-app-name: answer\nexecute-app-arg: \n\n" Each of these seem to invoke functionality in the current call (or the call with the given UUID), and there seems to be overlap (i.e. there is an 'answer' command in the API), but they all have different syntaxes, Content-Types and corresponding result messages. This isn't a complaint, I'm just trying to sort out when to use each. I'll be happy to update the wiki with the clarification. Finally, assuming this becomes reasonably usable, how do I add it to the contributed scripts? Thanks, Bill