Voice Extensible Markup Language – VXML

VXML is a W3C standard that allows voice-based interaction between human-users and computers applications. VXML can be used for applications and systems such as Auto-Attendant, voicemail or IVR, with VXML scripts performing functions such as playing prompts, collecting user input (DTMF and speech) and routing calls. VXML scripts can perform IVR functions similar to TCL scripts, the major difference is that whereas TCL scripts are usually device memory resident or downloadable from a TFTP Server. VXML scripts are usually interpreted by a voice browser after they are downloaded from a web server using http request (client/server model)

CRS is supporting VXML 2.0 applications

IPCC Speech Recognition

To activate the speech recognition on your IPCC server, you must use the following subsystem , a Media Resource Control Protocol (MRCP) Automated Speech Recognition (ASR) ( It is the client component).

If it comes with a separate ASR server like Nuance, you are able to enable speech recognition. So let’s review a little the conversation between the ASR server and IPCC server using MRCP.

MRCP is a mechanism which  allows a client device (IPCC/phones) that requires audio stream processing to control processing resources such as ASR ad TTS servers ( for speech recognition and Text-to-speech conversion). Remind also that if you want to enable also Text-to-speech , you need to have another MRCP dedicated for TTS . So one MRCP ASR and one MRCP TTS.

MRCP relies on the Real Time Streaming protocol (RTSP) or SIP as a control protocol for setting up and controlling sessions. RSTP/SIP is also responsible for setting up media streams between the client and the server by using RTP (it is a kind of H245 negotiations)

IPCC Database Lookups

With the CRS Editor, you can configure your scripts and related applications to interact with the SQL DB. Here are the action that you can use within your script:

  • DB Read : used to select a database and obtain data (using SQL statements)
  • DB Get : used to assign specific variable(s) with the result of the query specify in the DB Read
  • DB Write : used to select a database and update an enterprise database (using SQL statements)
  • DB Release : used to close a SQL query and releases resources after the DB Get or Write step.

IPCC Troubleshooting

As in Call Manager, you can specify the level of traces that you want to enable but we will not cover this now. Let’s see the common issues.

Most of the times , issues are due of a mistake with the JTAPI. You can find easily the root cause with the Control Center as it will give you a status of the engine. Then with these status, you can see in which direction you have to go.

  • In-Service : Indicates a full operational mode (all CTI ports, CTI route points and associated applications are successfully initialized)
  • Initializing : Indicates that the subsystem is initializing the CTI route points, ports and associated applications
  • Partial Service : Indicates that the JTAPI subsystem was unable to initialize one or more CTI route points or ports. Most of the time, it is due to a misconfiguration, so check that route points/ports exist , are correctly configured and associated with the JTAPI on Call Manager
  • Out-Of-Service : Indicates that none of the CTI route points and ports were correctly initialized. It can occur for a number of reasons as follows:
    • JTAPI Provider on Call Manager down
    • No CTI ports or route points configured
    • Username/password incorrect
    • CRS is unable to resolve the Call Manager’s DNS name
    • No connectivity between the CRS and Call Manager
Page 1 of 3123