Analysing interactive voice services
IVR (Interactive Voice Response) services are increasingly prevalent in automated telephone enquiry systems. VoiceXML (Voice eXtensible Markup Language) has become one of the leading languages for IVR. The nature of IVR services is introduced, along with an explanation of how they are represented in VoiceXML. However a VoiceXML description is at a low level, so it is difficult to gain an overview of the service that is offered. There is also no rigorous way to check the integrity of an IVR application. Cress (Chisel Representation Employing Systematic Specification) is a graphical notation for describing services in an abstract, language-independent manner. For this paper, IVR services are described with Cress, and translated into Lotos (Language Of Temporal Ordering Specification) for automated analysis. Because of the infinite state space, it is not practicable to formally verify the generated specifications. Instead, the focus is on more practical solutions. The properties of a specification are checked by including observer processes to monitor undesirable situations like repeatedly prompting the user for input. Mustard (Multiple-Use Scenario Test And Refusal Description) is introduced as a language for defining scenario-based tests of services. The approach is illustrated with sample tests of IVR services. It is seen how Mustard helps to build confidence in an IVR application. The paper also introduces a feature concept for IVR, and discusses feature interaction in this context. General categories of IVR feature interaction are presented. It is shown how Cress and Mustard combine to help discover interactions among IVR features.
service ivr (interactive voice response) voicexml (voice extensible markup language) feature lotos (language of temporal ordering specification) otos