UniMRCP for Asterisk 1.1.0 Installation and Usage Guide Contents 1 Overview .............................................................................................................................................. 4 2 Licensing ............................................................................................................................................... 4 3 Supported Operating Systems ............................................................................................................. 5 4 Supported MRCP Servers ..................................................................................................................... 6 5 Installation ........................................................................................................................................... 7 5.1 Prerequisites.................................................................................................................................. 7 5.2 Installing release package ............................................................................................................. 7 Package retrieval ............................................................................................................................. 7 Installation of Asterisk ..................................................................................................................... 7 Installation of UniMRCP ................................................................................................................... 7 Installation of Modules .................................................................................................................... 8 5.3 Installing from repository .............................................................................................................. 8 Source retrievel ............................................................................................................................... 8 Build procedure ............................................................................................................................... 8 Configure options ............................................................................................................................ 8 5.4 Testing installation ........................................................................................................................ 9 6 Generic Speech Recognition API ........................................................................................................ 10 6.1 Overview...................................................................................................................................... 10 6.2 Configuration ............................................................................................................................... 10 6.3 Dialplan Applications ................................................................................................................... 10 SpeechCreate ................................................................................................................................. 10 SpeechLoadGrammar .................................................................................................................... 11 SpeechUnloadGrammar ................................................................................................................ 11 SpeechActivateGrammar ............................................................................................................... 11 SpeechStart .................................................................................................................................... 11 SpeechBackground ........................................................................................................................ 12 SpeechDeactivateGrammar ........................................................................................................... 12 SpeechProcessingSound ................................................................................................................ 12 SpeechDestroy ............................................................................................................................... 13 7 Suite of UniMRCP Applications .......................................................................................................... 13 2|Page ........................................................................................................................................................... 21 RECOG_INSTANCE .................................................................................................................................................................................................................................... 20 RECOG_CONFIDENCE.........................................................................................................7.................................................................................................................... 1 Overview........................................................... 14 SynthAndRecog ....................................... 18 MRCPSynth .......................... 21 RECOG_INPUT..................................................................................................... 14 MRCPRecog........................... 19 7..................................................................................................................................................................... 20 RECOG_GRAMMAR.................. 2 Configuration ................................................................................................................................................................................................................................................................................. 4 Dialplan Functions ................... 13 MRCP profile ............................ 13 Global settings .......................................................................................... 3 Dialplan Applications ............................................... 14 7............... 21 3|Page .................................................................................................... 13 7.................. 1 Overview UniMRCP integration allows Asterisk to facilitate the use of the industry standard media resource servers for implementation of speech-enabled applications in accordance with the MRCPv1 and MRCPv2 specifications.so is an implementation of the Generic Speech Recognition API of Asterisk based on the UniMRCP client library. 2 Licensing Since Asterisk is distributed under the GPLv2 license. See the following link for more information regarding the GPLv2 license. and the UniMRCP modules are loaded by and directly interface with Asterisk. configure. GNU General Public License. This guide provides instructions on how to install. the GPLv2 license applies to the UniMRCP modules too. Suite of UniMRCP Applications The module app_unimrcp. Generic Speech Recognition API The module res_speech_unimrcp. and use the UniMRCP modules for Asterisk.so is a suite of speech recognition and synthesis applications for Asterisk. version 2 4|Page . x 32 and 64-bit RHEL / CentOS 6. Debian should also be supported.3 Supported Operating Systems The following Red Hat based Linux distributions are primarily supported: RHEL / CentOS 5.x 32 and 64-bit Other Linux distributions such as Ubuntu. 5|Page . 6|Page .4 Supported MRCP Servers The UniMRCP modules for Asterisk are known to work with the following MRCP servers: UniMRCP Server LumenVox Media Server Nuance Speech Server Note: installation of an MRCP server is not covered in this document. tar. run the asterisk-install.1. The libraries can be installed issuing the following commands: yum yum yum yum install install install install ncurses-devel libxml2-devel sqlite-devel openssl-devel 5.2 Installing release package Package retrieval The latest UniMRCP release for Asterisk can be downloaded from the following location: http://unimrcp.0.com/files/uni-ast-package-1.googlecode. run the unimrcp-install. The script will also promt to install sample configuration files.0) UniMRCP Dependencies 1. this section can be skipped.1. Installation of UniMRCP If a compatible version of UniMRCP has already been installed on the system. gcc. The following command can be used to install all the prerequisites on a RHEL based distribution: yum groupinstall "Development Tools" Several 3-rd party development libraries are additionally required for the installation of Asterisk. In order to install UniMRCP included in this package. The supported versions of Asterisk are: Asterisk 1. this section can be skipped. The supported versions of UniMRCP are: UniMRCP r1988 and above.6. 1.1.sh script. The script will also promt to install the dependencies. libtool.1 Prerequisites The development tools such as autoconf. The following software components are included in the package: Asterisk 11. 11 and above. 10.5 Installation 5.4.0 UniMRCP r1988 (> 1.3 UniMRCP Modules for Asterisk 1.0 Installation of Asterisk If a compatible version of Asterisk has already been installed on the system. In order to install Asterisk included in this package.sh script.gz This is an archive file which needs to be unpacked and copied to a local directory.1. 7|Page . and others must be installed on the system.8. 1 To explicitly specify where to look for UniMRCP. "make". use the option "--with-asterisk-conf". use the option "--with-asterisk-version=". .3 Installing from repository Before starting installation of the UniMRCP modules for Asterisk from repository. For example: . .1. use the option "--with-asterisk=". use the option "--with-unimrcp=". run the modules-install. Source retrievel Use the following command to check out the latest source code: svn checkout http://unimrcp.2.googlecode.com/svn/solutions/asterisk-unimrcp Build procedure The "bootstrap" script must be ran first in order to generate the "configure" script and other required files./configure --with-unimrcp=/usr/local/unimrcp-1.Installation of Modules In order to install the UniMRCP modules for Asterisk./bootstrap The usual "configure". Similarly. use: 8|Page . the modules res_speech_unimrcp.sh script./configure make make install As a result. if UniMRCP is installed in /usr/local/unimrcp-1. For example.1 To exclude the module res_speech_unimrcp.so from build./configure --with-asterisk-version=11. For example.so will be installed in the modules directory of Asterisk such as /usr/lib/asterisk/modules by default. Configure options There are a number of options which can be additionally configured. the configuration files res-speech-unimrcp./configure --with-asterisk-conf=/usr/local/asterisk/conf To explicitly specify the Asterisk version. 5. if Asterisk is installed in /usr/local/asterisk-11.conf will be placed in /etc/asterisk. For example: .so and app_unimrcp. use: .conf and mrcp. both Asterisk and UniMRCP must have already been installed./configure --with-asterisk=/usr/local/asterisk-11 To explicitly specify where the Asterisk configuration files are located. To explicitly specify where to look for Asterisk. "make install" sequence of commands should follow in order to build and install the modules from source. use: . so Module Description app_unimrcp.so MRCP suite of applications 1 modules loaded Use Count 0 Use Count 0 9|Page ./configure --disable-res-speech-unimrcp To exclude the module app_unimrcp.so Module Description res_speech_unimrcp./configure --disable-app-unimrcp 5.4 Testing installation Run Asterisk and check if the UniMRCP modules are normally loaded.so UniMRCP Speech Engine 1 modules loaded *CLI> module show like app_unimrcp. use: .so from build.. *CLI> module show like res_speech_unimrcp. 1 Overview The module res_speech_unimrcp. . 6. located in the directory /usr/local/unimrcp/unimrcpclient. Syntax SpeechCreate(Engine Name) Input parameters Engine Name . [general] unimrcp-profile = uni2 . This configuration file consists of the following main sections: General – general settings Grammars – grammars which need to be preloaded MRCPv2 Properties – the MRCPv2 header fields to be used MRCPv1 Properties – the MRCPv1 header fields to be used A UniMRCP profile specified in the general section points to one of the profiles defined in the directory /usr/local/unimrcp/client-profiles. .conf. . If not specified.6 Generic Speech Recognition API 6. default engine will be used 10 | P a g e . .xml by default.The engine name is "unimrcp". The module first loads its own configuration file res-speech-unimrcp.3 Dialplan Applications SpeechCreate Synopsis Creates a recognition channel. UniMRCP MRCPv2 Server UniMRCP MRCPv1 Server LumenVox MRCPv2 Server LumenVox MRCPv1 Server Nuance MRCPv2 Server Nuance MRCPv1 Server For further reference. see the UniMRCP client configuration guide below: Client Configuration Guide 6. . located in the directory /etc/asterisk by default.unimrcp-profile = uni1 .2 Configuration The module res_speech_unimrcp.unimrcp-profile = lv1 .so is an implementation of the Generic Speech Recognition API of Asterisk based on the UniMRCP client library.unimrcp-profile = nss1 .unimrcp-profile = nss2 .so makes use of the XML configuration format and files of the UniMRCP client library.unimrcp-profile = lv2 . Syntax SpeechUnloadGrammar(Grammar Name) Input parameters Grammar Name .builtin:grammar/digits) . SpeechLoadGrammar(grammar. Syntax SpeechLoadGrammar(Grammar Name|[Content-Type:]Path) Input parameters Grammar Name . Syntax SpeechActivateGrammar(Grammar Name) Input parameters Grammar Name . SpeechLoadGrammar(grammar.The path to grammar file SpeechLoadGrammar(grammar.The name of the grammar to activate SpeechStart Synopsis Starts speech recognition on a channel. Grammar type will be implicitly determined.path) .SpeechLoadGrammar Synopsis Loads grammar on a channel.Loads a grammar from the specified location.Loads a grammar from the specified location.content-type:path) .Specifies a built-in grammar.The name of the grammar to unload SpeechActivateGrammar Synopsis Activates the specified grammar on a channel.The name of the grammar to load Path . Grammar type is explicitly specified. SpeechUnloadGrammar Synopsis Unloads grammar on a channel. 11 | P a g e . Syntax SpeechDeactivateGrammar(Grammar Name) Input parameters Grammar Name .Timeout to wait Output results ${SPEECH(status)} ${SPEECH(spoke)} ${SPEECH(results)} ${SPEECH_SCORE(result number)} ${SPEECH_TEXT(result number)} ${SPEECH_GRAMMAR(result number)} SpeechDeactivateGrammar Synopsis Deactivates the specified grammar on a channel.The sound file to play Timeout .Syntax SpeechStart() SpeechBackground Synopsis Plays a file and waits for input. Syntax SpeechProcessingSound(Sound File) 12 | P a g e . Syntax SpeechBackground(Sound File|Timeout) Input parameters Sound File .The name of the grammar to deactivate SpeechProcessingSound Synopsis Changes the file that SpeechBackground is playing. SIP user agent client-ip = 192.so loads its configuration from the file mrcp. Jitter buffer settings playout-delay = 50 . 1 Overview The module app_unimrcp.30 server-port = 5060 . min-playout-delay = 20 max-playout-delay = 200 13 | P a g e . .0.29 client-port = 25097 sip-transport = udp .0. SIP settings server-ip = 192.168. The configuration file consists of global settings and MRCP profiles.29 rtp-port-min = 28000 rtp-port-max = 29000 .so is a suite of speech recognition and synthesis applications for Asterisk. server-username = test force-destination = 1 . . RTP factory rtp-ip = 192. sdp-origin = Asterisk .conf.The sound file to play SpeechDestroy Synopsis Destroys channel.168. ua-name = Asterisk .0. MRCP settings version = 2 . . [mrcpv2-profile] .Input parameters Sound File .168.conf located in /etc/asterisk by default. 2 Configuration The module app_unimrcp. MRCP profile The following is a sample MRCP profile which needs to be specified in the configuration file mrcp. Syntax SpeechDestroy() 7 Suite of UniMRCP Applications 7. 7. grammar. [general] default-asr-profile = mrcpv2-profile default-tts-profile = mrcpv2-profile .. RTCP settings rtcp = 0 rtcp-bye = 2 rtcp-tx-interval = 5000 rtcp-rx-resolution = 1000 where server-ip and server-port are an IP address and a SIP port number of the MRCP server. Global settings In the global settings. 3 Dialplan Applications SynthAndRecog Synopsis Plays a synthesized prompt and waits for speech to be recognized. Once the user starts speaking (barge-in occurred). client-ip and client-port are an IP address and a SIP port number of the Asterisk server used by the UniMRCP client to communicate to the MRCP Server for SIP signaling. rtp-port-min and rtp-port-max are an IP address and an RTP port range on the Asterisk server used by the UniMRCP client to communicate to the MRCP Server for RTP streaming. tx-buffer-size = 1024 . 14 | P a g e . Options are: . the synthesis session is stopped. options) Description This application establishes two MRCP sessions: one for speech synthesis and the other for speech recognition. Once recognition completes. rtp-ip. RTP settings ptime = 20 codecs = PCMU PCMA L16/96/8000 telephone-event/101/8000 . request-timeout = 60 7. Syntax SynthAndRecog(prompt. set the default profile for both ASR and TTS to point to one of the configured MRCP profiles. UniMRCP logging level to appear in Asterisk logs. the application exits and returns results to the Asterisk dialplan. rx-buffer-size = 1024 . and the recognition engine starts processing the input. EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG --> log-level = DEBUG max-connection-count = 100 offer-new-connection = 1 . success.clear DTMF buffer (true/false) enm .new audio channel (true/false) spl . If the caller hung up while recognition was still in-progress.save waveform (true/false) nac .DTMF terminate timout (msec) dttc .speech complete timeout (msec) sint . "Karin".hotword max duration (msec) hmind . Otherwise. if recognition couldn’t be started.1.DTMF terminate characters sw .URI-encoded results (1: URI-encode NLMSL results. RECOG_COMPLETION_CAUSE The variable ${RECOG_COMPLETION_CAUSE} indicates whether recognition completed successfully with a match or an error occurred.) rm . "Daniel". "002" . etc.voice age to use uer .0) sva .speech incomplete timeout (msec) dit . the variable ${RECOG_STATUS} is set to "OK".no input timeout (msec) sct .1.conf t . the variable ${RECOG_STATUS} is set to "INTERRUPTED".0 .) vg . "001" .voice variant a .voice name to use (e.recognition timeout (msec) b .media type pv .speech language (en-US/en-GB/etc.input waveform URI mt .0 .Input parameters prompt [required] A prompt specified as a plain text.profile to use in mrcp.0) sl .confidence threshold (0.voice gender to use (e. an SSML content.DTMF interdigit timeout (msec) dtt .prosody rate (x-slow/slow/medium/fast/x-fast/default) vn .hotword min duration (msec) cdb .noinput) 15 | P a g e . or by means of a file or URI reference. "female") vv .n-best list length nit .0) nb .early no match (true/false) iwu . grammar [required] An inline or URI grammar to be used for recognition.nomatch.1.g. synthesizer and recognizer header fields to be used. ("000" . "male". barge-in allowed=1) gd – grammar delimiters ct .recognition mode (normal/hotword) hmaxd .prosody volume (silent/x-soft/soft/medium/load/x-loud/default) pr . options Additional parameters such as an MRCP profile.g. the variable ${RECOG_STATUS} is set to "ERROR". 0: do not encode) Return parameters RECOG_STATUS If recognition completed. p .speed vs accuracy (0.bargein value (no barge-in allowed=0.sensitivity level (0.0 . w3.1.0\" xmlns=\"http://www.w3. [synthandrecog-app3] exten => s.0-literals\" root=\"color\"><rule id=\"color\"><one-of><item>red</item><item>green</item><item>blue</item></one-of></ rule></grammar>. the recognition result data can be retrieved by using the following dialplan functions RECOG_CONFIDENCE().7&spl=en-US) exten => s.SynthAndRecog(Please input a number.w3.w3.<?xml version=\"1.0\"?><speak version=\"1.SynthAndRecog(Please say a number.t=5000&b=1&ct=0.Verbose(1.t=5000&b=1&ct=0. ${RECOG_STATUS}. ${RECOG_COMPLETION_CAUSE}. RECOG_INPUT().Verbose(1.Answer exten => s.n.n.t=5000&b=1&ct=0.n.0\" mode=\"voice\" tag-format=\"semantics/1. RECOG_RESULT If recognition completed successfully.7) exten => s.w3.w3. Alternatively.Answer exten => s.builtin:grammar/number.org/2001/06/grammar\" xml:lang=\"en-US\" version=\"1.Hangup Example 2 This context demonstrates how to use the application SynthAndRecog() with a plain-text prompt and a built-in DTMF grammar. ${RECOG_STATUS}.org/TR/speech-synthesis/synthesis. ${RECOG_COMPLETION_CAUSE}.0\"?><grammar xmlns=\"http://www.SynthAndRecog(<?xml version=\"1.n.w3.n. [synthandrecog-app2] exten => s.Hangup Example 4 This context demonstrates how to use the application SynthAndRecog() with an SSML prompt and an inline SRGS XML DTMF grammar. ${RECOG_STATUS}.builtin:dtmf/number.Answer exten => s.w3.n.org/2001/10/synthesis http://www. ${RECOG_RESULT}) exten => s.n.Answer exten => s.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www. ${RECOG_COMPLETION_CAUSE}.0\" xmlns=\"http://www.org/2001/10/synthesis 16 | P a g e .org/2001/10/synthesis\" xmlns:xsi=\"http://www.n.1.1.n. [synthandrecog-app1] exten => s. and RECOG_INSTANCE(). Example 1 This context demonstrates how to use the application SynthAndRecog() with a plain-text prompt and a built-in speech grammar.1. [synthandrecog-app4] exten => s.org/2001/10/synthesis\" xmlns:xsi=\"http://www. the variable ${RECOG_RESULT} is set to an NLSML result received from the MRCP server.Verbose(1. RECOG_GRAMMAR().Hangup Example 3 This context demonstrates how to use the application SynthAndRecog() with an SSML prompt and an inline SRGS XML speech grammar.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www. ${RECOG_RESULT}) exten => s.SynthAndRecog(<?xml version=\"1.xsd\" xml:lang=\"en-US\">Please pick a color: red <break/> green <break/> or blue </speak>.n.0\"?><speak version=\"1. ${RECOG_RESULT}) exten => s.7&spl=en-US) exten => s. ${RECOG_STATUS}.1.Hangup Example 6 This context demonstrates how to use the application SynthAndRecog() with a prompt and a grammar referenced from files.n.n.7&spl=en-US) exten => s./usr/local/unimrcp/data/grammar . ${RECOG_RESULT}) exten => s.0-literals\" root=\"color\"><rule id=\"color\"><one-of><item>1<tag>red</tag></item><item>2<tag>green</tag></item><ite m>3<tag>blue</tag></item></one-of></rule></grammar>.1.0\" mode=\"dtmf\" tag-format=\"semantics/1.7&spl=en-US) exten => s.builtin:dtmf/number". ${RECOG_RESULT}) exten => s. ${RECOG_STATUS}.xsd\" xml:lang=\"en-US\">Please pick a color: for red press 1 <break/> for green press 2 <break/> for blue press 3 </speak>.Answer exten => s. [synthandrecog-app8] exten => s."builtin:grammar/number.w3.Verbose(1.1.Answer exten => s. say a number".Verbose(1.Verbose(1.org/2001/06/grammar\" version=\"1. ${RECOG_COMPLETION_CAUSE}. [synthandrecog-app6] exten => s.t=5000&b=1&ct=0.0\"?><grammar xmlns=\"http://www.SynthAndRecog(/usr/local/unimrcp/data/speak.n.Answer exten => s.n.SynthAndRecog("This is a non-bargeinable prompt.Hangup Example 7 This context demonstrates how to use the application SynthAndRecog() with a grammar referenced by an HTTP URI.7) exten => s.n.n.<?xml version=\"1.7&spl=en-US) exten => s.builtin:grammar/number.n.n.n.t=5000&b=1&ct=0. ${RECOG_STATUS}.t=5000&b=0&ct=0.SynthAndRecog(Please say a number.n. ${RECOG_COMPLETION_CAUSE}.xml.t=5000&b=1&ct=0.n. [synthandrecog-app5] exten => s. [synthandrecog-app7] exten => s.n.xml.Hangup Example 8 This context demonstrates how to use the application SynthAndRecog() with multiple grammars specified using a comma-separated list.Verbose(1.n.1.xml.net/data/grammar. ${RECOG_COMPLETION_CAUSE}. ${RECOG_COMPLETION_CAUSE}. ${RECOG_STATUS}.n.SynthAndRecog(Please say a digit. ${RECOG_STATUS}.Hangup Example 5 This context demonstrates how to use the application SynthAndRecog() with a non-bargeinable prompt. ${RECOG_RESULT}) exten => s.Answer exten => s.http://unimrcp.7&spl=en-US) exten => s.w3.Verbose(1.Hangup 17 | P a g e .http://www.org/TR/speech-synthesis/synthesis. ${RECOG_RESULT}) exten => s. ${RECOG_RESULT}) exten => s.t=5000&b=1&ct=0. When the prompt is finished. ${RECOG_COMPLETION_CAUSE}. speech incomplete timeout (msec) dit .filename on play (if empty or not specified.recognition timeout (msec) b .1. options Additional parameters such as an MRCP profile. Once recognition completes.0) nb .n-best list length nit . Syntax MRCPRecog(grammar.speed vs accuracy (0.conf i .new audio channel (true/false) spl .speech complete timeout (msec) sint .recognition mode (normal/hotword) hmaxd .1.input waveform URI mt .DTMF terminate characters sw .media type epe: exit on play error (1: terminate recognition on file play error. Input parameters grammar [required] An inline or URI grammar to be used for recognition.digits to allow recognition to be interrupted with (by default DTMFs are sent to the MRCP server to recognize. the application exits and returns results to the Asterisk dialplan.0 . otherwise. p .sensitivity level (0.1.DTMF interdigit timeout (msec) dtt .no input timeout (msec) sit .clear DTMF buffer (true/false) enm .early no match (true/false) iwu .speech language (en-US/en-GB/etc.0 .DTMF terminate timout (msec) dttc . if "any" or other digits are specified. recognition will be interrupted) f .hotword max duration (msec) hmind .0 . options) Description This application establishes an MRCP session for speech recognition and optionally plays a prompt file to the user. 0: continue even if file play fails) uer: URI-encoded results (1: URI-encode NLMSL results. barge-in allowed=1) gd – grammar delimiters ct .0) sl .profile to use in mrcp. no file is played) t .bargein value (no barge-in allowed=0.hotword min duration (msec) cdb .start input timers (true/false) sct .save waveform (true/false) nac .) rm .MRCPRecog Synopsis Performs MRCP recognition.0) sva .confidence threshold (0. recognizer header fields to be used. 0: do not encode) Return parameters RECOGSTATUS 18 | P a g e . grammar. the variable ${RECOGSTATUS} is set to "OK".nomatch.MRCPRecog(builtin:grammar/number. the variable ${RECOGSTATUS} is set to "INTERRUPTED".7&spl=en-US&f=helloworld) exten => s. an SSML content.n.n. ${RECOG_COMPLETION_CAUSE}.Hangup MRCPSynth Synopsis Performs MRCP synthesis. the variable ${RECOG_RESULT} is set to an NLSML result received from the MRCP server. if recognition couldn’t be started.noinput) RECOG_RESULT If recognition completed successfully. options) Description This application establishes an MRCP session for speech synthesis. 19 | P a g e . RECOG_COMPLETION_CAUSE The variable ${RECOG_COMPLETION_CAUSE} indicates whether recognition completed successfully with a match or an error occurred.success.Verbose(1. Input parameters prompt [required] A prompt specified as a plain text. ("000" .n. Alternatively. synthesizer header fields to be used. or by means of a file or URI reference. options Additional parameters such as an MRCP profile.1. "001" . ${RECOG_RESULT}) exten => s. Otherwise. the recognition result data can be retrieved by using the following dialplan functions RECOG_CONFIDENCE(). RECOG_INPUT(). the variable ${RECOGSTATUS} is set to "ERROR". and RECOG_INSTANCE().Answer exten => s. RECOG_GRAMMAR().p=default&t=5000&b=1&ct=0. "002" . Syntax MRCPSynth (prompt. If the caller hung up while recognition was still in-progress. ${RECOGSTATUS}. Example This context demonstrates how to use the application MRCPRecog() with a pre-recorded prompt file and a built-in speech grammar.If recognition completed. [mrcprecog-app1] exten => s. "female") a . Example This context demonstrates how to use the application MRCPSynth() with a plain-text prompt.g.voice gender to use (e.language to use (e. the variable ${SYNTHSTATUS} is set to "INTERRUPTED". Input parameters nbest_number The parameter nbest_number specifies the index in the list of interpretations sorted best-first.filename on disk to store audio to (audio not stored if not specified or empty) l . "Daniel".) v . "en-AU".prosody rate (x-slow/slow/medium/fast/x-fast/default) ll .prosody volume (silent/x-soft/soft/medium/load/x-loud/default) pr . 20 | P a g e . ${SYNTHSTATUS}) exten => s. If the caller hung up while the synthesis was in-progress.voice variant Return parameters SYNTHSTATUS If synthesis completed successfully. 4 Dialplan Functions RECOG_CONFIDENCE Synopsis Get the confidence score of an interpretation.Verbose(1. etc. "male". This parameter defaults to 0.MRCPSynth(Hello world!.profile to use in mrcp.g. Syntax RECOG_CONFIDENCE(nbest_number) Description This function returns the confidence score of the specified interpretation. "en-US".digits to allow the TTS to be interrupted with f .load lexicon (true/false) vv .voice name to use (e.voice age to use pv . "en-GB". [mrcpsynth-app1] exten => s.Answer exten => s. if an error occurred. etc. otherwise.n. if not specified.n.p=default) exten => s.1.g.conf i .Hangup 7. the variable ${SYNTHSTATUS} is set to "OK". "Karin". the variable ${SYNTHSTATUS} is set to "ERROR".) g .p .n. RECOG_GRAMMAR Synopsis Gets the matched grammar of an interpretation. This parameter defaults to 0. RECOG_INPUT Synopsis Gets the spoken input. This parameter defaults to 0. RECOG_INSTANCE Synopsis Gets the interpreted instance. Input parameters nbest_number The parameter nbest_number specifies the index in the list of interpretations sorted best-first. Syntax RECOG_INSTANCE(nbest_number/instance_number) Description This function returns the interpreted instance. if not specified. Syntax RECOG_INPUT(nbest_number) Description This function returns the spoken input. Input parameters nbest_number The parameter nbest_number specifies the index in the list of interpretations sorted best-first. Syntax RECOG_GRAMMAR(nbest_number) Description This function returns the matched grammar of the specified interpretation. if not specified. 21 | P a g e . if not specified. This parameter defaults to 0. instance_number The parameter instance_number specifies the index in the list of instances for a particular interpretation. if not specified. This parameter defaults to 0. 22 | P a g e .Input parameters nbest_number The parameter nbest_number specifies the index in the list of interpretations sorted best-first.
Report "UniMRCP for Asterisk install instructions."