No such grammar file available Speech-Language res_speech_unimrcp.c:433 uni_recog_load_grammar:

275 views Asked by At

I have a simple vxml , loaded into voximal application on asterisk , the prompt plays find , but i encounter this error ; uni_recog_load_grammar: No such grammar file available: What could i be doing , both files are in the same directory, its not a missing file problem , but the fact that the grammar cant be loaded, please help.

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.w3.org/2001/vxml 
http://www.w3.org/TR/voicexml20/vxml.xsd">
<form id="form1">
    <block>
        <prompt>Hi Johnson,  </prompt>
    </block>

    <field name="option">
        <prompt> Choose a type of drink ?</prompt>

        <grammar src="options.xml" type="application/srgs+xml"/>
        <help> Please say any of the options .</help>
    </field>

    <block>
        <prompt>Great, you chose the option <value expr="option" /> 
</prompt>      
        <goto next="#form1" /> 
    </block>


</form>
</vxml>

Here is the option.xml file

<?xml version="1.0"?>
<grammar  root="drink" xmlns="http://www.w3.org/2001/06/grammar" 
xml:lang="en-US" version="1.0" mode="voice" >
<rule id="drink">
    <one-of>
        <item>coke</item>
        <item>pepsi</item>
        <item>coca cola</item>
    </one-of>
</rule>
</grammar>

and my dialplan is like this

exten => 888,1, Answer
exten => 888,n,Wait(3)
exten => 888,n,Voximal(file:///home/johnson3yo/Desktop/chat_bot.vxml)
exten => 888,n,Hangup

When the call is made to extension 888, the warning log appears in the image attached enter image description here

Clearly the grammer file gets created in src=/tmp/grammar_1_0.grxml but it cant be loaded . i know this is a configuration problem with voximal, but what could be the cause of "No such grammar file available"

1

There are 1 answers

0
Borja SIXTO On

Sorry for this late response, we miss your message...

Voximal uses a specific uniMRCP, for VoiceXML support the uniMRCP module need some extensions. The project is available in our GitHub.

Another option is to disable the option that sends the properties to the uniMRCP client module. in /etc/asterisk/voximal.conf in the [recognize] section you can set sendproperties=0 By this way you will disable to send the VoiceXML properties to the ASR engine. Check the full integration because some ASR engine can request its.