freeswitch实战经验1:服务器向成员主动发起会议邀请

夙愿已清 提交于 2019-12-09 20:31:32

接触过freeswitch的童鞋们都知道,freeswitch自动会议室功能,比如大家都拨3000这个号码,就可以进行电话会议功能了。但是,现在有这么一个场景:现在某个主持人想开电话会议,想直接由freeswitch主动向需要参加会议的成员打电话,成员接通电话后就直接进入会议室,能否实现呢?

答案是肯定的。

实现原理和演化步骤:

1、freeswitch的bin目录下有一个叫做fs_cli的可执行文件,可以执行freeswitch的外部命令,格式fs_cli -x "命令串";

2、freeswitch的命令里头,有一个某个号码向另外一个号码打电话的命令,格式:originate 被叫用户 主叫用户;

3、结合以上两点,就可以写出可以在linux下,会议室主动向某个号码主动发出邀请电话的执行的命令了,比如以会议室3000这个号码向号码为1001和1002的打电话,则分别执行以下两行的linux命令行:

     fs_cli -x "originate user/1001 3000"

     fs_cli -x "originate user/1002 3000"

4、你现在就可以做个WEB系统,管理你的会议室号码和会议的成员,点击下"发起会议"按钮,循环调用linux命令的方式,给所有的成员打电话了,成员接听电话后,就自动进入会议室了。

5、为了简化WEB调用方式,可以在服务器上编写一个sh脚本,WEB代码通过调用这个脚本来实现以上功能,以下是我项目的sh脚本,它有两个输入参数,一个是成员号码,一个是会议号码:

       #获取第一个参数和第二个参数,分别代表被呼叫的号码和会议室号码

       shortNum="$1";
       groupNum="$2";
       nohup /usr/local/freeswitch/bin/fs_cli -x "originate user/$shortNum $groupNum" >> /home/switch/webtask/tmp/call.log &

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!