16-FreeSwitch-嵌入式脚本lua

时间:2022-10-31 14:00:20


文章目录

  • ​​一、session:execute(APP)执行相关APP​​
  • ​​二、session:setAutoHangup(false) lua执行完不挂机​​
  • ​​三、使用lua 方式​​
  • ​​3.1 API​​
  • ​​3.2 APP​​
  • ​​四、取变量session:getVariable("变量名")​​
  • ​​五、设置变量session:setVariable("变量名","变量值")​​
  • ​​六、获取uuid​​
  • ​​七、挂断短话session:hangup()​​
  • ​​八、是否挂断session:reday()​​
  • ​​九、放录音session:streamFile("wav文件")​​
  • ​​十、录音session:recordFile("录音文件位置/wav名字.wav")​​
  • ​​十一、read播放一个声音并且获取DTMF​​
  • ​​十二、playAndGetDigits同上​​
  • ​​十三、setInputCallback放录音的时候有触发的时候设置回调函数411​​
  • ​​十四、freeswitch.API()412​​

一、session:execute(APP)执行相关APP

二、session:setAutoHangup(false) lua执行完不挂机

三、使用lua 方式

3.1 API

originate user/1000 &lua(test.lua)

3.2 APP

<action application="lua" data="text.lua"/>

四、取变量session:getVariable(“变量名”)

五、设置变量session:setVariable(“变量名”,“变量值”)

六、获取uuid

session:get_uuid(])
等价于
session:getVariable("uuid")

七、挂断短话session:hangup()

session:hangup("USER_BUSY")

八、是否挂断session:reday()

九、放录音session:streamFile(“wav文件”)

十、录音session:recordFile(“录音文件位置/wav名字.wav”)

file_name [,max_len_secs] [,silence_threshold] [,silence_secs]
file_name:录音文件名
max_len_secs:录音最长秒数
silence_threshold:声音阀值,如果呻吟小于这个值就认为值静音
silence_secs:如果声音大于一定秒数,停止录音

十一、read播放一个声音并且获取DTMF

6.4例子
<min digits><max digits><file to play><inter-digit timeout><terminators>
min digits:最小位数
max digits:最大位数
file to play:播放文件
<inter-digit timeout>:每个字母输入秒数
terminators:结束标志
digits=session:read(15,18,"wav文件","5000","#")

十二、playAndGetDigits同上

十三、setInputCallback放录音的时候有触发的时候设置回调函数411

十四、freeswitch.API()412

api=freeswitch.API();
reply=api:execute("version","")