没有此类语法文件可用语音语言res_speech_unimrcp.c:433 uni_recog_load_grammar:

时间:2018-08-18 12:50:38

标签: asterisk vxml unimrcp voximal

我有一个简单的vxml,已加载到星号上的voximal应用程序中,提示符播放find,但是我遇到此错误; uni_recog_load_grammar:没有此类语法文件可用: 我该怎么办,两个文件都在同一个目录中,这不是文件丢失的问题,而是无法加载语法的事实, 请帮忙。

<?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>

这是option.xml文件

<?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>

我的拨号计划就是这样

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

拨打分机888时,警告日志显示在所附的enter image description here

很明显,语法文件是在src = / tmp / grammar_1_0.grxml中创建的 但是无法加载。我知道这是voximal的配置问题,但可能是“没有此类语法文件可用”的原因

1 个答案:

答案 0 :(得分:1)

很抱歉收到您的回复,我们很想念您的消息...

Voximal使用特定的uniMRCP,因为VoiceXML支持uniMRCP模块需要一些扩展。该项目位于我们的GitHub中。

另一个选项是禁用将属性发送到uniMRCP客户端模块的选项。 在[recognize]部分的/etc/asterisk/voximal.conf中,您可以设置sendproperties = 0 这样,您将禁用将VoiceXML属性发送到ASR引擎。 检查完整的集成,因为某些ASR引擎可以请求它。