FreeSwitch之拨号计划~简单例子(一)

1. 编写目的

基础性内容,介绍一个简单FreeSwitch的拨号计划的例子,可以在这个基础上发展成为更多我们需要的内容。

2. 效果展示

由于例子实在简单,所以先把效果展示于此。如果觉得这样的例子博客没有任何意义的话,请跳过阅读此博客,谢谢。

效果展示

  • 运行FreeSwitch(CentOS 7),运行X-Lite(windows),然后让X-Lite连接FreeSwitch。
  • 拨打1235(自定义的)
  • 可以看到Linux的控制台输出如图:
    在这里插入图片描述

3. 实现过程

总括 修改配置拨号计划的xml文件来实现此功能。

具体步骤

  1. 修改拨号计划的配置文件。/etc/freeswitch/dialplan/default.xml
    <context name=“default”>这行后面添加代码如下:
      <extension name="Number Game">
        <condition field="destination_number" expression="^1235|info$">
    	  <action application="log" data="INFO Hello FreeSwitch,I am stupid."/>
      	  <action application="log" data="INFO Hello FreeSwitch,I am stupid."/>
    	  <action application="log" data="INFO Hello FreeSwitch,I am stupid."/>
          <action application="log" data="INFO Hello FreeSwitch,I am stupid. Smileyan"/>
        </condition>
      </extension>
    
  2. 运行freeswitch,如果已经运行了跳过此步骤。
    /usr/bin/freeswitch -nonat
    
  3. 运行完成后,在freeswitch运行后的控制台中输入指令 reloadxml,回车。
  4. 打开X-Lite,连接Freeswitch,拨打1235,尽管这个电话会很快挂断,但是我们仍然可以看到后台输出效果上面的效果图所示。

4. 总结

这是一个非常简单的例子,但是很明显我们可以在这个的基础上修改成为自己想要的效果,比如运行lua脚本完成想要的逻辑等等。

Smileyan 2019年3月13日

  • 3
    点赞
  • 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
发出的红包

打赏作者

smile-yan

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值