Using MRCP

Specifying the MRCP server at runtime:

As mentioned before, developers are able to change the MRCP servers set in VBVoice.ini at runtime. This could be done by setting one of the two LineGroup runtime properties MrcpAsrServer and MrcpTtsServer before the engine of the particular type is allocated for the current call.

This means if AllocEnginePerCall was used for ASR, the only chance to change the default MRCP ASR server is in LineGroup.Ring event.

Example:

lineGroup1.MrcpAsrServer[e.channel] = "192.168.0.20:5070";

Changing the language:

VBVoice uses a directory structure to provide prompts in different languages. The prompts for default language are in the root directory and all the prompts of the other languages supported by the application are found in their respective sub-directories. MRCP uses the language directory property of Language control to specify the language to be passed to the MRCP server, so it is recommended to use directories like this for the corresponding languages:

en-US: for US English language.

es-US: for US Spanish language.

fr-CA: for Canadian French language

...etc.

The use of TTSSpeakers settings in the [MRCP] section of VBVoice.ini allows the developer to use the Language control's drop-down list of TTS speakers to pick the speaker suitable for the particular part of his call flow.

Providing the grammar for ASR:

MRCP is using grammars in grxml format. Grammars to be used in speech recognition could be set in three different ways: