首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FreeSwitch mod_avmd在bgapi uuid_broadcast启动时停止

FreeSwitch mod_avmd在bgapi uuid_broadcast启动时停止
EN

Stack Overflow用户
提问于 2019-10-04 11:32:24
回答 1查看 522关注 0票数 0

我需要的是在呼叫应答时启动音效文件回放,并从被叫方检测出嘟嘟声。

我试过的是:

  1. start avmd
  2. 桥接呼叫
  3. 应答启动语音信息回放使用bgapi

但是当背景播放开始时,avmd会暂停,然后继续播放。

网关拨号计划是:

代码语言:javascript
运行
复制
<extension name="mytelco">
        <condition field="destination_number" expression="^987(\d+)$">
            <action application="set" data="effective_caller_id_number=46xxxxxxxx"/>
            <param name="caller-id-in-from" value="true"/>
            <action application="set" data="record_link=${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>
            <action application="record_session" data="/var/www/html/freeswitch/recordings/${record_link}"/>
            <action application="lua" data="/etc/freeswitch/scripts/beep_detection-from-call-v0.1.2.lua $1 ${record_link}"/>
            <action application="hangup"/>
        </condition>
    </extension>

文件beep_detection V0.1.2.lua

代码语言:javascript
运行
复制
#!/usr/local/bin/lua

DNID = argv[1]

if session:ready() then
   session:sleep(1000)
   session:execute("avmd_start", "inbound_channel=1,outbound_channel=0,sample_n_continuous_streak=10,sample_n_to_skip=0,debug=1,report_status=1")

    session:execute("bridge", "{execute_on_answer=lua /etc/freeswitch/scripts/on_answer-v0.3.lua " .. uuid .. "}sofia/gateway/mytelco/" .. DNID)

    session:execute("avmd_stop","")

end --if

文件on_v0.3lua

代码语言:javascript
运行
复制
#!/usr/bin/lua

uuid_original = argv[1]

api = freeswitch.API()

reply = api:executeString("bgapi uuid_broadcast " .. uuid_original .. " /usr/share/asterisk/sounds/en/dennis-ivan.gsm both")

freeswitch.consoleLog("INFO","==============================================")
freeswitch.consoleLog("INFO","API reply is:" .. reply)
freeswitch.consoleLog("INFO","==============================================")
EN

回答 1

Stack Overflow用户

发布于 2020-04-17 14:53:34

我不确定你是不是有和我一样的问题。我升级到了Freeswitch的最新版本(目前为1.10),我的AVMD停止了您所描述的类似方式的工作。我把头撞在墙上几个星期。令人烦恼的是,修复方法是删除sample_n_to_skip=0

希望这也能解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58235598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档