【Freeswitch】unimrcp接受freeswitch参数并传参给ASR

话不多说,代码伺候
**注:**我们使用的是自己的语音识别引擎,但代码参考使用的是讯飞。对本问题并没有什么影响。

unimrcp 官网:https://www.unimrcp.org/,多读读源码,没坏处

打开文件:xfyun_recog_engine.c ,使用不同的ASR引擎,文件名可能不一致,您那边可能打开xxx_recog_engine.c。

1、声明参数:

在这里插入图片描述

2、新增方法

在这里插入图片描述

3、获取参数

注:我当前的传递的参数名称为 delay
在这里插入图片描述

4、给ASR传参

本人对C感情深,但也只是大学接触过,所以这段代码可能有点low(字符串拼接也是临时查的~),但是能解决问题。
在这里插入图片描述

5、相关参考

1)智能客服搭建(2) - MRCP Server ASR插件开发

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FreeSWITCH是一个开源的电话交换软件平台,它提供了丰富的功能和灵活的配置选项,可以用于构建各种类型的通信系统。拨号计划是FreeSWITCH中用于定义呼叫路由规则的一种机制,可以根据呼叫的来源、目的地和其他条件来确定呼叫的处理方式。 在FreeSWITCH中,可以使用Lua脚本来编写自定义的拨号计划,并且可以通过传递参数来实现更加灵活的呼叫路由。以下是一个简单的示例,演示了如何在Lua脚本中定义一个拨号计划并传递参数: 1. 首先,在FreeSWITCH的配置文件中定义一个拨号计划,例如在`dialplan/default.xml`文件中添加以下内容: ```xml <extension name="my_dialplan"> <condition field="destination_number" expression="^123$"> <action application="lua" data="my_lua_script.lua ${my_param}" /> </condition> </extension> ``` 上述配置定义了一个名为`my_dialplan`的拨号计划,当目标号码为"123"时,将执行一个Lua脚本,并传递一个名为`my_param`的参数。 2. 创建一个Lua脚本文件,例如`my_lua_script.lua`,并在其中获取传递的参数并进行相应处理: ```lua api = freeswitch.API() -- 获取传递的参数 local my_param = argv -- 在日志中输出参数freeswitch.consoleLog("info", "Received parameter: " .. my_param .. "\n") -- 进行其他处理逻辑... ``` 上述Lua脚本通过`argv`获取传递的参数,并可以根据需要进行相应的处理。在示例中,它将参数值输出到FreeSWITCH的日志中。 这样,当有呼叫目标号码为"123"时,FreeSWITCH将执行该Lua脚本,并将参数传递给脚本进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值