Note: Most of these tutorial posts are now quite old, though much of the information in them I still find useful (and even exciting!). I hope you find them helpful.

Accessing Web Services From CCXML

Learn how to access web services from CCXML using PHP.

Accessing Web Services From VoiceXML

Learn how to access web services from VoiceXML using PHP.

Demystifying VoiceXML Subdialogs

Subdialogs are a powerful, but often misunderstood, part of the VoiceXML specification that can be used to create reusable components for telephone applications.

Creating X+V with PHP

The real promise of XHTML+Voice is the potential to add voice functionality to existing visual XHTML markup. This would have enormous benefits for all kinds of users, most notably those with visual disabilities. The world is full of good, clean, well structured XHTML just waiting to be paired up with VoiceXML. Learn how using nothing more than some simple PHP classes.

Building Multi-Mobile Applications with PHP

Learn how to create powerful VoiceXML applications that can be viewed in almost any mobile device or desktop browser. With one clean, simple PHP code base you can give your users an array of choices to access your applications — telephone, WAP browser, PDA or desktop browser.

Adventures in Client Side Scripting

Learn how to use multidimensional JavaScript arrays and client-side caching to streamline and improve the performance of VoiceXML applications. (Database, we don’t need no stinking database!)

Mitigating SQL Injection Vulnerabilities in VoiceXML Applications

Most seasoned web developers understand the risk of SQL injection and follow best practices to guard against it. Unfortunately, some VoiceXML and IVR developers do not fully appreciate the risk that SQL injection can pose for voice applications.

What’s MIME is Not Yours

Learn how to properly set MIME types in VoiceXML applications.

Confidence-Based Recognition in VoiceXML

Applications that have unique or sophisticated grammars, or where high confidence levels during recognition is absolutely essential (i.e., phone-based voting) require specialized recognition techniques. Learn how to manipulate confidence levels in VoiceXML applications to improve the accuracy of recognition.

Detecting Caller Frustration

There are not a lot of really good tools for IVR developers to detect when callers are getting frustrated. Anger is a human emotion, and human emotions are complex. The tools generally used within VoiceXML applications for dealing with frustrated callers tend to be a bit ham-fisted.

Interpreting Spoken Input

Using the boolean builtin grammar to match input to a value.

Changing VoiceXML Property Values

Learn how to dynamically change property values used in VoiceXML applications.

Creative Commons License

The tutorials and related information on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.