The Blueworx Voice Response MRCP state table API

The Blueworx Voice Response MRCP client state table API provides a means by which Blueworx Voice Response state table applications can access MRCP text-to-speech (TTS) servers attached to the Blueworx Voice Response client over an IP network. It consists of a set of state tables (each named with a prefix of MST_) which can be called directly from a State Table application. These state tables then call an Blueworx-supplied custom server (MST) which contains the MRCP client implementation.

Note that applications should always access MRCP using the supplied state tables and not by directly calling the MST custom server (which would lead to unpredictable results). A second custom server (MRCP) controls the RTP voice streaming and is common between the VoiceXML and State Table MRCP implementations.

The MRCP state table API supports a maximum of one text-to-speech (TTS) session per state table application instance. This means that one Blueworx Voice Response MRCP client can have up to 240 active sessions running simultaneously, and each session can have a single TTSservice. This means that if, for example, multiple languages are to be supported, both cannot be active at the same time and that one session must be shut down before another can be used.

The API allows the application to specify MRCP header fields on certain of the API state tables. These are not checked by the API and are simply passed transparently through to MRC protocol. Therefore any errors in these headers will always be reported by the text-to-speech servers. When this happens, the API will return a protocol error return code with further details about the exact error being logged to the Blueworx Voice Response error log. For further information about exactly why the header is being rejected, you may need to refer to the server-side logs.

For details of all MRCP header fields, refer to the MRCP V1 specification available at http://rfc.net/rfc4463.html. Application developers who want to trace MRCP message flow should take advantage of such facilities provided on the text-to-speech servers, this facility is not provided by the MRCP client state table API. Alternatively, the AIX iptrace utility can be used to trace all IP traffic on the Blueworx Voice Response client with the resulting binary file either being formatted using the AIX ipreport command, or alternatively it can be imported into a popular IP traffic analysis tool.